/* Honeywood Valley colour modes — designed around charcoal #201F1A and pale sage. */
/* The base styles.css is the light palette; these scoped overrides provide the dark palette. */
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --cream: #201f1a;
  --paper: #1a1b18;
  --sage: #262d26;
  --mint: #252d26;
  --sand: #b49a6a;
  --ink: #bcd3c5;
  --muted: #93a69a;
  --line: #343c33;
  --forest: #bad5c4;
  --deep: #102a20;
  --danger: #e7a59a;
  background: #201f1a;
  color: var(--ink);
}
:root[data-theme="dark"] body { background:#201f1a; color:var(--ink); }
/* Header switch in both themes. Two custom vector icons, never an emoji. */
.theme-toggle {
  flex:0 0 auto; display:grid; place-items:center;
  width:40px; height:40px; border-radius:4px; padding:0;
  border:1px solid var(--line); color:var(--forest);
  background:transparent; transition:background .15s,border-color .15s;
}
.theme-toggle:hover { background:var(--sage); border-color:#809888; }
.theme-toggle:focus-visible,.mobile-theme-toggle:focus-visible { outline:2px solid #94baa6;outline-offset:3px; }
.theme-toggle svg { width:19px;height:19px; }
.theme-toggle .theme-sun { display:none; }
.theme-toggle .theme-moon { display:block; }
:root[data-theme="dark"] .theme-toggle .theme-sun { display:block; }
:root[data-theme="dark"] .theme-toggle .theme-moon { display:none; }
.mobile-theme-toggle {
  border:0; width:100%; display:flex; align-items:center; gap:10px;
  text-align:left; background:transparent; color:var(--forest);
  font-weight:700; font-size:12px; padding:14px 0;
  border-bottom:1px solid var(--line);
}
.mobile-theme-icon { width:20px; text-align:center; font-size:19px; line-height:1; }
:root[data-theme="dark"] .mobile-theme-icon::before {content:'☼';}
:root[data-theme="light"] .mobile-theme-icon::before {content:'☾';}
.mobile-theme-icon {font-size:0;} .mobile-theme-icon::before {font-size:20px;}
/* On narrow handsets the switch moves inside the existing mobile menu. */
@media (max-width:550px){.header-actions > .theme-toggle{display:none}.header-actions{gap:7px}}
/* The design shown in the user's image: warm charcoal panels and sage text. */
:root[data-theme="dark"] .site-header { background:#1b1b19; border-color:#33372f; }
:root[data-theme="dark"] .desktop-nav a { color:#b6cfc2; }
:root[data-theme="dark"] .desktop-nav a:hover,
:root[data-theme="dark"] .desktop-nav a.active { color:#c9a376; }
:root[data-theme="dark"] .brand,
:root[data-theme="dark"] .brand-icon,
:root[data-theme="dark"] .menu-toggle span { color:#b6d1c0; }
:root[data-theme="dark"] .menu-toggle span { background:#b6d1c0; }
:root[data-theme="dark"] .account-button,
:root[data-theme="dark"] .btn-green { background:#1c4234; color:#f3f7ef; }
:root[data-theme="dark"] .account-button:hover,
:root[data-theme="dark"] .btn-green:hover { background:#285440; }
:root[data-theme="dark"] .btn-outline { border-color:#4e6756; color:#bad5c4; }
:root[data-theme="dark"] .btn-outline:hover { background:#26372c; }
:root[data-theme="dark"] .admin-shortcut { border-color:#587b65; color:#b7d4bf; }
:root[data-theme="dark"] .mobile-menu {background:#1b1b19;box-shadow:0 9px 24px #0007;}
:root[data-theme="dark"] .page-heading h1,
:root[data-theme="dark"] .welcome-section h2,
:root[data-theme="dark"] .feature-card h3,
:root[data-theme="dark"] .service-card h3,
:root[data-theme="dark"] .booking-toolbar h2,
:root[data-theme="dark"] .weather-primary h3 { color:#b8d0c2; }
:root[data-theme="dark"] .feature-card,
:root[data-theme="dark"] .service-card,
:root[data-theme="dark"] .announcement,
:root[data-theme="dark"] .surface,
:root[data-theme="dark"] .booking-other-services,
:root[data-theme="dark"] .horse-card,
:root[data-theme="dark"] .empty-panel,
:root[data-theme="dark"] .modal-card,
:root[data-theme="dark"] .crop-card,
:root[data-theme="dark"] .weather-widget {background:#1b1c19;border-color:#333c33;}
:root[data-theme="dark"] .feature-top {color:#a4b5aa;}
:root[data-theme="dark"] .feature-graphic {color:#7da087;background:radial-gradient(circle,#29372b 0%,transparent 72%);}
:root[data-theme="dark"] .feature-card p,
:root[data-theme="dark"] .service-card p,
:root[data-theme="dark"] .announcement p {color:#9daea3;}
:root[data-theme="dark"] .service-card strong,
:root[data-theme="dark"] .service-pill {color:#c1d7c8;}
:root[data-theme="dark"] .service-pill {background:#293d2f;}
:root[data-theme="dark"] .booking-help {background:#22241e;border-color:#343b31;}
:root[data-theme="dark"] .help-item {border-color:#353b33;}
:root[data-theme="dark"] .help-item p {color:#9aac9f;}
:root[data-theme="dark"] .help-item b {color:#bca477;}
:root[data-theme="dark"] .help-illustration {color:#8ea994;}
:root[data-theme="dark"] .time-group-line {background:#343e35;}
:root[data-theme="dark"] .time-group-intro {color:#95a59b;}
:root[data-theme="dark"] .time-period {background:#1c1e1a;border-color:#333c33;}
:root[data-theme="dark"] .time-period-open {border-color:#647e66;}
:root[data-theme="dark"] .time-period-toggle {background:#20251f;color:#bed5c6;}
:root[data-theme="dark"] .time-period-toggle:hover,
:root[data-theme="dark"] .time-period-open .time-period-toggle {background:#242d25;}
:root[data-theme="dark"] .time-period-panel {background:#1b1c1a;border-color:#333e35;}
:root[data-theme="dark"] .time-period-symbol {background:#2a362c;color:#a8c7ad;}
:root[data-theme="dark"] .time-period-title small,
:root[data-theme="dark"] .time-period-hint {color:#97aa9b;}
:root[data-theme="dark"] .time-period-chevron {color:#afcab6;}
:root[data-theme="dark"] .time-period-count.has-free {background:#263b2b;color:#bdddbf;}
:root[data-theme="dark"] .time-period-count.no-free {background:#292b26;color:#9baca0;}
:root[data-theme="dark"] .time-choice {background:#202a22;color:#c2d8c7;border-color:#4c6952;}
:root[data-theme="dark"] .time-choice:hover {background:#29382c;}
:root[data-theme="dark"] .time-choice-detail,
:root[data-theme="dark"] .time-choice-arrow {color:#a1b8a5;}
:root[data-theme="dark"] .time-choice.is-booked {background:#392c25;color:#ecc4a9;border-color:#614939;}
:root[data-theme="dark"] .time-choice.is-booked .time-choice-detail {color:#cba891;}
:root[data-theme="dark"] .time-choice.is-past {background:#242521;color:#909d94;border-color:#3b3e36;}
:root[data-theme="dark"] .time-choice.is-past .time-choice-detail {color:#8b998f;}
:root[data-theme="dark"] .booking-selected-time,
:root[data-theme="dark"] .booking-duration-preview {background:#19382b;border-color:#486a51;color:#eaf4ea;}
:root[data-theme="dark"] .booking-selected-date {color:#bdcfbf;}
:root[data-theme="dark"] .booking-select-label,
:root[data-theme="dark"] .booking-duration-footnote {color:#a7c0ac;}
:root[data-theme="dark"] .booking-start-select,
:root[data-theme="dark"] .date-actions input,
:root[data-theme="dark"] .icon-btn,
:root[data-theme="dark"] .form input,
:root[data-theme="dark"] .form textarea,
:root[data-theme="dark"] .form select,
:root[data-theme="dark"] .trail-date-label input,
:root[data-theme="dark"] #rescheduleForm input,
:root[data-theme="dark"] #rescheduleForm select {background:#141714;color:#d4e5d7;border:1px solid #425348;}
:root[data-theme="dark"] .form label {color:#bad3bf;}
:root[data-theme="dark"] .form input::placeholder,
:root[data-theme="dark"] .form textarea::placeholder {color:#859b8d;opacity:1;}
:root[data-theme="dark"] .booking-start-select option {background:#17221a;color:#d3e7d7;}
:root[data-theme="dark"] .booking-confirmation,
:root[data-theme="dark"] .booking-rule,
:root[data-theme="dark"] .photo-preview-wrap {background:#243329;color:#cbddcb;border-color:#3f6048;}
:root[data-theme="dark"] .horse-photo {background:linear-gradient(140deg,#273d2d,#303428);color:#adc6ac;}
:root[data-theme="dark"] .tag {background:#3a3428;color:#e6ca9d;}
:root[data-theme="dark"] .booking-safety-notice,
:root[data-theme="dark"] .support-warning {background:#352b1f;color:#f1d5a9;border-color:#9a7646;}
:root[data-theme="dark"] .auth-countdown {background:#332620;color:#f4c4a8!important;border-color:#875645;}
:root[data-theme="dark"] .notification-entry {border-color:#364537;}
:root[data-theme="dark"] .notification-entry strong {color:#c0d9c7;}
:root[data-theme="dark"] .notification-meta {color:#a4b7a9;}
:root[data-theme="dark"] .notification-unread {background:#24352a;border-color:#79a285;}
:root[data-theme="dark"] .notification-bell {color:#b8d2c1;border-color:#627568;}
:root[data-theme="dark"] .notification-bell:hover {background:#26352b;}
:root[data-theme="dark"] .notification-count {border-color:#1b1b19;}
:root[data-theme="dark"] .weather-disclosure>summary {background:#222720;color:#bcd5c1;}
:root[data-theme="dark"] .weather-disclosure>summary:hover {background:#28362a;}
:root[data-theme="dark"] .weather-main-icon {background:#29382c;color:#bed5c0;}
:root[data-theme="dark"] .weather-caption,
:root[data-theme="dark"] .weather-stats span,
:root[data-theme="dark"] .weather-hour time {color:#a2b3a3;}
:root[data-theme="dark"] .weather-stats b,
:root[data-theme="dark"] .weather-hour strong,
:root[data-theme="dark"] .weather-day b,
:root[data-theme="dark"] .weather-reading {color:#b9d4c4;}
:root[data-theme="dark"] .weather-expanded h4,
:root[data-theme="dark"] .weather-day small,
:root[data-theme="dark"] .weather-hour small,
:root[data-theme="dark"] .weather-footer {color:#a5b8a8;}
:root[data-theme="dark"] .weather-hour,
:root[data-theme="dark"] .weather-day {background:#20241f;border-color:#343c34;}
:root[data-theme="dark"] .weather-booking-note {background:#202b22;border-color:#3b5540;}
:root[data-theme="dark"] .weather-booking-note strong,
:root[data-theme="dark"] .weather-booking-note a,
:root[data-theme="dark"] .weather-footer a {color:#b4d8bd;}
:root[data-theme="dark"] .weather-stats {border-color:#354039;}
:root[data-theme="dark"] .weather-footer {border-color:#344037;}
:root[data-theme="dark"] .weather-disclosure {border-color:#354039;}
:root[data-theme="dark"] .support-archive,
:root[data-theme="dark"] .support-user-row,
:root[data-theme="dark"] .support-reply,
:root[data-theme="dark"] .support-thread {border-color:#3b4a3e;}
:root[data-theme="dark"] .status-chip {background:#26392c;color:#c2dbca;}
:root[data-theme="dark"] .trail-date-label,
:root[data-theme="dark"] .trail-visit-row {color:#bfd7c4;}
:root[data-theme="dark"] .trail-visit-row {border-color:#394b3e;}
:root[data-theme="dark"] .trail-request-actions p {color:#acbfb0;}
:root[data-theme="dark"] .footer {background:#10271e;color:#e7efe4;}
:root[data-theme="dark"] .notice-band {background:#1b3b2b;color:#fff;}
:root[data-theme="dark"] .notice-band h2,
:root[data-theme="dark"] .notice-band p {color:#e4eee3;}
/* Do not recolour the farm's banner photograph or its deliberately translucent weather card. */
@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
