/* ════════════════════════════════════════════════
   Dark mode. <html data-theme="dark"> is set before paint by the inline
   script in inc/theme-mode.php (saved choice, else the device setting).
   Colours come from tokens; only the few hard-coded surfaces are patched here.
   ════════════════════════════════════════════════ */

html[data-theme="dark"] {
  color-scheme: dark;

  /* editorial.css */
  --ed-ink:       #ECEAE4;
  --ed-muted:     #A5A199;
  --ed-faint:     #9C988F;
  --ed-paper:     #121110;
  --ed-paper-2:   #1A1917;
  --ed-line:      rgba(236, 234, 228, .13);
  --ed-night:     #0A0908;
  --ed-night-ink: #EEECE6;
  --ed-ink-rgb:   236 234 228;
  --ed-glass-rgb: 28 27 25;
  --ed-ink-strong:#FFFFFF;
  --ed-prose:     #D8D5CE;
  --ed-nav-link:  #B4B0A8;

  /* main.css (--white stays light: it is used for text over photos) */
  --bg:           #121110;
  --bg-card:      #1C1B18;
  --border:       #2F2D29;
  --border-light: #272521;
  --text-1:       #ECEAE4;
  --text-2:       #BDB9B1;
  --text-3:       #96918A;
  --gold:         #CDB083;
  --gold-light:   #2A251D;
  --gold-dark:    #E2CBA2;
  --saffron:      #ECEAE4;
  --saffron-d:    #FFFFFF;
  --on-saffron:   #121110;
  --accent:       #DE916A;
  --teal:         #7DB09E;
  --teal-d:       #94C2B1;
  --dark:         #0A0908;
  --shadow-sm:    0 1px 2px rgba(0, 0, 0, .4);
  --shadow-md:    0 4px 16px rgba(0, 0, 0, .45);
  --shadow-lg:    0 12px 40px rgba(0, 0, 0, .5);
}

html[data-theme="dark"] body { background: var(--ed-paper); color: var(--ed-ink); }

/* Navigation glass */
html[data-theme="dark"] .site-nav__bar {
  border-color: rgba(236, 234, 228, .08);
  box-shadow: inset 0 1px 0 rgba(236, 234, 228, .05), 0 10px 30px -12px rgba(0, 0, 0, .6);
}
html[data-theme="dark"] .site-nav__mark { filter: invert(1) brightness(1.1); }
@media (max-width: 900px) {
  html[data-theme="dark"] .site-nav__links { border-color: rgba(236, 234, 228, .08); }
}

/* Night sections (footer, contact band) sit a step darker than the page */
html[data-theme="dark"] .site-foot,
html[data-theme="dark"] .ed-contact { border-top: 1px solid var(--ed-line); }

/* Film-card play badge */
html[data-theme="dark"] .film-card__play { color: var(--ed-paper); background: rgba(236, 234, 228, .85); }

/* Images: a touch less glare at night */
html[data-theme="dark"] .prose img,
html[data-theme="dark"] .wp-block-image img { filter: brightness(.94); }

/* Forms (FluentForms, comments, search) */
html[data-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background-color: var(--bg-card);
  color: var(--text-1);
  border-color: var(--border);
}
html[data-theme="dark"] ::placeholder { color: var(--text-3); }

/* Success notice */
html[data-theme="dark"] .form-success,
html[data-theme="dark"] [class*="success-msg"] { background: #16261A; border-color: #2F5A3A; color: #A8D8A8; }

/* Theme toggle */
.theme-toggle {
  flex: none;
  width: 40px; height: 40px;
  display: inline-grid; place-items: center;
  border: 0; border-radius: 50%;
  background: transparent;
  color: var(--ed-nav-link);
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.theme-toggle:hover { color: var(--ed-ink); background: rgb(var(--ed-ink-rgb) / .06); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .theme-toggle__sun { display: none; }
html[data-theme="dark"] .theme-toggle .theme-toggle__sun { display: block; }
html[data-theme="dark"] .theme-toggle .theme-toggle__moon { display: none; }
.is-cinema .site-nav__bar .theme-toggle { visibility: hidden; width: 0; }

/* Toggle sits on the right, beside Contact / the menu button */
.site-nav__bar .theme-toggle { margin-left: auto; }
.site-nav__bar .theme-toggle + .site-nav__cta,
.site-nav__bar .theme-toggle ~ .site-nav__toggle { margin-left: 0; }

/* FluentForms sets its own field colours */
html[data-theme="dark"] .ff-el-form-control,
html[data-theme="dark"] .fluentform .ff-el-form-control {
  background-color: var(--bg-card) !important;
  color: var(--text-1) !important;
  border-color: var(--border) !important;
}

/* FluentForms submit buttons are light in dark mode — keep their text dark */
html[data-theme="dark"] .ff-btn-submit,
html[data-theme="dark"] .fluentform .ff-btn-submit {
  background-color: var(--saffron) !important;
  border-color: var(--saffron) !important;
  color: var(--on-saffron) !important;
}
html[data-theme="dark"] .ff-btn-submit:hover { background-color: var(--saffron-d) !important; }

/* Inline subscribe pill: the field stays bare inside the pill */
html[data-theme="dark"] .ff-subscribe-inline .ff-el-form-control {
  background-color: transparent !important;
  border: none !important;
}
