/* ═══ TESTOMAX design system ═══
   Barevná logika (záměrná, nesahat bez důvodu):
   ORANŽOVÁ = výhradně klikatelné akce. Nic jiného oranžové není, proto tlačítko drží pozornost.
   AZUROVÁ  = data, čísla, důkaz.
   ZELENÁ   = potvrzení, garance, bezpečí.
   ─────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
:root{
 --bg:#060b14;--bg2:#0a1220;--panel:#0e1626;--panel2:#132038;--line:#1d3550;
 --cyan:#33bdf7;--cyan-d:#0e7fb3;--orange:#ff6a3d;--orange-h:#ff805c;
 --gold:#f5c451;--green:#3ddc97;--purple:#9b7bf0;
 --tx:#eef3f9;--tx2:#c3cedb;--mut:#8593a4;
 --hero-img:url('img/hero.jpg');
 --hero-img-m:url('img/hero-m.jpg');
}
html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);color:var(--tx);line-height:1.62;-webkit-font-smoothing:antialiased;
 font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.narrow{max-width:780px;margin:0 auto;padding:0 22px}
a{color:var(--cyan)}
h1{font-size:clamp(31px,4.6vw,54px);font-weight:800;letter-spacing:-1.4px;line-height:1.06}
h2{font-size:clamp(25px,3.4vw,38px);font-weight:800;letter-spacing:-.7px;line-height:1.15}
h3{font-size:18px;font-weight:800;letter-spacing:-.2px}
.kicker{color:var(--cyan);font-size:11.5px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase}
.mut{color:var(--mut)}.cy{color:var(--cyan)}.gr{color:var(--green)}.gd{color:var(--gold)}
section{padding:72px 0;border-top:1px solid #0f1a2b}
.card{background:var(--panel);border-radius:14px;padding:24px 26px}
.bl{border-left:4px solid var(--cyan)}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}

/* ── HERO ── */
.hero{position:relative;overflow:hidden;border-top:0}
.hero-bg{position:absolute;inset:0;background-image:var(--hero-img);
 background-size:cover;background-position:72% center;opacity:1;z-index:0}
.hero-veil{position:absolute;inset:0;z-index:1;
 background:
  linear-gradient(90deg,rgba(6,11,20,.97) 0%,rgba(6,11,20,.92) 34%,rgba(6,11,20,.55) 56%,rgba(6,11,20,.18) 78%,rgba(6,11,20,.10) 100%),
  linear-gradient(180deg,rgba(6,11,20,.30) 0%,rgba(6,11,20,0) 26%,rgba(6,11,20,.55) 78%,var(--bg) 100%)}
.hero-in{position:relative;z-index:2;padding:46px 0 66px;min-height:min(84vh,780px);display:flex;align-items:center}
/* kdyz je videt cookie lista, obsah se o ni odsadi, at nic neprekryva */
body.ck-on{padding-bottom:var(--ckh,0px)}

body.ck-on .hero-in{min-height:0;padding-top:24px;padding-bottom:calc(20px + var(--ckh,0px))}
body.ck-on .stats{margin:14px 0 2px}
body.ck-on .formbox{margin-top:14px!important}
body.ck-on h1{font-size:clamp(30px,4.4vw,52px)}
.hero-in>.wrap{width:100%}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.hero-solo{max-width:560px}

/* ── STATISTIKY ── */
.stats{display:flex;gap:30px;flex-wrap:wrap;margin:20px 0 4px}
.stat .n{font-size:30px;font-weight:900;letter-spacing:-1px;line-height:1.1}
.stat .l{font-size:12.5px;color:var(--mut);margin-top:2px}

/* ── FORMULÁŘ ── */
.formbox{background:rgba(14,22,38,.94);border:1px solid var(--line);border-radius:16px;
 padding:22px 24px 18px;backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.45)}
label{display:block;font-size:12.5px;font-weight:700;color:#aab7c7;margin-bottom:7px}
input[type=email],input[type=text]{width:100%;background:#071020;border:1.5px solid var(--line);
 border-radius:10px;padding:16px 15px;color:var(--tx);font-size:16px;font-family:inherit;margin-bottom:14px}
input:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(51,189,247,.14)}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
 -webkit-text-fill-color:var(--tx)!important;-webkit-box-shadow:0 0 0 1000px #071020 inset!important;
 box-shadow:0 0 0 1000px #071020 inset!important;caret-color:var(--tx);
 transition:background-color 9999s ease-in-out 0s}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--mut);line-height:1.5;margin-bottom:16px}
.chk input{margin-top:3px;width:17px;height:17px;flex:0 0 17px;accent-color:var(--cyan)}
.btn{display:block;width:100%;text-align:center;background:var(--orange);color:#fff;
 font-family:inherit;font-weight:800;font-size:17px;letter-spacing:.2px;padding:18px 26px;
 border:0;border-radius:11px;cursor:pointer;text-decoration:none;
 box-shadow:0 10px 30px rgba(255,106,61,.28);transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{background:var(--orange-h);transform:translateY(-1px);box-shadow:0 14px 36px rgba(255,106,61,.36)}
.btn:active{transform:translateY(0)}
.btn.g{background:var(--green);color:#052614;box-shadow:0 10px 30px rgba(61,220,151,.22)}
.btn.g:hover{background:#5ae8ac}
.trust{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:14px;
 font-size:11.5px;color:var(--mut)}
.trust span{display:inline-flex;gap:5px;align-items:center}
.trust b{color:var(--green);font-size:13px}

/* ── MOCKUP PDF ── */
.mock{position:relative;perspective:1400px;display:flex;justify-content:center}
.mock img{width:72%;max-width:300px;border-radius:5px;
 transform:rotateY(-14deg) rotateX(4deg) rotateZ(-1.5deg);
 box-shadow:-26px 30px 70px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.16),0 0 60px rgba(51,189,247,.10)}
.mock::after{content:"";position:absolute;bottom:-14px;left:16%;right:16%;height:26px;
 background:radial-gradient(ellipse at center,rgba(0,0,0,.6),transparent 70%);filter:blur(7px)}

/* ── DROBNOSTI ── */
.tick{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px;font-size:15px;color:var(--tx2)}
.tick i{color:var(--green);font-style:normal;font-weight:900;flex:0 0 auto;line-height:1.5}
.pill{display:inline-block;background:#122238;color:var(--cyan);font-size:11.5px;font-weight:700;
 padding:5px 12px;border-radius:6px;letter-spacing:.4px}
.warnbox{background:#3a1410;border:1.5px solid var(--orange);border-radius:10px;padding:13px 15px;
 font-size:13px;color:#ffd0c2;margin-bottom:14px;line-height:1.5}
footer{padding:40px 0 110px;border-top:1px solid #0f1a2b;text-align:center;color:#55616f;font-size:12.5px}
footer a{color:#6d7d8f}

/* ── STICKY CTA (mobil) ── */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
 background:rgba(6,11,20,.93);backdrop-filter:blur(10px);border-top:1px solid var(--line);
 display:none;transform:translateY(110%);transition:transform .22s}
.sticky.on{transform:translateY(0)}
.sticky .btn{padding:15px 20px;font-size:16px}

/* ── OTO / nabídkové stránky ── */
.overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:44px 16px}
.modal{max-width:690px;width:100%;background:var(--panel);border:2px solid var(--orange);
 border-radius:18px;padding:36px 36px 30px;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.modal.g{border-color:var(--green)}
.badge{display:inline-block;background:var(--orange);color:#fff;font-size:11.5px;font-weight:800;
 letter-spacing:1.6px;padding:6px 13px;border-radius:6px;text-transform:uppercase}
.badge.g{background:var(--green);color:#052614}
.price{font-size:56px;font-weight:900;letter-spacing:-2px;line-height:1}
.price s{font-size:24px;font-weight:700;color:#5d6b7d;letter-spacing:0;margin-right:12px}
a.decline{display:block;text-align:center;margin-top:16px;color:#7b899b;font-size:13.5px;text-decoration:underline}
a.decline:hover{color:#aab6c5}

@media(max-width:900px){
 .hero-grid{grid-template-columns:1fr;gap:30px}
 .mock{order:2;margin-top:6px}.mock img{max-width:210px;transform:rotateY(-10deg)}
 .g3,.g4{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .hero-bg{background-image:var(--hero-img-m);background-position:68% center}
 .hero-veil{background:
  linear-gradient(180deg,rgba(6,11,20,.80) 0%,rgba(6,11,20,.74) 18%,rgba(6,11,20,.86) 42%,rgba(6,11,20,.96) 62%,var(--bg) 88%)}
 .hero-in{min-height:auto;display:block}
}
@media(max-width:620px){
 .g2,.g3,.g4{grid-template-columns:1fr}
 .mock img{max-width:170px}
 section{padding:52px 0}
 .hero-in{padding:34px 0 44px}
 body.ck-on .hero-in{min-height:auto;padding-top:10px;padding-bottom:calc(14px + var(--ckh,0px))}
 body.ck-on .kicker{margin-bottom:2px;font-size:11px}
 /* na mobilu se lista nevejde vedle hero obsahu, tak ho na tu chvili stlacime */
 body.ck-on h1{font-size:clamp(26px,7.4vw,34px);line-height:1.04}
 body.ck-on .hero-solo>div>p{font-size:14.5px!important;line-height:1.5!important;margin-top:10px!important}
 body.ck-on .stats{display:flex;flex-wrap:nowrap;gap:16px;margin:10px 0 0}
 body.ck-on .stats .n{font-size:20px}
 body.ck-on .stats .l{font-size:10.5px;line-height:1.35}
 body.ck-on .formbox{margin-top:10px!important;padding:14px!important}
 body.ck-on .trust{margin-top:8px!important;font-size:11px}
 .sticky{display:block}
 .stats{gap:18px;margin:14px 0 2px}
 .stats .n{font-size:26px}
 .formbox{margin-top:16px!important}
 .modal{padding:26px 20px 22px}.price{font-size:44px}
}

/* ── Prodejní stránky produktů ── */
.pbuy{background:var(--panel);border:2px solid var(--orange);border-radius:16px;padding:28px;text-align:center}
.pbuy.g{border-color:var(--green)}
.mod{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #16243a}
.mod:last-child{border-bottom:0}
.mod .n{font-weight:900;color:var(--cyan);font-size:15px;min-width:30px}
.mod .t{font-weight:700;font-size:15px}
.mod .d{font-size:13.5px;color:var(--mut);margin-top:3px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.two{grid-template-columns:1fr}}

/* Produktové stránky: vpravo je mockup, fotka jde do pozadí jako textura */
.hero.prod .hero-bg{background-position:86% center;opacity:.42}
.hero.prod .hero-veil{background:
 linear-gradient(90deg,rgba(6,11,20,.97) 0%,rgba(6,11,20,.90) 40%,rgba(6,11,20,.80) 70%,rgba(6,11,20,.78) 100%),
 linear-gradient(180deg,rgba(6,11,20,.25) 0%,rgba(6,11,20,0) 30%,rgba(6,11,20,.70) 82%,var(--bg) 100%)}
@media(max-width:900px){.hero.prod .hero-bg{opacity:.30}}

/* ══ Jednotné pozadí pro stránky bez hero sekce ══
   Stejná fotka, stejné posazení i stejný závoj jako na hlavní stránce,
   jen omezené na horní pás, aby obsah níž zůstal čistý. */
body{position:relative}
.pagebg{position:absolute;top:0;left:0;right:0;height:860px;z-index:0;
 background-image:var(--hero-img);background-size:cover;background-position:72% center;
 opacity:1;pointer-events:none}
.pageveil{position:absolute;top:0;left:0;right:0;height:860px;z-index:1;pointer-events:none;
 background:
  linear-gradient(90deg,rgba(6,11,20,.96) 0%,rgba(6,11,20,.90) 34%,rgba(6,11,20,.62) 58%,rgba(6,11,20,.30) 80%,rgba(6,11,20,.22) 100%),
  linear-gradient(180deg,rgba(6,11,20,.34) 0%,rgba(6,11,20,.22) 24%,rgba(6,11,20,.72) 62%,rgba(6,11,20,.94) 86%,var(--bg) 100%)}
section,footer,.overlay,.sticky{position:relative;z-index:2}
@media(max-width:900px){
 .pagebg{background-image:var(--hero-img-m);background-position:68% center;height:700px}
 .pageveil{height:700px;background:
  linear-gradient(180deg,rgba(6,11,20,.80) 0%,rgba(6,11,20,.74) 16%,rgba(6,11,20,.88) 44%,rgba(6,11,20,.97) 68%,var(--bg) 100%)}
}

/* Právní stránka: fotka jen jako náznak, ať nekonkuruje textu */
body.legal .pagebg{opacity:.34;height:520px}
body.legal .pageveil{height:520px;background:
 linear-gradient(180deg,rgba(6,11,20,.72) 0%,rgba(6,11,20,.86) 45%,var(--bg) 100%)}

/* ══ Video slot ══ */
.video{position:relative;width:100%;padding-top:56.25%;background:#071020;border-radius:12px;
 overflow:hidden;border:1px solid var(--line);margin:0 0 22px;
 box-shadow:0 18px 50px rgba(0,0,0,.45)}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video[hidden]{display:none}
.videonote{font-size:12.5px;color:var(--mut);text-align:center;margin:-10px 0 20px}

/* tlacitko na stazeni magnetu na nabidkove strance */
.dl{display:inline-block;margin-top:14px;padding:11px 22px;border:1.5px solid var(--cyan);
 border-radius:8px;color:var(--cyan);font-weight:700;font-size:14.5px;text-decoration:none;
 background:rgba(51,189,247,.07);transition:background .15s}
.dl:hover{background:rgba(51,189,247,.16)}

/* ── Souhlas s cookies ── */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#070d18;
 border-top:2px solid var(--cyan);box-shadow:0 -18px 44px rgba(0,0,0,.6);
 padding:13px 20px calc(13px + env(safe-area-inset-bottom));
 max-height:82vh;overflow-y:auto}
.ck-in{max-width:1060px;margin:0 auto;display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap}
.ck-tx{flex:1 1 380px;font-size:13.5px;line-height:1.6;color:var(--tx2)}
.ck-tx b{color:var(--tx)}
.ck-tx a{color:var(--cyan)}
.ck-bt{display:flex;gap:10px;flex:0 0 auto}
/* obe tlacitka zamerne stejne vyrazna: odmitnuti musi byt stejne snadne jako prijeti */
.ck-b{appearance:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:13.5px;
 padding:10px 18px;border-radius:9px;border:1.8px solid var(--cyan);
 background:rgba(51,189,247,.10);color:var(--cyan);white-space:nowrap;transition:background .15s}
.ck-b:hover{background:rgba(51,189,247,.22)}
.ck-vol{appearance:none;background:none;border:none;cursor:pointer;font-family:inherit;
 font-size:12.5px;color:var(--mut);text-decoration:underline;padding:4px 0;flex:0 0 auto}
.ck-vol:hover{color:var(--tx2)}
.ck-det{max-width:1000px;margin:16px auto 0;border-top:1px solid #16243a;padding-top:14px}
.ck-r{display:flex;gap:12px;align-items:flex-start;padding:11px 0;
 font-size:13px;line-height:1.55;color:var(--tx2)}
.ck-r b{color:var(--tx);font-size:13.5px}
.ck-r input{width:18px;height:18px;margin-top:2px;flex:0 0 18px;accent-color:#33bdf7;cursor:pointer}
.ck-r input:disabled{cursor:not-allowed;opacity:.55}
.ck-full{width:100%;margin-top:12px;text-align:center}
@media (max-width:640px){
 .ck{padding:11px 14px calc(11px + env(safe-area-inset-bottom))}
 .ck-in{gap:9px}
 .ck-bt{width:100%}
 .ck-b{flex:1;padding:11px 8px;font-size:13px}
 .ck-tx{flex:1 1 100%;font-size:12.5px;line-height:1.5}
 .ck-vol{font-size:12px}
}
