/* JPS prijímačky: ukážkový test (testový zošit + záznamový hárok) */
.desk{position:relative;padding:28px 0 64px;background-color:#eef2fb;
  background-image:linear-gradient(rgba(15,70,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,70,245,.06) 1px,transparent 1px);background-size:26px 26px}
.desk .crumbs{margin-bottom:18px}
.desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.booklet{background:#fff;border-radius:6px;box-shadow:0 1px 0 #d8deec,0 30px 60px -36px rgba(10,25,49,.45),0 0 0 1px #e1e6f2;padding:44px 52px 48px;position:relative;min-width:0}
.booklet::before{content:"";position:absolute;inset:0 auto 0 26px;width:1.5px;background:rgba(229,57,53,.25)}

/* titulná strana */
.cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cover-top img{height:64px;width:auto}
.code{font-size:.82rem;font-weight:700;letter-spacing:.06em;border:1.5px solid var(--ink);border-radius:6px;padding:6px 10px;white-space:nowrap}
.cover h1{margin-top:22px;font-size:clamp(1.9rem,4.6vw,2.8rem);max-width:none}
.cover .sub2{margin-top:6px;font-size:1.15rem;font-weight:300;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.facts{margin-top:22px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr)}
.facts div{padding:12px 14px 12px 0}
.facts div + div{padding-left:14px;border-left:1px solid var(--line)}
.facts dt{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.facts dd{margin:2px 0 0;font-weight:700;font-size:1.05rem}
.rules{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rules h2{font-size:1rem;font-weight:700;display:flex;gap:10px;align-items:center}
.rules h2 span{display:inline-grid;place-items:center;width:26px;height:26px;border:1.5px solid var(--ink);font-size:.9rem}
.rules ul{margin-top:8px;padding-left:1.1em;font-size:.95rem;color:var(--ink)}
.rules li{margin-top:5px}
.demo{display:flex;gap:6px;margin-top:10px;align-items:flex-end}
.demo span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.78rem;font-weight:700}
.demo i{width:24px;height:24px;border:2px solid var(--ink);border-radius:3px;display:block;position:relative}
.demo i.x::before,.demo i.x::after{content:"";position:absolute;left:2px;right:2px;top:9.5px;height:2.5px;background:var(--blue);border-radius:2px;transform:rotate(45deg)}
.demo i.x::after{transform:rotate(-45deg)}
.disc{margin-top:22px;font-size:.95rem;background:#fffbe8;border:1px solid #f1e5a6;border-left:5px solid var(--yellow);border-radius:10px;padding:12px 16px}
.cover-act{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cover-act .resume{font-size:.93rem;color:var(--muted)}
.started .cover .rules,.started .cover .cover-act,.started .cover .disc{display:none}
.started .cover{padding-bottom:6px;border-bottom:2px solid var(--ink)}

/* úlohy */
.js:not(.started) .tasks{display:none}
.tasks{margin-top:8px}
.instr{margin-top:26px;font-size:.98rem;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.ul{padding:26px 0 28px;border-bottom:1px solid var(--ink);scroll-margin-top:96px}
.vt{margin-bottom:14px}
.vt-h{font-size:.84rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.vt-box{margin-top:6px;border:1.5px solid var(--ink);border-radius:4px;padding:12px 14px;line-height:1.6}
.vt-box.has-fig{display:grid;gap:10px}
.vt-src{text-align:right;font-size:.82rem;font-style:italic;color:var(--muted);margin:0}
.fig{width:100%;height:auto;max-height:280px}
.chart .gl{stroke:#c9d2e6;stroke-width:1}
.chart .gl0{stroke:var(--ink);stroke-width:1.5}
.chart .bar{fill:var(--blue)}
.chart .tk{font:500 13px Outfit,system-ui,sans-serif;fill:var(--ink)}
.chart .ax{font:500 12px Outfit,system-ui,sans-serif;fill:var(--muted)}
.tri .tri-f{fill:#e8eeff;stroke:var(--ink);stroke-width:2;stroke-linejoin:round}
.tri .ra{fill:none;stroke:var(--ink);stroke-width:1.5}
.tri .dot{fill:var(--ink)}
.tri .pt{font:italic 600 16px Outfit,system-ui,sans-serif;fill:var(--ink)}
.tri .ms{font:500 14px Outfit,system-ui,sans-serif;fill:var(--ink)}
.ul-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.ul-head h2{display:grid;grid-template-columns:52px minmax(0,1fr);font-size:1.06rem;font-weight:400;line-height:1.5}
.ul-n{font-weight:700;font-size:1.25rem;line-height:1.2}
.ul-lead b{font-weight:700}
.ul-pts{font-weight:700;font-size:.95rem;white-space:nowrap;display:flex;gap:8px;align-items:center}
.got{font-size:.82rem;border-radius:999px;padding:3px 10px;color:#fff;background:var(--ink)}
.got.full{background:var(--ok)}.got.part{background:#b7791f}.got.zero{background:var(--bad)}
.ul-note{margin-top:12px;font-size:.86rem;color:var(--muted);padding-left:52px}

.it{display:grid;grid-template-columns:52px minmax(0,1fr);margin-top:16px}
.it-n{font-weight:400;padding-top:2px;color:var(--ink)}
.xp{font-size:1.12rem;font-variant-numeric:tabular-nums}
.q b,.xp b{font-weight:700}
.fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.1;margin:0 2px;font-size:.92em}
.fr span:first-child{border-bottom:1.5px solid currentColor;padding:0 3px}
.fr span:last-child{padding:0 3px}

.fld{display:inline-flex;align-items:center;gap:10px;margin-top:10px;position:relative}
.fld-l{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.fld input{font:inherit;font-size:1.1rem;font-variant-numeric:tabular-nums;width:150px;padding:9px 12px;border:1.5px solid #9aa6bd;border-radius:6px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.fld.wide input{width:min(330px,62vw)}
.fld input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(15,70,245,.15)}
.fld-u{font-weight:600}
.hint{margin-top:6px;font-size:.84rem;color:var(--muted)}
.frac-in{align-items:center}
.fr-in{display:inline-flex;flex-direction:column;align-items:center;gap:4px}
.fr-in input{width:84px;text-align:center;padding:6px 8px}
.fr-bar{display:block;width:96px;height:2px;background:var(--ink);border-radius:2px}

/* políčka na krížik (ako v záznamovom hárku) */
.bx{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.bx input{position:absolute;opacity:0;width:1px;height:1px}
.bx-l{font-size:.78rem;font-weight:700}
.bx-b{width:30px;height:30px;border:2px solid var(--ink);border-radius:4px;background:#fff;display:grid;place-items:center;transition:background .15s,box-shadow .15s}
.bx-b svg{width:24px;height:24px;fill:none;stroke:var(--blue);stroke-width:2.8;stroke-linecap:round}
.bx-b path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .18s ease-out}
.bx-b path + path{transition-delay:.12s}
.bx:hover .bx-b{background:var(--tint)}
.bx input:focus-visible + .bx-l + .bx-b{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--blue)}
.bx input:checked + .bx-l + .bx-b path{stroke-dashoffset:0}
.mc-l{list-style:none;padding:0;margin:14px 0 0 52px;display:grid;gap:8px}
.mc-l li{display:flex;align-items:center;gap:14px;border-radius:10px;padding:6px 10px 6px 6px;transition:background .15s}
.mc-l li .bx-l{display:none}
.mc-l li:has(input:checked){background:var(--tint)}
.mc-t{font-size:1.02rem}
.mc{display:block;margin-top:0}
.mc > .fb,.mc > .sol{margin-left:52px}
.an{margin-top:14px}
.an-head{display:grid;grid-template-columns:52px minmax(0,1fr) 84px;font-weight:700;font-size:.85rem}
.an-hb{display:flex;justify-content:space-around}
.an-row{grid-template-columns:52px minmax(0,1fr) 84px;align-items:center;margin-top:10px;row-gap:6px}
.an-row .an-q{margin:0}
.an-bx{display:flex;justify-content:space-around}
.an-bx .bx-l{display:none}
.an-row > .fb,.an-row > .sol{grid-column:2 / 4}

.gap-t{margin-top:14px;line-height:2.4;font-size:1.06rem}
.gap{display:inline-flex;align-items:center;gap:4px;margin:0 2px;vertical-align:middle}
.gap-n{font-size:.72rem;font-weight:700;color:var(--blue);align-self:flex-start;line-height:1}
.gap select{font:inherit;font-weight:600;font-size:1rem;padding:3px 26px 3px 10px;border:1.5px solid #9aa6bd;border-radius:6px;background:#fff;color:var(--ink);cursor:pointer}
.gap select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(15,70,245,.15)}
.err{display:block}
.err-f{display:flex;flex-wrap:wrap;gap:6px 24px;margin-left:52px}
.err > .fb,.err > .sol{margin-left:52px}
.ord-ps{margin-top:14px;display:grid;gap:8px}
.ord-p{display:grid;grid-template-columns:36px minmax(0,1fr);border:1.5px dashed #8e9ab3;border-radius:6px;padding:9px 12px}
.ord-k{font-weight:700}
.ord-p p{margin:0}
.ord{display:block}
.ord-sel{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px}
.ord-s{display:inline-flex;align-items:center;gap:8px}
.ord-s span{font-size:.92rem}
.ord-s select{font:inherit;font-weight:700;padding:5px 26px 5px 10px;border:1.5px solid #9aa6bd;border-radius:6px;background:#fff}
.ord-prev{margin-top:8px;font-size:.92rem;color:var(--muted);min-height:1.4em}

/* spätná väzba */
.fb{margin-top:10px;border-radius:8px;padding:8px 12px;font-size:.93rem;line-height:1.45}
.fb.ok{background:var(--ok-bg);color:#064d27}
.fb.bad{background:var(--bad-bg);color:#7d141a}
.fb.warn{background:#fff6e0;color:#6b4a00}
.sol{margin-top:8px;font-size:.93rem;color:var(--muted)}
.sol summary{cursor:pointer;font-weight:600;color:var(--blue);display:inline-block}
.sol p,.sol ul{margin-top:6px}
.sol ul{padding-left:1.1em}
.js:not(.evaluated) .sol{display:none}
.js:not(.evaluated) .fb{display:none}
.evaluated .fld input.ok,.evaluated select.ok{border-color:var(--ok);background:var(--ok-bg)}
.evaluated .fld input.bad,.evaluated select.bad{border-color:var(--bad);background:var(--bad-bg)}
.evaluated .bx.right .bx-b{border-color:var(--ok);box-shadow:0 0 0 3px rgba(10,122,61,.18)}
.evaluated .bx.wrong .bx-b svg{stroke:var(--bad)}
.evaluated .mc-l li:has(.right){background:var(--ok-bg)}
.evaluated .mc-l li:has(.wrong){background:var(--bad-bg)}
.evaluated .tasks input,.evaluated .tasks select{pointer-events:none}

.end{margin-top:26px;text-align:center;font-weight:700;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:10px}
.end-act{margin-top:20px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.evaluated .end-act .submit{display:none}

/* záznamový hárok */
.sheet{position:sticky;top:88px}
.sheet-in{background:#fff;border-radius:16px;box-shadow:0 0 0 1px #e1e6f2,0 24px 50px -32px rgba(10,25,49,.5);padding:18px}
.sheet h2{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.tm{margin-top:6px;display:flex;align-items:baseline;gap:8px}
.tm strong{font-size:2rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tm span{font-size:.85rem;color:var(--muted)}
.tm.over strong{color:#b7791f}
.prog{margin-top:8px;height:6px;border-radius:99px;background:var(--soft);overflow:hidden}
.prog i{display:block;height:100%;width:0;background:var(--blue);transition:width .25s}
.prog-t{margin-top:6px;font-size:.86rem;color:var(--muted)}
.rows{margin-top:12px;display:grid;gap:4px}
.sr-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 6px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.9rem}
.sr-row:hover{background:var(--soft)}
.cs{display:flex;flex-wrap:wrap;gap:4px}
.c{width:14px;height:14px;border:1.5px solid #9aa6bd;border-radius:3px;background:#fff}
.c.on{background:var(--blue);border-color:var(--blue)}
.c.ok{background:var(--ok);border-color:var(--ok)}
.c.bad{background:var(--bad);border-color:var(--bad)}
.sp{font-size:.8rem;font-weight:700;border-radius:999px;padding:2px 8px;background:var(--soft)}
.sp.full{background:var(--ok-bg);color:var(--ok)}.sp.part{background:#fff6e0;color:#8a5a00}.sp.zero{background:var(--bad-bg);color:var(--bad)}
.sheet-act{margin-top:14px;display:grid;gap:8px}
.sheet-act .btn{justify-content:center}
.linkbtn{font:inherit;font-size:.92rem;font-weight:600;color:var(--blue);background:none;border:0;cursor:pointer;padding:6px;text-decoration:underline;text-underline-offset:3px}
.js:not(.started) .sheet{visibility:hidden}
html:not(.js) .sheet{display:none}
.evaluated .sheet .submit{display:none}
.mtoggle{display:none}

/* výsledok */
.res2{margin-top:30px;border-radius:18px;background:var(--ink);color:#fff;padding:28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px 28px;align-items:center;scroll-margin-top:96px}
.res2 h2{grid-column:1/-1;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.donut{width:150px;height:150px}
.donut circle{fill:none;stroke-width:14}
.donut .bg{stroke:rgba(255,255,255,.12)}
.donut .fg{stroke:var(--yellow);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s ease}
.donut text{fill:#fff;font:700 30px Outfit,system-ui,sans-serif}
.donut .pc{font:500 14px Outfit,system-ui,sans-serif;fill:#c8d3f0}
.res-big{font-size:2.6rem;font-weight:700;line-height:1;letter-spacing:-.02em}
.res-big span{font-size:1.1rem;font-weight:400;color:#c8d3f0}
.subj{margin-top:14px;display:grid;gap:10px}
.subj div{display:grid;grid-template-columns:120px minmax(0,1fr) 54px;gap:10px;align-items:center;font-size:.93rem}
.subj i{display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.subj i b{display:block;height:100%;background:var(--yellow);border-radius:99px;width:0;transition:width .8s ease}
.res-meta{margin-top:12px;font-size:.9rem;color:#c8d3f0}
.res-rev{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:16px}
.res-rev p{font-weight:600}
.res-rev ul{margin-top:6px;padding-left:1.1em}
.res-rev li{margin-top:4px}
.res2 a{color:var(--yellow)}
.res-act{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.res-act .btn.ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.35)}
.res2 .sub{grid-column:1/-1;margin:0}

/* dialógy */
dialog{border:0;border-radius:18px;padding:24px;max-width:min(560px,calc(100vw - 32px));box-shadow:0 30px 80px -20px rgba(10,25,49,.55);color:var(--ink)}
dialog::backdrop{background:rgba(10,25,49,.45)}
dialog h2{font-size:1.25rem;font-weight:700}
dialog p{margin-top:8px;color:var(--muted)}
.dlg-act{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.fm-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.fm-grid h3{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.fm-grid p{margin-top:4px;color:var(--ink);font-size:.95rem;font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px;font-size:.92rem;z-index:90;box-shadow:0 14px 30px -12px rgba(10,25,49,.6)}

/* mobil */
@media (max-width:1000px){
  .desk-grid{grid-template-columns:minmax(0,1fr)}
  .sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70}
  .sheet-in{border-radius:18px 18px 0 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));max-height:70vh;overflow:auto}
  .sheet:not(.open) .rows,.sheet:not(.open) .sheet-act,.sheet:not(.open) h2,.sheet:not(.open) .prog{display:none}
  .sheet .bar-m{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .sheet:not(.open) .tm{margin:0}
  .sheet:not(.open) .tm strong{font-size:1.3rem}
  .sheet:not(.open) .prog-t{margin:0}
  .mtoggle{display:inline-flex;flex:none}
  .bar-m{flex-wrap:wrap;row-gap:4px}
  .sheet:not(.open) .tm span{display:none}
  .sheet .prog-t{white-space:nowrap}
  .sheet.open .bar-m h2{flex:1 1 auto;order:-2}
  .sheet.open .mtoggle{order:-1}
  .sheet.open .tm span{font-size:.8rem}
  .desk{padding-bottom:110px}
}
@media (min-width:1001px){ .bar-m{display:block} .bar-m .mtoggle{display:none} }
@media (max-width:640px){
  .booklet{padding:26px 18px 30px;border-radius:0;margin:0 -24px}
  .booklet::before{display:none}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){padding-left:0;border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid var(--line)}
  .rules{grid-template-columns:1fr}
  .ul-head h2,.it{grid-template-columns:40px minmax(0,1fr)}
  .mc-l,.mc > .fb,.mc > .sol,.err-f,.err > .fb,.err > .sol{margin-left:40px}
  .ul-note{padding-left:40px}
  .an-head,.an-row{grid-template-columns:40px minmax(0,1fr) 76px}
  .ul-head{grid-template-columns:1fr}
  .ul-pts{justify-content:flex-start;padding-left:40px}
  .res2{grid-template-columns:1fr;justify-items:start}
  .subj div{grid-template-columns:100px minmax(0,1fr) 48px}
  .fm-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .bx-b path,.prog i,.donut .fg,.subj i b{transition:none}
}

/* tlač: čistý testový zošit */
@media print{
  @page{margin:14mm}
  body{background:#fff;font-size:11pt}
  .top,.foot,.sheet,.skip,.crumbs,.cover-act,.end-act,.toast,.res2 .sub,.res-act,dialog,.hint{display:none!important}
  .desk{background:none;padding:0}
  .desk-grid{display:block}
  .booklet{box-shadow:none;padding:0}
  .booklet::before{display:none}
  .js:not(.started) .tasks{display:block}
  .ul{break-inside:avoid}
  .vt,.vt-box{break-inside:avoid}
  .res2{background:#fff;color:#000;border:1.5px solid #000}
  .res2 h2,.res2 a{color:#000}
  .donut .fg{stroke:#000}.donut text{fill:#000}
  a[href]::after{content:none}
}
.js-only-flex{display:none}
.js .js-only-flex{display:flex}

/* e-mail po teste */
.sub{background:#fff;color:var(--ink);border-radius:14px;padding:16px 18px}
.sub label{font-weight:600;display:block}
.sub .row{display:flex;gap:10px;margin-top:10px}
.sub input[type=email]{flex:1;min-width:0;font:inherit;padding:12px 18px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink)}
.sub input[type=email]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(15,70,245,.15)}
.sub .msg{margin-top:8px;font-size:.9rem;min-height:1.3em;color:var(--muted)}
.sub .msg.ok{color:var(--ok);font-weight:600}
.sub .msg.err{color:var(--bad);font-weight:600}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.sub .row{flex-direction:column}.sub .btn{justify-content:center}}
@media print{ .instr{display:none!important} input::placeholder{color:transparent} }

/* e-mailová brána pred výsledkom */
.gate{margin-top:30px;border-radius:18px;background:var(--ink);color:#fff;padding:28px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px;align-items:center;scroll-margin-top:96px;position:relative;overflow:hidden}
.gate::after{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.25),transparent 65%)}
.gate-prev{display:grid;gap:12px;justify-items:center;filter:blur(1.5px)}
.gate-prev svg{width:130px;height:130px}
.gate-prev circle{fill:none;stroke:rgba(255,255,255,.18);stroke-width:14;stroke-dasharray:250 400;transform:rotate(-90deg);transform-origin:50% 50%}
.gate-prev text{fill:var(--yellow);font:700 44px Outfit,system-ui,sans-serif}
.gate-prev ul{list-style:none;padding:0;width:130px;display:grid;gap:7px}
.gate-prev li{display:grid;grid-template-columns:40px 1fr;gap:6px;align-items:center}
.gate-prev b{height:7px;border-radius:9px;background:rgba(255,255,255,.25)}
.gate-prev i{height:7px;border-radius:9px;background:rgba(255,215,0,.45)}
.gate-prev li:nth-child(2) i{width:60%}.gate-prev li:nth-child(3) i{width:80%}
.gate-body{position:relative;z-index:1}
.gate-k{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
.gate h2{margin-top:6px;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700;letter-spacing:-.015em;line-height:1.2}
.gate-li{margin-top:12px;padding-left:1.1em;color:#dfe6fb}
.gate-li li{margin-top:4px}
.gate-li li::marker{color:var(--yellow)}
#gate-form{margin-top:16px}
#gate-form .row{display:flex;gap:10px}
#gate-form input[type=email]{flex:1;min-width:0;font:inherit;padding:13px 18px;border:0;border-radius:999px;color:var(--ink)}
#gate-form input[type=email]:focus{outline:3px solid var(--yellow);outline-offset:2px}
#gate-form .msg{margin-top:8px;font-size:.92rem;min-height:1.3em;color:#ffb4b9;font-weight:600}
.gate-note{margin-top:4px;font-size:.86rem;color:#b9c5e6}
.thanks{grid-column:1/-1;font-size:.95rem;color:#c8d3f0}
.gate-go{display:none!important}
.gated .gate-go{display:inline-flex!important;justify-content:center}
.gated .sheet .submit,.gated .end-act .submit{display:none}
@media (max-width:640px){
  .gate{grid-template-columns:1fr;padding:24px 20px}
  .gate-prev{display:none}
  #gate-form .row{flex-direction:column}
  #gate-form .btn{justify-content:center}
}
@media print{.gate{display:none!important}}

/* nepovinná brána a formulár vo výsledku */
.gate-p{margin-top:8px;color:#dfe6fb}
.gate-skip{margin-top:12px;font:inherit;font-weight:600;font-size:.95rem;color:#fff;background:none;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 18px;cursor:pointer;transition:border-color .15s,background .15s}
.gate-skip:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.gate-skip:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.res-sub{grid-column:1/-1;background:#fff;color:var(--ink);border-radius:14px;padding:16px 18px}
.res-sub label{font-weight:600;display:block}
.res-sub .row{display:flex;gap:10px;margin-top:10px}
.res-sub input[type=email]{flex:1;min-width:0;font:inherit;padding:12px 18px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink)}
.res-sub input[type=email]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(15,70,245,.15)}
.res-sub .msg{margin-top:8px;font-size:.9rem;min-height:1.3em;color:var(--muted)}
.res-sub .msg.err{color:var(--bad);font-weight:600}
@media (max-width:640px){.res-sub .row{flex-direction:column}.res-sub .btn,.gate-skip{justify-content:center;width:100%}}
@media print{.res-sub{display:none!important}}
#gate-form .row{flex-wrap:wrap}
#gate-form input[type=email]{flex:1 1 240px}
.linkbtn.on-dark{color:var(--yellow);padding:0 0 0 4px;font-size:inherit}
