/* AdBuddy web v0 - barvy a pravidla podle brand manuálu (papír, inkoust, oranžová šála; ostré hrany, linky místo karet). */
@font-face{font-family:"Jakarta";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jakarta";font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --paper:#F7F6F3;--surface:#FFFFFF;--ink:#111111;--muted:#5E5E5E;--faint:#6F6C64;
  --line:#DDDBD5;--line-strong:#CFCCC4;--accent:#F0532D;--accent-text:#C2410C;--on-ink-muted:#C9C9C9;
  --w:1160px;--gut:clamp(20px,4vw,40px);--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 "Jakarta",system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"ss01";text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-text)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
p{margin:0}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:9}
.skip:focus{left:8px}

/* Hlavička */
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px}
.logo img{height:28px;width:auto}
.nav{display:flex;align-items:center;font-size:15px;font-weight:600}
.nav a{text-decoration:none;padding:4px 18px;border-left:1px solid var(--line-strong)}
.nav a:first-child{border-left:0}
.nav .nav-cta{border:1px solid var(--ink);margin-left:18px;padding:9px 14px}
.nav .nav-cta:hover{background:var(--ink);color:#fff}
@media (max-width:720px){.nav a:not(.nav-cta){display:none}.nav .nav-cta{margin-left:0}}

/* Tlačítko: černý obdélník + oranžový čtverec se šipkou */
.btn{display:inline-flex;align-items:stretch;text-decoration:none;font-weight:700;font-size:16px;color:#fff;margin-top:34px}
.btn span{background:var(--ink);padding:16px 22px}
.btn i{font-style:normal;background:var(--accent);width:54px;display:grid;place-items:center;font-size:20px;transition:transform .25s var(--ease)}
.btn:hover{color:#fff}
.btn:hover i{transform:translate(3px,-3px)}
.small{font-size:14px;color:var(--faint);margin-top:14px}

/* Úvod */
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;padding-top:clamp(28px,6vw,72px);padding-bottom:clamp(48px,8vw,104px)}
.hero h1{font-size:clamp(46px,7.4vw,96px);letter-spacing:-.045em;line-height:.98}
.lead{font-size:clamp(18px,1.6vw,20px);color:var(--muted);max-width:34em;margin-top:28px}
.hero-art{position:relative;aspect-ratio:400/300}
.gauge{position:absolute;inset:0 0 auto 0;width:100%;overflow:visible}
.gauge-arc{fill:none;stroke:var(--ink);stroke-width:1.5}
.gauge-red{fill:none;stroke:var(--accent);stroke-width:5}
.gauge-ticks line{stroke:var(--ink);stroke-width:1.2}
.gauge-ticks line.major{stroke-width:2.4}
.needle{transform-origin:200px 220px;transform:rotate(-90deg)}
.needle line{stroke:var(--accent);stroke-width:4;stroke-linecap:square}
.needle circle{fill:var(--ink)}
.hero-buddy{position:absolute;left:-6%;bottom:-4%;width:76%;filter:drop-shadow(0 18px 18px rgba(17,17,17,.12));transition:transform .5s var(--ease)}
.is-ready .needle{animation:rev 1.6s .25s var(--ease) both}
@keyframes rev{0%{transform:rotate(-90deg)}55%{transform:rotate(82deg)}75%{transform:rotate(50deg)}100%{transform:rotate(58deg)}}
@media (max-width:860px){.hero{grid-template-columns:1fr}.hero-art{max-width:460px;width:100%;margin:8px auto 0}.hero-buddy{left:0;width:80%}}

/* Bloky */
.block{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px);border-top:1px solid var(--line)}
.block h2{font-size:clamp(32px,4.4vw,54px)}
.block > p, .split p{color:var(--muted)}
.sub{color:var(--muted);margin-top:12px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:start}
.split > p{font-size:18px;padding-top:6px}
.split h2 + p{margin-top:22px}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* Kroky jako závodní trať */
.track{position:relative;height:2px;background:var(--line-strong);margin:56px 0 0}
.track-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--p,0)*100%);background:var(--ink)}
.track-car{position:absolute;bottom:-4px;left:calc(var(--p,0)*100%);width:96px;transform:translateX(-62%);pointer-events:none}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.steps li{padding:36px 32px 0;border-left:1px solid var(--line-strong);position:relative}
.steps li:first-child{border-left:0;padding-left:0}
.steps li::before{content:"";position:absolute;top:-6px;left:-6px;width:11px;height:11px;background:var(--paper);border:2px solid var(--ink)}
.steps li:first-child::before{left:0}
.steps li.passed::before{background:var(--accent);border-color:var(--accent)}
.steps img{height:150px;width:auto;margin-bottom:22px}
.steps h3{font-size:22px;letter-spacing:-.02em;line-height:1.2;font-weight:700}
.steps h3 b{font-weight:800;display:block;font-size:36px;letter-spacing:-.04em;margin-bottom:6px}
.steps p{color:var(--muted);margin-top:12px}
@media (max-width:860px){
  .track{display:none}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li:first-child{border-left:0;border-top:1px solid var(--line-strong);padding:32px 0}
  .steps li::before{display:none}
  .steps img{height:120px}
}

/* Sliby */
.checks{list-style:none;margin:0;padding:0;font-size:18px;font-weight:600}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.checks li:last-child{border-bottom:1px solid var(--line)}
.checks svg{width:24px;height:24px;margin-top:2px;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:square}
.js .checks path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s var(--ease)}
.js .checks li.on path{stroke-dashoffset:0}

/* Ceny */
.prices{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.price{padding:28px 32px 34px;border-left:1px solid var(--line-strong)}
.price:first-child{border-left:0;padding-left:0}
.price h3{font-size:18px;letter-spacing:-.01em;font-weight:700}
.amount{font-size:clamp(34px,3.6vw,46px);font-weight:800;letter-spacing:-.04em;margin:14px 0 14px;line-height:1.05}
.amount small{display:block;font-size:14px;font-weight:500;letter-spacing:0;color:var(--faint);margin-top:6px}
.price p:last-child{color:var(--muted);font-size:16px}
.note{font-size:14px;color:var(--faint);margin-top:18px}
@media (max-width:860px){.prices{grid-template-columns:1fr}.price,.price:first-child{border-left:0;padding:24px 0;border-top:1px solid var(--line)}.price:first-child{border-top:0}}

/* Ukázka jednoho rána */
.morning{margin:0}
.morning-steps{list-style:none;margin:0 0 22px;padding:0;display:flex;font-size:14px;font-weight:600;color:var(--faint)}
.morning-steps li{padding:0 14px;border-left:1px solid var(--line-strong);transition:color .3s}
.morning-steps li:first-child{padding-left:0;border-left:0}
.morning-steps li.on{color:var(--ink)}
.notice{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;background:var(--surface);border:1px solid var(--line);padding:18px 20px;box-shadow:0 18px 40px -24px rgba(17,17,17,.35)}
.notice img{width:72px}
.notice p{color:var(--ink);font-size:15.5px;line-height:1.5}
.notice-head{display:flex;justify-content:space-between;margin-bottom:6px}
.notice-head span{color:var(--faint);font-size:13px}
.morning figcaption{font-size:13px;color:var(--faint);margin-top:10px}
.js .notice{opacity:0;transform:translateY(26px)}
.morning.on .notice{opacity:1;transform:none;transition:opacity .5s var(--ease) 1.1s,transform .6s var(--ease) 1.1s}

/* Černý pás */
.band{background:var(--ink);color:#fff;overflow:hidden}
.band-in{position:relative;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.band h2{font-size:clamp(40px,6.4vw,84px);max-width:9em}
.band p{color:var(--on-ink-muted);font-size:19px;max-width:34em;margin-top:26px}
.band-buddy{position:absolute;right:var(--gut);bottom:clamp(40px,6vw,80px);width:min(24vw,250px)}
@media (max-width:860px){.band-buddy{position:static;width:180px;margin:36px 0 0 auto}}


/* Formulář čekací listiny */
.form{background:var(--surface);border:1px solid var(--line);padding:clamp(22px,3vw,34px)}
.field{margin:0 0 18px;border:0;padding:0;min-width:0}
.field label,.field legend{display:block;font-weight:700;font-size:15px;margin-bottom:7px;padding:0}
.opt{font-weight:500;color:var(--faint);font-size:13px;margin-left:6px}
.form input[type=email],.form input[type=text],.form select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:0;padding:12px 14px;appearance:none}
.form select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.form input:focus,.form select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--ink)}
.form [aria-invalid=true]{border-color:#B42318}
.choices{display:flex;flex-wrap:wrap;gap:8px 22px}
.choices label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:16px;margin:0}
.form input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);margin:0;flex:none}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin:6px 0 4px;line-height:1.5}
.consent input{margin-top:2px!important}
.form .btn{margin-top:18px;border:0;padding:0;cursor:pointer;font:inherit;font-weight:700}
.form .btn[disabled]{opacity:.6;cursor:wait}
.form-msg{font-size:15px;font-weight:600;min-height:0;margin-top:10px}
.form-msg.bad{color:#B42318}
.form-msg.good{color:#1F7A45}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.waitlist .split{align-items:start}
.waitlist-buddy{width:min(70%,240px);margin-top:36px}
.form.done{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:300px}
.form.done h3{font-size:30px;margin-bottom:12px}
.form.done p{color:var(--muted)}

/* Patička */
.foot{background:var(--ink);color:var(--on-ink-muted);font-size:14px;border-top:1px solid #2a2a2a}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding-top:34px;padding-bottom:34px;position:relative}
.foot-in > img{height:22px;width:auto;margin-right:8px}
.foot a{color:#fff}
.sleeper{margin-left:auto;background:none;border:0;padding:0;cursor:pointer;width:120px}
.sleeper img{width:120px;transform-origin:60% 100%;animation:breathe 4.2s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.025,1.04)}}
.sleeper.wake img{animation:wiggle .6s var(--ease)}
@keyframes wiggle{25%{transform:rotate(-4deg)}75%{transform:rotate(3deg)}}
@media (max-width:720px){.sleeper{margin-left:0}}

/* Právní stránky */
.legal{max-width:820px;padding-top:24px;padding-bottom:96px}
.legal h1{font-size:clamp(34px,5vw,52px);margin:24px 0 10px}
.legal .meta{color:var(--faint);font-size:15px;margin-bottom:40px}
.legal section{border-top:1px solid var(--line);padding-top:28px;margin-top:36px;scroll-margin-top:16px}
.legal h2{font-size:22px;letter-spacing:-.02em;line-height:1.25;margin-bottom:16px}
.legal h2 .cislo{display:block;font-size:14px;font-weight:600;letter-spacing:0;color:var(--faint);margin-bottom:4px}
.legal p{font-size:16px;line-height:1.65;color:#2b2b2b}
.legal .odst{display:grid;grid-template-columns:3.2em 1fr;gap:4px;margin:12px 0;scroll-margin-top:16px}
.legal .odst .cislo{color:var(--faint);font-variant-numeric:tabular-nums}
.legal .odst:target{background:#fff3ee;outline:6px solid #fff3ee}
.legal .blok{margin:8px 0 8px 3.4em;padding:12px 16px;border-left:2px solid var(--accent);background:var(--surface)}
.legal .pokracovani{margin-left:3.4em}
.legal ol.body{margin:6px 0 14px 3.4em;padding-left:1.4em}
.legal ol.body li{margin:6px 0;font-size:16px;color:#2b2b2b}
.legal .tabulka{overflow-x:auto;margin:16px 0 20px}
.legal table{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}
.legal th,.legal td{border-top:1px solid var(--line);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.legal th{border-top:1px solid var(--ink);font-weight:700}
@media (max-width:600px){.legal .odst{grid-template-columns:1fr}.legal .blok,.legal .pokracovani,.legal ol.body{margin-left:0}}

/* 404 */
.notfound{padding:48px var(--gut) 120px;max-width:720px}
.notfound img{width:220px;margin-bottom:28px}
.notfound h1{font-size:clamp(36px,6vw,64px)}
.notfound p{color:var(--muted);margin-top:16px;font-size:18px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .needle{transform:rotate(58deg)}
  .js .notice{opacity:1;transform:none}
  .js .checks path{stroke-dashoffset:0}
}
