/* ===========================
   STARTUJEME PŘEDŠKOLÁKY – "Zvládnu to doma, nebo potřebuju pomoc?" (rozhodovací kvíz)
   =========================== */

@font-face{
  font-family:'Gagalin';
  src:url('/static/fonts/Gagalin-Regular.otf') format('opentype');
  font-weight:normal;
  font-style:normal;
}

:root{
  --bg:#ffffff;
  --bg-alt:#f6f8fb;
  --bg-orange-soft:#fff5ee;
  --bg-blue-soft:#eef4fc;
  --bg-green-soft:#eafaf1;
  --nav-blue:#e4f0fd;
  --text:#171b21;
  --text-muted:#5c6673;
  --orange:#ff762f;
  --orange-dark:#e65a15;
  --blue:#004a99;
  --blue-light:#1c6fd0;
  --green:#1f9d55;
  --border:#e8ecf2;
  --shadow:0 12px 34px rgba(15,35,70,.08);
  --radius-lg:20px;
  --radius-md:14px;
  --container:1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg-alt);
  color:var(--text);
  font-family:'Poppins', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:var(--container);margin:0 auto;padding:0 20px;}
h1,h2,h3{font-weight:700;color:var(--text);margin:0 0 .6rem;}
h1{font-family:'Gagalin', sans-serif;font-weight:normal;font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.2;}
h2{font-size:clamp(1.25rem,2.2vw,1.5rem);}
p{margin:0 0 1rem;color:var(--text);}
.muted{color:var(--text-muted);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.75rem 1.4rem;border-radius:999px;font-weight:700;font-size:.95rem;
  text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.15s ease;
}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);}
.btn-outline{background:#fff;border-color:var(--blue);color:var(--blue);}
.btn-outline:hover{background:var(--bg-blue-soft);}
.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border);}
.btn-ghost:hover{color:var(--text);border-color:var(--text-muted);}
.btn-sm{padding:.55rem 1.1rem;font-size:.9rem;}
.btn:disabled{opacity:.4;cursor:not-allowed;}

/* ---------- NAV ---------- */
.sticky-nav{position:sticky;top:0;z-index:60;background:var(--nav-blue);border-bottom:1px solid #d7e6fa;}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:'Gagalin', sans-serif;font-size:1.35rem;color:var(--blue);text-decoration:none;white-space:nowrap;}
.brand-logo{width:34px;height:34px;flex-shrink:0;filter:drop-shadow(0 3px 6px rgba(230,90,21,.28));}
.nav-links{display:flex;align-items:center;gap:1.4rem;flex:1;justify-content:center;flex-wrap:wrap;}
.nav-links a{font-size:.95rem;font-weight:500;text-decoration:none;color:var(--text);}
.nav-links a:hover{color:var(--orange);}
.nav-cta{display:flex;align-items:center;gap:.7rem;}
.nav-login{font-weight:600;text-decoration:none;font-size:.95rem;color:var(--blue);}
.only-desktop{display:flex;}
.only-mobile{display:none;}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;}
.hamburger .bar{display:block;width:24px;height:2px;background:var(--text);position:relative;}
.hamburger .bar::before,.hamburger .bar::after{content:"";position:absolute;left:0;width:24px;height:2px;background:var(--text);}
.hamburger .bar::before{top:-7px;}
.hamburger .bar::after{top:7px;}

.nav-backdrop{display:none;position:fixed;inset:0;background:rgba(10,20,40,.4);z-index:70;}
.nav-panel{
  display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#fff;
  z-index:80;padding:1.5rem;flex-direction:column;gap:.9rem;box-shadow:-10px 0 30px rgba(0,0,0,.15);
}
.nav-panel a{padding:.6rem 0;text-decoration:none;color:var(--text);font-weight:600;border-bottom:1px solid var(--border);}
.panel-cta{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem;}
body.nav-open .nav-backdrop{display:block;}
body.nav-open .nav-panel{display:flex;}
@media (max-width:960px){
  .nav-links{display:none;}
  .nav-cta.only-desktop{display:none;}
  .hamburger{display:inline-flex;}
  .only-mobile{display:flex;}
}
.show-when-logged-in{display:none;}
.show-when-logged-out{display:inline-flex;}
body.is-logged-in .show-when-logged-in{display:inline-flex;}
body.is-logged-in .show-when-logged-out{display:none;}

/* ---------- HERO ---------- */
.quiz-hero{
  position:relative;overflow:hidden;padding:40px 0 32px;text-align:center;
  background:linear-gradient(160deg,var(--nav-blue) 0%,#fff 45%,var(--bg-orange-soft) 130%);
  border-bottom:1px solid var(--border);
}
.quiz-hero::before,.quiz-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(50px);z-index:0;pointer-events:none;}
.quiz-hero::before{width:220px;height:220px;background:var(--orange);opacity:.14;top:-110px;right:10%;}
.quiz-hero::after{width:190px;height:190px;background:var(--blue);opacity:.1;bottom:-110px;left:4%;}
.quiz-hero .container{position:relative;z-index:1;max-width:640px;}
.quiz-hero .lead{color:var(--text-muted);font-size:1.02rem;}
.quiz-hero-note{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;color:var(--orange-dark);background:#fff;padding:.3rem .8rem;border-radius:999px;
  margin-bottom:.7rem;box-shadow:0 4px 10px rgba(15,35,70,.06);
}

/* ---------- KVÍZ ---------- */
.quiz-wrap{max-width:640px;margin:2rem auto 3rem;}
.quiz-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:0 10px 30px rgba(15,35,70,.08);padding:2rem 2.2rem;
}
.quiz-progress-track{height:8px;background:var(--bg-alt);border-radius:999px;overflow:hidden;margin-bottom:.6rem;}
.quiz-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--orange-dark));border-radius:999px;transition:width .3s ease;}
.quiz-step-label{font-size:.82rem;font-weight:700;color:var(--text-muted);margin-bottom:1.3rem;}

.quiz-question{display:none;}
.quiz-question.is-active{display:block;animation:quizFade .3s ease;}
@keyframes quizFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.quiz-question h2{font-size:1.15rem;margin-bottom:1.1rem;}

.quiz-option{
  display:flex;align-items:center;gap:.85rem;padding:.95rem 1.2rem;margin-bottom:.7rem;
  border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:.15s ease;background:#fff;
}
.quiz-option:last-child{margin-bottom:0;}
.quiz-option:hover{border-color:var(--orange);}
.quiz-option input{width:19px;height:19px;accent-color:var(--orange);flex-shrink:0;cursor:pointer;}
.quiz-option span{font-size:.96rem;}
.quiz-option.is-selected{border-color:var(--orange);background:var(--bg-orange-soft);}

.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem;}
.quiz-nav .spacer{flex:1;}

/* ---------- VÝSLEDEK ---------- */
.quiz-result{
  background:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(15,35,70,.08);
  padding:2.2rem 2.4rem;text-align:center;border-top:6px solid var(--orange);
}
.quiz-result.band-self{border-top-color:var(--green);}
.quiz-result.band-online{border-top-color:var(--blue);}
.quiz-result.band-consult{border-top-color:var(--orange);}
.quiz-result-icon{
  width:64px;height:64px;border-radius:50%;margin:0 auto 1rem;font-size:1.8rem;color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(15,35,70,.18);
  background:linear-gradient(135deg,var(--orange),var(--orange-dark));
}
.quiz-result.band-self .quiz-result-icon{background:linear-gradient(135deg,#3cbf6f,var(--green));}
.quiz-result.band-online .quiz-result-icon{background:linear-gradient(135deg,var(--blue-light),var(--blue));}
.quiz-result-score{font-size:.85rem;color:var(--text-muted);margin-bottom:.3rem;}
.quiz-result p{max-width:52ch;margin-left:auto;margin-right:auto;color:var(--text-muted);}
.quiz-result-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem;}
.quiz-restart{display:inline-block;margin-top:1.3rem;font-size:.85rem;color:var(--text-muted);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;}

@media (max-width:640px){
  .quiz-card,.quiz-result{padding:1.5rem 1.3rem;}
  .quiz-nav{flex-wrap:wrap;gap:.6rem;}
}
