/* =============================================================================
   Sync Mixing - /order/ (audio branding rendeles)
   A jovahagyott terv (docs/terv/audio-branding-shop.html) stilusa, kulon fajlban,
   mert a Caddyfile CSP-je (style-src 'self') nem enged inline <style>-t es
   style="" attributumot. A JS a CSSOM-on at allit (el.style.x), az engedett.
   ============================================================================= */
@font-face{font-family:'Readex Pro';font-style:normal;font-weight:200 700;font-display:swap;
  src:url('/assets/readex-pro-latin.woff2') format('woff2')}
:root{
  /* a /demos oldal (demos.css) tokenjei, változatlanul */
  --ink:#0a0a0a; --body:#5B6570; --muted:#98A2AC;
  --line:#E3E8EB; --line-soft:#EFF3F5; --bg:#F4F6F8; --card:#fff; --soft:#F2F5F7; --hover:#F5F8FA;
  --brand:#02DDF7; --brand-hover:#00C9E0; --brand-ink:#0D7F92; --brand-soft:#F2FCFE; --brand-line:#BFEFF7;
  --on-brand:#04252A; --focus:#9BEBF7;
  --nav:#0E1114; --nav-2:#1A2025; --nav-tx:#A8B3BC; --nav-line:#1C2227;
  --ok-ink:#0F7A52; --ok-bg:#E4F4EC;
  --err-ink:#8F2323; --err-bg:#FFF2F2; --err-line:#F3C4C4; --err:#D64545;
  --radius:14px; --header-h:64px;
  --font:'Readex Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
html{scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
  font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
main{flex:1 0 auto}
.burok{width:100%;max-width:1180px;margin:0 auto;padding:0 26px}
:where(a,button,input,textarea,label):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
button{font:inherit;color:inherit}
[hidden]{display:none!important}


/* ---- FEJLÉC: a /demos sötét sávja ------------------------------------- */
.fejlec{height:var(--header-h);background:var(--nav);display:flex;align-items:center;position:sticky;top:0;z-index:40}
.fejlec .burok{display:flex;align-items:center;gap:20px}
.fejlec img{height:30px;width:auto;display:block}
.fejlec nav{margin-left:auto;display:flex;gap:22px}
.fejlec a{color:var(--nav-tx);text-decoration:none;font-size:.8125rem;font-weight:500}
.fejlec a:hover,.fejlec a[aria-current]{color:#fff}

/* ---- BEVEZETŐ --------------------------------------------------------- */
.beveto{padding:40px 0 26px}
.jelveny{display:inline-flex;align-items:center;gap:7px;background:var(--brand-soft);
  color:var(--brand-ink);border:1px solid var(--brand-line);border-radius:99px;padding:4px 12px;
  font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}
.jelveny .pont{width:6px;height:6px;border-radius:50%;background:var(--brand)}
h1{margin:0 0 10px;font-size:2.1rem;line-height:1.2;letter-spacing:-.02em;font-weight:700}
.lead{margin:0;font-size:.9375rem;color:var(--body);line-height:1.7;max-width:62ch}
.lead a{color:var(--brand-ink);font-weight:500}

/* ---- BOLT: lépések balra, kosár jobbra -------------------------------- */
.bolt{padding-bottom:56px}
.bolt-racs{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
@media (max-width:980px){.bolt-racs{grid-template-columns:1fr}}

/* lépéssor */
.lepessor{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(var(--db,5),minmax(0,1fr));gap:8px}
.lepessor button{width:100%;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:10px 12px;cursor:pointer;text-align:left;min-width:0}
.lepessor button:disabled{cursor:default}
.lepessor .kor{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-size:12px;font-weight:700;background:var(--soft);color:var(--muted)}
.lepessor .cim{font-size:.8125rem;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lepessor li.aktiv button{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-soft)}
.lepessor li.aktiv .kor{background:var(--brand);color:var(--on-brand)}
.lepessor li.aktiv .cim{color:var(--ink)}
.lepessor li.kesz .kor{background:var(--ok-bg);color:var(--ok-ink)}
.lepessor li.kesz .cim{color:var(--ink)}
.lepessor li.kesz button:hover{border-color:#cfd8de}
.lepessor .kor svg{width:13px;height:13px}
@media (max-width:720px){
  .lepessor{gap:5px}
  .lepessor button{flex-direction:column;gap:4px;padding:8px 4px;align-items:center}
  .lepessor .cim{font-size:.6875rem;max-width:100%}
  .lepessor li:not(.aktiv) .cim{display:none}
}

/* panelek és kártyák */
.panel-fej{margin:0 0 16px}
.panel-fej h2{margin:0 0 4px;font-size:1.375rem;letter-spacing:-.02em;line-height:1.25}
.panel-fej p{margin:0;color:var(--body);font-size:.875rem}
/* Minden kártya fejléce fekete, fehér betűvel (tulaj-kérés, 2026-10-05): az egész oldalon egységesen,
   ugyanaz a nyelv, mint a csomagkártyákon és a kosáron. */
.kartya{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(14,18,32,.04);margin-bottom:14px;overflow:hidden}
.kartya-fej{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--nav);color:#fff}
.kartya-fej h3{margin:0;font-size:.9375rem;font-weight:700;color:#fff}
.kartya-fej p{margin:2px 0 0;color:var(--nav-tx);font-size:.8125rem}
.kartya-fej .kapcsolo{background:var(--nav-2);border-color:var(--nav-2)}
.kartya-fej .kapcsolo button{color:var(--nav-tx)}
.kartya-fej .kapcsolo button[aria-pressed="true"]{background:var(--card);color:var(--ink)}
.kartya-fej .kapcsolo.hibas{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
.kartya-torzs{padding:16px 20px}
.csop{margin-bottom:22px}
.csop > h3{margin:0 0 2px;font-size:1rem}
.csop > p{margin:0 0 12px;color:var(--body);font-size:.8125rem}

/* címke (Included / Extra) */
.cimke{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:99px;font-size:.6875rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.cimke-benne{background:var(--ok-bg);color:var(--ok-ink)}
.cimke-extra{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-line)}

/* 1. csomagok — a C változat (csomag-variaciok.html, tulaj-döntés 2026-10-05):
   sötét fejléc a névvel és az árral, mint a /demos kártyáin. A Build Your Own
   SZÁNDÉKOSAN más kártya: világos, szaggatott keret, "Custom" címke, nincs tartalomlista. */
.csomag-sav{margin-bottom:22px}
.lepes-jel{font-size:.8125rem;font-weight:700;color:var(--brand-ink);margin:0 0 4px}
.csomag-sav .panel-fej h2{font-size:1.75rem}
.csomagok{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;align-items:stretch}
@media (max-width:1060px){.csomagok{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.csomagok{grid-template-columns:1fr}}
.csomag{display:flex;flex-direction:column;text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0;
  box-shadow:0 1px 2px rgba(14,18,32,.04);transition:transform .14s,box-shadow .14s;font:inherit;color:inherit}
.csomag:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(14,18,32,.35)}
.csomag[aria-pressed="true"]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand),0 14px 30px -16px rgba(2,221,247,.6)}
.cs-fej{display:block;background:var(--nav);color:#fff;padding:18px 20px 20px;position:relative}
.cs-fej::after{content:"";position:absolute;left:12%;right:12%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(2,221,247,.5),transparent)}
.cs-sor1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cs-nev{font-size:1.25rem;font-weight:700}
.cs-cimke{display:inline-block;background:var(--brand);color:var(--on-brand);font-size:.6875rem;font-weight:700;letter-spacing:.04em;padding:4px 11px;border-radius:99px;white-space:nowrap}
.cs-jegy{display:block;color:var(--nav-tx);font-size:.8125rem;margin:2px 0 14px;min-height:2.6em}
.cs-ar{display:flex;align-items:baseline;gap:6px}
.cs-ar strong{font-size:2.5rem;letter-spacing:-.04em;line-height:1}
.cs-ar span{font-size:.8125rem;color:var(--nav-tx)}
.cs-db{display:block;font-size:.75rem;color:var(--nav-tx);margin-top:6px}
.cs-torzs{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
.cs-sorok{list-style:none;margin:0;padding:0;display:grid;font-size:.875rem;flex:1;align-content:start}
.cs-sorok li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft)}
.cs-sorok li:last-child{border-bottom:0}
.cs-sorok b{font-family:var(--mono);font-variant-numeric:tabular-nums}
.cs-cta{display:grid;place-items:center;min-height:44px;border-radius:12px;background:var(--soft);font-weight:700;font-size:.875rem}
.csomag:hover .cs-cta,.csomag[aria-pressed="true"] .cs-cta{background:var(--brand);color:var(--on-brand)}
/* Build Your Own: világos, szaggatott, középre rendezett */
.csomag-sajat{border:2px dashed #C9D3DA;background:var(--card)}
.csomag-sajat:not([aria-pressed="true"]):hover{border-color:var(--brand)}
.csomag-sajat[aria-pressed="true"]{border-style:solid;background:var(--brand-soft)}
/* a felső rész cián fejléc (tulaj-kérés, 2026-10-05): a többi kártya fekete fejlécének párja */
.cs-sajat-fej{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;justify-content:center;padding:18px 20px 18px;background:var(--brand);color:var(--on-brand)}
/* A négy kártya fejléce EGY rácssorban (subgrid): a cián rész mindig olyan magas, mint a fekete
   fejlécek, akkor is, ha valamelyik szöveg megnő (tulaj-kérés, 2026-10-05). */
.csomagok{grid-auto-rows:auto}
.csomag{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:0}
.cs-sajat-fej .cs-cimke{background:var(--card);color:var(--brand-ink);border:0}
.cs-sajat-fej .cs-ikon{background:rgba(255,255,255,.85);border-color:transparent;color:var(--on-brand);margin:2px 0 0}
.cs-sajat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 22px 20px;flex:1}
.cs-sajat .cs-cimke{background:var(--brand-soft);color:var(--brand-ink);border:1px solid var(--brand-line)}
.cs-ikon{width:56px;height:56px;border-radius:16px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);display:grid;place-items:center;margin:6px 0 2px}
.cs-ikon svg{width:26px;height:26px}
.cs-sajat .cs-nev{font-size:1.25rem}
.cs-sajat .cs-jegy{color:var(--body);margin:0;min-height:0;max-width:24ch}
/* A leírás, az ár és a revízió-sor függőlegesen középen; a gomb lent (tulaj-kérés, 2026-10-05):
   a szabad hely a csoport fölé és a gomb fölé egyenlően oszlik. */
.cs-sajat .cs-jegy{margin-top:auto}
.cs-sajat .cs-ar{justify-content:center;padding-top:8px}
.cs-sajat .cs-ar span{color:var(--body)}
.cs-sajat .cs-cta{align-self:stretch;margin-top:auto}
.cs-sajat .cs-db-v{margin-bottom:6px}

/* extrák */
.tetel-sor{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.tetel-sor:first-child{padding-top:2px}
.tetel-sor:last-child{border-bottom:0;padding-bottom:2px}
.tetel-nev{font-weight:600;font-size:.9375rem}
.tetel-sub{color:var(--body);font-size:.8125rem}
.tetel-sub.megtakaritas{color:var(--ok-ink);font-weight:600}
.leptet{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:var(--card)}
.leptet button{width:36px;height:36px;border:0;background:transparent;font-size:18px;cursor:pointer;border-radius:50%;color:var(--ink)}
.leptet button:hover:not(:disabled){background:var(--hover)}
.leptet button:disabled{opacity:.3;cursor:not-allowed}
.leptet output{min-width:28px;text-align:center;font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums}
.leptet.van{border-color:var(--brand)}

.expressz{cursor:pointer}
.kapcs{position:relative;display:inline-block;width:40px;height:23px;flex:none}
.kapcs input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.kapcs i{position:absolute;inset:0;border-radius:99px;background:#D6D9E4;transition:background .14s}
.kapcs i::after{content:"";position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .14s}
.kapcs input:checked + i{background:var(--brand)}
.kapcs input:checked + i::after{transform:translateX(17px)}
.kapcs input:focus-visible + i{outline:3px solid var(--focus);outline-offset:2px}
.cs-db-v{font-size:.75rem;color:var(--body)}

.hang-tipus{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.hang-tipus button{display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px}
.hang-tipus button b{font-size:.9375rem}
.hang-tipus button span{font-size:.75rem;color:var(--body)}
.hang-tipus button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.szurok{display:grid;gap:8px;margin:0 0 14px}
.szuro-sor{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0}
.szuro-lb{width:76px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.szchip{height:30px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:.75rem;font-weight:600;color:var(--body);cursor:pointer}
.szchip:hover{border-color:var(--line-hover,#BFC8CE)}
.szchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.szchip.hibas{border-color:var(--err)}
.hang-csop{margin:0 0 16px}
.hang-csop h3{margin:0 0 8px;font-size:.8125rem;display:flex;align-items:center;gap:8px}
.hang-csop h3 em{font-style:normal;font-weight:600;font-size:.6875rem;padding:2px 8px;border-radius:99px;background:var(--soft);color:var(--body)}
.hang-ures{font-size:.8125rem;color:var(--body);background:var(--card);border:1px dashed #C9D3DA;border-radius:12px;padding:14px 16px}
.link-gomb{background:none;border:0;padding:0;cursor:pointer;color:var(--brand-ink);font-weight:600;font-size:inherit;text-decoration:underline}
#jogok{margin-top:14px}
.human-sor{margin:6px 0 0;font-size:.8125rem;color:var(--body)}
.human-sor b{color:var(--ink)}
.vissza-sor{margin:0 0 10px;font-size:.8125rem}

/* súgó minden lépésen (tulaj-kérés, 2026-10-05) */
details.sugo{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;margin:0 0 14px}
details.sugo summary{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;list-style:none;font-size:.8125rem;font-weight:700;color:var(--brand-ink)}
details.sugo summary::-webkit-details-marker{display:none}
details.sugo summary::before{content:"?";width:18px;height:18px;border-radius:50%;background:var(--brand-ink);color:#fff;display:grid;place-items:center;font-size:11px;flex:none}
details.sugo summary::after{content:"";margin-left:auto;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px}
details.sugo[open] summary::after{transform:rotate(-135deg);margin-top:3px}
details.sugo summary small{font-weight:400;color:var(--body);font-size:.75rem}
.sugo-test{padding:0 14px 12px 40px;font-size:.8125rem;color:var(--body);line-height:1.6}
.sugo-test ul{margin:0;padding-left:16px;display:grid;gap:4px}
.sugo-test b{color:var(--ink)}
.sugo-lab{margin:8px 0 0;font-size:.75rem;color:var(--muted)}
.fejlec nav{align-items:center}


/* mezők */
.mezo{display:grid;gap:6px;margin-bottom:14px}
.mezo:last-child{margin-bottom:0}
.mezo > span{font-size:.8125rem;font-weight:600}
.mezo .opc{font-weight:400;color:var(--muted);margin-left:4px}
.mezo input,.mezo textarea,.sor-mezo input{width:100%;font:inherit;font-size:.875rem;color:var(--ink);background:var(--hover);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;transition:border-color .14s}
.mezo textarea{min-height:84px;resize:vertical;line-height:1.55}
.mezo input:hover,.mezo textarea:hover,.sor-mezo input:hover{border-color:#cfd8de}
.mezo input:focus,.mezo textarea:focus,.sor-mezo input:focus{background:var(--card);border-color:var(--brand);outline:3px solid rgba(2,221,247,.3);outline-offset:0}
.mezo input::placeholder,.mezo textarea::placeholder,.sor-mezo input::placeholder{color:var(--muted)}
.hibas input,.hibas textarea,input.hibas{border-color:var(--err)!important;background:var(--err-bg)!important}
.mezo-par{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mezo-par .teljes{grid-column:1/-1}
@media (max-width:620px){.mezo-par{grid-template-columns:1fr}}
.mezo-par .mezo{margin:0}

/* liner-sorok: az engine tracklist-ritmusa */
.sorok{border-bottom:1px solid var(--line)}
.sor-mezo{display:grid;grid-template-columns:30px auto 1fr auto auto;gap:8px 12px;align-items:center;padding:8px 20px;border-bottom:1px solid var(--line-soft)}
.sor-mezo:last-child{border-bottom:0}
.sor-mezo b{font-family:var(--mono);font-size:.6875rem;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
/* Látható beviteli mező (tulaj: „látszódjon, hogy be kell írni”) */
.sor-mezo input{border:1px solid var(--line);background:var(--hover);padding:9px 11px}
.sor-mezo input:hover{border-color:#cfd8de}
.sor-mezo input:focus{background:var(--card)}
.sor-mezo .sor-jegyzet{grid-column:2/-1;font-size:.8125rem;background:var(--brand-soft);border-color:var(--brand-line)}
.jegyzet-gomb{border:1px solid var(--line);background:var(--card);border-radius:8px;height:34px;padding:0 10px;font-size:.75rem;font-weight:700;color:var(--brand-ink);cursor:pointer;white-space:nowrap}
.jegyzet-gomb:hover{border-color:var(--brand)}

/* 3. hangok */
.hangok{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.hang{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:center;transition:border-color .14s,background .14s}
.hang.valasztva{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}
.nagy-gomb{grid-row:span 2;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;transition:background .14s,transform .14s}
.nagy-gomb:hover:not(:disabled){background:var(--brand-hover)}
.nagy-gomb:active:not(:disabled){transform:scale(.94)}
.nagy-gomb:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed}
.nagy-gomb svg{width:16px;height:16px}
.hang-nev{font-weight:700;font-size:.9375rem}
.hang-leiras{color:var(--body);font-size:.8125rem}
.hang-leiras em{font-style:normal;color:var(--muted)}
.hang-sav{grid-column:1/-1;height:3px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:12px}
.hang-sav i{display:block;height:100%;width:0;background:var(--brand)}
.valaszt{grid-column:1/-1;margin-top:12px;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:.8125rem;font-weight:600}
.valaszt:hover{border-color:var(--brand)}
.hang.valasztva .valaszt{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}

.hang-info{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;margin:0 0 16px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-line);font-size:.8125rem;color:var(--body)}
.hang-info svg{flex:none;width:20px;height:20px;color:var(--brand-ink);margin-top:1px}
.hang-info b{display:block;color:var(--ink);font-size:.875rem;margin-bottom:2px}
.elo-hang{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:14px;padding:18px 20px;border:2px dashed #C9D3DA;border-radius:var(--radius);background:var(--card)}
.elo-szoveg{flex:1 1 320px;font-size:.8125rem;color:var(--body)}
.elo-szoveg b{display:block;color:var(--ink);font-size:.9375rem;margin-bottom:2px}
.elo-gomb{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:12px;border:1.5px solid var(--ink);color:var(--ink);font-weight:700;font-size:.875rem;text-decoration:none}
.elo-gomb:hover{background:var(--ink);color:#fff}

/* 4. zene */
.kerdes{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.kerdes strong{font-size:.9375rem}
.kapcsolo{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;gap:2px;background:var(--soft)}
.kapcsolo button{border:0;background:transparent;font-size:.8125rem;font-weight:600;padding:6px 14px;border-radius:99px;cursor:pointer;color:var(--body)}
.kapcsolo button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(14,18,32,.12)}
.kapcsolo.hibas{border-color:var(--err)}
.zene{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;margin-top:16px;align-items:start}
@media (max-width:620px){.zene{grid-template-columns:1fr}}
.zene .teljes{grid-column:1/-1}
.vagy{align-self:center;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding-top:20px}
@media (max-width:620px){.vagy{padding:0;text-align:center}}
.ejto{display:grid;place-items:center;gap:4px;text-align:center;border:1.5px dashed #C9D3DA;border-radius:12px;padding:16px 12px;cursor:pointer;background:var(--hover);min-height:84px}
.ejto:hover{border-color:var(--brand);background:var(--brand-soft)}
.ejto input{position:absolute;opacity:0;width:1px;height:1px}
.ejto b{font-size:.8125rem;font-weight:600}
.ejto small{font-size:.75rem;color:var(--muted)}
.ejto.van{border-style:solid;border-color:var(--brand);background:var(--brand-soft)}
.ejto.hibas{border-color:var(--err);background:var(--err-bg)}

/* 5. áttekintés */
.attekint{margin:0}
.attekint > div{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line-soft);align-items:baseline}
.attekint > div:last-child{border-bottom:0}
.attekint dt{color:var(--body);font-size:.8125rem}
.attekint dd{margin:0;font-size:.875rem}
.attekint .osszeg dd{font-weight:700;font-size:1rem}
@media (max-width:560px){.attekint > div{grid-template-columns:1fr auto}.attekint dt{grid-column:1/-1}}
.szerk{background:none;border:0;padding:0;cursor:pointer;color:var(--brand-ink);font-size:.8125rem;font-weight:600}
.szerk:hover{text-decoration:underline}

/* fizetés */
.fizetes-info{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-line);font-size:.8125rem;color:var(--body)}
.fizetes-info svg{flex:none;width:18px;height:18px;color:var(--brand-ink);margin-top:2px}
.fizetes-info b{color:var(--ink);font-weight:600;display:block;font-size:.875rem;margin-bottom:2px}
.feltetel{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.8125rem;color:var(--body);cursor:pointer}
.feltetel input{margin-top:3px;accent-color:var(--brand-ink);width:16px;height:16px;flex:none}
.feltetel a{color:var(--brand-ink);font-weight:500}
.feltetel.hibas{color:var(--err-ink)}

/* Stripe + elfogadott kártyák.
   A logók valódi SVG-k, helyben: assets/fizetes/ (forrás és licenc: FORRAS.md).
   ⚠️ CSAK a Stripe-ban ténylegesen bekapcsolt fizetési módok szerepelhetnek. */
.kartyak{display:flex;flex-wrap:wrap;gap:5px}
.kartyak img{width:38px;height:24px;display:block}
.stripe-logo{height:18px;width:auto;display:inline-block;vertical-align:middle;margin-top:-2px}
.stripe-cim{display:flex!important;align-items:center;gap:5px}
.logosor{margin-top:10px}
.fizetes-info .lakat{flex:none;width:18px;height:18px;color:var(--brand-ink);margin-top:2px}
.stripe-sav{margin-top:12px;padding:12px;border-radius:10px;background:var(--hover);border:1px solid var(--line-soft);display:grid;gap:8px;justify-items:center}
.stripe-sav p{margin:0;display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--body)}
.stripe-sav .lakat{width:13px;height:13px;color:var(--brand-ink)}
.stripe-nev{color:var(--ink);font-weight:700;letter-spacing:-.01em}
.stripe-sav .kartyak{justify-content:center}

/* útmutató: mi a különbség (ID / sweeper / liner / social plug) */
.utmutato{margin-top:10px}
.utmutato summary{display:inline-flex;align-items:center;gap:7px;cursor:pointer;list-style:none;color:var(--brand-ink);font-size:.8125rem;font-weight:700;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:10px;padding:8px 13px}
.utmutato summary:hover{border-color:var(--brand)}
.utmutato summary::-webkit-details-marker{display:none}
.utmutato summary svg{width:15px;height:15px}
.utmutato summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 2px;transition:transform .14s}
.utmutato[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.ut-racs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
@media (max-width:620px){.ut-racs{grid-template-columns:1fr}}
.ut-k{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card)}
.ut-k > b{display:block;font-size:.875rem;margin-bottom:2px}
.ut-k p b{color:var(--ink);font-weight:600}
.ut-k p{margin:0;color:var(--body);font-size:.8125rem;line-height:1.5}
.ut-pelda{margin-top:8px!important;padding:7px 10px;border-radius:8px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--ink)!important;font-style:italic}
.ut-lab{margin:10px 0 0;font-size:.8125rem;color:var(--body)}
.tetel-sor > .utmutato{grid-column:1/-1;margin-top:0}
.ut-hely{padding-top:14px;padding-bottom:10px}
.ut-hely .utmutato{margin-top:0}
.ut-tipp{margin-top:6px!important;font-size:.75rem!important;color:var(--muted)!important}
.ut-play{display:flex;align-items:center;gap:8px;width:100%;margin-top:8px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:99px;background:var(--card);cursor:pointer;font-size:.75rem;font-weight:600;text-align:left}
.ut-play:hover{border-color:var(--brand)}
.ut-play svg{flex:none;width:24px;height:24px;padding:6px;border-radius:50%;background:var(--brand);color:var(--on-brand)}
.ut-play .i-stop{display:none}
.ut-play.szol .i-play{display:none}
.ut-play.szol .i-stop{display:block}
.ut-play.szol{border-color:var(--brand);background:var(--brand-soft)}
.ut-play span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ut-play em{font-style:normal;font-family:var(--mono);font-size:.6875rem;color:var(--muted)}
.ut-link{display:inline-block;margin-top:8px;font-size:.75rem;font-weight:600;color:var(--brand-ink)}
.ut-lab a{color:var(--brand-ink);font-weight:600}

/* fekete fejlécű doboz (a küldés-lépés, a kosár nyelvén) */
.kartya-sotet{overflow:hidden}
.kartya-sotet > .kartya-fej{background:var(--nav);border-bottom:0}
.kartya-sotet > .kartya-fej h3{color:#fff}
.kartya-sotet > .kartya-fej p{color:var(--nav-tx)}
.mezo-sugo{margin:6px 0 0;font-size:.75rem;color:var(--muted)}
.azon{display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin:6px 0 14px;padding:10px 22px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.azon span{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--body)}
.azon b{font-family:var(--mono);font-size:1.25rem;letter-spacing:.04em}

/* hibalista */
.hiba{margin:6px 0 14px;padding:12px 14px;border-radius:10px;background:var(--err-bg);border:1px solid var(--err-line);color:var(--err-ink);font-size:.8125rem}

/* ---- KOSÁR (jobb hasáb, ragadós) -------------------------------------- */
.kosar{position:sticky;top:calc(var(--header-h) + 16px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(14,18,32,.04)}
.kosar-fej{background:var(--nav);color:#fff;padding:16px 20px;display:flex;align-items:center;gap:12px}
.kosar-fej h2{margin:0;font-size:1rem;font-weight:700}
.kosar-fej .k-db{margin-left:auto;font-family:var(--mono);font-size:.72rem;color:var(--nav-tx);background:var(--nav-2);border-radius:99px;padding:3px 10px}
.kosar-torzs{padding:14px 20px 18px}
.kosar-ures{color:var(--muted);font-size:.8125rem;margin:4px 0 12px}
.kosar-tetelek .kedv dt,.kosar-tetelek .kedv dd{color:var(--ok-ink)}
.kosar-tetelek .ajanlat-sor dd{color:var(--brand-ink);font-weight:700}
.kupon{margin:-4px 0 12px}
.kupon-link{background:none;border:0;padding:0;cursor:pointer;color:var(--brand-ink);font-size:.8125rem;font-weight:600}
.kupon-link:hover{text-decoration:underline}
.kupon-sor{display:flex;gap:6px}
.kupon-sor input{flex:1;min-width:0;font:inherit;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--hover)}
.kupon-sor input:focus{outline:3px solid rgba(2,221,247,.3);border-color:var(--brand);background:var(--card)}
.kupon-sor input.hibas{border-color:var(--err);background:var(--err-bg)}
.kupon-sor button{border:1px solid var(--ink);background:var(--card);border-radius:10px;padding:0 14px;font-weight:700;font-size:.8125rem;cursor:pointer}
.kupon-sor button:hover{background:var(--ink);color:#fff}
.kupon-uz{margin:6px 0 0;font-size:.75rem;color:var(--err-ink)}
.kupon-uz:empty{display:none}
.kupon-ok{margin:0;display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--ok-ink);font-weight:600}
.kupon-ok button{background:none;border:0;padding:0;cursor:pointer;color:var(--body);font-size:.75rem;text-decoration:underline}
.kosar-tetelek{margin:0 0 12px;font-size:.8125rem}
.kosar-tetelek div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}
.kosar-tetelek dt{color:var(--body)}
.kosar-tetelek dd{margin:0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.kosar-tetelek .fo dt{color:var(--ink);font-weight:600}
.vegosszeg{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0 2px}
.vegosszeg span{font-weight:600}
.vegosszeg strong{font-size:1.9rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.egyszeri{text-align:right;color:var(--muted);font-size:.75rem;margin:0 0 14px}
.gomb{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:0;border-radius:12px;padding:14px 18px;font-weight:700;font-size:.9375rem;cursor:pointer;transition:background .14s,transform .14s}
.gomb-fo{background:var(--brand);color:var(--on-brand)}
.gomb-fo:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px)}
.gomb-fo:disabled{opacity:.55;cursor:wait}
.gomb-vissza{background:transparent;color:var(--body);font-weight:600;padding:10px;margin-top:6px}
.gomb-vissza:hover{color:var(--ink)}
.gomb svg{width:17px;height:17px}
.bizalom{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-soft);display:grid;gap:7px;font-size:.75rem;color:var(--body)}
.bizalom li{display:flex;gap:8px;align-items:flex-start}
.bizalom svg{flex:none;width:14px;height:14px;color:var(--brand-ink);margin-top:2px}

/* mobil végösszeg-sáv */
.mobil-sav{display:none}
@media (max-width:980px){
  .kosar{position:static}
  .kosar .gomb-fo,.kosar .gomb-vissza{display:none}
  .mobil-sav{display:flex;align-items:center;gap:12px;position:sticky;bottom:0;z-index:30;margin:16px -26px 0;
    background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);
    box-shadow:0 -6px 20px rgba(14,18,32,.07);padding:10px 26px calc(10px + env(safe-area-inset-bottom))}
  .mobil-sav .m-cimke{font-size:.75rem;color:var(--body);line-height:1.2}
  .mobil-sav strong{display:block;font-size:1.3rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .mobil-sav .m-gombok{margin-left:auto;display:flex;gap:6px}
  .mobil-sav .gomb{width:auto;padding:11px 18px}
  .mobil-sav .gomb-vissza{margin:0;padding:11px 12px}
}

/* ---- KÉSZ képernyő ---------------------------------------------------- */
.kesz-doboz{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:40px 28px;text-align:center;max-width:640px;margin:10px auto 0}
.kesz-ikon{width:56px;height:56px;border-radius:50%;background:var(--ok-bg);color:var(--ok-ink);display:grid;place-items:center;margin:0 auto 16px}
.kesz-ikon svg{width:26px;height:26px}
.kesz-doboz h2{margin:0 0 8px;font-size:1.5rem;letter-spacing:-.02em}
.kesz-doboz p{color:var(--body);margin:0 auto 8px;max-width:48ch}
.kesz-doboz .gomb{width:auto;display:inline-flex;margin-top:14px}
.kesz-al{font-size:.8125rem;margin-top:14px!important}

/* ---- LÁBLÉC: a /demos sötét sávja -------------------------------------- */
/* lábléc: cián segítő sáv + sötét alj, Cyber Essentials és Stripe (tulaj-választás, 2026-10-05) */
.lab-segit{background:var(--brand)}
.lab-segit .burok{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-top:20px;padding-bottom:20px}
.lab-segit b{font-size:1.0625rem;color:var(--on-brand);letter-spacing:-.01em}
.lab-segit span{color:var(--on-brand);opacity:.8;font-size:.875rem}
.lab-gombok{margin-left:auto;display:flex;gap:8px;opacity:1!important}
.lab-gombok a{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:10px;font-weight:700;font-size:.8125rem;text-decoration:none}
.lab-gombok a.s{background:var(--nav);color:#fff}
.lab-gombok a.v{background:rgba(255,255,255,.85);color:var(--on-brand)}
.lab-alj{background:var(--nav);color:var(--nav-tx)}
.lab-fo{display:grid;grid-template-columns:1.3fr .8fr .8fr auto;gap:28px;padding:30px 0 22px;align-items:start}
.lab-ceg{font-size:.75rem;line-height:1.7}
.lab-ceg img{height:30px;width:auto;display:block;margin-bottom:12px}
.lab-ceg b{color:#fff;letter-spacing:.06em}
.lab h4{margin:0 0 10px;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.lab ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.8125rem}
.lab ul a{color:var(--nav-tx);text-decoration:none}
.lab ul a:hover{color:#fff}
.lab-bizalom{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.lab-ce{background:#fff;border-radius:12px;padding:6px;line-height:0}
.lab-ce iframe{border:0;display:block;width:132px;height:132px}
.lab-stripe{display:flex;align-items:center;gap:12px;margin-left:auto}
.lab-st{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--nav-tx)}
.lab-st svg{width:13px;height:13px}
.lab-st img{height:17px;width:auto;filter:brightness(1.25)}
.lab-kartyak{display:flex;gap:4px}
.lab-kartyak img{width:34px;height:22px;display:block}
.lab-also{border-top:1px solid var(--nav-2);padding:14px 0 18px;font-size:.6875rem;color:#7C8792;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
@media (max-width:860px){
  .lab-fo{grid-template-columns:1fr 1fr}
  .lab-bizalom{align-items:flex-start;grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
  .lab-stripe{margin-left:0;flex-wrap:wrap}
  .lab-gombok{margin-left:0}
}

@media (max-width:820px){h1{font-size:1.6rem}.beveto{padding:28px 0 20px}}
@media (max-width:560px){.burok{padding:0 16px}.mobil-sav{margin:16px -16px 0;padding-left:16px;padding-right:16px}.kartya-torzs,.kartya-fej{padding-left:16px;padding-right:16px}.sor-mezo{padding:6px 12px}.attekint > div{padding:10px 16px}}

/* lábléc: a cián sávban a biztonságos fizetés (tulaj-kérés, 2026-10-05) */
.lab-segit .burok{gap:10px 18px}
.lab-biz{display:inline-flex;align-items:center;gap:8px;color:var(--on-brand);opacity:1!important;font-size:1rem}
.lab-biz svg{width:18px;height:18px}
.lab-biz b{font-size:1rem}
.lab-stripe-lap{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:5px 9px;line-height:0;opacity:1!important}
.lab-stripe-lap img{height:18px;width:auto}
.lab-biz-szoveg{font-size:.8125rem!important}
.lab-segit .lab-kartyak{margin-left:auto;display:flex;gap:5px;opacity:1!important}
.lab-segit .lab-kartyak img{width:38px;height:24px;display:block}
@media (max-width:860px){.lab-segit .lab-kartyak{margin-left:0}}

/* ---- ÉLES kiegészítések (2026-10-05) ------------------------------------ */
/* a kész képernyőn a kosár nélkül egy hasáb (a terv inline style-t állított) */
.bolt-racs.kesz-mod{grid-template-columns:1fr}
/* a humán stílus-mező a két chip-sor alatt (a terv inline margin-top-ja) */
.mezo-tav{margin-top:10px}
/* Stripe-ról visszatérés: megszakított fizetés */
.ertesites{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--ink);font-size:.875rem;max-width:62ch}
.ertesites b{display:block}
/* feltöltés folyamatjelző az ejtő-mezőben */
.ejto-sav{display:block;width:100%;max-width:220px;height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:4px}
.ejto-sav i{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.ejto.tolt{border-style:solid;border-color:var(--brand-line);background:var(--brand-soft);cursor:progress}
.ejto.hibas small{color:var(--err-ink)}
/* fizetési állapot a kész képernyőn */
.kesz-allapot{display:inline-flex;align-items:center;gap:8px;margin:0 auto 10px;padding:6px 12px;border-radius:99px;font-size:.8125rem;font-weight:600;background:var(--soft);color:var(--body)}
.kesz-allapot.ok{background:var(--ok-bg);color:var(--ok-ink)}
.kesz-link{color:var(--brand-ink);font-weight:500}
.kesz-doboz .kesz-szoveg a{color:var(--brand-ink)}
.feltetel + .feltetel{margin-top:10px}

/* kész képernyő: a bevezető rejtve, a kártya kap levegőt a fejléc alatt */
.kesz-mod{padding-top:48px;padding-bottom:40px}
@media (max-width:820px){.kesz-mod{padding-top:24px}}
.kesz-gomb{display:inline-flex;width:auto;min-width:200px;margin:4px auto 18px}

/* fizetés-sáv: külön sáv a footer tetején, elválasztva, mint a © sor (2026-10-05) */
.lab-felso{border-bottom:1px solid var(--nav-2)}
.lab-felso .burok{display:flex;justify-content:flex-end;padding-top:14px;padding-bottom:14px}
.lab-felso .lab-stripe{margin-left:0}
@media (max-width:820px){.lab-felso .burok{justify-content:flex-start}}
/* B változat: cián sáv — a szöveg sötét (a cián sosem kap fehér szöveget) */
.lab-felso.cian{background:var(--brand);border-bottom:0}
.lab-felso.cian .lab-st{color:var(--on-brand)}
.lab-felso.cian .lab-st img{filter:none}

/* kéthangos csomag: ki mondja (2026-10-05) */
.mezo select,.sor-mezo select{font:inherit;font-size:.8125rem;color:var(--ink);background:var(--hover);border:1px solid var(--line);border-radius:10px;padding:8px 10px;max-width:180px}
.mezo select{max-width:none;width:100%}
.mezo select:focus,.sor-mezo select:focus{background:var(--card);border-color:var(--brand);outline:3px solid rgba(2,221,247,.3);outline-offset:0}
@media (max-width:600px){.sor-mezo{grid-template-columns:30px 1fr}.sor-mezo select,.sor-mezo .jegyzet-gomb{grid-column:2/-1;justify-self:start}}
/* a sor fajtája (ID / sweeper / liner / social plug) — kötelező, 2026-10-05 */
.sor-mezo .fajta{font:inherit;font-size:.8125rem;color:var(--ink);background:var(--hover);border:1px solid var(--line);border-radius:10px;padding:9px 8px;min-width:118px}
.sor-mezo .fajta:invalid,.sor-mezo .fajta.hibas{border-color:var(--err-ink)}
.sor-mezo .fajta.hibas{background:var(--err-bg,var(--hover))}
@media (max-width:600px){.sor-mezo{grid-template-columns:30px 1fr}.sor-mezo .fajta{grid-column:2/-1;justify-self:start}}
