/* SomnoLab relaunch 2026-11 — sdílené styly landeru i checkoutu */
:root{
  --night:#0A1430; --night-2:#132250; --night-3:#1C2E66;
  --ink:#0E1630; --ink-2:#47506A; --ink-3:#7A8199;
  --paper:#F5F3EE; --card:#FFFFFF; --line:#E5E1D8; --line-2:#EFECE6;
  --amber:#FFB423; --amber-2:#FF9D0A; --amber-ink:#1B1200;
  --blue:#3D7BF7; --blue-soft:#E8F0FF;
  --green:#15944A; --green-soft:#E6F6EC;
  --red:#E0294A; --red-soft:#FDECEF;
  --star:#FFB423;
  --r:18px; --r-sm:12px;
  --shadow:0 1px 2px rgba(14,22,48,.06),0 8px 24px rgba(14,22,48,.08);
  --display:"Plus Jakarta Sans",system-ui,sans-serif;
  --body:"DM Sans",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;line-height:1.08}
h2{font-size:clamp(28px,6.4vw,44px);font-weight:800}
.hl{color:var(--amber)}
.stars{display:inline-flex;gap:2px;color:var(--star)}
.stars svg{width:16px;height:16px;fill:currentColor;stroke:currentColor}

/* ---------- Top bar ---------- */
.topbar{background:#050B1E;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;text-align:center;padding:7px 10px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:center;line-height:1.3}
.topbar .tag{color:var(--amber)}
@media (max-width:600px){.topbar .tag{display:none}}
.clock{display:inline-flex;gap:2px;font-variant-numeric:tabular-nums;align-items:center}
.clock b{background:rgba(255,255,255,.14);border-radius:4px;padding:0 4px;min-width:22px;display:inline-block;text-align:center}

/* ---------- CTA ---------- */
.cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:16px 24px;border-radius:16px;
  background:linear-gradient(180deg,#FFC24A 0%,var(--amber) 45%,var(--amber-2) 100%);color:var(--amber-ink);
  font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.01em;text-decoration:none;
  box-shadow:0 2px 0 #C97700,0 10px 28px rgba(255,166,10,.35);transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}
.cta:hover{transform:translateY(-1px);box-shadow:0 3px 0 #C97700,0 14px 34px rgba(255,166,10,.45)}
.cta:active{transform:translateY(1px);box-shadow:0 1px 0 #C97700,0 6px 16px rgba(255,166,10,.3)}
.cta svg{width:22px;height:22px;flex:none}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:shine 3.6s ease-in-out infinite}
@keyframes shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){.cta::after{animation:none}}
.cta[disabled]{opacity:.6;pointer-events:none}

.assure{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:12px;font-size:13.5px;font-weight:500;color:var(--ink-2)}
.assure span{display:inline-flex;align-items:center;gap:6px}
.assure svg{width:16px;height:16px;color:var(--green)}
.on-dark.assure,.on-dark .assure{color:rgba(255,255,255,.9)}
.on-dark.assure svg,.on-dark .assure svg{color:#5BE08F}

/* ---------- Reviews ---------- */
.rev{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}
.rev q{quotes:none;font-size:15.5px;line-height:1.5;color:var(--ink)}
.rev .who{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;margin-top:auto}
.rev .who b{font-weight:700}
.rev .ver{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:600;font-size:12.5px}
.rev .ver svg{width:14px;height:14px}
.rev .ago{color:var(--ink-3);font-size:12.5px}
.rev img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}

/* ---------- Footer ---------- */
.foot{background:#050B1E;color:rgba(255,255,255,.6);font-size:13px;padding:32px 0 110px;text-align:center}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:14px}
.foot a{color:rgba(255,255,255,.82);text-decoration:none}
.foot a:hover{color:#fff}
.foot p{max-width:640px;margin:0 auto}
