/* Lovoline — dark theme for the public pages. Everything here is scoped to [data-theme="dark"]. */
.logo .logo-dark-ui{display:none}
[data-theme="dark"] .logo .logo-light-ui{display:none}
[data-theme="dark"] .logo .logo-dark-ui{display:block}
.theme-toggle{width:42px;height:42px;border-radius:999px;display:inline-grid;place-items:center;color:var(--ink-2);transition:background .15s,transform .3s}
.theme-toggle:hover{background:rgba(13,13,18,.06);transform:rotate(18deg)}
.theme-toggle .ic-sun{display:none}
[data-theme="dark"] .theme-toggle .ic-sun{display:block}
[data-theme="dark"] .theme-toggle .ic-moon{display:none}
[data-theme="dark"] .theme-toggle:hover{background:rgba(255,255,255,.08)}

/* Soft cross-fade when the theme is switched (page chrome only; cards keep their own hover transitions) */
[data-theme] body{transition:background-color .3s ease,color .3s ease}
@media (prefers-reduced-motion:reduce){[data-theme] body{transition:none}}

/* ---------- Tokens ---------- */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0e1110; --ink:#f4f3f0; --ink-2:#d8dbda; --muted:#a3a1ab;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.15);
  --card:#181c1a; --soft:#252928;
  --sh:0 1px 2px rgba(0,0,0,.35),0 14px 34px -14px rgba(0,0,0,.7);
  --sh-lg:0 2px 4px rgba(0,0,0,.35),0 34px 80px -28px rgba(0,0,0,.85);
  /* dark-only helpers */
  --d-raise:#202423; --d-raise-2:#2b302e; --d-fill:rgba(255,255,255,.04); --d-fill-2:rgba(255,255,255,.08);
  --d-on:#0e1110; --d-band:#171b1a; --d-v:#5fe0c4; --d-ok:#4ade80; --d-bad:#ff8b80;
}
[data-theme="dark"] ::selection{background:rgba(11,133,120,.45);color:#fff}
[data-theme="dark"] :focus-visible{outline-color:var(--d-v)}
[data-theme="dark"] ::placeholder{color:#8a8893;opacity:1}

/* ---------- Buttons ---------- */
[data-theme="dark"] .skip{color:var(--d-on)}
[data-theme="dark"] .btn-ink{background:var(--ink);color:var(--d-on)}
[data-theme="dark"] .btn-ink:hover{background:#fff;box-shadow:0 10px 26px -10px rgba(255,255,255,.28)}
[data-theme="dark"] .btn-ink::after,[data-theme="dark"] .send::after{background:linear-gradient(110deg,transparent 30%,rgba(11,133,120,.22) 50%,transparent 70%)}
[data-theme="dark"] .btn-ghost:hover{background:var(--d-fill-2)}
[data-theme="dark"] .btn-white{background:#fff;color:var(--d-on)}
[data-theme="dark"] .btn-white:hover{box-shadow:0 10px 26px -10px rgba(255,255,255,.3)}
[data-theme="dark"] .btn-outline{background:var(--d-fill);border-color:var(--line-2)}
[data-theme="dark"] .btn-outline:hover{background:var(--d-fill-2);border-color:rgba(255,255,255,.5)}
[data-theme="dark"] .btn-line{border-color:rgba(255,255,255,.3);color:#fff}
[data-theme="dark"] .btn-line:hover{background:rgba(255,255,255,.1)}

/* ---------- Promo + header ---------- */
[data-theme="dark"] .promo{background:linear-gradient(90deg,rgba(140,207,63,.14),rgba(22,180,126,.12) 50%,rgba(11,133,120,.16)),var(--d-band);color:rgba(255,255,255,.8);border-bottom:1px solid var(--line)}
[data-theme="dark"] .promo a{color:#fff}
[data-theme="dark"] .hdr.solid{background:rgba(14,13,18,.78);border-bottom-color:var(--line)}
@media (max-width:940px){
  [data-theme="dark"] .menu{background:#121514;border-bottom-color:var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
}

/* ---------- Hero ---------- */
[data-theme="dark"] .glow{background:radial-gradient(38% 42% at 22% 18%,rgba(140,207,63,.24),transparent 70%),radial-gradient(34% 40% at 78% 12%,rgba(22,180,126,.2),transparent 70%),radial-gradient(40% 45% at 52% 62%,rgba(11,133,120,.22),transparent 70%);filter:blur(28px)}
[data-theme="dark"] .glow.small{-webkit-mask-image:linear-gradient(transparent,#000 55%);mask-image:linear-gradient(transparent,#000 55%)}
[data-theme="dark"] .badge{background:rgba(255,255,255,.06);border-color:var(--line-2);box-shadow:none}
[data-theme="dark"] .badge-arrow{color:var(--d-on)}
[data-theme="dark"] .prompt{box-shadow:var(--sh-lg),0 0 90px -34px rgba(11,133,120,.5)}
[data-theme="dark"] .prompt:focus-within{border-color:rgba(95,224,196,.6);box-shadow:var(--sh-lg),0 0 0 5px rgba(11,133,120,.18)}
[data-theme="dark"] .prompt-ph{color:#8f8d98}
[data-theme="dark"] .prompt-ph::after{background:#6f6d79}
[data-theme="dark"] .tool{background:var(--d-fill);color:var(--ink-2)}
[data-theme="dark"] .tool:hover{background:var(--soft)}
[data-theme="dark"] .pop{background:var(--d-raise);border-color:var(--line-2)}
[data-theme="dark"] .pop button:hover{background:var(--d-fill-2)}
[data-theme="dark"] .pop button.on{background:rgba(11,133,120,.22)}
[data-theme="dark"] .file-chip button:hover{background:rgba(255,255,255,.12)}
[data-theme="dark"] .send{background:var(--ink);color:var(--d-on)}
[data-theme="dark"] .send:hover{background:#fff;box-shadow:0 10px 26px -10px rgba(255,255,255,.3)}
[data-theme="dark"] .ideas button{background:rgba(255,255,255,.05);border-color:var(--line)}
[data-theme="dark"] .ideas button:hover{background:rgba(255,255,255,.1);border-color:var(--line-2)}

/* ---------- Segmented controls ---------- */
[data-theme="dark"] .seg,[data-theme="dark"] .bill{background:var(--card);border-color:var(--line-2)}
[data-theme="dark"] .seg button.on,[data-theme="dark"] .bill button.on{background:var(--ink);color:var(--d-on)}
[data-theme="dark"] .save-tag{background:rgba(140,207,63,.16);color:#c3e89f}
[data-theme="dark"] .bill button.on .save-tag{background:rgba(14,13,18,.12);color:var(--d-on)}

/* ---------- Showcase cards + browser frames ---------- */
[data-theme="dark"] .shot{background:var(--card);border-color:var(--line-2)}
[data-theme="dark"] .chrome,[data-theme="dark"] .stage-chrome{background:var(--d-raise);border-bottom-color:var(--line)}
[data-theme="dark"] .chrome i,[data-theme="dark"] .stage-chrome i{background:#3c4340}
[data-theme="dark"] .chrome span{background:var(--d-raise-2);color:#a3a1ab}
[data-theme="dark"] .stage-chrome span{background:var(--d-raise-2)}
[data-theme="dark"] .screen{background:#1b1f1d}
[data-theme="dark"] .phone{background:#08080b;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 18px 40px -14px rgba(0,0,0,.8)}
[data-theme="dark"] .hover{background:rgba(8,8,12,.55)}
[data-theme="dark"] .hover .btn-ink{background:rgba(14,13,18,.82);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
[data-theme="dark"] .hover .btn-ink:hover{background:#0e1110}
[data-theme="dark"] .dot-acc{box-shadow:0 0 0 1px rgba(255,255,255,.22)}

/* ---------- How it works ---------- */
[data-theme="dark"] .how-sec{background:linear-gradient(180deg,transparent,rgba(255,255,255,.03) 18%,rgba(255,255,255,.03) 82%,transparent)}
[data-theme="dark"] .steps li.on{background:var(--card);box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
[data-theme="dark"] .steps li.on .n{color:var(--d-on)}
[data-theme="dark"] .stage{background:var(--card);border-color:var(--line-2)}
[data-theme="dark"] .mini-prompt,[data-theme="dark"] .d-field{background:var(--d-fill);box-shadow:none}
[data-theme="dark"] .skel i{background:linear-gradient(90deg,#272c2a 25%,#353c39 50%,#272c2a 75%);background-size:200% 100%}
[data-theme="dark"] .bubble.me,[data-theme="dark"] .cb-msg.me{background:#08705f;color:#fff}
[data-theme="dark"] .dots i,[data-theme="dark"] .cb-msg.typing i{background:#8f8d98}
/* the mini site is a picture of a customer's website, so it stays a light page */
[data-theme="dark"] .mini-site{background:#fff;color:#0d0d12;border-color:transparent;box-shadow:0 0 0 1px var(--line-2)}
[data-theme="dark"] .ms-nav{border-bottom-color:rgba(13,13,18,.09)}
[data-theme="dark"] .kpis div{background:var(--d-fill)}
[data-theme="dark"] .kpis em,[data-theme="dark"] .dom-demo .ok,[data-theme="dark"] .c-card .meta-t{color:var(--d-ok)}

/* ---------- Cards ---------- */
[data-theme="dark"] .cell,[data-theme="dark"] .plan,[data-theme="dark"] .pkg,[data-theme="dark"] .svc,[data-theme="dark"] .proc,
[data-theme="dark"] .tok-card,[data-theme="dark"] .c-card,[data-theme="dark"] .form-card,[data-theme="dark"] .summary,
[data-theme="dark"] .co-card,[data-theme="dark"] .legal-card,[data-theme="dark"] .faq details,[data-theme="dark"] .promise div,
[data-theme="dark"] .cmp-wrap{background:var(--card)}
[data-theme="dark"] .cell:hover,[data-theme="dark"] .plan:hover,[data-theme="dark"] .pkg:hover,[data-theme="dark"] .svc:hover,[data-theme="dark"] .proc:hover{border-color:var(--line-2)}
[data-theme="dark"] .cell::after,[data-theme="dark"] .svc::after,[data-theme="dark"] .proc::after,[data-theme="dark"] .tok-card::after,[data-theme="dark"] .c-card::after{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(52,207,174,.14),transparent 60%)}
[data-theme="dark"] .plan.is-pop,[data-theme="dark"] .pkg.is-pop{background:linear-gradient(180deg,rgba(11,133,120,.1),transparent 45%),var(--card);box-shadow:var(--sh-lg),0 0 70px -30px rgba(22,180,126,.45)}
[data-theme="dark"] .cd-line{background:#3b423f}
[data-theme="dark"] .faq details[open]{border-color:var(--line-2)}
[data-theme="dark"] .feat li::before,[data-theme="dark"] .yes{background:rgba(74,222,128,.14)}
[data-theme="dark"] .feat li::after,[data-theme="dark"] .yes::after{border-color:var(--d-ok)}
[data-theme="dark"] .no::after{background:#5b5965}
[data-theme="dark"] .tagx{background:rgba(74,222,128,.14);color:var(--d-ok)}
[data-theme="dark"] .stack span,[data-theme="dark"] .marquee span{background:var(--card);border-color:var(--line-2)}
[data-theme="dark"] .coin{box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}

/* Bands that are dark in light mode: raised surface + hairline + their glow */
[data-theme="dark"] .bigger,[data-theme="dark"] .care{background:linear-gradient(140deg,#1d2321,#151918 60%);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),var(--sh-lg)}
[data-theme="dark"] .bigger::after{content:"";position:absolute;width:460px;height:460px;left:-180px;bottom:-300px;background:radial-gradient(circle,rgba(11,133,120,.4),transparent 65%);pointer-events:none}
[data-theme="dark"] .care .feat li::before{background:rgba(255,255,255,.14)}
[data-theme="dark"] .care .feat li::after{border-color:#fff}
[data-theme="dark"] .toast{background:var(--d-raise-2);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 44px -16px rgba(0,0,0,.9)}
[data-theme="dark"] .auth-r{background:#121715;box-shadow:inset 1px 0 0 rgba(255,255,255,.1)}
[data-theme="dark"] .auth-r::before{opacity:.8}
[data-theme="dark"] .mock-site{color:#0d0d12}

/* ---------- Tokens / packs / comparison ---------- */
[data-theme="dark"] .pack{background:var(--d-fill);border-color:var(--line-2)}
[data-theme="dark"] .pack:hover{border-color:rgba(255,255,255,.5)}
[data-theme="dark"] .pack.sel{border-color:transparent;background:rgba(11,133,120,.12);box-shadow:0 0 0 2px var(--d-v),var(--sh)}
[data-theme="dark"] .pack-tag{background:rgba(255,255,255,.1)}
[data-theme="dark"] .calc input[type=range]{accent-color:var(--d-v)}
[data-theme="dark"] .cmp thead th{background:var(--card)}
[data-theme="dark"] .cmp tbody tr:hover td{background:rgba(255,255,255,.035)}
[data-theme="dark"] .cmp .pop-col{background:rgba(11,133,120,.1)}
[data-theme="dark"] .cmp thead th.pop-col{background:linear-gradient(rgba(11,133,120,.1),rgba(11,133,120,.1)),var(--card)}
[data-theme="dark"] .cmp tbody tr:hover td.pop-col{background:rgba(11,133,120,.15)}

/* ---------- Forms ---------- */
[data-theme="dark"] .inp,[data-theme="dark"] .search input{background:#121514;border-color:var(--line-2);color:var(--ink)}
[data-theme="dark"] .inp:hover,[data-theme="dark"] .search input:hover{border-color:rgba(255,255,255,.24)}
[data-theme="dark"] select.inp{background:#121514 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a1ab' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat}
[data-theme="dark"] select.inp option,[data-theme="dark"] select.inp optgroup{background:#202423;color:#f4f3f0}
[data-theme="dark"] .inp:focus,[data-theme="dark"] .search input:focus{border-color:rgba(95,224,196,.75);box-shadow:0 0 0 4px rgba(11,133,120,.22)}
[data-theme="dark"] .inp:-webkit-autofill{-webkit-text-fill-color:#f4f3f0;box-shadow:0 0 0 1000px #1c201f inset;caret-color:#f4f3f0}
[data-theme="dark"] .fld .err{color:var(--d-bad)}
[data-theme="dark"] .fld.bad .inp{border-color:#f97066;box-shadow:0 0 0 4px rgba(249,112,102,.14)}
[data-theme="dark"] .chk input{accent-color:var(--d-v)}
[data-theme="dark"] .ropt input{accent-color:var(--d-v)}
[data-theme="dark"] .opt,[data-theme="dark"] .ropt,[data-theme="dark"] .pill-opt{background:var(--d-fill);border-color:var(--line-2)}
[data-theme="dark"] .opt:hover,[data-theme="dark"] .ropt:hover,[data-theme="dark"] .pill-opt:hover{border-color:rgba(255,255,255,.5)}
[data-theme="dark"] .opt.sel{border-color:transparent;box-shadow:0 0 0 2px var(--d-v);background:rgba(11,133,120,.14)}
[data-theme="dark"] .ropt:has(input:checked){border-color:transparent;box-shadow:0 0 0 2px var(--d-v);background:rgba(11,133,120,.14)}
[data-theme="dark"] .pill-opt.sel{background:var(--ink);border-color:var(--ink);color:var(--d-on)}
[data-theme="dark"] .est{background:linear-gradient(135deg,rgba(140,207,63,.16),rgba(22,180,126,.12) 50%,rgba(11,133,120,.2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
[data-theme="dark"] .files-up{background:var(--d-fill)}
[data-theme="dark"] .files-up:hover,[data-theme="dark"] .files-up.drag{border-color:var(--d-v);background:rgba(11,133,120,.1)}
[data-theme="dark"] .q-prog i,[data-theme="dark"] .strength i{background:var(--d-raise-2)}
[data-theme="dark"] .q-prog i.on{background:var(--grad)}
[data-theme="dark"] .strength[data-s="1"] i:nth-child(-n+1){background:#ef4444}
[data-theme="dark"] .strength[data-s="2"] i:nth-child(-n+2){background:#f59e0b}
[data-theme="dark"] .strength[data-s="3"] i:nth-child(-n+3){background:#84cc16}
[data-theme="dark"] .strength[data-s="4"] i:nth-child(-n+4){background:#22c55e}
[data-theme="dark"] .empty-state{background:var(--d-fill)}

/* ---------- Alerts ---------- */
[data-theme="dark"] .alert-error{background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.4);color:#ffa39b}
[data-theme="dark"] .alert-ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.38);color:#7ee2a8}
[data-theme="dark"] .alert-info{background:rgba(11,133,120,.14);border-color:rgba(52,207,174,.42);color:#b3f2e2}

/* ---------- Legal ---------- */
[data-theme="dark"] .legal-nav a.on{background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2),var(--sh)}

/* ---------- Viewer (template preview) ---------- */
[data-theme="dark"] .viewer{background:#090b0a}
[data-theme="dark"] .v-bar{background:var(--card);border-bottom-color:var(--line-2)}
[data-theme="dark"] .v-dev button.on{background:#3b423f;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.5)}
[data-theme="dark"] .v-frame{box-shadow:0 0 0 1px rgba(255,255,255,.1),0 24px 70px -30px rgba(0,0,0,.9)}
[data-theme="dark"] .v-frame.tablet,[data-theme="dark"] .v-frame.mobile{border-color:#2b302e;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 24px 70px -30px rgba(0,0,0,.9)}

/* ---------- Chat widget ---------- */
[data-theme="dark"] .cb-launch{background:var(--ink);color:var(--d-on);box-shadow:0 14px 34px -12px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.2)}
[data-theme="dark"] .cb-panel{background:var(--card);border-color:var(--line-2);box-shadow:var(--sh-lg),0 0 0 1px rgba(0,0,0,.5)}
[data-theme="dark"] .cb-msg.err{background:rgba(240,68,56,.14);color:#ffa39b}
[data-theme="dark"] .cb-sugs button{background:var(--d-fill);border-color:var(--line-2)}
[data-theme="dark"] .cb-sugs button:hover{border-color:rgba(255,255,255,.5);background:var(--d-fill-2)}
[data-theme="dark"] .cb-form{background:#121514}
[data-theme="dark"] .cb-form:focus-within{border-color:rgba(95,224,196,.7);box-shadow:0 0 0 4px rgba(11,133,120,.2)}
[data-theme="dark"] .cb-form button{color:var(--d-on)}

/* Assistant icon: white mark on dark surfaces */

/* ---------- Legal documents + cookie banner (appended) ---------- */
[data-theme="dark"] .legal-short,[data-theme="dark"] .legal-contact{background:var(--d-fill-2)}
[data-theme="dark"] .legal-toc{border-color:var(--line-2)}
[data-theme="dark"] .legal-table th{background:var(--d-fill-2)}
[data-theme="dark"] .legal-table,[data-theme="dark"] .legal-table td,[data-theme="dark"] .legal-table tr{border-color:var(--line)}
[data-theme="dark"] .ck{background:var(--d-raise);border-color:var(--line-2)}

/* ───────── Lovoline look: line grid, forest buttons, line accents ───────── */
.hero::before,.phero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(11,133,120,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(11,133,120,.09) 1px,transparent 1px);
  background-size:56px 56px;background-position:center top;
  -webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 28%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 72% 62% at 50% 28%,#000 25%,transparent 78%)}
.hero-in,.phero .wrap{z-index:1}
:root:not([data-theme="dark"]) .promo{background:#0f2b27;color:rgba(255,255,255,.82)}
.promo{position:relative}
.promo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad);opacity:.9}
:root:not([data-theme="dark"]) .btn-ink{background:#0f2b27}
:root:not([data-theme="dark"]) .btn-ink:hover{background:#154039;box-shadow:0 10px 24px -10px rgba(15,43,39,.55)}
:root:not([data-theme="dark"]) .badge-arrow{background:#0f2b27}
.kicker::before{content:"";display:inline-block;width:26px;height:2px;margin-right:10px;vertical-align:.3em;border-radius:2px;background:var(--grad)}
.menu>a[aria-current="page"]{color:var(--v);opacity:1}
[data-theme="dark"] .menu>a[aria-current="page"]{color:var(--d-v)}
.hero h1 .serif,.phero h1 .serif{position:relative}
.badge{border-radius:12px}
.badge-arrow{border-radius:8px}
[data-theme="dark"] .hero::before,[data-theme="dark"] .phero::before{background-image:linear-gradient(rgba(95,224,196,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(95,224,196,.07) 1px,transparent 1px)}
