
:root {
  color-scheme: light dark;
  background: light-dark(#f7f2e8, #121416);
}

html {
  min-width: 320px;
  background: light-dark(#f7f2e8, #121416);
}

body {
  margin: 0;
  padding: 24px;
  background: light-dark(#f7f2e8, #121416);
}

#square-booking-preview {
  width: min(100%, 1240px);
  margin: 0 auto;
}

@media (max-width: 700px) {
  body { padding: 0; }
  #square-booking-preview .sqbp-window {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
}

#square-booking-preview {
      color-scheme: light dark;
      font-family: "DM Sans", system-ui, sans-serif;
      color: light-dark(#211d18, #f6f2e9);
    }
    #square-booking-preview * { box-sizing: border-box; }
    #square-booking-preview .sqbp-radio {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      white-space: nowrap;
    }
    #square-booking-preview .sqbp-window {
      position: relative;
      overflow: clip;
      background: light-dark(#f7f2e8, #121416);
      color: light-dark(#211d18, #f6f2e9);
      border: 1px solid light-dark(#d6cdbd, #34383d);
      border-radius: 18px;
      box-shadow: 0 18px 50px light-dark(rgba(61, 45, 24, .15), rgba(0, 0, 0, .36));
    }
    #square-booking-preview .sqbp-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 20px;
      background: light-dark(#fffdf8, #181b1e);
      border-bottom: 1px solid light-dark(#ded5c7, #30343a);
    }
    #square-booking-preview .sqbp-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 500;
      letter-spacing: -.02em;
    }
    #square-booking-preview .sqbp-mark {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      background-image: url("../images/favicon.jpg");
      background-position: center;
      background-size: cover;
      border-radius: 5px;
    }
    #square-booking-preview .sqbp-small,
    #square-booking-preview .sqbp-subhead,
    #square-booking-preview .sqbp-section-note,
    #square-booking-preview .sqbp-choice-copy,
    #square-booking-preview .sqbp-summary-label,
    #square-booking-preview .sqbp-side-note {
      color: light-dark(#6d6256, #bbb4a8);
    }
    #square-booking-preview .sqbp-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(250px, .75fr);
    }
    #square-booking-preview .sqbp-main {
      padding: 24px;
      background: light-dark(#fffdf8, #17191c);
    }
    #square-booking-preview .sqbp-side {
      padding: 24px;
      position: relative;
      background: light-dark(#eee6d9, #202328);
      border-left: 1px solid light-dark(#d6cdbd, #34383d);
      align-self: stretch;
    }
    #square-booking-preview .sqbp-kicker {
      color: light-dark(#8b5a12, #facc15);
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    #square-booking-preview .sqbp-heading { margin: 0; }
    #square-booking-preview .sqbp-subhead { margin: 7px 0 0; }
    #square-booking-preview .sqbp-steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 8px;
      margin: 14px 0 16px;
      position: sticky;
      top: 0;
      z-index: 8;
      padding: 6px 0;
      background: light-dark(#fffdf8, #17191c);
    }
    #square-booking-preview .sqbp-step {
      min-width: 0;
      padding-top: 6px;
      border-top: 3px solid light-dark(#ded5c7, #3b4047);
      color: light-dark(#817568, #9e978c);
    }
    #square-booking-preview .sqbp-step.is-complete {
      border-top-color: light-dark(#b77908, #facc15);
      color: light-dark(#332a1e, #f6f2e9);
    }
    #square-booking-preview .sqbp-step.is-current {
      color: light-dark(#332a1e, #f6f2e9);
      font-weight: 500;
    }
    #square-booking-preview .sqbp-next-cue {
      margin: 0 0 14px;
      padding: 10px 12px;
      background: light-dark(#fff8dc, #332f18);
      border-left: 3px solid light-dark(#b77908, #facc15);
      border-radius: 7px;
      scroll-margin-top: 76px;
    }
    #square-booking-preview .sqbp-section,
    #square-booking-preview .sqbp-support-grid,
    #square-booking-preview #sqbp-details-stage,
    #square-booking-preview .sqbp-calendar-heading,
    #square-booking-preview .sqbp-calendar-selection,
    #square-booking-preview .sqbp-month-detail { scroll-margin-top: 76px; }
    #square-booking-preview .sqbp-purpose-grid,
    #square-booking-preview .sqbp-choice-grid,
    #square-booking-preview .sqbp-slot-grid,
    #square-booking-preview .sqbp-support-grid {
      display: grid;
      gap: 10px;
    }
    #square-booking-preview .sqbp-purpose-grid {
      grid-template-columns: repeat(3, 1fr);
      margin: 12px 0 22px;
    }
    #square-booking-preview .sqbp-choice-grid.two-up { grid-template-columns: repeat(2, 1fr); }
    #square-booking-preview .sqbp-slot-grid {
      grid-template-columns: repeat(4, 1fr);
      margin-top: 10px;
    }
    #square-booking-preview .sqbp-support-grid {
      grid-template-columns: 1fr;
      margin-top: 10px;
    }
    #square-booking-preview .sqbp-purpose-option,
    #square-booking-preview .sqbp-choice,
    #square-booking-preview .sqbp-slot,
    #square-booking-preview .sqbp-action,
    #square-booking-preview .sqbp-secondary-action {
      display: block;
      width: 100%;
      min-height: 44px;
      padding: 10px 12px;
      border: 1px solid light-dark(#cfc5b6, #444a52);
      border-radius: 9px;
      color: light-dark(#2b241d, #f6f2e9);
      background: light-dark(#fffdf8, #202328);
      font: inherit;
      font-weight: 500;
      text-align: left;
      text-decoration: none;
      cursor: pointer;
    }
    #square-booking-preview .sqbp-purpose-option:hover,
    #square-booking-preview .sqbp-choice:hover,
    #square-booking-preview .sqbp-slot:hover,
    #square-booking-preview .sqbp-secondary-action:hover {
      background: light-dark(#f3ecdf, #292d33);
    }
    #square-booking-preview .sqbp-radio:checked + .sqbp-choice,
    #square-booking-preview .sqbp-radio:checked + .sqbp-slot,
    #square-booking-preview #sqbp-purpose-rehearsal:checked ~ .sqbp-window label[for="sqbp-purpose-rehearsal"],
    #square-booking-preview #sqbp-purpose-recording:checked ~ .sqbp-window label[for="sqbp-purpose-recording"],
    #square-booking-preview #sqbp-purpose-event:checked ~ .sqbp-window label[for="sqbp-purpose-event"] {
      border-color: light-dark(#9c6507, #facc15);
      background: light-dark(#f8edc2, #393315);
    }
    #square-booking-preview .sqbp-radio:focus-visible + .sqbp-choice,
    #square-booking-preview .sqbp-radio:focus-visible + .sqbp-slot,
    #square-booking-preview #sqbp-purpose-rehearsal:focus-visible ~ .sqbp-window label[for="sqbp-purpose-rehearsal"],
    #square-booking-preview #sqbp-purpose-recording:focus-visible ~ .sqbp-window label[for="sqbp-purpose-recording"],
    #square-booking-preview #sqbp-purpose-event:focus-visible ~ .sqbp-window label[for="sqbp-purpose-event"],
    #square-booking-preview #sqbp-stage-planning:focus-visible ~ .sqbp-window label[for="sqbp-stage-planning"],
    #square-booking-preview #sqbp-stage-details:focus-visible ~ .sqbp-window label[for="sqbp-stage-details"],
    #square-booking-preview #sqbp-stage-confirmation:focus-visible ~ .sqbp-window label[for="sqbp-stage-confirmation"] {
      outline: 2px solid light-dark(#6f4908, #fde047);
      outline-offset: 2px;
    }
    #square-booking-preview .sqbp-action {
      text-align: center;
      color: light-dark(#17130d, #17130d);
      background: light-dark(#eab308, #facc15);
      border-color: light-dark(#b77908, #facc15);
    }
    #square-booking-preview .sqbp-action:disabled {
      cursor: wait;
      opacity: .68;
    }
    #square-booking-preview .sqbp-secondary-action { text-align: center; }
    #square-booking-preview .sqbp-purpose-option strong,
    #square-booking-preview .sqbp-choice strong,
    #square-booking-preview .sqbp-choice-copy { display: block; }
    #square-booking-preview .sqbp-section {
      padding-top: 20px;
      margin-top: 20px;
      border-top: 1px solid light-dark(#e4dccf, #30343a);
    }
    #square-booking-preview .sqbp-section:first-child {
      padding-top: 0;
      margin-top: 0;
      border-top: 0;
    }
    #square-booking-preview .sqbp-section-title { margin: 0 0 4px; }
    #square-booking-preview .sqbp-section-note { margin: 0; }
    #square-booking-preview .sqbp-choice-grid { margin-top: 10px; }
    #square-booking-preview .sqbp-fields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 12px;
    }
    #square-booking-preview .sqbp-field { min-width: 0; }
    #square-booking-preview .sqbp-field.full { grid-column: 1 / -1; }
    #square-booking-preview .sqbp-label {
      display: block;
      margin-bottom: 6px;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-input,
    #square-booking-preview .sqbp-select,
    #square-booking-preview .sqbp-textarea {
      display: block;
      width: 100%;
      min-height: 44px;
      padding: 9px 10px;
      border: 1px solid light-dark(#cfc5b6, #444a52);
      border-radius: 8px;
      color: light-dark(#2b241d, #f6f2e9);
      background: light-dark(#fffdf8, #202328);
      font: inherit;
    }
    #square-booking-preview .sqbp-textarea {
      min-height: 104px;
      resize: vertical;
    }
    #square-booking-preview .sqbp-detail-actions {
      display: grid;
      grid-template-columns: minmax(120px, .55fr) minmax(180px, 1fr);
      gap: 10px;
      margin-top: 18px;
    }
    #square-booking-preview .sqbp-form-status {
      margin-top: 16px;
      padding: 10px 12px;
      border: 1px solid light-dark(#cfc5b6, #444a52);
      border-radius: 8px;
      background: light-dark(#f7f2e8, #202328);
    }
    #square-booking-preview .sqbp-form-status.is-error {
      color: light-dark(#8b251b, #fecaca);
      border-color: light-dark(#cf8d83, #7f1d1d);
      background: light-dark(#fff0ed, #351a1a);
    }
    #square-booking-preview .sqbp-input[aria-invalid="true"],
    #square-booking-preview .sqbp-select[aria-invalid="true"],
    #square-booking-preview .sqbp-textarea[aria-invalid="true"] {
      border-color: light-dark(#b42318, #f87171);
      outline: 2px solid light-dark(rgba(180, 35, 24, .16), rgba(248, 113, 113, .2));
      outline-offset: 1px;
    }
    #square-booking-preview .sqbp-purpose-panel,
    #square-booking-preview .sqbp-details-panel,
    #square-booking-preview .sqbp-summary-panel,
    #square-booking-preview .sqbp-dynamic > span,
    #square-booking-preview .sqbp-confirmation-message,
    #square-booking-preview #sqbp-details-stage,
    #square-booking-preview #sqbp-demo-confirmation {
      display: none;
    }
    #square-booking-preview #sqbp-purpose-rehearsal:checked ~ .sqbp-window .sqbp-rehearsal-panel,
    #square-booking-preview #sqbp-purpose-recording:checked ~ .sqbp-window .sqbp-recording-panel,
    #square-booking-preview #sqbp-purpose-event:checked ~ .sqbp-window .sqbp-event-panel {
      display: block;
    }
    #square-booking-preview #sqbp-stage-details:checked ~ .sqbp-window #sqbp-planning-stage,
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window #sqbp-planning-stage {
      display: none;
    }
    #square-booking-preview #sqbp-stage-details:checked ~ .sqbp-window #sqbp-details-stage,
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window #sqbp-details-stage,
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window #sqbp-demo-confirmation {
      display: block;
    }
    #square-booking-preview #sqbp-stage-details:checked ~ .sqbp-window .sqbp-side label[for="sqbp-stage-details"],
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window .sqbp-side label[for="sqbp-stage-details"] {
      display: none;
    }
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window .sqbp-detail-actions,
    #square-booking-preview #sqbp-stage-confirmation:checked ~ .sqbp-window #sqbp-details-stage > .sqbp-next-cue {
      display: none;
    }
    #square-booking-preview .sqbp-summary-title { margin: 0 0 14px; }
    #square-booking-preview .sqbp-summary-panel,
    #square-booking-preview .sqbp-summary-placeholder {
      position: sticky;
      top: 24px;
      z-index: 2;
    }
    #square-booking-preview .sqbp-summary-placeholder {
      padding-top: 4px;
      color: light-dark(#6d6256, #bbb4a8);
    }
    #square-booking-preview .sqbp-paid-confirmation {
      display: none;
      min-height: 500px;
      align-content: center;
      padding: 36px 0;
    }
    #square-booking-preview .sqbp-paid-thanks {
      margin: 0 0 14px;
      color: light-dark(#8b5a12, #facc15);
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    #square-booking-preview .sqbp-paid-heading {
      max-width: 19ch;
      margin: 0;
      font-size: clamp(2.2rem, 5vw, 4.5rem);
      line-height: 1.08;
      letter-spacing: -.035em;
    }
    #square-booking-preview .sqbp-brand-inline {
      white-space: nowrap;
      font-weight: 650;
    }
    #square-booking-preview.sqbp-is-paid .sqbp-view-switch,
    #square-booking-preview.sqbp-is-paid .sqbp-kicker,
    #square-booking-preview.sqbp-is-paid .sqbp-steps,
    #square-booking-preview.sqbp-is-paid #sqbp-planning-stage,
    #square-booking-preview.sqbp-is-paid .sqbp-summary-panel .sqbp-side-note,
    #square-booking-preview.sqbp-is-paid .sqbp-summary-panel .sqbp-action {
      display: none;
    }
    #square-booking-preview.sqbp-is-paid #sqbp-stage-confirmation:checked ~ .sqbp-window #sqbp-details-stage {
      display: none;
    }
    #square-booking-preview.sqbp-is-paid .sqbp-paid-confirmation {
      display: grid;
    }
    #square-booking-preview:has(#sqbp-purpose-rehearsal:checked) .sqbp-summary-placeholder,
    #square-booking-preview:has(#sqbp-purpose-recording:checked) .sqbp-summary-placeholder,
    #square-booking-preview:has(#sqbp-purpose-event:checked) .sqbp-summary-placeholder { display: none; }
    #square-booking-preview .sqbp-summary-head {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      margin-bottom: 14px;
    }
    #square-booking-preview .sqbp-summary-head .sqbp-summary-title { margin: 0; }
    #square-booking-preview .sqbp-thumb-group {
      display: none;
      width: 100%;
      order: -1;
      margin-bottom: 12px;
    }
    #square-booking-preview .sqbp-thumb {
      width: 100%;
      min-height: 92px;
      aspect-ratio: 4 / 3;
      display: grid;
      place-items: center;
      color: light-dark(#5b4d3c, #d8d1c6);
      background: light-dark(#d9cfbf, #34383d);
      border: 1px solid light-dark(#c1b4a1, #4b5159);
      border-radius: 8px;
      font-weight: 500;
      overflow: hidden;
      cursor: default;
    }
    #square-booking-preview .sqbp-studio-a-photo {
      background-image: url("../images/studio-a.jpg");
      background-position: center;
      background-size: cover;
      color: transparent;
      cursor: zoom-in;
    }
    #square-booking-preview .sqbp-studio-b-photo {
      background-image: url("../images/studio-b.jpg");
      background-position: center;
      background-size: cover;
      color: transparent;
      cursor: zoom-in;
    }
    #square-booking-preview .sqbp-studio-c-photo {
      background-image: url("../images/studio-c.jpg");
      background-position: center;
      background-size: cover;
      color: transparent;
      cursor: zoom-in;
    }
    #square-booking-preview .sqbp-event-photo {
      background-image: url("../images/event.jpg");
      background-position: center;
      background-size: cover;
      color: transparent;
      cursor: zoom-in;
    }
    #square-booking-preview .sqbp-lockout-photo {
      background-image: url("../images/full-lockout.jpg");
      background-position: center;
      background-size: cover;
      color: transparent;
      cursor: zoom-in;
    }
    #square-booking-preview:has(#sqbp-purpose-rehearsal:checked):has(#sqbp-rehearsal-room-a:checked) .sqbp-thumbs-rehearsal-a,
    #square-booking-preview:has(#sqbp-purpose-rehearsal:checked):has(#sqbp-rehearsal-room-c:checked) .sqbp-thumbs-rehearsal-c,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-room-a:checked) .sqbp-thumbs-record-a,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-room-b:checked) .sqbp-thumbs-record-b,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-room-c:checked) .sqbp-thumbs-record-c,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-room-lockout:checked) .sqbp-thumbs-record-lockout,
    #square-booking-preview:has(#sqbp-purpose-event:checked) .sqbp-thumbs-event { display: block; }
    #square-booking-preview .sqbp-photo-lightbox {
      position: absolute;
      inset: 0;
      z-index: 20;
      display: none;
      place-items: center;
      padding: 24px;
      background: light-dark(rgba(33, 29, 24, .84), rgba(0, 0, 0, .88));
    }
    #square-booking-preview #sqbp-lightbox-studio-a:checked ~ .sqbp-window .sqbp-lightbox-studio-a,
    #square-booking-preview #sqbp-lightbox-studio-b:checked ~ .sqbp-window .sqbp-lightbox-studio-b,
    #square-booking-preview #sqbp-lightbox-studio-c:checked ~ .sqbp-window .sqbp-lightbox-studio-c,
    #square-booking-preview #sqbp-lightbox-event:checked ~ .sqbp-window .sqbp-lightbox-event,
    #square-booking-preview #sqbp-lightbox-lockout:checked ~ .sqbp-window .sqbp-lightbox-lockout { display: grid; }
    #square-booking-preview .sqbp-lightbox-dialog {
      width: min(100%, 760px);
      padding: 12px;
      position: sticky;
      top: 24px;
      background: light-dark(#fffdf8, #181b1e);
      border-radius: 12px;
      box-shadow: 0 20px 70px rgba(0, 0, 0, .42);
    }
    #square-booking-preview .sqbp-lightbox-image {
      width: 100%;
      aspect-ratio: 4 / 3;
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      border-radius: 8px;
      cursor: default;
    }
    #square-booking-preview .sqbp-lightbox-close {
      min-height: 44px;
      display: grid;
      place-items: center;
      margin-top: 8px;
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-summary-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 16px;
      padding: 9px 0;
      border-bottom: 1px solid light-dark(#d9d0c2, #383d44);
    }
    #square-booking-preview .sqbp-summary-value { text-align: right; }
    #square-booking-preview .sqbp-total {
      margin: 18px 0;
      padding: 14px 0;
      border-top: 2px solid light-dark(#b77908, #facc15);
      border-bottom: 2px solid light-dark(#b77908, #facc15);
    }
    #square-booking-preview .sqbp-estimated-total > .sqbp-manual-estimated-total { display: inline; }
    #square-booking-preview .sqbp-manual-estimated-total > span,
    #square-booking-preview .sqbp-calendar-two-hour-total > span,
    #square-booking-preview .sqbp-estimated-total > .sqbp-calendar-two-hour-total,
    #square-booking-preview .sqbp-record-support-suffix { display: none; }
    #square-booking-preview .sqbp-calendar-two-hour-total { display: none !important; }
    #square-booking-preview:has(#sqbp-record-support-some:checked) .sqbp-record-support-suffix,
    #square-booking-preview:has(#sqbp-record-support-full:checked) .sqbp-record-support-suffix { display: inline; }

    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="1"]:checked) .sqbp-total-rehearsal-a-1,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="2"]:checked) .sqbp-total-rehearsal-a-2,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="3"]:checked) .sqbp-total-rehearsal-a-3,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="4"]:checked) .sqbp-total-rehearsal-a-4,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="5"]:checked) .sqbp-total-rehearsal-a-5,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="6"]:checked) .sqbp-total-rehearsal-a-6,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="7"]:checked) .sqbp-total-rehearsal-a-7,
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked):has(#sqbp-rehearsal-duration option[value="8"]:checked) .sqbp-total-rehearsal-a-8,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="1"]:checked) .sqbp-total-rehearsal-c-1,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="2"]:checked) .sqbp-total-rehearsal-c-2,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="3"]:checked) .sqbp-total-rehearsal-c-3,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="4"]:checked) .sqbp-total-rehearsal-c-4,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="5"]:checked) .sqbp-total-rehearsal-c-5,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="6"]:checked) .sqbp-total-rehearsal-c-6,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="7"]:checked) .sqbp-total-rehearsal-c-7,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked):has(#sqbp-rehearsal-duration option[value="8"]:checked) .sqbp-total-rehearsal-c-8 { display: inline; }

    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="1"]:checked) .sqbp-total-record-a-1,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="2"]:checked) .sqbp-total-record-a-2,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="3"]:checked) .sqbp-total-record-a-3,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="4"]:checked) .sqbp-total-record-a-4,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="5"]:checked) .sqbp-total-record-a-5,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="6"]:checked) .sqbp-total-record-a-6,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="7"]:checked) .sqbp-total-record-a-7,
    #square-booking-preview:has(#sqbp-record-room-a:checked):has(#sqbp-record-duration option[value="8"]:checked) .sqbp-total-record-a-8,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="1"]:checked) .sqbp-total-record-b-1,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="2"]:checked) .sqbp-total-record-b-2,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="3"]:checked) .sqbp-total-record-b-3,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="4"]:checked) .sqbp-total-record-b-4,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="5"]:checked) .sqbp-total-record-b-5,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="6"]:checked) .sqbp-total-record-b-6,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="7"]:checked) .sqbp-total-record-b-7,
    #square-booking-preview:has(#sqbp-record-room-b:checked):has(#sqbp-record-duration option[value="8"]:checked) .sqbp-total-record-b-8,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="1"]:checked) .sqbp-total-record-c-1,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="2"]:checked) .sqbp-total-record-c-2,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="3"]:checked) .sqbp-total-record-c-3,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="4"]:checked) .sqbp-total-record-c-4,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="5"]:checked) .sqbp-total-record-c-5,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="6"]:checked) .sqbp-total-record-c-6,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="7"]:checked) .sqbp-total-record-c-7,
    #square-booking-preview:has(#sqbp-record-room-c:checked):has(#sqbp-record-duration option[value="8"]:checked) .sqbp-total-record-c-8,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="1"]:checked) .sqbp-total-record-lockout-1,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="2"]:checked) .sqbp-total-record-lockout-2,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="3"]:checked) .sqbp-total-record-lockout-3,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="4"]:checked) .sqbp-total-record-lockout-4,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="5"]:checked) .sqbp-total-record-lockout-5,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="6"]:checked) .sqbp-total-record-lockout-6,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="7"]:checked) .sqbp-total-record-lockout-7,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked):has(#sqbp-record-duration option[value="8"]:checked) .sqbp-total-record-lockout-8 { display: inline; }
    #square-booking-preview .sqbp-side-note { margin: 14px 0; }
    #square-booking-preview .sqbp-side .sqbp-action { margin-top: 14px; }
    #square-booking-preview #sqbp-demo-confirmation {
      margin-top: 18px;
      padding: 12px;
      color: light-dark(#285d38, #bbf7d0);
      background: light-dark(#e4f3e8, #173423);
      border: 1px solid light-dark(#93bda0, #356c49);
      border-radius: 9px;
    }
    #square-booking-preview .sqbp-payment-actions {
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid light-dark(#93bda0, #356c49);
    }
    #square-booking-preview .sqbp-payment-note { margin: 0 0 10px; }
    #square-booking-preview .sqbp-payment-status {
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid light-dark(#93bda0, #356c49);
    }
    #square-booking-preview .sqbp-payment-status.is-error {
      color: light-dark(#8b251b, #fecaca);
    }
    #square-booking-preview #sqbp-purpose-rehearsal:checked ~ .sqbp-window .sqbp-confirmation-rehearsal,
    #square-booking-preview #sqbp-purpose-event:checked ~ .sqbp-window .sqbp-confirmation-event,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-support-self:checked) .sqbp-confirmation-record-self,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-support-some:checked) .sqbp-confirmation-record-staff,
    #square-booking-preview:has(#sqbp-purpose-recording:checked):has(#sqbp-record-support-full:checked) .sqbp-confirmation-record-staff {
      display: block;
    }
    #square-booking-preview:has(#sqbp-rehearsal-room-a:checked) .sqbp-rehearsal-room-a,
    #square-booking-preview:has(#sqbp-rehearsal-room-c:checked) .sqbp-rehearsal-room-c,
    #square-booking-preview:has(#sqbp-record-room-a:checked) .sqbp-record-room-a,
    #square-booking-preview:has(#sqbp-record-room-b:checked) .sqbp-record-room-b,
    #square-booking-preview:has(#sqbp-record-room-c:checked) .sqbp-record-room-c,
    #square-booking-preview:has(#sqbp-record-room-lockout:checked) .sqbp-record-room-lockout,
    #square-booking-preview:has(#sqbp-record-support-self:checked) .sqbp-record-support-self,
    #square-booking-preview:has(#sqbp-record-support-some:checked) .sqbp-record-support-some,
    #square-booking-preview:has(#sqbp-record-support-full:checked) .sqbp-record-support-full,
    #square-booking-preview:has(#sqbp-rehearsal-start option[value="10"]:checked) .sqbp-rehearsal-time-10,
    #square-booking-preview:has(#sqbp-rehearsal-start option[value="11"]:checked) .sqbp-rehearsal-time-11,
    #square-booking-preview:has(#sqbp-rehearsal-start option[value="13"]:checked) .sqbp-rehearsal-time-13,
    #square-booking-preview:has(#sqbp-rehearsal-start option[value="16"]:checked) .sqbp-rehearsal-time-16,
    #square-booking-preview:has(#sqbp-rehearsal-start option[value="18"]:checked) .sqbp-rehearsal-time-18,
    #square-booking-preview:has(#sqbp-record-start option[value="9"]:checked) .sqbp-record-time-9,
    #square-booking-preview:has(#sqbp-record-start option[value="10"]:checked) .sqbp-record-time-10,
    #square-booking-preview:has(#sqbp-record-start option[value="12"]:checked) .sqbp-record-time-12,
    #square-booking-preview:has(#sqbp-record-start option[value="15"]:checked) .sqbp-record-time-15,
    #square-booking-preview:has(#sqbp-record-start option[value="18"]:checked) .sqbp-record-time-18,
    #square-booking-preview:has(#sqbp-event-start option[value="12"]:checked) .sqbp-event-time-12,
    #square-booking-preview:has(#sqbp-event-start option[value="15"]:checked) .sqbp-event-time-15,
    #square-booking-preview:has(#sqbp-event-start option[value="18"]:checked) .sqbp-event-time-18,
    #square-booking-preview:has(#sqbp-event-start option[value="19"]:checked) .sqbp-event-time-19 {
      display: inline;
    }
    #square-booking-preview .sqbp-start-time-field { margin-top: 10px; }
    #square-booking-preview .sqbp-record-price-review { display: none; }
    #square-booking-preview:has(#sqbp-record-support-some:checked) .sqbp-record-price-rate,
    #square-booking-preview:has(#sqbp-record-support-full:checked) .sqbp-record-price-rate {
      display: none;
    }
    #square-booking-preview:has(#sqbp-record-support-some:checked) .sqbp-record-price-review,
    #square-booking-preview:has(#sqbp-record-support-full:checked) .sqbp-record-price-review {
      display: inline;
    }
    #square-booking-preview .sqbp-view-switch {
      display: flex;
      align-items: center;
      gap: 4px;
      padding: 3px;
      background: light-dark(#eee6d9, #25292e);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-view-option {
      min-height: 38px;
      display: grid;
      place-items: center;
      padding: 7px 11px;
      border-radius: 8px;
      color: light-dark(#6d6256, #bbb4a8);
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview #sqbp-view-activity:checked ~ .sqbp-window label[for="sqbp-view-activity"],
    #square-booking-preview #sqbp-view-calendar:checked ~ .sqbp-window label[for="sqbp-view-calendar"] {
      color: light-dark(#211d18, #f6f2e9);
      background: light-dark(#fffdf8, #3a3f46);
    }
    #square-booking-preview #sqbp-view-activity:focus-visible ~ .sqbp-window label[for="sqbp-view-activity"],
    #square-booking-preview #sqbp-view-calendar:focus-visible ~ .sqbp-window label[for="sqbp-view-calendar"],
    #square-booking-preview #sqbp-calendar-week-1:focus-visible ~ .sqbp-window label[for="sqbp-calendar-week-1"],
    #square-booking-preview #sqbp-calendar-week-2:focus-visible ~ .sqbp-window label[for="sqbp-calendar-week-2"],
    #square-booking-preview #sqbp-calendar-week-3:focus-visible ~ .sqbp-window label[for="sqbp-calendar-week-3"] {
      outline: 2px solid light-dark(#6f4908, #fde047);
      outline-offset: 2px;
    }
    #square-booking-preview .sqbp-calendar-slot-radio:focus-visible + .sqbp-calendar-slot {
      outline: 2px solid light-dark(#6f4908, #fde047);
      outline-offset: 2px;
    }
    #square-booking-preview .sqbp-calendar-view,
    #square-booking-preview .sqbp-calendar-week,
    #square-booking-preview .sqbp-calendar-selection,
    #square-booking-preview .sqbp-calendar-selection-banner,
    #square-booking-preview .sqbp-calendar-time-selection,
    #square-booking-preview .sqbp-summary-calendar-time,
    #square-booking-preview .sqbp-calendar-picked > span {
      display: none;
    }
    #square-booking-preview #sqbp-view-calendar:checked ~ .sqbp-window .sqbp-layout { display: none; }
    #square-booking-preview #sqbp-view-calendar:checked ~ .sqbp-window .sqbp-calendar-view { display: block; }
    #square-booking-preview #sqbp-calendar-week-1:checked ~ .sqbp-window .sqbp-calendar-week-1,
    #square-booking-preview #sqbp-calendar-week-2:checked ~ .sqbp-window .sqbp-calendar-week-2,
    #square-booking-preview #sqbp-calendar-week-3:checked ~ .sqbp-window .sqbp-calendar-week-3 { display: block; }
    #square-booking-preview .sqbp-calendar-view {
      padding: 24px;
      background: light-dark(#fffdf8, #17191c);
    }
    #square-booking-preview .sqbp-calendar-heading-row {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }
    #square-booking-preview .sqbp-calendar-heading { margin: 0; }
    #square-booking-preview .sqbp-calendar-copy { margin: 7px 0 0; color: light-dark(#6d6256, #bbb4a8); }
    #square-booking-preview .sqbp-calendar-nav {
      display: grid;
      grid-template-columns: 44px minmax(180px, 1fr) 44px;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
    }
    #square-booking-preview .sqbp-calendar-arrow {
      width: 44px;
      min-height: 44px;
      display: grid;
      place-items: center;
      border: 1px solid light-dark(#cfc5b6, #444a52);
      border-radius: 9px;
      background: light-dark(#fffdf8, #202328);
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-calendar-arrow.is-disabled {
      color: light-dark(#aaa092, #686f78);
      background: light-dark(#f3eee5, #1b1e21);
      cursor: default;
    }
    #square-booking-preview .sqbp-calendar-week-title {
      text-align: center;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 8px;
    }
    #square-booking-preview .sqbp-calendar-day {
      min-width: 0;
      padding: 10px;
      background: light-dark(#f7f2e8, #202328);
      border: 1px solid light-dark(#ded5c7, #34383d);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-calendar-day-name { margin: 0; }
    #square-booking-preview .sqbp-calendar-date {
      display: block;
      margin-top: 2px;
      color: light-dark(#6d6256, #bbb4a8);
    }
    #square-booking-preview .sqbp-calendar-slots {
      display: grid;
      gap: 8px;
      margin-top: 12px;
    }
    #square-booking-preview .sqbp-calendar-slot {
      width: 100%;
      min-width: 0;
      min-height: 54px;
      display: grid;
      align-content: center;
      gap: 2px;
      padding: 8px;
      color: light-dark(#2b241d, #f6f2e9);
      background: light-dark(#fff8dc, #332f18);
      border: 1px solid light-dark(#d2a947, #a68418);
      border-radius: 8px;
      cursor: pointer;
      font-weight: 500;
      overflow-wrap: anywhere;
    }
    #square-booking-preview .sqbp-calendar-slot:hover { background: light-dark(#f8edc2, #403817); }
    #square-booking-preview .sqbp-calendar-slot > span:first-child {
      overflow-wrap: normal;
      word-break: normal;
    }
    #square-booking-preview .sqbp-calendar-slot-radio:checked + .sqbp-calendar-slot {
      color: #17130d;
      background: light-dark(#eab308, #facc15);
      border-color: light-dark(#9c6507, #facc15);
    }
    #square-booking-preview .sqbp-calendar-slot-note {
      color: light-dark(#6d6256, #bbb4a8);
      font-weight: 400;
      font-size: .72em;
      white-space: nowrap;
    }
    #square-booking-preview .sqbp-calendar-slot-radio:checked + .sqbp-calendar-slot .sqbp-calendar-slot-note { color: #45370b; }
    #square-booking-preview .sqbp-calendar-empty {
      width: 100%;
      min-width: 0;
      min-height: 54px;
      display: grid;
      place-items: center;
      margin-top: 12px;
      padding: 8px 4px;
      color: light-dark(#6d6256, #bbb4a8);
      border: 1px dashed light-dark(#cfc5b6, #444a52);
      border-radius: 8px;
      text-align: center;
      overflow: hidden;
      font-size: .72em;
      white-space: nowrap;
    }
    #square-booking-preview:has(.sqbp-calendar-slot-radio:checked) .sqbp-calendar-selection {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr);
      align-items: end;
      gap: 18px;
      margin-top: 18px;
      padding: 18px;
      background: light-dark(#eee6d9, #202328);
      border-radius: 12px;
    }
    #square-booking-preview .sqbp-calendar-selection-title { margin: 2px 0 0; }
    #square-booking-preview .sqbp-calendar-purpose-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-top: 12px;
    }
    #square-booking-preview .sqbp-calendar-selection-actions {
      display: grid;
      gap: 8px;
    }
    #square-booking-preview .sqbp-calendar-clear {
      min-height: 44px;
      display: grid;
      place-items: center;
      color: light-dark(#6d6256, #bbb4a8);
      cursor: pointer;
    }
    #square-booking-preview:has(.sqbp-calendar-slot-radio:checked) .sqbp-calendar-selection-banner,
    #square-booking-preview:has(.sqbp-calendar-slot-radio:checked) .sqbp-calendar-time-selection { display: block; }
    #square-booking-preview:has(.sqbp-calendar-slot-radio:checked) .sqbp-manual-date-field { display: none; }
    #square-booking-preview .sqbp-summary-calendar-time { display: none !important; }
    #square-booking-preview .sqbp-summary-manual-date { display: flex !important; }
    #square-booking-preview .sqbp-calendar-selection-banner,
    #square-booking-preview .sqbp-calendar-time-selection {
      margin-top: 16px;
      padding: 14px;
      background: light-dark(#f8edc2, #393315);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-calendar-selection-banner strong,
    #square-booking-preview .sqbp-calendar-time-selection strong { display: block; }
    #square-booking-preview .sqbp-calendar-time-selection .sqbp-fields {
      margin-top: 12px;
    }
    #square-booking-preview .sqbp-availability-note {
      margin: 8px 0 0;
      color: light-dark(#6d6256, #bbb4a8);
    }
    #square-booking-preview .sqbp-calendar-change {
      display: inline-block;
      margin-top: 8px;
      color: light-dark(#7b5108, #fde047);
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-inline-calendar-action {
      min-height: 44px;
      display: inline-grid;
      place-items: center;
      margin-top: 12px;
      padding: 8px 12px;
      color: light-dark(#2b241d, #f6f2e9);
      background: light-dark(#fffdf8, #202328);
      border: 1px solid light-dark(#cfc5b6, #444a52);
      border-radius: 8px;
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-calendar-layout-switch {
      display: flex;
      align-items: center;
      gap: 4px;
      padding: 3px;
      background: light-dark(#eee6d9, #25292e);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-calendar-layout-option {
      min-height: 38px;
      display: grid;
      place-items: center;
      padding: 7px 12px;
      border-radius: 8px;
      color: light-dark(#6d6256, #bbb4a8);
      cursor: pointer;
      font-weight: 500;
    }
    #square-booking-preview #sqbp-calendar-layout-week:checked ~ .sqbp-window label[for="sqbp-calendar-layout-week"],
    #square-booking-preview #sqbp-calendar-layout-month:checked ~ .sqbp-window label[for="sqbp-calendar-layout-month"] {
      color: light-dark(#211d18, #f6f2e9);
      background: light-dark(#fffdf8, #3a3f46);
    }
    #square-booking-preview .sqbp-month-browser,
    #square-booking-preview .sqbp-month-panel,
    #square-booking-preview .sqbp-month-detail,
    #square-booking-preview .sqbp-month-window-option { display: none; }
    #square-booking-preview #sqbp-calendar-layout-month:checked ~ .sqbp-window .sqbp-calendar-week { display: none; }
    #square-booking-preview #sqbp-calendar-layout-month:checked ~ .sqbp-window .sqbp-month-browser { display: block; }
    #square-booking-preview #sqbp-calendar-month-sep:checked ~ .sqbp-window .sqbp-month-sep,
    #square-booking-preview #sqbp-calendar-month-oct:checked ~ .sqbp-window .sqbp-month-oct,
    #square-booking-preview #sqbp-calendar-month-nov:checked ~ .sqbp-window .sqbp-month-nov { display: block; }
    #square-booking-preview .sqbp-month-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 6px;
    }
    #square-booking-preview .sqbp-month-dow {
      padding: 4px;
      color: light-dark(#6d6256, #bbb4a8);
      text-align: center;
      font-weight: 500;
    }
    #square-booking-preview .sqbp-month-day,
    #square-booking-preview .sqbp-month-day-empty {
      min-width: 0;
      min-height: 58px;
      padding: 7px;
      border-radius: 8px;
    }
    #square-booking-preview .sqbp-month-day {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      color: light-dark(#2b241d, #f6f2e9);
      background: light-dark(#f7f2e8, #202328);
      border: 1px solid light-dark(#ded5c7, #34383d);
    }
    #square-booking-preview label.sqbp-month-day { cursor: pointer; }
    #square-booking-preview label.sqbp-month-day {
      border-color: light-dark(#b77908, #d8aa18);
      box-shadow: inset 0 0 0 1px light-dark(rgba(183, 121, 8, .18), rgba(250, 204, 21, .16));
    }
    #square-booking-preview .sqbp-month-day-radio:checked + .sqbp-month-day {
      background: light-dark(#f8edc2, #393315);
      border-color: light-dark(#9c6507, #facc15);
    }
    #square-booking-preview .sqbp-booking-dots {
      display: flex;
      align-items: center;
      gap: 3px;
      min-height: 8px;
    }
    #square-booking-preview .sqbp-booking-dot {
      display: inline-block;
      flex: 0 0 6px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: light-dark(#8c8275, #8f979f);
    }
    #square-booking-preview #sqbp-calendar-month-sep:checked ~ .sqbp-window:has(#sqbp-month-day-0910:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-sep:checked ~ .sqbp-window:has(#sqbp-month-day-0924:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-oct:checked ~ .sqbp-window:has(#sqbp-month-day-1004:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-oct:checked ~ .sqbp-window:has(#sqbp-month-day-1014:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-oct:checked ~ .sqbp-window:has(#sqbp-month-day-1024:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-nov:checked ~ .sqbp-window:has(#sqbp-month-day-1103:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-nov:checked ~ .sqbp-window:has(#sqbp-month-day-1115:checked) .sqbp-month-detail,
    #square-booking-preview #sqbp-calendar-month-nov:checked ~ .sqbp-window:has(#sqbp-month-day-1127:checked) .sqbp-month-detail {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(180px, .55fr);
      align-items: end;
      gap: 16px;
      margin-top: 14px;
      padding: 16px;
      background: light-dark(#eee6d9, #202328);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-month-legend {
      margin: 0 0 10px;
      color: light-dark(#6d6256, #bbb4a8);
      text-align: center;
    }
    #square-booking-preview .sqbp-month-availability-key {
      display: inline-flex;
      padding: 2px 6px;
      border: 1px solid light-dark(#b77908, #facc15);
      border-radius: 6px;
      color: light-dark(#5f430b, #fde047);
    }
    #square-booking-preview .sqbp-month-picked::after { display: inline; }
    #square-booking-preview:has(#sqbp-month-day-0910:checked) .sqbp-month-picked::after { content: "Thursday, September 10"; }
    #square-booking-preview:has(#sqbp-month-day-0924:checked) .sqbp-month-picked::after { content: "Thursday, September 24"; }
    #square-booking-preview:has(#sqbp-month-day-1004:checked) .sqbp-month-picked::after { content: "Sunday, October 4"; }
    #square-booking-preview:has(#sqbp-month-day-1014:checked) .sqbp-month-picked::after { content: "Wednesday, October 14"; }
    #square-booking-preview:has(#sqbp-month-day-1024:checked) .sqbp-month-picked::after { content: "Saturday, October 24"; }
    #square-booking-preview:has(#sqbp-month-day-1103:checked) .sqbp-month-picked::after { content: "Tuesday, November 3"; }
    #square-booking-preview:has(#sqbp-month-day-1115:checked) .sqbp-month-picked::after { content: "Sunday, November 15"; }
    #square-booking-preview:has(#sqbp-month-day-1127:checked) .sqbp-month-picked::after { content: "Friday, November 27"; }
    #square-booking-preview:has(#sqbp-month-day-0910:checked) label[for="sqbp-cal-0910-1800"],
    #square-booking-preview:has(#sqbp-month-day-0924:checked) label[for="sqbp-cal-0924-1800"],
    #square-booking-preview:has(#sqbp-month-day-1004:checked) label[for="sqbp-cal-1004-0900"],
    #square-booking-preview:has(#sqbp-month-day-1014:checked) label[for="sqbp-cal-1014-1200"],
    #square-booking-preview:has(#sqbp-month-day-1024:checked) label[for="sqbp-cal-1024-1000"],
    #square-booking-preview:has(#sqbp-month-day-1103:checked) label[for="sqbp-cal-1103-1100"],
    #square-booking-preview:has(#sqbp-month-day-1115:checked) label[for="sqbp-cal-1115-1200"],
    #square-booking-preview:has(#sqbp-month-day-1127:checked) label[for="sqbp-cal-1127-0900"] { display: grid; }
    #square-booking-preview:has(#sqbp-cal-0906-1400:checked) .sqbp-calendar-picked::after { content: "Sunday, Sep 6 · 12–6 PM"; }
    #square-booking-preview:has(#sqbp-cal-0907-1000:checked) .sqbp-calendar-picked::after { content: "Monday, Sep 7 · 9 AM–3 PM"; }
    #square-booking-preview:has(#sqbp-cal-0909-1300:checked) .sqbp-calendar-picked::after { content: "Wednesday, Sep 9 · 9 AM–12 PM"; }
    #square-booking-preview:has(#sqbp-cal-0909-1600:checked) .sqbp-calendar-picked::after { content: "Wednesday, Sep 9 · 4–9 PM"; }
    #square-booking-preview:has(#sqbp-cal-0910-1800:checked) .sqbp-calendar-picked::after { content: "Thursday, Sep 10 · 4–9 PM"; }
    #square-booking-preview:has(#sqbp-cal-0911-1100:checked) .sqbp-calendar-picked::after { content: "Friday, Sep 11 · 10 AM–4 PM"; }
    #square-booking-preview:has(#sqbp-cal-0913-1500:checked) .sqbp-calendar-picked::after { content: "Sunday, Sep 13 · 12–7 PM"; }
    #square-booking-preview:has(#sqbp-cal-0915-1000:checked) .sqbp-calendar-picked::after { content: "Tuesday, Sep 15 · 9 AM–2 PM"; }
    #square-booking-preview:has(#sqbp-cal-0916-1600:checked) .sqbp-calendar-picked::after { content: "Wednesday, Sep 16 · 1–8 PM"; }
    #square-booking-preview:has(#sqbp-cal-0918-1200:checked) .sqbp-calendar-picked::after { content: "Friday, Sep 18 · 10 AM–6 PM"; }
    #square-booking-preview:has(#sqbp-cal-0919-1400:checked) .sqbp-calendar-picked::after { content: "Saturday, Sep 19 · 11 AM–5 PM"; }
    #square-booking-preview:has(#sqbp-cal-0920-1300:checked) .sqbp-calendar-picked::after { content: "Sunday, Sep 20 · 12–6 PM"; }
    #square-booking-preview:has(#sqbp-cal-0921-1700:checked) .sqbp-calendar-picked::after { content: "Monday, Sep 21 · 3–9 PM"; }
    #square-booking-preview:has(#sqbp-cal-0923-1000:checked) .sqbp-calendar-picked::after { content: "Wednesday, Sep 23 · 9 AM–4 PM"; }
    #square-booking-preview:has(#sqbp-cal-0924-1800:checked) .sqbp-calendar-picked::after { content: "Thursday, Sep 24 · 4–9 PM"; }
    #square-booking-preview:has(#sqbp-cal-0926-1500:checked) .sqbp-calendar-picked::after { content: "Saturday, Sep 26 · 12–7 PM"; }
    #square-booking-preview:has(#sqbp-cal-1004-0900:checked) .sqbp-calendar-picked::after { content: "Sunday, Oct 4 · 9 AM–5 PM"; }
    #square-booking-preview:has(#sqbp-cal-1014-1200:checked) .sqbp-calendar-picked::after { content: "Wednesday, Oct 14 · 12–7 PM"; }
    #square-booking-preview:has(#sqbp-cal-1024-1000:checked) .sqbp-calendar-picked::after { content: "Saturday, Oct 24 · 10 AM–4 PM"; }
    #square-booking-preview:has(#sqbp-cal-1103-1100:checked) .sqbp-calendar-picked::after { content: "Tuesday, Nov 3 · 11 AM–6 PM"; }
    #square-booking-preview:has(#sqbp-cal-1115-1200:checked) .sqbp-calendar-picked::after { content: "Sunday, Nov 15 · 12–8 PM"; }
    #square-booking-preview:has(#sqbp-cal-1127-0900:checked) .sqbp-calendar-picked::after { content: "Friday, Nov 27 · 9 AM–3 PM"; }
    @media (max-width: 700px) {
      #square-booking-preview .sqbp-layout { grid-template-columns: 1fr; }
      #square-booking-preview .sqbp-side {
        border-left: 0;
        border-top: 1px solid light-dark(#d6cdbd, #34383d);
      }
      #square-booking-preview .sqbp-summary-panel,
      #square-booking-preview .sqbp-summary-placeholder {
        position: static;
        inset: auto;
      }
      #square-booking-preview .sqbp-purpose-grid,
      #square-booking-preview .sqbp-choice-grid.two-up { grid-template-columns: 1fr; }
      #square-booking-preview .sqbp-slot-grid { grid-template-columns: repeat(2, 1fr); }
      #square-booking-preview .sqbp-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      #square-booking-preview:has(.sqbp-calendar-slot-radio:checked) .sqbp-calendar-selection { grid-template-columns: 1fr; }
      #square-booking-preview .sqbp-month-detail { grid-template-columns: 1fr; }
    }
    @media (max-width: 420px) {
      #square-booking-preview .sqbp-header,
      #square-booking-preview .sqbp-main,
      #square-booking-preview .sqbp-side { padding: 16px; }
      #square-booking-preview .sqbp-preview-label { display: none; }
      #square-booking-preview .sqbp-steps { grid-template-columns: repeat(2, 1fr); }
      #square-booking-preview .sqbp-fields,
      #square-booking-preview .sqbp-detail-actions { grid-template-columns: 1fr; }
      #square-booking-preview .sqbp-field.full { grid-column: auto; }
      #square-booking-preview .sqbp-header,
      #square-booking-preview .sqbp-calendar-heading-row { align-items: stretch; flex-direction: column; }
      #square-booking-preview .sqbp-view-switch { display: grid; grid-template-columns: 1fr 1fr; }
      #square-booking-preview .sqbp-calendar-view { padding: 16px; }
      #square-booking-preview .sqbp-calendar-grid,
      #square-booking-preview .sqbp-calendar-purpose-grid { grid-template-columns: 1fr; }
      #square-booking-preview .sqbp-calendar-nav { grid-template-columns: 44px minmax(0, 1fr) 44px; }
      #square-booking-preview .sqbp-calendar-layout-switch { display: grid; grid-template-columns: 1fr 1fr; }
      #square-booking-preview .sqbp-month-grid { gap: 3px; }
      #square-booking-preview .sqbp-month-day,
      #square-booking-preview .sqbp-month-day-empty { min-height: 46px; padding: 5px; }
      #square-booking-preview .sqbp-month-dow { padding: 2px; font-size: .75em; }
    }

    #square-booking-preview .sqbp-calendar-week.sqbp-live-calendar-panel,
    #square-booking-preview .sqbp-month-panel.sqbp-live-month-panel {
      display: block;
    }
    #square-booking-preview .sqbp-calendar-arrow,
    #square-booking-preview button.sqbp-calendar-slot {
      font: inherit;
    }
    #square-booking-preview button.sqbp-calendar-arrow {
      color: inherit;
    }
    #square-booking-preview button.sqbp-calendar-slot {
      text-align: left;
    }
    #square-booking-preview .sqbp-calendar-slot.is-selected {
      color: #17130d;
      background: light-dark(#eab308, #facc15);
      border-color: light-dark(#9c6507, #facc15);
    }
    #square-booking-preview .sqbp-calendar-slot.is-selected .sqbp-calendar-slot-note {
      color: #45370b;
    }
    #square-booking-preview .sqbp-month-detail.is-active {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(180px, .55fr);
      align-items: end;
      gap: 16px;
      margin-top: 14px;
      padding: 16px;
      background: light-dark(#eee6d9, #202328);
      border-radius: 10px;
    }
    #square-booking-preview .sqbp-live-status {
      grid-column: 1 / -1;
      min-height: 116px;
      display: grid;
      place-items: center;
      padding: 18px;
      color: light-dark(#6d6256, #bbb4a8);
      background: light-dark(#f7f2e8, #202328);
      border: 1px dashed light-dark(#cfc5b6, #444a52);
      border-radius: 10px;
      text-align: center;
    }
    #square-booking-preview .sqbp-live-status.is-error {
      color: light-dark(#7f1d1d, #fecaca);
      border-color: light-dark(#b45309, #b45309);
    }
    #square-booking-preview .sqbp-calendar-picked > .sqbp-live-picked {
      display: inline;
    }
    @media (max-width: 700px) {
      #square-booking-preview .sqbp-month-detail.is-active {
        grid-template-columns: 1fr;
      }
    }
