/* Theme switch and color-mode overrides for THE EAGLE. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --eagle-primary: #d7b84f;
  --eagle-primary-hover: #ead16b;
  --eagle-heading: #f5f2ea;
  --eagle-cta: #d7b84f;
  --eagle-cta-hover: #ead16b;
  --eagle-bg: #20221f;
  --eagle-surface: #2c2f30;
  --eagle-surface-muted: #373b3d;
  --eagle-text: #f5f2ea;
  --eagle-text-muted: #c8c6bd;
  --eagle-text-light: #f5f2ea;
  --eagle-footer: #1b1d1c;
  --eagle-border: #4c4e47;
  --eagle-shadow: 0 10px 28px rgb(0 0 0 / 22%);
}

:root[data-theme="light"] {
  color-scheme: light;
  --eagle-primary: #9a7d2e;
  --eagle-primary-hover: #7e6423;
  --eagle-heading: #343629;
  --eagle-cta: #b99a3b;
  --eagle-cta-hover: #a1842e;
  --eagle-bg: #f8f7f2;
  --eagle-surface: #ffffff;
  --eagle-surface-muted: #efede5;
  --eagle-text: #30312c;
  --eagle-text-muted: #64645c;
  --eagle-text-light: #f5f2ea;
  --eagle-footer: #292c2e;
  --eagle-border: #dedbd1;
  --eagle-shadow: 0 10px 26px rgb(44 39 22 / 9%);
}

/* The adjacent two-choice appearance control follows the language pill. */
header .theme-switch {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid rgb(215 184 79 / 42%);
  border-radius: 999px;
  background: #303321;
  box-shadow: inset 0 1px 3px rgb(0 0 0 / 22%);
}
header .theme-switch button {
  display: inline-flex;
  min-width: 62px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #f5f2ea;
  font: 700 .65rem/1 var(--font-sans, Arial, sans-serif);
  letter-spacing: .045em;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
header .theme-switch button i { color: #ead16b; font-size: .74rem; }
header .theme-switch button:hover { color: #fff1a8; transform: translateY(-1px); }
header .theme-switch button.is-active {
  background: #d7b84f;
  color: #292b21;
  box-shadow: 0 2px 9px rgb(215 184 79 / 24%);
}
header .theme-switch button.is-active i { color: #292b21; }
header .theme-switch button:focus-visible {
  outline: 2px solid #fff1a8;
  outline-offset: 2px;
}

@media (max-width: 1360px) and (min-width: 561px) {
  header .theme-switch button { min-width: 34px; width: 34px; padding: 5px; }
  header .theme-switch button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 560px) {
  header .theme-switch { gap: 1px; padding: 2px; }
  header .theme-switch button { min-width: 34px; width: 34px; min-height: 32px; padding: 5px; }
  header .theme-switch button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 380px) {
  header .theme-switch button { min-width: 30px; width: 30px; }
  header .theme-switch button i { font-size: .68rem; }
}
@media (max-width: 360px) {
  header .header-actions { gap: 4px; }
  header #language-switch button { min-width: 27px; padding-inline: 3px; }
  header .theme-switch { gap: 0; }
  header .theme-switch button { min-width: 24px; width: 24px; min-height: 30px; padding: 4px; }
  header .theme-switch button i { font-size: .62rem; }
  header #menu-toggle { min-width: 34px; min-height: 34px; }
  body:has(.page-view[data-page="home"]:not([hidden])) header .header-actions { gap: 4px; }
  body:has(.page-view[data-page="home"]:not([hidden])) header #language-switch button { min-width: 27px; padding-inline: 3px; }
  body:has(.page-view[data-page="home"]:not([hidden])) header #menu-toggle { min-width: 34px; min-height: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  header .theme-switch button { transition: none; }
}

/* Dark mode keeps the established Home palette and gives the other routes a
   matching olive, charcoal and gold surface system. */
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) {
  background: var(--eagle-bg);
  color: var(--eagle-text);
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) > header,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))).is-scrolled > header {
  background: #353923;
  color: #f5f2ea;
  border-color: rgb(215 184 79 / 28%);
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .brand,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .brand span,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation a,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation button { color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation a:hover,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation a[aria-current="page"],
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation button:hover { color: #fff1a8; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation.open {
  background: #353923;
  color: #f5f2ea;
  border-color: rgb(215 184 79 / 28%);
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation.open a,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation.open button { color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch {
  border-color: #71623a;
  background: #303321;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch button { color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch button.is-active { background: #d7b84f; color: #292b21; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #menu-toggle { color: #fff1a8; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-heading { color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-heading h1,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(h2, h3, h4) { color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(h1, h2, h3, h4) em { color: #fff1a8; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .studio-overview,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .gallery-section,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .practical,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="amenities"] .amenities,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="location"] .location,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="book"] .book {
  background-color: #242724;
  color: #f5f2ea;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .studio-overview > div,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .location-copy,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .amenity-grid > div,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .faq details,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #privacy {
  border-color: #4b4d45;
  background-color: #2c2f30;
  color: #f5f2ea;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .studio-card,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .studio-card > div,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .review-source,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .guest-quote,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .booking-score-breakdown {
  border-color: #4b4d45;
  background-color: #2c2f30;
  color: #f5f2ea;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(p, li, .small-note, .section-heading > p, .intro-image figcaption) { color: #c8c6bd; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view .eyebrow { color: #ead16b; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(.chips span, .location-list, .route-list, .nearby-estimates, .faq details) { border-color: #4b4d45; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(input, select, textarea) {
  border-color: #62645c;
  background: #202220;
  color: #f5f2ea;
  color-scheme: dark;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(.button, button.button, .button.secondary) {
  border-color: #d7b84f;
  background-color: #d7b84f;
  color: #292b21;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view .button.secondary { background: transparent; color: #fff1a8; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) footer.site-footer { background: #202220; color: #f5f2ea; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) footer :is(a, button, .brand span) { color: #f5f2ea; }

/* Warm light surfaces. The photographic hero, maps and charcoal features stay
   intentionally dark, with no image filters applied. */
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) {
  --home-olive: #fbfaf6;
  --home-panel: #ffffff;
  --home-slate: #505659;
  --home-gold: #b99a3b;
  --home-gold-light: #927324;
  --home-cream: #30312c;
  --home-muted: #62635c;
  --home-border: #dfdbcf;
  background: #fbfaf6;
  color: #30312c;
  color-scheme: light;
}
:root[data-theme="light"]:has(.page-view[data-page="home"]:not([hidden])) { background: #fbfaf6; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) > header,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])).is-scrolled > header {
  border-bottom-color: #e2ddcf;
  background: #fbfaf6;
  color: #30312c;
  box-shadow: 0 5px 18px rgb(49 45 31 / 8%);
}
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .brand,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .brand span,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation a,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation button { color: #343629; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation a[aria-current="page"],
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation a:hover,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation button:hover { color: #8c7024; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation.open { background: #fbfaf6; color: #30312c; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation.open a,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header nav#site-navigation.open button { color: #30312c; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header #language-switch,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .theme-switch { border-color: #d7ceb4; background: #f1eee5; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header #language-switch button,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .theme-switch button { color: #37382e; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header #language-switch button.is-active,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .theme-switch button.is-active { background: #c1a444; color: #25251f; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .theme-switch button i { color: #826a29; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header .theme-switch button.is-active i { color: #25251f; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) header #menu-toggle { color: #806921; }

/* Protect white hero copy and the gold highlights over the unchanged photo. */
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) .page-view[data-page="home"] .hero {
  --home-cream: #ffffff;
  --home-gold-light: #fff1a8;
  --home-muted: #e3e0d7;
  color: #ffffff;
}
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) .page-view[data-page="home"] .hero h1 { color: #ffffff; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) .page-view[data-page="home"] .hero h1 em,
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) .page-view[data-page="home"] .hero .eyebrow { color: #fff1a8; }

/* Retain the slate quick-facts ribbon and olive note strip. */
:root[data-theme="light"] .page-view[data-page="home"] .facts.review-facts {
  --home-cream: #f5f2ea;
  --home-muted: #dedbd2;
  --home-gold: #d7b84f;
  --home-gold-light: #fff1a8;
  background: #505659;
  color: #f5f2ea;
}
:root[data-theme="light"] .page-view[data-page="home"] .facts-note { background: #353923; color: #dedbd2; }

/* Welcome and apartment sections become airy, readable surfaces. */
:root[data-theme="light"] .page-view[data-page="home"] .intro,
:root[data-theme="light"] .page-view[data-page="home"] .home-studio {
  background: #fbfaf6;
  color: #30312c;
}
:root[data-theme="light"] .page-view[data-page="home"] .intro-copy h2,
:root[data-theme="light"] .page-view[data-page="home"] .home-studio .section-heading h2,
:root[data-theme="light"] .page-view[data-page="home"] .studio-card h3 { color: #343629; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-copy h2 em,
:root[data-theme="light"] .page-view[data-page="home"] .home-studio .section-heading h2 em { color: #927324; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-copy .eyebrow,
:root[data-theme="light"] .page-view[data-page="home"] .home-studio .section-heading .eyebrow,
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .eyebrow { color: #8d7127; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-copy > p:not(.eyebrow),
:root[data-theme="light"] .page-view[data-page="home"] .studio-card p:not(.eyebrow) { color: #5b5c55; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-image > img { border-color: #e8e4d8; box-shadow: 0 20px 50px rgb(63 54 31 / 14%); }
:root[data-theme="light"] .page-view[data-page="home"] .intro-image figcaption { color: #6a6b63; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-image .seal { background: #ffffff; color: #8c7024; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-image .booking-seal strong { color: #b49437; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-image .booking-seal small { color: #66655d; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-highlight {
  border-color: #e6e1d4;
  background: #ffffff;
  color: #30312c;
  box-shadow: 0 7px 20px rgb(54 48 29 / 6%);
}
:root[data-theme="light"] .page-view[data-page="home"] .intro-highlight strong { color: #343629; }
:root[data-theme="light"] .page-view[data-page="home"] .intro-highlight small { color: #696961; }
:root[data-theme="light"] .page-view[data-page="home"] .studio-card,
:root[data-theme="light"] .page-view[data-page="home"] .studio-card > div {
  border-color: #e5e1d7;
  background: #ffffff;
  color: #30312c;
  box-shadow: 0 12px 30px rgb(48 43 29 / 8%);
}
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .studio-specs > span,
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .chips span {
  border-color: #e4dbc1;
  background: #f6f2e8;
  color: #51472e;
}
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .studio-amenities > span { border-color: #e7e2d7; background: #f7f6f1; color: #3b3c36; }
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .studio-specs i,
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .studio-amenities i { color: #997a28; }
:root[data-theme="light"] .page-view[data-page="home"] .studio-card .button { background: #c1a444; color: #25251f; }

/* As in the supplied light reference, guest reviews and the footer remain charcoal. */
:root[data-theme="light"] .page-view[data-page="home"] .guest-reviews {
  --home-panel: #3e4346;
  --home-cream: #f5f2ea;
  --home-muted: #dedbd2;
  --home-border: #716744;
  --home-gold: #d7b84f;
  --home-gold-light: #fff1a8;
  background: #505659;
  color: #f5f2ea;
}
:root[data-theme="light"] .page-view[data-page="home"] .home-location {
  --home-cream: #f5f2ea;
  --home-muted: #dedbd2;
  --home-gold: #d7b84f;
  --home-gold-light: #fff1a8;
  --home-border: #5b573c;
}
:root[data-theme="light"] .page-view[data-page="home"] .home-faq {
  --home-olive: #f1eee5;
  --home-panel: #ffffff;
  --home-cream: #30312c;
  --home-muted: #62635c;
  --home-gold: #aa8b32;
  --home-gold-light: #876d25;
  background: #f1eee5;
  color: #30312c;
}
:root[data-theme="light"] .page-view[data-page="home"] .home-faq .home-faq-title,
:root[data-theme="light"] .page-view[data-page="home"] .home-faq h2 { color: #343629; }
:root[data-theme="light"] .page-view[data-page="home"] .home-faq details { border-color: #ded9cc; background: #ffffff; }
:root[data-theme="light"] .page-view[data-page="home"] .home-faq summary { color: #30312c; }
:root[data-theme="light"] .page-view[data-page="home"] .home-faq details p { color: #62635c; }
:root[data-theme="light"] body:has(.page-view[data-page="home"]:not([hidden])) footer.site-footer {
  --home-cream: #f5f2ea;
  --home-muted: #d6d3c8;
  --home-gold: #d7b84f;
  --home-gold-light: #fff1a8;
  --home-border: #5b573c;
  background: #292c2e;
  color: #f5f2ea;
}

/* Light mode for the shared studio, amenities, location and booking routes. */
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) {
  background: #f8f7f2;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) > header,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))).is-scrolled > header {
  border-color: #e2ddcf;
  background: #fbfaf6;
  color: #30312c;
  box-shadow: 0 5px 18px rgb(49 45 31 / 8%);
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .brand,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .brand span,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation a,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header nav#site-navigation button { color: #343629; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .theme-switch { border-color: #d7ceb4; background: #f1eee5; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch button,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .theme-switch button { color: #37382e; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header #language-switch button.is-active,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .theme-switch button.is-active { background: #c1a444; color: #25251f; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .theme-switch button i { color: #826a29; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) header .theme-switch button.is-active i { color: #25251f; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-heading { color: #30312c; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-heading h1,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(h2, h3, h4) { color: #343629; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(h1, h2, h3, h4) em { color: #927324; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .studio-overview,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .gallery-section,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="stay"] .practical,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="amenities"] .amenities,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="location"] .location,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view[data-page="book"] .book {
  background-color: #f8f7f2;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(p, li, .small-note, .section-heading > p, .intro-image figcaption) { color: #62635c; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view .eyebrow { color: #8d7127; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(.studio-overview > div, .amenity-grid > div, .location-copy, #booking-form, .faq details, .nearby-estimates) {
  border-color: #dedbd1;
  background-color: #ffffff;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(.studio-card, .studio-card > div, .review-source, .guest-quote, .booking-score-breakdown) {
  border-color: #dedbd1;
  background-color: #ffffff;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(input, select, textarea) {
  border-color: #c8c5ba;
  background: #ffffff;
  color: #30312c;
  color-scheme: light;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view :is(.button, button.button) {
  border-color: #b99a3b;
  background-color: #b99a3b;
  color: #25251f;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) .page-view .button.secondary { background: #ffffff; color: #6f5920; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) footer.site-footer { background: #292c2e; color: #f5f2ea; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) footer :is(a, button, .brand span) { color: #f5f2ea; }

/* Keep the booking form and its supporting contact card legible in both modes. */
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form input,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form select,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form textarea {
  border-color: #62645c;
  background: #202220;
  color: #f5f2ea;
  color-scheme: dark;
}
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form input::placeholder,
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form textarea::placeholder { color: #a8a69e; }
:root[data-theme="dark"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form #form-status { background: #343322; color: #f5e8a6; }

:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book.book.section {
  background: #f8f7f2;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy {
  padding: clamp(24px, 3.2vw, 38px);
  border: 1px solid #dedbd1;
  border-radius: 20px;
  background: #ffffff;
  color: #30312c;
  box-shadow: 0 12px 30px rgb(44 39 22 / 8%);
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy h2 { color: #343629; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy > p:not(.eyebrow),
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy > .small-note { color: #62635c; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy .contact-line {
  border-color: #dedbd1;
  border-left-color: #b99a3b;
  background: #f8f7f2;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .book-copy .contact-line:hover { background: #f1eee5; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .contact-social { border-top-color: #dedbd1; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .contact-social .social-link {
  border-color: #dedbd1;
  background: #f8f7f2;
  color: #30312c;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .contact-social .social-link:hover { background: #f1eee5; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #book .contact-social .social-link small { color: #62635c; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form input,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form select,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form textarea {
  border-color: #c8c5ba;
  background: #ffffff;
  color: #30312c;
  color-scheme: light;
}
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form input[type="date"],
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form select { color-scheme: light; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form .form-grid label,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form .consent { color: #51524c; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form input::placeholder,
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form textarea::placeholder { color: #73736b; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form #form-status { background: #f1eee5; color: #51472e; }
:root[data-theme="light"] body:not(:has(.page-view[data-page="home"]:not([hidden]))) #booking-form .form-actions .button.secondary {
  border-color: #b99a3b !important;
  background: #ffffff !important;
  color: #6f5920 !important;
}

