/* ============================================================
   KUTATÁS-KÉRDŐÍV · /kerdoiv
   Önálló oldal-CSS, a main.css tokenjeire építve (kv- prefix).
   ============================================================ */

/* ===== HERO ===== */
.kv-hero{ background:
    radial-gradient(ellipse 60% 40% at 50% -10%, var(--accent-tint), transparent 60%),
    var(--bg);
  padding: clamp(80px,8vh,104px) clamp(24px,5vw,60px) clamp(40px,6vw,70px); text-align:center; }
.kv-hero-inner{ max-width: 860px; margin: 0 auto; }
.kv-eyebrow{ display:inline-block; padding:7px 16px; border-radius:999px; border:1px solid var(--line-2); background:var(--bg); box-shadow:var(--shadow-sm); font-family:var(--font-inter); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mute); font-weight:600; margin-bottom:26px; }
.kv-hero h1{ font-family:var(--font-inter); font-size:clamp(3.4rem,2vw,6rem); font-weight:700; letter-spacing:-.045em; line-height:1.02; color:var(--text); text-wrap:balance; }
.kv-boxes{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:36px auto 0; max-width:820px; text-align:left; }
.kv-box{ display:flex; align-items:flex-start; padding:24px 26px; border:1px solid var(--line-2); border-radius:16px; background:var(--bg); box-shadow:var(--shadow-sm); }
.kv-box p{ margin:0; font-size:1.16rem; line-height:1.6; color:var(--text); }
.kv-box strong{ font-weight:700; color:var(--text); }
.kv-box-accent{ background:var(--accent-tint); border-color:var(--accent); }
.kv-box-accent em{ font-style:normal; font-weight:700; color:var(--accent); }
@media (max-width: 680px){ .kv-boxes{ grid-template-columns:1fr; } }
.kv-trust{ margin:28px auto 0; max-width:600px; color:var(--text-mute); font-size:1rem; line-height:1.6; }
/* a hero CTA a site standard .btn-primary gombja; itt csak a hero-beli térköz */
.kv-hero .btn-primary{ margin-top:30px; }

/* ===== KÉRDŐÍV-KÁRTYA ===== */
.kv-wrap{ padding: clamp(30px,5vw,60px) clamp(20px,5vw,60px) clamp(70px,9vw,120px); background:var(--bg-soft); scroll-margin-top:80px; }
.kv-card{ max-width:720px; margin:0 auto; background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding: clamp(24px,4vw,44px); }

.kv-prog{ margin-bottom:26px; }
.kv-prog-head{ display:flex; align-items:baseline; gap:10px; font-family:var(--font-mono); font-size:.78rem; color:var(--text-mute); margin-bottom:10px; }
.kv-prog-head #kvNo{ color:var(--accent); font-weight:700; }
.kv-prog-bar{ height:6px; border-radius:999px; background:var(--line); overflow:hidden; }
.kv-prog-fill{ height:100%; width:0; border-radius:999px; background:var(--accent); transition:width .4s var(--ease); }

.kv-step{ border:0; margin:0; padding:0; }
.kv-step:not(.on){ display:none; }
/* magasság-méréshez: minden lépés láthatóan, animáció nélkül (a JS mér, majd rögzíti a min-height-et) */
#kvSteps.kv-measuring .kv-step{ display:block !important; animation:none !important; }
.kv-q{ font-family:var(--font-inter); font-size:clamp(1.14rem,1.4vw,1.4rem); font-weight:700; letter-spacing:-.02em; color:var(--text); line-height:1.32; margin-bottom:22px; }
.kv-opts{ display:flex; flex-direction:column; gap:12px; }
.kv-opt{ display:flex; align-items:center; gap:14px; padding:16px 18px; border:1.5px solid var(--line-2); border-radius:14px; background:var(--bg); cursor:pointer; text-align:left; font-size:1rem; line-height:1.4; color:var(--text); transition:border-color .18s, background .18s, box-shadow .18s; }
.kv-opt:hover{ border-color:var(--text-faint); }
.kv-opt:focus{ outline:none; }
.kv-opt:focus-visible{ outline:2px solid var(--text); outline-offset:2px; }
.kv-opt .dot{ width:16px; height:16px; border-radius:50%; flex:none; }
.kv-opt.r .dot{ background:#e5484d; }
.kv-opt.y .dot{ background:#f5a623; }
.kv-opt.g .dot{ background:#30a46c; }
.kv-opt.b .dot{ background:#4f7cf0; }
.kv-opt.hot .dot{ background:#e5484d; }
.kv-opt.wait .dot{ background:#f5a623; }
.kv-opt.sleep .dot{ background:var(--line-2); }
.kv-opt.sel{ border-color:var(--accent); background:var(--accent-tint); box-shadow:0 0 0 3px var(--accent-soft); }

/* ===== Belépő-animáció: „Csendes átúszás" ===== */
.kv-step.on{ animation:kvCalmIn .55s var(--ease) both; }
.kv-step.on .kv-opts .kv-opt{ animation:kvCalmOpt .5s var(--ease) both; }
.kv-step.on .kv-opts .kv-opt:nth-child(1){ animation-delay:.14s; }
.kv-step.on .kv-opts .kv-opt:nth-child(2){ animation-delay:.21s; }
.kv-step.on .kv-opts .kv-opt:nth-child(3){ animation-delay:.28s; }
.kv-step.on .kv-opts .kv-opt:nth-child(4){ animation-delay:.35s; }
.kv-step.on .kv-opts .kv-opt.sel{ animation:kvCalmPop .34s var(--ease); }
@keyframes kvCalmIn{ from{ opacity:0; transform:translateX(28px); filter:blur(7px); } to{ opacity:1; transform:none; filter:none; } }
@keyframes kvCalmOpt{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@keyframes kvCalmPop{ 40%{ transform:scale(1.02); } }
@media (prefers-reduced-motion:reduce){ .kv-step.on, .kv-step.on .kv-opts .kv-opt, .kv-step.on .kv-opts .kv-opt.sel{ animation:none; } }

.kv-sub-lead{ color:var(--text-mute); font-size:1rem; line-height:1.6; margin-bottom:20px; }
.kv-mail{ width:100%; padding:14px 16px; border:1.5px solid var(--line-2); border-radius:12px; font-size:1rem; font-family:inherit; color:var(--text); background:var(--bg); }
.kv-mail:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.kv-textarea{ width:100%; padding:14px 16px; border:1.5px solid var(--line-2); border-radius:12px; font-size:1rem; font-family:inherit; line-height:1.5; color:var(--text); background:var(--bg); resize:vertical; min-height:110px; }
.kv-textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.kv-fine{ margin-top:12px; color:var(--text-faint); font-size:.82rem; line-height:1.5; }
.kv-hint{ margin-top:12px; color:#c2410c; font-size:.9rem; }

.kv-nav{ display:flex; gap:12px; margin-top:26px; }
.kv-back{ padding:12px 20px; border:1px solid var(--line-2); border-radius:11px; background:var(--bg); color:var(--text-mute); font-weight:500; font-size:.94rem; cursor:pointer; }
.kv-next, .kv-send{ margin-left:auto; padding:12px 24px; border:1px solid var(--text); border-radius:11px; background:var(--text); color:#fff; font-weight:600; font-size:.96rem; cursor:pointer; }
.kv-send{ background:linear-gradient(135deg,#ff7c3e,#e8531f); border-color:transparent; box-shadow:0 10px 26px -10px rgba(232,83,31,.5); }
.kv-back[hidden], .kv-next[hidden], .kv-send[hidden]{ display:none !important; }

/* ===== EREDMÉNY ===== */
.kv-result{ text-align:center; }
.kv-result .kv-badge{ display:inline-block; padding:6px 16px; border-radius:999px; font-family:var(--font-inter); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; margin-bottom:18px; }
.kv-result h2{ font-family:var(--font-sans); font-size:clamp(1.5rem,1rem+2vw,2.2rem); font-weight:700; letter-spacing:-.03em; color:var(--text); }
.kv-result p{ margin:16px auto 0; max-width:520px; color:var(--text-mute); font-size:1.04rem; line-height:1.6; }
.kv-result-cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px; }
.kv-btn-dark{ padding:13px 24px; border-radius:12px; background:var(--text); color:#fff; font-weight:600; text-decoration:none; }
.kv-btn-ghost{ padding:13px 24px; border-radius:12px; border:1px solid var(--line-2); color:var(--text); font-weight:600; text-decoration:none; }
