/* Wilkens Termine. Host supplies Manrope and its own navigation.
   Shape scale: shell 24px, panels/options 16px, controls 10px, date buttons 50%.
   No external assets, fonts, trackers or layout-wide z-index overrides. */
#wtb-booking {
  --wtb-ink: #22211f;
  --wtb-muted: #625e59;
  --wtb-paper: #fbfaf7;
  --wtb-surface: #ffffff;
  --wtb-greige: #f2ede5;
  --wtb-soft: #f8f5ef;
  --wtb-orange: #f07d00;
  --wtb-orange-text: #a84f00;
  --wtb-selected: #fff1dd;
  --wtb-line: #d9d2c8;
  --wtb-control-line: #8f8579;
  --wtb-error: #a8311c;
  --wtb-error-surface: #fff1ec;
  --wtb-shadow: 0 20px 64px rgb(65 48 27 / 7%);
  color-scheme: light;
  color: var(--wtb-ink);
  font-family: Manrope, "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 450;
  line-height: 1.6;
  width: 100%;
  max-width: 1240px;
  margin-inline: auto;
  text-align: left;
  isolation: isolate;
  container-type: inline-size;
  container-name: wtbBooking;
}
#wtb-booking *, #wtb-booking *::before, #wtb-booking *::after { box-sizing: border-box; }
#wtb-booking .wtb-app { padding: clamp(22px, 4.2vw, 56px); border: 1px solid var(--wtb-line); border-radius: 24px; background: var(--wtb-paper); box-shadow: var(--wtb-shadow); }
#wtb-booking h2, #wtb-booking h3, #wtb-booking h4, #wtb-booking h5, #wtb-booking p, #wtb-booking ul, #wtb-booking ol, #wtb-booking fieldset, #wtb-booking table { margin: 0; padding: 0; color: inherit; }
#wtb-booking h2, #wtb-booking h3, #wtb-booking h4, #wtb-booking h5 { font-family: inherit; font-weight: 750; text-wrap: balance; }
#wtb-booking h2 { max-width: 22ch; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.13; letter-spacing: -.035em; }
#wtb-booking h3 { font-size: clamp(23px, 2.1vw, 28px); line-height: 1.28; letter-spacing: -.025em; }
#wtb-booking h4 { font-size: 16px; line-height: 1.45; letter-spacing: -.01em; }
#wtb-booking h5 { font-size: 17px; line-height: 1.45; }
#wtb-booking p { font-size: 15px; line-height: 1.65; }
#wtb-booking a { color: var(--wtb-ink); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
#wtb-booking a:hover { color: var(--wtb-orange-text); }
#wtb-booking button, #wtb-booking input, #wtb-booking textarea { font: inherit; color: var(--wtb-ink); }
#wtb-booking button { appearance: none; cursor: pointer; margin: 0; line-height: 1.4; text-transform: none; letter-spacing: normal; box-shadow: none; background-image: none; touch-action: manipulation; }
#wtb-booking button::before, #wtb-booking button::after { display: none; }
#wtb-booking button:disabled, #wtb-booking button[aria-disabled="true"] { cursor: default; }
#wtb-booking :is(button, a, input, textarea):focus-visible { outline: 3px solid var(--wtb-orange-text); outline-offset: 4px; }
#wtb-booking :is(button, a, input, textarea, [tabindex]) { scroll-margin-block: 100px 24px; }
#wtb-booking [tabindex="-1"]:focus { outline: none; }
#wtb-booking .wtb-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
#wtb-booking .wtb-kicker { display: block; margin-bottom: 14px; color: var(--wtb-orange-text); font-size: 11px; font-weight: 800; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
#wtb-booking .wtb-intro { max-width: 760px; }
#wtb-booking .wtb-intro > p { max-width: 59ch; margin-top: 16px; color: var(--wtb-muted); font-size: 17px; }
#wtb-booking .wtb-progress { margin: 32px 0 36px; border-bottom: 1px solid var(--wtb-line); }
#wtb-booking .wtb-progress ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
#wtb-booking .wtb-progress li { position: relative; }
#wtb-booking .wtb-progress li::after { content: ""; position: absolute; inset: auto 0 -1px; height: 3px; background: transparent; pointer-events: none; }
#wtb-booking .wtb-progress .is-current::after { background: var(--wtb-orange); }
#wtb-booking .wtb-progress button { display: block; width: 100%; min-height: 48px; padding: 14px 8px 16px; border: 0; border-radius: 0; background: transparent; color: var(--wtb-muted); font-size: 13px; font-weight: 650; text-align: left; white-space: normal; overflow-wrap: anywhere; }
#wtb-booking .wtb-progress .is-current button, #wtb-booking .wtb-progress .is-done button { color: var(--wtb-ink); }
#wtb-booking .wtb-progress .is-current button { font-weight: 800; }
#wtb-booking .wtb-progress button:disabled:not([aria-current]) { color: var(--wtb-muted); }
#wtb-booking .wtb-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr); gap: clamp(28px, 4vw, 48px); align-items: start; }
#wtb-booking .wtb-main, #wtb-booking .wtb-form { min-width: 0; width: 100%; }
#wtb-booking .wtb-section-copy { margin-top: 10px; margin-bottom: 24px; color: var(--wtb-muted); max-width: 54ch; }
#wtb-booking fieldset { border: 0; min-width: 0; }
#wtb-booking .wtb-type-options { display: grid; gap: 12px; }
#wtb-booking .wtb-type-option { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 14px; align-items: start; margin: 0; padding: 22px; border: 1px solid var(--wtb-control-line); border-radius: 16px; background: var(--wtb-surface); cursor: pointer; }
#wtb-booking .wtb-type-option:hover { border-color: var(--wtb-ink); }
#wtb-booking .wtb-type-option.is-selected { border-color: var(--wtb-orange-text); background: var(--wtb-selected); box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking input[type="radio"], #wtb-booking input[type="checkbox"] { appearance: auto; accent-color: var(--wtb-orange-text); width: 20px; height: 20px; min-width: 20px; margin: 3px 0 0; padding: 0; border: initial; border-radius: initial; box-shadow: none; }
#wtb-booking .wtb-type-copy { display: grid; gap: 5px; }
#wtb-booking .wtb-type-title { font-size: 17px; line-height: 1.45; font-weight: 800; }
#wtb-booking .wtb-type-description { color: var(--wtb-muted); font-size: 13px; line-height: 1.6; }
#wtb-booking .wtb-duration { padding-top: 3px; color: var(--wtb-muted); font-size: 12px; line-height: 1.6; white-space: nowrap; font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-subtype-options { margin-top: 28px; }
#wtb-booking .wtb-subtype-options legend { float: none; width: 100%; margin-bottom: 12px; color: var(--wtb-ink); font-weight: 750; font-size: 15px; }
#wtb-booking .wtb-subtype-options > div { display: flex; flex-wrap: wrap; gap: 10px; }
#wtb-booking .wtb-subtype-option { display: flex; align-items: center; gap: 9px; margin: 0; padding: 12px 14px; border: 1px solid var(--wtb-control-line); border-radius: 10px; background: var(--wtb-surface); font-size: 13px; cursor: pointer; }
#wtb-booking .wtb-subtype-option input { width: 16px; height: 16px; min-width: 16px; margin: 0; }
#wtb-booking .wtb-subtype-option.is-selected { background: var(--wtb-selected); border-color: var(--wtb-orange-text); }
#wtb-booking .wtb-aside { min-width: 0; overflow: hidden; border-radius: 16px; background: var(--wtb-greige); }
#wtb-booking .wtb-aside-image { display: block; width: 100%; height: auto; aspect-ratio: 10 / 7; object-fit: cover; }
#wtb-booking .wtb-aside-content { padding: 26px; }
#wtb-booking .wtb-aside h3 { font-size: 24px; line-height: 1.25; max-width: 13ch; }
#wtb-booking .wtb-aside h4 { font-size: 13px; margin-bottom: 8px; }
#wtb-booking .wtb-aside p { margin-top: 14px; color: var(--wtb-muted); font-size: 13px; }
#wtb-booking .wtb-selection { display: grid; gap: 4px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--wtb-line); font-size: 13px; }
#wtb-booking .wtb-selection > strong { font-size: 16px; font-weight: 800; line-height: 1.45; }
#wtb-booking .wtb-selection-label { color: var(--wtb-muted); font-size: 11px; margin-bottom: 6px; }
#wtb-booking .wtb-selection > span:not(.wtb-selection-label) { color: var(--wtb-muted); }
#wtb-booking .wtb-visit-date { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: center; margin-top: 24px; }
#wtb-booking .wtb-date-number { font-size: 47px; line-height: 1; font-weight: 700; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-visit-date > div { display: grid; gap: 2px; font-size: 12px; }
#wtb-booking .wtb-visit-date strong { font-size: 13px; }
#wtb-booking .wtb-visit-date span:not(.wtb-date-number) { color: var(--wtb-muted); }
#wtb-booking .wtb-aside p.wtb-aside-address { margin-top: 24px; }
#wtb-booking .wtb-aside-contact { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--wtb-line); }
#wtb-booking .wtb-contact-links { display: grid; gap: 6px; font-size: 13px; }
#wtb-booking .wtb-contact-links a { width: fit-content; }
#wtb-booking .wtb-calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(138px, .54fr); gap: 24px; align-items: start; }
#wtb-booking .wtb-calendar { min-width: 0; }
#wtb-booking .wtb-month-nav { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 8px; margin-bottom: 18px; }
#wtb-booking .wtb-month-nav h4 { text-align: center; font-size: 16px; white-space: nowrap; }
#wtb-booking .wtb-month-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--wtb-control-line); border-radius: 10px; background: var(--wtb-surface); color: var(--wtb-ink); font-size: 29px; line-height: 1; }
#wtb-booking .wtb-month-arrow:disabled { color: var(--wtb-muted); border-color: var(--wtb-line); background: transparent; opacity: .55; }
#wtb-booking .wtb-calendar-table { width: 100%; border: 0; border-collapse: separate; border-spacing: 3px 6px; table-layout: fixed; background: transparent; }
#wtb-booking .wtb-calendar-table :is(tr, th, td) { padding: 0; margin: 0; border: 0; background: transparent; text-align: center; box-shadow: none; }
#wtb-booking .wtb-calendar-table th { padding-bottom: 7px; color: var(--wtb-muted); font-size: 11px; font-weight: 650; }
#wtb-booking .wtb-day { display: block; width: 100%; aspect-ratio: 1; min-height: 36px; padding: 0; border: 1px solid var(--wtb-control-line); border-radius: 50%; color: var(--wtb-ink); background: var(--wtb-surface); font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-day:hover:not(:disabled) { border-color: var(--wtb-orange-text); background: var(--wtb-selected); }
#wtb-booking .wtb-day.is-selected { border-color: var(--wtb-orange-text); background: var(--wtb-orange); color: #22211f; }
#wtb-booking .wtb-day:disabled { border-color: transparent; color: var(--wtb-muted); background: transparent; font-weight: 450; opacity: .55; }
#wtb-booking .wtb-day.is-today { text-decoration: underline; text-underline-offset: 5px; }
#wtb-booking .wtb-calendar-help { margin-top: 12px; color: var(--wtb-muted); font-size: 11px; }
#wtb-booking .wtb-times { min-width: 0; padding-top: 9px; }
#wtb-booking .wtb-times h4 { min-height: 40px; margin-bottom: 16px; font-size: 13px; }
#wtb-booking .wtb-slot-options { display: grid; gap: 9px; }
#wtb-booking .wtb-slot { display: grid; gap: 2px; width: 100%; min-height: 62px; padding: 10px; border: 1px solid var(--wtb-control-line); border-radius: 10px; background: var(--wtb-surface); text-align: center; font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-slot > span { font-weight: 800; font-size: 15px; }
#wtb-booking .wtb-slot > small { color: var(--wtb-muted); font-size: 11px; }
#wtb-booking .wtb-slot:hover { border-color: var(--wtb-orange-text); background: var(--wtb-selected); }
#wtb-booking .wtb-slot.is-selected { border-color: var(--wtb-orange-text); background: var(--wtb-selected); box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking .wtb-times-hint { color: var(--wtb-muted); font-size: 13px; }
#wtb-booking .wtb-timezone { margin-top: 17px; color: var(--wtb-muted); font-size: 11px; line-height: 1.6; }
#wtb-booking .wtb-personal-note { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--wtb-line); color: var(--wtb-muted); font-size: 12px; }
#wtb-booking .wtb-personal-note > p { font-size: 12px; }
#wtb-booking .wtb-personal-note .wtb-contact-links { margin-top: 9px; }
#wtb-booking .wtb-empty { padding: 22px 0; }
#wtb-booking .wtb-empty p { margin-top: 10px; color: var(--wtb-muted); font-size: 13px; }
#wtb-booking .wtb-empty .wtb-button { margin-top: 16px; }
#wtb-booking .wtb-empty-month { margin-top: 17px; padding: 18px; border-radius: 16px; background: var(--wtb-greige); }
#wtb-booking .wtb-empty-month h5 { font-size: 15px; }
#wtb-booking .wtb-empty-month .wtb-button { padding: 10px 12px; font-size: 12px; }
#wtb-booking .wtb-fields { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 12px 18px; }
#wtb-booking .wtb-field { display: grid; align-content: start; gap: 8px; min-width: 0; }
#wtb-booking .wtb-field-name, #wtb-booking .wtb-field-email, #wtb-booking .wtb-field-phone, #wtb-booking .wtb-field-notes { grid-column: 1 / -1; }
#wtb-booking .wtb-field > label { display: block; color: var(--wtb-ink); font-size: 13px; font-weight: 750; line-height: 1.5; }
#wtb-booking .wtb-field > label > span { display: block; color: var(--wtb-muted); font-size: 11px; font-weight: 450; }
#wtb-booking .wtb-field :is(input, textarea) { display: block; width: 100%; min-height: 50px; max-width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--wtb-control-line); border-radius: 10px; color: var(--wtb-ink); background: var(--wtb-surface); box-shadow: none; font-size: 16px; line-height: 1.5; }
#wtb-booking .wtb-field textarea { min-height: 120px; resize: vertical; }
#wtb-booking .wtb-field :is(input, textarea):hover { border-color: var(--wtb-ink); }
#wtb-booking .wtb-field :is(input, textarea)[aria-invalid="true"] { border-color: var(--wtb-error); }
#wtb-booking .wtb-field-notes { margin-top: 3px; }
#wtb-booking .wtb-field-help { color: var(--wtb-muted); font-size: 12px; line-height: 1.65; }
#wtb-booking .wtb-field-error { color: var(--wtb-error); font-size: 12px; line-height: 1.6; }
#wtb-booking .wtb-field-error:empty { display: none; }
#wtb-booking .wtb-honeypot { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
#wtb-booking .wtb-review-block { padding: 22px; border: 1px solid var(--wtb-line); border-radius: 16px; background: var(--wtb-surface); }
#wtb-booking .wtb-review-block + .wtb-review-block { margin-top: 16px; }
#wtb-booking .wtb-review-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 11px; }
#wtb-booking .wtb-review-heading:not(:first-child) { margin-top: 24px; }
#wtb-booking .wtb-review-heading h4 { font-size: 12px; color: var(--wtb-muted); }
#wtb-booking .wtb-text-button { min-height: 44px; padding: 8px 0; border: 0; background: transparent; font-size: 12px; font-weight: 650; text-align: right; text-decoration: underline; text-underline-offset: .2em; }
#wtb-booking .wtb-text-button:hover { color: var(--wtb-orange-text); }
#wtb-booking .wtb-review-block p { font-size: 14px; color: var(--wtb-muted); overflow-wrap: anywhere; }
#wtb-booking .wtb-review-block p.wtb-review-value { color: var(--wtb-ink); font-size: 16px; font-weight: 750; }
#wtb-booking .wtb-review-block p.wtb-review-location { margin-top: 12px; }
#wtb-booking .wtb-notes-label { margin-top: 18px; margin-bottom: 6px; font-size: 12px; }
#wtb-booking .wtb-preserve-lines { white-space: pre-wrap; }
#wtb-booking .wtb-privacy-notice { margin: 24px 0 0; font-size: 12px; line-height: 1.75; }
#wtb-booking .wtb-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--wtb-line); }
#wtb-booking .wtb-action-note { max-width: 21ch; color: var(--wtb-muted); font-size: 11px; line-height: 1.6; }
#wtb-booking .wtb-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; width: auto; max-width: 100%; margin: 0; padding: 14px 20px; border: 1px solid transparent; border-radius: 10px; font-family: inherit; font-size: 13px; font-weight: 800; line-height: 1.45; letter-spacing: -.01em; text-decoration: none; white-space: nowrap; }
#wtb-booking .wtb-button-primary { border-color: var(--wtb-orange-text); background: var(--wtb-orange); color: #22211f; }
#wtb-booking .wtb-button-primary:hover { border-color: var(--wtb-orange-text); background: var(--wtb-orange); color: #22211f; box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking .wtb-button-primary:disabled, #wtb-booking .wtb-button-primary[aria-disabled="true"] { background: var(--wtb-greige); border-color: var(--wtb-line); color: var(--wtb-muted); box-shadow: none; }
#wtb-booking .wtb-button-secondary { border-color: var(--wtb-control-line); background: var(--wtb-surface); color: var(--wtb-ink); }
#wtb-booking .wtb-button-secondary:hover { border-color: var(--wtb-orange-text); color: var(--wtb-orange-text); background: var(--wtb-selected); }
#wtb-booking .wtb-button-back { min-width: 44px; padding-left: 0; padding-right: 0; border-color: transparent; color: var(--wtb-muted); background: transparent; font-weight: 650; }
#wtb-booking .wtb-button-back:hover { color: var(--wtb-ink); }
#wtb-booking .wtb-message { margin-bottom: 24px; padding: 16px 18px; border: 1px solid var(--wtb-error); border-radius: 10px; font-size: 13px; line-height: 1.65; }
#wtb-booking .wtb-message-error { color: var(--wtb-error); background: var(--wtb-error-surface); }
#wtb-booking .wtb-message p { margin-bottom: 6px; font-weight: 750; font-size: 13px; }
#wtb-booking .wtb-message ul { list-style: disc; padding-left: 19px; }
#wtb-booking .wtb-message li { padding: 0; margin: 0; }
#wtb-booking .wtb-save-progress { margin-top: 18px; padding-left: 15px; border-left: 3px solid var(--wtb-orange); color: var(--wtb-muted); font-size: 12px; }
#wtb-booking .wtb-standalone, #wtb-booking .wtb-operation { max-width: 710px; padding: 12px 0; }
#wtb-booking .wtb-standalone > p, #wtb-booking .wtb-operation > p { max-width: 60ch; margin-top: 18px; color: var(--wtb-muted); font-size: 16px; }
#wtb-booking .wtb-standalone .wtb-contact-links { margin-top: 24px; font-size: 16px; }
#wtb-booking .wtb-standalone .wtb-button { margin-top: 24px; }
#wtb-booking .wtb-operation p.wtb-pending-notice { margin-top: 24px; padding-left: 14px; border-left: 3px solid var(--wtb-orange); color: var(--wtb-ink); font-size: 14px; font-weight: 750; }
#wtb-booking .wtb-operation .wtb-message { margin-top: 22px; }
#wtb-booking .wtb-operation-actions { margin-top: 28px; }
#wtb-booking .wtb-operation > .wtb-button { margin-top: 28px; }
#wtb-booking .wtb-operation p.wtb-field-help { margin-top: 14px; font-size: 12px; }
#wtb-booking .wtb-operation-contact { margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--wtb-line); }
#wtb-booking .wtb-operation-contact h3 { margin-bottom: 14px; font-size: 20px; }
#wtb-booking .wtb-request-reference { margin-top: 18px; color: var(--wtb-muted); font-size: 11px; overflow-wrap: anywhere; }
#wtb-booking .wtb-request-reference span { font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-confirmation-heading { max-width: 680px; }
#wtb-booking .wtb-confirmation-heading > p { margin-top: 16px; color: var(--wtb-muted); font-size: 17px; }
#wtb-booking .wtb-confirmation-mark { position: relative; display: block; width: 48px; height: 48px; margin-bottom: 26px; border-radius: 50%; background: var(--wtb-orange); }
#wtb-booking .wtb-confirmation-mark::after { content: ""; position: absolute; left: 17px; top: 12px; width: 13px; height: 21px; border: solid #22211f; border-width: 0 2px 2px 0; transform: rotate(42deg); }
#wtb-booking .wtb-confirmation-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 60px); margin-top: 36px; align-items: start; }
#wtb-booking .wtb-confirmed-ticket { padding: 28px; border: 1px solid var(--wtb-line); border-radius: 16px; background: var(--wtb-surface); }
#wtb-booking .wtb-booking-reference { display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; padding-bottom: 20px; margin-bottom: 23px; border-bottom: 1px solid var(--wtb-line); color: var(--wtb-muted); font-size: 12px; }
#wtb-booking .wtb-booking-reference strong { color: var(--wtb-ink); font-weight: 800; overflow-wrap: anywhere; }
#wtb-booking .wtb-confirmed-ticket h3 { font-size: 25px; }
#wtb-booking .wtb-confirmed-date { margin-top: 20px; font-size: 17px; font-weight: 750; }
#wtb-booking .wtb-confirmed-time { margin-top: 4px; color: var(--wtb-muted); font-size: 16px; font-variant-numeric: tabular-nums; }
#wtb-booking .wtb-confirmed-location { margin-top: 22px; color: var(--wtb-muted); font-size: 14px; }
#wtb-booking .wtb-confirmed-location strong { color: var(--wtb-ink); }
#wtb-booking .wtb-confirmed-ticket .wtb-button { margin-top: 24px; }
#wtb-booking .wtb-confirmed-ticket .wtb-field-help { margin-top: 16px; font-size: 12px; overflow-wrap: anywhere; }
#wtb-booking .wtb-confirmed-ticket .wtb-field-error { margin-top: 12px; }
#wtb-booking .wtb-next-visit { padding-top: 10px; }
#wtb-booking .wtb-next-visit h3 { max-width: 19ch; }
#wtb-booking .wtb-next-visit > p { margin-top: 16px; color: var(--wtb-muted); font-size: 15px; }
#wtb-booking .wtb-next-visit .wtb-button { margin-top: 24px; }
#wtb-booking .wtb-next-visit p.wtb-private-link-note { margin-top: 14px; font-size: 12px; }
#wtb-booking .wtb-confirmation-contact { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--wtb-line); }
#wtb-booking .wtb-confirmation-contact h4 { margin-bottom: 10px; font-size: 13px; }
#wtb-booking .wtb-preview-note { margin-bottom: 26px; padding: 12px 16px; border-left: 3px solid var(--wtb-orange); background: var(--wtb-greige); font-size: 13px; font-weight: 650; }
#wtb-booking .wtb-loading { max-width: 660px; min-height: 410px; padding: 10px 0; }
#wtb-booking .wtb-loading-label { margin-bottom: 24px; color: var(--wtb-muted); font-size: 14px; }
#wtb-booking .wtb-skeleton { display: block; height: 76px; margin-top: 14px; border-radius: 10px; background: var(--wtb-greige); }
#wtb-booking .wtb-skeleton-heading { width: 72%; height: 40px; margin-bottom: 32px; }
#wtb-booking .wtb-calendar-loading { min-height: 330px; color: var(--wtb-muted); font-size: 12px; }
#wtb-booking .wtb-skeleton-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px 6px; margin-top: 24px; }
#wtb-booking .wtb-skeleton-calendar .wtb-skeleton { width: 100%; height: auto; aspect-ratio: 1; margin: 0; border-radius: 50%; }
@media (prefers-reduced-motion: no-preference) {
  #wtb-booking :is(.wtb-button, .wtb-type-option, .wtb-subtype-option, .wtb-day, .wtb-slot) { transition: transform .14s ease, background-color .14s ease, border-color .14s ease; }
  #wtb-booking :is(.wtb-button, .wtb-day, .wtb-slot):active:not(:disabled) { transform: translateY(1px); }
}
@media (prefers-color-scheme: dark) {
  #wtb-booking:not([data-theme="light"]) { --wtb-ink: #f2ede5; --wtb-muted: #c0b8ae; --wtb-paper: #262522; --wtb-surface: #302e2a; --wtb-greige: #39362f; --wtb-soft: #343129; --wtb-orange-text: #ffa144; --wtb-selected: #44321f; --wtb-line: #5d574e; --wtb-control-line: #9e9588; --wtb-error: #ffb29e; --wtb-error-surface: #442a24; --wtb-shadow: 0 20px 64px rgb(15 12 8 / 14%); color-scheme: dark; }
}
#wtb-booking[data-theme="dark"] { --wtb-ink: #f2ede5; --wtb-muted: #c0b8ae; --wtb-paper: #262522; --wtb-surface: #302e2a; --wtb-greige: #39362f; --wtb-soft: #343129; --wtb-orange-text: #ffa144; --wtb-selected: #44321f; --wtb-line: #5d574e; --wtb-control-line: #9e9588; --wtb-error: #ffb29e; --wtb-error-surface: #442a24; --wtb-shadow: 0 20px 64px rgb(15 12 8 / 14%); color-scheme: dark; }
@media (max-width: 1100px) {
  #wtb-booking .wtb-app { padding: 32px; }
  #wtb-booking .wtb-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 26px; }
  #wtb-booking .wtb-aside-content { padding: 22px; }
  #wtb-booking .wtb-calendar-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #wtb-booking .wtb-calendar { max-width: 400px; }
  #wtb-booking .wtb-times h4 { min-height: auto; margin-bottom: 12px; }
  #wtb-booking .wtb-slot-options { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); }
  #wtb-booking .wtb-type-option { grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 18px; }
  #wtb-booking .wtb-duration { grid-column: 2; padding-top: 0; }
  #wtb-booking .wtb-form-actions { flex-wrap: wrap; }
  #wtb-booking .wtb-action-note { max-width: none; }
}
@media (max-width: 767px) {
  #wtb-booking { max-width: 100%; }
  #wtb-booking .wtb-app { padding: 26px 20px; border-radius: 18px; }
  #wtb-booking h2 { font-size: clamp(29px, 6.6vw, 38px); }
  #wtb-booking .wtb-intro > p { font-size: 15px; }
  #wtb-booking .wtb-kicker { font-size: 10px; }
  #wtb-booking .wtb-progress { margin-top: 24px; margin-bottom: 28px; }
  #wtb-booking .wtb-progress button { padding: 13px 2px; font-size: 11px; }
  #wtb-booking .wtb-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #wtb-booking .wtb-aside { width: 100%; }
  #wtb-booking .wtb-aside-content { padding: 24px; }
  #wtb-booking .wtb-aside h3 { max-width: none; font-size: 23px; }
  #wtb-booking .wtb-aside-image { display: none; }
  #wtb-booking .wtb-calendar-layout { grid-template-columns: minmax(0, 1fr) minmax(140px, .62fr); gap: 20px; }
  #wtb-booking .wtb-slot-options { grid-template-columns: minmax(0, 1fr); }
  #wtb-booking .wtb-form-actions { flex-wrap: nowrap; }
  #wtb-booking .wtb-form-actions .wtb-button-primary { margin-left: auto; }
  #wtb-booking .wtb-action-note { display: none; }
  #wtb-booking .wtb-confirmation-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  #wtb-booking .wtb-confirmed-ticket { padding: 24px; }
  #wtb-booking .wtb-next-visit { padding-top: 0; }
}
@media (max-width: 560px) {
  #wtb-booking .wtb-app { padding: 24px 16px; }
  #wtb-booking .wtb-calendar-layout { grid-template-columns: minmax(0, 1fr); }
  #wtb-booking .wtb-calendar { max-width: none; }
  #wtb-booking .wtb-times { padding-top: 0; }
  #wtb-booking .wtb-slot-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #wtb-booking .wtb-slot { min-height: 66px; }
  #wtb-booking .wtb-day { min-height: 38px; }
  #wtb-booking .wtb-button { padding-inline: 16px; font-size: 12px; }
  #wtb-booking .wtb-form-actions { gap: 16px; }
  #wtb-booking .wtb-form-actions .wtb-button-primary { min-width: 0; white-space: normal; text-align: center; }
  #wtb-booking .wtb-type-option { padding: 18px 16px; }
  #wtb-booking .wtb-subtype-options > div { display: grid; grid-template-columns: minmax(0, 1fr); }
  #wtb-booking .wtb-review-block { padding: 20px 16px; }
  #wtb-booking .wtb-review-heading { gap: 10px; }
  #wtb-booking .wtb-confirmed-ticket { padding: 22px 18px; }
  #wtb-booking .wtb-contact-links { font-size: 12px; }
  #wtb-booking .wtb-operation .wtb-button { white-space: normal; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  #wtb-booking *, #wtb-booking *::before, #wtb-booking *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  #wtb-booking .wtb-day.is-selected, #wtb-booking .wtb-slot.is-selected, #wtb-booking .wtb-type-option.is-selected { outline: 2px solid Highlight; outline-offset: 1px; }
  #wtb-booking .wtb-progress .is-current { border-bottom: 3px solid Highlight; }
  #wtb-booking .wtb-confirmation-mark { forced-color-adjust: none; }
}
@container wtbBooking (max-width: 880px) {
  #wtb-booking .wtb-layout { grid-template-columns: minmax(0, 1fr); }
  #wtb-booking .wtb-aside h3 { max-width: none; }
  #wtb-booking .wtb-aside-image { display: none; }
  #wtb-booking .wtb-confirmation-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Compact embedded booking. Only the opt-in root below changes; standalone stays unchanged.
   Content determines height. No frame/app height cap, clipped content or nested scroll container. */
#wtb-booking[data-layout="compact"] { max-width: 1100px; }
#wtb-booking[data-layout="compact"] .wtb-app { padding: clamp(16px, 2.1vw, 24px); border-radius: 16px; box-shadow: none; }
#wtb-booking[data-layout="compact"] :is(.wtb-intro, .wtb-aside) { display: none; }
#wtb-booking[data-layout="compact"] .wtb-progress { margin: 0 0 14px; }
#wtb-booking[data-layout="compact"] .wtb-progress button { min-height: 44px; padding: 8px 4px; font-size: 12px; line-height: 1.4; }
#wtb-booking[data-layout="compact"] .wtb-progress li::after { height: 2px; }
#wtb-booking[data-layout="compact"] .wtb-compact-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-height: 24px; margin: 0 0 16px; color: var(--wtb-muted); font-size: 14px; line-height: 24px; }
#wtb-booking[data-layout="compact"] .wtb-compact-summary strong { color: var(--wtb-ink); font-size: 14px; font-weight: 750; }
#wtb-booking[data-layout="compact"] .wtb-compact-summary span { overflow-wrap: anywhere; }
#wtb-booking[data-layout="compact"] .wtb-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
#wtb-booking[data-layout="compact"] .wtb-form > h3 { font-size: 22px; line-height: 1.3; }
#wtb-booking[data-layout="compact"] .wtb-section-copy { max-width: none; margin: 5px 0 14px; font-size: 14px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-type-options { grid-template-columns: minmax(0, 1fr); gap: 8px; }
#wtb-booking[data-layout="compact"] .wtb-type-option { grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 60px; padding: 10px 12px; border-radius: 10px; }
#wtb-booking[data-layout="compact"] .wtb-type-copy { gap: 3px; }
#wtb-booking[data-layout="compact"] .wtb-type-title { font-size: 15px; line-height: 1.4; }
#wtb-booking[data-layout="compact"] .wtb-type-description { display: none; font-size: 12px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-duration { grid-column: auto; padding: 0; font-size: 12px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-type-option input { margin: 0; }
#wtb-booking[data-layout="compact"] .wtb-subtype-options { margin-top: 14px; }
#wtb-booking[data-layout="compact"] .wtb-subtype-options legend { margin-bottom: 7px; font-size: 13px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-subtype-options > div { display: flex; flex-wrap: wrap; gap: 8px; }
#wtb-booking[data-layout="compact"] .wtb-subtype-option { min-height: 44px; gap: 8px; padding: 8px 10px; font-size: 13px; }
#wtb-booking[data-layout="compact"] .wtb-form-actions { flex-wrap: nowrap; gap: 12px; margin-top: 16px; padding-top: 12px; }
#wtb-booking[data-layout="compact"] .wtb-button { min-height: 44px; padding: 10px 16px; font-size: 13px; line-height: 1.4; }
#wtb-booking[data-layout="compact"] .wtb-form-actions .wtb-button-primary { min-width: 0; margin-left: auto; white-space: normal; text-align: center; }
#wtb-booking[data-layout="compact"] .wtb-button-back { min-width: 44px; padding-inline: 0; }
#wtb-booking[data-layout="compact"] .wtb-action-note { display: none; }
#wtb-booking[data-layout="compact"] .wtb-calendar-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
#wtb-booking[data-layout="compact"] .wtb-calendar { max-width: 358px; }
#wtb-booking[data-layout="compact"] .wtb-month-nav { gap: 6px; margin-bottom: 4px; }
#wtb-booking[data-layout="compact"] .wtb-month-nav h4 { font-size: 15px; }
#wtb-booking[data-layout="compact"] .wtb-month-arrow { width: 44px; height: 44px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-table { border-spacing: 5px 6px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-table th { height: 22px; padding-bottom: 3px; }
#wtb-booking[data-layout="compact"] .wtb-day { width: 100%; min-height: 44px; height: 44px; aspect-ratio: auto; border-radius: 10px; font-size: 13px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-help { margin-top: 6px; line-height: 1.45; }
#wtb-booking[data-layout="compact"] .wtb-times { padding-top: 0; }
#wtb-booking[data-layout="compact"] .wtb-times h4 { min-height: 0; margin: 6px 0 10px; font-size: 14px; line-height: 1.45; }
#wtb-booking[data-layout="compact"] .wtb-slot-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#wtb-booking[data-layout="compact"] .wtb-slot { min-height: 50px; gap: 2px; padding: 6px 8px; }
#wtb-booking[data-layout="compact"] .wtb-slot > span { font-size: 14px; line-height: 1.3; }
#wtb-booking[data-layout="compact"] .wtb-slot > small { font-size: 11px; line-height: 1.4; }
#wtb-booking[data-layout="compact"] .wtb-times-hint { font-size: 13px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-personal-note { margin-top: 12px; padding-top: 0; border-top: 0; }
#wtb-booking[data-layout="compact"] .wtb-personal-note > p { max-width: none; font-size: 12px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-personal-note .wtb-contact-links { display: none; }
#wtb-booking[data-layout="compact"] .wtb-fields { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 12px; }
#wtb-booking[data-layout="compact"] .wtb-field { gap: 5px; }
#wtb-booking[data-layout="compact"] .wtb-field > label { font-size: 13px; }
#wtb-booking[data-layout="compact"] .wtb-field > label > span { display: inline; margin-left: 5px; }
#wtb-booking[data-layout="compact"] .wtb-field :is(input, textarea) { min-height: 44px; padding: 9px 12px; font-size: 16px; }
#wtb-booking[data-layout="compact"] .wtb-field textarea { height: 84px; min-height: 84px; resize: vertical; }
#wtb-booking[data-layout="compact"] .wtb-field-help { font-size: 12px; line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-review-block { margin-top: 0; padding: 14px 16px; border-radius: 10px; }
#wtb-booking[data-layout="compact"] .wtb-review-block + .wtb-review-block { margin-top: 12px; }
#wtb-booking[data-layout="compact"] .wtb-review-heading { align-items: center; gap: 10px; margin-bottom: 4px; }
#wtb-booking[data-layout="compact"] .wtb-review-heading:not(:first-child) { margin-top: 12px; }
#wtb-booking[data-layout="compact"] .wtb-review-block p { line-height: 1.5; }
#wtb-booking[data-layout="compact"] .wtb-text-button { min-height: 44px; }
#wtb-booking[data-layout="compact"] .wtb-privacy-notice { margin-top: 16px; line-height: 1.6; }
#wtb-booking[data-layout="compact"] .wtb-message { margin-bottom: 14px; padding: 12px 14px; }
#wtb-booking[data-layout="compact"] .wtb-save-progress { margin-top: 12px; }
#wtb-booking[data-layout="compact"] .wtb-loading { min-height: 0; max-width: none; padding: 0; }
#wtb-booking[data-layout="compact"] .wtb-loading-label { margin-bottom: 12px; }
#wtb-booking[data-layout="compact"] .wtb-skeleton { height: 54px; margin-top: 8px; }
#wtb-booking[data-layout="compact"] .wtb-skeleton-heading { height: 28px; margin-bottom: 14px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-loading { min-height: 264px; }
#wtb-booking[data-layout="compact"] .wtb-skeleton-calendar { gap: 6px 4px; margin-top: 12px; }
#wtb-booking[data-layout="compact"] .wtb-skeleton-calendar .wtb-skeleton { height: 36px; aspect-ratio: auto; border-radius: 10px; }
#wtb-booking[data-layout="compact"] :is(button, a, input, textarea, [tabindex]) { scroll-margin-block: 16px; }
@container wtbBooking (min-width: 700px) {
  #wtb-booking[data-layout="compact"] .wtb-type-options { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  #wtb-booking[data-layout="compact"] .wtb-type-option { grid-template-columns: 20px minmax(0, 1fr); align-content: start; align-items: start; gap: 6px 10px; padding: 12px; }
  #wtb-booking[data-layout="compact"] .wtb-type-description { display: block; }
  #wtb-booking[data-layout="compact"] .wtb-type-title { font-size: 16px; }
  #wtb-booking[data-layout="compact"] .wtb-duration { grid-column: 2; }
  #wtb-booking[data-layout="compact"] .wtb-type-option input { margin-top: 1px; }
  #wtb-booking[data-layout="compact"] .wtb-calendar-layout { grid-template-columns: minmax(308px, 350px) minmax(0, 1fr); gap: 20px; }
  #wtb-booking[data-layout="compact"] .wtb-fields { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px 16px; }
  #wtb-booking[data-layout="compact"] :is(.wtb-field-name, .wtb-field-email, .wtb-field-phone) { grid-column: span 3; }
  #wtb-booking[data-layout="compact"] .wtb-field-postcode { grid-column: span 1; }
  #wtb-booking[data-layout="compact"] .wtb-field-city { grid-column: span 2; }
  #wtb-booking[data-layout="compact"] .wtb-field-notes { grid-column: 1 / -1; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) > :is(h3, .wtb-section-copy, .wtb-privacy-notice, .wtb-form-actions, .wtb-message, .wtb-save-progress) { grid-column: 1 / -1; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) .wtb-review-block + .wtb-review-block { margin-top: 0; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) .wtb-section-copy { margin-top: 0; margin-bottom: 2px; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) .wtb-privacy-notice { margin-top: 0; }
  #wtb-booking[data-layout="compact"] .wtb-form:has(> .wtb-review-block) .wtb-form-actions { margin-top: 2px; }
}
@container wtbBooking (max-width: 699px) {
  #wtb-booking[data-layout="compact"] .wtb-calendar { max-width: 358px; margin-inline: auto; width: 100%; }
  #wtb-booking[data-layout="compact"] .wtb-progress button { font-size: 11px; }
}
@container wtbBooking (max-width: 359px) {
  /* Keep 44px date hit areas at 320px: use a little of the shell padding, not a scroll area. */
  #wtb-booking[data-layout="compact"] .wtb-app { padding-inline: 16px; }
  #wtb-booking[data-layout="compact"] .wtb-calendar-table { width: calc(100% + 12px); margin-inline: -6px; border-spacing: 4px 6px; }
  #wtb-booking[data-layout="compact"] .wtb-type-option { grid-template-columns: 20px minmax(0, 1fr); gap: 2px 9px; min-height: 62px; }
  #wtb-booking[data-layout="compact"] .wtb-duration { grid-column: 2; }
  #wtb-booking[data-layout="compact"] .wtb-compact-summary { gap: 2px 8px; font-size: 13px; }
}

/* Compact carry-over: the complete selection opens only on demand. */
#wtb-booking .wtb-attached-configuration { margin: 0 0 24px; padding: 16px 18px; border: 1px solid var(--wtb-line); border-left: 3px solid var(--wtb-orange); border-radius: 12px; background: var(--wtb-soft); }
#wtb-booking .wtb-attached-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px 20px; flex-wrap: wrap; }
#wtb-booking .wtb-attached-heading > div { display: grid; gap: 4px; }
#wtb-booking .wtb-attached-heading strong { font-size: 16px; line-height: 1.4; }
#wtb-booking .wtb-attached-configuration p { margin: 10px 0 0; color: var(--wtb-muted); font-size: 13px; line-height: 1.6; }
#wtb-booking .wtb-attached-configuration summary { cursor: pointer; font-size: 13px; padding: 10px 0 0; min-height: 44px; }
#wtb-booking .wtb-attached-configuration dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin: 10px 0 0; }
#wtb-booking .wtb-attached-configuration dt { color: var(--wtb-muted); font-size: 12px; }
#wtb-booking .wtb-attached-configuration dd { margin: 2px 0 0; font-size: 14px; overflow-wrap: anywhere; }
#wtb-booking .wtb-configuration-note { margin: 0 0 20px; padding: 12px 16px; background: var(--wtb-soft); border: 1px solid var(--wtb-line); border-radius: 10px; color: var(--wtb-muted); font-size: 13px; line-height: 1.6; }
@container wtbBooking (max-width: 399px) {
  #wtb-booking .wtb-attached-configuration { padding: 14px; }
  #wtb-booking .wtb-attached-configuration dl { grid-template-columns: minmax(0, 1fr); }
}

/* Integrated reservation surface. Public-page guidance remains outside the private app. */
#wtb-booking[data-layout="compact"] .wtb-app { border: 0; border-radius: 0; background: transparent; padding: 24px; }
#wtb-booking[data-layout="compact"] .wtb-progress { margin-bottom: 22px; border-bottom: 0; }
#wtb-booking[data-layout="compact"] .wtb-progress li::after { display: none; }
#wtb-booking[data-layout="compact"] .wtb-progress button { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 3px 6px 3px 0; font-size: 13px; }
#wtb-booking[data-layout="compact"] .wtb-step-number { display: inline-flex; flex: 0 0 28px; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--wtb-control-line); border-radius: 50%; font-size: 12px; font-weight: 750; font-variant-numeric: tabular-nums; }
#wtb-booking[data-layout="compact"] .is-current .wtb-step-number { background: var(--wtb-ink); border-color: var(--wtb-ink); color: var(--wtb-paper); }
#wtb-booking[data-layout="compact"] .is-done .wtb-step-number { background: var(--wtb-selected); border-color: var(--wtb-orange-text); color: var(--wtb-orange-text); }
#wtb-booking[data-layout="compact"] .wtb-step-label { line-height: 1.35; }
#wtb-booking[data-layout="compact"] .wtb-form > h3 { font-size: 25px; line-height: 1.25; letter-spacing: -.025em; }
#wtb-booking[data-layout="compact"] .wtb-section-copy { margin-top: 8px; margin-bottom: 18px; font-size: 15px; line-height: 1.55; }
#wtb-booking[data-layout="compact"] .wtb-type-options { gap: 10px; }
#wtb-booking[data-layout="compact"] .wtb-type-option { border-color: var(--wtb-line); min-height: 72px; padding: 14px; gap: 8px 11px; background: var(--wtb-surface); }
#wtb-booking[data-layout="compact"] .wtb-type-option:hover { border-color: var(--wtb-orange-text); background: var(--wtb-soft); }
#wtb-booking[data-layout="compact"] .wtb-type-option.is-selected { border-color: var(--wtb-orange-text); background: var(--wtb-selected); box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking[data-layout="compact"] .wtb-type-title { font-size: 16px; font-weight: 750; }
#wtb-booking[data-layout="compact"] .wtb-duration { width: fit-content; padding: 2px 7px; border-radius: 6px; background: var(--wtb-soft); color: var(--wtb-muted); font-size: 12px; white-space: nowrap; }
#wtb-booking[data-layout="compact"] .is-selected .wtb-duration { background: var(--wtb-paper); color: var(--wtb-ink); }
#wtb-booking[data-layout="compact"] .wtb-subtype-options { padding-top: 14px; margin-top: 16px; border-top: 1px solid var(--wtb-line); }
#wtb-booking[data-layout="compact"] .wtb-subtype-options legend { padding-top: 14px; font-size: 14px; }
#wtb-booking[data-layout="compact"] .wtb-subtype-option { background: var(--wtb-surface); border-color: var(--wtb-line); }
#wtb-booking[data-layout="compact"] .wtb-form-actions { margin-top: 20px; padding-top: 16px; }
#wtb-booking[data-layout="compact"] .wtb-button { min-height: 48px; padding: 12px 18px; font-size: 14px; font-weight: 750; }
#wtb-booking[data-layout="compact"] .wtb-button-primary { box-shadow: 0 3px 8px rgb(102 60 20 / 9%); }
#wtb-booking[data-layout="compact"] .wtb-button-primary:hover { background: #e97500; color: #22211f; box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking[data-layout="compact"] .wtb-step-guidance { grid-column: 1 / -1; max-width: 68ch; margin: 12px 0 0; font-size: 13px; line-height: 1.6; color: var(--wtb-muted); }
#wtb-booking[data-layout="compact"] .wtb-day:not(:disabled) { border-color: var(--wtb-control-line); background: var(--wtb-surface); }
#wtb-booking[data-layout="compact"] .wtb-day-request:not(:disabled) { border-style: dashed; background: var(--wtb-soft); }
#wtb-booking[data-layout="compact"] .wtb-day.is-selected:not(:disabled) { border-style: solid; border-color: var(--wtb-orange-text); background: var(--wtb-selected); box-shadow: inset 0 0 0 1px var(--wtb-orange-text); color: var(--wtb-ink); }
#wtb-booking[data-layout="compact"] .wtb-calendar-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 12px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-legend > span { display: inline-flex; align-items: center; gap: 6px; }
#wtb-booking[data-layout="compact"] .wtb-calendar-legend > span::before { content: ""; width: 12px; height: 12px; border: 1px solid var(--wtb-control-line); border-radius: 3px; background: var(--wtb-surface); }
#wtb-booking[data-layout="compact"] .wtb-calendar-legend > .wtb-legend-request::before { border-style: dashed; background: var(--wtb-soft); }
#wtb-booking[data-layout="compact"] .wtb-slot { min-height: 58px; border-color: var(--wtb-line); background: var(--wtb-surface); }
#wtb-booking[data-layout="compact"] .wtb-slot.is-selected { background: var(--wtb-selected); border-color: var(--wtb-orange-text); box-shadow: inset 0 0 0 1px var(--wtb-orange-text); }
#wtb-booking .wtb-day.is-holiday:disabled { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; opacity: 1; color: #803a26; background: #f4e8df; border: 1px solid #cfac99; cursor: not-allowed; }
#wtb-booking .wtb-day.is-holiday > small { font-size: 9px; font-weight: 750; line-height: 1; }
#wtb-booking .wtb-holiday-cell { position: relative; }
#wtb-booking .wtb-holiday-tooltip { display: none; position: absolute; z-index: 5; right: 0; bottom: calc(100% + 4px); width: max-content; max-width: 230px; padding: 8px 10px; border-radius: 6px; background: var(--wtb-ink); color: #fff; font-size: 12px; line-height: 1.4; font-weight: 400; text-align: left; }
#wtb-booking .wtb-holiday-cell:hover .wtb-holiday-tooltip, #wtb-booking .wtb-holiday-cell:focus .wtb-holiday-tooltip { display: block; }
#wtb-booking .wtb-holiday-cell:focus-visible { outline: 2px solid var(--wtb-accent); outline-offset: 2px; }
#wtb-booking .wtb-holidays { margin: 12px 0 0; padding: 11px 13px; border-radius: 8px; background: var(--wtb-soft); color: var(--wtb-muted); font-size: 12px; line-height: 1.6; }
#wtb-booking .wtb-holidays p { margin: 0; font-size: inherit; }
#wtb-booking .wtb-holidays ul { margin: 5px 0 0; padding-left: 18px; }
#wtb-booking .wtb-holidays li { margin: 2px 0; padding: 0; }
#wtb-booking[data-layout="compact"] .wtb-field > label { font-size: 14px; font-weight: 650; }
#wtb-booking[data-layout="compact"] .wtb-review-block { background: var(--wtb-surface); border-color: var(--wtb-line); }
@container wtbBooking (min-width: 700px) {
  #wtb-booking[data-layout="compact"] .wtb-app { padding: 28px; }
  #wtb-booking[data-layout="compact"] .wtb-type-option { padding: 16px 14px; gap: 9px 10px; grid-template-rows: 1fr auto; align-content: stretch; }
  #wtb-booking[data-layout="compact"] .wtb-duration { align-self: end; }
  #wtb-booking[data-layout="compact"] .wtb-type-description { font-size: 13px; line-height: 1.55; }
  #wtb-booking[data-layout="compact"] .wtb-compact-summary { margin-bottom: 18px; }
}
@container wtbBooking (max-width: 699px) {
  #wtb-booking[data-layout="compact"] .wtb-app { padding: 20px; }
  #wtb-booking[data-layout="compact"] .wtb-progress { margin-bottom: 20px; }
  #wtb-booking[data-layout="compact"] .wtb-progress button { flex-direction: column; align-items: flex-start; gap: 5px; font-size: 12px; }
  #wtb-booking[data-layout="compact"] .wtb-form > h3 { font-size: 23px; }
  #wtb-booking[data-layout="compact"] .wtb-section-copy { font-size: 14px; }
  #wtb-booking[data-layout="compact"] .wtb-type-option { min-height: 68px; padding: 12px; }
  #wtb-booking[data-layout="compact"] .wtb-step-guidance { font-size: 12px; }
}
@container wtbBooking (max-width: 359px) {
  #wtb-booking[data-layout="compact"] .wtb-app { padding: 16px; }
  #wtb-booking[data-layout="compact"] .wtb-progress button { font-size: 11px; }
  #wtb-booking[data-layout="compact"] .wtb-type-option { min-height: 64px; }
}
