/* ============================================================
   Atletika Vrchovina — ukázkový web (webpj.cz)
   Motiv: běžecká dráha — svislé vodicí linky s čísly drah,
   startovní bloky, startovní listina.
   Barvy: tartanová #d4552e, signální modrá #2456d6, sluníčková #ffcf3f
   Fonty: Sora 800 (nadpisy) + Mulish (text)
   ============================================================ */

:root{
  --red:#d4552e;
  --red-dk:#b3441f;
  --blue:#2456d6;
  --blue-dk:#1a41a6;
  --yellow:#ffcf3f;
  --amber:#c78f00;
  --ink:#212637;
  --mut:#5b6172;
  --line:#e9e4dc;
  --cream:#fff6ec;
  --sky:#f0f4fe;
  --r:18px;
  --sh:0 10px 30px rgba(33,38,55,.09);
}

*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth}
body{font-family:'Mulish',Arial,sans-serif;color:var(--ink);background:#fff;font-size:16.5px;line-height:1.65;overflow-x:clip}
img{max-width:100%;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{font-family:'Sora',Arial,sans-serif;font-weight:800;line-height:1.16}
h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:14px}
h3{font-size:20px}
p{margin-bottom:14px}
p:last-child{margin-bottom:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
select,input,textarea{min-width:0;width:100%;font:inherit;color:inherit}
button{font:inherit;cursor:pointer}

/* ---------- ribbon ukázky ---------- */
.demo{background:#2456d6;color:#fff;font-size:14px;font-weight:600;line-height:1.4;padding:8px 14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center}
.demo a{background:var(--yellow);color:#212637;font-weight:800;padding:4px 14px;border-radius:999px;text-decoration:none;white-space:nowrap;font-size:13px}

/* ---------- hlavička (sticky) ---------- */
header.site{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:2px solid var(--line)}
.head-in{display:flex;align-items:center;gap:22px;min-height:70px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.logo svg{flex:0 0 auto}
.logo span{font-family:'Sora',sans-serif;font-weight:800;font-size:17px;line-height:1.1;letter-spacing:.2px}
.logo span b{display:block;color:var(--red);font-weight:800}
.mainnav{display:flex;gap:4px;margin-left:auto}
.mainnav a{font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;padding:8px 13px;border-radius:999px}
.mainnav a:hover{background:var(--cream);color:var(--red)}
.mainnav a.on{background:var(--red);color:#fff}
.head-cta{margin-left:6px}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:8px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:9px 16px;font-weight:800;font-size:15px}

/* ---------- tlačítka ---------- */
.btn{display:inline-block;background:var(--blue);color:#fff;font-weight:800;font-family:'Sora',sans-serif;font-size:15.5px;text-decoration:none;border:0;border-radius:999px;padding:13px 26px;box-shadow:0 6px 18px rgba(36,86,214,.28)}
.btn:hover{background:var(--blue-dk)}
.btn.alt{background:var(--yellow);color:var(--ink);box-shadow:0 6px 18px rgba(255,207,63,.4)}
.btn.alt:hover{background:#f5c22a}
.btn.red{background:var(--red);box-shadow:0 6px 18px rgba(212,85,46,.3)}
.btn.red:hover{background:var(--red-dk)}
.btn.small{padding:9px 18px;font-size:14px;box-shadow:none}
.btn.ghost{background:#fff;color:var(--blue);border:2px solid var(--blue);box-shadow:none}

/* ---------- sekce + motiv běžeckých drah ---------- */
section{padding:72px 0}
section.tint{background:var(--cream)}
section.tint-b{background:var(--sky)}
section.dark{background:var(--ink);color:#fff}
section.hero{padding:0}
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.kicker::before{content:"";width:26px;height:8px;border-radius:99px;background:var(--yellow)}
.lead{font-size:18px;color:var(--mut);max-width:720px}
.dark .lead{color:#c7ccdb}

/* svislá dráha po levé straně sekcí (desktop) */
.lane{position:relative}
.lane::before{content:"";position:absolute;top:0;bottom:0;left:26px;width:44px;pointer-events:none;
  border-left:2px solid rgba(212,85,46,.28);
  border-right:2px solid rgba(212,85,46,.28);
  background:repeating-linear-gradient(180deg,rgba(212,85,46,.28) 0 14px,transparent 14px 30px);
  background-size:2px 100%;background-position:center top;background-repeat:repeat-y}
.lane::after{content:attr(data-lane);position:absolute;top:30px;left:26px;width:44px;text-align:center;
  font-family:'Sora',sans-serif;font-weight:800;font-size:19px;color:#fff;background:var(--red);
  border-radius:10px;padding:5px 0;pointer-events:none}
.lane.blue-lane::before{border-color:rgba(36,86,214,.26);background:repeating-linear-gradient(180deg,rgba(36,86,214,.26) 0 14px,transparent 14px 30px);background-size:2px 100%;background-position:center top;background-repeat:repeat-y}
.lane.blue-lane::after{background:var(--blue)}
.dark.lane::before{opacity:.55}

/* ---------- hero ---------- */
.hero-in{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;padding:70px 22px 76px;max-width:1160px;margin:0 auto}
.hero h1{font-size:clamp(32px,4.6vw,54px);margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--red);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:12px;background:var(--yellow);z-index:-1;border-radius:6px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-facts{display:flex;gap:26px;flex-wrap:wrap;margin-top:34px}
.hero-facts div{font-size:14px;color:var(--mut);font-weight:600}
.hero-facts b{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:26px;color:var(--ink)}

/* oválná fotka jako stadion */
.oval-box{position:relative;padding:16px}
.oval{position:relative;border-radius:50%;overflow:hidden;aspect-ratio:5/4;
  box-shadow:0 0 0 7px #fff,0 0 0 12px var(--red),0 24px 50px rgba(33,38,55,.18)}
.oval img{width:100%;height:100%;object-fit:cover}
.oval-ring{position:absolute;inset:-14px;border:3px dashed rgba(36,86,214,.45);border-radius:50%;transform:rotate(-6deg);pointer-events:none}
.oval-badge{position:absolute;right:2px;bottom:6px;width:112px;height:112px;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;text-align:center;font-family:'Sora',sans-serif;font-weight:800;font-size:15px;line-height:1.25;box-shadow:0 10px 24px rgba(33,38,55,.2);transform:rotate(6deg);padding:10px}

/* ---------- startovní bloky (věkové skupiny) ---------- */
.g1{--gc:#ffcf3f;--gt:#212637;--gd:#c78f00;--gbg:#fff8e0}
.g2{--gc:#d4552e;--gt:#fff;--gd:#d4552e;--gbg:#fdeee7}
.g3{--gc:#2456d6;--gt:#fff;--gd:#2456d6;--gbg:#e9effc}
.g4{--gc:#212637;--gt:#fff;--gd:#212637;--gbg:#eceef3}
.blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.block{position:relative;background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:30px 20px 22px;box-shadow:var(--sh);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px}
.block::before{content:"";position:absolute;top:-2px;left:22px;right:22px;height:9px;border-radius:0 0 9px 9px;background:var(--gc)}
.block .lane-num{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;background:var(--gc);color:var(--gt);display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:800;font-size:15px}
.block .age{font-family:'Sora',sans-serif;font-weight:800;font-size:42px;line-height:1;color:var(--gd)}
.block .age small{font-size:15px;color:var(--mut);font-weight:700;font-family:'Mulish',sans-serif}
.block h3{font-size:19px}
.block p{font-size:14.5px;color:var(--mut);margin:0}
.block .when{margin-top:auto;padding-top:10px;font-size:13.5px;font-weight:800;color:var(--gd)}
.block:hover{border-color:var(--gc);transform:translateY(-3px);transition:.18s}

/* ---------- časová osa tréninku ---------- */
.tl{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px;position:relative}
.tl::before{content:"";position:absolute;top:30px;left:9%;right:9%;height:12px;border-radius:99px;background:var(--red)}
.tl::after{content:"";position:absolute;top:35px;left:10%;right:10%;height:2px;background:repeating-linear-gradient(90deg,#fff 0 16px,transparent 16px 32px)}
.tl .step{position:relative;padding-top:86px;text-align:center}
.tl .n{position:absolute;top:0;left:50%;transform:translateX(-50%);width:70px;height:70px;border-radius:50%;background:#fff;border:5px solid var(--red);display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:800;font-size:22px;color:var(--red);z-index:1;box-shadow:0 6px 16px rgba(33,38,55,.12)}
.tl .step:nth-child(2) .n{border-color:var(--blue);color:var(--blue)}
.tl .step:nth-child(3) .n{border-color:var(--amber);color:var(--amber)}
.tl h3{margin-bottom:6px}
.tl .step p{font-size:15px;color:var(--mut)}
.tl .mins{display:inline-block;background:var(--cream);color:var(--red);font-weight:800;font-size:13px;border-radius:999px;padding:3px 12px;margin-bottom:8px}

/* ---------- startovní listina (závody) ---------- */
.slist{border:2px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;margin-top:26px}
.srow{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:15px 20px;border-bottom:2px solid var(--line)}
.srow:last-child{border-bottom:0}
.srow:nth-child(even){background:#fdfaf5}
.srow .ln{width:38px;height:38px;border-radius:10px;background:var(--red);color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:16px;display:grid;place-items:center}
.srow:nth-child(even) .ln{background:var(--blue)}
.srow .info b{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:16.5px}
.srow .info span{font-size:14px;color:var(--mut);font-weight:600}
.tag{font-size:12.5px;font-weight:800;border-radius:999px;padding:5px 13px;white-space:nowrap}
.tag.home{background:var(--yellow);color:var(--ink)}
.tag.away{background:#fff;color:var(--blue);border:2px solid var(--blue)}

/* výsledkové řádky s medailemi */
.vysledky{margin-top:26px;display:grid;gap:12px}
.vrow{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:14px;padding:13px 18px}
.vrow .medal{font-size:24px;line-height:1;text-align:center}
.m1{color:#d9a013}.m2{color:#959cad}.m3{color:#b26a3d}
.vrow b{font-family:'Sora',sans-serif;font-size:15.5px}
.vrow .dis{font-size:14px;color:var(--mut);font-weight:600;display:block}
.vrow .place{font-family:'Sora',sans-serif;font-weight:800;font-size:15px;white-space:nowrap}

/* filtr (závody, rozvrh) */
.filtr{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.filtr button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font-weight:800;font-size:14px;color:var(--mut)}
.filtr button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.filtr button.fg1.on{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.filtr button.fg2.on{background:var(--red);border-color:var(--red);color:#fff}
.filtr button.fg3.on{background:var(--blue);border-color:var(--blue);color:#fff}

/* ---------- týdenní rozvrh ---------- */
.week{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:28px}
.day{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:14px 12px;min-height:120px}
.day h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:12px;text-align:center}
.tr-blok{border-left:6px solid var(--gc);background:var(--gbg);border-radius:10px;padding:9px 11px;margin-bottom:10px}
.tr-blok:last-child{margin-bottom:0}
.tr-blok .cas{font-family:'Sora',sans-serif;font-weight:800;font-size:13.5px;color:var(--gd)}
.tr-blok .naz{font-weight:800;font-size:13.5px;line-height:1.35}
.tr-blok .kde{font-size:12px;color:var(--mut);font-weight:600}
.day .volno{font-size:13px;color:#aab0bf;text-align:center;font-weight:700;padding:12px 0}
.legenda{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:13.5px;font-weight:700;color:var(--mut)}
.legenda span{display:inline-flex;align-items:center;gap:7px}
.legenda i{width:16px;height:16px;border-radius:5px;background:var(--gc);display:inline-block}

/* ---------- karty obecně ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.card{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:26px 24px;box-shadow:var(--sh)}
.card .ic{width:52px;height:52px;border-radius:14px;background:var(--cream);display:grid;place-items:center;margin-bottom:14px}
.card h3{margin-bottom:8px}
.card p{font-size:15px;color:var(--mut)}

/* skupiny.html — detailní pásy */
.sk-pas{display:grid;grid-template-columns:200px 1fr;gap:34px;background:#fff;border:2px solid var(--line);border-left:10px solid var(--gc);border-radius:var(--r);padding:30px 32px;margin-top:24px;box-shadow:var(--sh)}
.sk-pas .vek{text-align:center}
.sk-pas .vek .age{font-family:'Sora',sans-serif;font-weight:800;font-size:52px;line-height:1;color:var(--gd)}
.sk-pas .vek .roky{font-size:13.5px;color:var(--mut);font-weight:700;margin-top:6px}
.sk-pas .vek .cena{margin-top:14px;background:var(--gbg);color:var(--gd);border-radius:12px;padding:8px 10px;font-weight:800;font-size:14px}
.sk-pas h3{font-size:22px;margin-bottom:8px}
.sk-pas ul{list-style:none;margin:12px 0}
.sk-pas ul li{padding-left:24px;position:relative;margin-bottom:6px;font-size:15.5px}
.sk-pas ul li::before{content:"✓";position:absolute;left:0;color:var(--gd);font-weight:800}
.sk-meta{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--mut);margin-top:8px}
.sk-meta b{color:var(--ink)}

/* ---------- nábor / formulář ---------- */
.form-card{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:34px 32px;box-shadow:var(--sh);max-width:760px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-grid .full{grid-column:1/-1}
label{display:block;font-weight:800;font-size:14px;margin-bottom:6px}
input[type=text],input[type=email],input[type=tel],select,textarea{border:2px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;font-size:15.5px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600;color:var(--mut)}
.chk input{width:auto;min-width:18px;margin-top:3px}
.zarazeni{border-radius:14px;padding:16px 18px;font-weight:700;font-size:15px;margin:4px 0 6px;border:2px dashed var(--line);color:var(--mut)}
.zarazeni.ok{border-style:solid;border-color:var(--gc);background:var(--gbg);color:var(--ink)}
.zarazeni.ok b{color:var(--gd)}
.uspech{background:#eefaf0;border:2px solid #58b368;border-radius:var(--r);padding:30px 28px;display:none}
.uspech h3{color:#2c7a3a;margin-bottom:8px}

/* FAQ */
details{background:#fff;border:2px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
details summary{cursor:pointer;list-style:none;font-family:'Sora',sans-serif;font-weight:800;font-size:16px;padding:17px 52px 17px 20px;position:relative}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--cream);color:var(--red);display:grid;place-items:center;font-weight:800;font-size:18px}
details[open] summary::after{content:"−";background:var(--red);color:#fff}
details .odp{padding:0 20px 18px;color:var(--mut);font-size:15.5px}

/* kontakt */
.kon-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.trener{display:flex;gap:16px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px}
.trener .av{width:54px;height:54px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-family:'Sora',sans-serif;font-weight:800;font-size:17px;background:var(--gbg);color:var(--gd)}
.trener b{font-family:'Sora',sans-serif;font-size:15.5px;display:block}
.trener span{font-size:13.5px;color:var(--mut);font-weight:600}
.mapa{border-radius:var(--r);overflow:hidden;border:2px solid var(--line);margin-top:26px}
.mapa iframe{display:block}

/* CTA pás */
.cta-pas{background:var(--blue);border-radius:24px;padding:52px 46px;color:#fff;display:grid;grid-template-columns:1.4fr auto;gap:26px;align-items:center;position:relative;overflow:hidden}
.cta-pas::before{content:"";position:absolute;top:0;bottom:0;right:-30px;width:180px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 3px,transparent 3px 26px);transform:skewX(-14deg)}
.cta-pas h2{color:#fff;margin-bottom:8px}
.cta-pas p{color:#cdd9f7;margin:0;font-size:16.5px}

/* ---------- patička ---------- */
footer{background:var(--ink);color:#c7ccdb;margin-top:0}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;padding:56px 22px 34px}
.foot h4{color:#fff;font-size:15px;margin-bottom:14px;letter-spacing:.06em;text-transform:uppercase}
.foot a{color:#c7ccdb;text-decoration:none;display:block;padding:3px 0;font-size:15px}
.foot a:hover{color:var(--yellow)}
.foot p{font-size:14.5px}
.foot .flogo{display:flex;align-items:center;gap:10px;color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:18px;margin-bottom:12px}
.copy{border-top:1px solid #363c50;padding:18px 22px;font-size:13px;text-align:center;color:#8b91a5}

/* ---------- mobilní menu: spodní bottom-sheet ---------- */
.sback{position:fixed;inset:0;background:rgba(21,25,38,.55);z-index:100001;opacity:0;pointer-events:none;transition:.25s}
.sback.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:100002;background:#fff;border-radius:24px 24px 0 0;padding:12px 22px 30px;transform:translateY(105%);transition:transform .3s cubic-bezier(.32,.72,.35,1);box-shadow:0 -14px 44px rgba(21,25,38,.3)}
.sheet.open{transform:translateY(0)}
.sheet .grip{width:46px;height:5px;border-radius:99px;background:#d4d8e2;margin:2px auto 16px;cursor:pointer}
.sheet a{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:17px;color:var(--ink);text-decoration:none;padding:13px 12px;border-radius:12px}
.sheet a:hover{background:var(--cream)}
.sheet a.on{background:var(--red);color:#fff}
.sheet a.cta{background:var(--yellow);color:var(--ink);text-align:center;margin-top:10px}

/* ============================================================
   Responzivita
   ============================================================ */
@media(max-width:1080px){
  .lane::before,.lane::after{display:none}
  .blocks{grid-template-columns:repeat(2,1fr)}
  .week{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .mainnav,.head-cta{display:none}
  .menu-btn{display:inline-flex}
  .hero-in{grid-template-columns:1fr;gap:40px;padding:46px 22px 56px}
  .oval-box{max-width:440px;margin:0 auto}
  .cards{grid-template-columns:1fr}
  .kon-grid{grid-template-columns:1fr}
  .sk-pas{grid-template-columns:1fr;gap:18px}
  .sk-pas .vek{text-align:left;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .sk-pas .vek .cena{margin-top:0}
  .cta-pas{grid-template-columns:1fr;padding:38px 28px;text-align:left}
  .tl{grid-template-columns:1fr;gap:18px;margin-top:34px}
  .tl::before,.tl::after{display:none}
  .tl .step{padding:0 0 0 88px;text-align:left;min-height:76px}
  .tl .n{left:0;top:0;transform:none;width:64px;height:64px}
  section{padding:54px 0}
}
@media(max-width:720px){
  .demo{font-size:13px;padding:6px 12px;gap:8px}
  .foot{grid-template-columns:1fr;gap:28px}
  .week{grid-template-columns:1fr}
  .day{min-height:0}
  .blocks{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .srow{grid-template-columns:44px 1fr;row-gap:6px}
  .srow .tag{grid-column:2;justify-self:start}
  .hero-facts{gap:18px}
  .oval-badge{width:96px;height:96px;font-size:13.5px;right:-2px}
}
