/* ============================================================
   CARRERA: light mode ("paper and ink")
   Not a white repaint. The page flips: warm paper ground, ink type,
   and the elements that carried the weight in the dark build (the
   form cards, the trust band, the reassurance section, the promo)
   invert to ink, so photography and cards keep their contrast and
   the scroll keeps its light/dark rhythm.
   ============================================================ */
:root[data-theme="light"] {
  --ink: #F5F3EE;        /* page ground: warm paper */
  --coal: #FFFFFF;       /* alternate section */
  --char: #FFFFFF;       /* card ground */
  --paper: #141312;      /* the inverted surface: dark cards, dark bands */
  --white: #FFFFFF;      /* a white surface: inputs, the stamp disc, the knob */
  --txt: #141312;
  --txt-2: #3C3933;
  --mute: #6C685F;
  --line: rgba(20,19,18,.14);
  --ink-2: #EDEBE5;      /* text on the inverted (dark) surfaces */
  --ink-mute: #B9B5AC;
  --bad-light: #C0341A;
}

/* ---------- logos: the mark is a single-colour stamp, so it inverts ---------- */
:root[data-theme="light"] .brand img,
:root[data-theme="light"] .foot__logo,
:root[data-theme="light"] .legal__back img,
:root[data-theme="light"] .ty__brand img,
:root[data-theme="light"] .strike__stamp { filter: invert(1); }
:root[data-theme="light"] .band__row img { filter: invert(1); }

/* the few rules that used --white as ink on a dark ground */
:root[data-theme="light"] .btn--light:hover { background: #000000; }
:root[data-theme="light"] .field__in { background: #FFFFFF; color: #121210; }
:root[data-theme="light"] .field__in::placeholder { color: #8A8A82; }
:root[data-theme="light"] .fx [data-fx="type"]::after { background: #141312; }
:root[data-theme="light"] .ba:has(.ba__range:focus-visible) { outline-color: #141312; }
:root[data-theme="light"] .war__seal, :root[data-theme="light"] .ba__knob { background: #FFFFFF; }
:root[data-theme="light"] .ba__knob { box-shadow: 0 8px 20px -6px rgba(20,19,18,.45); }

/* ---------- page furniture ---------- */
:root[data-theme="light"] body { background: var(--ink); color: var(--txt); }
:root[data-theme="light"] ::selection { background: #141312; color: #F5F3EE; }
:root[data-theme="light"] :focus-visible { outline-color: #141312; }
:root[data-theme="light"] html { scrollbar-color: #B9B5AC #F5F3EE; }
:root[data-theme="light"] .safe-fill-top, :root[data-theme="light"] .safe-fill-bottom { background: var(--ink); }
:root[data-theme="light"] .progress i { background: #141312; }
:root[data-theme="light"] .nav.is-stuck { background: rgba(245,243,238,.9); box-shadow: 0 1px 0 var(--line); }
:root[data-theme="light"] .fx body::after { mix-blend-mode: multiply; opacity: .05; }

/* ---------- hero: the clip keeps its own light, the page around it turns to paper ---------- */
:root[data-theme="light"] .hero__media::after {
  background: linear-gradient(0deg, var(--ink) 3%, rgba(245,243,238,.68) 44%, rgba(245,243,238,.3) 100%);
}
:root[data-theme="light"] .hero__media figcaption { color: #141312; text-shadow: 0 1px 6px rgba(245,243,238,.9); }
@media (min-width: 60rem) {
  :root[data-theme="light"] .hero__media { box-shadow: 0 34px 70px -40px rgba(20,19,18,.55), 0 0 0 1px rgba(20,19,18,.12); }
  :root[data-theme="light"] .hero__media::after { background: linear-gradient(0deg, rgba(20,19,18,.45), transparent 45%); }
  :root[data-theme="light"] .hero__media figcaption { color: #FFFFFF; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
}
:root[data-theme="light"] .hero h1,
:root[data-theme="light"] .hero__sub { color: #141312; text-shadow: none; }
:root[data-theme="light"] .hero__sub { color: #322F2A; }
:root[data-theme="light"] .rating { color: #4A463F; }
:root[data-theme="light"] .rating b, :root[data-theme="light"] .stars { color: #141312; }

/* ---------- the form cards invert to ink ---------- */
:root[data-theme="light"] .card {
  background: linear-gradient(165deg, #22201E 0%, #141312 60%, #0E0D0C 100%);
  color: #F4F3EF;
  box-shadow: 0 34px 70px -34px rgba(20,19,18,.55), inset 0 1px 0 rgba(255,255,255,.08);
}
:root[data-theme="light"] .card::before { background: rgba(255,255,255,.22); }
:root[data-theme="light"] .card__h { color: #FFFFFF; }
:root[data-theme="light"] .field__lab { color: #D8D5CE; }
:root[data-theme="light"] .field__lab .opt { color: #98948C; }
:root[data-theme="light"] .field__lab em { color: #FF8A6B; }
:root[data-theme="light"] .field__in { border-color: rgba(20,19,18,.22); }
:root[data-theme="light"] .field__in:focus { border-color: #141312; box-shadow: 0 0 0 3px rgba(255,255,255,.55); }
:root[data-theme="light"] .selwrap__chev { color: #6C685F; }
:root[data-theme="light"] .consent { color: #A8A49C; }
:root[data-theme="light"] .consent a { color: #FFFFFF; }
:root[data-theme="light"] .consent input { accent-color: #F4F3EF; }
:root[data-theme="light"] .qf__meter i { background: rgba(255,255,255,.22); }
:root[data-theme="light"] .qf__meter i:first-child,
:root[data-theme="light"] .qf[data-step="2"] .qf__meter i { background: #FFFFFF; }
:root[data-theme="light"] .qf__back { color: #A8A49C; }
:root[data-theme="light"] .form-status { color: #D8D5CE; }
:root[data-theme="light"] .form-status.is-ok { color: #7FD6A0; }
:root[data-theme="light"] .form-status.is-err { color: #FF8A6B; }
/* the button inside an inverted card is paper */
:root[data-theme="light"] .btn--dark { background: #F4F3EF; color: #141312; }
:root[data-theme="light"] .btn--dark:hover { background: #FFFFFF; }
:root[data-theme="light"] .btn--dark:focus-visible { outline-color: #FFFFFF; }
:root[data-theme="light"] .fx .card button[type="submit"],
:root[data-theme="light"] .fx .qf__next,
:root[data-theme="light"] .fx .promo__form button[type="submit"] { animation-name: pulseLightOnDark; }
@keyframes pulseLightOnDark {
  0% { box-shadow: 0 12px 24px -14px rgba(0,0,0,.5), 0 0 0 0 rgba(255,255,255,.45); }
  70% { box-shadow: 0 12px 24px -14px rgba(0,0,0,.5), 0 0 0 12px rgba(255,255,255,0); }
  100% { box-shadow: 0 12px 24px -14px rgba(0,0,0,.5), 0 0 0 0 rgba(255,255,255,0); }
}

/* ---------- sections keep their rhythm, inverted ---------- */
:root[data-theme="light"] .sec--coal { background: #FFFFFF; }
:root[data-theme="light"] .band { background: #141312; color: #F4F3EF; }
:root[data-theme="light"] .sec--light { background: #141312; color: #F4F3EF; }   /* the reassurance block is now the dark one */
:root[data-theme="light"] .sec--light .sec__h { color: #FFFFFF; }
:root[data-theme="light"] .assure svg { color: #F4F3EF; }
:root[data-theme="light"] .assure h3 { color: #FFFFFF; }
:root[data-theme="light"] .assure p { color: #B9B5AC; }
:root[data-theme="light"] .sec--light .btn--dark { background: #F4F3EF; color: #141312; }

/* cards on paper: hairline ink border, ink pointer light, real shadow */
:root[data-theme="light"] .rev,
:root[data-theme="light"] .svcl li {
  background:
    radial-gradient(420px circle at var(--mx, 50%) var(--my, -40%), rgba(20,19,18,.05), transparent 60%) padding-box,
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    linear-gradient(145deg, rgba(20,19,18,.22), rgba(20,19,18,.06) 40%, rgba(20,19,18,.14)) border-box;
  box-shadow: 0 18px 36px -28px rgba(20,19,18,.45);
}
:root[data-theme="light"] .step {
  background:
    radial-gradient(420px circle at var(--mx, 50%) var(--my, -40%), rgba(20,19,18,.05), transparent 60%) padding-box,
    linear-gradient(#FBFAF7, #FBFAF7) padding-box,
    linear-gradient(145deg, rgba(20,19,18,.22), rgba(20,19,18,.06) 40%, rgba(20,19,18,.14)) border-box;
  box-shadow: 0 18px 36px -28px rgba(20,19,18,.45);
}
@media (hover: hover) {
  :root[data-theme="light"] .rev:hover,
  :root[data-theme="light"] .step:hover,
  :root[data-theme="light"] .svcl li:hover { box-shadow: 0 26px 44px -26px rgba(20,19,18,.5); }
}
:root[data-theme="light"] .step__n { border-color: rgba(20,19,18,.35); color: #141312; }
:root[data-theme="light"] .rev blockquote { color: #232019; }
:root[data-theme="light"] .rev__by { border-top-color: var(--line); color: #6C685F; }
:root[data-theme="light"] .rev__by b { color: #141312; }
:root[data-theme="light"] .rev__tags li { background: #F1EEE7; color: #3C3933; border-color: rgba(20,19,18,.12); }

/* service tabs */
:root[data-theme="light"] .seg { background: #E9E6DE; }
:root[data-theme="light"] .seg__b { color: #55514A; }
:root[data-theme="light"] .seg__b:hover { color: #141312; }
:root[data-theme="light"] .seg__b[aria-selected="true"] { background: #141312; color: #F4F3EF; }
:root[data-theme="light"] .svcl b { color: #141312; }
:root[data-theme="light"] .svcl span { color: #6C685F; }

/* photography: the frame line goes dark, the vignette lightens */
:root[data-theme="light"] .gal__i button::after,
:root[data-theme="light"] .war__media::after {
  box-shadow: inset 0 0 0 1px rgba(20,19,18,.16), inset 0 -60px 80px -50px rgba(20,19,18,.35);
  background-image: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.55) 50%, transparent 62%);
}
:root[data-theme="light"] .gal__i button { background: #EDEAE3; box-shadow: 0 20px 44px -28px rgba(20,19,18,.55); }
:root[data-theme="light"] .bas .ba, :root[data-theme="light"] .ba { background: #EDEAE3; box-shadow: 0 24px 48px -30px rgba(20,19,18,.5), 0 0 0 1px rgba(20,19,18,.12); }
:root[data-theme="light"] .ba__line, :root[data-theme="light"] .ba__knob { box-shadow: 0 6px 16px -6px rgba(20,19,18,.5); }
:root[data-theme="light"] .bas .ba::before { background: rgba(20,19,18,.82); color: #F4F3EF; }
:root[data-theme="light"] .bas .ba::after { background: #FFFFFF; color: #141312; }
:root[data-theme="light"] .ba__tag { background: rgba(20,19,18,.72); color: #F4F3EF; }

/* rails, tabs, faq */
:root[data-theme="light"] .rail__btn { border-color: rgba(20,19,18,.22); color: #141312; }
:root[data-theme="light"] .rail__btn:hover:not(:disabled) { background: rgba(20,19,18,.06); }
:root[data-theme="light"] .rail__bar { background: rgba(20,19,18,.14); }
:root[data-theme="light"] .rail__fill { background: #141312; }
:root[data-theme="light"] .tab { border-color: rgba(20,19,18,.22); color: #55514A; }
:root[data-theme="light"] .tab:hover { border-color: rgba(20,19,18,.45); color: #141312; }
:root[data-theme="light"] .tab[aria-selected="true"] { background: #141312; border-color: #141312; color: #F4F3EF; }
:root[data-theme="light"] .faq { border-top-color: var(--line); }
:root[data-theme="light"] .fq { border-bottom-color: var(--line); }
:root[data-theme="light"] .fq p { color: #4A463F; }

/* contact block: paper veil over the photo, ink type, inverted form */
:root[data-theme="light"] .quote__media::after {
  background: linear-gradient(180deg, rgba(245,243,238,.94), rgba(245,243,238,.76) 40%, rgba(245,243,238,.96));
}
:root[data-theme="light"] .quote__media figcaption { color: #3C3933; text-shadow: 0 1px 6px rgba(245,243,238,.9); }
@media (min-width: 60rem) {
  :root[data-theme="light"] .quote { background: #FFFFFF; }
  :root[data-theme="light"] .quote__media { box-shadow: 0 34px 70px -40px rgba(20,19,18,.55), 0 0 0 1px rgba(20,19,18,.12); }
  :root[data-theme="light"] .quote__media::after { background: linear-gradient(0deg, rgba(20,19,18,.45), transparent 45%); }
  :root[data-theme="light"] .quote__media figcaption { color: #FFFFFF; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
}

/* footer, sticky bar, overlays */
:root[data-theme="light"] .foot { background: #FFFFFF; border-top-color: var(--line); }
:root[data-theme="light"] .foot__area { color: #3C3933; }
:root[data-theme="light"] .foot__legal { color: #6C685F; }
:root[data-theme="light"] .foot__bp a { border-color: rgba(20,19,18,.2); color: #3C3933; }
:root[data-theme="light"] .foot__bp a:hover { border-color: rgba(20,19,18,.5); color: #141312; }

:root[data-theme="light"] .lb { background: rgba(245,243,238,.96); }
:root[data-theme="light"] .lb__x, :root[data-theme="light"] .lb__nav { background: rgba(20,19,18,.1); color: #141312; }
:root[data-theme="light"] .lb__x:hover, :root[data-theme="light"] .lb__nav:hover { background: rgba(20,19,18,.2); }
:root[data-theme="light"] .lb__fig figcaption { color: #4A463F; }
:root[data-theme="light"] .promo { background: rgba(20,19,18,.55); }
:root[data-theme="light"] .promo__card { background: linear-gradient(165deg, #22201E, #141312 60%); color: #F4F3EF; }
:root[data-theme="light"] .promo__body h2 { color: #FFFFFF; }
:root[data-theme="light"] .promo__sub { color: #B9B5AC; }
:root[data-theme="light"] .promo__no { color: #A8A49C; }
:root[data-theme="light"] .promo__seal { background: #F4F3EF; }
:root[data-theme="light"] .promo__x { background: rgba(255,255,255,.18); }

/* legal pages */
:root[data-theme="light"] .legal a { color: #141312; }
:root[data-theme="light"] .legal__back { color: #3C3933; }

/* thank-you: its own stylesheet carries the paper theme now */
