/* Appearance only: shared layouts, photography, and the original dark palette stay intact. */
:root { color-scheme: dark; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: none;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #597561;
  background: transparent;
  color: #f4efe9;
  font: 700 10px/1.2 var(--cms-font-body, Arial, Helvetica, sans-serif);
  cursor: pointer;
  touch-action: manipulation;
}
.theme-toggle:hover { background: #173c28; }
.theme-toggle:focus-visible { outline: 2px solid #9ed1a7; outline-offset: 4px; }
.theme-toggle svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .theme-moon { display: none; }
:root[data-theme="light"] .theme-toggle .theme-sun { display: none; }
:root[data-theme="light"] .theme-toggle .theme-moon { display: block; }

/* Warm paper, ink, burgundy, and forest green: the same identity in daylight.
   The three surface tokens override CMS dark defaults without changing saved content. */
:root[data-theme="light"] {
  color-scheme: light;
  --paper: #faf8f3 !important;
  --card: #ffffff !important;
  --ink: #202b24 !important;
  --muted: #59655c;
  --line: #d4dbd1;
  --soft: #edf2e9;
  --teal: #30653f;
  --teal2: #42764f;
  --burgundy-bright: #8b2d49;
}
:root[data-theme="light"] body { background: var(--paper); color: var(--ink); }
:root[data-theme="light"] .site-header { background: rgba(250,248,243,.96); border-color: var(--line); }
:root[data-theme="light"] .brand-mark { background: #173c28; border-radius: 4px; padding: 3px; }
:root[data-theme="light"] :is(.nav a,.header-socials) { color: var(--ink); }
:root[data-theme="light"] :is(.nav a,.header-socials):hover { color: var(--burgundy); }
:root[data-theme="light"] :is(.header-cta,.theme-toggle,.header-page:not(.header-book)) { background: #f1f4ed; color: var(--ink); border-color: #78917b; }
:root[data-theme="light"] :is(.header-cta,.theme-toggle,.header-page:not(.header-book)):hover { background: #e1e9dc; }
:root[data-theme="light"] .header-book { background: var(--burgundy); border-color: var(--burgundy); color: white; }
:root[data-theme="light"] .header-book:hover { background: var(--burgundy-bright); }
:root[data-theme="light"] :is(.theme-toggle,.header-actions a,.nav a):focus-visible { outline-color: #316640; }
:root[data-theme="light"] :is(.eyebrow,.focus-card span,.community-grid span,.service-num,.story-card small) { color: #30653f; }
:root[data-theme="light"] :is(.hero h1 em,.hero-card-amp,.timeline h4,.education-grid span) { color: var(--burgundy); }
:root[data-theme="light"] :is(.hero-lede,.section-heading p,.timeline p,.focus-card p,.education-grid p,.community-grid p,.service-grid p,.story-card p) { color: var(--muted); }
:root[data-theme="light"] .button.secondary { color: #23452d; background: #f1f5ed; border-color: #68866d; }
:root[data-theme="light"] .button.secondary:hover { background: #e4eddd; }
:root[data-theme="light"] .availability { color: #496451; }
:root[data-theme="light"] .hero-card { color: var(--ink); background: linear-gradient(145deg,#eef3e8,#fffdf9 72%,#f4e8eb); border-color: #b5c6b2; box-shadow: 0 16px 45px #173c2810; }
:root[data-theme="light"] .hero-card-label { color: #30653f; }
:root[data-theme="light"] .hero-card-rule { background: #c8d5c4; }
:root[data-theme="light"] .hero-card-list span { color: #54665a; }
:root[data-theme="light"] .hero-card-photo { border-color: #b5c6b2; }
:root[data-theme="light"] :is(.stats-band,.stories-section) { background: #edf2e8; border-color: var(--line); }
:root[data-theme="light"] .stat-grid div { border-color: #d1dbcb; }
:root[data-theme="light"] :is(.stat-grid strong,.service-grid h3,.focus-card b,.timeline h3,.education-grid h3,.community-grid h3,.story-card h3) { color: var(--ink); }
:root[data-theme="light"] .stat-grid span { color: #52614f; }
:root[data-theme="light"] .section-tint { background: #f5eef0; border-color: #e4d9dc; }
:root[data-theme="light"] :is(.service-grid,.community-grid) { background: var(--line); border-color: var(--line); }
:root[data-theme="light"] :is(.service-grid article,.focus-card,.education-grid article,.community-grid article,.story-card) { background: var(--card); color: var(--ink); border-color: var(--line); }
:root[data-theme="light"] :is(.timeline,.timeline article,.story-card-action) { border-color: var(--line); }
:root[data-theme="light"] .timeline time { color: #5a6c60; }
:root[data-theme="light"] .story-card-action { color: #2e5d3b; }
:root[data-theme="light"] .credentials-section { background: #e7eee2; color: var(--ink); }
:root[data-theme="light"] :is(.credential-card,.logbook-card) { background: #f9fcf6; border-color: #bacdb5; color: var(--ink); }
:root[data-theme="light"] :is(.credential-card small,.logbook-card small) { color: #34683e; }
:root[data-theme="light"] .credential-card li { color: #354d3c; border-color: #d0ddca; }
:root[data-theme="light"] .logbook-grid { background: #d0ddca; }
:root[data-theme="light"] .logbook-grid div { background: #edf4e7; }
:root[data-theme="light"] .logbook-grid span { color: #4e6654; }
/* Retain the signature burgundy Socials panel and the legible night-mode flight map. */
:root[data-theme="light"] .contact-section .eyebrow { color: #c3e2c2; }
:root[data-theme="light"] .contact-section .button.outline-light { background: transparent; color: white; border-color: #e0c2cc; }
:root[data-theme="light"] .contact-section #booking-disclosure { color: #efdee5; }
:root[data-theme="light"] .contact-section #booking-disclosure a { color: white; }
:root[data-theme="light"] .footer { background: var(--paper); color: #526657; }
:root[data-theme="light"] .built { border-color: var(--line); color: var(--ink); }
:root[data-theme="light"] .copyright-line { color: var(--ink); }
:root[data-theme="light"] .builder-line { color: #57685c; }
:root[data-theme="light"] :is(.footer-links a,.footer-privacy a,.footer-privacy button) { color: #3b5742; }
:root[data-theme="light"] :is(.footer-links a,.footer-privacy a,.footer-privacy button,.builder-line a):hover { color: var(--burgundy); }
:root[data-theme="light"] ::selection { background: #6d1f35; color: white; }

/* Photo collections and booking shells. Photos are never inverted or recolored. */
:root[data-theme="light"] :is(.collection-dialog,.lightbox-dialog,.booking-dialog,.booking-inline) { background: #faf8f3; color: var(--ink); border-color: #b7c7b4; color-scheme: light; }
:root[data-theme="light"] :is(.dialog-header,.booking-dialog-header) { border-color: var(--line); }
:root[data-theme="light"] :is(.dialog-kicker,.lightbox-frame figcaption span) { color: #30653f; }
:root[data-theme="light"] .dialog-header p { color: var(--muted); }
:root[data-theme="light"] :is(.collection-item,.collection-thumb) { background: #eff4e9; color: var(--ink); border-color: #cedac7; }
:root[data-theme="light"] :is(.collection-caption,.collection-thumb span) { color: #3f5747; }
:root[data-theme="light"] :is(.dialog-close,.lightbox-close,.lightbox-nav,.booking-close) { color: #244e31; background: #eaf1e3; border-color: #78917b; }
:root[data-theme="light"] :is(.dialog-close,.lightbox-close,.lightbox-nav,.booking-close):hover { background: #dce8d3; }
:root[data-theme="light"] :is(.booking-dialog-help,.book-lede,.book-note,.book-topic-grid p,.book-schedule>p,.book-faq details p,.book-page #booking-disclosure) { color: var(--muted); }
:root[data-theme="light"] .booking-dialog-help a { color: #315e3e; }
:root[data-theme="light"] :is(.booking-frame-container,.booking-frame-container iframe) { background: #fff; }
:root[data-theme="light"] :is(.book-back,.contact-back,.privacy-back) { color: #48644f; }
:root[data-theme="light"] :is(.book-hero h1 em,.contact-intro h1 em) { color: var(--burgundy); }
:root[data-theme="light"] .book-photo { background: #edf2e8; border-color: #c7d4c0; }
:root[data-theme="light"] .book-photo figcaption { color: #53634f; }
:root[data-theme="light"] .book-photo strong { color: var(--ink); }
:root[data-theme="light"] :is(.book-topics,.book-faq details) { border-color: var(--line); }

/* Contact fields, error/success states, and privacy controls. */
:root[data-theme="light"] :is(.contact-back,.contact-social-link):hover { color: var(--burgundy); }
:root[data-theme="light"] :is(.contact-lede,.contact-privacy,.field-help,.field-optional,.inquiry-card-heading p,.contact-success p) { color: var(--muted); }
:root[data-theme="light"] .contact-details { border-color: var(--line); }
:root[data-theme="light"] :is(.contact-details dt,.inquiry-card-heading .eyebrow) { color: #30653f; }
:root[data-theme="light"] :is(.contact-details dd,.contact-social-link,.contact-field label) { color: var(--ink); }
:root[data-theme="light"] .contact-field label>span[aria-hidden] { color: #8b2d49; }
:root[data-theme="light"] .inquiry-card { background: linear-gradient(145deg,#f0f5e9,#fff 55%); border-color: #c1d0ba; box-shadow: 0 16px 45px #173c2810; }
:root[data-theme="light"] .contact-field :is(input,textarea,select) { background: #fffefa; color: var(--ink); border-color: #859b80; color-scheme: light; }
:root[data-theme="light"] .contact-field :is(input,textarea)::placeholder { color: #687467; }
:root[data-theme="light"] .contact-field [aria-invalid="true"] { border-color: #a33450; }
:root[data-theme="light"] :is(.contact-notice,.contact-result) { background: #edf4e3; color: #304b31; border-color: #8aa577; }
:root[data-theme="light"] .contact-result[data-tone="error"] { background: #fbebee; color: #7e1f39; border-color: #ba7181; }
:root[data-theme="light"] :is(.contact-retry,.contact-success-mark) { background: #e5efdc; color: #315c37; border-color: #819d76; }
:root[data-theme="light"] .contact-privacy a { color: #315e3e; }
:root[data-theme="light"] :is(.privacy-notice,.privacy-dialog) { background: #fafbf6; color: var(--ink); border-color: #9aaf92; box-shadow: 0 18px 60px #173c2826; color-scheme: light; }
:root[data-theme="light"] :is(.privacy-notice p,.privacy-dialog p) { color: #455c48; }
:root[data-theme="light"] :is(.privacy-notice a,.privacy-dialog a) { color: #315e3e; }
:root[data-theme="light"] .privacy-actions button { background: #eaf1e2; border-color: #7d9874; color: #284c30; }
:root[data-theme="light"] .privacy-actions button:hover { background: #dce8d3; }
:root[data-theme="light"] .privacy-toggle input { accent-color: #316640; }
:root[data-theme="light"] :is(.privacy-lede,.privacy-overview p,.privacy-sections p,.privacy-sections li) { color: #52634f; }
:root[data-theme="light"] .privacy-updated { color: #486c4b; }
:root[data-theme="light"] .privacy-overview { background: #edf3e6; border-color: #c0d0b7; }
:root[data-theme="light"] :is(.privacy-overview .button,.privacy-overview nav a) { color: #315e3e; }
:root[data-theme="light"] :is(.privacy-overview nav,.privacy-sections section) { border-color: var(--line); }
:root[data-theme="light"] :is(.privacy-sections h2,.privacy-sections strong) { color: var(--ink); }
:root[data-theme="light"] :is(.privacy-sections a,.privacy-inline-button,.privacy-sections code) { color: #315e3e; }
:root[data-theme="light"] :is(.privacy-page a,.privacy-inline-button):hover { color: var(--burgundy); }
:root[data-theme="light"] :is(.privacy-page,.contact-page,.book-page) :is(a,button,input,textarea,select,summary):focus-visible,
:root[data-theme="light"] :is(.privacy-actions button,.privacy-dialog input,.builder-line a,.footer-privacy a,.footer-privacy button,.feature-button,.community-photo,.story-card-action,.collection-thumb,.dialog-close,.lightbox-close,.lightbox-nav):focus-visible { outline-color: #316640; }
@media (max-width: 1100px) and (min-width: 761px) { .theme-toggle [data-theme-label] { display: none; } }
@media (max-width: 760px) { .theme-toggle { padding-inline: 12px; font-size: 9px; } }
