/* Mobilné rozhranie. Platí len do šírky 700 px, na väčšej obrazovke sa neuplatní a neblokuje zobrazenie. */

/* Sekcia siaha až pod spodnú lištu Safari, takže ďalšia sekcia nevykukne ani pri zbalenej lište.
   Obsah má vždy výšku obrazovky s rozbalenou lištou, takže ho nezakryje a pri zbalení lišty sa nič nepohne. */
:root{--header-h:56px;--gutter:20px;--tail:64px;--screen:calc(100vh - var(--header-h));--view:calc(100vh - var(--header-h))}
@supports (height:100lvh){:root{--screen:calc(100lvh - var(--header-h) + var(--tail));--view:calc(100svh - var(--header-h))}}

body{font-size:17px;line-height:1.48}
html{scroll-padding-top:var(--header-h)}
html.sheet-open{overflow:hidden}
.m-only{display:block}

/* Hlavička: meno a Kontakt */
.header .in{height:var(--header-h)}
.logo{font-size:21px}
.nav .btn{min-height:40px;padding:8px 16px;border-radius:10px;font-size:15px}

/* Každá sekcia je jedna obrazovka */
main > section.snap{min-height:var(--screen);display:flex;flex-direction:column;justify-content:flex-start}
.snap-page .footer{scroll-snap-align:none}
main > section > .wrap{width:100%;min-height:var(--view);display:flex;flex-direction:column}
.sec{padding-top:18px;padding-bottom:18px}
.eyebrow{margin-bottom:3px;font-size:12px}
h2{font-size:30px;line-height:1.1}
.sec-icon{display:none}
.dots{height:6px;margin:10px 0 14px;background-image:radial-gradient(circle,var(--accent) 2.4px,transparent 3px);background-size:16px 6px}
.results .dots{background-image:radial-gradient(circle,#fff 2.4px,transparent 3px)}
.btn{min-height:50px;padding:12px 18px;border-radius:12px;font-size:17px}
.btn:hover{transform:none;box-shadow:none;filter:none}
.m-more{width:100%;min-height:46px;margin-top:14px;padding:10px 14px;border:1px solid var(--field);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.m-more::after{content:' ↑';color:var(--accent)}
.m-lead{margin-bottom:12px;font-size:16px;line-height:1.35}

/* Úvod */
.hero{min-height:var(--screen)}
.hero-in{flex:none;min-height:calc(var(--view) - 30px);padding:14px var(--gutter) 10px;gap:6px;align-content:space-between}
.hero-text{flex:1 1 100%;gap:12px}
h1{font-size:clamp(46px,13vw,58px)}
.sub{font-size:clamp(23px,6.4vw,28px)}
.hero-cta{gap:12px 16px;margin-top:2px}
.hero-cta .btn{flex:1 1 auto;min-width:130px}
.hero-cta a:not(.btn){font-size:16px}
.portrait-box{flex:1 1 100%;padding:clamp(34px,7svh,56px) 0 8px}
.portrait{width:min(70vw,37svh)}
.chip-speed{left:-30px;bottom:14px;padding:8px 12px}
.chip-speed small{font-size:11px}
.chip-speed strong{font-size:19px}
.chip-ok,.chip-pay{padding:5px 9px 5px 6px;font-size:12px}
.chip-ok{right:-30px}
.chip-pay{left:-34px}
.chip-dark{right:-22px;bottom:-4px;padding:7px 10px;font-size:12px}
.marquee-strip{padding:10px 0}
.marquee{font-size:15px}

/* O mne */
.about{flex:1;align-content:flex-start;gap:12px}
.about .lead{flex:1 1 100%;font-size:23px;line-height:1.2}
.about .body{flex:1 1 100%}
.about .body{gap:12px;font-size:16px;line-height:1.42}

/* Karty do strán */
.cards{display:flex;gap:12px;margin:0 calc(var(--gutter)*-1);padding:2px var(--gutter) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cards::-webkit-scrollbar{display:none}
.cards{flex:1;align-items:stretch}
.card{flex:0 0 86%;scroll-snap-align:start;gap:10px;padding:22px 20px;box-shadow:none;border:1px solid var(--line)}
.card:hover{transform:none;box-shadow:none}
.card h3{font-size:24px}
.card p{font-size:16px;line-height:1.42}
.m-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}
.m-dots span{width:7px;height:7px;border-radius:999px;background:var(--field);transition:background-color .2s,transform .2s}
.m-dots span.on{background:var(--accent);transform:scale(1.25)}
.results .m-dots span{background:var(--field)}
.results .m-dots span.on{background:var(--accent)}
.test-result[hidden] + .m-dots{display:none}

/* Porovnanie: web a admin rozhranie na jednej obrazovke */
.flip{perspective:none}
.flip,.flip-in,.flip-face{display:flex;flex-direction:column;flex:1;min-height:0}
.flip-in{transform:none!important;transition:none}
.flip.is-back .flip-in{transform:none!important}
.flip-face{-webkit-backface-visibility:visible;backface-visibility:visible}
.flip-back{transform:none}
.flip:not(.is-back) .flip-back,.flip.is-back .flip-front{display:none}
.results .flip-front .intro{display:none}
.race{flex:1;justify-content:space-between;padding:16px;gap:14px;border-radius:18px;box-shadow:0 18px 36px rgba(0,0,0,.16)}
.race-pairs{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:14px}
.race-pair{gap:5px}
.race-pair + .race-pair{padding-top:12px;border-top:1px solid var(--line)}
.race-pair h3{font-size:19px;line-height:1.2}
.race-pair h3 small{display:block;font-size:13px;line-height:1.25}
.lane-top{line-height:1.2}
.lane-top span{font-size:14px;font-weight:600}
.lane-top strong{font-size:22px}
.bar{height:9px;margin:3px 0}
.lane small{display:block;min-height:18px;font-size:13px;line-height:1.35}
.lane-after small{display:none}
.race-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.race-foot .btn{min-height:46px;padding:8px 6px;font-size:15px}
.race-foot span{grid-column:1/-1;font-size:12px;text-align:center}
.race-foot .btn[hidden] + .btn{grid-column:1/-1}

/* Test webu: samostatná obrazovka s poľom hore. Klávesnica sa otvorí až po ťuknutí do poľa. */
.race.test{justify-content:center;gap:10px}
.flip.has-result .race.test{justify-content:flex-start}
.test-form{gap:8px}
.test-form .field{flex:1 1 100%}
.test-form .btn{width:100%}
.test-note{font-size:14px;line-height:1.35}
.flip-return{margin-top:10px;font-size:15px}
.flip.has-result .flip-back .sec-head,.flip.has-result .flip-back .dots{display:none}
.test-verdict{font-size:16px;line-height:1.3}
.test-result{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:10px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.test-result::-webkit-scrollbar{display:none}
.test-verdict{grid-row:1;grid-column:1/span 2;position:sticky;left:0;width:calc(50% - 8px)}
.test-col{grid-row:2;gap:10px;scroll-snap-align:start}
.gauges{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.gauge{gap:4px;font-size:11px;line-height:1.15}
.gauge-c{width:54px;height:54px}
.gauge-c b{font-size:17px}
.metrics{gap:5px}
.metrics > div{padding-bottom:5px}
.metrics dt{font-size:13px}
.metrics dd{font-size:15px}
.test-source{font-size:12px}
.test-tips ul{font-size:14px;line-height:1.3}
.test-next{font-size:15px;line-height:1.3}

/* Ktorá veta je vaša: zoznam, odpoveď sa vysunie zdola */
.fixes{flex:1;display:flex;flex-direction:column}
.fix-q{flex:1 1 auto;display:flex}
.fix-q button{display:flex;align-items:center;height:auto;min-height:44px;padding:9px 26px 9px 0;font-size:16px;line-height:1.25}
.fix-q button::after,.fix-q button[aria-expanded="true"]::after{content:'›';font-size:24px}
.fix-q button[aria-expanded="true"]{color:var(--ink)}
.sheet .fix-panel{display:block;padding:0}
.sheet .fix-answer{font-size:22px}

/* Cenník */
#cennik .eyebrow{display:none}
.price-intro{margin-bottom:10px;font-size:14px;font-weight:500;line-height:1.3}
.price{flex:1;display:flex;flex-direction:column;gap:10px}
.price-panel.on > .opt{align-items:center}
.js .price-sum{margin-top:auto}
.opt input[type="radio"],.opt input[type="checkbox"]{align-self:center}
.price-goals{gap:14px;margin-bottom:4px}
.price-goals span{padding:6px 0 8px;font-size:15px}
.opt{gap:10px;padding:8px 0}
.opt-t{font-size:16px}
.opt-t small{font-size:13px;line-height:1.25}
.opt-p{font-size:15px}
[data-panel="novy"] .opt-t small{display:none}
[data-panel="novy"] .m-more{margin-top:8px}
.js .price-infos,.price-info{display:none}
.sheet .price-infos{display:block;margin:0 0 12px}
.sheet .price-info.on{display:block;visibility:visible;font-size:15px}
.sheet .price-extras{margin:0}
.opt-s,.step{min-height:46px}
.price-bar,.js .price-bar{display:none}
.js .price-sum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;padding:12px 14px;border-radius:14px}
.price-care{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-bottom:6px;padding-bottom:8px;font-size:14px}
.price-care label{flex:0 0 auto}
.price-care select{flex:1 1 130px;width:auto}
.care-note{flex:1 1 100%}
.price-care select{min-height:40px;padding:4px 8px}
.price-lab{grid-column:1;font-size:11px}
.price-total{grid-column:1;font-size:26px}
.price-month{grid-column:1;font-size:14px}
.price-list{display:none}
.price-sum .btn{grid-column:2;grid-row:2/span 3;margin:0;min-height:46px;padding:8px 10px;font-size:15px;line-height:1.15;white-space:normal}
.price-sum .price-note{grid-column:1/-1;margin-top:6px;font-size:12px;line-height:1.28}
.plans{display:flex;gap:10px;margin:2px calc(var(--gutter)*-1) 0;padding:0 var(--gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);scrollbar-width:none}
.plans::-webkit-scrollbar{display:none}
.plan{flex:0 0 88%;scroll-snap-align:start;padding:12px 12px 12px 38px}
.plan input{left:12px;top:13px}
.plan ul{margin-top:4px;font-size:14px;line-height:1.28}
.pay{margin-top:6px;font-size:14px}
[data-panel="sprava"] .price-note{font-size:12px}

/* Formulár */
.form{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto minmax(84px,1fr) auto;gap:9px 10px}
.form-status:empty{display:none}
.a-popis{display:flex;flex-direction:column}
.a-popis textarea{flex:1;height:auto;min-height:60px}
.field{gap:3px}
.field label{font-size:14px}
.field label small{display:none}
.field input,.field select,.field textarea{min-height:46px;padding:9px 12px;border-radius:10px;font-size:16px}
.a-popis,.a-send{grid-column:1/-1}
.a-send .btn{width:100%}
.form-note{font-size:12px;line-height:1.3}
#ponuka .intro{margin-bottom:10px;font-size:15px;line-height:1.3}

/* Vysúvacie okno */
.sheet{position:fixed;inset:auto 0 0;display:none;flex-direction:column;width:100%;max-width:none;max-height:82vh;max-height:82svh;margin:0;padding:0;border:0;border-radius:24px 24px 0 0;background:var(--bg);color:var(--ink);box-shadow:0 -14px 44px rgba(29,36,51,.28);transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.sheet[open]{display:flex}
.sheet.on{transform:none}
.sheet::backdrop{background:rgba(29,36,51,.5)}
.sheet-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 16px 10px 20px;touch-action:none;cursor:grab}
.sheet-head::before{content:'';position:absolute;left:50%;top:8px;width:42px;height:4px;margin-left:-21px;border-radius:999px;background:var(--field)}
.sheet-title{font-size:18px;font-weight:700;line-height:1.25}
.sheet .price-note{margin-top:12px;font-size:13px;color:var(--muted)}
.sheet-close{flex:0 0 auto;width:40px;height:40px;border:0;border-radius:999px;background:var(--bg-alt);color:var(--ink);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.sheet[open]{display:block}
.sheet-body{max-height:calc(82vh - 72px);max-height:calc(82svh - 72px);padding:0 20px 90px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sheet-body:focus{outline:none}

/* Bežné telefóny s lištami prehliadača: rovnaký obsah, menej vzduchu */
@media (max-height:720px){
  .sec{padding-top:10px;padding-bottom:10px}
  .sec .eyebrow{display:none}
  .results .sec .eyebrow{display:block}
  .dots{margin:7px 0 10px}
  h2{font-size:27px}
  h1{font-size:clamp(42px,11.6vw,50px)}
  .sub{font-size:22px}
  .hero-in{padding-top:8px;padding-bottom:6px}
  .hero-text{gap:8px}
  .btn{min-height:46px}
  .portrait-box{padding:clamp(26px,5.5svh,40px) 0 4px}
  .portrait{width:min(62vw,30svh)}
  .marquee-strip{padding:7px 0}
  .marquee{font-size:14px}
  .m-lead{margin-bottom:8px;font-size:15px}
  .race{padding:12px 14px;gap:10px}
  .race-pairs{gap:9px}
  .race-pair{gap:3px}
  .race-pair + .race-pair{padding-top:8px}
  .race-pair h3{font-size:17px}
  .race-pair h3 small{font-size:12px}
  .lane-top strong{font-size:20px}
  .lane small{min-height:16px;font-size:12px}
  .race-foot .btn{min-height:42px}
  .fix-q button{min-height:36px;padding:5px 24px 5px 0;font-size:15px;line-height:1.2}
  #cennik h2{font-size:24px}
  .price-intro{margin-bottom:6px;font-size:13px}
  .price{gap:6px}
  .price-goals span{padding:4px 0 6px}
  .opt{padding:6px 0}
  .opt-t small{font-size:12px;line-height:1.2}
  [data-panel="novy"] .m-more{min-height:40px;margin-top:6px}
  .js .price-sum{padding:8px 12px}
  .price-sum .price-note{display:none}
  .price-sum .btn{min-height:42px}
  .price-total{font-size:22px;white-space:nowrap}
  .plan{padding:8px 10px 8px 34px}
  .plan input{left:9px;top:9px}
  .plan ul{font-size:13px;line-height:1.22}
  .pay{margin-top:2px;font-size:13px}
  .field label{font-size:13px}
  .field input,.field select,.field textarea{min-height:42px;padding:7px 10px}
  #ponuka .intro{margin-bottom:6px;font-size:14px}
  .form{gap:6px 10px}
  .form-note{font-size:11px}
}
/* Najmenšie telefóny */
@media (max-height:640px){
  h1{font-size:40px}
  .portrait{width:min(52vw,23svh)}
  .card{padding:14px 16px;gap:6px}
  .card-ic{width:42px;height:42px}
  .card-ic svg{width:26px;height:26px}
  .card h3{font-size:21px}
  .card p{font-size:15px;line-height:1.34}
}

/* Vysoké telefóny: písmo a prvky rastú s výškou, aby obrazovka nebola prázdna */
@media (min-height:721px){
  .sec{padding-top:clamp(18px,2.8svh,28px);padding-bottom:clamp(14px,2.2svh,22px)}
  .eyebrow{margin-bottom:5px;font-size:13px}
  h2{font-size:clamp(32px,5.2svh,46px)}
  .dots{height:8px;margin:clamp(12px,1.9svh,18px) 0 clamp(16px,2.6svh,26px);background-image:radial-gradient(circle,var(--accent) 3px,transparent 3.6px);background-size:20px 8px}
  .results .dots{background-image:radial-gradient(circle,#fff 3px,transparent 3.6px)}
  .about{gap:clamp(14px,2.2svh,22px)}
  .about .lead{font-size:clamp(25px,3.8svh,34px)}
  .about .body{gap:clamp(12px,2svh,20px);font-size:clamp(17px,2.5svh,21px);line-height:1.46}
  .card{gap:clamp(12px,2svh,20px);padding:clamp(22px,3.4svh,32px) 24px}
  .card-ic{width:clamp(64px,9svh,84px);height:clamp(64px,9svh,84px)}
  .card-ic svg{width:clamp(34px,4.6svh,44px);height:clamp(34px,4.6svh,44px)}
  .card h3{font-size:clamp(26px,4svh,36px)}
  .card p{font-size:clamp(17px,2.6svh,22px);line-height:1.42}
  .card .more{font-size:clamp(17px,2.4svh,20px)}
  .m-dots{margin-top:14px}
  .m-lead{margin-bottom:clamp(12px,2svh,20px);font-size:clamp(16px,2.3svh,19px)}
  .race{padding:clamp(18px,2.6svh,26px) 20px}
  .race-pairs{gap:10px}
  .race-pair{gap:clamp(3px,.55vh,7px)}
  .race-pair h3{font-size:clamp(21px,3svh,26px)}
  .race-pair h3 small{font-size:clamp(13px,1.8svh,16px)}
  .lane-top span{font-size:clamp(15px,2vh,17px)}
  .lane-top strong{font-size:clamp(24px,3.6svh,32px)}
  .bar{height:clamp(10px,1.5svh,14px);margin:5px 0}
  .lane small{font-size:clamp(13px,1.8svh,16px)}
  .race-foot .btn{min-height:clamp(46px,6svh,54px);font-size:clamp(15px,2vh,17px)}
  .race-foot span{font-size:clamp(12px,1.6svh,14px)}
  .race.test{gap:clamp(12px,2svh,20px);padding-top:24px;padding-bottom:24px}
  .test-form{gap:12px}
  .test-form .btn{min-height:56px}
  .test-note{font-size:clamp(14px,2vh,17px);line-height:1.42}
  .fix-q button{font-size:clamp(16px,2.35svh,20px);line-height:1.28}
  .fix-q button::after,.fix-q button[aria-expanded="true"]::after{font-size:28px}
  #cennik .price-intro,.price-intro{margin-bottom:clamp(10px,1.6svh,16px);font-size:clamp(14px,1.9svh,17px)}
  .price-goals span{padding:clamp(6px,1vh,10px) 0;font-size:clamp(15px,2.1svh,18px)}
  .opt-t{font-size:clamp(16px,2.2svh,19px)}
  .opt-t small{font-size:clamp(13px,1.75svh,15px)}
  .opt-p{font-size:clamp(15px,2.05svh,18px)}
  .m-more{min-height:clamp(46px,6svh,54px);font-size:clamp(16px,2.1svh,18px)}
  .js .price-sum{padding:clamp(12px,2svh,20px) 16px}
  .price-total{font-size:clamp(23px,3.2svh,28px)}
  .price-sum .btn{min-height:clamp(46px,6svh,54px)}
  .price-care select{min-height:clamp(40px,5.4svh,48px)}
  .plan ul{font-size:clamp(14px,1.95svh,17px);line-height:1.34}
  .plan{padding-top:16px;padding-bottom:16px}
  .pay{font-size:clamp(14px,1.9svh,17px)}
  #ponuka .intro{margin-bottom:clamp(10px,1.8svh,18px);font-size:clamp(15px,2.15svh,18px)}
  .form{gap:clamp(9px,1.5svh,14px) 10px}
  .field{gap:5px}
  .field label{font-size:clamp(14px,1.9svh,16px)}
  .field input,.field select,.field textarea{min-height:clamp(46px,6.2svh,54px);font-size:16px}
  .form-note{font-size:13px}
}

/* Cenník: nadpis v jednom riadku a všetky záložky na jednu obrazovku */
#cennik h2{font-size:clamp(23px,6.15vw,27px)}
.price-care label{flex:0 1 auto}
.price-care select{flex:1 1 0;min-width:120px}
.price-total{white-space:nowrap}
[data-panel="oprava"] .opt-t small{display:none}
#cennik:has([data-panel="oprava"].on) .price-sum .price-note,#cennik:has([data-panel="sprava"].on) .price-sum .price-note{display:none}
.plans{flex:0 1 auto}

/* Popis vo formulári vypĺňa voľné miesto, ale netlačí tlačidlo mimo obrazovky */
.form .a-popis textarea{flex:1 1 84px;height:0;min-height:84px}

/* Pokojné ovládanie: bez záblesku a oneskorenia pri ťuknutí, bez priblíženia pri písaní, nič sa nevynára */
a,button,label,input,select,textarea,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
input:not([type="radio"],[type="checkbox"],[type="range"]),select,textarea,.price-care select,.field input,.field select,.field textarea{font-size:16px}
.js .reveal{opacity:1;transition:none}
@media (min-height:721px){
  [data-panel="novy"].on > .opt{min-height:clamp(46px,7.6svh,66px)}
}

/* Najmenšie telefóny: všetko sa zmestí, len s menším písmom */
@media (max-height:600px){
  h1{font-size:36px}
  .sub{font-size:19px}
  .btn{min-height:42px;padding:8px 12px;font-size:15px}
  .portrait-box{padding:18px 0 2px}
  .portrait{width:min(46vw,20svh)}
  .chip-speed strong{font-size:15px}
  .chip-speed{padding:5px 9px}
  .chip-ok,.chip-pay,.chip-dark{font-size:10px}
  h2,#cennik h2{font-size:22px}
  .sec{padding-top:7px;padding-bottom:6px}
  .dots{margin:4px 0 7px}
  .about{gap:6px}
  .about .lead{font-size:17px}
  .about .body{gap:5px;font-size:13px;line-height:1.26}
  .card{padding:10px 14px;gap:4px}
  .card p{font-size:13.5px;line-height:1.26}
  .card h3{font-size:18px}
  .m-lead,.race-foot span{display:none}
  .race{padding:9px 12px;gap:6px}
  .race-pairs{gap:4px}
  .race-pair + .race-pair{padding-top:5px}
  .race-pair h3{font-size:15px}
  .race-pair h3 small{display:none}
  .lane-top strong{font-size:16px}
  .lane-top span{font-size:12px}
  .bar{height:6px;margin:1px 0}
  .lane small{min-height:14px;font-size:11px}
  .race-foot .btn{min-height:36px;font-size:13px}
  .fix-q button{min-height:30px;padding:3px 22px 3px 0;font-size:13.5px}
  #cennik .price-intro,.price-care label{display:none}
  .price-goals span{padding:2px 0 4px;font-size:13px}
  .price-goals{gap:10px;margin:0}
  .opt{padding:3px 0}
  .opt-t{font-size:14px}
  .opt-p{font-size:13px}
  [data-panel="novy"] .m-more{min-height:34px;margin-top:3px;font-size:13px}
  .js .price-sum{padding:5px 10px}
  .price-care{margin-bottom:2px;padding-bottom:3px}
  .price-care select{min-height:30px;padding:0 6px}
  .price-lab{display:none}
  .price-total{font-size:18px}
  .price-sum .btn{min-height:34px;font-size:13px}
  .plan{padding:5px 8px 5px 30px}
  .plan ul{font-size:11.5px;line-height:1.15}
  .pay{font-size:11.5px;gap:0}
  .pay input{width:14px;height:14px}
  [data-panel="sprava"] .price-note{font-size:10.5px;margin-top:2px}
  .form{gap:3px 8px}
  .field{gap:1px}
  .field label{font-size:12px}
  .field input,.field select,.field textarea{min-height:36px;padding:4px 8px}
  .form .a-popis textarea{min-height:44px;flex-basis:44px}
  .form{grid-template-rows:auto auto minmax(44px,1fr) auto}
  #ponuka .intro{margin-bottom:4px;font-size:12.5px}
  .form-note{font-size:10px}
}

/* Podstránky služieb: rovnaké celé obrazovky ako hlavná stránka */
html.sv-page{scroll-padding-top:var(--header-h)}
.sv-toc,.sv-art{display:none}
.sv-page .reveal{opacity:1}
.sv-page .sec h2{font-size:clamp(23px,3.9svh,34px);line-height:1.12}
.sv-page .sec{font-size:clamp(14.5px,2.25svh,19px);line-height:1.4}
.sv-page .sec h3{font-size:clamp(18px,2.9svh,25px);line-height:1.18}
.sv-hero-in{min-height:var(--view);display:flex;flex-direction:column;justify-content:center;padding:14px var(--gutter)}
.sv-hero-text{gap:clamp(7px,1.5svh,14px)}
.sv-hero h1{font-size:clamp(30px,5.3svh,46px);line-height:1.08}
.sv-lead{font-size:clamp(14.5px,2.25svh,19px);line-height:1.42}
.sv-cta{gap:8px;margin-top:4px}
.sv-cta .btn{flex:1 1 100%}
.sv-note{font-size:clamp(13px,1.8svh,15px);line-height:1.3}
.sv-intro{margin-bottom:10px;font-size:clamp(14px,2svh,17px);line-height:1.36}

/* Karty do strán */
.sv-rows,.sv-grid,.sv-problems,.sv-two,.sv-opts-2,.sv-price-box,.sv-split,.sv-narrow .sv-steps{flex:1;display:flex;gap:12px;align-items:stretch;margin:0 calc(var(--gutter)*-1);padding:2px var(--gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);scrollbar-width:none;grid-template-columns:none}
.sv-rows::-webkit-scrollbar,.sv-grid::-webkit-scrollbar,.sv-problems::-webkit-scrollbar,.sv-two::-webkit-scrollbar,.sv-opts-2::-webkit-scrollbar,.sv-price-box::-webkit-scrollbar,.sv-split::-webkit-scrollbar,.sv-steps::-webkit-scrollbar{display:none}
.sv-narrow{flex:1;display:flex;flex-direction:column;max-width:none}
.sv-split > ol{display:contents}
.sv-page main .sv-row,.sv-page main .sv-block,.sv-page main .sv-problem,.sv-page main .sv-opt,.sv-page main .sv-split .sv-aside,.sv-page main .sv-steps li,.sv-page main .sv-price-box > div{flex:0 0 86%;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.6svh,14px);min-width:0;padding:clamp(14px,2.8svh,26px) 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);scroll-snap-align:start;line-height:1.4}
.sv-page main .sv-steps li::before{position:static;flex:0 0 auto}
.sv-page main .sv-steps li::after{display:none}
.sv-more{margin-top:auto}
.sv-block .btn,.sv-opt .btn{margin-top:auto;width:100%}
.sv-page .sv-opt ul{font-size:clamp(14px,2svh,17px);line-height:1.3}

/* Možnosti: tri karty, detail sa vysunie zdola */
.js.sv-page .sv-open .fix-panel:not(.on),.js.sv-page .sv-open .fix-panel{display:none}
.sv-page .sheet .fix-panel{display:block}
.sv-page .sv-open .fix-q button{padding-right:26px;border-bottom:1px solid var(--field);pointer-events:auto}
.sv-page .sv-open .fix-q button::after{display:flex}
.sv-page .sv-top{gap:10px}
.sv-page .sv-top .fix-q button{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;width:100%;padding:14px 40px 14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.sv-top .fix-q b{font-size:clamp(17px,2.8svh,24px)}
.sv-top .fix-q span{margin:0;font-size:clamp(17px,2.6svh,22px)}
.sheet .sv-opt-in{display:flex;flex-direction:column;gap:14px}
.sheet .sv-opt-in > div{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sheet .sv-more{margin-top:4px}
.sv-page .ask{margin-top:clamp(8px,1.4svh,14px);font-size:clamp(13px,1.85svh,16px);line-height:1.34}

/* Výsledok z praxe */
.sv-proof{flex:1;gap:clamp(12px,2.2svh,24px);align-content:center}
.sv-proof-values{gap:clamp(6px,1.4svh,14px)}
.sv-proof-values b{font-size:clamp(28px,4.8svh,42px)}
.sv-proof-small b{font-size:clamp(16px,2.3svh,20px)}
.sv-proof-values span{font-size:clamp(12px,1.7svh,15px)}
.sv-proof > div:last-child{gap:8px;line-height:1.38}

/* Kedy dáva správa zmysel */
.sv-when{flex:1;display:flex;flex-direction:column}
.sv-when li{flex:1;display:flex;flex-direction:column;justify-content:center;padding:6px 0;line-height:1.32}
.sv-when b{font-size:clamp(16px,2.6svh,22px)}
.sv-when li:last-child{grid-column:auto}

/* Ceny */
.sv-prices li{padding:clamp(5px,1.1svh,11px) 0}
.sv-price-box > div .btn{margin-top:auto;width:100%}
.sv-prices small{font-size:clamp(12px,1.7svh,14px)}

/* Balíky správy */
.sv-opts-2{flex:0 1 auto}
.sv-page .wrap .sv-terms{display:grid;grid-template-columns:none;gap:4px;margin:6px 0}
.sv-terms li{padding:3px 10px;font-size:clamp(12.5px,1.7svh,14.5px);line-height:1.25}
#porovnanie .sv-intro{margin-bottom:4px;font-size:clamp(12.5px,1.7svh,15px);line-height:1.28}
.sv-note-box{margin-top:8px;padding:10px 14px}
.sv-page .sv-note-box h3{font-size:16px}
.sv-note-box p{font-size:13.5px;line-height:1.3}

/* Kontakt */
.sv-page .wrap .sv-related{margin-top:6px;gap:2px 12px;font-size:12.5px;line-height:1.25}
.sv-page .sv-intro{max-width:none}

@media (max-height:720px){
  .sv-lead + .sv-lead{display:none}
  .sv-prices small{display:none}
  #otazky .fix-q button{font-size:14.5px}
}

/* Kroky a ceny ako karty vedľa seba */
.sv-narrow .sv-steps{flex-direction:row}
.sv-narrow .sv-steps li:last-child{padding-bottom:clamp(14px,2.8svh,26px)}
.sv-page main .sv-price-box > ul{flex:0 0 86%;width:auto;padding:clamp(10px,2svh,20px) 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);scroll-snap-align:start;justify-content:space-evenly}
.sv-page main .sv-price-box > ul li:last-child{border-bottom:0}
#postup > .wrap{height:var(--view)}
#postup .sv-split,#postup .sv-narrow,#postup .sv-steps{min-height:0}
#postup .sv-steps li,#postup .sv-aside{overflow-y:auto;overscroll-behavior:contain}
.sv-page main .sv-split .sv-aside{font-size:clamp(13.5px,min(1.95svh,3.9vw),16.5px);line-height:1.32;gap:6px}

/* Balíky správy: názov, cena, zoznam a podmienky. Popisy ostávajú na väčšej obrazovke. */
#porovnanie .sv-opt > p:not(.sv-price),#porovnanie .sv-intro{display:none}
#porovnanie .sv-more{margin-top:4px;font-size:15px}

/* Písmo podľa výšky aj šírky: užšie vysoké telefóny, napríklad Fold, majú menej miesta do šírky */
.sv-page .sec{font-size:clamp(13.5px,min(2.25svh,4.25vw),19px)}
.sv-page .sec h2{font-size:clamp(22px,min(3.9svh,7.2vw),34px)}
.sv-page .sec h3{font-size:clamp(17px,min(2.9svh,5.5vw),25px)}
.sv-lead{font-size:clamp(14px,min(2.25svh,4.25vw),19px)}
.sv-hero h1{font-size:clamp(28px,min(5.3svh,9.6vw),46px)}
.sv-proof-values b{font-size:clamp(26px,min(4.8svh,9vw),42px)}
.sv-page .ask{font-size:clamp(12.5px,min(1.85svh,3.6vw),16px)}
@media (min-height:721px){
  h2{font-size:clamp(25px,min(5.2svh,9.4vw),46px)}
  .about .lead{font-size:clamp(19px,min(3.8svh,6.3vw),34px)}
  .about .body{gap:clamp(8px,1.6svh,20px);font-size:clamp(14px,min(2.5svh,4.3vw),21px);line-height:1.42}
  .card h3{font-size:clamp(21px,min(4svh,7.4vw),36px)}
  .card p{font-size:clamp(14.5px,min(2.6svh,4.7vw),22px)}
  .race-pair h3{font-size:clamp(18px,min(3svh,5.6vw),26px)}
  .race-pair h3 small{font-size:clamp(12px,min(1.8svh,3.4vw),16px)}
  .lane-top strong{font-size:clamp(20px,min(3.6svh,6.8vw),32px)}
  .lane small{font-size:clamp(12px,min(1.8svh,3.4vw),16px)}
  .fix-q button{font-size:clamp(14px,min(2.35svh,4.4vw),20px)}
}

/* Kroky: časová os pod sebou vypĺňa výšku, karty s krátkym textom by zívali prázdnotou */
.sv-narrow .sv-steps{flex:1;flex-direction:column;justify-content:space-between;margin:0;padding:0;overflow:visible;scroll-snap-type:none}
.sv-page main .sv-split > ol{flex:0 0 88%;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(14px,2.4svh,22px) 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);scroll-snap-align:start;overflow-y:auto}
.sv-page main .sv-steps li{flex:0 1 auto;display:block;position:relative;min-width:0;padding:0 0 clamp(6px,1.2svh,14px) 48px;border:0;border-radius:0;background:none;scroll-snap-align:none;overflow:visible;font-size:clamp(14px,min(2.25svh,4.25vw),19px);line-height:1.36}
.sv-page main .sv-steps li:last-child{padding-bottom:0}
.sv-page main .sv-steps li::before{position:absolute;left:0;top:0;width:34px;height:34px}
.sv-page main .sv-steps li:not(:last-child)::after{display:block;left:16px;top:37px}
.sv-page main .sv-steps h3{margin-bottom:3px;font-size:clamp(16.5px,min(2.7svh,5vw),23px)}

/* Karty s textom: väčšie písmo, aby vyplnili obrazovku */
.sv-page main .sv-row,.sv-page main .sv-block,.sv-page main .sv-problem{font-size:clamp(14.5px,min(2.75svh,5vw),22px);line-height:1.42}
.sv-page main .sv-row,.sv-page main .sv-block{justify-content:center}
.sv-page main .sv-row h3,.sv-page main .sv-block h3,.sv-page main .sv-problem h3{font-size:clamp(19px,min(3.6svh,6.6vw),30px);line-height:1.15}
.sv-page main .sv-problem .sv-more,.sv-page main .sv-block .sv-more{font-size:clamp(15px,min(2.3svh,4.3vw),19px)}
.sv-proof-values .sv-proof-small b{font-size:clamp(16px,min(2.3svh,4.5vw),20px);letter-spacing:0}

/* Sekcie s ďalším textom pod kartami */
.sv-page main #rozsah .sv-block,.sv-page main #chyby .sv-problem{font-size:clamp(13.5px,min(2.15svh,4.05vw),17.5px);line-height:1.36}
.sv-page main #rozsah .sv-block h3,.sv-page main #chyby .sv-problem h3{font-size:clamp(17px,min(2.8svh,5.2vw),24px)}
.sv-page main #rozsah .sv-block{padding-top:12px;padding-bottom:12px}
#cena .sv-prices small{display:none}
@media (max-height:600px){
  .sv-page main #rozsah .sv-block{font-size:13px;line-height:1.28}
  .sv-page .sv-note-box p{font-size:12px}
  .sv-page .ask{font-size:12px;line-height:1.26}
}

/* Kroky sa nikdy neorezávajú: písmo sa prispôsobí výške a sekcia môže byť o kúsok vyššia */
#postup > .wrap{height:auto}
#postup .sv-steps,#postup .sv-steps li{overflow:visible}
.sv-page main .sv-steps li{flex:none;padding-bottom:clamp(4px,.9svh,10px);font-size:clamp(13px,min(1.98svh,3.75vw),17px);line-height:1.3}
.sv-page main .sv-steps h3{font-size:clamp(15.5px,min(2.4svh,4.5vw),21px)}
.sv-page main .sv-split > ol{overflow:visible;padding:12px 14px}
.sv-page main .sv-split .sv-aside{overflow:visible}
.sv-page main .sv-split > ol{flex-basis:92%;padding:10px 12px}
.sv-page main .sv-split .sv-steps li{padding-left:42px;padding-bottom:3px;font-size:clamp(12.5px,min(1.74svh,3.35vw),15px);line-height:1.26}
.sv-page main .sv-split .sv-steps li::before{width:30px;height:30px;font-size:14px}
.sv-page main .sv-split .sv-steps li:not(:last-child)::after{left:14px;top:32px}
.sv-page main .sv-split .sv-steps h3{margin-bottom:1px;font-size:clamp(14px,min(2.05svh,3.95vw),18px);line-height:1.15}

/* Dostatočný kontrast malého nadpisu na oranžovej */
.results .eyebrow{opacity:1}
.m-swipe:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}

html{scroll-behavior:auto}
/* Prepnutie z porovnania na test */
.flip.is-back .flip-back{animation:m-fade .35s ease}
@keyframes m-fade{from{opacity:0}to{opacity:1}}

/* Výsledok testu: tri karty do strán, nadpis s verdiktom ostáva stáť */
.test-verdict{grid-column:1/span 3;width:calc((100% - 32px)/3)}
.test-health ul{font-size:clamp(14px,min(2.25svh,4.3vw),18px);line-height:1.34}
.test-health li + li{margin-top:clamp(6px,1.5svh,14px)}
.test-tips li:nth-child(n+3){display:none}

