/* electricityratemap.com — stíluslap (a homehazardmap szerkezetéből, saját arculattal: faszén + elektromos sárga/türkiz,
 * Archivo címek, IBM Plex Sans szöveg, IBM Plex Mono számok). Eredeti fejléc: homehazardmap.com — stíluslap (2026-10-29). Saját arculat: mélykék „biztonsági jelentés”, vízkék kiemelés,
 * állapotszínek. Betű: Archivo (címek) + IBM Plex Sans (szöveg) + IBM Plex Mono (számok), OFL,
 * saját szerverről. Téma: prefers-color-scheme, felülírható <html data-theme> (fejléc-gomb, localStorage hhm_tema). */

@font-face { font-family:"Archivo"; src:url(/betu/archivo-v25-latin_latin-ext-regular.woff2) format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Archivo"; src:url(/betu/archivo-v25-latin_latin-ext-700.woff2) format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Archivo"; src:url(/betu/archivo-v25-latin_latin-ext-900.woff2) format("woff2"); font-weight:900; font-display:swap; }
@font-face { font-family:"Plex"; src:url(/betu/ibm-plex-sans-v23-latin_latin-ext-regular.woff2) format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Plex"; src:url(/betu/ibm-plex-sans-v23-latin_latin-ext-600.woff2) format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"PlexMono"; src:url(/betu/ibm-plex-mono-v20-latin_latin-ext-regular.woff2) format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"PlexMono"; src:url(/betu/ibm-plex-mono-v20-latin_latin-ext-600.woff2) format("woff2"); font-weight:600; font-display:swap; }
:root {
  --bg:#f5f6f1; --bg-2:#eceee6; --lap:#ffffff; --ink:#14181d; --soft:#4f5862; --halvany:#6b737d; --line:#dfe2d8;
  --brand:#0b8f8f; --brand-ink:#08706f; --brand-soft:#ddf3f1; --navy:#14181d; --navy-2:#1d2329;
  --ok:#23845a; --ok-soft:#e0f2e8; --figy:#c27b0e; --figy-soft:#fdf0d9; --baj:#c43d2b; --baj-soft:#fbe3df; --nincs:#7d8796; --nincs-soft:#eceff3;
  --arnyek:0 1px 2px rgba(15,27,45,.06), 0 14px 34px -16px rgba(15,27,45,.25);
  --arnyek-nagy:0 2px 4px rgba(15,27,45,.08), 0 26px 60px -22px rgba(15,27,45,.45);
  --r:18px; --cim:"Archivo", system-ui, sans-serif; --font:"Plex", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#0d1013; --bg-2:#151a1f; --lap:#171c22; --ink:#e7eef7; --soft:#a5b4c8; --halvany:#8494aa; --line:#2a3138;
  --brand:#3fd0c8; --brand-ink:#7fe3dc; --brand-soft:#113331; --navy:#08090b; --navy-2:#111418;
  --ok:#4cc58a; --ok-soft:#123323; --figy:#f0ad3d; --figy-soft:#33270f; --baj:#ff7b68; --baj-soft:#3a1914; --nincs:#9aa5b5; --nincs-soft:#1b2639;
  --arnyek:0 1px 2px rgba(0,0,0,.4), 0 14px 34px -16px rgba(0,0,0,.8); --arnyek-nagy:0 2px 4px rgba(0,0,0,.4), 0 26px 60px -22px rgba(0,0,0,.9);
} }
:root[data-theme="dark"] {
  --bg:#0d1013; --bg-2:#151a1f; --lap:#171c22; --ink:#e7eef7; --soft:#a5b4c8; --halvany:#8494aa; --line:#2a3138;
  --brand:#3fd0c8; --brand-ink:#7fe3dc; --brand-soft:#113331; --navy:#08090b; --navy-2:#111418;
  --ok:#4cc58a; --ok-soft:#123323; --figy:#f0ad3d; --figy-soft:#33270f; --baj:#ff7b68; --baj-soft:#3a1914; --nincs:#9aa5b5; --nincs-soft:#1b2639;
  --arnyek:0 1px 2px rgba(0,0,0,.4), 0 14px 34px -16px rgba(0,0,0,.8); --arnyek-nagy:0 2px 4px rgba(0,0,0,.4), 0 26px 60px -22px rgba(0,0,0,.9);
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font-family:var(--font); color:var(--ink); background:var(--bg); line-height:1.6; font-size:16px; -webkit-font-smoothing:antialiased; }
button, input { font:inherit; }
a { color:var(--brand-ink); text-underline-offset:2px; }
[hidden] { display:none !important; }
h1, h2, h3, .logo { font-family:var(--cim); letter-spacing:-.01em; font-weight:900; }
h3 { font-weight:700; }
.szam, .mono { font-family:"PlexMono", ui-monospace, monospace; }
table, .szam { font-variant-numeric:tabular-nums; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline:2px solid var(--brand); outline-offset:2px; border-radius:6px; }
.belso { max-width:1160px; margin:0 auto; padding:0 16px; }

/* fejléc: sötét sáv */
.fejlec { position:sticky; top:0; z-index:1200; background:var(--navy); color:#fff; box-shadow:0 1px 0 rgba(255,255,255,.06); }
.fejlec .belso { display:flex; align-items:center; gap:16px; min-height:62px; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; font-weight:700; font-size:1.12rem; white-space:nowrap; }
.logo-jel { width:34px; height:34px; border-radius:10px; background:var(--logo-bg,linear-gradient(140deg,#ffd23f,#ff9f1c 50%,#0fa3a3)); display:grid; place-items:center; flex:none; box-shadow:0 6px 16px -6px var(--logo-arnyek,rgba(43,143,224,.8)); }
.logo b { color:var(--kiemel,#ffd23f); font-weight:700; }
.menu { display:flex; gap:2px; }
.menu a { text-decoration:none; color:#c8d4e4; font-size:.9rem; font-weight:600; padding:7px 11px; border-radius:9px; white-space:nowrap; }
.menu a:hover { color:#fff; background:rgba(255,255,255,.08); }
.menu a[aria-current="page"] { color:#fff; background:rgba(255,255,255,.14); }
.fej-jobb { margin-left:auto; display:flex; gap:8px; align-items:center; min-width:0; }
.tema { width:40px; height:40px; border-radius:10px; border:0; background:rgba(255,255,255,.1); color:#fff; cursor:pointer; display:grid; place-items:center; flex:none; }
.keres { position:relative; display:flex; min-width:0; background:var(--lap); border-radius:12px; border:1px solid var(--line); }
.fejlec .keres { width:260px; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); }
.fejlec .keres input { color:#fff; } .fejlec .keres input::placeholder { color:#a9b8cc; }
.keres input { flex:1; min-width:0; padding:9px 12px; border:0; background:transparent; color:var(--ink); }
.keres input:focus { outline:none; }
.keres button { border:0; margin:4px; padding:0 14px; border-radius:9px; background:var(--gomb-bg,var(--kiemel,#ffd23f)); color:var(--gomb-ink,#14181d); font-weight:700; cursor:pointer; }
.keres.nagy input { padding:14px 16px; font-size:1.05rem; }
.keres.nagy button { padding:0 20px; }
.talalat { position:absolute; top:calc(100% + 6px); left:0; right:0; background:var(--lap); border:1px solid var(--line); border-radius:12px; box-shadow:var(--arnyek-nagy); z-index:1300; overflow:hidden; }
.talalat a { display:flex; justify-content:space-between; padding:10px 14px; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); }
.talalat a:last-child { border-bottom:0; } .talalat a:hover { background:var(--brand-soft); }

/* főoldali hős: sötét sáv + térkép */
.hos { background:radial-gradient(900px 420px at 12% -10%, rgba(255,210,63,.22) 0%, transparent 60%), radial-gradient(800px 400px at 90% 0%, rgba(15,163,163,.25) 0%, transparent 60%), linear-gradient(180deg,var(--navy) 0%, var(--navy-2) 100%); color:#fff; padding:34px 0 0; }
.hos-racs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:28px; align-items:end; }
.hos h1 { font-size:2.5rem; line-height:1.08; margin:0 0 12px; }
.hos h1 em { font-style:normal; color:var(--kiemel,#ffd23f); }
.hos p.lead { color:#c8d4e4; font-size:1.08rem; margin:0 0 18px; }
.hos .keres { background:#fff; border:0; } .hos .keres input { color:#0f1b2d; }
.hos-jelek { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 26px; }
.hos-jelek span { font-size:.82rem; font-weight:600; padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.08); color:#d6e2f0; }
.hos-terkep { height:430px; border-radius:18px 18px 0 0; overflow:hidden; box-shadow:0 -10px 40px -10px rgba(0,0,0,.5); position:relative; }
.hos-terkep #terkep { position:absolute; inset:0; }
.radon-jelm { position:absolute; z-index:800; left:12px; bottom:12px; background:var(--lap); color:var(--ink); border-radius:12px; padding:8px 10px; font-size:.78rem; box-shadow:var(--arnyek); }
.radon-jelm b { font-family:var(--cim); }
.radon-jelm i { display:inline-block; width:12px; height:12px; border-radius:3px; vertical-align:-1px; margin:0 4px 0 8px; }
@media (max-width:860px) { .hos-racs { grid-template-columns:1fr; } .hos h1 { font-size:1.9rem; } .hos-terkep { height:340px; } }

/* általános */
main { padding-bottom:40px; }
.szakasz { margin:40px 0; }
.szakasz > h2, .kartya > h2 { font-size:1.4rem; margin:0 0 6px; line-height:1.2; }
.alcim { color:var(--soft); margin:0 0 18px; max-width:72ch; }
.kartya { background:var(--lap); border-radius:var(--r); box-shadow:var(--arnyek); padding:22px; margin:18px 0; border:1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.kartya > h2 { margin-bottom:12px; }
.kicsi { font-size:.85rem; color:var(--halvany); }
.lead { font-size:1.08rem; }
h1 { font-size:2.05rem; line-height:1.12; margin:8px 0 10px; }
h3 { font-size:1.05rem; margin:18px 0 6px; }
.morzsa-sor { display:flex; justify-content:space-between; gap:6px 16px; flex-wrap:wrap; padding-top:18px; font-size:.85rem; color:var(--halvany); }
.morzsa a { color:var(--halvany); text-decoration:none; } .morzsa a:hover { color:var(--brand-ink); text-decoration:underline; }
.friss { font-size:.78rem; }
.valasz { background:var(--brand-soft); border-radius:14px; padding:14px 16px; font-size:1.04rem; margin:0 0 16px; border-left:4px solid var(--brand); }
.valasz b { color:var(--brand-ink); }
.figyelm { background:var(--figy-soft); border:1px solid color-mix(in srgb, var(--figy) 40%, transparent); color:var(--ink); border-radius:12px; padding:10px 14px; font-size:.86rem; margin:14px 0 0; }

/* állapot-kártyák (a jelentés szíve) */
.allapotok { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:6px 0 4px; }
.al { position:relative; border-radius:16px; padding:16px 16px 14px; background:var(--lap); border:1px solid var(--line); box-shadow:var(--arnyek); overflow:hidden; text-decoration:none; color:var(--ink); display:block; }
.al::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--c); }
.al .fej { display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--soft); }
.al .ikon { width:28px; height:28px; border-radius:8px; display:grid; place-items:center; background:var(--cs); color:var(--c); flex:none; }
.al .ertek { font-family:var(--cim); font-size:1.45rem; font-weight:700; line-height:1.15; margin:10px 0 4px; }
.al .jel { display:inline-block; font-size:.76rem; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--cs); color:var(--c); }
.al p { margin:8px 0 0; font-size:.86rem; color:var(--soft); }
.ok { --c:var(--ok); --cs:var(--ok-soft); } .figy { --c:var(--figy); --cs:var(--figy-soft); } .baj { --c:var(--baj); --cs:var(--baj-soft); } .nincs { --c:var(--nincs); --cs:var(--nincs-soft); }
@media (max-width:900px) { .allapotok { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .allapotok { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px; } .al { padding:12px 12px 10px; } .al p { display:none; } .al .ertek { font-size:1.15rem; } .al .fej { font-size:.7rem; } .al .ikon { width:24px; height:24px; } }

.csempek { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.csempe { background:var(--bg-2); border-radius:14px; padding:12px 14px; }
.csempe span { display:block; font-size:.75rem; font-weight:700; color:var(--halvany); text-transform:uppercase; letter-spacing:.05em; }
.csempe b { display:block; font-family:var(--cim); font-size:1.35rem; }
.csempe small { color:var(--soft); font-size:.8rem; line-height:1.3; display:block; }
.nagy-csempek { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.nagy-csempek .csempe { background:var(--lap); box-shadow:var(--arnyek); padding:18px; border:1px solid var(--line); }
.nagy-csempek .csempe b { font-size:2rem; }
@media (max-width:820px) { .nagy-csempek { grid-template-columns:repeat(2,1fr); } }

.tabla { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:.93rem; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-size:.76rem; color:var(--halvany); text-transform:uppercase; letter-spacing:.05em; }
.pill { display:inline-block; font-size:.76rem; font-weight:700; padding:2px 9px; border-radius:999px; background:var(--cs); color:var(--c); white-space:nowrap; }
.sav-diagram { display:grid; gap:6px; }
.sd { display:grid; grid-template-columns:7em 1fr 6em; gap:10px; align-items:center; font-size:.88rem; }
.sd .s { height:14px; background:var(--bg-2); border-radius:7px; overflow:hidden; position:relative; }
.sd .s i { display:block; height:100%; border-radius:7px; background:var(--c); }
.sd .s .hatar { position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); opacity:.6; }

.racs-kartyak { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px; }
.vk { display:block; text-decoration:none; color:var(--ink); background:var(--lap); border-radius:14px; box-shadow:var(--arnyek); padding:14px 16px; border:1px solid var(--line); }
.vk:hover { border-color:var(--brand); }
.vk b { display:block; font-family:var(--cim); }
.vk span { font-size:.84rem; color:var(--soft); }
.allamok { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; }
.allamok a { display:flex; justify-content:space-between; gap:8px; padding:11px 12px; border-radius:12px; background:var(--lap); border:1px solid var(--line); text-decoration:none; color:var(--ink); font-weight:600; font-size:.93rem; }
.allamok a:hover { border-color:var(--brand); }
.allamok small { color:var(--halvany); font-weight:500; }
.ket-oszlop { display:grid; grid-template-columns:1fr 1fr; gap:18px; } @media (max-width:820px) { .ket-oszlop { grid-template-columns:1fr; } }
.lepesek { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; } @media (max-width:820px) { .lepesek { grid-template-columns:1fr; } }
.lepes { background:var(--lap); border-radius:16px; padding:18px; box-shadow:var(--arnyek); border:1px solid var(--line); }
.lepes h3 { margin:0 0 6px; } .lepes p { margin:0; color:var(--soft); font-size:.93rem; }
.gyik details { background:var(--lap); border-radius:12px; border:1px solid var(--line); margin:8px 0; padding:0 16px; }
.gyik summary { cursor:pointer; font-weight:600; padding:14px 0; list-style:none; display:flex; justify-content:space-between; gap:12px; }
.gyik summary::-webkit-details-marker { display:none; }
.gyik summary::after { content:"+"; color:var(--brand); font-weight:700; font-size:1.2rem; line-height:1; }
.gyik details[open] summary::after { content:"−"; }
.gyik details p { margin:0 0 14px; color:var(--soft); }
.szoveg { max-width:76ch; } .szoveg h2 { margin-top:26px; }
.idezet { border-left:4px solid var(--brand); background:var(--bg-2); padding:10px 14px; border-radius:0 12px 12px 0; font-size:.9rem; color:var(--soft); }

/* térkép */
.mt-doboz { height:430px; border-radius:14px; overflow:hidden; background:var(--bg-2); }
.kartya-fej { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.kartya-fej h2 { margin:0; font-size:1.25rem; }
.terkep-jelm { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.82rem; color:var(--soft); margin-top:8px; }
.terkep-jelm i { display:inline-block; width:16px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
.leaflet-container { font:inherit; background:var(--bg-2); }
.leaflet-popup-content-wrapper { border-radius:12px; background:var(--lap); color:var(--ink); box-shadow:var(--arnyek-nagy); }
.leaflet-popup-tip { background:var(--lap); }
.leaflet-container img.leaflet-tile { mix-blend-mode:normal !important; }
.zar-gomb { display:inline-flex; align-items:center; gap:6px; font:600 13px var(--font); color:var(--ink); background:var(--lap); border:0; border-radius:10px; padding:9px 12px; box-shadow:var(--arnyek-nagy); cursor:pointer; }
.zar-gomb.aktiv { background:var(--brand); color:#fff; }
#terkep.nyitott { outline:3px solid var(--brand); outline-offset:-3px; }

/* lábléc */
.lablec { background:var(--navy); color:#a9b8cc; margin-top:30px; padding:34px 0 24px; font-size:.88rem; }
.lablec a { color:#c8d4e4; }
.lab-racs { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; gap:22px; }
.lab-racs h4 { margin:0 0 8px; color:#fff; font-family:var(--cim); }
.lab-racs a { display:block; text-decoration:none; padding:3px 0; }
.lab-also { border-top:1px solid rgba(255,255,255,.1); margin-top:20px; padding-top:14px; font-size:.8rem; }
.lablec .figyelm { background:rgba(227,154,31,.12); border-color:rgba(227,154,31,.35); color:#f3dcae; }
@media (max-width:820px) { .lab-racs { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .menu { display:none; } }
@media (max-width:640px) {
  .fejlec .keres { width:auto; flex:1; } .logo .nev { display:none; }
  .kartya { padding:16px 14px; } h1 { font-size:1.5rem; } .belso { padding:0 12px; }
  .mt-doboz { height:340px; } .sd { grid-template-columns:5.5em 1fr 4.5em; }
  .leaflet-touch .leaflet-bar a { width:40px; height:40px; line-height:40px; font-size:20px; }
}
@media print { .fejlec, .lablec, .mt-doboz, .hos-terkep, .gyik { display:none !important; } .kartya { box-shadow:none; break-inside:avoid; } }

/* ---------- v3: rétegváltó, gyorslinkek, pontozótábla, DD-kártya ---------- */
.gyors { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:12px 0 0; font-size:.82rem; color:#a9b8cc; }
.gyors a { color:#fff; text-decoration:none; font-weight:600; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.1); }
.gyors a:hover { background:rgba(255,255,255,.2); }
.retegvalto { position:absolute; z-index:900; top:12px; right:12px; left:56px; display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.retegvalto button { border:0; cursor:pointer; font:600 .8rem var(--font); padding:7px 11px; border-radius:999px; background:rgba(13,27,49,.82); color:#e7eef7; box-shadow:0 4px 12px rgba(0,0,0,.3); backdrop-filter:blur(6px); }
.retegvalto button b { font-family:var(--cim); color:#ffd08a; margin-left:4px; }
.retegvalto button.aktiv { background:var(--gomb-bg,var(--kiemel,#ffd23f)); color:var(--gomb-ink,#14181d); } .retegvalto button.aktiv b { color:#1b1203; }
.pontozo td, .pontozo th { white-space:nowrap; } .pontozo td:first-child { white-space:normal; min-width:200px; }
.dd-ajanlo { margin:44px 0 0; }
.dd-ajanlo .dd-kartya { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; align-items:center; background:var(--lap); border:1px solid var(--line); border-radius:22px; padding:26px; box-shadow:var(--arnyek); }
.dd-ajanlo .dd-kicker { font:700 .72rem var(--cim); letter-spacing:.12em; text-transform:uppercase; color:var(--halvany); margin:0 0 6px; }
.dd-ajanlo h2 { margin:0 0 8px; font-size:1.5rem; }
.dd-ajanlo p { color:var(--soft); margin:0 0 12px; }
.dd-ajanlo ul { list-style:none; margin:0 0 14px; padding:0; display:grid; gap:4px; }
.dd-ajanlo li { color:var(--soft); padding-left:18px; position:relative; font-size:.95rem; }
.dd-ajanlo li::before { content:'▸'; position:absolute; left:0; color:var(--brand); }
.dd-ajanlo .dd-atvezeto { font-weight:600; color:var(--ink); margin-bottom:6px; }
.dd-ajanlo .dd-zaro b { color:var(--ink); }
.dd-cta { display:inline-block; background:var(--cta-bg,linear-gradient(135deg,#ff9f1c,#0fa3a3)); color:var(--cta-ink,#fff) !important; text-decoration:none; font-weight:700; padding:11px 18px; border-radius:12px; margin-right:12px; box-shadow:0 10px 24px -10px rgba(15,163,163,.8); }
.dd-cta:hover { transform:translateY(-2px); }
.dd-mail { font-size:.88rem; color:var(--halvany); }
.dd-elonezet { display:block; border-radius:14px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--arnyek-nagy); text-decoration:none; background:var(--bg-2); }
.dd-bsav { display:flex; align-items:center; gap:6px; padding:8px 10px; background:var(--bg-2); border-bottom:1px solid var(--line); }
.dd-bsav i { width:9px; height:9px; border-radius:50%; background:#e0675a; } .dd-bsav i:nth-child(2) { background:#e3b341; } .dd-bsav i:nth-child(3) { background:#5bb36a; }
.dd-bsav b { margin-left:8px; font:600 .78rem var(--font); color:var(--halvany); }
.dd-elonezet img { display:block; width:100%; height:auto; }
@media (max-width:820px) { .dd-ajanlo .dd-kartya { grid-template-columns:1fr; padding:18px; } .retegvalto { left:12px; top:auto; bottom:56px; justify-content:flex-start; } }
.lepesek.negyes { grid-template-columns:repeat(4,1fr); }
@media (max-width:900px) { .lepesek.negyes { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .lepesek.negyes { grid-template-columns:1fr; } }
/* mobilon a rétegváltó a térkép FÖLÖTT áll (rácsúszott a jelmagyarázatra és a forrássorra) */
@media (max-width:820px) {
  .hos-terkep { height:auto; overflow:visible; box-shadow:none; }
  .hos-terkep .retegvalto { position:static; justify-content:flex-start; padding:0 0 10px; }
  .hos-terkep #terkep { position:relative; inset:auto; height:340px; border-radius:18px 18px 0 0; overflow:hidden; }
  .hos-terkep .radon-jelm { display:none; }
}

/* ---------- v4: nagyítás, teljes képernyős térképlap ---------- */
.nagyito { width:34px; height:34px; border:0; border-radius:8px; background:var(--lap); color:var(--ink); box-shadow:0 1px 5px rgba(0,0,0,.35); cursor:pointer; display:grid; place-items:center; }
.nagyito.aktiv { background:var(--brand); color:#fff; }
#terkep.teljes { position:fixed !important; inset:0 !important; z-index:3000; width:100vw !important; height:100vh !important; height:100dvh !important; border-radius:0 !important; margin:0 !important; }
body.terkep-teljes { overflow:hidden; }
.nagy-link { display:inline-block; margin-top:14px; color:#ffd08a; font-weight:700; text-decoration:none; }
.nagy-link:hover { text-decoration:underline; }
.teljes-terkep { position:relative; height:calc(100vh - 62px); height:calc(100dvh - 62px); }
.teljes-terkep #terkep { position:absolute; inset:0; }
.reteg-panel { position:absolute; z-index:900; top:16px; left:60px; width:300px; background:var(--lap); border-radius:16px; box-shadow:var(--arnyek-nagy); padding:16px; border:1px solid var(--line); }
.reteg-panel h1 { font-size:1.25rem; margin:0 0 10px; }
.reteg-panel .keres { margin-bottom:10px; }
.rk { display:flex; align-items:center; gap:8px; padding:7px 0; font-size:.92rem; font-weight:600; cursor:pointer; border-bottom:1px solid var(--line); }
.rk:last-of-type { border-bottom:0; }
.rk i { width:16px; height:12px; border-radius:3px; flex:none; }
.rk b { margin-left:auto; font-family:var(--cim); color:var(--halvany); font-size:.85rem; }
.rk input { accent-color:var(--brand); width:18px; height:18px; }
@media (max-width:760px) { .reteg-panel { left:10px; right:10px; top:auto; bottom:10px; width:auto; padding:12px; } .reteg-panel h1 { display:none; } .rk { padding:5px 0; font-size:.86rem; } }
.mt-doboz.nagy { height:min(68vh,620px); }
.magyarazo-terkep { margin-top:22px; }
@media (max-width:640px) { .mt-doboz.nagy { height:60vh; } }

/* ---------- v5: hat kártya, élő riasztás, Superfund, NRI ---------- */
.allapotok.hat { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px) { .allapotok.hat { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.nws-nincs { margin:0; padding:10px 14px; border-radius:12px; background:var(--ok-soft); color:var(--ok); font-weight:600; }
.nws-a { border-radius:12px; padding:10px 14px; margin:0 0 8px; background:var(--cs); border-left:4px solid var(--c); }
.nws-a p { margin:4px 0 0; font-size:.9rem; color:var(--soft); }
.npl-ikon i { display:block; width:14px; height:13px; clip-path:polygon(50% 0,100% 100%,0 100%); box-shadow:0 0 0 2px #fff; }
.npl-ikon { background:none; border:0; filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.sav-diagram.nri .sd { grid-template-columns:9em 1fr 9.5em; }
@media (max-width:640px) { .sav-diagram.nri .sd { grid-template-columns:7.5em 1fr 6.5em; font-size:.8rem; } }

/* ---------- USA-államválasztó ---------- */
.usa-valto { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.usa-valto button { border:1px solid var(--line); background:var(--lap); color:var(--ink); font:600 .85rem var(--font); padding:7px 12px; border-radius:999px; cursor:pointer; }
.usa-valto button.aktiv { background:var(--navy); color:#fff; border-color:var(--navy); }
.usa { position:relative; }
.usa svg { width:100%; height:auto; display:block; overflow:visible; }
.usa-a path { fill:#ccc; stroke:var(--lap); stroke-width:1.1; stroke-linejoin:round; transition:transform .16s, filter .16s, opacity .16s; transform-box:fill-box; transform-origin:center; cursor:pointer; }
.usa svg:hover .usa-a path { opacity:.6; }
.usa svg .usa-a:hover path, .usa svg .usa-a:focus path { opacity:1; transform:translateY(-3px) scale(1.035); filter:drop-shadow(0 8px 10px rgba(15,27,45,.35)); stroke:var(--ink); stroke-width:1.6; }
.usa-cimke { pointer-events:none; font:700 11px var(--cim); fill:#0f1b2d; opacity:.75; }
.usa-tipp { position:absolute; z-index:5; pointer-events:none; background:var(--lap); border:1px solid var(--line); border-radius:12px; box-shadow:var(--arnyek-nagy); padding:10px 12px; min-width:220px; font-size:.85rem; line-height:1.45; transform:translate(-50%, calc(-100% - 14px)); }
.usa-tipp b { display:block; font-family:var(--cim); font-size:1rem; margin-bottom:3px; }
.usa-skala { display:flex; align-items:center; gap:10px; font-size:.82rem; color:var(--soft); margin-top:8px; flex-wrap:wrap; }
.usa-skala i { width:140px; height:10px; border-radius:5px; }
.kis-allamok { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px; }
.kis-allamok a { font-weight:700; font-size:.82rem; text-decoration:none; color:var(--ink); background:var(--bg-2); border-radius:999px; padding:6px 11px; }
@media (max-width:640px) { .usa-cimke { display:none; } }

/* ---------- testvéroldal-kártyák (scripts/lib/dd_kartya_en.mjs testverek) ---------- */
.tv-szakasz { margin:44px 0 0; }
.tv-szakasz h2 { margin:0 0 4px; font-size:1.4rem; }
.tv-al { color:var(--soft); margin:0 0 14px; }
.tv-racs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.tv { display:block; text-decoration:none; color:var(--ink); background:var(--lap); border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--arnyek); transition:transform .15s, box-shadow .15s; }
.tv:hover { transform:translateY(-3px); box-shadow:var(--arnyek-nagy); }
.tv img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; background:var(--bg-2); border-bottom:1px solid var(--line); }
.tv b { display:block; padding:12px 14px 2px; font-size:1.02rem; }
.tv span { display:block; padding:0 14px 14px; font-size:.86rem; color:var(--soft); line-height:1.4; }
@media (max-width:900px) { .tv-racs { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px) { .tv-racs { grid-template-columns:1fr 1fr; gap:10px; } .tv span { display:none; } .tv b { padding:10px 12px; font-size:.92rem; } }
/* térkép-jelmagyarázat */
.terkep-jelm.reszletes { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin-top:10px; font-size:.84rem; color:var(--soft); }
.terkep-jelm.reszletes .kicsi { flex-basis:100%; font-size:.8rem; }
.j-szaggat { width:22px !important; height:0 !important; border-top:2.5px dashed var(--ink); border-radius:0 !important; }
.j-kozep { width:12px !important; height:12px !important; border-radius:50% !important; background:#fff; box-shadow:0 0 0 3px #0f1b2d inset; }
.j-terulet { width:20px !important; height:13px !important; background:rgba(43,143,224,.2) !important; border:2.5px solid #0b63b0; }
.j-pont { width:12px !important; height:12px !important; border-radius:50% !important; box-shadow:0 0 0 1.5px #fff; }
.j-har { width:13px !important; height:12px !important; border-radius:0 !important; clip-path:polygon(50% 0,100% 100%,0 100%); }

/* ---------- electricityratemap saját elemek ---------- */
.ar-hos { display:grid; grid-template-columns:200px 1fr; gap:22px; align-items:stretch; }
.ar-nagy { border-radius:20px; background:linear-gradient(160deg,#14181d,#262d35); color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:18px; box-shadow:var(--arnyek-nagy); text-align:center; }
.ar-nagy span { font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--kiemel,#ffd23f); }
.ar-nagy b { font-family:"PlexMono", monospace; font-size:3rem; line-height:1; margin:8px 0 4px; }
.ar-nagy small { color:#c9d1d9; font-size:.85rem; }
@media (max-width:760px) { .ar-hos { grid-template-columns:1fr; } .ar-nagy { flex-direction:row; gap:14px; } .ar-nagy b { font-size:2.2rem; margin:0; } }
.tenyek { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.tenyek div { background:var(--lap); border:1px solid var(--line); border-radius:14px; padding:10px 12px; }
.tenyek span { display:block; font-size:.74rem; font-weight:600; color:var(--halvany); text-transform:uppercase; letter-spacing:.05em; }
.tenyek b { display:block; font-family:"PlexMono", monospace; font-size:1.2rem; margin-top:2px; }
.tenyek small { color:var(--soft); font-size:.78rem; }
@media (max-width:760px) { .tenyek { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.valt-fel { color:#c43d2b; } .valt-le { color:#23845a; }
.szamla { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; }
.szamla div { background:var(--bg-2); border-radius:14px; padding:12px; text-align:center; }
.szamla span { display:block; font-size:.8rem; color:var(--soft); }
.szamla b { display:block; font-family:"PlexMono", monospace; font-size:1.45rem; }
.vonal-diagram { width:100%; height:auto; display:block; }
.vonal-diagram .v-racs { stroke:var(--line); }
.vonal-diagram .v-ten { font:500 11px "PlexMono", monospace; fill:var(--halvany); }
.vonal-diagram .v-allam { fill:none; stroke:#0fa3a3; stroke-width:3; stroke-linejoin:round; }
.vonal-diagram .v-us { fill:none; stroke:#9aa3ad; stroke-width:2; stroke-dasharray:5 4; }
.vonal-diagram .v-szolg { fill:none; stroke:#ff9f1c; stroke-width:3; }
.vonal-diagram .v-pont { fill:#0fa3a3; stroke:var(--lap); stroke-width:2; }
.d-jel { display:flex; gap:16px; flex-wrap:wrap; font-size:.82rem; color:var(--soft); }
.d-jel i { display:inline-block; width:18px; height:3px; vertical-align:middle; margin-right:6px; border-radius:2px; }
.verseny { background:var(--brand-soft); border-left:4px solid var(--brand); border-radius:0 12px 12px 0; padding:12px 14px; margin:14px 0; }
.rang { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.rang ol { margin:0; padding:0; list-style:none; counter-reset:r; }
.rang li { counter-increment:r; display:grid; grid-template-columns:1.6em 1fr auto; gap:6px; padding:6px 0; border-bottom:1px dashed var(--line); font-size:.93rem; }
.rang li::before { content:counter(r); font-weight:700; color:var(--halvany); font-size:.8rem; }
.rang li b { font-family:"PlexMono", monospace; }
.usa-cimke .ar-cimke { font:600 9.5px "PlexMono", monospace; }
.rang h3 { margin:0 0 6px; }
.kartya.rang { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:640px) { .kartya.rang { grid-template-columns:1fr; } }
.usa-a path { fill:#ccc; }
.szamla div.atl { background:#fff4c7; box-shadow:inset 0 0 0 2px #ffd23f; }
[data-theme="dark"] .szamla div.atl { background:#3a3112; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .szamla div.atl { background:#3a3112; } }
@media (max-width:640px) {
  .szamla { grid-template-columns:1fr 1fr; }
  .szamla b { font-size:1.25rem; }
}
.vonal-diagram.v-mobil { display:none; }
@media (max-width:640px) { .vonal-diagram.v-asztal { display:none; } .vonal-diagram.v-mobil { display:block; } }

/* ── interaktív trend-diagram (színek validálva: dataviz validate_palette, világos + sötét) ── */
:root { --t-fo:#0090a8; --t-szolg:#d97706; --t-ker:#6c5ce7; --t-ipar:#d6455d; --t-us:#8a94a0; }
[data-theme="dark"] { --t-fo:#13a3b8; --t-szolg:#c87506; --t-ker:#8b7cf6; --t-ipar:#f05a70; --t-us:#7d8896; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --t-fo:#13a3b8; --t-szolg:#c87506; --t-ker:#8b7cf6; --t-ipar:#f05a70; --t-us:#7d8896; } }
.trend { margin:0; }
.trend-vez { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:center; margin:4px 0 12px; }
.trend-fulek, .trend-tav { display:flex; gap:3px; background:var(--bg-2); padding:3px; border-radius:11px; overflow-x:auto; max-width:100%; scrollbar-width:none; }
.trend-fulek button, .trend-tav button { border:0; background:transparent; color:var(--soft); font-size:.84rem; font-weight:600; padding:6px 11px; border-radius:8px; cursor:pointer; white-space:nowrap; }
.trend-fulek button[aria-pressed="true"], .trend-tav button[aria-pressed="true"] { background:var(--lap); color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.12); }
.trend-tav button { font-family:"PlexMono", monospace; font-size:.8rem; }
.trend-rajz { position:relative; min-height:250px; }
.trend-svg { display:block; width:100%; height:auto; overflow:visible; user-select:none; -webkit-user-select:none; }
.trend-svg .t-racs { stroke:var(--line); stroke-width:1; }
.trend-svg .t-ten { font:500 12px "PlexMono", monospace; fill:var(--halvany); }
.trend-svg .t-vonal { fill:none; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.trend-svg .t-vonal.t-fo { stroke:var(--t-fo); stroke-width:3; }
.t-us { stroke:var(--t-us); } .t-szolg { stroke:var(--t-szolg); } .t-ker { stroke:var(--t-ker); } .t-ipar { stroke:var(--t-ipar); } .t-elo { stroke:var(--t-us); }
.trend-svg .t-vonal.t-elo { stroke:var(--t-fo); stroke-dasharray:5 5; stroke-width:2.5; opacity:.9; }
.trend-svg .tg-a { stop-color:var(--t-fo); stop-opacity:.22; } .trend-svg .tg-b { stop-color:var(--t-fo); stop-opacity:0; }
.trend-svg .t-veg { fill:var(--t-fo); stroke:var(--lap); stroke-width:3; }
.trend-svg .t-elo-hat { fill:var(--bg-2); opacity:.7; }
.trend-svg .t-elo-cimke { font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.trend-svg .t-kereszt { stroke:var(--ink); stroke-width:1; stroke-dasharray:3 3; opacity:.55; pointer-events:none; }
.trend-svg .t-pont { stroke:var(--lap); stroke-width:2.5; pointer-events:none; }
.t-pont.t-fo, .t-sor i.t-fo, .t-jel.t-fo i { fill:var(--t-fo); background:var(--t-fo); }
.t-pont.t-us, .t-sor i.t-us, .t-jel.t-us i { fill:var(--t-us); background:var(--t-us); }
.t-pont.t-szolg, .t-sor i.t-szolg, .t-jel.t-szolg i { fill:var(--t-szolg); background:var(--t-szolg); }
.t-pont.t-ker, .t-sor i.t-ker, .t-jel.t-ker i { fill:var(--t-ker); background:var(--t-ker); }
.t-pont.t-ipar, .t-sor i.t-ipar, .t-jel.t-ipar i { fill:var(--t-ipar); background:var(--t-ipar); }
.t-pont.t-elo, .t-sor i.t-elo { fill:var(--t-fo); background:repeating-linear-gradient(90deg,var(--t-fo) 0 4px,transparent 4px 7px); }
.t-jel.t-elo i { background:repeating-linear-gradient(90deg,var(--t-fo) 0 4px,transparent 4px 7px); }
.trend-svg .t-fogo { fill:transparent; cursor:crosshair; touch-action:pan-y; outline:none; }
.t-tipp { position:absolute; top:6px; z-index:5; min-width:180px; max-width:280px; background:var(--lap); border:1px solid var(--line); border-radius:12px; padding:9px 12px; box-shadow:var(--arnyek-nagy); pointer-events:none; font-size:.86rem; }
.t-ho { font-weight:700; margin-bottom:4px; font-family:var(--cim); }
.t-sor { display:grid; grid-template-columns:10px 1fr auto; gap:2px 8px; align-items:center; line-height:1.35; padding:2px 0; }
.t-sor i { width:10px; height:10px; border-radius:3px; }
.t-sor span { color:var(--soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.t-sor b { font-family:"PlexMono", monospace; }
.t-sor em { grid-column:2 / 4; font-style:normal; font-size:.78rem; font-family:"PlexMono", monospace; }
.trend-jel { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.t-jel { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--lap); color:var(--ink); border-radius:999px; padding:4px 11px; font-size:.82rem; cursor:pointer; }
.t-jel i { width:16px; height:4px; border-radius:2px; }
.t-jel.ki { opacity:.45; text-decoration:line-through; } .t-jel:disabled { cursor:default; }
.trend-tenyek { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin:14px 0 8px; }
.trend-tenyek div { background:var(--bg-2); border-radius:13px; padding:10px 12px; }
.trend-tenyek span { display:block; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--halvany); font-weight:600; }
.trend-tenyek b { display:block; font-family:"PlexMono", monospace; font-size:1.25rem; }
.trend-tenyek small { color:var(--halvany); font-size:.78rem; }
.trend-tenyek .elorejelzes { background:var(--brand-soft); }
@media (max-width:640px) { .trend-vez { flex-direction:column; align-items:stretch; } .trend-tav { align-self:flex-end; } .trend-tenyek { grid-template-columns:1fr 1fr; } .trend-tenyek b { font-size:1.1rem; } }
.t-tipp.sav { position:static; max-width:none; min-height:96px; box-shadow:none; background:var(--bg-2); border:0; margin-bottom:8px; pointer-events:auto; }
.t-tipp.sav .t-sor { grid-template-columns:10px 1fr auto auto; } .t-tipp.sav .t-sor em { grid-column:auto; margin-left:6px; }
@media (max-width:640px) { .trend-fulek button { padding:6px 8px; font-size:.8rem; } }

/* ── szolgáltatói árgörbék + rendezhető táblázat ── */
.al-cim { font-size:1rem; margin:6px 0 8px; }
.szolg-trend { margin:0 0 18px; }
.trend-svg .t-sz { fill:none; stroke:var(--t-us); stroke-width:1.5; opacity:.45; stroke-linejoin:round; }
.trend-svg .t-sz-ki { fill:none; stroke:var(--t-szolg); stroke-width:3.5; stroke-linejoin:round; stroke-linecap:round; pointer-events:none; }
.t-rang { margin-top:4px; font-size:.78rem; color:var(--halvany); font-family:"PlexMono", monospace; }
table.rendezheto th button { all:unset; cursor:pointer; font:inherit; text-transform:inherit; letter-spacing:inherit; color:inherit; white-space:nowrap; }
table.rendezheto th button::after { content:"↕"; margin-left:4px; opacity:.35; }
table.rendezheto th button[aria-sort="ascending"]::after { content:"↑"; opacity:1; color:var(--brand-ink); }
table.rendezheto th button[aria-sort="descending"]::after { content:"↓"; opacity:1; color:var(--brand-ink); }
table.rendezheto th button:focus-visible { outline:2px solid var(--brand); border-radius:4px; }
table.rendezheto tr.kiemelt td { background:color-mix(in srgb, var(--t-szolg) 12%, transparent); }
.ar-cella { min-width:170px; }
.ar-sav { position:relative; height:10px; background:var(--bg-2); border-radius:5px; margin:4px 0 5px; }
.ar-sav i { display:block; height:100%; border-radius:5px; }
.ar-sav::after { content:""; position:absolute; left:var(--atl); top:-3px; bottom:-3px; width:2px; background:var(--ink); opacity:.55; border-radius:1px; }
.ar-cella b { font-size:1rem; margin-right:6px; }
.ar-fej .atl-jel { display:block; font-size:.68rem; text-transform:none; letter-spacing:0; font-weight:500; color:var(--halvany); }
.havi-jel { color:var(--t-szolg); font-weight:600; }
.tobb-gomb { margin:12px auto 4px; display:block; border:1px solid var(--line); background:var(--lap); color:var(--ink); border-radius:999px; padding:8px 18px; font-weight:600; cursor:pointer; }
.tobb-gomb:hover { background:var(--bg-2); }
@media (max-width:640px) { .ar-cella { min-width:130px; } }

/* ── fűtés (/heating/) — 2026-10-29 ── */
.fu-tenyek { margin:0 0 16px; }
.fu-tenyek b small { font-size:.7em; font-weight:500; color:var(--soft); }
.fu-csuszka { background:var(--brand-soft); border-radius:14px; padding:12px 14px; margin:0 0 12px; }
.fu-csuszka label { display:block; font-weight:600; margin-bottom:6px; }
.fu-csuszka input[type=range] { width:100%; accent-color:var(--t-fo); }
.fu-elo { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.fu-elo button { border:1px solid var(--line); background:var(--lap); color:var(--ink); border-radius:999px; padding:5px 11px; font:inherit; font-size:.82rem; cursor:pointer; }
.fu-elo button:hover { border-color:var(--t-fo); }
.fu-tabla td { vertical-align:middle; }
.fu-tabla .ar-cella { min-width:180px; }
.fu-potty { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:7px; vertical-align:middle; }
.fu-nyero { background:var(--brand-soft); }
.fu-cimke { display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; background:var(--t-fo); color:#fff; border-radius:999px; padding:2px 8px; margin-left:4px; }
.fu-diag { margin:0; }
.fu-diag svg { width:100%; height:auto; display:block; }
.fu-pont { cursor:pointer; }
.fu-pont:hover { r:6; }
.fu-usa svg .fu-a path { stroke:var(--lap); stroke-width:1; transition:opacity .15s; }
.fu-usa svg:hover .fu-a path { opacity:.65; }
.fu-usa svg .fu-a:hover path, .fu-usa svg .fu-a:focus path { opacity:1; stroke:var(--ink); stroke-width:1.6; }
.fu-atlink { display:block; margin:0 0 18px; padding:14px 16px; border-radius:14px; border:1px solid var(--line); background:var(--lap); color:var(--ink); text-decoration:none; }
.fu-atlink:hover { border-color:var(--t-fo); }
.fu-atlink b { color:var(--t-fo); }
@media (max-width:640px) { .fu-tabla th:nth-child(2), .fu-tabla td:nth-child(2) { display:none; } .fu-tabla .ar-cella { min-width:120px; } }
.fu-tabla .ar-sav::after { display:none; }
/* rejtett színválasztó */
.szv .szv-savok { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 18px; margin-top:14px; }
.szv-racs { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.szv-p { display:flex; flex-direction:column; gap:7px; text-align:left; border:2px solid var(--line); background:var(--lap); color:var(--ink); border-radius:14px; padding:10px; cursor:pointer; font:inherit; font-size:.88rem; }
.szv-p i { display:block; height:22px; border-radius:7px; }
.szv-p.akt, .szv-p:hover { border-color:var(--t-fo); }
.szv-mod, .szv-sajat, .szv-gombok { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; }
.szv-sajat input[type=color] { width:46px; height:32px; border:0; background:none; vertical-align:middle; cursor:pointer; }
.szv-sajat button, .szv-gombok button { border:1px solid var(--line); background:var(--lap); color:var(--ink); border-radius:999px; padding:8px 14px; font:inherit; cursor:pointer; }
.szv-gombok .szv-fo { background:var(--t-fo); border-color:var(--t-fo); color:#fff; font-weight:700; }
.szv code { font-family:"PlexMono",monospace; background:var(--bg-2); padding:3px 7px; border-radius:6px; word-break:break-all; }
@media (max-width:640px) { .szv .szv-savok { grid-template-columns:1fr 1fr; } }
/* arculat-színválasztó */
.szv-fej { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; background:var(--navy); border-radius:14px; padding:14px 18px; }
.szv-fej .logo { color:#fff; font-size:1.3rem; }
.szv-fej .keres { max-width:300px; }
.szv-nagylogo { width:48px !important; height:48px !important; border-radius:14px !important; }
.szv-minta { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:16px; }
.hos-minta { background:var(--navy); color:#fff; border-radius:12px; padding:12px 16px; }
.hos-minta span { font-size:.8rem; color:#9aa3ad; margin-right:6px; }
.hos-minta .hos-cim { font-size:1.3rem; } .hos-minta em { font-style:normal; color:var(--kiemel,#ffd23f); }
.szv-ar { width:170px; }
.szv-minilogo { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; }
.szv-minilogo svg { width:26px; height:26px; }
.szv-minilogo svg path { fill:var(--logo-villam,#14181d); }
.szv-minicta { display:inline-block; border-radius:10px; padding:9px 14px; font-weight:700; background:linear-gradient(140deg,#ffd23f,#ff9f1c 50%,#0fa3a3); }
.szv-szinek { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.szv-kor { display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--lap); color:var(--ink); border-radius:999px; padding:6px 12px 6px 6px; font:inherit; cursor:pointer; }
.szv-kor i { width:24px; height:24px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); }
.szv-sajat select { font:inherit; padding:5px 8px; border-radius:8px; border:1px solid var(--line); background:var(--lap); color:var(--ink); }
.szv-terkep summary { cursor:pointer; padding:4px 0; }
/* fűtési térkép: kategória-jelmagyarázat, összegzés, súgó */
.fu-jelmagy { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 8px; }
.fu-jelmagy span { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--lap); border-radius:999px; padding:5px 12px 5px 6px; font-size:.86rem; }
.fu-jelmagy i { width:18px; height:18px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.fu-jelmagy b { font-family:"PlexMono",monospace; color:var(--halvany); font-weight:600; }
.fu-osszegzes { font-size:1.05rem; margin:0 0 6px; }
.fu-zold { color:#1a9850; } .fu-piros { color:#d7301f; }
[data-theme="dark"] .fu-zold { color:#66c27a; } [data-theme="dark"] .fu-piros { color:#f0705f; }
.fu-usa .usa-cimke text { font-weight:700; }
.fu-tipp b { display:block; }
.fu-tipp .fu-tipp-ered { margin-top:4px; color:var(--brand-ink); }
.fu-usa svg .fu-a:hover path, .fu-usa svg .fu-a:focus path { transform:translateY(-3px) scale(1.035); filter:drop-shadow(0 8px 10px rgba(15,27,45,.35)); }
.fu-usa svg .fu-a path { transform-box:fill-box; transform-origin:center; transition:transform .15s, opacity .15s; }
/* VÉGLEGES ARCULAT (2026-10-29, a user választása a rejtett színválasztón): korall→sárga logó, sárga kiemelés,
   sárga→narancs ajánló gomb. A térkép színskálája és a favicon változatlan. */
:root { --logo-bg:linear-gradient(140deg,#ff6b6b,#ffd23f); --logo-arnyek:rgba(255,107,107,.7); --kiemel:#ffd23f; --gomb-ink:#14181d;
  --cta-bg:linear-gradient(135deg,#ffd23f,#ff9f1c); --cta-ink:#14181d; }

/* ═══ LOAN LIMIT MAP — saját arculat és elemek (2026-10-29) ═══ */
:root { --logo-bg:linear-gradient(140deg,#6ee7b7,#0b8f6f); --logo-arnyek:rgba(16,150,110,.6); --kiemel:#6ee7b7; --gomb-ink:#0e2a22;
  --cta-bg:linear-gradient(135deg,#6ee7b7,#22b38a); --cta-ink:#0e2a22; --brand:#0b8f6f; --brand-ink:#08705a; --brand-soft:#ddf3ea; }
[data-theme="dark"] { --brand:#4fd1a5; --brand-ink:#8ff0cb; --brand-soft:#0f3328; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --brand:#4fd1a5; --brand-ink:#8ff0cb; --brand-soft:#0f3328; } }
.mt-doboz { position:relative; }
.mterkep { width:100%; height:auto; display:block; }
.mterkep a path { stroke:var(--lap); stroke-width:.35; transition:opacity .12s; cursor:pointer; }
.mterkep a:hover path, .mterkep a:focus path { opacity:1; stroke:var(--ink); stroke-width:1.2; }
.mterkep .allamhatar path { fill:none; stroke:var(--lap); stroke-width:1.1; pointer-events:none; }
.mt-doboz.orszag { min-height:240px; }
.mtipp { position:absolute; z-index:5; pointer-events:none; transform:translate(-50%,calc(-100% - 12px)); background:var(--lap); color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:9px 12px; box-shadow:0 10px 26px rgba(0,0,0,.22); font-size:.88rem; white-space:nowrap; }
.mtipp b { display:block; font-size:.95rem; margin-bottom:2px; }
.mtipp span { display:block; font-family:"PlexMono",monospace; font-size:.82rem; }
.jelmagy { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.jelmagy span { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--line); background:var(--lap); border-radius:999px; padding:5px 12px 5px 6px; font-size:.86rem; }
.jelmagy i, .potty { display:inline-block; width:16px; height:16px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.15); vertical-align:middle; }
.potty { width:11px; height:11px; margin-right:7px; }
.jelmagy b { font-family:"PlexMono",monospace; color:var(--halvany); font-weight:600; }
.tenyek.nyito { margin:18px 0; }
.megyelista { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.megyelista a { display:flex; justify-content:space-between; gap:8px; padding:10px 12px; border-radius:12px; background:var(--lap); border:1px solid var(--line); text-decoration:none; color:var(--ink); font-weight:600; font-size:.92rem; }
.megyelista a:hover { border-color:var(--brand); }
.megyelista small { color:var(--halvany); font-weight:500; font-family:"PlexMono",monospace; }
.temalink-racs { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.temalink { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border-radius:14px; border:1px solid var(--line); background:var(--lap); text-decoration:none; color:var(--ink); }
.temalink:hover { border-color:var(--brand); } .temalink span { color:var(--soft); font-size:.88rem; }
.limit-tabla th[scope], .limit-tabla tbody th, .il-tabla tbody th { text-align:left; font-weight:600; }
.il-tabla td, .il-tabla th { white-space:nowrap; }
.kalk { background:var(--brand-soft); border-radius:14px; padding:14px 16px; }
.kalk label { display:block; font-weight:600; margin-bottom:6px; }
.kalk-sor { display:flex; align-items:center; max-width:360px; background:var(--lap); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.kalk-dollar { padding:0 4px 0 12px; font-weight:700; color:var(--soft); }
.kalk-sor input { flex:1; border:0; background:transparent; color:var(--ink); font:600 1.2rem "PlexMono",monospace; padding:10px 10px 10px 2px; min-width:0; outline:none; }
.kalk-ki { margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.kalk-ki .k-sor { display:flex; gap:9px; align-items:center; }
.kalk-ki .k-jel { flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:.8rem; color:#fff; }
.k-igen { background:#1a9a6b; } .k-nem { background:#c2410c; }
.kalk-ki .k-fo { font-size:1.08rem; font-weight:700; }

.valt-semleges { color:var(--soft); font-weight:600; }
.mt-doboz.orszag { min-height:240px; height:auto; }

/* az örökölt térképdoboz-szabály (fix magasság, levágás) itt nem kell */
.mt-doboz, .mt-doboz.nagy { height:auto !important; overflow:visible; background:none; border-radius:0; }
.mt-doboz .mterkep:not([viewBox^="0 0 975"]) { max-height:640px; }

/* ── v5 (2026-10-29): gyors hover (csak az adott megye változik), felső DD-sáv, új blokkok ── */
.mterkep a path { transition:none; }
.orszag-svg a path { stroke:var(--lap); stroke-width:.3; }
.orszag-svg { shape-rendering:optimizeSpeed; }
.mtipp { will-change:transform; left:0; top:0; }
.dd-sav-doboz { position:relative; }
.dd-sav { display:flex; align-items:center; gap:10px; justify-content:center; padding:7px 46px 7px 16px; background:linear-gradient(90deg,#0b6b52,#13a3b8); color:#fff; text-decoration:none; font-size:.8rem; }
.dd-sav-jel { flex:none; width:20px; height:20px; border-radius:6px; background:rgba(255,255,255,.22); display:grid; place-items:center; font-weight:800; font-size:.72rem; }
.dd-sav-szoveg { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dd-sav-gomb { flex:none; font-weight:800; background:#fff; color:#0b6b52; border-radius:99px; padding:3px 10px; font-size:.74rem; }
.dd-sav-x { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:28px; height:28px; border:0; border-radius:8px; background:transparent; color:#fff; font-size:1.2rem; cursor:pointer; opacity:.85; }
.dd-sav-x:hover { background:rgba(255,255,255,.2); opacity:1; }
@media (max-width:640px) { .dd-sav { justify-content:space-between; font-size:.74rem; } .dd-sav-szoveg b { display:none; } }
.megye-fej { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.megye-fej h1 { margin-bottom:4px; }
.lokator { flex:none; width:150px; height:120px; }
.lok-allam { fill:var(--bg-2); stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }
.lok-megye { fill:#0b8f6f; stroke:#0b8f6f; stroke-width:1.5; vector-effect:non-scaling-stroke; }
@media (max-width:640px) { .lokator { width:96px; height:80px; } }
.tenyek.haz { margin:0 0 6px; }
.trendsav { display:flex; flex-direction:column; gap:8px; }
.ts-sor { display:grid; grid-template-columns:52px 1fr 120px; align-items:center; gap:10px; }
.ts-sor span { font-weight:700; color:var(--soft); }
.ts-rud { height:14px; background:var(--bg-2); border-radius:7px; overflow:hidden; }
.ts-rud i { display:block; height:100%; border-radius:7px; background:linear-gradient(90deg,#6ee7b7,#0b8f6f); }
.harom { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.harom div { background:var(--bg-2); border-radius:14px; padding:14px 16px; }
.harom b { display:block; font-size:1.02rem; margin-bottom:4px; } .harom p { margin:0; color:var(--soft); font-size:.92rem; line-height:1.55; }
@media (max-width:820px) { .harom { grid-template-columns:1fr; } }
.kiemelt { border:1px solid var(--brand); background:linear-gradient(135deg,var(--brand-soft),var(--lap)); }
.lokator { width:190px; height:150px; }
.lok-allam { fill:var(--brand-soft); stroke:var(--brand); stroke-width:1.2; }
.lok-megye { fill:#0b6b52; stroke:#fff; stroke-width:1; }
@media (max-width:640px) { .lokator { width:110px; height:90px; } }

.mtipp em { display:block; font-style:normal; font-size:.75rem; color:var(--brand-ink); margin-top:3px; }
