/* Landie's shipped theme owns typography, colours, spacing, grid and buttons.
   These adapters cover navigation, accessibility, the popup and system dark mode. */
html { overflow-wrap:anywhere; }
:focus-visible,.btn:focus-visible { outline:3px solid #111b47; outline-offset:4px; }
.skip-link { position:absolute; top:-6rem; left:1rem; z-index:1100; }
.skip-link:focus { top:1rem; }
.menu-toggle { display:none; }
.hero-background { background-image:url("../vendor/landie/hero-background.png"); background-position:right top; background-size:contain; }
.booking-actions > button,.booking-actions > .booking-trigger { font:inherit; border-radius:.125rem; padding:.5rem 1.5rem; background-image:var(--bs-gradient); height:auto; max-width:100%; white-space:normal; }
.booking-dialog { padding:0; border:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; background:transparent; }
.booking-dialog::backdrop { background:transparent; }
.booking-dialog iframe { background-color:#fff; }
@media (max-width:767.98px) {
  .booking-dialog .booking-overlay { padding:72px 8px 8px; }
  .booking-dialog .booking-close { right:8px; }
  .js .menu-toggle { display:block; }
  .site-navigation { width:100%; flex-direction:column; }
  .js .site-navigation { display:none; }
  .js .site-navigation.is-open { display:flex; }
  .site-navigation .nav-link { padding-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*::before,*::after { transition:none!important; animation:none!important; } }

/* AIC-43: colour-only overrides; upstream Landie and light mode stay intact.
   Google's cross-origin calendar retains its own appearance. */
@media (prefers-color-scheme:dark) {
  html { color-scheme:dark; background:#10162b; }
  body { background:#10162b; color:#d6dbee; }
  .bg-100 { background-color:#171f38!important; }
  .bg-200 { background-color:#202b49!important; }
  .hero-background { opacity:.12; }
  h1,h2,h3,h4,h5,h6,.h5 { color:#f0f3ff; }
  .text-muted { color:#bac7e8!important; }
  a,.navbar-light .navbar-brand,.nav-link { color:#b9c8ff; }
  a:hover,a:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus,.nav-link:hover,.nav-link:focus { color:#fff; }
  :focus-visible,.btn:focus-visible { outline-color:#f2cd74; }
  .btn-primary,.booking-actions > button { color:#10162b!important; background-color:#bdcaff!important; border-color:#bdcaff; background-image:none; }
  .btn-primary:hover,.btn-primary:focus,.booking-actions > button:hover,.booking-actions > button:focus { color:#10162b!important; background-color:#e2e8ff!important; border-color:#e2e8ff; }
  .btn-outline-primary { color:#bdcaff; border-color:#bdcaff; }
  .btn-outline-primary:hover,.btn-outline-primary:focus { color:#10162b; background:#bdcaff; border-color:#bdcaff; }
  .booking-dialog .booking-overlay { background-color:rgba(5,9,20,.85); }
  .booking-dialog .booking-close { color:#fff; background:#202b49; border:1px solid #bdcaff; }
}
