/* Booking only: the dock is a direct child of #yaga-home, never hero-bound.
   @scope matches the homepage's scoped cascade; IDs win inside that cascade. */
@scope (:root) {
  #yaga-home .nav {position:static!important;top:auto!important}
  #yaga-home .yaga-booking-dock {
    position:sticky;top:var(--yaga-booking-top,0px);z-index:19;
    width:min(1440px,calc(100% - 160px));margin:12px auto 0;
  }
  #yaga-home #yaga-booking {
    --booking-blue:#177bd8;--booking-ink:#20364a;--booking-border:#dce4eb;
    position:relative;width:100%;max-width:none;margin:0;box-sizing:border-box;
    padding:42px 16px 26px;min-height:181px;border:1px solid #e2eaf0;
    border-radius:16px;background:#fff;color:var(--booking-ink);
    font-family:'DM Sans',sans-serif;box-shadow:0 8px 30px #23475214;
    scroll-margin-top:var(--yaga-booking-top,101px);
  }
  #yaga-home #yaga-booking .search-fields {
    display:grid;grid-template-columns:minmax(360px,1fr) minmax(215px,.3fr) minmax(215px,.3fr) 200px;
    align-items:start;gap:16px;
  }
  #yaga-home #yaga-booking .location-cluster {
    display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr);align-items:start;gap:12px 22px;min-width:0;padding:0;border:0;
  }
  #yaga-home #yaga-booking label,
  #yaga-home #yaga-booking legend {
    font-size:12px;line-height:18px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--booking-ink);
  }
  #yaga-home #yaga-booking .location-cluster > label:first-child {min-width:0}
  #yaga-home #yaga-booking .location-cluster > label:first-child > span {display:block;margin:0 0 6px;font:inherit;color:inherit}
  #yaga-home #yaga-booking fieldset {min-width:0;border:0;padding:0;margin:0}
  #yaga-home #yaga-booking legend {float:none;width:auto;padding:0;margin:0 0 6px}
  #yaga-home #yaga-booking .location-cluster select,
  #yaga-home #yaga-booking .location-cluster input[type=text] {
    box-sizing:border-box;width:100%;height:52px;margin:0;border:1px solid var(--booking-border);
    border-radius:8px;background:#fff;color:var(--booking-ink);font-family:inherit;font-size:16px;font-weight:400;padding:0 30px 0 14px;
  }
  #yaga-home #yaga-booking .location-cluster select.yaga-control-source {
    position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;
    border:0!important;opacity:0!important;overflow:hidden;pointer-events:none;
  }
  #yaga-home #yaga-booking .yaga-location-trigger {
    display:flex;align-items:center;gap:11px;box-sizing:border-box;width:100%;height:52px;margin:0;padding:0 13px;
    border:1px solid var(--booking-border);border-radius:8px;background:#fff;color:#222b33;
    font-family:inherit;font-size:16px;font-weight:400;line-height:1.35;text-align:left;cursor:pointer;
  }
  #yaga-home #yaga-booking .yaga-location-trigger svg {width:20px;height:20px;flex:0 0 20px;color:#3e4a55}
  #yaga-home #yaga-booking .yaga-location-trigger span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #yaga-home #yaga-booking .yaga-location-trigger[aria-expanded=true],
  #yaga-home #yaga-booking .yaga-location-trigger:focus-visible {border-color:var(--booking-blue);outline:1px solid var(--booking-blue);outline-offset:0}
  #yaga-home #yaga-booking .location-cluster input[type=text] {margin-top:8px;padding-right:12px;background:#f4f9fe}
  #yaga-home #yaga-booking .return-toggle {
    display:flex;align-items:center;gap:9px;min-height:52px;margin:24px 0 0;padding:0;
    cursor:pointer;white-space:nowrap;font-size:16px;font-weight:400!important;color:#506375;
  }
  #yaga-home #yaga-booking .return-toggle input {width:17px;height:17px;margin:0;padding:0;flex-shrink:0;accent-color:var(--booking-blue)}
  #yaga-home #yaga-booking .return-location {grid-column:1/-1;margin:0;padding:0;border:0}
  #yaga-home #yaga-booking .return-location select {margin-top:6px}
  #yaga-home #yaga-booking .date-time {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.85fr);gap:0;
    position:relative;clear:both;border:1px solid var(--booking-border);border-radius:8px;background:#fff;overflow:visible;
  }
  #yaga-home #yaga-booking .date-time:focus-within {outline:2px solid #177bd84d;outline-offset:2px}
  #yaga-home #yaga-booking .yaga-control-source {
    position:absolute!important;width:1px!important;height:1px!important;opacity:0;overflow:hidden;padding:0!important;border:0!important;margin:0!important;pointer-events:none;
  }
  #yaga-home #yaga-booking .yaga-date-trigger,
  #yaga-home #yaga-booking .yaga-time-trigger {
    display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;height:50px;min-height:50px;margin:0;
    border:0;background:transparent;color:var(--booking-ink);padding:0 10px;
    font-family:inherit;font-size:16px;line-height:1.3;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;
  }
  #yaga-home #yaga-booking .yaga-date-trigger {border-radius:7px 0 0 7px;justify-content:flex-start}
  #yaga-home #yaga-booking .yaga-date-trigger svg {width:19px;height:19px;flex-shrink:0}
  #yaga-home #yaga-booking .yaga-clock {min-width:0;border-left:1px solid var(--booking-border)}
  #yaga-home #yaga-booking .yaga-time-trigger {border-radius:0 7px 7px 0}
  #yaga-home #yaga-booking .yaga-time-trigger.is-empty {font-size:10px;color:#65717f;white-space:normal}
  #yaga-home #yaga-booking .yaga-date-trigger:hover,
  #yaga-home #yaga-booking .yaga-time-trigger:hover,
  #yaga-home #yaga-booking button[aria-expanded=true] {background:#edf6ff;color:#1266b4}
  #yaga-home #yaga-booking .search-show {
    grid-column:auto;align-self:start;width:200px;min-width:0;height:52px;min-height:52px;margin:24px 0 0;
    padding:0 16px;border:0;border-radius:8px;background:var(--booking-blue);color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;
  }
  #yaga-home #yaga-booking .search-show:hover {background:#116bc0}
  #yaga-home #yaga-booking .search-show:disabled {cursor:wait;opacity:.6}
  #yaga-home #yaga-booking .search-note {margin:15px 0 0;max-width:none;font-size:12px;line-height:1.5;color:#65798a}
  #yaga-home #yaga-booking button:focus-visible,
  #yaga-home #yaga-booking select:focus-visible {outline:2px solid var(--booking-blue);outline-offset:2px}
  #yaga-home .yaga-booking-backdrop {position:fixed;inset:0;z-index:18;background:rgb(25 34 42 / 45%)}
  #yaga-home .yaga-booking-backdrop[hidden] {display:none}
  #yaga-home #yaga-booking .yaga-time-picker,
  #yaga-home #yaga-booking .yaga-calendar,
  #yaga-home #yaga-booking .yaga-location-picker {
    position:absolute;z-index:41;box-sizing:border-box;padding:18px;border:1px solid var(--booking-border);
    border-radius:12px;background:#fff;color:var(--booking-ink);box-shadow:0 16px 48px #20364d26;overflow:auto;overscroll-behavior:contain;
  }
  #yaga-home #yaga-booking .yaga-calendar {width:1140px;max-width:calc(100vw - 32px);padding:24px 16px 23px;border-radius:9px;color:#191919}
  #yaga-home #yaga-booking .yaga-calendar[hidden],
  #yaga-home #yaga-booking .yaga-time-picker[hidden],
  #yaga-home #yaga-booking .yaga-location-picker[hidden] {display:none}
  #yaga-home #yaga-booking .yaga-calendar button,
  #yaga-home #yaga-booking .yaga-time-picker button,
  #yaga-home #yaga-booking .yaga-location-picker button {box-sizing:border-box;font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none}
  #yaga-home #yaga-booking .yaga-location-picker {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:880px;height:532px;max-width:calc(100vw - 16px);padding:0;border-radius:9px;overflow:hidden}
  #yaga-home #yaga-booking .yaga-location-options {min-width:0;height:100%;overflow:auto;overscroll-behavior:contain;background:#fff;padding:0}
  #yaga-home #yaga-booking .yaga-location-option {display:flex;align-items:center;gap:13px;width:100%;min-height:52px;padding:10px 15px;border:0;border-bottom:1px solid #edf0f2;border-radius:0;background:#fff;color:#20272d;text-align:left;font-family:inherit;font-size:16px;font-weight:400;line-height:1.4}
  #yaga-home #yaga-booking .yaga-location-option svg {width:20px;height:20px;flex:0 0 20px;color:#313b43}
  #yaga-home #yaga-booking .yaga-location-option span {min-width:0}
  #yaga-home #yaga-booking .yaga-location-option:hover,
  #yaga-home #yaga-booking .yaga-location-option[aria-selected=true] {background:#f3f4f5;color:#18212a}
  #yaga-home #yaga-booking .yaga-location-option:focus-visible {position:relative;z-index:1;background:#edf5fc;outline:2px solid var(--booking-blue);outline-offset:-2px}
  #yaga-home #yaga-booking .yaga-location-detail {min-width:0;padding:24px 22px;background:#f2f3f5;color:#1b2228}
  #yaga-home #yaga-booking .yaga-location-detail-icon {display:block;width:28px;height:28px;margin-bottom:12px;color:#222c35}
  #yaga-home #yaga-booking .yaga-location-detail-title {display:block;margin:0 0 8px;font-size:20px;line-height:1.3;font-weight:700}
  #yaga-home #yaga-booking .yaga-location-detail-copy {margin:0;color:#626c75;font-size:13px;line-height:1.6;font-weight:400}
  #yaga-home #yaga-booking .yaga-calendar-status,
  #yaga-home #yaga-booking .yaga-calendar-help {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0;border:0;white-space:nowrap}
  #yaga-home #yaga-booking .yaga-month-navigation {position:absolute;top:20px;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
  #yaga-home #yaga-booking .yaga-month-navigation button {pointer-events:auto;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--booking-ink);font-size:23px;line-height:1}
  #yaga-home #yaga-booking .yaga-month-navigation button:disabled {opacity:.3;cursor:default}
  #yaga-home #yaga-booking .yaga-months {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
  #yaga-home #yaga-booking .yaga-month-title {text-align:center;font-size:26px;font-weight:700;line-height:32px;margin-bottom:14px}
  #yaga-home #yaga-booking .yaga-weekdays,
  #yaga-home #yaga-booking .yaga-calendar-week {display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
  #yaga-home #yaga-booking .yaga-weekdays {border-bottom:1px solid #f0f2f4;margin-bottom:4px}
  #yaga-home #yaga-booking .yaga-weekdays span {text-align:center;font-size:14px;line-height:20px;text-transform:uppercase;font-weight:400;color:#777;padding-bottom:14px}
  #yaga-home #yaga-booking .yaga-calendar-day {width:100%;height:48px;margin:2px 0;padding:0;border:0;border-radius:0;background:transparent;color:#191919;font-size:14px;font-weight:600}
  #yaga-home #yaga-booking .yaga-calendar-day:disabled {color:#d2d9df;cursor:default}
  #yaga-home #yaga-booking .yaga-calendar-day.is-range {background:#f1f2f3;color:#17212b}
  #yaga-home #yaga-booking .yaga-calendar-day.is-selected {background:#17191b;color:#fff;border-radius:6px;font-weight:700}
  #yaga-home #yaga-booking .yaga-calendar-day[aria-current=date]:not(.is-selected) {color:#f0643a;text-decoration:none}
  #yaga-home #yaga-booking .yaga-calendar-day:hover:not(:disabled):not(.is-selected) {background:#e9ebed;border-radius:6px}
  #yaga-home #yaga-booking .yaga-time-picker {display:flex;flex-direction:column;width:376px;height:528px;padding:0;border-radius:9px;overflow:hidden}
  #yaga-home #yaga-booking .yaga-time-heading {position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-height:64px;padding:18px 42px;border-bottom:1px solid #edf0f3}
  #yaga-home #yaga-booking .yaga-time-heading strong {font-size:16px;font-weight:700;line-height:26px}
  #yaga-home #yaga-booking .yaga-time-close {position:absolute;right:8px;top:15px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:5px;background:transparent;color:#72808b;font-size:24px;line-height:1}
  #yaga-home #yaga-booking .yaga-time-help {flex-shrink:0;margin:0;padding:16px 16px 8px;font-size:14px;line-height:22px;color:#65798a}
  #yaga-home #yaga-booking .yaga-time-list {position:relative;flex:1;min-height:0;padding:0 16px 16px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable;scrollbar-color:#c2cbd2 #f8fafb;scroll-padding-block:16px}
  #yaga-home #yaga-booking .yaga-time-group {margin:0;padding:0;border:0;background:transparent}
  #yaga-home #yaga-booking .yaga-time-label {position:sticky;top:0;z-index:1;display:block;margin:0;padding:12px 0 14px;background:#fff;font-size:14px;font-weight:700;line-height:22px;letter-spacing:0;text-transform:none;color:var(--booking-ink)}
  #yaga-home #yaga-booking .yaga-time-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #yaga-home #yaga-booking .yaga-time-option {display:block;min-width:0;width:100%;height:52px;min-height:52px;margin:0;padding:0 6px;line-height:52px;border:0;border-radius:10px;background:#f2f4f6;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--booking-ink)}
  #yaga-home #yaga-booking .yaga-time-option:hover {background:#e3edf6;color:#1266b4}
  #yaga-home #yaga-booking .yaga-time-option[aria-pressed=true] {background:var(--booking-blue);color:#fff;font-weight:700}
  #yaga-home .yaga-booking-summary {display:none}
  #yaga-home .yaga-booking-dock.is-scrolled #yaga-booking {border-top-left-radius:0;border-top-right-radius:0}
  @media(min-width:768px) {
    #yaga-home .yaga-booking-dock.is-scrolled #yaga-booking {padding:12px 16px;min-height:0}
    #yaga-home .yaga-booking-dock.is-scrolled #yaga-booking .search-note {display:none}
  }
  @media(max-width:1240px) and (min-width:768px) {
    #yaga-home .yaga-booking-dock {width:min(1440px,calc(100% - 160px))}
    #yaga-home #yaga-booking {padding:24px 16px;min-height:0}
    #yaga-home #yaga-booking .search-fields {grid-template-columns:minmax(220px,1fr) minmax(174px,.7fr) minmax(174px,.7fr) 140px;gap:10px}
    #yaga-home #yaga-booking .location-cluster {grid-template-columns:1fr;gap:8px}
    #yaga-home #yaga-booking .return-toggle {margin:0;min-height:24px;font-size:16px}
    #yaga-home #yaga-booking .search-show {width:140px}
    #yaga-home #yaga-booking .date-time {grid-template-columns:minmax(0,1fr) 76px}
    #yaga-home #yaga-booking .yaga-date-trigger,
    #yaga-home #yaga-booking .yaga-time-trigger {font-size:16px;padding-inline:7px;gap:5px}
  }
  @media(max-width:1000px) and (min-width:768px) {
    #yaga-home #yaga-booking .search-fields {grid-template-columns:minmax(0,1fr) minmax(0,1fr) 140px}
    #yaga-home #yaga-booking .location-cluster {grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:12px}
    #yaga-home #yaga-booking .return-toggle {margin-top:24px;min-height:52px}
  }
  @media(max-width:999px) and (min-width:768px) {
    #yaga-home #yaga-booking .search-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
    #yaga-home #yaga-booking .location-cluster {grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
    #yaga-home #yaga-booking .return-toggle {align-self:end}
    #yaga-home #yaga-booking .search-show {grid-column:1/-1;width:100%;margin:0}
    #yaga-home #yaga-booking .yaga-months {gap:20px}
    #yaga-home #yaga-booking .yaga-month-title {font-size:20px;line-height:28px}
  }
  @media(max-width:767px) {
    #yaga-home .yaga-booking-dock {width:calc(100% - 24px);margin-top:10px;top:var(--yaga-booking-top,82px)}
    #yaga-home #yaga-booking {padding:12px;min-height:0;border-radius:12px}
    #yaga-home #yaga-booking .search-fields {grid-template-columns:1fr 1fr;gap:10px 8px}
    #yaga-home #yaga-booking .location-cluster {grid-column:1/-1;grid-template-columns:1fr;gap:6px}
    #yaga-home #yaga-booking .location-cluster select,
    #yaga-home #yaga-booking .yaga-location-trigger {height:44px;font-size:16px}
    #yaga-home #yaga-booking label,#yaga-home #yaga-booking legend {font-size:12px;line-height:18px}
    #yaga-home #yaga-booking .return-toggle {margin:0;min-height:24px;font-size:14px}
    #yaga-home #yaga-booking .date-time {grid-template-columns:minmax(0,1fr) minmax(56px,.8fr)}
    #yaga-home #yaga-booking .yaga-date-trigger,
    #yaga-home #yaga-booking .yaga-time-trigger {height:42px;min-height:42px;font-size:16px;padding:0 6px;gap:5px}
    #yaga-home #yaga-booking .yaga-date-trigger svg {width:15px;height:15px}
    #yaga-home #yaga-booking .search-show {grid-column:1/-1;width:100%;height:44px;min-height:44px;margin:0;font-size:16px}
    #yaga-home #yaga-booking .search-note {margin-top:9px;font-size:12px}
    #yaga-home #yaga-booking .yaga-calendar {width:330px;padding:12px}
    #yaga-home #yaga-booking .yaga-month-navigation {top:10px}
    #yaga-home #yaga-booking .yaga-months {grid-template-columns:1fr}
    #yaga-home #yaga-booking .yaga-month-title {font-size:20px;line-height:26px}
    #yaga-home #yaga-booking .yaga-calendar-day {height:40px}
    #yaga-home .yaga-booking-summary {align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;color:#20364a;font-family:'DM Sans',sans-serif;text-align:left;cursor:pointer;padding:0 0 10px;font-size:12px;line-height:1.5}
    #yaga-home .yaga-booking-summary strong {display:block;font-weight:650}
    #yaga-home .yaga-booking-summary .yaga-booking-edit {flex-shrink:0;padding:8px 12px;border-radius:6px;background:#e6f2ff;color:#1266b4;font-weight:700}
    #yaga-home .yaga-booking-dock.is-scrolled .yaga-booking-summary {display:flex}
    #yaga-home .yaga-booking-dock.is-compact #yaga-booking {padding:12px}
    #yaga-home .yaga-booking-dock.is-compact .yaga-booking-summary {padding-bottom:0}
    #yaga-home .yaga-booking-dock.is-compact #yaga-booking .search-fields,
    #yaga-home .yaga-booking-dock.is-compact #yaga-booking .search-note {display:none}
    #yaga-home .yaga-booking-dock:not(.is-compact) #yaga-booking {max-height:calc(100dvh - var(--yaga-booking-top,82px) - 12px);overflow:auto}
    /* Dropdowns are fixed on mobile so the expanded form cannot clip them. */
    #yaga-home #yaga-booking .yaga-calendar,
    #yaga-home #yaga-booking .yaga-time-picker,
    #yaga-home #yaga-booking .yaga-location-picker {position:fixed}
    #yaga-home #yaga-booking .yaga-location-picker {grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;width:calc(100vw - 24px);height:532px}
    #yaga-home #yaga-booking .yaga-location-detail {padding:12px 14px;border-top:1px solid #e0e3e6}
    #yaga-home #yaga-booking .yaga-location-detail-icon {display:none}
    #yaga-home #yaga-booking .yaga-location-detail-title {font-size:16px;margin-bottom:4px}
    #yaga-home #yaga-booking .yaga-location-detail-copy {font-size:11px}
    #yaga-home #yaga-booking .yaga-location-option {min-height:46px;font-size:15px}
  }
}
