/* Mobilný web /m pre Skoro školák: každá téma je karta (#id), všetko priamo v /m.
   Úvod sa zmestí na jednu obrazovku, nikdy sa neposúva. Pretečenie sa rieši ZMENŠENÍM (clamp, max-height), nikdy skrytím prvku.
   Dlhšia karta sa posúva celá (stránka). Pevná je len tenká hlavička a tenká lišta dole.
   --vh nastavuje m.js z visualViewport (samotné 100dvh na telefóne nesedí). Tokeny sú z web/styles.css. */
:root{--bg:#faf4e8;--ink:#2a2a33;--mut:#5d5d68;--red:#f75959;--ora:#faa633;--grn:#4db373;--blu:#4d8ce6;--pur:#a673d9;--card:#fff;--line:#eadfc9;
--font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--hh:56px;--bh:64px;--safe:env(safe-area-inset-bottom,0px);--avail:calc(var(--vh,100dvh) - var(--hh) - var(--bh) - var(--safe))}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.m{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);overflow-wrap:anywhere}
.m-home,.m-home body.m{overflow:hidden}
img{max-width:100%;display:block}
a{color:var(--blu)}
h1,h2{margin:0;line-height:1.12}

/* Hlavička: logo s tromi farebnými bodkami */
.m-head{position:fixed;top:0;left:0;right:0;height:var(--hh);z-index:20;display:flex;align-items:center;padding:0 16px;background:#faf4e8;border-bottom:1px solid var(--line)}
.m-brand{display:flex;align-items:center;min-height:44px;font-weight:800;font-size:22px;letter-spacing:.2px;text-decoration:none;color:var(--ink)}
.m-brand i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--blu);box-shadow:16px -5px var(--grn),32px -10px var(--ora);transform:translateY(5px);margin-right:46px}

main{padding-top:var(--hh);padding-bottom:calc(var(--bh) + var(--safe))}

/* Spodná lišta: 4 položky */
.m-bar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--bh) + var(--safe));padding-bottom:var(--safe);z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line)}
.m-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;color:var(--mut);text-decoration:none;font-size:12px;font-weight:600;line-height:1.1}
.m-bar a svg{width:24px;height:24px}
.m-bar a.on{color:var(--red)}
.m-bar a:active{background:var(--bg)}

/* Karty */
.card{min-height:var(--avail);display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.25rem 1.25rem}
.js .card{display:none}
.js .card.on{display:flex}
.card-in{display:flex;flex-direction:column;gap:1.5rem;min-height:0}
.card h2{font-size:clamp(1.4rem,4dvh,1.75rem);letter-spacing:-.01em}
.eyebrow{margin:0 0 -1rem;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut)}
.lead-m{margin:0;color:var(--mut);font-size:.9375rem;line-height:1.45}
.card h2+.lead-m{margin-top:-.75rem}
.sub{margin:0 0 .75rem;font-weight:700;font-size:.9375rem}
.lead-m.small{font-size:.875rem}
.lead-m a{color:var(--blu)}

/* Úvod: nikdy sa neposúva. Obrázok sa zmenšuje, 4 tlačidlá sú vždy viditeľné. */
.card-home{height:var(--avail);min-height:0;overflow:hidden;padding:.75rem 1.25rem 1rem;gap:0;justify-content:flex-start}
.card-home .card-in{flex:1 1 auto;height:100%;gap:clamp(.5rem,1.8dvh,1rem);justify-content:flex-start}
.hero-img{flex:1 1 0;min-height:0;width:100%;height:auto;object-fit:contain;border-radius:18px}
.card-home h1{flex:none;font-size:clamp(1.4rem,4.4dvh,2rem);letter-spacing:-.01em;line-height:1.1}
.card-home .lead{flex:none;margin:0;color:var(--mut);font-size:clamp(.85rem,2.3dvh,1rem);line-height:1.4}
.tiles{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.tile{display:flex;align-items:center;justify-content:center;gap:.35em;text-align:center;min-height:44px;padding:0 .75rem;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:1rem;line-height:1.15}
.tile:active{background:var(--bg)}
.tile-main{grid-column:1/-1;min-height:clamp(48px,8dvh,56px);border-color:var(--red);background:var(--red);color:#fff;font-size:1.125rem}
.tile-main:active{background:#e04848}
.tile-ghost{grid-column:1/-1;border-color:transparent;background:transparent;color:var(--blu)}

/* Tlačidlá */
.btn-m{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.5rem;border:0;border-radius:999px;background:var(--red);color:#fff;font:700 1.0625rem/1.15 var(--font);text-decoration:none;cursor:pointer}
.btn-m:active{background:#e04848}
.btn-m[disabled]{background:#c9c4b8;cursor:not-allowed}
.btn-full{width:100%}
.btn-grn{background:var(--grn);color:var(--ink)}
.btn-grn:active{background:#3f9a60}
.more{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;color:var(--mut);font-weight:600}

/* Navigácia karty: čipy Ďalej */
.card-nav{display:flex;flex-wrap:wrap;gap:.5rem;flex:none}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 1.125rem;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:600;font-size:.9375rem;text-decoration:none}
.chip:active{background:var(--bg)}

/* Cena a nákup */
.buy{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:3px solid var(--red);border-radius:20px;background:#fff}
.price{font-size:2rem;font-weight:800;line-height:1.1}
.save{font-size:.9375rem;color:#2f8a52;font-weight:700;margin-top:.25rem}

/* Cesta 9 sád (čipy) */
.path{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.path li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.2;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem .25rem .375rem}
.path i,.steps9 i,.stp i{font-style:normal;font-weight:800;flex:none;width:24px;height:24px;border-radius:50%;background:var(--c,var(--grn));color:#fff;display:grid;place-items:center;font-size:.8125rem}
[style*="var(--grn)"] i,[style*="var(--ora)"] i{color:var(--ink)}

/* Tri balíky */
.bts{display:flex;flex-direction:column;gap:1rem}
.bt{display:grid;grid-template-columns:1fr auto;gap:.125rem 1rem;align-items:center;min-height:72px;padding:.875rem 1rem;background:#fff;border:1px solid var(--line);border-left:8px solid var(--c);border-radius:18px;text-decoration:none;color:var(--ink)}
.bt:active{background:var(--bg)}
.bt-t{font-weight:800;font-size:1.0625rem;line-height:1.2}
.bt-s{grid-column:1;font-size:.875rem;color:var(--mut)}
.bt-p{grid-column:2;grid-row:1/3;font-size:1.375rem;font-weight:800}

/* Sady v balíku */
.sl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.sl>li{border-left:6px solid var(--c);padding:.125rem 0 .125rem .875rem;display:flex;flex-wrap:wrap;gap:0 .5rem;align-items:baseline}
.sl>li span{font-size:.8125rem;color:var(--mut)}
.sl>li small{width:100%;color:var(--mut);font-size:.9375rem;line-height:1.4}
.sl details,.faq details{width:100%}
.sl summary,.faq summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700}
.sl summary{color:var(--blu);font-size:.9375rem}
.sl ul{margin:0 0 .5rem;padding-left:1.125rem;color:var(--mut);font-size:.9375rem;line-height:1.45}

/* Postup 9 sád */
.steps9{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.steps9 li{display:flex;gap:.75rem;align-items:flex-start;padding-left:.75rem;border-left:5px solid var(--c)}
.steps9 b{display:block;line-height:1.25}
.steps9 small{display:block;color:var(--mut);font-size:.8125rem;line-height:1.3}
.steps9 i{margin-top:.125rem}

/* Platba */
#mkupa{display:flex;flex-direction:column;gap:1.5rem}
.opts{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;min-width:0}
.lbl{display:block;font-weight:700;font-size:.9375rem;margin-bottom:.375rem;padding:0}
.opts .lbl{margin-bottom:.5rem}
.opt{display:flex;align-items:flex-start;gap:.625rem;min-height:44px;padding:.625rem .75rem;background:#fff;border:2px solid var(--line);border-radius:14px;cursor:pointer}
.opt:has(input:checked){border-color:var(--red);background:#fff7f5}
.opt input{width:22px;height:22px;flex:none;accent-color:var(--red);margin:0}
.opt-n{display:flex;flex-direction:column;font-weight:700;line-height:1.2;min-width:0}
.opt-n small{font-weight:400;color:var(--mut);font-size:.8125rem}
.opt-n b{font-size:1rem;margin-top:.125rem}
.em{width:100%;min-height:48px;font:inherit;font-size:16px;padding:.625rem .875rem;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.em:focus{outline:none;border-color:var(--blu)}
.warn{display:flex;gap:.75rem;align-items:flex-start;background:#fff4e0;border:3px solid var(--ora);border-radius:16px;padding:.75rem;font-size:.875rem;line-height:1.4}
.warn input{width:24px;height:24px;flex:none;margin:.0625rem 0 0;accent-color:var(--red)}
.warn b{display:block;margin-top:.25rem}
.msg{font-size:.9375rem;font-weight:600;color:#c43b3b;min-height:0}
.msg:empty{display:none}
.note{margin:0;font-size:.875rem;color:var(--mut);line-height:1.4}

/* Ako to funguje */
.stp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}
.stp li{display:flex;gap:.875rem;align-items:flex-start}
.stp i{--c:var(--grn);width:34px;height:34px;font-size:1rem;color:var(--ink)}
.stp b{display:block;font-size:1.0625rem}
.stp small{display:block;color:var(--mut);font-size:.9375rem;line-height:1.45}

/* Otázky */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.25rem 1rem;margin:0 0 .625rem}
.faq details:last-child{margin-bottom:0}
.faq summary{padding:.375rem 0;line-height:1.3}
.faq p{margin:.25rem 0 .75rem;color:var(--mut);font-size:.9375rem;line-height:1.5}

/* Nižšie telefóny: zmenšiť medzery a písmo, nič neskrývať */
@media (max-height:660px){
.card{padding-top:1.25rem;padding-bottom:1rem}
.card h2{font-size:1.4rem}
.lead-m{font-size:.875rem;line-height:1.4}
.path{gap:.375rem}
.path li{font-size:.8125rem;padding:.125rem .625rem .125rem .25rem}
.path i,.steps9 i{width:22px;height:22px;font-size:.75rem}
.price{font-size:1.75rem}
.save{font-size:.875rem;margin-top:0}
.buy{padding:.875rem;gap:.625rem}
.btn-m{min-height:46px}
.sl{gap:.5rem}
.sl>li small,.steps9 small{font-size:.8125rem;line-height:1.3}
.steps9{gap:.375rem}
.bts{gap:.75rem}
.bt{min-height:64px;padding:.625rem .875rem}
.opt{padding:.5rem .625rem}
.warn{font-size:.8125rem;padding:.625rem;line-height:1.35}
.note{font-size:.8125rem;line-height:1.35}
.stp{gap:1rem}
.faq details{margin-bottom:.5rem}
.card-home{padding-top:.5rem;padding-bottom:.75rem}
.tile{min-height:44px;font-size:.9375rem}
.tile-main{min-height:48px;font-size:1.0625rem}
.card-home .lead{font-size:.8125rem;line-height:1.35}
.card-home h1{font-size:1.3rem}
}
@media (max-height:600px){
.card-home{padding-top:.375rem;padding-bottom:.5rem}
.card-home .card-in{gap:.375rem}
.tiles{gap:.375rem}
.card-home .lead{font-size:.78rem;line-height:1.3}
}
@media (max-width:340px){
.card{padding-left:1rem;padding-right:1rem}
.card-home{padding-left:1rem;padding-right:1rem}
.m-bar a{font-size:11px}
}
