/* ============================================================
   Dhrishta — dark theme layer
   Light values live on :root in main.css. This file redefines only
   the tokens for dark, in both places a theme can come from:
     1. the OS preference, unless the visitor explicitly chose light
     2. an explicit choice of dark
   ============================================================ */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --cream: #0E1725;
    --cream-2: #16212F;
    --white: #16212F;
    --navy: #E8EFF8;
    --navy-deep: #0A121D;
    --ink-surface: #16283C;
    --ink-surface-deep: #0A121D;
    --ink: #E8EFF8;
    --body: #B7C5D6;
    --muted: #93A3B6;
    --teal: #3FB6C0;
    --teal-dark: #6FD3DE;
    --teal-wash: #12333A;
    --powder: #7FB9C2;
    --powder-wash: #14222E;
    --gold: #E0AE55;
    --line: #26374B;
    --line-cool: #24404C;
    --danger: #E8796B;
    --ok: #5FBE8A;

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);
    --shadow-md: 0 10px 30px rgba(0, 0, 0, .45);
    --shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);

    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --cream: #0E1725;
  --cream-2: #16212F;
  --white: #16212F;
  --navy: #E8EFF8;
  --navy-deep: #0A121D;
  --ink-surface: #16283C;
  --ink-surface-deep: #0A121D;
  --ink: #E8EFF8;
  --body: #B7C5D6;
  --muted: #93A3B6;
  --teal: #3FB6C0;
  --teal-dark: #6FD3DE;
  --teal-wash: #12333A;
  --powder: #7FB9C2;
  --powder-wash: #14222E;
  --gold: #E0AE55;
  --line: #26374B;
  --line-cool: #24404C;
  --danger: #E8796B;
  --ok: #5FBE8A;

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, .45);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);

  color-scheme: dark;
}

/* ---- component corrections that tokens alone cannot reach ---- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .site-header::before { background: rgba(14, 23, 37, .92); }
  :root:not([data-theme="light"]) .btn--primary,
  :root:not([data-theme="light"]) .btn--primary:hover { color: #06222A; }
  :root:not([data-theme="light"]) .btn--light { background: var(--cream-2); color: var(--ink); }
  :root:not([data-theme="light"]) .btn--light:hover { background: var(--white); color: var(--ink); }
  :root:not([data-theme="light"]) .nav__menu,
  :root:not([data-theme="light"]) .hero__card { background: var(--cream-2); }
  :root:not([data-theme="light"]) .pkg-solo { background: linear-gradient(140deg, #16283C 0%, #0A121D 100%); }
  :root:not([data-theme="light"]) .svc-aside__cta { background: linear-gradient(150deg, #0A121D, #16283C); }
  :root:not([data-theme="light"]) img:not(.brand__mark) { filter: brightness(.93) contrast(1.02); }
}
:root[data-theme="dark"] .site-header::before { background: rgba(14, 23, 37, .92); }
:root[data-theme="dark"] .btn--primary,
:root[data-theme="dark"] .btn--primary:hover { color: #06222A; }
:root[data-theme="dark"] .btn--light { background: var(--cream-2); color: var(--ink); }
:root[data-theme="dark"] .btn--light:hover { background: var(--white); color: var(--ink); }
:root[data-theme="dark"] .nav__menu,
:root[data-theme="dark"] .hero__card { background: var(--cream-2); }
:root[data-theme="dark"] .pkg-solo { background: linear-gradient(140deg, #16283C 0%, #0A121D 100%); }
:root[data-theme="dark"] .svc-aside__cta { background: linear-gradient(150deg, #0A121D, #16283C); }
:root[data-theme="dark"] img:not(.brand__mark) { filter: brightness(.93) contrast(1.02); }

/* ---- the switch itself ---- */
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; flex: 0 0 44px;
  border-radius: 50%; border: 1px solid var(--line);
  background: transparent; color: var(--ink); cursor: pointer;
  transition: background .2s, color .2s, border-color .2s, transform .25s var(--ease);
}
.theme-toggle:hover { background: var(--teal-wash); color: var(--teal-dark); border-color: var(--line-cool); transform: translateY(-2px); }
.theme-toggle:active { transform: translateY(0) scale(.96); }
.theme-toggle .icon { width: 1.2em; height: 1.2em; }
/* show the icon for the theme you would switch TO */
.theme-toggle__moon { display: none; }
.theme-toggle__sun { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle__moon { display: block; }
  :root:not([data-theme="light"]) .theme-toggle__sun { display: none; }
}
:root[data-theme="dark"] .theme-toggle__moon { display: block; }
:root[data-theme="dark"] .theme-toggle__sun { display: none; }
:root[data-theme="light"] .theme-toggle__moon { display: none; }
:root[data-theme="light"] .theme-toggle__sun { display: block; }

/* Lenis smooth scrolling */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }
