/* ============================================================
   A mi bolygónk — Web Summit stand (js/bolygo-stand.js, bolygo-stand-beeco.js). Csak tokenek (docs/arculat.md).
   Felül a cím és a nézetsáv; a bolygó csupasz; a jobb oldali lap teljes magasságú; a Beeco nézet külön irányítópult.
   Érintő-méret: --tap. Sötét mód: #bl.blDark (szerep-tokenek átkötve, a palettához nem nyúlunk).
   ============================================================ */
/* ---- fejléc: cím + nézetsáv ---- */
.blStFej { position:absolute; top:calc(8px + env(safe-area-inset-top, 0px)); left:0; right:0; z-index:6; display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:none; }
.blStFej > * { pointer-events:auto; }
.blStCim { margin:0; max-width:calc(100vw - 190px); padding:2px 14px; font:400 clamp(var(--fs-xl), 2.8vw, 42px)/1.15 var(--display); color:var(--ink); text-align:center; text-shadow:0 2px 14px rgba(0,0,0,.45); }
.blStSav { display:flex; align-items:center; gap:var(--sp-2); max-width:calc(100vw - 24px); padding:4px; border-radius:var(--r-l); background:var(--surface); border:var(--line-w) solid var(--line); box-shadow:var(--soft-sm); }
.blStFulek { display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
.blStFulek::-webkit-scrollbar { display:none; }
.blStFul { display:flex; align-items:center; gap:6px; flex:none; min-height:var(--tap); padding:4px 14px; border:0; border-radius:var(--r-m); background:transparent; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.blStFul .pic { width:20px; height:20px; }
.blStFul.on { background:var(--accent); color:var(--on-accent); }
.blStFul:focus-visible, .blStJoin:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.blStJoin { display:flex; align-items:center; gap:6px; flex:none; min-height:var(--tap); padding:4px 14px; border:var(--line-w) solid var(--line); border-radius:var(--r-m); background:var(--honey); color:var(--on-accent); font:inherit; font-weight:800; cursor:pointer; box-shadow:var(--soft-sm); }
.blStJoin .pic { width:18px; height:18px; }
.blStMore { display:grid; place-items:center; flex:none; width:var(--tap); height:var(--tap); border:var(--line-w) solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink); cursor:pointer; }
.blStMore[aria-expanded="true"] { background:var(--accent); color:var(--on-accent); }
.blStMore:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.blStMore .pic { width:22px; height:22px; }

/* 2–3 m-ről olvasható: nagy képernyőn nagyobb fülek, magasabb sáv (2026-11-06) */
@media (min-width:1000px){
  .blStFul, .blStJoin { min-height:52px; font-size:var(--fs-l); padding:4px 20px; }
  .blStFul .pic, .blStJoin .pic { width:24px; height:24px; }
  .blStMore { width:52px; height:52px; }
  .blStKereso { min-height:52px; flex-basis:200px; max-width:300px; } .blStKereso input { font-size:var(--fs-m); }
  .blStAlj .ds-chip { min-height:52px; font-size:var(--fs-m); }
  #bl.blSt #blLap.blStLap { top:calc(132px + env(safe-area-inset-top, 0px)); }
  #bl.blSt.stMore #blTop { top:calc(140px + env(safe-area-inset-top, 0px)); }
}
#bl.blSt #blFoldGomb { display:none !important; }        /* a gyűrű-összecsukó a standon nem kell (a Beeco-nézet fölött 36 px-es árva gomb maradt) */

/* ---- csupasz bolygó: a játék saját elemei rejtve; a „Továbbiak” gomb mögött a keresés, a nagyítás és a térkép ---- */
#bl.blSt .blMod, #bl.blSt #blJm, #bl.blSt #blCim, #bl.blSt #blTemak, #bl.blSt #blNezet, body.bolygo.blStand #sugo, body.bolygo #hazigazda { display:none !important; }   /* Csilla sehol (Kristóf, 2026-10-28) */
#bl.blSt #blTop, #bl.blSt #blZoom { display:none; }
#bl.blSt.stMore #blTop { display:flex; top:calc(124px + env(safe-area-inset-top, 0px)); left:12px; right:auto; justify-content:flex-start; }
#bl.blSt.stMore #blZoom { display:flex; }

/* ---- alsó sáv: Solutions → témák; Nations → térkép-rétegek ---- */
.blStAlj { position:absolute; left:12px; right:12px; bottom:calc(14px + env(safe-area-inset-bottom, 0px)); display:flex; gap:6px; justify-content:center; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:none; }
.blStAlj[hidden] { display:none; }
.blStAlj .ds-chip { flex:none; min-height:var(--tap); cursor:pointer; box-shadow:var(--soft-sm); }
#bl.blSt.lapNyitva .blStAlj { right:calc(36px + min(94vw, 640px)); }

/* ---- a jobb oldali lap: teljes magasságú, tagolt, olvasható ---- */
#bl.blSt #blLap.blStLap { top:calc(116px + env(safe-area-inset-top, 0px)); right:12px; bottom:12px; left:auto; width:min(94vw, 640px); max-height:none; padding:22px 26px 28px; gap:0; }
#bl.blSt #blLap.blStLap > .blTudVissza { align-self:flex-start; margin-bottom:var(--sp-3); }
.blStLista, .blStKart { display:grid; gap:var(--sp-5); align-content:start; }
.blStFejlec h2, .blStKFej h2 { margin:0 0 var(--sp-2); font:400 var(--fs-2xl)/1.1 var(--display); }
.blStFejlec p { margin:0; font-size:var(--fs-m); line-height:1.5; color:var(--ink-soft); }
.blStKatok { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.blStKatok .ds-chip { min-height:var(--tap); cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.blStKatok small { opacity:.75; }
.blStRacs { display:grid; gap:var(--sp-3); }
.blStElem { display:flex; gap:var(--sp-3); align-items:center; width:100%; min-height:76px; padding:var(--sp-3); text-align:left; border:var(--line-w) solid var(--line); border-radius:var(--r-m); background:var(--surface); color:var(--ink); font:inherit; cursor:pointer; }
.blStElem:hover { border-color:var(--accent); }
.blStElem:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.blStElem > span { display:grid; gap:2px; min-width:0; }
.blStElem b { font-size:var(--fs-l); line-height:1.2; }
.blStElem small { color:var(--ink-soft); font-size:var(--fs-s); line-height:1.4; }
.blStKatCimke { font-weight:700; }
.blStMini { flex:none; width:84px; height:64px; object-fit:cover; border-radius:var(--r-s); background:var(--surface); }
.blStJel { display:inline-grid; place-items:center; flex:none; width:36px; height:36px; clip-path:var(--hex); background:var(--c, var(--leaf)); color:var(--paper); font-weight:800; font-size:16px; }
.blStJm { padding:var(--sp-3); border-radius:var(--r-m); background:var(--sage-bg); display:grid; gap:var(--sp-2); }
.blStSug { display:flex; gap:var(--sp-2); align-items:center; color:var(--ink-soft); margin:0; font-size:var(--fs-s); }
.blStFigyel { display:flex; gap:var(--sp-2); align-items:flex-start; margin:0; padding:var(--sp-3); border-radius:var(--r-m); background:var(--butter); font-size:var(--fs-s); line-height:1.45; }
.blStFigyel .pic { flex:none; width:20px; height:20px; }

/* a kártya: fej, képek, szakaszok */
.blStKFej { display:flex; gap:var(--sp-3); align-items:flex-start; }
.blStKFej .blMeta { margin:0; color:var(--ink-soft); font-size:var(--fs-m); }
.blStGal { display:grid; gap:var(--sp-2); grid-template-columns:1fr 1fr; }
.blStFig { margin:0; display:grid; gap:4px; }
.blStFig img { width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--r-m); border:var(--line-w) solid var(--line); background:var(--surface); }
.blStFig.fo { grid-column:1 / -1; } .blStFig.fo img { aspect-ratio:16 / 9; }
.blStGal.n2 .blStFig.fo { grid-column:auto; } .blStGal.n2 .blStFig.fo img { aspect-ratio:4 / 3; }
.blStFig figcaption { font-size:var(--fs-xs); color:var(--ink-soft); line-height:1.35; }
.blStSek { display:grid; gap:var(--sp-2); padding-top:var(--sp-4); border-top:var(--line-w) solid var(--line); }
.blStSek h3 { margin:0; display:flex; gap:var(--sp-2); align-items:center; font:400 var(--fs-l)/1.2 var(--display); }
.blStSek h3 .pic { width:22px; height:22px; flex:none; }
.blStSek p { margin:0; font-size:var(--fs-m); line-height:1.6; }
.blStPontok { margin:0; padding-left:1.2em; display:grid; gap:var(--sp-2); font-size:var(--fs-m); line-height:1.55; }
.blStKrit, .blStForrLista { list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-2); }
.blStKrit li { display:flex; gap:var(--sp-2); align-items:flex-start; font-size:var(--fs-s); }
.blStKrit .pic, .blStMut .pic { width:18px; height:18px; flex:none; }
.blStForrLista li { font-size:var(--fs-s); color:var(--ink-soft); line-height:1.45; }
.blStJelzes { margin:0; } .blStJelzes small, .blStTorles small { color:var(--ink-soft); font-size:var(--fs-xs); }
.blStForr { color:var(--ink-soft); }
.blStMut { list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-2); }
.blStMut li { display:flex; flex-wrap:wrap; gap:var(--sp-2); justify-content:space-between; padding:var(--sp-2) var(--sp-3); border-radius:var(--r-s); background:var(--sage-bg); }
.blStMuvelet { justify-items:start; }
#bl.blSt .ds-btn-sm, #bl.blSt .blListaElem { min-height:var(--tap); }

/* ---- Beeco: Magyarország-irányítópult ---- */
#blStBeeco { position:absolute; top:calc(116px + env(safe-area-inset-top, 0px)); left:12px; right:12px; bottom:12px; z-index:4; overflow:auto; display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-3) var(--sp-4); border-radius:var(--r-l); background:color-mix(in srgb, var(--bg) 40%, transparent); border:var(--line-w) solid var(--line); box-shadow:var(--soft); }
#blStBeeco.hidden { display:none; }
#blStBeeco > * { flex:0 0 auto; }                                   /* a szakaszok ne nyomódjanak össze: ha nem fér, a panel görgethető */
#blStBeeco > .blStMagyarKartya { display:flex; flex-direction:column; align-items:center; gap:var(--sp-2); text-align:center; padding:var(--sp-2) var(--sp-3); }
.blStMagyarKartya { display:grid; gap:var(--sp-2); justify-items:center; text-align:center; padding:var(--sp-2) var(--sp-3); }
.blStMagyarKartya h2 { margin:0; font:400 var(--fs-xl)/1.1 var(--display); text-shadow:0 1px 6px var(--bg), 0 0 14px var(--bg); }
.blStMagyarKartya small { color:var(--ink); text-shadow:0 1px 6px var(--bg), 0 0 12px var(--bg); }
.blStMagyar { width:100%; height:clamp(160px, 30vh, 330px); }
.blStOrszag { fill:var(--sage-bg); stroke:var(--accent); stroke-width:.8; stroke-linejoin:round; }
.blStBp { fill:var(--accent); stroke:var(--ink); stroke-width:.4; } .blStBpNev { fill:var(--ink); font:700 5px var(--body); }
.blStNyil line, .blStNyil path { fill:none; stroke:var(--accent); stroke-width:.9; stroke-linecap:round; stroke-linejoin:round; } .blStNyil text { fill:var(--ink); font:700 5.4px var(--body); paint-order:stroke; stroke:var(--bg); stroke-width:1.2px; }
.blStCsempek { display:flex; gap:var(--sp-3); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding:4px var(--sp-2) var(--sp-2); scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.blStCsempe { flex:0 0 clamp(168px, 19vw, 232px); scroll-snap-align:start; display:grid; gap:2px; align-content:start; min-height:0; padding:var(--sp-3); border-radius:var(--r-m); background:var(--surface); border:var(--line-w) solid var(--line); }
.blStCsempe.van { border-color:var(--accent); }
.blStCsempe { position:relative; }
.blStCsIkon { position:absolute; top:10px; right:10px; } .blStCsIkon .pic { width:24px; height:24px; }
.blStCsempe h3 { margin:0; padding-right:30px; font:400 var(--fs-m)/1.2 var(--display); }
.blStSzam { margin:0; line-height:1.15; } .blStSzam b { font:400 var(--fs-2xl)/1 var(--display); color:var(--accent); } .blStSzam span { display:block; color:var(--ink); font-size:var(--fs-m); line-height:1.25; }
.blStSzForr, .blStCsSor, .blStCsNevek { margin:0; color:var(--ink-soft); font-size:var(--fs-s); line-height:1.35; }
.blStCsSor, .blStCsNevek { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }       /* a csempesáv egyforma magas marad: a hosszú névsor egy sorban, vágva */
.blStCsempe .blStDraft { font-size:11px; padding:0 6px; }
@media (min-width:1000px){ .blStCsempe h3 { font-size:var(--fs-l); } .blStSzam b { font-size:40px; } }
/* haladó terv-sáv: a külföldi piacralépés (nyilak = irány, nem ígéret) */
.blStTerv { display:grid; gap:var(--sp-2); padding:var(--sp-3) var(--sp-4); border-radius:var(--r-m); background:var(--surface); border:var(--line-w) solid var(--accent); }
.blStTerv h3 { margin:0; display:flex; gap:var(--sp-2); align-items:center; font:400 var(--fs-l)/1.2 var(--display); }
.blStTerv h3 .pic { width:24px; height:24px; }
.blStTerv ul { margin:0; padding-left:1.2em; display:grid; gap:4px; font-size:var(--fs-m); line-height:1.4; }
.blStTerv small { color:var(--ink-soft); font-size:var(--fs-s); }
.blStMagyarKartya h2 .blZaszlo { vertical-align:-3px; border-radius:2px; }
.blStBemutato { display:grid; gap:var(--sp-3); justify-items:center; text-align:center; padding:var(--sp-2) var(--sp-3); border-radius:var(--r-m); background:var(--surface); border:var(--line-w) solid var(--line); }
.blStBemutato h3 { margin:0 0 var(--sp-1); display:flex; gap:var(--sp-2); align-items:center; font:400 var(--fs-l)/1.2 var(--display); }
.blStBemutato p { margin:0 0 var(--sp-3); color:var(--ink-soft); }
.blStQrok { display:flex; gap:var(--sp-5, 32px); flex-wrap:wrap; justify-content:center; }
.blStQrok .blQr { flex-direction:column; gap:var(--sp-2); margin:0; }
.blStQrok .blQr small { font-size:var(--fs-m); color:var(--ink); }
.blStQrok .ds-qr { width:clamp(120px, 18vh, 210px) !important; height:clamp(120px, 18vh, 210px) !important; }

@media (min-width:900px){
  #blStBeeco { top:calc(132px + env(safe-area-inset-top, 0px)); display:grid; grid-template-columns:minmax(300px, 34%) 1fr; align-content:start; align-items:start; gap:var(--sp-4); }
  #blStBeeco > .blStKol { display:flex; flex-direction:column; gap:var(--sp-3); min-width:0; }
  .blStKolJ .blStCsempek { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); overflow:visible; scroll-snap-type:none; padding:0; gap:var(--sp-2); }
  .blStKolJ .blStCsempe { flex:none; padding:var(--sp-2) var(--sp-3); }
  .blStKolB .blStBemutato { grid-auto-flow:column; }
  .blStKolB .blStQrok .ds-qr { width:clamp(110px, 16vh, 170px) !important; height:clamp(110px, 16vh, 170px) !important; }
}
.blStKol { display:contents; }                                    /* telefonon a két oszlop-burkoló eltűnik: a sorrend az order-ből jön */
@media (min-width:900px){ .blStKol { display:flex; } }
.blStEv { margin:0; font:400 var(--fs-m)/1.2 var(--display); color:var(--ink); }
@media (max-width:899px){
  .blStMagyarKartya { order:1; } .blStTerv { order:2; } .blStEv { order:3; } .blStCsempek { order:4; } .blStBemutato { order:5; }
}
#blStDeck { position:absolute; inset:0; z-index:10; background:var(--night); }
#blStDeck iframe { width:100%; height:100%; border:0; }
.blStDeckZar { position:absolute; top:calc(12px + env(safe-area-inset-top, 0px)); right:12px; z-index:11; }

@media (max-width:760px){
  .blStCim { font-size:var(--fs-l); max-width:calc(100vw - 112px); margin-left:96px; }
  .blStSav { margin-left:96px; max-width:calc(100vw - 104px); }
  .kiosk-summit .blStCim, .kiosk-summit .blStSav { margin-left:0; }
  .kiosk-summit .blStCim { max-width:calc(100vw - 24px); }
  .kiosk-summit .blStSav { max-width:calc(100vw - 16px); flex-wrap:wrap; justify-content:center; }
  .kiosk-summit .blStFulek { flex:1 1 100%; justify-content:space-between; }
  .kiosk-summit .blStFul { flex:1 1 0; min-width:var(--tap); }
  .kiosk-summit .blStKereso { flex:1 1 120px; max-width:none; }
  #blStBeeco { top:calc(150px + env(safe-area-inset-top, 0px)); }
  .blStCsempe { flex-basis:clamp(150px, 44vw, 200px); }
  .blStFul span, .blStJoin span { font-size:13px; }
  .blStFul:not(.on) span { display:none; }                  /* telefonon csak az aktív fül mutatja a nevét (a többinek ikonja és aria-neve van) */
  .blStFul { min-width:var(--tap); justify-content:center; padding:4px 8px; }
  #bl.blSt #blLap.blStLap { left:8px; right:8px; width:auto; height:auto; top:calc(156px + env(safe-area-inset-top, 0px)); bottom:calc(8px + env(safe-area-inset-bottom, 0px)); margin:0; padding:16px 16px 24px; }      /* telefonon a lap a fülsáv alatt végig kitölti a képernyőt (a játék 52vh-s lapja üres sávot hagyott) */
  #bl.blSt .blHuzo { display:none; }
  #bl.blSt.lapNyitva .blStAlj { display:none; }
}
@media (prefers-reduced-motion:reduce){ .blStFul, .blStJoin { transition:none; } }

/* ---- sötét mód (alap a standon): a szerep-tokenek átkötve ---- */
#bl.blDark { --bg:var(--night); --surface:var(--night-surface); --ink:var(--cream); --ink-soft:var(--sage); --line:color-mix(in srgb, var(--sage) 55%, var(--night-surface)); --line-w:2px; --focus:var(--sky);
  --butter:color-mix(in srgb, var(--honey) 16%, var(--night-surface)); --sage-bg:color-mix(in srgb, var(--leaf) 30%, var(--night-surface));
  --sky-bg:color-mix(in srgb, var(--sky) 18%, var(--night-surface)); --blossom-bg:color-mix(in srgb, var(--blossom) 16%, var(--night-surface));
  --soft:0 12px 34px rgba(0,0,0,.45); --soft-sm:0 4px 14px rgba(0,0,0,.4); color:var(--ink); }
#bl.blDark .ds-panel { background:var(--surface); color:var(--ink); }
#bl.blDark a { color:var(--sky); }
#bl.blDark .ds-icon-btn, #bl.blDark .blStMore, #bl.blDark .blTudVissza { background:var(--surface); color:var(--ink); border-color:var(--ink-soft); }
#bl.blDark .blStMore[aria-expanded="true"] { background:var(--accent); color:var(--on-accent); }
#bl.blDark .ds-icon-btn .pic, #bl.blDark .blStMore .pic { filter:brightness(0) invert(.92); }
#bl.blDark .blStMore[aria-expanded="true"] .pic { filter:none; }
#bl.blDark .blHarmadJel i.on { background:var(--honey); }

/* vázlat-jelzés: a még nem megerősített (helyőrző) értékek – a revízió után a „tervezet” jelző kikerül */
.blStDraft { display:inline-block; padding:1px 8px; border-radius:var(--r-pill); background:var(--butter); border:1px dashed var(--accent); color:var(--ink); font:700 var(--fs-xs)/1.6 var(--body); letter-spacing:.06em; }
.blStCsempe .blStDraft { justify-self:start; }

/* ---- jövőkép-gráf (kizoomolva): js/bolygo-stand-jovo.js ---- */
#blStJovo { position:absolute; inset:0; z-index:3; pointer-events:none; transition:opacity .3s; }
#blStJovo.hidden { display:none; }
.blStJSvg { position:absolute; inset:0; width:100%; height:100%; }
.blStJSp { stroke-width:1; opacity:.16; } .blStJSp.utopia { stroke:var(--leaf); } .blStJSp.dystopia { stroke:var(--ember); }
.blStJEl { fill:none; stroke-width:1.4; opacity:.6; } .blStJEl.kereszt { opacity:.3; } .blStJEl.related { stroke:var(--sage); } .blStJEl.leads_to { stroke:var(--honey); stroke-dasharray:5 4; } .blStJEl.opposes { stroke:var(--blossom); stroke-dasharray:2 5; opacity:.4; }
.blStJN { position:absolute; left:0; top:0; display:flex; align-items:center; gap:8px; min-height:28px; height:28px; padding:2px 12px; border:var(--line-w) solid var(--line); border-radius:var(--r-pill); background:var(--surface); color:var(--ink); font:700 13px/1.1 var(--body); text-align:left; cursor:pointer; pointer-events:auto; box-shadow:var(--soft-sm); }
.blStJN .pic { width:16px; height:16px; flex:none; } .blStJN span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blStJN.utopia { border-color:var(--leaf); } .blStJN.dystopia { border-color:var(--ember); }
.blStJN:hover, .blStJN:focus-visible { background:var(--accent); color:var(--on-accent); outline:3px solid var(--focus); outline-offset:2px; }
.blStJCim { position:absolute; left:0; top:0; display:flex; gap:6px; align-items:center; margin:0; font:400 var(--fs-m)/1.2 var(--display); color:var(--ink); }
.blStJCim .pic { width:20px; height:20px; }
.blStJKapcs { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.blStJKap { display:inline-flex; align-items:center; gap:6px; min-height:var(--tap); padding:4px 12px; border:var(--line-w) solid var(--line); border-radius:var(--r-pill); background:var(--surface); color:var(--ink); font:inherit; font-size:var(--fs-s); cursor:pointer; }
.blStJKap.utopia { border-color:var(--leaf); } .blStJKap.dystopia { border-color:var(--ember); } .blStJKap .pic { width:16px; height:16px; } .blStJKap small { color:var(--ink-soft); }
.blStJHint { position:absolute; left:50%; translate:-50% 0; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); display:flex; gap:8px; align-items:center; min-height:var(--tap); padding:4px 18px; border:var(--line-w) solid var(--line); border-radius:var(--r-pill); background:var(--surface); color:var(--ink); font:700 var(--fs-s)/1 var(--body); cursor:pointer; box-shadow:var(--soft-sm); }
.blStJHint[hidden] { display:none; } .blStJHint .pic { width:20px; height:20px; }

/* ---- keresősáv a nézetsávban ---- */
.blStKereso { display:flex; align-items:center; gap:6px; flex:1 1 150px; min-width:120px; max-width:240px; min-height:var(--tap); padding:0 12px; border:var(--line-w) solid var(--line); border-radius:var(--r-m); background:var(--bg); color:var(--ink); }
.blStKereso:focus-within { outline:3px solid var(--focus); outline-offset:2px; }
.blStKereso .pic { width:18px; height:18px; flex:none; }
.blStKereso input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:var(--fs-s); }
.blStKereso input::placeholder { color:var(--ink-soft); }
.blStKTip { flex:none; font-size:var(--fs-xs); font-weight:700; color:var(--ink-soft); width:150px; }
#bl.blDark .blStKereso .pic, #bl.blDark .blStFejlec .pic { filter:brightness(0) invert(.92); }

/* ---- tipp a csupasz bolygón, Nations-jelmagyarázat, JOIN-számláló (2026-10-29) ---- */
.blStTipp { position:absolute; left:50%; bottom:calc(76px + env(safe-area-inset-bottom, 0px)); transform:translateX(-50%); z-index:3; margin:0; padding:10px 18px; border-radius:999px; background:var(--surface); color:var(--ink); border:var(--line-w) solid var(--line); box-shadow:var(--soft-sm); font:700 var(--fs-m)/1.2 var(--body); pointer-events:none; white-space:nowrap; }
.blStTipp[hidden] { display:none; }
.blStJelm { position:absolute; left:12px; bottom:calc(76px + env(safe-area-inset-bottom, 0px)); z-index:3; width:min(460px, calc(100vw - 24px)); max-height:calc(100vh - 230px); overflow:auto; }
.blStJelm[hidden] { display:none; }
.blStJelm .blStJm { box-shadow:var(--soft); background:var(--surface); border:var(--line-w) solid var(--line); }
#bl.blSt.lapNyitva .blStJelm { width:min(420px, calc(100vw - 94vw + 100px)); }
@media (max-width:1100px){ #bl.blSt.lapNyitva .blStJelm { display:none; } }
.blStJoinDb { margin:var(--sp-2) 0 0; display:flex; gap:var(--sp-2); align-items:center; color:var(--accent); font-weight:700; }
.blStJoinDb .pic { width:18px; height:18px; }

/* a stand-felület elemei csak ?stand=1 módban látszanak (a normál játékban a JS sem adja hozzá őket; ez az övön-nadrágtartó) */
#bl:not(.blSt) .blStFej, #bl:not(.blSt) .blStAlj, #bl:not(.blSt) .blStTipp, #bl:not(.blSt) .blStJelm, #bl:not(.blSt) #blStBeeco, #bl:not(.blSt) #blStJovo, #bl:not(.blSt) .blStJHint { display:none !important; }

/* „+” javaslat (bolygo-stand-javaslat.js): lebegő gomb alul jobbra, csak a Funding · Solutions · Nations nézetben */
.blStPlusz { display:none; position:absolute; right:calc(16px + env(safe-area-inset-right, 0px)); bottom:calc(76px + env(safe-area-inset-bottom, 0px)); z-index:6;
  width:64px; height:64px; border-radius:50%; border:var(--line-w) solid var(--line); background:var(--honey); color:var(--on-accent); cursor:pointer;
  align-items:center; justify-content:center; box-shadow:var(--soft); transition:transform var(--t-fast) var(--ease); }
.blStPlusz .pic { width:30px; height:30px; }
.blStPlusz:active { transform:scale(.94); }
.blStPlusz:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
#bl.blSt[data-stand="funding"] .blStPlusz, #bl.blSt[data-stand="solutions"] .blStPlusz, #bl.blSt[data-stand="nations"] .blStPlusz { display:flex; }
#bl.blSt.lapNyitva .blStPlusz { right:calc(36px + min(94vw, 640px)); }
/* telefonon a lebegő „+” a lap mögé kerülne: helyette a lista tetején van egy gomb */
.blStPluszSor { display:none; margin-top:var(--sp-3); }
@media (max-width: 760px) { #bl.blSt.lapNyitva .blStPlusz { display:none; } .blStPluszSor { display:inline-flex; } }
.blStJavAllapot { margin:0; padding:10px 12px; border-radius:var(--r-m); background:var(--surface); font-weight:600; }
.blStJavAllapot.hiba { background:var(--bad-bg); color:var(--bad-ink); }
form[aria-busy="true"] .ds-btn { opacity:.6; }
/* űrlapok a standon: nagyobb címke és beviteli mező, egy ujjal is kényelmes (2026-11-06) */
#bl.blSt .blUrlap { gap:14px; }
#bl.blSt .blUrlap label { font-size:var(--fs-s); font-weight:700; gap:6px; }
#bl.blSt .blUrlap .ds-input { min-height:52px; font-size:18px; }
#bl.blSt .blUrlap .ds-btn { min-height:56px; font-size:var(--fs-l); }
#bl.blSt .blUrlap .blKor input { width:28px; height:28px; flex:none; }
.blStJavAllapot { font-size:var(--fs-m); line-height:1.4; }
@media (prefers-reduced-motion: reduce) { .blStPlusz { transition:none; } }

/* ============================================================
   2026-11-06 (2. kör, Kristóf): a jobb oldali lap = „oldal-lap”: teljes magasság, jobbról csúszik be, felül nagy kép (vagy zászló),
   alatta nagy cím és a leírás – mint a beeco app landing oldala. A Vissza és az X a kép fölé ül. Az alsó sáv a felsővel egyező.
   ============================================================ */
#bl.blSt #blLap.blStLap { top:0; bottom:0; right:0; left:auto; width:min(94vw, 600px); padding:0; border-radius:var(--r-xl, 28px) 0 0 var(--r-xl, 28px); border-right:0; z-index:8; overflow-y:auto; overscroll-behavior:contain;
  animation:blStLapBe .34s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes blStLapBe { from { transform:translateX(100%); } to { transform:none; } }
@media (prefers-reduced-motion:reduce){ #bl.blSt #blLap.blStLap { animation:none; } }
#bl.blSt #blLap.blStLap > .blZar { position:fixed; top:16px; right:16px; z-index:9; width:48px; height:48px; border-radius:50%; background:color-mix(in srgb, var(--night) 72%, transparent); color:var(--cream); border:2px solid var(--cream); backdrop-filter:blur(6px); }
#bl.blSt #blLap.blStLap > .blZar .pic { filter:brightness(0) invert(1); }
#bl.blSt #blLap.blStLap .blTudVissza { position:absolute; top:16px; left:16px; right:auto; z-index:9; margin:0; min-height:48px; padding:0 18px; border-radius:var(--r-pill); background:color-mix(in srgb, var(--night) 72%, transparent); color:var(--cream); border:2px solid var(--cream); backdrop-filter:blur(6px); font-weight:700; }
#bl.blSt #blLap.blStLap .blTudVissza .pic { filter:brightness(0) invert(1); }
.blStLista { padding:84px 28px 40px; }
.blStKart { gap:0; padding-bottom:40px; }
.blStKBody { display:grid; gap:var(--sp-5); padding:0 28px; }
.blStHero { position:relative; height:clamp(220px, 34vh, 340px); background:var(--night-surface); overflow:hidden; display:grid; place-items:center; }
.blStHero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blStHero::after { content:""; position:absolute; inset:auto 0 0 0; height:55%; background:linear-gradient(to top, var(--surface), transparent); }
.blStHero::before { content:""; position:absolute; inset:0 0 auto 0; height:90px; background:linear-gradient(to bottom, rgba(0,0,0,.45), transparent); z-index:1; }   /* a Vissza és az X olvasható marad világos képen is */
.blStHeroKredit { position:absolute; right:12px; bottom:8px; z-index:2; font-size:var(--fs-xs); color:var(--ink-soft); }
.blStHero.nincsKep { background:linear-gradient(145deg, color-mix(in srgb, var(--c) 70%, var(--night)), var(--night-surface)); }
.blStHero.nincsKep .blStJel { width:96px; height:96px; font-size:44px; }
.blStZaszloHero { background:linear-gradient(145deg, color-mix(in srgb, var(--leaf) 45%, var(--night)), var(--night-surface)); }
.blStZaszloNagy .blZaszlo { border-radius:6px; box-shadow:0 10px 30px rgba(0,0,0,.45); }
.blStKart .blStKFej { display:block; margin-top:-6px; position:relative; z-index:2; }
.blStKart .blStKFej h2 { margin:4px 0 var(--sp-3); font:400 clamp(34px, 4.2vw, 46px)/1.05 var(--display); }
.blStKart .blMeta { margin:0; font-weight:700; color:var(--accent); font-size:var(--fs-m); }
.blStLead { margin:0 0 var(--sp-3); font-size:var(--fs-l); line-height:1.45; color:var(--ink); }
.blStKart .blCimkek { margin-top:var(--sp-2); }
/* az alsó sáv: ugyanolyan pirula-sáv, mint a felső nézetváltó */
.blStAlj { justify-content:center; overflow:visible; pointer-events:none; padding:0; }
.blStAljSav { display:flex; gap:4px; max-width:100%; overflow-x:auto; scrollbar-width:none; padding:4px; border-radius:var(--r-l); background:var(--surface); border:var(--line-w) solid var(--line); box-shadow:var(--soft-sm); pointer-events:auto; }
.blStAljSav::-webkit-scrollbar { display:none; }
.blStAljSav .ds-chip { flex:none; display:inline-flex; align-items:center; gap:6px; min-height:var(--tap); padding:4px 14px; border:0; border-radius:var(--r-m); background:transparent; color:var(--ink); font:inherit; font-weight:700; box-shadow:none; cursor:pointer; }
.blStAljSav .ds-chip.is-honey { background:var(--accent); color:var(--on-accent); }
.blStAljSav .ds-chip:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
@media (min-width:1000px){ .blStAljSav .ds-chip { min-height:52px; font-size:var(--fs-l); padding:4px 20px; } }
/* nyitott lapnál a fejléc és az alsó sáv a szabad bal részben marad; a lap a képernyő teljes magassága */
@media (min-width:1001px){
  #bl.blSt.lapNyitva .blStFej { right:calc(min(94vw, 600px) + 8px); }
  #bl.blSt.lapNyitva .blStCim { max-width:none; font-size:var(--fs-xl); }
  #bl.blSt.lapNyitva .blStKereso { display:none; }
  #bl.blSt.lapNyitva .blStFul, #bl.blSt.lapNyitva .blStJoin { font-size:var(--fs-m); padding:4px 12px; min-height:var(--tap); }
  #bl.blSt.lapNyitva .blStAlj { right:calc(min(94vw, 600px) + 8px); }
  #bl.blSt.lapNyitva .blStAljSav .ds-chip { min-height:var(--tap); font-size:var(--fs-m); padding:4px 10px; }
  #bl.blSt.lapNyitva .blStPlusz { right:calc(min(94vw, 600px) + 20px); }
  #bl.blSt.lapNyitva .blStJelm { max-height:calc(100vh - 260px); }
}
@media (max-width:760px){
  #bl.blSt #blLap.blStLap { top:calc(156px + env(safe-area-inset-top, 0px)); width:auto; left:8px; right:8px; border-radius:var(--r-l); animation-name:blStLapFel; }
  @keyframes blStLapFel { from { transform:translateY(100%); } to { transform:none; } }
  #bl.blSt #blLap.blStLap > .blZar { position:absolute; top:12px; right:12px; }
  .blStLista { padding:76px 18px 32px; } .blStKBody { padding:0 18px; }
}

/* ============================================================
   Beeco nézet (2. kör): szinte teljes képernyős Magyarország-térkép a glóbusz fölött, nagy nyilak zászlóval + névvel,
   alul a fotós csempék szalagja, jobb felül kiemelt QR („Buzz with us!”). Felülírja a korábbi, rácsos elrendezést.
   ============================================================ */
#bl.blSt #blStBeeco { display:block; padding:0; background:none; border:0; box-shadow:none; overflow:hidden; border-radius:0; }
#bl.blSt #blStBeeco > * { flex:none; }
.blStBMap { position:absolute; inset:0; }
.blStBCim { display:none; position:absolute; top:6px; left:50%; translate:-50% 0; margin:0; display:flex; gap:10px; align-items:center; font:400 clamp(30px, 3.4vw, 46px)/1.1 var(--display); text-shadow:0 2px 14px var(--bg), 0 0 26px var(--bg); }
.blStBMap .blStMagyar { position:absolute; left:50%; top:40%; translate:-50% -50%; width:auto; height:min(58%, 40vw); filter:drop-shadow(0 10px 22px rgba(0,0,0,.4)); }
.blStOrszag { fill:color-mix(in srgb, var(--leaf) 55%, var(--night-surface)); fill-opacity:.92; stroke:var(--accent); stroke-width:.9; }
#bl:not(.blDark) .blStOrszag { fill:color-mix(in srgb, var(--leaf) 45%, var(--paper)); }
.blStBp { r:1.6; }
.blStNyilReteg { position:absolute; inset:0; pointer-events:none; }
.blStNyilSvg { position:absolute; inset:0; overflow:visible; }
.blStNyilSvg line, .blStNyilSvg path { fill:none; stroke:var(--accent); stroke-width:6; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 2px 3px rgba(0,0,0,.45)); }
.blStNyilCimke { position:absolute; translate:-50% -50%; display:inline-flex; gap:10px; align-items:center; padding:6px 16px 6px 10px; border-radius:var(--r-pill); background:var(--surface); border:3px solid var(--accent); box-shadow:var(--soft-sm); font:700 clamp(17px, 1.7vw, 24px)/1 var(--body); color:var(--ink); white-space:nowrap; }
.blStNyilCimke .blZaszlo { border-radius:3px; }
.blStBLabj { position:absolute; left:50%; bottom:calc(clamp(190px, 28vh, 250px) + 10px); translate:-50% 0; padding:4px 14px; border-radius:var(--r-pill); background:color-mix(in srgb, var(--bg) 70%, transparent); color:var(--ink); font-size:var(--fs-s); }
#bl.blSt #blStBeeco .blStTerv { flex:0 0 clamp(300px, 30vw, 390px); height:100%; align-content:start; gap:var(--sp-2); padding:14px 18px; border-radius:22px; border:3px solid var(--honey); background:var(--surface); box-shadow:var(--soft-sm); overflow:hidden; scroll-snap-align:start; }
.blStTerv h3 { font-size:clamp(18px, 1.5vw, 22px); } .blStTerv ul { font-size:clamp(14px, 1.15vw, 17px); gap:3px; } .blStTerv small { font-size:var(--fs-s); }
.blStBQr { position:absolute; top:0; right:0; z-index:5; display:grid; justify-items:center; gap:4px; padding:12px 16px 10px; border-radius:var(--r-l); background:var(--honey); color:var(--on-accent); border:3px solid var(--olive); box-shadow:var(--soft); }
.blStBQr b { font:400 clamp(24px, 2.3vw, 32px)/1 var(--display); }
.blStBQr .blQr { margin:0; } .blStBQr .ds-qr { width:clamp(120px, 17vh, 170px) !important; height:clamp(120px, 17vh, 170px) !important; border-radius:10px; }
.blStBQr small, .blStBQrLink { font-weight:700; font-size:var(--fs-m); }
.blStBQrLink { color:inherit; text-decoration:underline; text-underline-offset:3px; min-height:44px; display:inline-flex; align-items:center; }
.blStBDeck { position:absolute; top:calc(clamp(120px, 17vh, 170px) + 96px); right:0; z-index:5; }
/* a szalag: fotós csempék, lassan gördülnek; érintésre megáll */
.blStSzalag { position:absolute; left:0; right:0; bottom:0; height:clamp(190px, 28vh, 250px); display:flex; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; padding:4px 2px 6px; -webkit-overflow-scrolling:touch; z-index:4; }
.blStSzalag::-webkit-scrollbar { display:none; }
.blStCsempe { flex:0 0 clamp(230px, 22vw, 300px); height:100%; scroll-snap-align:start; position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:0; padding:0; overflow:hidden; border-radius:22px; border:3px solid var(--olive); background:linear-gradient(150deg, color-mix(in srgb, var(--honey-deep) 70%, var(--night)), var(--night-surface)); color:var(--cream); box-shadow:var(--soft-sm); }
.blStCsempe.van, .blStCsempe { border-color:var(--olive); }
.blStCsKep { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; user-select:none; }
.blStCsempe.fotos::after, .blStCsempe.nincsKep::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(22, 28, 12, .92) 0%, rgba(22, 28, 12, .45) 52%, rgba(22, 28, 12, .35) 100%); }
.blStCsVizjel { position:absolute; right:-14px; bottom:-18px; opacity:.22; } .blStCsVizjel .pic { width:150px; height:150px; }
.blStCsSzoveg { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:14px 16px 22px; }
.blStCsempe h3 { margin:0; padding:0; display:flex; gap:8px; align-items:center; font:400 clamp(17px, 1.5vw, 21px)/1.15 var(--display); color:var(--cream); text-shadow:0 1px 6px rgba(0,0,0,.6); }
.blStCsIkon { flex:none; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--cream); } .blStCsIkon .pic { width:22px; height:22px; }
.blStSzam { margin:0; display:grid; gap:2px; } .blStSzam b { font:400 clamp(40px, 4.2vw, 58px)/1 var(--display); color:var(--honey); text-shadow:0 2px 10px rgba(0,0,0,.55); }
.blStSzam span { color:var(--cream); font-weight:700; font-size:clamp(15px, 1.3vw, 19px); line-height:1.2; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.blStFelirat { font:400 clamp(22px, 2.2vw, 30px)/1.1 var(--display) !important; color:var(--honey) !important; }
.blStCsSor, .blStCsNevek, .blStSzForr { margin:0; color:var(--cream); font-size:var(--fs-s); text-shadow:0 1px 6px rgba(0,0,0,.6); }
.blStCsKredit { position:absolute; right:10px; bottom:4px; z-index:3; max-width:90%; font-size:10px; line-height:1.2; color:rgba(255, 248, 231, .75); text-align:right; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.blStCsempe.csapat { background:var(--honey); }
.blStCsempe.csapat .blStCsKep { object-fit:contain; padding:14px 14px 70px; }
.blStCsempe.csapat::after { background:linear-gradient(to top, rgba(22, 28, 12, .75), transparent 55%); }
@media (max-width:760px){
  #bl.blSt #blStBeeco { top:calc(156px + env(safe-area-inset-top, 0px)); }
  #bl.blSt #blStBeeco .blStTerv { flex-basis:250px; padding:10px 12px; } .blStTerv ul { font-size:12px; }
  .blStBCim { display:none; }
  .blStBQr { padding:8px 10px 6px; } .blStBQr b { font-size:20px; } .blStBQr .ds-qr { width:84px !important; height:84px !important; } .blStBQr small, .blStBQrLink { font-size:var(--fs-xs); }
  .blStBMap .blStMagyar { height:min(34%, 58vw); top:46%; }
  .blStNyilSvg line, .blStNyilSvg path { stroke-width:4; }
  .blStNyilCimke { font-size:13px; padding:4px 10px 4px 6px; gap:6px; border-width:2px; }
  .blStSzalag { height:170px; } .blStCsempe { flex-basis:210px; } .blStBLabj { bottom:178px; font-size:11px; }
  .blStBDeck { display:none; }
}
.blStCsempe.csapat h3, .blStCsempe.csapat .blStFelirat { color:var(--olive) !important; text-shadow:none !important; }

.blStBMondat { position:absolute; top:0; left:50%; translate:-50% 0; z-index:6; width:max-content; max-width:min(760px, 62%); white-space:nowrap; margin:0; padding:8px 20px; border-radius:var(--r-pill); background:var(--surface); border:2px solid var(--accent); box-shadow:var(--soft-sm); text-align:center; font-weight:700; font-size:clamp(15px, 1.35vw, 19px); line-height:1.25; color:var(--ink); }
@media (max-width:760px){ .blStBMondat { display:none; } }

/* 3. kör (Kristóf): logó a nézetváltó mellett; 1,5× nagyobb, többszámos csempék beeco-méhecskével */
.blStLogo { position:absolute; left:20px; top:6px; height:64px; width:auto; pointer-events:none; user-select:none; filter:drop-shadow(0 2px 8px rgba(0,0,0,.35)); }
@media (max-width:1180px){ .blStLogo { height:48px; left:12px; } }
@media (max-width:760px){ .blStLogo { display:none; } }
#bl.blSt #blStBeeco { --szH:clamp(250px, 36vh, 320px); }
.blStSzalag { height:var(--szH); }
.blStBLabj { bottom:calc(var(--szH) + 8px); }
.blStCsempe { flex:0 0 clamp(345px, 33vw, 450px); }
#bl.blSt #blStBeeco .blStTerv { flex-basis:clamp(340px, 32vw, 430px); padding:14px 20px; }
.blStTerv h3 { font-size:clamp(20px, 1.7vw, 24px); } .blStTerv ul { font-size:clamp(15px, 1.25vw, 18px); gap:4px; } .blStTerv small { font-size:var(--fs-s); }
.blStBMap .blStMagyar { height:min(calc(100% - var(--szH) - 90px), 40vw); top:calc((100% - var(--szH) + 56px)/2); }
.blStCsKabala { position:absolute; right:10px; top:44px; height:42%; width:auto; z-index:1; filter:drop-shadow(0 6px 10px rgba(0,0,0,.4)); pointer-events:none; }
.blStCsempe.nincsKep:has(.blStCsKabala) { background:linear-gradient(150deg, color-mix(in srgb, var(--honey) 55%, var(--night)), var(--night-surface)); }
.blStCsempe h3 { font-size:clamp(20px, 1.9vw, 27px); }
.blStCsIkon { width:40px; height:40px; } .blStCsIkon .pic { width:26px; height:26px; }
.blStSzamRacs { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin:0; }
.blStSzamRacs.n3 { grid-template-columns:1fr 1fr 1fr; gap:10px 12px; }
.blStSzamRacs p { margin:0; display:grid; gap:2px; align-content:start; }
.blStSzamRacs b { font:400 clamp(30px, 3vw, 44px)/1 var(--display); color:var(--honey); text-shadow:0 2px 10px rgba(0,0,0,.55); }
.blStSzamRacs span { color:var(--cream); font-weight:700; font-size:clamp(14px, 1.2vw, 17px); line-height:1.2; text-shadow:0 1px 6px rgba(0,0,0,.6); }
@media (max-width:760px){ #bl.blSt #blStBeeco { --szH:240px; } .blStBMap .blStMagyar { height:min(34%, 58vw); top:44%; } .blStCsempe { flex-basis:290px; } .blStSzamRacs b { font-size:26px; } .blStSzamRacs span { font-size:12px; } .blStCsKabala { height:36%; }
  #bl.blSt #blStBeeco .blStTerv { flex-basis:270px; } }
.blStBLabj { left:auto; right:12px; translate:none; }
@media (max-width:760px){ .blStBLabj { right:8px; } }

/* 4. kör (Kristóf): mondat az országon, méhecskék balra néznek, nagy képek a Solutions-listán, ország-lap szimbolikus képpel */
.blStBMondat { top:calc((100% - var(--szH) + 56px)/2); translate:-50% -50%; z-index:6; display:flex; gap:12px; align-items:center; width:max-content; max-width:min(440px, 36vw); white-space:normal; text-align:left; padding:12px 20px 12px 14px; border-radius:22px; font-size:clamp(16px, 1.45vw, 20px); }
.blStBMondat .blZaszlo { flex:none; border-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,.35); }
@media (max-width:760px){ .blStBMondat { display:none; } }
.blStCsKabala { transform:scaleX(-1); }
.blStCsempe.csapat .blStCsKep { transform:scaleX(-1); }
/* Solutions / Funding találatlista: a kép a csempe teljes szélessége, nagy, kitöltő (cover) */
.blStElem:has(.blStMini) { flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; }
.blStElem:has(.blStMini) .blStMini { width:100%; height:clamp(170px, 24vh, 230px); border-radius:0; object-fit:cover; }
.blStElem:has(.blStMini) > span { padding:var(--sp-3) var(--sp-4) var(--sp-4); }
/* ország-lap: szimbolikus kép = az ország körvonala + nagy zászló */
.blStZaszloHero { justify-content:space-around; grid-auto-flow:column; padding:0 28px; gap:16px; }
.blStZaszloHero .blStSziluett { position:relative; z-index:2; height:78%; width:auto; max-width:46%; filter:drop-shadow(0 8px 16px rgba(0,0,0,.4)); }
.blStSziluett path { fill:color-mix(in srgb, var(--leaf) 70%, var(--cream)); stroke:var(--cream); stroke-width:1.6; stroke-linejoin:round; }
.blStZaszloHero .blStZaszloNagy { position:relative; z-index:2; }
.blStBlokk .blStPontok { padding-left:1.1em; }
.blStKiemel { padding:var(--sp-3); border-radius:var(--r-m); background:var(--sage-bg); font-weight:600; }
.blStAdat { margin-top:var(--sp-2); }
.blStAdat summary { min-height:var(--tap); display:flex; gap:8px; align-items:center; cursor:pointer; font-weight:700; }
#bl.blSt.lapNyitva .blStLogo { display:none; }
.blStBCim { display:none !important; }

/* 5. kör: a csempe fej–szöveg–számok szerkezete; kampánykártyán az első szám a kiemelt eredmény */
.blStCsSor.kont { -webkit-line-clamp:4; font-size:clamp(13px, 1.05vw, 15px); line-height:1.35; margin:6px 0 0; max-width:62%; }
.blStCsempe.kampany .blStSzamRacs { grid-template-columns:repeat(3, 1fr); }
.blStCsempe.kampany .blStSzamRacs.n1, .blStCsempe.kampany .blStSzamRacs.n2 { grid-template-columns:1fr 1fr; }
.blStCsempe.kampany .blStSzamRacs p:first-child { grid-column:1 / -1; }
.blStCsempe.kampany .blStSzamRacs p:first-child b { font-size:clamp(46px, 4.6vw, 66px); }
.blStCsempe.kampany .blStSzamRacs.n6 p:not(:first-child) b, .blStCsempe.kampany .blStSzamRacs.n5 p:not(:first-child) b { font-size:clamp(24px, 2.2vw, 32px); }
.blStCsempe.kampany .blStSzamRacs p:not(:first-child) span { font-size:clamp(12px, 1vw, 14px); }
.blStCsempe.kampany h3::after { content:"campaign"; margin-left:6px; padding:1px 8px; border-radius:999px; background:var(--honey); color:var(--olive); font:700 11px/1.5 var(--body); letter-spacing:.06em; text-transform:uppercase; }
.blStCsempe { flex-basis:clamp(360px, 34vw, 470px); }

/* JOIN: két fajta (létezik / igény) + téma-címke */
.blStFajta { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-2); border:0; padding:0; margin:0; }
.blStFajtaGomb { display:block; cursor:pointer; }
.blStFajtaGomb input { position:absolute; opacity:0; pointer-events:none; }
.blStFajtaGomb > span { display:grid; gap:2px; min-height:72px; padding:12px 14px; border:var(--line-w) solid var(--line); border-radius:var(--r-m); background:var(--surface); }
.blStFajtaGomb b { font-size:var(--fs-m); } .blStFajtaGomb small { color:var(--ink-soft); font-size:var(--fs-s); font-weight:400; line-height:1.3; }
.blStFajtaGomb input:checked + span { background:var(--accent); color:var(--on-accent); border-color:var(--ink); } .blStFajtaGomb input:checked + span small { color:var(--on-accent); }
.blStFajtaGomb input:focus-visible + span { outline:3px solid var(--focus); outline-offset:2px; }
.blStTagek { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.blStTag { cursor:pointer; } .blStTag input { position:absolute; opacity:0; pointer-events:none; }
.blStTag span { display:inline-flex; align-items:center; min-height:var(--tap); padding:4px 16px; border:var(--line-w) solid var(--line); border-radius:var(--r-pill); background:var(--surface); font-weight:700; font-size:var(--fs-s); }
.blStTag input:checked + span { background:var(--accent); color:var(--on-accent); border-color:var(--ink); }
.blStTag input:focus-visible + span { outline:3px solid var(--focus); outline-offset:2px; }
.blUrlap [hidden] { display:none !important; }

/* 6. kör (átvilágítás, 2026-11-08): álló táblagép (761–1000 px) – a lap a fülsáv alatt tölti ki a képernyőt (nem lebeg 52 vh-s dobozként), a fejléc nem csúszik el */
@media (min-width:761px) and (max-width:1000px){
  #bl.blSt #blLap.blStLap { top:calc(132px + env(safe-area-inset-top, 0px)); bottom:calc(8px + env(safe-area-inset-bottom, 0px)); left:12px; right:12px; width:auto; height:auto; margin:0; border-radius:var(--r-l); animation-name:blStLapFel; }
  #bl.blSt #blLap.blStLap > .blZar { position:absolute; top:12px; right:12px; }
  #bl.blSt.lapNyitva .blStAlj { display:none; }
  #bl.blSt.lapNyitva .blStPlusz { display:none; }
  .blStLista { padding:76px 22px 32px; } .blStKBody { padding:0 22px; }
}
@keyframes blStLapFel { from { transform:translateY(100%); } to { transform:none; } }
#bl.blSt .blHuzo { display:none; }
/* logó: kisebb táblagépeken a címsorba fér, nem ér a fülsávra */
@media (max-width:1180px){ .blStLogo { height:38px; left:10px; top:6px; } }
.blStCsKabala { height:36%; right:8px; }

/* Nations: a réteg-sáv a listában is (keskeny képernyőn a lap eltakarja az alsó sávot) */
.blStAljBelul { display:none; flex-wrap:wrap; gap:6px; }
@media (max-width:1000px){ .blStAljBelul { display:flex; } }
.blStAljBelul .ds-chip { min-height:var(--tap); cursor:pointer; }
.blStAljBelul .ds-chip.is-honey { background:var(--accent); color:var(--on-accent); }

/* ============================================================
   Jövőkép-popup (2026-11-08): középen felugró ablak; a bolygó és a gráf mögötte marad. Bal: kép + kisképek, jobb: strukturált tartalom.
   ============================================================ */
.blStJPop { position:absolute; inset:0; z-index:20; display:grid; place-items:center; padding:clamp(10px, 3vh, 28px); }
.blStJPopHatter { position:absolute; inset:0; background:color-mix(in srgb, var(--night) 58%, transparent); backdrop-filter:blur(2px); animation:blStJPopHatter .2s ease-out both; }
.blStJPopKartya { position:relative; width:min(1060px, 100%); max-height:min(88vh, 760px); display:grid; grid-template-columns:minmax(300px, 42%) 1fr; overflow:hidden; border-radius:var(--r-xl, 26px); background:var(--surface); color:var(--ink); border:var(--line-w) solid var(--line); box-shadow:0 24px 70px rgba(0,0,0,.55); animation:blStJPopBe .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes blStJPopBe { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes blStJPopHatter { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce){ .blStJPopKartya, .blStJPopHatter { animation:none; } }
.blStJPopZar { position:absolute; top:12px; right:12px; z-index:5; width:48px; height:48px; border-radius:50%; background:color-mix(in srgb, var(--night) 75%, transparent); border:2px solid var(--cream); color:var(--cream); }
.blStJPopZar .pic { filter:brightness(0) invert(1); }
.blStJPopKepek { display:flex; flex-direction:column; background:var(--night); min-height:0; }
.blStJPopKepKeret { position:relative; flex:1 1 auto; min-height:220px; overflow:hidden; }
.blStJPopFo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blStJPopLap { position:absolute; top:50%; translate:0 -50%; width:44px; height:44px; border-radius:50%; border:2px solid var(--cream); background:color-mix(in srgb, var(--night) 70%, transparent); color:var(--cream); display:grid; place-items:center; cursor:pointer; }
.blStJPopLap.bal { left:10px; } .blStJPopLap.jobb { right:10px; } .blStJPopLap .pic { width:22px; height:22px; filter:brightness(0) invert(1); }
.blStJPopKredit { margin:0; padding:10px 14px; font-size:var(--fs-s); line-height:1.35; color:var(--cream); background:var(--night); } .blStJPopKredit small { color:var(--sage); font-size:var(--fs-xs); }
.blStJPopKiskepek { display:flex; gap:8px; padding:0 14px 14px; background:var(--night); }
.blStJPopKiskep { flex:1 1 0; max-width:96px; height:56px; padding:0; border:2px solid transparent; border-radius:10px; overflow:hidden; background:none; cursor:pointer; opacity:.7; }
.blStJPopKiskep img { width:100%; height:100%; object-fit:cover; display:block; } .blStJPopKiskep.on { border-color:var(--honey); opacity:1; }
.blStJPopKiskep:focus-visible, .blStJPopLap:focus-visible, .blStJPopZar:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.blStJPopNincsKep { flex:1; display:grid; place-items:center; background:linear-gradient(145deg, color-mix(in srgb, var(--leaf) 45%, var(--night)), var(--night-surface)); } .blStJPopNincsKep .blStJel { width:96px; height:96px; font-size:44px; }
.blStJPop.dystopia .blStJPopNincsKep { background:linear-gradient(145deg, color-mix(in srgb, var(--ember) 40%, var(--night)), var(--night-surface)); }
.blStJPopTest { overflow-y:auto; padding:26px 30px 28px; display:grid; gap:var(--sp-4); align-content:start; min-height:0; }
.blStJPopCimke { margin:0; padding-right:56px; display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; font-size:var(--fs-s); color:var(--ink-soft); font-weight:700; }
.blStJPopJel { display:inline-block; padding:3px 12px; border-radius:var(--r-pill); font-size:var(--fs-xs); letter-spacing:.06em; text-transform:uppercase; background:var(--leaf); color:var(--cream); } .blStJPopJel.dystopia { background:var(--ember); }
.blStJPopTest h2 { margin:0; font:400 clamp(32px, 3.6vw, 46px)/1.05 var(--display); }
.blStJPopLead { margin:0; font-size:var(--fs-l); line-height:1.45; }
.blStJPontok { display:grid; gap:var(--sp-3); }
.blStJPont { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:14px 16px; border-radius:var(--r-m); background:color-mix(in srgb, var(--ink) 7%, var(--surface)); border:1px solid var(--line); }
.blStJPontIkon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--cream); } .blStJPontIkon .pic { width:26px; height:26px; }
.blStJPont h3 { margin:0 0 4px; font:400 var(--fs-l)/1.2 var(--display); color:var(--honey); }
.blStJPont p { margin:0; font-size:var(--fs-m); line-height:1.5; }
.blStJPopKapcs h3 { margin:0 0 var(--sp-2); display:flex; gap:8px; align-items:center; font:400 var(--fs-l)/1.2 var(--display); } .blStJPopKapcs h3 .pic { width:22px; height:22px; }
.blStJPopForr { border-top:var(--line-w) solid var(--line); padding-top:var(--sp-3); } .blStJPopForr summary { min-height:var(--tap); display:flex; gap:8px; align-items:center; cursor:pointer; font-weight:700; } .blStJPopForr summary .pic { width:20px; height:20px; }
.blStJPopTest .blStJelzes { margin:0; }
@media (max-width:860px){
  .blStJPopKartya { grid-template-columns:1fr; grid-template-rows:auto 1fr; overflow-y:auto; max-height:92vh; }
  .blStJPopKepKeret { min-height:0; height:clamp(170px, 30vh, 260px); flex:none; }
  .blStJPopTest { overflow:visible; padding:20px 18px 24px; }
}
