/* Responsive booking and keyboard states. Existing cream and Black Glass palettes remain. */
#info-dialog:has(.booking-shell){overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 24px)!important}
#info-dialog .booking-grid{min-width:0}
#info-dialog .booking-grid>*{min-width:0}
#info-dialog .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#info-dialog .booking-fields .field{min-width:0}
#info-dialog .booking-fields label,#info-dialog .booking-kicker,#info-dialog .calendar-month,#info-dialog .calendar-weekdays span,#info-dialog .calendar-legend,#info-dialog .booking-status,#info-dialog .booking-back{font-size:11px!important;line-height:1.6!important;color:#5c5549!important;letter-spacing:.75px!important}
#info-dialog .calendar-note{font-size:13px!important;line-height:1.8!important;color:#595448!important}
#info-dialog .booking-help,#info-dialog .booking-disclaimer,#info-dialog .booking-selection-summary,#info-dialog .time-slot small{font-size:11px!important;line-height:1.6!important;color:#5c5549!important}
#info-dialog .booking-fields input,#info-dialog .booking-fields textarea,#info-dialog .studio-select-trigger{font-size:14px!important;color:#302d27!important;min-height:44px}
#info-dialog .booking-fields input::placeholder,#info-dialog .booking-fields textarea::placeholder{color:#686154!important;opacity:1}
#info-dialog .calendar-day{font-size:16px!important;min-height:36px}
#info-dialog .calendar-day.selected,#info-dialog .time-slot.selected{color:#fff!important}
#info-dialog .time-slot{font-size:13px!important;min-height:44px}
#info-dialog .time-slot.past{opacity:.65}
#info-dialog .booking-error{font-size:13px!important;line-height:1.6!important;color:#873a2e!important;margin-top:12px}
#info-dialog .booking-error[role="status"]{color:#3f5a43!important}
#info-dialog .calendar-nav button{min-width:40px;min-height:40px}
#info-dialog:has(.booking-shell) .panel-heading .dialog-close{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.still-theme #exhibition-panel .programme-copy em,.still-theme #visit-panel .visit-nav-copy small{color:#625c51!important}
.still-theme #exhibition-panel .programme-link:hover .programme-copy em,.still-theme #exhibition-panel .programme-link[aria-current="true"] .programme-copy em{color:#514b42!important}
#info-dialog .booking-fields input:focus-visible,#info-dialog .booking-fields textarea:focus-visible,#info-dialog .studio-select-trigger:focus-visible{outline:2px solid #998360!important;outline-offset:3px}
@media(max-width:1000px){
  #info-dialog:has(.booking-shell){width:calc(100vw - 24px)!important;max-width:none!important;padding:24px!important}
  #info-dialog .booking-grid{grid-template-columns:minmax(0,1fr)!important}
  #info-dialog .calendar-panel{padding:20px 0 26px!important;border-right:0!important}
  #info-dialog .booking-panel{padding:24px 20px!important;border-left:0!important;border-top:1px solid #c9bea8!important}
  #info-dialog .calendar-days,#info-dialog .calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  #info-dialog .calendar-day{height:auto!important;aspect-ratio:auto;min-height:40px}
  #info-dialog .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #info-dialog .calendar-note{max-width:580px}
  #info-dialog .booking-submit-row{flex-wrap:wrap}
}
@media(max-width:520px){
  #info-dialog:has(.booking-shell){width:calc(100vw - 16px)!important;padding:18px 16px!important}
  #info-dialog:has(.booking-shell) h2{font-size:42px!important;line-height:1.02!important;letter-spacing:-1px!important}
  #info-dialog .booking-panel{padding:22px 14px!important}
  #info-dialog .booking-fields{grid-template-columns:minmax(0,1fr)!important}
  #info-dialog .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #info-dialog .booking-fields input,#info-dialog .booking-fields textarea,#info-dialog .studio-select-trigger{font-size:16px!important}
  #info-dialog .calendar-weekdays span{font-size:10px!important;letter-spacing:0!important}
  #info-dialog .booking-date-label{font-size:25px!important}
  #info-dialog .booking-confirm-actions{flex-direction:column;align-items:stretch}
  #info-dialog .booking-confirm-actions button{white-space:normal;justify-content:center;min-height:44px}
}
#info-dialog .calendar-day>span{font-size:inherit!important}
#info-dialog .booking-submit{font-size:11px!important;min-height:46px;letter-spacing:1px!important}
#info-dialog .booking-footer-row{display:flex!important;flex-wrap:wrap;align-items:flex-start;gap:16px 24px;margin-top:18px}
#info-dialog .booking-footer-row .booking-disclaimer{display:block!important;margin:0!important;flex:1 1 300px}
#info-dialog .booking-reset{display:inline-flex!important;min-height:44px;align-items:center;margin:0;font-size:11px!important;color:#5c5549!important}
#info-dialog:has(.booking-shell) .panel-heading{position:sticky;top:0;z-index:25;background:#f2ede3!important;min-height:44px}
#info-dialog .calendar-day.selected,#info-dialog .calendar-day.selected:hover,#info-dialog .time-slot.selected,#info-dialog .time-slot.selected:hover,#info-dialog .time-slot.selected:focus{background:#292826!important;border-color:#292826!important;color:#fff!important}
#info-dialog .calendar-day.selected>span,#info-dialog .time-slot.selected>span{color:inherit!important}
#info-dialog:has(.booking-shell) .panel-heading{box-shadow:0 -32px 0 #f2ede3,0 12px 0 #f2ede3}

/* Playback freezes decorations as well as the renderer and soundtrack. */
#depth-view.depth-showreel-paused *,
#depth-view.depth-showreel-paused *::before,
#depth-view.depth-showreel-paused *::after{animation-play-state:paused!important}
#depth-view.depth-showreel-paused .depth-stage::before,
#depth-view.depth-showreel-paused .depth-stage::after,
#depth-view.depth-showreel-paused .depth-showreel-card,
#depth-view.depth-showreel-paused .depth-showreel-roll,
#depth-view.depth-showreel-paused .depth-showreel-copyright{transition:none!important}

/* Credits are evaluated from the same playhead for playback, pause and seek. */
#depth-view.depth-showreel-clock-credits .depth-showreel-card{opacity:var(--showreel-card-opacity,0)!important;transition:none!important}
#depth-view.depth-showreel-clock-credits .depth-showreel-roll{opacity:var(--showreel-roll-opacity,0)!important;transition:none!important}
#depth-view.depth-showreel-clock-credits .depth-showreel-copyright{opacity:var(--showreel-copyright-opacity,0)!important;transition:none!important}

/* The visitor's Motion preference also covers the presentation decorations. */
html.motion-disabled{scroll-behavior:auto}
html.motion-disabled *,html.motion-disabled *::before,html.motion-disabled *::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html.motion-disabled #depth-view.depth-showreel-glass-tunnel .depth-stage::before,
html.motion-disabled #depth-view.depth-showreel-glass-tunnel.showreel-glass-impact .depth-stage::after,
html.motion-disabled #depth-view.depth-showreel-glass-tunnel.showreel-glass-impact .depth-glass-pulse::before,
html.motion-disabled #depth-view.depth-showreel-glass-tunnel.showreel-glass-impact .depth-glass-pulse::after,
html.motion-disabled #depth-view.depth-showreel-glass-tunnel.showreel-glass-impact .depth-glass-pulse-diagonal,
html.motion-disabled #depth-view.depth-showreel-glass-tunnel.showreel-glass-impact .depth-glass-pulse-afterglow,
html.motion-disabled #depth-view.depth-showreel-active .depth-showreel-grain,
html.motion-disabled #depth-view.depth-showreel-active.showreel-cut .depth-stage::after,
html.motion-disabled #depth-view.depth-showreel-active.depth-showreel-fx-mode .depth-stage::before,
html.motion-disabled #depth-view.depth-showreel-final.showreel-final-end .depth-showreel-title,
html.motion-disabled #depth-view .depth-showreel-overlay.is-deep-intro :is(.depth-showreel-title,.depth-showreel-kicker,.depth-showreel-meta,.depth-showreel-foot){animation:none!important}
html.motion-disabled #depth-view .depth-showreel-overlay.is-deep-intro :is(.depth-showreel-title,.depth-showreel-kicker,.depth-showreel-meta,.depth-showreel-foot){opacity:1;transform:none;filter:none}
@media(prefers-reduced-motion:reduce){
  html #depth-view.depth-showreel-glass-tunnel .depth-stage::before{animation:none!important}
}
