/* ============================================================
   ELRENDEZÉS
   Ez a fájl az elemek elhelyezését írja le. A színek, betűk és
   méretek a theme.css-ben vannak – általában azt kell módosítani.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; color-scheme: dark; scroll-behavior: smooth; }
:root[data-tema="vilagos"] { color-scheme: light; }

body {
  margin: 0;
  font-family: var(--betu);
  font-size: var(--betu-meret);
  line-height: var(--sor-magassag);
  color: var(--szin-szoveg);
  background: var(--szin-hatter);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main { flex: 1; width: 100%; }

h1, h2, h3 { font-family: var(--betu-cim); font-weight: var(--cim-suly); line-height: 1.2; letter-spacing: -0.01em; text-wrap: balance; }
h1 { font-size: clamp(1.7rem, 1.2rem + 2.2vw, 2.5rem); margin: .2em 0 .4em; }
h2 { font-size: 1.35rem; margin: 2em 0 .6em; }
h3 { font-size: 1.1rem; margin: 1.6em 0 .4em; }
p { margin: 0 0 1em; }
a { color: var(--szin-link); text-underline-offset: 2px; }
a:hover { text-decoration-thickness: 2px; }
strong { font-weight: 700; }
.kulso { font-size: .75em; margin-left: .15em; opacity: .7; }

:focus-visible { outline: 3px solid var(--szin-kiemelo); outline-offset: 2px; border-radius: 4px; }
.rejtett { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ugras { position: absolute; left: -999px; top: 8px; background: var(--szin-kiemelo); color: var(--szin-kiemelo-szoveg); padding: 8px 14px; border-radius: var(--kerekites-kicsi); z-index: 100; }
.ugras:focus { left: 8px; }

/* ---------- Gombok és mezők ---------- */
.gomb {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  font-family: var(--betu-cim); font-weight: 700; font-size: .95rem; letter-spacing: .02em;
  padding: .7em 1.3em; min-height: 48px;
  border: 0; border-radius: var(--kerekites-kicsi);
  background: var(--szin-kiemelo); color: var(--szin-kiemelo-szoveg);
  text-decoration: none; cursor: pointer;
  box-shadow: 0 0 0 0 var(--szin-ragyogas);
  transition: box-shadow .2s, transform .15s;
}
.gomb:hover { box-shadow: 0 0 22px 2px var(--szin-ragyogas); }
.gomb:active { transform: translateY(1px); }
.gomb-masodlagos { background: transparent; color: var(--szin-szoveg); box-shadow: inset 0 0 0 1.5px var(--szin-vonal); }
.gomb-masodlagos:hover { box-shadow: inset 0 0 0 1.5px var(--szin-kiemelo); }
.link-gomb { font: inherit; background: none; border: 0; padding: 0; color: var(--szin-link); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

input[type="search"], input[type="number"] {
  font: inherit; color: var(--szin-szoveg);
  background: var(--szin-felulet);
  border: 1.5px solid var(--szin-vonal);
  border-radius: var(--kerekites-kicsi);
  padding: .6em .9em; min-height: 48px; width: 100%;
}
input::placeholder { color: var(--szin-szoveg-halvany); }
input:focus { border-color: var(--szin-kiemelo); outline: none; box-shadow: 0 0 0 3px var(--szin-ragyogas); }

/* ---------- Címkék (kis feliratok) ---------- */
.cimke {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--betu-cim); font-weight: 700; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 6px;
  background: var(--szin-kiemelo); color: var(--szin-kiemelo-szoveg);
}
.cimke-hamar { background: var(--szin-felulet-2); color: var(--szin-kiemelo); box-shadow: inset 0 0 0 1px var(--szin-vonal); }
.lakat { width: 12px; height: 12px; }
.rendben { display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; font-weight: 600; color: var(--szin-rendben); }
.pipa { width: 15px; height: 15px; color: var(--szin-rendben); }

/* ---------- Fejléc ---------- */
.fejlec {
  position: sticky; top: 0; z-index: 30;
  background: color-mix(in srgb, var(--szin-hatter) 88%, transparent);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--szin-vonal);
}
.fejlec-belso {
  max-width: var(--oldal-szelesseg); margin: 0 auto;
  display: flex; align-items: center; gap: 18px;
  padding: 12px 16px;
}
.logo { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; flex-shrink: 0; font-family: var(--betu-cim); font-weight: 700; letter-spacing: .02em; }
.logo-taxi { background: var(--szin-kiemelo); color: var(--szin-jel); padding: 2px 9px 0; border-radius: 6px; font-size: 1.35rem; line-height: 1.25; box-shadow: 0 0 18px var(--szin-ragyogas); }
.logo-kisokos { color: var(--szin-szoveg); font-size: 1.2rem; }

.fomenu { display: flex; align-items: center; gap: 4px; }
.fomenu a {
  color: var(--szin-szoveg); text-decoration: none;
  font-family: var(--betu-cim); font-weight: 500; font-size: .86rem; letter-spacing: .04em; text-transform: uppercase;
  padding: 8px 12px; border-radius: 8px;
}
.fomenu a:hover { background: var(--szin-felulet-2); }
.fomenu-hamarosan { color: var(--szin-kiemelo) !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--szin-kiemelo) 55%, transparent); }
.fomenu-kereses { display: none; }

.fejlec-kereso { flex: 1; max-width: 280px; margin-left: auto; }
.fejlec-kereso input { min-height: 40px; padding: .35em .8em; font-size: .92rem; }
.tema-gomb {
  display: inline-flex; align-items: center; gap: 6px;
  font: inherit; font-size: .88rem; color: var(--szin-szoveg);
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal); border-radius: 999px;
  padding: 0 12px; min-height: 40px; cursor: pointer; flex-shrink: 0;
}
.tema-ikon { width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; background: linear-gradient(90deg, currentColor 50%, transparent 50%); }

.menu-gomb { display: none; width: 42px; height: 42px; border: 1px solid var(--szin-vonal); background: var(--szin-felulet); border-radius: 10px; cursor: pointer; padding: 11px 10px; flex-direction: column; justify-content: space-between; flex-shrink: 0; }
.menu-gomb span { display: block; height: 2px; background: var(--szin-szoveg); border-radius: 2px; }

@media (max-width: 980px) {
  .fejlec-kereso { display: none; }
  .fomenu-kereses { display: block; }
}
@media (max-width: 860px) {
  .fejlec-belso { gap: 10px; }
  .menu-gomb { display: flex; }
  .logo { margin-right: auto; }
  .fomenu {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--szin-hatter); border-bottom: 1px solid var(--szin-vonal); padding: 8px 12px 14px;
  }
  .fomenu.nyitva { display: flex; }
  .fomenu a { padding: 14px 12px; font-size: .95rem; border-bottom: 1px solid var(--szin-vonal); border-radius: 0; }
  .fomenu-hamarosan { box-shadow: none; }
  .tema-felirat { display: none; }
  .tema-gomb { width: 42px; justify-content: center; padding: 0; }
}

/* ---------- Főoldal: nyitórész térképpel ---------- */
.hos { position: relative; overflow: hidden; padding: 72px 16px 56px; isolation: isolate; }
.hos-terkep { position: absolute; inset: -70% -15% -35%; z-index: -2; perspective: 900px; }
.hos-terkep img { width: 100%; height: 100%; object-fit: cover; transform: rotateX(48deg) scale(1.25); transform-origin: 50% 70%; opacity: .95; }
.hos::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(ellipse 60% 55% at 50% 42%, color-mix(in srgb, var(--szin-hatter) 88%, transparent), transparent 75%),
    linear-gradient(to bottom, var(--szin-hatter) 8%, color-mix(in srgb, var(--szin-hatter) 40%, transparent) 30%, transparent 55%, transparent 72%, var(--szin-hatter));
}
:root[data-tema="vilagos"] .hos-terkep { opacity: .9; }
:root[data-tema="vilagos"] .fomenu-hamarosan { color: var(--szin-link) !important; }
:root[data-tema="vilagos"] .hos-belso { color: #EEF2FA; }
:root[data-tema="vilagos"] .hos::before { background: radial-gradient(ellipse 60% 55% at 50% 42%, rgba(11,20,38,.85), transparent 75%), linear-gradient(to bottom, #0B1426 8%, rgba(11,20,38,.4) 30%, transparent 55%, transparent 86%, var(--szin-hatter)); }
:root[data-tema="vilagos"] .hos .gomb-masodlagos { color: #EEF2FA; box-shadow: inset 0 0 0 1.5px rgba(238,242,250,.4); }

.hos-tuk { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.tu { position: absolute; width: 34px; height: 44px; transform: translate(-50%, -100%); filter: drop-shadow(0 0 10px var(--szin-ragyogas)) drop-shadow(0 0 3px rgba(255,210,31,.6)); animation: lebeg 4s ease-in-out infinite; }
.tu svg { width: 100%; height: 100%; }
.tu-1 { left: 8%; top: 32%; }
.tu-2 { left: 19%; top: 76%; animation-delay: -1s; }
.tu-3 { left: 82%; top: 24%; animation-delay: -2s; }
.tu-4 { left: 92%; top: 64%; animation-delay: -3s; }
.tu-5 { left: 70%; top: 86%; animation-delay: -1.5s; }
@keyframes lebeg { 50% { transform: translate(-50%, calc(-100% - 6px)); } }
@media (max-width: 700px) { .tu-1, .tu-3 { top: 12%; } .tu-2, .tu-5 { display: none; } }

.hos-belso { max-width: 860px; margin: 0 auto; text-align: center; }
.hos h1 {
  font-size: clamp(1.9rem, 1.1rem + 3.6vw, 3.4rem); line-height: 1.08;
  text-transform: var(--cim-nagybetus); letter-spacing: -.005em; margin: 0 0 .45em;
  text-shadow: 0 2px 24px rgba(0,0,0,.5);
}
.hos h1 span { color: var(--szin-kiemelo); }
.hos-alcim { font-size: 1.12rem; color: inherit; opacity: .85; margin: 0 auto 1.6em; max-width: 36em; }
.hos .nagy-kereso { max-width: 640px; margin: 0 auto; }
.hos-gombok { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }

.nagy-kereso { position: relative; display: flex; gap: 8px; text-align: left; }
.nagy-kereso input { font-size: 1.05rem; min-height: 54px; box-shadow: var(--arnyek); background: color-mix(in srgb, var(--szin-felulet) 92%, transparent); }
.nagy-kereso .gomb { min-height: 54px; }
@media (max-width: 480px) { .nagy-kereso .gomb { display: none; } }
.elo-talalatok {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 10;
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
  border-radius: var(--kerekites); box-shadow: var(--arnyek); overflow: hidden;
}
.elo-talalatok a { display: block; padding: 12px 16px; text-decoration: none; color: var(--szin-szoveg); border-top: 1px solid var(--szin-vonal); }
.elo-talalatok a:first-child { border-top: 0; }
.elo-talalatok a:hover, .elo-talalatok a:focus { background: var(--szin-felulet-2); }
.elo-talalatok small { display: block; color: var(--szin-szoveg-halvany); font-size: .85rem; }

/* ---------- Gyors számok ---------- */
.gyors { padding: 0 16px; margin-top: -8px; }
.gyors-racs { max-width: calc(var(--oldal-szelesseg) - 32px); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gyors-elem {
  display: flex; flex-direction: column; gap: 2px;
  padding: 16px 18px; border-radius: var(--kerekites);
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
  color: var(--szin-szoveg); text-decoration: none;
  transition: border-color .15s, box-shadow .2s;
}
.gyors-elem:hover { border-color: var(--szin-kiemelo); box-shadow: 0 0 20px var(--szin-ragyogas); }
.gyors-szam { font-family: var(--betu-cim); font-size: 1.6rem; font-weight: 700; color: var(--szin-kiemelo); font-variant-numeric: tabular-nums; }
.gyors-cimke { font-size: .88rem; color: var(--szin-szoveg-halvany); }
@media (max-width: 760px) { .gyors-racs { grid-template-columns: repeat(2, 1fr); } .gyors-szam { font-size: 1.35rem; } }

/* ---------- Főoldali szakaszok ---------- */
.szakasz, .kategoriak { max-width: var(--oldal-szelesseg); margin: 0 auto; padding: 8px 16px 8px; scroll-margin-top: 80px; }
.szakasz-cim { font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); text-transform: var(--cim-nagybetus); letter-spacing: .01em; margin: 2.2em 0 .7em; }
.szakasz-alcim { color: var(--szin-szoveg-halvany); margin-top: -.4em; }

.hirek { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hir {
  display: flex; flex-direction: column; gap: 8px;
  padding: 18px 20px; border-radius: var(--kerekites);
  background: linear-gradient(160deg, var(--szin-felulet-2), var(--szin-felulet));
  border: 1px solid var(--szin-vonal);
  color: var(--szin-szoveg); text-decoration: none;
  transition: border-color .15s, box-shadow .2s, transform .15s;
}
.hir:hover { border-color: var(--szin-kiemelo); box-shadow: 0 0 24px var(--szin-ragyogas); transform: translateY(-2px); }
.hir-fej { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.hir-cim { font-family: var(--betu-cim); font-weight: 700; font-size: 1.08rem; line-height: 1.3; }
.hir-szoveg { color: var(--szin-szoveg-halvany); font-size: .93rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hir-datum { margin-top: auto; font-size: .8rem; color: var(--szin-szoveg-halvany); }
@media (max-width: 980px) { .hirek { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .hirek { grid-template-columns: 1fr; } }

.kategoria { scroll-margin-top: 80px; }
.kategoria h3 { display: flex; align-items: center; gap: 12px; margin: 1.8em 0 .8em; font-size: 1.15rem; }
.kategoria-ikon {
  display: inline-grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0;
  border-radius: 10px; background: var(--szin-kiemelo); color: var(--szin-jel);
  font-size: .95rem; font-weight: 800; box-shadow: 0 0 16px var(--szin-ragyogas);
}
.kartyak { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.kartya {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px; border-radius: var(--kerekites);
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
  text-decoration: none; color: var(--szin-szoveg);
  transition: border-color .15s, transform .15s, box-shadow .2s;
}
.kartya:hover { border-color: var(--szin-kiemelo); transform: translateY(-1px); box-shadow: 0 0 18px var(--szin-ragyogas); }
.kartya-cim { font-weight: 700; font-size: 1.03rem; line-height: 1.3; }
.kartya-valasz { color: var(--szin-szoveg-halvany); font-size: .93rem; line-height: 1.45; }

.hamarosan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding-bottom: 56px; }
.hamar {
  display: flex; flex-direction: column; gap: 8px; align-items: flex-start;
  padding: 18px 20px; border-radius: var(--kerekites);
  background: var(--szin-felulet); border: 1px dashed var(--szin-vonal);
}
.hamar-kiemelt { border: 1.5px solid var(--szin-kiemelo); box-shadow: 0 0 26px var(--szin-ragyogas); background: linear-gradient(160deg, color-mix(in srgb, var(--szin-kiemelo) 10%, var(--szin-felulet)), var(--szin-felulet)); }
.hamar-cim { font-family: var(--betu-cim); font-weight: 700; font-size: 1.05rem; }
.hamar-szoveg { color: var(--szin-szoveg-halvany); font-size: .93rem; line-height: 1.45; }
@media (max-width: 980px) { .hamarosan { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .hamarosan { grid-template-columns: 1fr; } }

/* ---------- Tartalomoldal ---------- */
.oldal-racs {
  max-width: var(--oldal-szelesseg); margin: 0 auto; padding: 28px 16px 56px;
  display: grid; grid-template-columns: minmax(0, var(--tartalom-szelesseg)) 1fr; gap: 56px;
}
.cikk { max-width: var(--tartalom-szelesseg); width: 100%; }
.cikk-jogi, .cikk-kereses, .cikk-uzenet { margin: 0 auto; padding: 28px 16px 56px; }
.morzsa { font-size: .9rem; color: var(--szin-szoveg-halvany); }
.morzsa a { color: inherit; }
.ellenorizve { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--szin-szoveg-halvany); }
.pont { width: 8px; height: 8px; border-radius: 50%; background: var(--szin-rendben); box-shadow: 0 0 8px var(--szin-rendben); }

.roviden {
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
  border-left: 5px solid var(--szin-kiemelo);
  border-radius: var(--kerekites); padding: 16px 20px; margin: 20px 0 8px;
  font-size: 1.07rem;
}
.roviden p:last-child { margin: 0; }
.roviden-cim { font-family: var(--betu-cim); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--szin-kiemelo); margin: 0 0 4px; }

.tartalomjegyzek { margin: 24px 0 0; padding: 14px 18px; background: var(--szin-felulet); border: 1px solid var(--szin-vonal); border-radius: var(--kerekites); font-size: .95rem; }
.tartalomjegyzek p { margin: 0 0 4px; font-weight: 700; }
.tartalomjegyzek ol { margin: 0; padding-left: 1.3em; }

.szoveg h2 { scroll-margin-top: 80px; }
.szoveg ul, .szoveg ol { padding-left: 1.3em; margin: 0 0 1em; }
.szoveg li { margin-bottom: .35em; }
.szoveg li::marker { color: var(--szin-kiemelo); }

.tablazat { overflow-x: auto; margin: 0 0 1.2em; border: 1px solid var(--szin-vonal); border-radius: var(--kerekites); background: var(--szin-felulet); }
table { width: 100%; border-collapse: collapse; font-size: .96rem; }
th, td { text-align: left; padding: 10px 14px; border-top: 1px solid var(--szin-vonal); vertical-align: top; }
thead th { border-top: 0; background: var(--szin-felulet-2); font-size: .82rem; font-weight: 700; letter-spacing: .02em; }
td strong { font-variant-numeric: tabular-nums; }
@media (max-width: 520px) {
  th, td { padding: 9px 12px; }
  .tablazat-szeles { border: 0; background: none; }
  .tablazat-szeles table, .tablazat-szeles tbody, .tablazat-szeles tr, .tablazat-szeles td { display: block; }
  .tablazat-szeles thead { display: none; }
  .tablazat-szeles tr { background: var(--szin-felulet); border: 1px solid var(--szin-vonal); border-radius: var(--kerekites); margin-bottom: 8px; padding: 6px 0; }
  .tablazat-szeles td { border: 0; padding: 4px 14px; }
  .tablazat-szeles td::before { content: attr(data-cim); display: block; font-size: .76rem; font-weight: 700; color: var(--szin-szoveg-halvany); }
}

.doboz { border-radius: var(--kerekites); padding: 14px 18px; margin: 0 0 1.2em; border-left: 4px solid; }
.doboz p:last-child, .doboz ul:last-child { margin-bottom: 0; }
.doboz-cim { font-family: var(--betu-cim); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 4px; }
.doboz-tipp { background: var(--szin-tipp); border-color: var(--szin-tipp-vonal); }
.doboz-tipp .doboz-cim { color: var(--szin-tipp-vonal); }
.doboz-figyelem { background: var(--szin-figyelem); border-color: var(--szin-figyelem-vonal); }
.doboz-figyelem .doboz-cim { color: var(--szin-figyelem-vonal); }
.doboz-gyakorlat { background: var(--szin-gyakorlat); border-color: var(--szin-gyakorlat-vonal); }
.doboz-gyakorlat .doboz-cim { color: var(--szin-gyakorlat-vonal); }
.doboz-nyitott { background: var(--szin-nyitott); border-color: var(--szin-nyitott-vonal); }
.doboz-nyitott .doboz-cim { color: var(--szin-nyitott-vonal); }

.forrasok { margin-top: 2.5em; padding-top: 1em; border-top: 1px solid var(--szin-vonal); font-size: .95rem; }
.forrasok h2 { font-size: 1rem; margin: 0 0 .5em; }
.forrasok ul { padding-left: 1.2em; margin: 0; }

.hiba-sav {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  margin-top: 2em; padding: 16px 20px; border-radius: var(--kerekites);
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
}
.hiba-sav p { margin: 0; font-weight: 600; }
.hiba-urlap { display: block; }
.hiba-urlap summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; cursor: pointer; list-style: none; }
.hiba-urlap summary::-webkit-details-marker { display: none; }
.hiba-kerdes { font-weight: 600; }
.hiba-urlap[open] summary .gomb { box-shadow: inset 0 0 0 1.5px var(--szin-kiemelo); }
.hiba-form { display: grid; gap: 8px; margin-top: 16px; }
.hiba-form label { font-weight: 600; margin-top: 6px; }
.hiba-form .halvany { font-weight: 400; color: var(--szin-szoveg-halvany); }
.hiba-form textarea, .hiba-form input[type="email"] {
  font: inherit; color: var(--szin-szoveg); background: var(--szin-hatter);
  border: 1.5px solid var(--szin-vonal); border-radius: var(--kerekites-kicsi);
  padding: .6em .9em; width: 100%; min-height: 48px;
}
.hiba-form textarea { resize: vertical; min-height: 120px; }
.hiba-form textarea:focus, .hiba-form input[type="email"]:focus { border-color: var(--szin-kiemelo); outline: none; box-shadow: 0 0 0 3px var(--szin-ragyogas); }
.hiba-form .gomb { justify-self: start; margin-top: 4px; }
.hiba-cimke { font-weight: 600; margin: 6px 0 0; }
.hiba-kep-sor { position: relative; }
.hiba-kep-mezo { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.hiba-kep-mezo:focus-visible + .hiba-kep-gomb { box-shadow: 0 0 0 3px var(--szin-ragyogas); }
.hiba-form .hiba-kep-gomb { margin: 0; font-weight: 600; cursor: pointer; }
.hiba-kep-elonezet { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.hiba-kep-elonezet[hidden] { display: none; }
.hiba-kep-elonezet img { max-width: 160px; max-height: 120px; border-radius: var(--kerekites-kicsi); border: 1px solid var(--szin-vonal); }
.hiba-apro { font-size: .85rem; color: var(--szin-szoveg-halvany); margin: 4px 0 0; font-weight: 400; }
.hiba-allapot { margin: 0; font-weight: 600; }
.hiba-allapot.rendben { color: var(--szin-rendben); }
.hiba-allapot.hiba { color: var(--szin-figyelem-vonal); }
.felelosseg-kicsi { margin-top: 1.4em; font-size: .85rem; color: var(--szin-szoveg-halvany); }

.oldalsav { position: sticky; top: 96px; align-self: start; padding-top: 34px; font-size: .95rem; }
.oldalsav-cim { font-family: var(--betu-cim); font-weight: 700; margin-bottom: 8px; text-transform: var(--cim-nagybetus); font-size: .85rem; letter-spacing: .04em; }
.oldalsav ul { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--szin-vonal); }
.oldalsav a { display: block; padding: 6px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--szin-szoveg-halvany); text-decoration: none; }
.oldalsav a:hover { color: var(--szin-szoveg); }
.oldalsav a[aria-current="page"] { color: var(--szin-kiemelo); font-weight: 700; border-left-color: var(--szin-kiemelo); }

@media (max-width: 900px) {
  .oldal-racs { grid-template-columns: 1fr; gap: 0; }
  .oldalsav { position: static; padding: 24px 0 0; border-top: 1px solid var(--szin-vonal); margin-top: 32px; }
}

/* ---------- Kereső oldal ---------- */
.tipp-kicsi { font-size: .9rem; color: var(--szin-szoveg-halvany); margin-top: 8px; }
.talalat { display: block; padding: 16px 0; border-top: 1px solid var(--szin-vonal); text-decoration: none; color: var(--szin-szoveg); }
.talalat-cim { font-weight: 700; font-size: 1.1rem; color: var(--szin-link); }
.talalat-kat { font-size: .78rem; font-weight: 700; color: var(--szin-szoveg-halvany); text-transform: uppercase; letter-spacing: .06em; }
.talalat-reszlet { display: block; color: var(--szin-szoveg-halvany); font-size: .95rem; margin-top: 4px; }
mark { background: var(--szin-gyakorlat); color: inherit; padding: 0 2px; border-radius: 3px; }

/* ---------- Viteldíj-kalkulátor ---------- */
.kalkulator { background: var(--szin-felulet); border: 1px solid var(--szin-vonal); border-radius: var(--kerekites); padding: 20px; margin: 0 0 1.4em; box-shadow: var(--arnyek); }
.kalkulator h3 { margin-top: 0; }
.kalk-mezok { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kalk-mezok label { font-size: .9rem; font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
.kalk-pipa { display: flex; align-items: center; gap: 10px; margin: 14px 0; font-weight: 600; cursor: pointer; }
.kalk-pipa input { width: 22px; height: 22px; accent-color: var(--szin-kiemelo); }
.kalk-eredmeny { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--szin-vonal); }
.kalk-osszeg { font-family: var(--betu-cim); font-size: 2rem; font-weight: 700; color: var(--szin-kiemelo); font-variant-numeric: tabular-nums; }
.kalk-bontas { font-size: .88rem; color: var(--szin-szoveg-halvany); }
@media (max-width: 420px) { .kalk-mezok { grid-template-columns: 1fr; } }

/* ---------- Lábléc ---------- */
.lablec { background: var(--szin-felulet); border-top: 1px solid var(--szin-vonal); margin-top: auto; }
.lablec-belso { max-width: var(--oldal-szelesseg); margin: 0 auto; padding: 28px 16px calc(28px + env(safe-area-inset-bottom)); font-size: .9rem; color: var(--szin-szoveg-halvany); }
.lablec-figyelem { max-width: 60em; }
.lablec-linkek { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 16px 0; }
.lablec-linkek a, .lablec-linkek .link-gomb { color: var(--szin-szoveg); font-size: .9rem; }
.lablec-kicsi { margin: 0; }

/* ---------- Süti-sáv és -beállítások ---------- */
.suti-sav {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50;
  max-width: 560px; margin: 0 auto;
  background: var(--szin-felulet); border: 1px solid var(--szin-vonal);
  border-radius: var(--kerekites); box-shadow: var(--arnyek); padding: 18px 20px;
}
.suti-sav h2 { font-size: 1.1rem; margin: 0 0 .4em; }
.suti-sav p { font-size: .93rem; }
.suti-kategoria { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-top: 1px solid var(--szin-vonal); font-size: .93rem; }
.suti-kategoria input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--szin-kiemelo); flex-shrink: 0; }
.suti-kategoria small { display: block; color: var(--szin-szoveg-halvany); }
.suti-gombok { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.suti-gombok .gomb { flex: 1; min-width: 140px; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media print {
  .fejlec, .lablec, .oldalsav, .hiba-sav, .tartalomjegyzek, .hos-terkep, .hos-tuk { display: none; }
  body { background: #fff; color: #000; }
}
