/* A var(--…) értékek előtt álló rögzített színek a CSS-változókat nem ismerő régi böngészők tartalékai: ha egy színt átírsz a :root-ban, a hozzá tartozó rögzített értéket is érdemes átírni. */
/* Az Elemtár E073 (Beszélgetés-jellegű űrlap: egyszerre egy kérdés) arculata és működése alapján. */
:root{
	--acc:#e8739f; --acc-d:#c2356f; --ink:#1f2d3d; --mut:#6b7785; --line:rgba(31,45,61,.09); --line2:rgba(31,45,61,.16);
	--sf2:#faf4f6; --canvas:#fcf7f9; --tint:#fdecf3; --tint2:rgba(249,214,228,.5);
	--ok:#1e8449; --ok-bg:rgba(39,174,96,.12); --warn:#b6790a; --warn-bg:rgba(182,121,10,.13);
	--err:#c0392b; --err-bg:rgba(192,57,43,.11);
	--r:14px; --sh:0 2px 10px rgba(31,45,61,.05); --sh2:0 14px 34px rgba(31,45,61,.14);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1f2d3d;color:var(--ink);background:#fcf7f9;background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.5;font-size:15px}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:none;box-shadow:0 0 0 .2rem rgba(232,115,159,.3);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--acc) 30%,transparent)}
.page{max-width:900px;margin:0 auto;padding:26px 16px 60px}
.top{text-align:center;margin-bottom:22px}
.kick{display:inline-flex;gap:8px;align-items:center;padding:5px 13px;border-radius:999px;background:#fdecf3;background:var(--tint);color:#c2356f;color:var(--acc-d);font-size:.74rem;font-weight:700}
.top h1{font-size:1.6rem;font-size:clamp(1.5rem,4vw,2rem);line-height:1.15;font-weight:800;letter-spacing:-.02em;margin-top:12px}
.top h1 span{color:#c2356f;color:var(--acc-d)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){.top h1 span{background:linear-gradient(100deg,#c2356f,#e8739f);background:linear-gradient(100deg,var(--acc-d),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}}

@keyframes up{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
@keyframes dn{from{opacity:0;transform:translateY(-46px)}to{opacity:1;transform:none}}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}

/* ---------- kérdező ---------- */
.cv{position:relative;max-width:780px;margin:0 auto;min-height:540px;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(31,45,61,.09);border:1px solid var(--line);border-radius:26px;box-shadow:0 14px 34px rgba(31,45,61,.14);box-shadow:var(--sh2);overflow:hidden}
.bar{height:6px;background:rgba(31,45,61,.09);background:var(--line)}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#c2356f,#e8739f);background:linear-gradient(90deg,var(--acc-d),var(--acc));transition:width .5s ease}
.scr{flex:1;display:flex;flex-direction:column;justify-content:center;padding:34px 24px;padding:34px clamp(20px,6vw,64px);animation:up .4s ease}
.scr.dn{animation-name:dn}
.qn{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#c2356f;color:var(--acc-d);font-weight:800;font-size:.9rem;margin-bottom:10px}
.qn .dim{font-size:.68rem;font-weight:700;background:#fdecf3;background:var(--tint);border-radius:999px;padding:3px 10px}
.qq{font-size:1.4rem;font-size:clamp(1.3rem,3.2vw,1.85rem);line-height:1.25;font-weight:800;letter-spacing:-.01em}
.hint{color:#6b7785;color:var(--mut);font-size:.9rem;margin-top:8px}
.big{width:100%;margin-top:26px;border:0;border-bottom:2.5px solid rgba(31,45,61,.16);border-bottom:2.5px solid var(--line2);background:none;padding:10px 2px;font-size:1.2rem;font-size:clamp(1.15rem,2.6vw,1.6rem);font-weight:600;color:#c2356f;color:var(--acc-d);transition:border-color .2s}
.big:focus{outline:none;border-bottom-color:#c2356f;border-bottom-color:var(--acc-d);box-shadow:none}
.big::placeholder{color:#dcc3cd;font-weight:500}
.chs{display:grid;gap:10px;margin-top:24px;max-width:560px}
.chs:focus{outline:none;box-shadow:none}
.ch{display:flex;gap:14px;align-items:center;padding:12px 16px;border-radius:14px;border:2px solid rgba(31,45,61,.16);border:2px solid var(--line2);background:#fff;font-size:.96rem;font-weight:600;text-align:left;transition:all .15s}
.ch b{flex:none;width:28px;height:28px;border-radius:8px;border:1.5px solid rgba(31,45,61,.16);border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:.76rem;color:#6b7785;color:var(--mut);background:#faf4f6;background:var(--sf2)}
.ch small{display:block;font-size:.76rem;font-weight:500;color:#6b7785;color:var(--mut);margin-top:2px}
.ch:hover{border-color:#e8739f;border-color:var(--acc);background:#fdecf3;background:var(--tint)}
.ch.on{border-color:#c2356f;border-color:var(--acc-d);background:#fdecf3;background:var(--tint);color:#c2356f;color:var(--acc-d)}
.ch.on b{background:#c2356f;background:var(--acc-d);border-color:#c2356f;border-color:var(--acc-d);color:#fff}
.sc5{display:flex;gap:10px;flex-wrap:wrap}
.sc5 .ch{width:64px;height:64px;justify-content:center;padding:0;font-size:1.3rem;font-weight:800}
.ends{display:flex;justify-content:space-between;max-width:360px;margin-top:8px;font-size:.76rem;color:#6b7785;color:var(--mut);font-weight:600}
.er{min-height:1.5em;margin-top:12px;color:#c0392b;color:var(--err);font-weight:700;font-size:.86rem}
.er.shake{animation:shake .35s}
.act{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:8px}
.act .mut{font-size:.76rem;color:#6b7785;color:var(--mut)}
.kbd{font-size:.68rem;border:1px solid rgba(31,45,61,.16);border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;padding:1px 6px;background:#fff;color:#6b7785;color:var(--mut)}
.nv{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid rgba(31,45,61,.09);border-top:1px solid var(--line);background:#faf4f6;background:var(--sf2);font-size:.72rem;color:#6b7785;color:var(--mut)}
.nv div{display:flex;gap:8px}
.ib{width:34px;height:34px;border-radius:12px;border:1px solid rgba(31,45,61,.16);border:1px solid var(--line2);background:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s}
.ib:hover{background:#fdecf3;background:var(--tint)}
.ib:disabled{opacity:.45;cursor:not-allowed}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:13px 26px;font-weight:700;font-size:.9rem;color:#fff;background:linear-gradient(100deg,#c2356f,#e8739f);background:linear-gradient(100deg,var(--acc-d),var(--acc));box-shadow:0 8px 20px rgba(194,53,111,.28);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(194,53,111,.34)}
.btn.ghost{background:#fff;color:#1f2d3d;color:var(--ink);border:1.5px solid rgba(31,45,61,.16);border:1.5px solid var(--line2);box-shadow:none}
.btn.ghost:hover{background:#fdecf3;background:var(--tint);border-color:#e8739f;border-color:var(--acc)}

/* ---------- értékelés ---------- */
.res{display:grid;gap:16px;animation:up .4s ease}
.card{background:#fff;border:1px solid rgba(31,45,61,.09);border:1px solid var(--line);border-radius:22px;box-shadow:0 2px 10px rgba(31,45,61,.05);box-shadow:var(--sh);padding:24px 20px;padding:24px clamp(18px,4vw,30px)}
.card h3{font-size:1.05rem;font-weight:800;margin-bottom:12px}
.card h4{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c2356f;color:var(--acc-d);margin:18px 0 8px}
.card h4:first-of-type{margin-top:0}
.card p{line-height:1.7;color:#3b4a5a}
.card p+p{margin-top:10px}
.card ul{padding-left:1.15rem;line-height:1.7;color:#3b4a5a}
.card li+li{margin-top:6px}
.card li b{color:#1f2d3d;color:var(--ink)}
.head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.head h2{font-size:1.4rem;font-size:clamp(1.3rem,3.4vw,1.75rem);font-weight:800;line-height:1.25;margin:10px 0 8px}
.ring{--p:0;--c:var(--acc-d);width:124px;height:124px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#c2356f;background:var(--c);background:conic-gradient(var(--c) calc(var(--p)*1%),var(--sf2) 0)}
.ring div{width:96px;height:96px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ring b{font-size:1.7rem;font-weight:800;line-height:1}
.ring small{font-size:.62rem;font-weight:700;color:#6b7785;color:var(--mut);margin-top:3px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 10px;background:#fdecf3;background:var(--tint);color:#c2356f;color:var(--acc-d);white-space:nowrap}
.chip.ok{background:rgba(39,174,96,.12);background:var(--ok-bg);color:#1e8449;color:var(--ok)}.chip.warn{background:rgba(182,121,10,.13);background:var(--warn-bg);color:#b6790a;color:var(--warn)}.chip.err{background:rgba(192,57,43,.11);background:var(--err-bg);color:#c0392b;color:var(--err)}
.flag{display:flex;gap:12px;border:1px solid rgba(31,45,61,.09);border:1px solid var(--line);border-left:4px solid #c0392b;border-left:4px solid var(--err);background:#fff;border-radius:12px;padding:14px 18px;font-size:.88rem;line-height:1.65}
.flag b{color:#c0392b;color:var(--err)}
.dims{display:grid;gap:14px}
.dm{display:grid;grid-template-columns:minmax(150px,230px) 1fr auto;gap:12px;align-items:center;font-size:.86rem;font-weight:600}
.prog{height:9px;border-radius:999px;background:#faf4f6;background:var(--sf2);overflow:hidden}
.prog i{display:block;height:100%;border-radius:999px;background:#27ae60;transition:width .6s ease}
.prog.warn i{background:#e0a020}.prog.err i{background:#c0392b;background:var(--err)}
.seg{display:inline-flex;background:#faf4f6;background:var(--sf2);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;padding:6px 14px;border-radius:999px;font-size:.72rem;font-weight:700;color:#6b7785;color:var(--mut)}
.seg button.on{background:#fff;color:#c2356f;color:var(--acc-d);box-shadow:0 1px 6px rgba(31,45,61,.12)}
.ansh{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.ansh h3{margin:0}
.grp{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7785;color:var(--mut);padding:14px 0 6px}
.an{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:start;padding:9px 0;border-top:1px solid rgba(31,45,61,.09);border-top:1px solid var(--line);font-size:.84rem}
.an .dot{width:10px;height:10px;border-radius:50%;background:#27ae60;margin-top:6px}
.an .dot.warn{background:#e0a020}.an .dot.err{background:#c0392b;background:var(--err)}
.an small{display:block;color:#6b7785;color:var(--mut);font-size:.72rem}
.an .v{font-weight:700;text-align:right;max-width:260px}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.72rem;color:#6b7785;color:var(--mut);margin-top:12px}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend .dot{width:9px;height:9px;border-radius:50%;background:#27ae60}
.legend .dot.warn{background:#e0a020}.legend .dot.err{background:#c0392b;background:var(--err)}
.disc{font-size:.76rem;color:#6b7785;color:var(--mut);line-height:1.65;text-align:center;max-width:680px;margin:4px auto 0}
.foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
@media (max-width:620px){
	.head{grid-template-columns:1fr;justify-items:start}
	.dm{grid-template-columns:1fr auto}.dm .prog{grid-column:1/-1;grid-row:2}
	.an{grid-template-columns:12px 1fr}.an .v{grid-column:2;text-align:left;max-width:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{body{background:#fff}.foot,.seg{display:none}.card{box-shadow:none;break-inside:avoid}}

/* többválasztós kérdés és pontozatlan válasz */
.chs.multi{grid-template-columns:1fr 1fr;max-width:none}
.chs.multi .ch{padding:10px 12px;font-size:.88rem}
.an .dot.none{background:#c3cad1}
@media (max-width:620px){.chs.multi{grid-template-columns:1fr}}

/* relevancia-visszajelzés */
.head .who{font-size:.8rem;font-weight:700;color:#6b7785;color:var(--mut);margin-top:10px}
.head .who+h2{margin-top:2px;color:#c2356f;color:var(--acc-d)}
.cta{grid-column:1/-1;background:#fdecf3;background:var(--tint);border-radius:14px;padding:14px 18px;font-weight:600;color:#1f2d3d!important;color:var(--ink)!important;line-height:1.6}

/* tömörebb válaszlista */
.an{padding:5px 0;font-size:.82rem}
.an .dot{margin-top:5px}
.an{grid-template-columns:12px max-content 1fr}.an .v{max-width:none}
.grp{padding:10px 0 4px}
.ansh{margin-bottom:4px}
@media (max-width:620px){.an{grid-template-columns:12px 1fr}}

/* eredmény küldése e-mailben */
.mail{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.mail input{flex:0 1 320px;min-width:0;border:1.5px solid rgba(31,45,61,.16);border:1.5px solid var(--line2);border-radius:999px;background:#fff;padding:12px 18px;font-size:16px}
.mail input:focus{outline:none;border-color:#e8739f;border-color:var(--acc);box-shadow:0 0 0 4px rgba(232,115,159,.18);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 18%,transparent)}
.mail .er{flex-basis:100%;text-align:center;margin:0;min-height:0}
@media print{.mail{display:none}}

/* fejléc-logó */
.top .logo{display:block;height:50px;width:auto;margin:0 auto 14px}

.mail .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.mail .chk{flex-basis:100%;display:flex;gap:10px;align-items:flex-start;justify-content:center;max-width:560px;margin:0 auto;font-size:.8rem;line-height:1.55;color:#6b7785;color:var(--mut);cursor:pointer}
.mail .chk input{flex:none;width:17px;height:17px;margin-top:2px;padding:0;accent-color:#c2356f;accent-color:var(--acc-d)}
.mail .sent{flex-basis:100%;text-align:center;font-weight:600;color:#1e8449;color:var(--ok)}
.mail button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}

/* adatvédelmi tájékoztató */
.priv{max-width:780px;margin:18px auto 0;font-size:.8rem;color:#6b7785;color:var(--mut)}
.priv summary{cursor:pointer;text-align:center;font-weight:600;list-style:none;padding:8px}
.priv summary::-webkit-details-marker{display:none}
.priv summary::before{content:"\1F512  "}
.priv summary:hover{color:#c2356f;color:var(--acc-d)}
.priv-b{background:#fff;border:1px solid rgba(31,45,61,.09);border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin-top:8px;line-height:1.65;color:#3b4a5a}
.priv-b h3{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c2356f;color:var(--acc-d);margin:16px 0 6px}
.priv-b ul{padding-left:1.15rem}
.priv-b li+li{margin-top:5px}
.mail .chk a{color:#c2356f;color:var(--acc-d);font-weight:600}
@media print{.priv{display:none}}

/* ---------- mobil finomhangolás ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%}
button,a,summary,label{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
.big,.mail input[type=email]{-webkit-appearance:none;appearance:none}
.big{border-radius:0}
.ch span{min-width:0;overflow-wrap:break-word}
/* Kivágásos (notch) kijelzők: a tartalom nem csúszik a biztonságos sávon kívülre. Ahol a max()/env() nem ismert, a fenti sima padding marad érvényben. */
.page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(60px,env(safe-area-inset-bottom))}
/* Érintőképernyőn nincs "beragadó" hover-állapot. */
@media (hover:none){
	.btn:hover{transform:none;box-shadow:0 8px 20px rgba(194,53,111,.28)}
	.btn.ghost:hover{background:#fff;border-color:rgba(31,45,61,.16);border-color:var(--line2);box-shadow:none}
	.ch:not(.on):hover{border-color:rgba(31,45,61,.16);border-color:var(--line2);background:#fff}
	.ib:hover{background:#fff}
}
/* Érintőképernyőn nagyobb gombok, és nem látszanak a billentyűzetes tippek. */
@media (pointer:coarse){
	.act .mut{display:none}
	.ib{width:44px;height:44px}
	.seg button{padding:10px 14px}
	.ch{min-height:48px}
}
@media (max-width:420px){
	.page{padding-top:16px}
	.top .logo{height:42px}
	.cv{min-height:440px;border-radius:20px}
	.scr{padding:26px 18px}
	.foot .btn{flex:1 1 100%}
	.ring{width:104px;height:104px}
	.ring div{width:80px;height:80px}
	.priv-b{padding:16px}
}

/* ---------- tartalék régebbi böngészőknek ---------- */
/* Ahol a flex "gap" még nem működik (kb. Safari 14.0-ig, Chrome 83-ig), margó adja a térközt.
   A gap támogatása közvetlenül nem kérdezhető le, ezért az aspect-ratio hiánya jelzi a régi motort. */
@supports not (aspect-ratio:1/1){
	.kick>*+*,.qn>*+*,.ch>*+*,.nv div>*+*,.flag>*+*,.legend span>*+*,.mail .chk>*+*{margin-left:10px}
	.act>*,.foot>*,.mail>*,.legend>*,.ansh>*{margin:5px}
	.act,.foot,.mail,.legend,.ansh{margin-left:-5px;margin-right:-5px}
}
/* Üzenet, ha a böngésző túl régi vagy a JavaScript ki van kapcsolva (rögzített színekkel, hogy CSS-változók nélkül is látsszon). */
.nomsg{max-width:560px;margin:0 auto;background:#fff;border:1px solid #f0e6ea;border-left:5px solid #c2356f;border-radius:16px;padding:22px 24px;font-size:1rem;line-height:1.6;color:#1f2d3d}
.nomsg b{display:block;font-size:1.15rem;margin-bottom:6px;color:#c2356f}

/* ---------- régi böngészők (html.legacy) ----------
   A betöltő akkor teszi a <html>-re a "legacy" osztályt, ha a böngésző nem ismeri a rács-elrendezést (grid), a CSS-változókat
   vagy a modern JavaScriptet (pl. Internet Explorer 11, régi Android- és iOS-böngészők). Ilyenkor az elrendezés egyszerű
   blokk/flex alapú, a térközt margók adják. A színek tartalékát a fájlban a var(...) előtti rögzített értékek adják. */
.legacy .cv{display:block}
.legacy .scr{display:block;min-height:420px}
.legacy .chs,.legacy .chs.multi{display:block;max-width:560px}
.legacy .chs .ch{width:100%;margin-bottom:10px}
.legacy .ch>*+*{margin-left:14px}
.legacy .qn>*+*,.legacy .kick>*+*,.legacy .nv div>*+*{margin-left:8px}
.legacy .act>*{margin:0 14px 8px 0}
.legacy .res>*{margin-bottom:16px}
.legacy .head{display:block}
.legacy .head .ring{margin:14px 0}
.legacy .cta{margin-top:14px}
.legacy .dims .dm{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.legacy .dm>span:first-child{flex:1 1 55%}
.legacy .dm .prog{order:3;flex:1 1 100%;margin-top:6px}
.legacy .an{display:flex}
.legacy .an .dot{flex:none;margin-right:10px}
.legacy .an>div{flex:1 1 40%;padding-right:10px}
.legacy .an .v{flex:1 1 50%}
.legacy .foot>*,.legacy .mail>*,.legacy .ansh>*{margin:5px}
.legacy .legend>*{margin-right:14px}
.legacy .legend span>*+*{margin-left:6px}
.legacy .mail .chk>*+*,.legacy .flag>*+*{margin-left:10px}
.legacy .seg button{margin:1px}
