/* A "Társas vállalkozás alapítása" cikk ábráinak és interaktív felületeinek
   stílusai. Minden a .kvc gyökér alatt él, hogy ne szivárogjon ki a .kv-prose
   többi részére. A színváltozók a quiz.css mintáját követik. */

.kvc { --tl:#113537; --tl2:#1c5254; --rust:#e14f36; --mute:#2e797c; --mint:#e8f5f5; --line:rgba(17,53,55,.14); --ok:#0da35e; }
.kvc, .kvc * { box-sizing:border-box; }
.kvc { margin:1.8em 0; }
.kvc-lead { margin:0 0 14px; font-size:14.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.62); }

/* Halk jogi nyilatkozat — a quiz.css .kvt-disc párja. */
.kvc-disc { margin:1.5em 0; padding:12px 16px; font-size:13px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.5); background:rgba(17,53,55,.035); border-left:3px solid rgba(17,53,55,.18); border-radius:0 10px 10px 0; }
.kvc-disc b { color:var(--tl); }

/* Kiemelt figyelmeztetés (pl. kötelező jogi képviselet). */
.kvc-note { margin:1.6em 0; padding:15px 18px; background:var(--mint); border-radius:14px; font-size:14.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.78); }
.kvc-note b { color:var(--tl); font-weight:700; }
.kvc-note.warn { background:rgba(225,79,54,.07); border-left:4px solid var(--rust); border-radius:0 14px 14px 0; }

/* ---------- Folyamatábra: a teljes út állomásai ----------
   Tömör lista, hogy asztali nézetben egyben látszódjon mind a kilenc lépés:
   csak sorszám + cím, és ahol számít, egy jelölés a közreműködőről. */
/* A .kvc előtag itt nem díszítés: a cikkoldal .kv-prose ol/ul szabálya
   (list-style: decimal/disc) különben felülírná, és a saját sorszámkarikánk
   mellé kitenné a lista alapértelmezett jelölőjét is. */
.kvc .kvc-road { list-style:none; margin:1.5em 0; padding:0; }
.kvc-road li { position:relative; margin:0; padding:0 0 6px; }
.kvc-road li:last-child { padding-bottom:0; }
.kvc-road li::before { content:""; position:absolute; left:15px; top:30px; bottom:-2px; width:2px; background:var(--line); }
.kvc-road li:last-child::before { display:none; }
.kvc-road a { display:flex; gap:13px; align-items:center; text-decoration:none; padding:2px 0; }
.kvc-road .n { flex:0 0 32px; height:32px; border-radius:50%; background:var(--tl); color:#fff; font-family:var(--font-mono); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; transition:background .2s ease; }
.kvc-road b { flex:1; min-width:0; font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--tl); line-height:1.3; }
.kvc-road .who { flex:0 0 auto; padding:3px 10px; border-radius:999px; background:var(--mint); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--tl); }
.kvc-road .who.calc { background:var(--rust); color:#fff; }
/* Kalkulátor-ajánló: halvány réz hátterű, kattintható doboz (a .kvc.kvc-ajanlo
   specificitása felülírja a cikkszöveg linkjeinek aláhúzását; nem kvc-calc,
   mert az a cikkekbe ágyazott kalkulátorok osztálya) */
.kvc.kvc-ajanlo { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:1.1em 0; padding:16px 18px; border-radius:14px; background:rgba(225,79,54,.07); text-decoration:none; color:inherit; }
.kvc-ajanlo .t b { display:block; font-size:17px; color:var(--rust); }
.kvc-ajanlo .t span { display:block; margin-top:2px; font-size:13.5px; line-height:1.5; color:rgba(0,0,0,.62); }
.kvc-ajanlo .btn { flex-shrink:0; padding:9px 14px; border-radius:999px; background:var(--rust); color:#fff; font-size:14px; font-weight:700; white-space:nowrap; transition:transform .15s; }
.kvc-ajanlo:hover .btn { transform:translateX(3px); }
@media (max-width:600px) { .kvc-ajanlo { flex-direction:column; align-items:flex-start; } }
.kvc-road .go { flex:0 0 auto; color:var(--mute); font-weight:700; transition:transform .2s ease, color .2s ease; }
.kvc-road a:hover b { color:var(--rust); }
.kvc-road a:hover .n { background:var(--rust); }
.kvc-road a:hover .go { color:var(--rust); transform:translateX(3px); }
/* Szűk kijelzőn a nyíl elfér nélkülünk is — a közreműködő jelölése fontosabb. */
@media (max-width:520px){
  .kvc-road .go { display:none; }
  .kvc-road .who { padding:3px 8px; font-size:9.5px; }
}

/* ---------- 1. Kipipálható csempék: kell-e cég? ---------- */
.kvc-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(186px,1fr)); gap:9px; margin:1.5em 0 0; }
.kvc-tile { display:flex; gap:9px; align-items:flex-start; text-align:left; width:100%; border:1.5px solid var(--line); background:#fff; border-radius:12px; padding:10px 11px; cursor:pointer; font-family:inherit; transition:border-color .15s ease, background .15s ease, transform .15s ease; }
.kvc-tile:hover { border-color:var(--mute); }
.kvc-tile .ic { flex:0 0 27px; height:27px; border-radius:8px; background:var(--mint); display:flex; align-items:center; justify-content:center; font-size:14px; line-height:1; transition:background .15s ease; }
.kvc-tile .tt { flex:1; min-width:0; font-size:13px; line-height:1.38; font-weight:600; color:var(--tl); }
.kvc-tile .tt small { display:block; margin-top:2px; font-size:11.5px; line-height:1.4; font-weight:500; color:rgba(0,0,0,.55); }
.kvc-tile .bx { flex:0 0 17px; height:17px; margin-top:1px; border:2px solid var(--line); border-radius:5px; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:transparent; transition:all .15s ease; }
.kvc-tile.on { border-color:var(--tl2); background:rgba(28,82,84,.045); }
.kvc-tile.on .bx { background:var(--ok); border-color:var(--ok); color:#fff; }
.kvc-tile.on .bx::before { content:"✓"; }
.kvc-tile.on .ic { background:#fff; }

/* A csempék alatti élő értékelés. A [hidden] külön szabályt kap, mert a
   böngésző alapértelmezett hidden-kezelését egy display érték felülírhatja. */
.kvc-verdict[hidden] { display:none; }
/* Mindhárom sáv érvényes ajánlás, nem hiba — ezért egyik sem piros.
   Határeset: semleges szürke. Egyéni vállalkozás: zöld. Társaság: teal. */
.kvc-verdict { margin-top:14px; padding:15px 18px; border-radius:14px; background:rgba(17,53,55,.04); border-left:4px solid var(--mute); }
.kvc-verdict.hi { background:rgba(46,121,124,.1); border-left-color:var(--tl); }
.kvc-verdict.lo { background:rgba(13,163,94,.07); border-left-color:var(--ok); }
/* Csak a doboz saját címe blokkos — a bekezdéseken belüli <b> maradjon
   folyó szöveg, különben a félkövér rész külön sorba törik. */
.kvc-verdict > b { display:block; font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--tl); margin-bottom:4px; }
.kvc-verdict p { margin:0; font-size:14px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.7); }
.kvc-verdict .cnt { font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); display:block; margin-bottom:6px; }
/* Kényszerítő feltétel indoklása — az értékelés alatt, halkabban. */
.kvc-verdict .kvc-force { margin:10px 0 0; padding-top:10px; border-top:1px solid rgba(17,53,55,.12); font-size:13.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.7); }
.kvc-verdict .kvc-force b { color:var(--tl); font-weight:700; }

/* ---------- 2. Cégforma-választó: fülek + részletkártya ---------- */
.kvc-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:1.5em 0 14px; }
.kvc-tab { border:1.5px solid var(--line); background:#fff; border-radius:999px; padding:8px 16px; font-family:var(--font-mono); font-size:12px; font-weight:700; letter-spacing:.05em; color:var(--mute); cursor:pointer; transition:all .15s ease; }
.kvc-tab:hover { border-color:var(--mute); color:var(--tl); }
.kvc-tab.on { background:var(--tl); border-color:var(--tl); color:#fff; }

.kvc-form { border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.kvc-form .hd { padding:15px 20px; color:#fff; }
.kvc-form .hd b { display:block; font-family:var(--font-display); font-size:19px; font-weight:600; line-height:1.2; }
/* .92 és nem .85: a skála legvilágosabb árnyalatán (Kft.) így marad 4.5 felett
   a kontraszt a fehér alcímhez. */
.kvc-form .hd span { display:block; margin-top:3px; font-size:13.5px; line-height:1.5; opacity:.92; }
.kvc-form .kvc-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0; }
.kvc-form .fact { padding:15px 20px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.kvc-form .fact:last-child { border-right:0; }
.kvc-form .fact dt { font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin:0; }
.kvc-form .fact dd { margin:5px 0 0; font-size:15px; line-height:1.4; font-weight:700; color:var(--tl); }
.kvc-form .fact dd.yes { color:var(--ok); }
.kvc-form .fact dd.no { color:var(--rust); }
.kvc-form .fact dd small { display:block; font-size:12px; font-weight:500; color:rgba(0,0,0,.55); margin-top:2px; }
.kvc-form .body { padding:16px 20px 18px; }
.kvc-form .body p { margin:0 0 .8em; font-size:14.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.75); }
.kvc-form .body p:last-child { margin:0; }
.kvc-form .body b { color:var(--tl); font-weight:700; }

/* ---------- 3. Harmonika-panelek (döntések, iratok) ---------- */
.kvc-acc { margin:1.5em 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; }
.kvc-acc details { border-bottom:1px solid var(--line); }
.kvc-acc details:last-child { border-bottom:0; }
.kvc-acc summary { display:flex; gap:12px; align-items:center; padding:14px 18px; cursor:pointer; list-style:none; }
.kvc-acc summary::-webkit-details-marker { display:none; }
.kvc-acc summary .ic { flex:0 0 30px; height:30px; border-radius:9px; background:var(--mint); display:flex; align-items:center; justify-content:center; font-size:15px; }
.kvc-acc summary b { flex:1; font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--tl); line-height:1.3; }
.kvc-acc summary .ar { color:var(--mute); font-weight:700; transition:transform .2s ease; }
.kvc-acc details[open] summary .ar { transform:rotate(90deg); }
.kvc-acc summary:hover b { color:var(--rust); }
.kvc-acc .in { padding:2px 18px 18px 60px; }
.kvc-acc .in p { margin:0 0 .8em; font-size:14.5px; line-height:1.65; font-weight:500; color:rgba(0,0,0,.75); }
.kvc-acc .in p:last-child { margin:0; }
/* A jelölőt itt is külön ki kell írni: a Tailwind preflight list-style:none-t
   tesz minden listára. */
.kvc-acc .in ul { margin:0 0 .9em; padding-left:1.2em; list-style:disc; }
.kvc-acc .in li { margin-bottom:.3em; font-size:14.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.75); }
.kvc-acc .in li::marker { color:var(--mute); }
.kvc-acc .in b { color:var(--tl); font-weight:700; }
.kvc-acc .in h5 { margin:1.1em 0 .5em; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); }
.kvc-acc .in a { color:var(--tl); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:520px){ .kvc-acc .in { padding-left:18px; } }

/* Figyelmeztető sáv a panelen belül */
.kvc-tip { margin:.9em 0; padding:11px 14px; background:rgba(17,53,55,.04); border-radius:10px; font-size:13.5px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.68); }
.kvc-tip b { color:var(--tl); }

/* ---------- Két oszlop: igen/nem, egyszeri/rendszeres ---------- */
.kvc-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.5em 0; }
/* Egyetlen oszlop teljes szélességben — ha a párja szövegbe került. */
.kvc-two.kvc-one { grid-template-columns:1fr; }
/* Ahol az egyik oszlopban jóval több tétel van, a szélesebb hasáb kevesebbet
   tördel, így a két kártya szövege nagyjából egy szinten ér véget. */
.kvc-two.kvc-uneven { grid-template-columns:1.22fr 1fr; }
@media (max-width:560px){ .kvc-two, .kvc-two.kvc-uneven { grid-template-columns:1fr; } }
/* Egyenlőtlen osztás, ha az egyik oszlopban rövid tételek állnak, a másikban
   egész mondatok: így egyik hasábban sem marad nagy üres sáv. Saját
   médiafeltételben, hogy a fenti mobil-visszaállítást ne kelljen bolygatni. */
@media (min-width:561px){
  .kvc-two.kvc-wide-right { grid-template-columns:1fr 1.35fr; }
  .kvc-two.kvc-wide-left { grid-template-columns:1.35fr 1fr; }
}
.kvc-col { border:1px solid var(--line); border-radius:16px; background:#fff; padding:16px 18px 18px; }
.kvc-col h5 { margin:0 0 10px; font-family:var(--font-display); font-size:15.5px; font-weight:600; color:var(--tl); }
/* Ha egy kártyán több csoport van, a második cím kap levegőt az előző lista után. */
.kvc-col ul + h5 { margin-top:16px; }
.kvc .kvc-col ul { margin:0; padding:0; list-style:none; }
/* A jelölő abszolút pozícióban ül, nem flex-elemként: flex-konténerben a
   szövegbe ágyazott <b> külön elemmé válna, és kiesne a mondatból. */
.kvc-col li { position:relative; padding-left:18px; margin-bottom:7px; font-size:14px; line-height:1.5; font-weight:500; color:rgba(0,0,0,.75); }
.kvc-col li:last-child { margin-bottom:0; }
/* Rövid, egyszavas tételeknél a lista két hasábra bontható, így a kártya nem
   nyúlik meg fölöslegesen. A break-inside kell, nehogy egy tétel elváljon a
   jelölőjétől a hasábhatáron. */
.kvc-col ul.cols2 { columns:2; column-gap:16px; }
/* Kézzel osztott két hasáb, ahol a tördelés miatt a böngésző kiegyenlítése
   nem oda tenné a több elemet, ahová kell. */
.kvc-col .twocol { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.kvc-col .twocol ul + ul { margin-top:0; }
.kvc-col ul.cols2 li { break-inside:avoid; }
.kvc-col ul.cols2 li:last-child { margin-bottom:7px; }
.kvc-col li::before { position:absolute; left:0; top:0; font-weight:800; }
.kvc-col.yes li::before { content:"✓"; color:var(--ok); }
.kvc-col.no li::before { content:"✕"; color:var(--rust); }
.kvc-col.dot li::before { content:"•"; color:var(--mute); }
.kvc-col .sum { margin:12px 0 0; padding-top:11px; border-top:1px solid var(--line); font-size:13px; line-height:1.55; font-weight:500; color:rgba(0,0,0,.55); }
/* A nem minden cégnél felmerülő tételek szaggatott keretben, külön címkével —
   így nem kell tételenként jelölni, hogy csak esetenként merülnek fel. */
.kvc-col .opt { margin-top:13px; padding:11px 14px 12px; border:1px dashed var(--line); border-radius:12px; }
.kvc-col .opt .lbl { margin:0 0 7px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); }
/* A "csak ha szükséges" tételek másodlagosak a fő listához képest: kisebb
   betűvel és szorosabban ülnek, hogy ne vigyék el a figyelmet róla. */
.kvc-col .opt li { color:rgba(0,0,0,.62); font-size:12.5px; line-height:1.45; margin-bottom:4px; padding-left:15px; }

/* ---------- 5. TAO / KIVA kalkulátor ---------- */
.kvc-calc { border:1px solid var(--line); border-radius:18px; background:#fff; padding:18px 20px 20px; margin:1.6em 0; }
.kvc-calc h5 { margin:0 0 4px; font-family:var(--font-display); font-size:17px; font-weight:600; color:var(--tl); }
.kvc-calc .sub { margin:0 0 16px; font-size:13.5px; line-height:1.55; font-weight:500; color:rgba(0,0,0,.58); }
/* A címke és a csúszka egy sorban: így az öt beállítás és az eredmény együtt
   elfér egy képernyőn. A címke a csúszka és a fokozatcímkék mellett, két sort
   átfogva, függőlegesen középen áll. */
.kvc-field { display:grid; grid-template-columns:200px 1fr; column-gap:20px; align-items:center; margin-bottom:22px; }
.kvc-field label { grid-column:1; grid-row:1 / span 2; align-self:center; font-size:14px; font-weight:600; color:var(--tl); line-height:1.35; }
/* Ahol a csúszkának számértéke is van, az a címke alatt, saját sorban áll —
   így nem folyik bele a címke szövegébe. */
.kvc-field label .v { display:block; margin-top:3px; font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--rust); }
.kvc-field input[type="range"] { grid-column:2; grid-row:1; }
.kvc-field .kvc-ticks { grid-column:2; grid-row:2; }
/* Szűk kijelzőn marad az egymás alatti elrendezés. */
@media (max-width:560px){
  .kvc-field { grid-template-columns:1fr; }
  .kvc-field label { grid-column:1; grid-row:1; margin-bottom:7px; }
  .kvc-field input[type="range"] { grid-column:1; grid-row:2; }
  .kvc-field .kvc-ticks { grid-column:1; grid-row:3; }
}
.kvc-field .hint { margin:5px 0 0; font-size:12.5px; line-height:1.5; font-weight:500; color:rgba(0,0,0,.5); }
/* Információs (i) jel a címke mellett, hover és billentyűzetes fókusz esetén
   megjelenő buborékkal. A buborék nem fogad egérmozgást (pointer-events:none),
   így nem takarja el a mögötte lévő vezérlőt. */
.kvc-i { position:relative; display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; margin-left:4px; border-radius:50%; background:var(--mute); color:#fff; cursor:help; vertical-align:middle; }
/* A mono betű csak magára a jelre vonatkozik — ha a .kvc-i-re tennénk, a
   buborék szövege is monospace lenne. */
.kvc-i > span:not(.tip) { font-family:var(--font-mono); font-size:10px; font-weight:700; line-height:1; }
.kvc-i:hover, .kvc-i:focus-visible { background:var(--tl); outline:none; }
.kvc-i .tip, .kvc-w .tip { position:absolute; left:50%; top:calc(100% + 9px); transform:translateX(-50%); z-index:5; width:min(280px,72vw); padding:11px 14px; border-radius:11px; background:var(--tl); color:#fff; font-family:inherit; font-size:12.5px; font-weight:500; line-height:1.5; letter-spacing:0; text-align:left; text-transform:none; box-shadow:0 18px 40px -18px rgba(17,53,55,.6); opacity:0; visibility:hidden; transition:opacity .15s ease; pointer-events:none; }
/* A .kvc-dl .it b szabály a buborékon belüli <b>-re is ráillene, és nagyobb
   betűvel törné az első mondatot — ezért itt vissza kell venni. */
.kvc-i .tip b, .kvc-w .tip b { color:#fff; font-weight:700; font-size:inherit; line-height:inherit; }
.kvc-i .tip, .kvc-w .tip { text-indent:0; }
/* Nyíl a buborék tetején. */
.kvc-i .tip::before, .kvc-w .tip::before { content:""; position:absolute; left:50%; top:-5px; margin-left:-5px; border:5px solid transparent; border-top:0; border-bottom-color:var(--tl); }
.kvc-i:hover .tip, .kvc-i:focus .tip, .kvc-w:hover .tip, .kvc-w:focus .tip { opacity:1; visibility:visible; }
/* Piros körös figyelmeztető jel: a .kvc-i párja, ugyanazzal a buborékkal,
   csak rozsdaszín háttérrel. A címke UTÁN áll, ezért balra van margója. */
.kvc-w { position:relative; display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; margin-left:5px; border-radius:50%; background:var(--rust); color:#fff; cursor:help; vertical-align:middle; }
/* A jel SVG: a betűkészlet felkiáltójelében a pont és a vonal olyan közel
   van, hogy 16 pixelen egyetlen vonalnak látszik. */
.kvc-w svg { display:block; width:16px; height:16px; }
.kvc-w:hover, .kvc-w:focus-visible { background:#b93d28; outline:none; }
/* Hosszabb magyarázat fér el benne, mint a sima (i) buborékban. */
.kvc-w .tip { width:min(360px,82vw); }

/* Szűk kijelzőn a buborék nem az ikonhoz, hanem a teljes címkesorhoz igazodik,
   különben a jobb szélen kilógna a képernyőről. */
@media (max-width:560px){
  .kvc-field label { position:relative; }
  .kvc-i { position:static; }
  .kvc-i .tip { left:0; right:0; width:auto; transform:none; top:calc(100% + 6px); }
  .kvc-w .tip { width:min(320px,86vw); top:calc(100% + 6px); }
  .kvc-i .tip::before { left:14px; margin-left:0; }
}

/* Fokozatcímkék a csúszka alatt: a szélsők kifelé, a középső középre igazítva,
   hogy a hüvelyk állásához igazodjanak. Kattintással is választhatók. */
.kvc-ticks { display:flex; justify-content:space-between; margin-top:7px; }
.kvc-ticks button { flex:1; border:0; background:none; padding:2px 0; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(0,0,0,.4); cursor:pointer; transition:color .15s ease; }
.kvc-ticks button:first-child { text-align:left; }
.kvc-ticks button:last-child { text-align:right; }
.kvc-ticks button:hover { color:var(--mute); }
.kvc-ticks button.on { color:var(--tl); }
.kvc-field input[type="range"] { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:999px; background:rgba(17,53,55,.12); outline:none; }
.kvc-field input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background:var(--tl); border:3px solid #fff; box-shadow:0 2px 8px rgba(17,53,55,.35); cursor:pointer; }
.kvc-field input[type="range"]::-moz-range-thumb { width:22px; height:22px; border-radius:50%; background:var(--tl); border:3px solid #fff; box-shadow:0 2px 8px rgba(17,53,55,.35); cursor:pointer; }
.kvc-field input[type="range"]:focus-visible { box-shadow:0 0 0 3px rgba(46,121,124,.3); }

/* Eredménysávok */
.kvc-res { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:6px; }
@media (max-width:520px){ .kvc-res { grid-template-columns:1fr; } }
.kvc-res .box { border:1.5px solid var(--line); border-radius:14px; padding:14px 16px; transition:border-color .2s ease, background .2s ease; }
.kvc-res .box.win { border-color:var(--ok); background:rgba(13,163,94,.05); }
.kvc-res .box .nm { display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--mute); }
.kvc-res .box.win .nm::after { content:"kedvezőbb"; padding:2px 8px; border-radius:999px; background:var(--ok); color:#fff; font-size:9.5px; letter-spacing:.05em; }
.kvc-res .box .amt { margin:7px 0 0; font-family:var(--font-mono); font-size:21px; font-weight:700; color:var(--tl); line-height:1.15; }
.kvc-res .box .brk { margin:9px 0 0; padding:0; list-style:none; }
.kvc-res .box .brk li { display:flex; justify-content:space-between; gap:10px; font-size:12.5px; line-height:1.7; font-weight:500; color:rgba(0,0,0,.6); }
.kvc-res .box .brk li span { font-family:var(--font-mono); font-weight:700; color:rgba(0,0,0,.72); white-space:nowrap; }
/* Csoportcímke a levezetésen belül (pl. „A béreken", „Kiva-alap"). */
.kvc-res .box .brk li.hd { display:block; margin-top:10px; font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); }
.kvc-res .box .brk li.hd:first-child { margin-top:2px; }
/* Részösszeg: elválasztóval és erősebb szedéssel. */
.kvc-res .box .brk li.sum { margin-top:4px; padding-top:5px; border-top:1px solid var(--line); font-weight:700; color:var(--tl); }
.kvc-res .box .brk li.sum span { color:var(--tl); }

/* ---------- Mérleg: melyik oldalon kisebb a várható teher ----------
   Klasszikus kétkarú mérleg SVG-ben — a geometriát (kar dőlése, serpenyők
   helye) a script számolja, itt csak a kinézet van. */
.kvc-scale { margin:16px auto 6px; max-width:300px; }
.kvc-scale svg { display:block; width:100%; height:auto; }
.kvc-scale .col, .kvc-scale .arm, .kvc-scale .bowl { fill:var(--tl); }
.kvc-scale .hook { fill:none; stroke:var(--tl); stroke-width:2; }
/* Pontozott „kötelek" — kerek végű, sűrű pontsor. */
.kvc-scale .rope { stroke:var(--tl); stroke-width:2.4; stroke-linecap:round; stroke-dasharray:.1 6.5; fill:none; opacity:.85; }
.kvc-scale .lbl { fill:#fff; font-family:var(--font-mono); font-weight:700; font-size:25px; letter-spacing:.04em; text-anchor:middle; }
.kvc-scale .okc { fill:var(--ok); stroke:#fff; stroke-width:2.5; }
.kvc-scale .ok { fill:#fff; font-size:13px; font-weight:800; text-anchor:middle; font-family:var(--font-mono); }

/* ---------- Áfa-segéd ---------- */
.kvc-q { margin-bottom:14px; }
.kvc-q > p { margin:0 0 8px; font-size:14.5px; font-weight:600; color:var(--tl); line-height:1.4; }
.kvc-opts { display:flex; flex-wrap:wrap; gap:8px; }
.kvc-opt { border:1.5px solid var(--line); background:#fff; border-radius:11px; padding:9px 14px; font-size:14px; font-weight:600; color:var(--tl); font-family:inherit; cursor:pointer; transition:all .12s ease; line-height:1.35; text-align:left; }
.kvc-opt:hover { border-color:var(--mute); }
.kvc-opt.on { background:var(--tl); border-color:var(--tl); color:#fff; }

/* ---------- Adónem-csempék: TAO + szocho egy oszlopban, KIVA mellette ----------
   A KIVA csempe két sort fog át, így pont akkora, mint a bal oldali kettő
   együtt — ez teszi láthatóvá, hogy a KIVA mindkettőt kiváltja. */
/* Egyenrangú csempék rugalmas rácsban (áttekintő blokkokhoz, ahol nincs
   kitüntetett elem — szemben a .kvc-taxcards aszimmetrikus elrendezésével). */
.kvc-taxcards2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; margin:1.5em 0; }

.kvc-taxcards { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.5em 0; }
.kvc-taxcards > :nth-child(1) { grid-column:1; grid-row:1; }
.kvc-taxcards > :nth-child(2) { grid-column:1; grid-row:2; }
.kvc-taxcards > :nth-child(3) { grid-column:2; grid-row:1 / span 2; }
@media (max-width:560px){
  .kvc-taxcards { grid-template-columns:1fr; }
  .kvc-taxcards > :nth-child(1),
  .kvc-taxcards > :nth-child(2),
  .kvc-taxcards > :nth-child(3) { grid-column:1; grid-row:auto; }
}


/* Az áfabecslő tételes sorai az eredménydobozban. */
.kvc-afa-sorok { list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px solid rgba(17,53,55,.14); }
.kvc-afa-sorok li { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; font-size:13.5px; line-height:1.5; font-weight:500; color:rgba(0,0,0,.65); }
.kvc-afa-sorok li b { font-family:var(--font-mono); font-weight:700; white-space:nowrap; color:var(--tl); }
.kvc-afa-sorok li b.jo { color:var(--ok); }
.kvc-afa-sorok li b.rossz { color:var(--rust); }
.kvc-afa-sorok li.ossz { margin:8px 0 0; padding-top:8px; border-top:1px solid rgba(17,53,55,.14); font-weight:700; color:var(--tl); }


/* Képletszerű levezetés (adóalap-számítás lépései). A jobb oldali oszlop az
   eredmény, ezért kiemelt; az utolsó előtti sor a lényegi művelet. */
.kvc-formula { margin:1.2em 0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; }
.kvc-formula .row { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:9px 14px; border-bottom:1px solid var(--line); font-size:13.5px; line-height:1.5; font-weight:500; color:rgba(0,0,0,.68); }
.kvc-formula .row:last-child { border-bottom:0; }
.kvc-formula .row b { flex:0 0 auto; font-family:var(--font-mono); font-size:12px; font-weight:700; color:var(--tl); text-align:right; }
.kvc-formula .row.res { background:var(--mint); }
.kvc-formula .row.res b { color:var(--tl2); }
@media (max-width:480px){
  .kvc-formula .row { flex-direction:column; gap:3px; }
  .kvc-formula .row b { text-align:left; }
}

/* ---------- Statikus iratlista (mit vigyél az ügyvédhez) ----------
   A teendőlista kártyáinak kinézete, interakció nélkül: nincs pipa,
   haladásjelző és kattintás — ez csak felsorolás. */
.kvc-docs { margin:1.5em 0; }
.kvc-doc { border:1px solid var(--line); border-radius:14px; background:#fff; padding:13px 16px; margin-bottom:9px; }
.kvc-doc:last-child { margin-bottom:0; }
.kvc-doc > b { display:block; font-size:14.5px; font-weight:700; color:var(--tl); line-height:1.4; }
.kvc-doc .meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.kvc-doc .meta span { padding:3px 9px; border-radius:999px; background:rgba(17,53,55,.055); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--mute); }
.kvc-doc .meta span.when { background:var(--mint); color:var(--tl); }
.kvc-doc .meta span.urgent { background:rgba(225,79,54,.1); color:var(--rust); }
.kvc-doc .d { margin:7px 0 0; font-size:13px; line-height:1.55; font-weight:500; color:rgba(0,0,0,.6); }

/* ---------- Határidő szerinti teendőlista ----------
   A hangsúly a határidőn van: az bal oldalon, önálló oszlopban áll,
   a hozzá tartozó teendők pedig mellette csoportosulnak. */
.kvc-dl { margin:1.5em 0; border:1px solid var(--line); border-radius:16px; background:#fff; }
/* Nincs overflow:hidden, különben a .kvc-w buborékját levágná a doboz alja.
   A lekerekített sarkokat ezért a szélső cellák maguk kapják meg. */
.kvc-dl .grp:first-child .when { border-top-left-radius:15px; }
.kvc-dl .grp:last-child .when { border-bottom-left-radius:15px; }
.kvc-dl .grp { display:grid; grid-template-columns:190px 1fr; border-bottom:1px solid var(--line); }
.kvc-dl .grp:last-child { border-bottom:0; }
.kvc-dl .when { padding:15px 18px; background:rgba(17,53,55,.035); border-right:1px solid var(--line); }
.kvc-dl .when b { display:block; font-family:var(--font-mono); font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--tl); line-height:1.35; }
.kvc-dl .when span { display:block; margin-top:4px; font-size:12px; line-height:1.45; font-weight:500; color:rgba(0,0,0,.5); }
.kvc-dl .items { padding:6px 0; }
.kvc-dl .it { padding:9px 18px; }
.kvc-dl .it b { font-size:14.5px; font-weight:700; color:var(--tl); line-height:1.4; }
.kvc-dl .it .who { display:inline-block; margin-left:8px; padding:2px 9px; border-radius:999px; background:var(--mint); font-family:var(--font-mono); font-size:9.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--tl); vertical-align:1px; }
.kvc-dl .it p { margin:5px 0 0; font-size:13px; line-height:1.55; font-weight:500; color:rgba(0,0,0,.6); }
.kvc-dl .it p b { font-size:inherit; }
/* Szűk kijelzőn a határidő a teendők fölé kerül. */
@media (max-width:560px){
  .kvc-dl .grp { grid-template-columns:1fr; }
  .kvc-dl .grp:first-child .when { border-radius:15px 15px 0 0; }
  .kvc-dl .grp:last-child .when { border-radius:0; }
  .kvc-dl .when { border-right:0; border-bottom:1px solid var(--line); padding:11px 16px; }
  .kvc-dl .it { padding:9px 16px; }
}

/* ---------- Idővonal (előtársaság → bejegyzés → adószám) ---------- */
.kvc-tl { position:relative; margin:1.6em 0; padding-left:26px; }
.kvc-tl::before { content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px; background:var(--line); }
.kvc-tl .st { position:relative; margin-bottom:18px; }
.kvc-tl .st:last-child { margin-bottom:0; }
.kvc-tl .st::before { content:""; position:absolute; left:-26px; top:5px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--mute); }
.kvc-tl .st b { display:block; font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--tl); line-height:1.3; }
.kvc-tl .st .w { display:inline-block; margin-top:4px; padding:2px 9px; border-radius:999px; background:var(--mint); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--tl); }
.kvc-tl .st p { margin:6px 0 0; font-size:14px; line-height:1.6; font-weight:500; color:rgba(0,0,0,.7); }
.kvc-tl .st p b { display:inline; font-family:inherit; font-size:inherit; }

/* ---------- Vízszintesen görgethető táblázat ---------- */
.kvc-scroll { margin:1.5em 0; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--line); border-radius:16px; }
.kvc-scroll table { width:100%; min-width:520px; border-collapse:collapse; margin:0; font-size:14.5px; }
.kvc-scroll th, .kvc-scroll td { text-align:left; padding:11px 16px; border-bottom:1px solid var(--line); }
.kvc-scroll tr:last-child td { border-bottom:0; }
.kvc-scroll th { font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); background:rgba(17,53,55,.03); white-space:nowrap; }
.kvc-scroll td { font-weight:500; color:rgba(0,0,0,.75); }
.kvc-scroll td b { color:var(--tl); font-weight:700; }
.kvc-scroll td b.min { color:var(--rust); }
.kvc-scroll td small { display:block; margin-top:2px; font-size:12.5px; line-height:1.35; color:rgba(0,0,0,.55); }
.kvc-scroll td .sep { display:block; margin-top:8px; padding-top:8px; border-top:1px dashed rgba(17,53,55,.25); }
/* a cella felső része úgy szürkül, mint a td.none (széltől szélig) */
.kvc-scroll td .nil { display:block; margin:-11px -16px 0; padding:11px 16px 8px; background:rgba(17,53,55,.04); color:rgba(0,0,0,.5); }
.kvc-scroll td .nil + .sep { margin-top:0; }
.kvc-scroll tr.top td { vertical-align:top; }
.kvc-scroll td.y { color:var(--ok); font-weight:700; }
.kvc-scroll td.n { color:var(--rust); font-weight:700; }
.kvc-scroll td.p { color:var(--mute); font-weight:700; }
/* Halvány cellák: "none" = nincs ilyen teher, "off" = az adott jogállásban nem választható. */
.kvc-scroll td.none { background:rgba(17,53,55,.04); color:rgba(0,0,0,.5); }
.kvc-scroll td.off { background:rgba(0,0,0,.075); color:rgba(0,0,0,.4); font-style:italic; }
/* Adózási módok táblája: minden mód (a sárga 2027-es soraival együtt) külön csoport. */
.kvc-modes tbody.grp tr td { border-bottom:0; }
.kvc-modes thead th:nth-child(2) { width:42%; }
.kvc-modes tbody.grp + tbody.grp tr:first-child td { border-top:6px solid rgba(17,53,55,.07); }
.kvc-modes tbody.grp:nth-of-type(even) { background:rgba(17,53,55,.025); }
.kvc-modes tbody.grp tr:last-child td { padding-bottom:14px; }
/* A sávkereső a táblázatban: a görgethető tábla levágná a lebegő listát, ezért itt a lista a mező alatt nyílik ki. */
.kvc-scroll tr.find td { padding:0 10px 10px 0; }
.kvc-scroll .kvc-find { padding:12px 14px; }
.kvc-scroll .kvc-find label { font-size:14px; }
.kvc-scroll .kvc-find .list { position:static; margin-top:4px; box-shadow:none; }
/* Sárga 2027-es sor az adózási módok alatt (a .kvguide sárgájával). */
.kvc-scroll tr.y27 td { padding:0 10px 10px 0; }
.kvc .y27-box p small { font-size:12px; color:rgba(0,0,0,.5); }
.kvc .y27-box { display:flex; gap:12px; align-items:flex-start; padding:10px 13px; background:#fff8e1; border:1px solid rgba(214,158,0,.35); border-left:4px solid #e0a800; border-radius:0 12px 12px 0; }
.kvc .y27-box .tag { flex:0 0 92px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8a6400; line-height:1.4; }
.kvc .y27-box .tag small { display:block; margin-top:3px; font-family:inherit; font-size:10px; font-weight:600; letter-spacing:0; text-transform:none; color:rgba(0,0,0,.5); }
.kvc .y27-box p { flex:1; margin:0; font-size:13.5px; line-height:1.55; color:rgba(0,0,0,.75); }
@media (max-width:520px){ .kvc .y27-box { flex-direction:column; gap:6px; } .kvc .y27-box .tag { flex:none; } }
.kvc-dl .y27-box { margin-top:8px; }

/* ---------- Kattintható csempék a folytató cikkekhez ---------- */
.kvc-next { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:1.6em 0 0; }
@media (max-width:560px){ .kvc-next { grid-template-columns:1fr; } }
.kvc-next a { position:relative; display:flex; flex-direction:column; text-decoration:none; border-radius:18px; background:#fff; border:1px solid var(--line); box-shadow:0 24px 48px -32px rgba(17,53,55,.4); transition:transform .3s cubic-bezier(.16,1,.3,1); }
@media (hover:hover){ .kvc-next a:hover { transform:translateY(-4px); } .kvc-next a:hover::after { content:""; position:absolute; left:0; right:0; top:100%; height:4px; } }
.kvc-next .cover { border-radius:17px 17px 0 0; }
.kvc-next a:active { transform:translateY(0) scale(.98); transition-duration:.1s; }
@media (prefers-reduced-motion:reduce){ .kvc-next a, .kvc-next a:hover, .kvc-next a:active { transition:none; transform:none; } }
.kvc-next .cover { display:flex; align-items:center; min-height:58px; padding:14px 18px; }
.kvc-next .cover span { color:#fff; font-family:var(--font-display); font-weight:600; font-size:16.5px; line-height:1.25; }
.kvc-next .cap { flex:1; display:flex; flex-direction:column; padding:15px 18px 17px; }
.kvc-next .cap p { margin:0; font-size:13.5px; line-height:1.55; font-weight:500; color:rgba(0,0,0,.68); }
.kvc-next .cap i { align-self:flex-start; margin-top:auto; padding-top:13px; font-style:normal; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); transition:color .2s ease; }
.kvc-next a:hover .cap i { color:var(--rust); }

/* Költséghányad-sáv kereső (szakmakereso.js): a KATA vagy átalányadó kalkulátor keresőjének párja. */
.kvc-find { padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.kvc-find label { display:block; margin:0 0 8px; font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--tl); }
.kvc-find .wrap { position:relative; }
.kvc-find input { width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:#fff; font:inherit; font-size:15px; color:var(--tl); }
.kvc-find input:focus { outline:none; border-color:var(--mute); box-shadow:0 0 0 3px rgba(46,121,124,.15); }
.kvc-find .list { position:absolute; z-index:25; left:0; right:0; top:calc(100% + 4px); max-height:290px; overflow-y:auto; margin:0; padding:4px; list-style:none; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 30px rgba(17,53,55,.16); }
.kvc-find .list[hidden], .kvc-find .hint[hidden] { display:none; }
.kvc-find .list li { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:0; padding:9px 11px; border-radius:8px; cursor:pointer; font-size:14px; line-height:1.35; font-weight:500; color:rgba(0,0,0,.78); }
.kvc-find .list li.on { background:var(--mint); color:var(--tl); }
.kvc-find .list li small { flex:0 0 auto; white-space:nowrap; font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--mute); }
.kvc-find .list li.empty { cursor:default; color:rgba(0,0,0,.5); }
.kvc-find .hint { margin:9px 0 0; padding:10px 13px; border-radius:12px; background:var(--mint); font-size:13px; line-height:1.5; font-weight:500; color:rgba(0,0,0,.72); }
.kvc-find .hint b { color:var(--tl); font-weight:700; }

/* Nyomtatáskor a csempék és a határidős sorok ne törjenek ketté. */
@media print {
  .kvc-tile, .kvc-dl .grp { break-inside:avoid; }
}
