/* plantingzonemap.com — stíluslap, 2. változat (2026-10-29): a pénzkalkulátor kártyás, lebegő stílusa
 * kertes palettával; nagy, teljes szélességű térkép a főoldalon. Betű: Plus Jakarta Sans (OFL, saját szerverről).
 * Téma: prefers-color-scheme, felülírható a <html data-theme> attribútummal (fejléc-gomb, localStorage). */
@font-face { font-family:"Jakarta"; src:url(/betu/jakarta-latin-ext.woff2) format("woff2"); font-weight:400 800; font-display:swap; unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"Jakarta"; src:url(/betu/jakarta-latin.woff2) format("woff2"); font-weight:400 800; font-display:swap; unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2190-2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --bg:#f6f4ee; --bg-2:#eeebe2; --lap:#ffffff; --ink:#17231b; --soft:#56655a; --halvany:#6f7d72; --line:#e4e1d6;
  --brand:#2e7d4f; --brand-ink:#22673f; --brand-soft:#e3f1e7; --nap:#e9a23b; --nap-soft:#fdf1dc; --hideg:#4a6fd8;
  --figy:#fff6df; --figy-vonal:#ecd28e; --figy-ink:#6b4a00;
  --arnyek:0 1px 2px rgba(23,35,27,.05), 0 14px 34px -16px rgba(23,35,27,.22);
  --arnyek-nagy:0 2px 4px rgba(23,35,27,.06), 0 24px 60px -20px rgba(23,35,27,.35);
  --r:20px; --font:"Jakarta", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#0e1511; --bg-2:#141d17; --lap:#16201a; --ink:#eef3ef; --soft:#a3b3a7; --halvany:#8a9a8e; --line:#26332a;
  --brand:#5fd08a; --brand-ink:#7fe0a3; --brand-soft:#173324; --nap:#f2b552; --nap-soft:#33270f; --hideg:#7d9cf0;
  --figy:#2a2412; --figy-vonal:#5e4c1d; --figy-ink:#f1d48a;
  --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 24px 60px -20px rgba(0,0,0,.9);
} }
:root[data-theme="dark"] {
  --bg:#0e1511; --bg-2:#141d17; --lap:#16201a; --ink:#eef3ef; --soft:#a3b3a7; --halvany:#8a9a8e; --line:#26332a;
  --brand:#5fd08a; --brand-ink:#7fe0a3; --brand-soft:#173324; --nap:#f2b552; --nap-soft:#33270f; --hideg:#7d9cf0;
  --figy:#2a2412; --figy-vonal:#5e4c1d; --figy-ink:#f1d48a;
  --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 24px 60px -20px 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; word-spacing:.06em; }
button, input { font:inherit; word-spacing:.06em; }
a { color:var(--brand-ink); text-underline-offset:2px; }
[hidden] { display:none !important; }
table, .szam, .tenyek b { 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:8px; }
.belso { max-width:1140px; margin:0 auto; padding:0 16px; }

/* ---------- fejléc ---------- */
.fejlec { position:sticky; top:0; z-index:1200; background:color-mix(in srgb, var(--bg) 84%, transparent); backdrop-filter:saturate(1.5) blur(14px); -webkit-backdrop-filter:saturate(1.5) blur(14px); border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.fejlec .belso { display:flex; align-items:center; gap:16px; min-height:64px; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:800; letter-spacing:-.01em; font-size:1.08rem; white-space:nowrap; }
.logo-jel { width:34px; height:34px; border-radius:11px; background:linear-gradient(135deg,#2e7d4f,#4fbf7a 55%,#e9a23b); color:#fff; display:grid; place-items:center; box-shadow:0 6px 16px -6px rgba(46,125,79,.75); transform:rotate(-6deg); flex:none; }
.logo-jel svg { transform:rotate(6deg); }
.logo b { color:var(--brand); font-weight:800; }
.menu { display:flex; gap:2px; background:var(--lap); padding:4px; border-radius:14px; box-shadow:var(--arnyek); }
.menu a { text-decoration:none; color:var(--soft); font-size:.88rem; font-weight:650; padding:7px 12px; border-radius:10px; white-space:nowrap; }
.menu a:hover { color:var(--ink); background:var(--bg-2); }
.menu a[aria-current="page"] { color:#fff; background:var(--brand); }
:root[data-theme="dark"] .menu a[aria-current="page"] { color:#0e1511; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .menu a[aria-current="page"] { color:#0e1511; } }
.fej-jobb { margin-left:auto; display:flex; align-items:center; gap:8px; min-width:0; }
.tema { width:40px; height:40px; border-radius:12px; border:0; background:var(--lap); color:var(--ink); box-shadow:var(--arnyek); cursor:pointer; display:grid; place-items:center; flex:none; }

/* ---------- kereső ---------- */
.keres { position:relative; display:flex; min-width:0; background:var(--lap); border-radius:14px; box-shadow:var(--arnyek); border:1px solid var(--line); }
.keres input { flex:1; min-width:0; padding:9px 12px; border:0; background:transparent; color:var(--ink); border-radius:14px 0 0 14px; }
.keres input::placeholder { color:var(--halvany); }
.keres input:focus { outline:none; }
.keres:focus-within { border-color:var(--brand); }
.keres button { border:0; padding:0 14px; margin:4px; border-radius:10px; background:var(--brand); color:#fff; font-weight:700; cursor:pointer; }
:root[data-theme="dark"] .keres button { color:#0e1511; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .keres button { color:#0e1511; } }
.fejlec .keres { width:250px; }
.keres.nagy input { padding:14px 16px; font-size:1.06rem; }
.keres.nagy button { padding:0 20px; font-size:1rem; }
.talalat { position:absolute; top:calc(100% + 6px); left:0; right:0; background:var(--lap); border:1px solid var(--line); border-radius:14px; box-shadow:var(--arnyek-nagy); z-index:1300; overflow:hidden; }
.talalat a { display:flex; justify-content:space-between; gap:10px; 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, .talalat a:focus { background:var(--brand-soft); }

/* ---------- főoldali hős: teljes szélességű térkép + lebegő kártya ---------- */
.hos-terkep { position:relative; height:min(78vh,760px); min-height:540px; background:var(--bg-2); }
.hos-terkep #terkep { position:absolute; inset:0; }
.hos-kartya { position:absolute; z-index:800; top:24px; left:max(16px, calc((100vw - 1140px)/2 + 16px)); width:min(430px, calc(100% - 32px)); background:color-mix(in srgb, var(--lap) 93%, transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-radius:var(--r); box-shadow:var(--arnyek-nagy); padding:22px 22px 18px; border:1px solid var(--line); }
.hos-kartya h1 { font-size:1.75rem; line-height:1.15; margin:0 0 8px; letter-spacing:-.02em; }
.hos-kartya p { margin:0 0 14px; color:var(--soft); font-size:.97rem; }
.gyors { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.gyors a, .gomb2 { font-size:.82rem; font-weight:650; padding:5px 10px; border-radius:999px; background:var(--bg-2); color:var(--ink); text-decoration:none; border:0; cursor:pointer; }
.gyors a:hover, .gomb2:hover { background:var(--brand-soft); color:var(--brand-ink); }
.gomb2 { display:inline-flex; align-items:center; gap:6px; }
.skala-lebego { position:absolute; z-index:800; left:50%; transform:translateX(-50%); bottom:26px; width:min(760px, calc(100% - 32px)); background:color-mix(in srgb, var(--lap) 92%, transparent); backdrop-filter:blur(8px); border-radius:14px; box-shadow:var(--arnyek); padding:8px 10px 6px; border:1px solid var(--line); }
.skala { display:flex; height:16px; border-radius:6px; overflow:hidden; }
.skala a { flex:1; display:block; }
.skala a:hover { transform:scaleY(1.35); }
.skala-cimke { display:flex; justify-content:space-between; font-size:.7rem; color:var(--soft); margin-top:3px; font-weight:600; }
.skala-cim { font-size:.72rem; font-weight:700; color:var(--soft); margin-bottom:4px; display:flex; justify-content:space-between; }
/* mobilon a térkép saját magasságot kap, a kártya és a skála ALÁ kerül (rácsúszva takarta a térképet és a címet) */
@media (max-width:760px) {
  .hos-terkep { height:auto; min-height:0; background:none; display:flex; flex-direction:column; }
  .hos-terkep #terkep { position:relative; inset:auto; height:48vh; min-height:300px; margin:12px 12px 0; border-radius:18px; box-shadow:var(--arnyek); }
  .hos-kartya { order:-1; position:relative; top:auto; left:auto; width:auto; margin:12px 12px 0; padding:18px 16px 14px; }
  .hos-kartya h1 { font-size:1.45rem; }
  .skala-lebego { position:static; transform:none; width:auto; margin:12px 12px 0; }
}

/* ---------- általános blokkok ---------- */
main { padding-bottom:40px; }
.szakasz { margin:44px 0; }
.szakasz > h2, .kartya > h2 { font-size:1.4rem; letter-spacing:-.015em; margin:0 0 6px; line-height:1.25; }
.alcim { color:var(--soft); margin:0 0 18px; max-width:70ch; }
.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) 60%, transparent); }
.kartya > h2 { margin-bottom:12px; }
.kicsi { font-size:.85rem; color:var(--halvany); }
.lead { font-size:1.08rem; }
h1 { font-size:2rem; line-height:1.15; letter-spacing:-.02em; margin:8px 0 10px; }
h3 { font-size:1.02rem; margin:18px 0 6px; }
.morzsa { font-size:.85rem; color:var(--halvany); padding-top:18px; }
.morzsa a { color:var(--halvany); text-decoration:none; }
.morzsa a:hover { color:var(--brand-ink); text-decoration:underline; }
.chip { display:inline-block; min-width:2.7em; text-align:center; padding:2px 8px; border-radius:7px; background:var(--c); color:#122016; font-weight:800; font-size:.86rem; text-decoration:none; line-height:1.45; box-shadow:inset 0 0 0 1px rgba(0,0,0,.07); }
.nemhiv { background:var(--figy); border:1px solid var(--figy-vonal); color:var(--figy-ink); border-radius:12px; padding:10px 14px; font-size:.86rem; margin:14px 0 0; }
.nemhiv a { color:inherit; }

.csempek { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.csempe { background:var(--lap); border-radius:18px; box-shadow:var(--arnyek); padding:18px; border:1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.csempe b { display:block; font-size:1.9rem; letter-spacing:-.02em; line-height:1.1; }
.csempe span { color:var(--soft); font-size:.9rem; }
@media (max-width:820px) { .csempek { grid-template-columns:repeat(2,1fr); } }

.racs-kartyak { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; }
.vk { display:block; text-decoration:none; color:var(--ink); background:var(--lap); border-radius:18px; box-shadow:var(--arnyek); padding:16px; border:1px solid color-mix(in srgb, var(--line) 60%, transparent); transition:transform .15s, box-shadow .15s; }
.vk:hover { transform:translateY(-2px); box-shadow:var(--arnyek-nagy); }
.vk .fej2 { display:flex; justify-content:space-between; align-items:center; gap:8px; font-weight:750; }
.vk .reszlet { font-size:.86rem; color:var(--soft); margin-top:6px; }

.zonasorok { display:grid; gap:6px; }
.zs { display:grid; grid-template-columns:3.6em 9.5em 1fr 6em; gap:12px; align-items:center; font-size:.9rem; text-decoration:none; color:var(--ink); padding:3px 4px; border-radius:8px; }
.zs:hover { background:var(--bg-2); }
.zs .sav { height:12px; background:var(--bg-2); border-radius:6px; overflow:hidden; }
.zs .sav i { display:block; height:100%; background:var(--c); border-radius:6px; }
.zs .db { text-align:right; color:var(--soft); }
@media (max-width:600px) { .zs { grid-template-columns:3.4em 1fr 4.5em; } .zs .hom { display:none; } }

.valtozas { display:flex; height:34px; border-radius:10px; overflow:hidden; margin:10px 0 8px; box-shadow:inset 0 0 0 1px var(--line); }
.valtozas i { display:grid; place-items:center; font-style:normal; font-size:.78rem; font-weight:750; color:#122016; min-width:0; overflow:hidden; white-space:nowrap; }
.jelek { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.85rem; color:var(--soft); }
.jelek span::before { content:""; display:inline-block; width:10px; height:10px; border-radius:3px; background:var(--c); margin-right:6px; vertical-align:-1px; }

.lepesek { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.lepes { background:var(--lap); border-radius:18px; padding:18px; box-shadow:var(--arnyek); border:1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.lepes .ikon { width:40px; height:40px; border-radius:12px; background:var(--brand-soft); color:var(--brand-ink); display:grid; place-items:center; margin-bottom:10px; }
.lepes h3 { margin:0 0 6px; }
.lepes p { margin:0; color:var(--soft); font-size:.93rem; }
@media (max-width:820px) { .lepesek { grid-template-columns:1fr; } }

.allamok { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.allamok a { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 12px; border-radius:12px; background:var(--lap); text-decoration:none; color:var(--ink); font-weight:600; font-size:.93rem; border:1px solid var(--line); }
.allamok a:hover { border-color:var(--brand); }
.allamok small { color:var(--halvany); font-weight:600; font-size:.78rem; white-space:nowrap; }

.gyik details { background:var(--lap); border-radius:14px; border:1px solid var(--line); margin:8px 0; padding:0 16px; }
.gyik summary { cursor:pointer; font-weight:700; 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:800; font-size:1.2rem; line-height:1; }
.gyik details[open] summary::after { content:"−"; }
.gyik details p { margin:0 0 14px; color:var(--soft); }

/* ---------- ZIP / város lap ---------- */
.zip-hos { display:grid; grid-template-columns:180px 1fr; gap:22px; align-items:stretch; }
.zona-nagy { border-radius:22px; background:var(--c); color:#122016; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px 10px; box-shadow:var(--arnyek), inset 0 0 0 1px rgba(0,0,0,.06); text-align:center; }
.zona-nagy span { font-size:.8rem; font-weight:750; text-transform:uppercase; letter-spacing:.08em; opacity:.75; }
.zona-nagy b { font-size:3.4rem; line-height:1; letter-spacing:-.03em; margin:4px 0; }
.zona-nagy small { font-size:.85rem; font-weight:650; opacity:.85; }
.valasz { background:var(--brand-soft); border-radius:16px; padding:14px 16px; font-size:1.04rem; margin:0 0 14px; }
.valasz b { color:var(--brand-ink); }
.tenyek { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.tenyek div { background:var(--lap); border:1px solid var(--line); border-radius:14px; padding:10px 12px; }
.tenyek > div > span { display:block; font-size:.76rem; font-weight:700; color:var(--halvany); text-transform:uppercase; letter-spacing:.04em; }
.tenyek b { display:block; font-size:1.18rem; margin-top:2px; }
@media (max-width:760px) { .zip-hos { grid-template-columns:1fr; } .zona-nagy { flex-direction:row; gap:14px; padding:14px; } .zona-nagy b { font-size:2.6rem; } .tenyek { grid-template-columns:repeat(2,1fr); } h1 { font-size:1.55rem; } }
.terkep-doboz { height:440px; border-radius:16px; overflow:hidden; background:var(--bg-2); }
@media (max-width:760px) { .terkep-doboz { height:340px; } }
.jelm { display:flex; flex-wrap:wrap; gap:3px; margin:10px 0 0; }
.jelm .chip { font-size:.7rem; min-width:2.4em; padding:1px 4px; }

/* fagy-idővonal */
.ev { position:relative; margin:18px 0 8px; }
.ev-sav { position:relative; height:44px; border-radius:12px; background:color-mix(in srgb, var(--hideg) 22%, var(--lap)); overflow:hidden; box-shadow:inset 0 0 0 1px var(--line); }
.ev-sav .mentes { position:absolute; top:0; bottom:0; background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand) 55%, transparent) var(--a), color-mix(in srgb, var(--brand) 55%, transparent) var(--b), transparent); }
.ev-sav .jel { position:absolute; top:0; bottom:0; width:2px; background:var(--ink); opacity:.7; }
.ev-sav .ma { position:absolute; top:-4px; bottom:-4px; width:3px; background:var(--nap); border-radius:2px; }
.ev-honapok { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); font-size:.72rem; color:var(--halvany); margin-top:4px; font-weight:600; }
.ev-honapok span { overflow:hidden; white-space:nowrap; }
.ev-honapok em { font-style:normal; }
@media (max-width:640px) { .g-fej .ev-honapok em { display:none; } }
.ev-cimkek { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:.86rem; margin-top:10px; }
.ev-cimkek b { color:var(--ink); }
.fagy-szamok { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0 6px; }
.fagy-szamok div { background:var(--bg-2); border-radius:14px; padding:10px 12px; }
.fagy-szamok span { display:block; font-size:.78rem; font-weight:700; color:var(--halvany); }
.fagy-szamok b { display:block; font-size:1.15rem; }
.fagy-szamok small { color:var(--soft); font-size:.78rem; }
@media (max-width:760px) { .fagy-szamok { grid-template-columns:repeat(2,1fr); } }

/* vetési naptár (Gantt) */
.gantt { margin-top:8px; }
.g-sor { display:grid; grid-template-columns:minmax(150px,34%) 1fr; gap:10px; align-items:center; padding:5px 0; border-bottom:1px dashed var(--line); }
.g-sor:last-child { border-bottom:0; }
.g-nev { font-size:.88rem; line-height:1.25; }
.g-nev small { display:block; color:var(--halvany); font-size:.76rem; }
.g-sav { position:relative; height:22px; background:repeating-linear-gradient(90deg, var(--bg-2) 0 calc(100%/12 - 1px), var(--line) calc(100%/12 - 1px) calc(100%/12)); border-radius:6px; }
.g-sav i { position:absolute; top:3px; bottom:3px; border-radius:5px; background:var(--brand); }
.g-sav i.bent { background:repeating-linear-gradient(135deg, #8a6bd6 0 6px, #a68ae6 6px 12px); }
.g-sav i.osz { background:var(--nap); }
.g-sav .fv { position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--hideg); }
.g-fej { display:grid; grid-template-columns:minmax(150px,34%) 1fr; gap:10px; }
.g-fej .ev-honapok { margin:0 0 4px; }
.g-jel { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.82rem; color:var(--soft); margin-top:10px; }
.g-jel i { display:inline-block; width:22px; height:10px; border-radius:3px; vertical-align:-1px; margin-right:6px; background:var(--brand); }
.g-jel i.bent { background:repeating-linear-gradient(135deg, #8a6bd6 0 6px, #a68ae6 6px 12px); }
.g-jel i.osz { background:var(--nap); }
.g-jel i.fv { width:2px; background:var(--hideg); }

.tabla { overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:.93rem; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); }
th { font-size:.78rem; color:var(--halvany); text-transform:uppercase; letter-spacing:.04em; }
.ket-oszlop { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:820px) { .ket-oszlop { grid-template-columns:1fr; } }
.helyek { line-height:2; }
.helyek a { white-space:nowrap; }
.betu { font-weight:800; color:var(--brand-ink); margin:14px 0 2px; }
.lapoz { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.lapoz a { font-weight:700; }
.szoveg { max-width:74ch; }
.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-popup ---------- */
.leaflet-container { font:inherit; background:var(--bg-2); }
.leaflet-popup-content-wrapper { border-radius:14px; box-shadow:var(--arnyek-nagy); background:var(--lap); color:var(--ink); }
.leaflet-popup-tip { background:var(--lap); }
.leaflet-popup-content { margin:12px 14px; min-width:170px; }
.pop .chip { font-size:1.05rem; padding:3px 10px; }
.pop .h { color:var(--soft); font-size:.85rem; margin:6px 0; }
.pop a { font-weight:700; }
.leaflet-control-attribution { font-size:10px; }

/* ---------- lábléc ---------- */
.lablec { background:var(--lap); border-top:1px solid var(--line); margin-top:30px; padding:34px 0 26px; font-size:.88rem; color:var(--soft); }
.lab-racs { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:24px; }
.lab-racs h4 { margin:0 0 8px; color:var(--ink); font-size:.9rem; }
.lab-racs a { display:block; color:var(--soft); text-decoration:none; padding:2px 0; }
.lab-racs a:hover { color:var(--brand-ink); }
.lab-also { border-top:1px solid var(--line); margin-top:22px; padding-top:14px; font-size:.8rem; color:var(--halvany); }
@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 span.nev { display:none; } }

/* csempeszél-csík ellen (memória: csempe-csik-plus-lighter) — a /lib/ CSS-hez nem nyúlunk */
.leaflet-container img.leaflet-tile { mix-blend-mode:normal !important; }

/* ---------- v3 (2026-10-29): államválasztó, határkiemelés, éghajlat, rangsorok ---------- */
.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-doboz.nagy { height:min(64vh,580px); }
.terkep-kartya { padding:16px; }
.usa { position:relative; }
.usa svg { width:100%; height:auto; display:block; overflow:visible; }
.usa-a path { fill:var(--c); stroke:var(--lap); stroke-width:1.2; stroke-linejoin:round; transition:transform .18s ease, filter .18s ease, opacity .18s; transform-box:fill-box; transform-origin:center; cursor:pointer; }
.usa svg:hover .usa-a path { opacity:.62; }
.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(23,35,27,.35)); stroke:var(--ink); stroke-width:1.6; }
.usa-a:focus { outline:none; }
.usa-cimke { pointer-events:none; font:700 11px var(--font); fill:#122016; opacity:.78; }
.usa-tipp { position:absolute; z-index:5; pointer-events:none; background:var(--lap); border:1px solid var(--line); border-radius:14px; box-shadow:var(--arnyek-nagy); padding:10px 12px; min-width:190px; font-size:.86rem; transform:translate(-50%, calc(-100% - 14px)); }
.usa-tipp b { display:block; font-size:1rem; margin-bottom:4px; }
.usa-tipp .chip { margin-right:6px; }
.kis-allamok { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:10px; }
.kis-allamok a { font-weight:750; font-size:.82rem; text-decoration:none; color:var(--ink); background:var(--bg-2); border-radius:999px; padding:4px 10px; }
.kis-allamok a small { color:var(--halvany); margin-left:5px; font-weight:600; }
.kis-allamok a:hover { background:var(--brand-soft); }

.klima-csempek { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-bottom:8px; }
.klima-csempek div { background:var(--bg-2); border-radius:14px; padding:10px 12px; }
.klima-csempek span { display:block; font-size:.76rem; font-weight:700; color:var(--halvany); text-transform:uppercase; letter-spacing:.04em; }
.klima-csempek b { display:block; font-size:1.3rem; letter-spacing:-.01em; }
.klima-csempek small { color:var(--soft); font-size:.78rem; line-height:1.3; display:block; }
.diagram { width:100%; height:auto; display:block; margin:4px 0 6px; }
.diagram .d-racs { stroke:var(--line); stroke-width:1; }
.diagram .d-ten { font:600 11px var(--font); fill:var(--halvany); }
.diagram .d-ho { font:700 11px var(--font); fill:var(--soft); }
.diagram .d-ho2 { font:700 10px var(--font); fill:#fff; }
.diagram .d-ert { font:750 11px var(--font); fill:var(--ink); }
.diagram .d-ert2 { font:650 10.5px var(--font); fill:var(--soft); }
.diagram .d-fagy { stroke:var(--hideg); stroke-width:1.4; stroke-dasharray:5 4; }
.diagram .d-fagyc { font:700 10.5px var(--font); fill:var(--hideg); }
.diagram .d-eso { fill:color-mix(in srgb, var(--hideg) 78%, var(--lap)); }
.diagram g:hover rect { filter:brightness(1.08) drop-shadow(0 3px 6px rgba(0,0,0,.18)); }
.kartya h3 small { font-weight:600; }

.rangok { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }
.rang { background:var(--lap); border-radius:18px; box-shadow:var(--arnyek); padding:16px; border:1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.rang h3 { margin:0; }
.rang p { margin:2px 0 8px; }
.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; align-items:center; padding:5px 0; border-bottom:1px dashed var(--line); font-size:.92rem; }
.rang li:last-child { border-bottom:0; }
.rang li::before { content:counter(r); font-weight:800; color:var(--halvany); font-size:.8rem; }
.rang li a { font-weight:650; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rang li .kicsi { display:none; }
.rang li b { font-variant-numeric:tabular-nums; }
.hatar-cimke { background:var(--lap); color:var(--ink); border:0; border-radius:10px; box-shadow:var(--arnyek); font:800 13px var(--font); padding:4px 9px; }
.hatar-cimke::before { display:none; }

/* ---------- v4: zónacímke-jelölők, érintős térképzár ---------- */
.zjel { background:none; border:0; }
.zjel-b { position:absolute; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:5px; white-space:nowrap; background:var(--c); color:#122016; font:800 11px/1 var(--font); padding:4px 6px; border-radius:8px; border:2px solid #fff; box-shadow:0 3px 8px rgba(0,0,0,.35); cursor:pointer; transition:transform .12s; }
.zjel-b:hover { transform:translate(-50%,-50%) scale(1.15); z-index:5; }
.zjel-b i { font-style:normal; font-weight:700; background:rgba(255,255,255,.75); border-radius:5px; padding:2px 5px; }
.zjel.nagy .zjel-b { font-size:14px; padding:5px 8px; border-width:2.5px; box-shadow:0 6px 16px rgba(0,0,0,.4); }
.zar-gomb { display:inline-flex; align-items:center; gap:6px; font:750 13px var(--font); color:var(--ink); background:var(--lap); border:0; border-radius:12px; padding:9px 12px; box-shadow:var(--arnyek-nagy); cursor:pointer; }
.zar-gomb.aktiv { background:var(--brand); color:#fff; }
.terkep-doboz.nyitott, #terkep.nyitott { outline:3px solid var(--brand); outline-offset:-3px; }

/* a ZIP-lap nagy címkéje „gombostű”: a pont FÖLÉ kerül, hogy ne takarja a kiemelt területet */
.zjel.nagy .zjel-b { transform:translate(-50%, calc(-100% - 10px)); }
.zjel.nagy .zjel-b::after { content:""; position:absolute; left:50%; bottom:-9px; width:12px; height:12px; background:var(--c); border-right:2.5px solid #fff; border-bottom:2.5px solid #fff; transform:translateX(-50%) rotate(45deg); }
.zjel.nagy .zjel-b:hover { transform:translate(-50%, calc(-100% - 10px)) scale(1.08); }

/* ---------- v5: frissességi sor, kisebb hős-kártya, nyomtatás ---------- */
.morzsa-sor { display:flex; justify-content:space-between; align-items:baseline; gap:6px 16px; flex-wrap:wrap; padding-top:18px; }
.morzsa-sor .morzsa { padding-top:0; }
.friss { font-size:.78rem; color:var(--halvany); }
@media (min-width:761px) {
  .hos-kartya { left:max(16px, calc((100vw - 1380px) / 2)); top:18px; width:360px; padding:18px 18px 14px; }
  .hos-kartya h1 { font-size:1.5rem; margin-bottom:6px; }
  .hos-kartya p { font-size:.9rem; margin-bottom:12px; }
  .hos-kartya .keres.nagy input { padding:11px 13px; font-size:1rem; }
  .gyors { margin-top:10px; gap:5px; }
  .gyors a, .gyors .gomb2 { font-size:.78rem; padding:4px 9px; }
}
@media print {
  .fejlec, .lablec, .terkep-kartya, .jelm, .gyik, .racs-kartyak, .tema, .nemhiv, .rangok, .usa, .kis-allamok, .hos-terkep { display:none !important; }
  body { background:#fff; color:#000; font-size:11pt; }
  .kartya { box-shadow:none; border:1px solid #ccc; break-inside:avoid; }
  a { color:#000; text-decoration:none; }
}

/* ---------- v6: telefon ---------- */
.diagram { max-width:800px; }
@media (max-width:640px) {
  .belso { padding:0 12px; }
  .kartya { padding:16px 14px; border-radius:18px; }
  /* diagram: a 720-as viewBox ~0,4-re zsugorodik → a feliratok viewBox-egységben nagyok, a tengelyszámok eltűnnek */
  .diagram .d-ert, .diagram .d-ert2, .diagram .d-ho { font-size:27px; }
  .diagram .d-ho2 { font-size:22px; }
  .diagram .d-ten { display:none; }
  .diagram .d-fagyc { font-size:24px; }
  /* vetési naptár: a sáv a név ALÁ, teljes szélességben */
  .g-sor, .g-fej { grid-template-columns:1fr; gap:4px; }
  .g-fej > span:first-child { display:none; }
  .g-sav { height:20px; }
  .g-fej .ev-honapok em { display:none; }
  /* koppintási célpontok ≥ 36–40 px */
  .gyors a, .gyors .gomb2 { padding:9px 12px; font-size:.86rem; }
  .kis-allamok a { padding:9px 12px; }
  .zs { padding:8px 4px; }
  .allamok a { padding:12px; }
  .gyik summary { padding:16px 0; }
  .lab-racs a { padding:7px 0; }
  .usa-cimke { display:none; }
  td .chip { padding:6px 10px; }
  .tenyek b { font-size:1.05rem; }
  .csempe b { font-size:1.5rem; }
  h1 { font-size:1.45rem; }
  .valasz { font-size:.98rem; }
  .zona-nagy b { font-size:2.4rem; }
  .terkep-doboz.nagy { height:58vh; }
}
@media (max-width:640px) {
  .skala { height:30px; }
  td > a { display:inline-block; padding:7px 0; }
  .leaflet-touch .leaflet-bar a { width:40px; height:40px; line-height:40px; font-size:20px; }
}
@media (max-width:640px) {
  .klima-csempek { grid-template-columns:1fr 1fr; gap:8px; }
  .klima-csempek b { font-size:1.12rem; }
  .klima-csempek div { padding:9px 10px; }
}

/* ---------- v7: élő fagy (NWS), tavasz, őshonos növények ---------- */
.nws-cim { font-size:1.05rem; margin:4px 0 10px; padding:10px 14px; border-radius:12px; background:var(--brand-soft); }
.nws-cim.n1 { background:color-mix(in srgb, var(--hideg) 14%, var(--lap)); }
.nws-cim.n2 { background:color-mix(in srgb, var(--hideg) 26%, var(--lap)); }
.nws-cim.n3 { background:color-mix(in srgb, #7a4cd8 26%, var(--lap)); }
.nws-riaszt { background:#fde8e6; color:#7a1d12; border:1px solid #f1b4ab; border-radius:12px; padding:10px 14px; margin:4px 0 10px; }
:root[data-theme="dark"] .nws-riaszt { background:#3a1814; color:#ffcfc7; border-color:#6b2b22; }
.nws-ejjek { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.ej { background:var(--bg-2); border-radius:12px; padding:8px 4px; text-align:center; }
.ej span { display:block; font-size:.74rem; font-weight:700; color:var(--halvany); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ej b { display:block; font-size:1.25rem; }
.ej i { display:block; font-style:normal; font-size:.7rem; font-weight:700; min-height:1em; color:var(--halvany); }
.ej.n1 { background:color-mix(in srgb, var(--hideg) 16%, var(--lap)); }
.ej.n2 { background:color-mix(in srgb, var(--hideg) 32%, var(--lap)); }
.ej.n3 { background:color-mix(in srgb, #7a4cd8 34%, var(--lap)); }
.ej.n2 i, .ej.n3 i { color:var(--ink); }
@media (max-width:640px) { .nws-ejjek { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.tavasz-sav { position:relative; height:64px; border-radius:12px; background:linear-gradient(90deg, color-mix(in srgb, var(--hideg) 20%, var(--lap)), color-mix(in srgb, var(--brand) 30%, var(--lap))); margin:14px 0 4px; }
.tavasz-sav span { position:absolute; top:0; bottom:0; width:3px; border-radius:2px; transform:translateX(-50%); }
.tavasz-sav .t-atl { background:var(--halvany); }
.tavasz-sav .t-idei { background:var(--brand-ink); width:5px; }
.tavasz-sav .t-idei.korai { background:#2e7d4f; } .tavasz-sav .t-idei.kesoi { background:#c0612b; }
.tavasz-sav i { position:absolute; left:6px; top:6px; font-style:normal; font-size:.74rem; font-weight:700; white-space:nowrap; line-height:1.2; }
.tavasz-sav .t-atl i { top:auto; bottom:6px; color:var(--soft); }
.nv-racs { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; }
.nv { display:block; text-decoration:none; color:var(--ink); background:var(--bg-2); border-radius:12px; padding:10px 12px; }
.nv:hover { background:var(--brand-soft); }
.nv b { display:block; text-transform:capitalize; }
.nv i { display:block; font-size:.82rem; color:var(--soft); }
.nv span { display:block; font-size:.78rem; color:var(--halvany); margin-top:3px; }
