/* ── Dark theme ("lights off") ───────────────────────────────
   Applies ONLY when <html> carries .theme-dark. The whole site is
   built on --white / --black / --grey, so the theme is largely just
   redefining those three; a few hard-coded hairlines + the Instagram
   mark need explicit overrides.                                    */

html.theme-dark {
  --white: #17140f;   /* warm gallery charcoal (was #fafaf8) */
  --black: #efe9df;   /* soft ivory type       (was #111111) */
  --grey:  #a49c8f;   /* muted taupe           (was #888888) */
}

/* Thin serif body needs more lift than the bold sans headings —
   grade running copy up toward a warm near-white for easy reading. */
html.theme-dark .about-body p,
html.theme-dark p.about-closing,
html.theme-dark .package-desc,
html.theme-dark .package-inclusions li,
html.theme-dark .sessions-intro,
html.theme-dark .availability-text,
html.theme-dark .weddings-closing {
  color: #f6f3ec;
}

/* Hard-coded hairlines / dividers → warm dark lines */
html.theme-dark .package-divider { background: #2f2b23; }
html.theme-dark .sessions-intro::after { background: #3a352c; }
html.theme-dark .package-inclusions li::before { background: #6b6459; }

/* Photographs: matted a touch softer so nothing glares on the dark ground */
html.theme-dark .slide img { filter: grayscale(20%) brightness(0.95); }
html.theme-dark .slide img:hover { filter: grayscale(0%) brightness(0.98); }
html.theme-dark .about-portrait img { filter: grayscale(15%) brightness(0.94); }

/* Instagram mark is a dark SVG — lift it to read on the dark footer */
html.theme-dark .instagram-icon { filter: invert(1) brightness(1.35); }
