/* ==========================================================================
   Lucky — elemek és blokkok
   Csak tokenekre hivatkozik (styles/tokens.css). Beégetett szín/méret nincs.
   Minden blokk (.b-…) = egy UI kit kártya = egy WordPress blokk-minta.
   ========================================================================== */

/* --- Alap --------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--fejlec-magassag) + var(--ter-24)); }
body {
  margin: 0; background: var(--felulet); color: var(--szoveg);
  font-family: var(--betu-torzs); font-size: var(--meret-torzs); line-height: var(--sor-torzs);
  font-feature-settings: "tnum" 0; text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--betu-cim); font-weight: 500; color: var(--cimsor); margin: 0; letter-spacing: 0; }
h1 { font-size: var(--meret-h1); line-height: var(--sor-h1); text-transform: uppercase; }
h2 { font-size: var(--meret-h2); line-height: var(--sor-h2); text-transform: uppercase; }
h3 { font-size: var(--meret-h3); line-height: var(--sor-h3); }
h4 { font-size: var(--meret-h4); line-height: var(--sor-h4); }
p { margin: 0; }
p + p { margin-top: var(--ter-16); }
a { color: var(--link); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--szin-marka-900); }
:focus-visible { outline: var(--fokusz-vastag) solid var(--fokusz); outline-offset: 3px; border-radius: var(--kerek-s); }
.sotet :focus-visible { outline-color: var(--fokusz-sotet); }
.rejtett { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ugras { position: absolute; left: var(--ter-16); top: -100px; z-index: 100; background: var(--gomb); color: var(--gomb-szoveg); padding: var(--ter-12) var(--ter-16); border-radius: var(--kerek-s); font-weight: 700; }
.ugras:focus { top: var(--ter-16); }

.kontener { width: 100%; max-width: calc(var(--kontener-tag) + 2 * var(--oldalmargo)); margin-inline: auto; padding-inline: var(--oldalmargo); }
.kontener--szuk { max-width: calc(var(--kontener-szuk) + 2 * var(--oldalmargo)); }
.szekcio { padding-block: var(--szekcio-y); overflow-x: clip; }   /* a díszítő fröccsenés soha ne okozzon vízszintes görgetést */
.felulet-feher  { background: var(--felulet); }
.felulet-meleg  { background: var(--felulet-meleg); }
.felulet-zsalya { background: var(--felulet-zsalya); }
.felulet-sotet  { background: var(--felulet-sotet); color: var(--szin-semleges-100); }
.felulet-sotet h2, .felulet-sotet h3 { color: var(--szin-semleges-0); }
.felulet-sotet a:not(.gomb) { color: var(--szin-semleges-0); }

.lead { font-size: var(--meret-lead); line-height: var(--sor-lead); }
.halvany { color: var(--szoveg-halvany); }
.kicsi { font-size: var(--meret-kicsi); }
.meres { max-width: 64ch; }
@media (max-width: 599px) { .csak-szeles { display: none; } }

/* --- Címsor-fej: kicker + cím + sárga ecsetvonás ----------------------- */
.szekciofej { display: flex; flex-direction: column; gap: var(--ter-16); margin-bottom: var(--ter-48); }
.szekciofej--kozep { align-items: center; text-align: center; }
.kicker { font-family: var(--betu-cim); font-weight: 500; font-size: var(--meret-kicsi); color: var(--szoveg); text-transform: uppercase; letter-spacing: .08em; }
.felulet-sotet .kicker { color: var(--szin-semleges-100); }
.ecset { position: relative; padding-bottom: var(--ter-24); }
.ecset::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 7.5em; max-width: 100%; height: .5em; min-height: 12px;
  background: var(--szin-sarga-500);
  -webkit-mask: url("../img/alahuzas.svg") left center / 100% 100% no-repeat; mask: url("../img/alahuzas.svg") left center / 100% 100% no-repeat;
}
h2.ecset::after { width: 5.5em; }
.szekciofej--kozep .ecset::after { left: 50%; transform: translateX(-50%); }

/* --- Gomb ------------------------------------------------------------- */
.gomb {
  --g-magassag: 52px; --g-padding: var(--ter-24); --g-meret: var(--meret-kicsi);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ter-8);
  min-height: var(--g-magassag); padding: 0 var(--g-padding); border-radius: var(--kerek-gomb);
  font-family: var(--betu-torzs); font-weight: 700; font-size: var(--g-meret); line-height: 1; text-decoration: none; white-space: nowrap;
  border: var(--keret-vastag) solid transparent; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.gomb svg { width: 20px; height: 20px; flex: none; }
.gomb--s { --g-magassag: 44px; --g-padding: var(--ter-16); }
.gomb--l { --g-magassag: 60px; --g-padding: var(--ter-32); --g-meret: var(--meret-torzs); }
.gomb--elsodleges { background: var(--gomb); color: var(--gomb-szoveg); }
.gomb--elsodleges:hover { background: var(--gomb-hover); color: var(--gomb-szoveg); }
.gomb--elsodleges:active { background: var(--gomb-aktiv); }
.gomb--masodlagos { background: transparent; color: var(--szin-marka-700); border-color: var(--szin-marka-600); }
.gomb--masodlagos:hover { background: var(--szin-marka-50); color: var(--szin-marka-800); }
.gomb--masodlagos:active { background: var(--szin-marka-100); }
.gomb--szoveges { background: transparent; color: var(--link); padding-inline: var(--ter-8); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.gomb--szoveges:hover { color: var(--szin-marka-900); }
/* letiltott állapot: lent, a sötét felületi szabályok után */
.felulet-sotet .gomb--masodlagos { color: var(--szin-semleges-0); border-color: var(--szin-semleges-0); }
.felulet-sotet .gomb--masodlagos:hover { background: var(--szin-marka-700); }
.felulet-sotet .gomb--szoveges, .felulet-sotet .gomb--szoveges:hover { color: var(--szin-semleges-0); }
.felulet-sotet .gomb--szoveges:hover { text-decoration-thickness: 3px; }
.gomb[disabled], .gomb[aria-disabled="true"],
.felulet-sotet .gomb[disabled], .felulet-sotet .gomb[aria-disabled="true"] { background: var(--szin-semleges-200); color: var(--szin-semleges-600); border-color: transparent; cursor: not-allowed; }
.gomb--szoveges[disabled], .gomb--szoveges[aria-disabled="true"] { background: transparent; }
.felulet-sotet .gomb--szoveges[disabled], .felulet-sotet .gomb--szoveges[aria-disabled="true"] { background: transparent; color: var(--szin-semleges-300); }
.gombsor { display: flex; flex-wrap: wrap; gap: var(--ter-12); align-items: center; }

/* --- Címke / badge ---------------------------------------------------- */
.cimke {
  display: inline-flex; align-items: center; gap: var(--ter-4); height: 28px; padding: 0 var(--ter-12);
  border-radius: var(--kerek-gomb); font-size: var(--meret-apro); font-weight: 700; line-height: 1; letter-spacing: .02em;
  background: var(--szin-marka-50); color: var(--szin-marka-800); white-space: nowrap;
}
.cimke svg { width: 14px; height: 14px; }
.cimke--sarga { background: var(--szin-sarga-500); color: var(--szin-semleges-900); }
.cimke--sotet { background: var(--szin-semleges-900); color: var(--szin-semleges-0); }
.cimke--keret { background: transparent; box-shadow: inset 0 0 0 var(--keret-vekony) var(--keret-mezo); color: var(--szoveg); }
.cimke--vegan { background: var(--szin-marka-600); color: var(--szin-semleges-0); }
.cimkesor { display: flex; flex-wrap: wrap; gap: var(--ter-8); }

/* --- Fotókeret: a kézikönyv kollázs-eleme ----------------------------- */
.foto { border: var(--fotokeret) solid var(--szin-semleges-0); border-radius: var(--kerek-l); box-shadow: var(--arnyek-nagy); overflow: hidden; background: var(--szin-semleges-200); }
.foto img { width: 100%; height: 100%; object-fit: cover; }
.foto--ai { position: relative; }
.foto--ai::after { content: "AI-HELYKITÖLTŐ"; position: absolute; top: var(--ter-12); left: var(--ter-12); background: var(--szin-semleges-900); color: var(--szin-sarga-500); font-size: var(--meret-apro); font-weight: 700; padding: var(--ter-4) var(--ter-8); border-radius: var(--kerek-s); letter-spacing: .06em; }

/* Fröccsenés: maszk, a színe token */
.froccs { position: absolute; pointer-events: none; background: var(--szin-zsalya);
  -webkit-mask: url("../img/froccs.svg") center / contain no-repeat; mask: url("../img/froccs.svg") center / contain no-repeat; }

/* ======================================================================
   BLOKK: felső sáv (hamarosan-nyitunk jelzés)
   ====================================================================== */
.b-felsosav { background: var(--szin-marka-700); color: var(--szin-semleges-0); font-size: var(--meret-kicsi); }
.b-felsosav .kontener { display: flex; align-items: center; justify-content: center; gap: var(--ter-12); min-height: 44px; padding-block: var(--ter-8); text-align: center; }
.b-felsosav a { color: var(--szin-semleges-0); font-weight: 700; }
.b-felsosav .cimke { flex: none; }

/* ======================================================================
   BLOKK: fejléc
   ====================================================================== */
.b-fejlec { position: sticky; top: 0; z-index: 50; background: var(--felulet); border-bottom: var(--keret-vekony) solid var(--keret); }
.b-fejlec .kontener { display: flex; align-items: center; gap: var(--ter-32); height: var(--fejlec-magassag); }
.b-fejlec__logo { display: block; flex: none; width: 60px; height: 60px; }
.b-fejlec__logo img { width: 100%; height: 100%; }
.b-fejlec__menu { display: flex; gap: var(--ter-4); list-style: none; margin: 0; padding: 0; }
.b-fejlec__menu a { display: block; padding: var(--ter-12) var(--ter-12); color: var(--szoveg); font-weight: 700; font-size: var(--meret-kicsi); text-decoration: none; border-radius: var(--kerek-s); position: relative; }
.b-fejlec__menu a:hover { background: var(--felulet-meleg); }
.b-fejlec__menu a[aria-current="page"]::after {
  content: ""; position: absolute; left: var(--ter-12); right: var(--ter-12); bottom: 2px; height: 8px; background: var(--szin-sarga-500);
  -webkit-mask: url("../img/alahuzas.svg") center / 100% 100% no-repeat; mask: url("../img/alahuzas.svg") center / 100% 100% no-repeat;
}
.b-fejlec__jobb { margin-left: auto; display: flex; align-items: center; gap: var(--ter-16); }
.b-fejlec__tel { display: inline-flex; align-items: center; gap: var(--ter-8); color: var(--szoveg); font-weight: 700; font-size: var(--meret-kicsi); text-decoration: none; }
.b-fejlec__tel svg { width: 20px; height: 20px; color: var(--szin-marka-600); }
.b-fejlec__hamburger { display: none; width: 48px; height: 48px; border: var(--keret-vastag) solid var(--keret); border-radius: var(--kerek-m); background: var(--felulet); align-items: center; justify-content: center; color: var(--szoveg); }
.b-fejlec__hamburger svg { width: 24px; height: 24px; }
@media (max-width: 1179px) { .b-fejlec__tel span { display: none; } }
@media (max-width: 1023px) {
  .b-fejlec__menu, .b-fejlec__tel { display: none; }
  .b-fejlec__hamburger { display: inline-flex; }
  .b-fejlec__logo { width: 52px; height: 52px; }
}
@media (max-width: 599px) { .b-fejlec__logo { width: 48px; height: 48px; } .b-fejlec .gomb { --g-padding: var(--ter-16); } }

/* ======================================================================
   BLOKK: hero-kollazs (tipográfiai cím + a kézikönyv fotókollázsa)
   ====================================================================== */
.b-hero { position: relative; background: var(--felulet-meleg); overflow: hidden; padding-block: var(--ter-96) var(--ter-128); }
.b-hero .kontener { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ter-48); align-items: center; }
.b-hero__szoveg { display: flex; flex-direction: column; gap: var(--ter-24); position: relative; z-index: 2; }
.b-hero__szlogen { display: inline-flex; align-items: center; gap: var(--ter-12); font-family: var(--betu-cim); font-size: var(--meret-lead); font-weight: 500; color: var(--szoveg); }
.b-hero__szlogen img { width: 36px; height: 36px; }
.b-hero h1 { font-size: var(--meret-hero); line-height: var(--sor-hero); font-weight: 600; }
.b-hero h1 .ecset { display: inline-block; padding-bottom: .18em; }
.b-hero h1 .ecset::after { width: 100%; height: .22em; bottom: -.04em; }
.b-hero .lead { max-width: 34ch; }
.b-hero__kollazs { position: relative; aspect-ratio: 5 / 5.4; }
.b-hero__kollazs .froccs { inset: -14% -30% -10% -18%; }
.b-hero__kollazs .foto { position: absolute; }
.b-hero__kollazs .foto--1 { left: 0; top: 10%; width: 78%; aspect-ratio: 3 / 2; z-index: 2; }
.b-hero__kollazs .foto--2 { right: 0; top: 0; width: 44%; aspect-ratio: 4 / 5; z-index: 1; }
.b-hero__kollazs .foto--3 { right: 6%; bottom: 0; width: 56%; aspect-ratio: 4 / 3; z-index: 3; }
.b-hero__matrica {
  position: absolute; left: 4%; bottom: 8%; z-index: 4; width: 120px; height: 120px; border-radius: 50%;
  background: var(--szin-semleges-900); color: var(--szin-semleges-0); border: 4px solid var(--szin-semleges-0);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  font-family: var(--betu-cim); box-shadow: var(--arnyek-nagy);
}
.b-hero__matrica b { font-size: 2rem; line-height: 1; font-weight: 600; color: var(--szin-sarga-500); }
.b-hero__matrica span { font-size: var(--meret-apro); line-height: 1.2; text-transform: uppercase; letter-spacing: .06em; margin-top: var(--ter-4); }
@media (max-width: 1023px) {
  .b-hero { padding-block: var(--ter-64) var(--ter-96); }
  .b-hero .kontener { grid-template-columns: 1fr; gap: var(--ter-48); }
  .b-hero__kollazs { max-width: 560px; width: 100%; justify-self: center; aspect-ratio: 5 / 4; }
  .b-hero__kollazs .foto--2 { top: 0; width: 40%; }
  .b-hero__kollazs .foto--1 { top: 12%; width: 72%; }
}
@media (max-width: 599px) {
  .b-hero { padding-block: var(--ter-48) var(--ter-96); }
  .b-hero .kontener { gap: var(--ter-32); }
  .b-hero__szoveg { gap: var(--ter-16); }
  .b-hero__szlogen { font-size: var(--meret-kicsi); }
  .b-hero__szlogen img { width: 28px; height: 28px; }
  .b-hero .lead { font-size: var(--meret-torzs); }
  .b-hero .gombsor .gomb { flex: 1 1 100%; }
  .b-hero__kollazs { aspect-ratio: 1 / 1; }
  .b-hero__kollazs .foto { --fotokeret: 4px; border-radius: var(--kerek-m); }
  .b-hero__matrica { width: 88px; height: 88px; border-width: 3px; }
  .b-hero__matrica b { font-size: 1.5rem; }
  .b-hero__matrica span { font-size: 0.75rem; }
}

/* ======================================================================
   BLOKK: vendeg-utja (helyben · elvitel · házhoz) — a hero alá lóg
   ====================================================================== */
.b-vendegutja { position: relative; z-index: 5; margin-top: calc(-1 * var(--ter-64)); padding-bottom: var(--szekcio-y); }
.b-vendegutja__panel { background: var(--felulet); border-radius: var(--kerek-l); box-shadow: var(--arnyek-nagy); padding: var(--ter-48); }
.b-vendegutja__fej { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--ter-24); margin-bottom: var(--ter-32); }
.b-vendegutja__fej p { max-width: 44ch; }
.b-vendegutja__racs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ter-24); }
.b-ut { display: flex; flex-direction: column; gap: var(--ter-16); padding: var(--ter-32); border-radius: var(--kerek-l); background: var(--felulet-meleg); }
.b-ut--kiemelt { background: var(--szin-marka-600); color: var(--szin-semleges-100); }
.b-ut--kiemelt h3 { color: var(--szin-semleges-0); }
.b-ut__ikon { width: 56px; height: 56px; border-radius: var(--kerek-m); background: var(--felulet); color: var(--szin-marka-600); display: flex; align-items: center; justify-content: center; }
.b-ut--kiemelt .b-ut__ikon { background: var(--szin-sarga-500); color: var(--szin-semleges-900); }
.b-ut__ikon svg { width: 30px; height: 30px; }
.b-ut p { font-size: var(--meret-kicsi); flex: 1; }
.b-ut__valaszto { display: grid; grid-template-columns: 1fr; gap: var(--ter-8); }
.b-ut__valaszto .gomb { width: 100%; }
.b-ut__link { font-size: var(--meret-kicsi); font-weight: 700; }
.b-ut--kiemelt .b-ut__link { color: var(--szin-semleges-0); }
@media (max-width: 1023px) {
  .b-vendegutja__panel { padding: var(--ter-32); }
  .b-vendegutja__racs { grid-template-columns: 1fr; gap: var(--ter-16); }
  .b-vendegutja__fej { flex-direction: column; align-items: flex-start; }
  .b-ut { display: grid; grid-template-columns: 56px 1fr; column-gap: var(--ter-16); row-gap: var(--ter-12); }
  .b-ut > :not(.b-ut__ikon) { grid-column: 2; }
  .b-ut__ikon { grid-row: span 2; }
}
@media (max-width: 599px) {
  .b-vendegutja { margin-top: calc(-1 * var(--ter-48)); }
  .b-vendegutja__panel { padding: var(--ter-24) var(--ter-16); border-radius: var(--kerek-m); }
  .b-ut { padding: var(--ter-24) var(--ter-16); grid-template-columns: 48px 1fr; }
  .b-ut__ikon { width: 48px; height: 48px; }
  .b-ut__valaszto { grid-column: 1 / -1 !important; }
  .b-ut > .gomb { grid-column: 1 / -1 !important; }
}

/* ======================================================================
   BLOKK: kinalat-racs (a pizzacsaládok, lepény, girosz)
   ====================================================================== */
.b-kinalat__racs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ter-24); }
.b-termek { display: flex; flex-direction: column; background: var(--felulet); border-radius: var(--kerek-l); overflow: hidden; box-shadow: var(--arnyek-kicsi); border: var(--keret-vekony) solid var(--keret); }
.b-termek--fotos { grid-column: span 3; }
.b-termek--szoveges { grid-column: span 2; position: relative; background: var(--felulet); }
.b-termek__kep { position: relative; aspect-ratio: 3 / 2; overflow: hidden; }
.b-termek__kep img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.b-termek__test { display: flex; flex-direction: column; gap: var(--ter-12); padding: var(--ter-32); flex: 1; }
.b-termek__test p { font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.b-termek__ar { margin-top: auto; padding-top: var(--ter-16); display: flex; align-items: baseline; justify-content: space-between; gap: var(--ter-16); border-top: var(--keret-vekony) solid var(--keret); }
.b-termek__ar strong { font-family: var(--betu-cim); font-weight: 500; font-size: var(--meret-h4); color: var(--szoveg); font-variant-numeric: tabular-nums; }
.b-termek__ar a { font-size: var(--meret-kicsi); font-weight: 700; }
.b-termek--szoveges .froccs { width: 150px; height: 142px; right: -44px; top: -44px; background: var(--szin-zsalya); }
.b-termek--szoveges .b-termek__test { position: relative; }
@media (max-width: 1023px) {
  .b-kinalat__racs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-termek--fotos, .b-termek--szoveges { grid-column: span 1; }
  .b-termek--szoveges:last-child { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
  .b-kinalat__racs { grid-template-columns: 1fr; gap: var(--ter-16); }
  .b-termek--szoveges:last-child { grid-column: auto; }
  .b-termek__test { padding: var(--ter-24); }
}

/* ======================================================================
   BLOKK: helyszinek (két üzlet, két étlap)
   ====================================================================== */
.b-helyszinek__figyelem { display: flex; gap: var(--ter-16); align-items: flex-start; padding: var(--ter-16) var(--ter-24); border-radius: var(--kerek-m); background: var(--szin-sarga-100); margin-bottom: var(--ter-32); font-size: var(--meret-kicsi); }
.b-helyszinek__figyelem svg { width: 24px; height: 24px; flex: none; color: var(--szin-semleges-900); margin-top: 1px; }
.b-helyszinek__racs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ter-32); }
.b-hely { display: flex; flex-direction: column; background: var(--felulet); border-radius: var(--kerek-l); overflow: hidden; box-shadow: var(--arnyek-kicsi); }
.b-hely__kep { position: relative; aspect-ratio: 16 / 10; }
.b-hely__kep > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--kep-fokusz, 50% 50%); }
.b-hely__kep .cimke { position: absolute; top: var(--ter-16); right: var(--ter-16); }
.b-hely__logo { position: absolute; left: var(--ter-24); bottom: calc(-1 * var(--ter-48)); width: 96px; height: 96px; border-radius: 50%; background: var(--szin-semleges-0); padding: 4px; box-shadow: var(--arnyek-nagy); }
.b-hely__logo img { width: 100%; height: 100%; }
.b-hely__test { display: flex; flex-direction: column; gap: var(--ter-16); padding: var(--ter-64) var(--ter-32) var(--ter-32); flex: 1; }
.b-hely__adatok { display: grid; grid-template-columns: auto 1fr; gap: var(--ter-8) var(--ter-16); margin: 0; font-size: var(--meret-kicsi); }
.b-hely__adatok dt { font-weight: 700; }
.b-hely__adatok dd { margin: 0; }
.b-hely__kinalat { font-size: var(--meret-kicsi); padding: var(--ter-16); background: var(--felulet-meleg); border-radius: var(--kerek-m); }
.b-hely__kinalat strong { display: block; font-family: var(--betu-cim); font-weight: 500; font-size: var(--meret-torzs); color: var(--cimsor); margin-bottom: var(--ter-4); }
.b-hely .gombsor { margin-top: auto; padding-top: var(--ter-8); }
@media (max-width: 1023px) { .b-helyszinek__racs { grid-template-columns: 1fr; gap: var(--ter-24); } }
@media (max-width: 599px) {
  .b-hely__test { padding: var(--ter-48) var(--ter-16) var(--ter-24); }
  .b-hely__logo { width: 80px; height: 80px; left: var(--ter-16); bottom: calc(-1 * var(--ter-32)); }
  .b-hely .gombsor .gomb { flex: 1 1 auto; }
}

/* ======================================================================
   BLOKK: husegprogram (a „nagyot ütő” zöld sáv)
   ====================================================================== */
.b-huseg { position: relative; overflow: hidden; }
.b-huseg .froccs { width: 520px; height: 492px; right: -140px; top: -160px; background: var(--szin-marka-500); opacity: .5; }
.b-huseg .kontener { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--ter-64); align-items: center; }
.b-huseg__szam { font-family: var(--betu-cim); font-weight: 600; color: var(--szin-sarga-500); font-size: clamp(5rem, 3rem + 7vw, 9rem); line-height: .9; }
.b-huseg__szam small { display: block; font-size: var(--meret-h3); color: var(--szin-semleges-0); font-weight: 500; line-height: 1.2; margin-top: var(--ter-16); }
.b-huseg__lepesek { list-style: none; margin: var(--ter-32) 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ter-16); counter-reset: lepes; }
.b-huseg__lepesek li { counter-increment: lepes; background: var(--szin-marka-700); border-radius: var(--kerek-m); padding: var(--ter-24); font-size: var(--meret-kicsi); }
.b-huseg__lepesek li::before { content: counter(lepes); display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--szin-sarga-500); color: var(--szin-semleges-900); font-family: var(--betu-cim); font-weight: 600; font-size: var(--meret-torzs); margin-bottom: var(--ter-12); }
.b-huseg__lepesek b { display: block; color: var(--szin-semleges-0); font-size: var(--meret-torzs); margin-bottom: var(--ter-4); }
@media (max-width: 1023px) {
  .b-huseg .kontener { grid-template-columns: 1fr; gap: var(--ter-32); }
  .b-huseg__lepesek { grid-template-columns: 1fr; }
  .b-huseg__lepesek li { display: grid; grid-template-columns: 40px 1fr; column-gap: var(--ter-16); }
  .b-huseg__lepesek li::before { grid-row: span 2; margin: 0; }
}

/* ======================================================================
   BLOKK: tortenet-csapat
   ====================================================================== */
.b-tortenet .kontener { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--ter-64); align-items: center; }
.b-tortenet__evek { display: flex; gap: var(--ter-32); margin: var(--ter-32) 0; padding: var(--ter-24) 0; border-block: var(--keret-vekony) solid var(--keret); }
.b-tortenet__evek div { display: flex; flex-direction: column; gap: var(--ter-4); }
.b-tortenet__evek b { font-family: var(--betu-cim); font-weight: 600; font-size: var(--meret-h3); color: var(--cimsor); line-height: 1; }
.b-tortenet__evek span { font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.b-tortenet__foto { position: relative; }
.b-tortenet__keret { position: relative; }
.b-tortenet__keret .froccs { inset: -14% -12% -16% -10%; background: var(--szin-sarga-500); }
.b-tortenet__foto .foto { position: relative; aspect-ratio: 3 / 2; }
.b-tortenet__foto .foto img { position: absolute; inset: 0; }
.b-tortenet__foto figcaption { position: relative; margin-top: var(--ter-48); font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
@media (max-width: 1023px) { .b-tortenet .kontener { grid-template-columns: 1fr; gap: var(--ter-48); } .b-tortenet__foto { order: -1; } }
@media (max-width: 599px) { .b-tortenet__evek { gap: var(--ter-16); } .b-tortenet__evek b { font-size: var(--meret-h4); } }

/* ======================================================================
   BLOKK: velemenyek
   ====================================================================== */
.b-velemenyek__racs { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ter-24); }
.b-velemeny { margin: 0; background: var(--felulet); border-radius: var(--kerek-l); padding: var(--ter-32); display: flex; flex-direction: column; gap: var(--ter-16); box-shadow: var(--arnyek-kicsi); }
.b-velemeny blockquote { margin: 0; font-size: var(--meret-torzs); }
.b-velemeny--nagy { grid-row: span 2; justify-content: center; padding: var(--ter-48); }
.b-velemeny--nagy blockquote { font-family: var(--betu-cim); font-weight: 500; font-size: var(--meret-h3); line-height: 1.25; color: var(--cimsor); }
.b-velemeny__jel { width: 48px; height: 36px; color: var(--szin-sarga-500); }
.b-velemeny figcaption { font-size: var(--meret-kicsi); color: var(--szoveg-halvany); display: flex; align-items: center; gap: var(--ter-8); }
.b-velemeny figcaption svg { width: 18px; height: 18px; }
.b-velemenyek__lab { margin-top: var(--ter-32); display: flex; justify-content: center; }
@media (max-width: 1023px) { .b-velemenyek__racs { grid-template-columns: 1fr; } .b-velemeny--nagy { grid-row: auto; padding: var(--ter-32); } }
@media (max-width: 599px) { .b-velemeny, .b-velemeny--nagy { padding: var(--ter-24); } .b-velemeny--nagy blockquote { font-size: var(--meret-h4); } }

/* ======================================================================
   BLOKK: szallitasi-terulet (+ a lap záró CTA-ja)
   ====================================================================== */
.b-szallitas .kontener { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--ter-64); }
.b-szallitas h2 { color: var(--szin-semleges-900); }
.felulet-zsalya a:not(.gomb) { color: var(--szin-semleges-900); }   /* zöld link zsályán 2,7:1 lenne — tilos */
.b-szallitas__listak { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ter-24); align-items: start; }
.b-szallitas__lista { background: var(--felulet-meleg); border-radius: var(--kerek-l); padding: var(--ter-32); }
.b-szallitas__lista h3 { font-size: var(--meret-h4); color: var(--szin-semleges-900); display: flex; align-items: center; gap: var(--ter-8); margin-bottom: var(--ter-16); }
.b-szallitas__lista h3 svg { width: 24px; height: 24px; flex: none; }
.b-szallitas__lista ul { margin: 0; padding-left: 1.1em; font-size: var(--meret-kicsi); display: grid; gap: var(--ter-8); }
.b-szallitas__lista--nem { background: var(--felulet); }
@media (max-width: 1023px) { .b-szallitas .kontener { grid-template-columns: 1fr; gap: var(--ter-32); } }
@media (max-width: 599px) { .b-szallitas__listak { grid-template-columns: 1fr; gap: var(--ter-16); } .b-szallitas__lista { padding: var(--ter-24); } }

/* ======================================================================
   BLOKK: lablec (+ kötelező Demján támogatói blokk)
   ====================================================================== */
.b-lablec { background: var(--felulet-lablec); color: var(--szin-semleges-100); font-size: var(--meret-kicsi); }
.b-lablec a { color: var(--szin-semleges-0); }
.b-lablec a:hover { color: var(--szin-sarga-500); }
.b-lablec :focus-visible { outline-color: var(--fokusz-sotet); }
.b-lablec__fo { display: grid; grid-template-columns: minmax(0, 3fr) repeat(3, minmax(0, 3fr)); gap: var(--ter-48); padding-block: var(--ter-64); }
.b-lablec__logok { display: flex; gap: var(--ter-16); margin-bottom: var(--ter-24); }
.b-lablec__logok img { width: 88px; height: 88px; }
.b-lablec h2 { font-size: var(--meret-torzs); color: var(--szin-semleges-0); letter-spacing: .06em; margin-bottom: var(--ter-16); }
.b-lablec ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ter-8); }
.b-lablec address { font-style: normal; display: grid; gap: var(--ter-4); }
.b-lablec__social { display: flex; gap: var(--ter-8); margin-top: var(--ter-16); }
.b-lablec__social a { width: 44px; height: 44px; border-radius: 50%; border: var(--keret-vastag) solid var(--szin-semleges-700); display: inline-flex; align-items: center; justify-content: center; }
.b-lablec__social svg { width: 20px; height: 20px; }
.b-tamogatoi { border-top: var(--keret-vekony) solid var(--szin-semleges-800); padding-block: var(--ter-48); }
.b-tamogatoi .kontener { display: flex; align-items: center; gap: var(--ter-48); flex-wrap: wrap; }
.b-tamogatoi__logok { display: flex; align-items: center; gap: var(--ter-48); padding: 19px; }   /* 19px ≈ 5 mm eltartás 96 dpi-n */
.b-tamogatoi__dsp { height: 141px; width: auto; }                                                   /* kötelező: 141 px (50 mm) */
.b-tamogatoi__neum { height: 88px; width: auto; }
.b-tamogatoi p { max-width: 36ch; font-size: var(--meret-torzs); color: var(--szin-semleges-0); }
.b-lablec__also { border-top: var(--keret-vekony) solid var(--szin-semleges-800); padding-block: var(--ter-24); }
.b-lablec__also .kontener { display: flex; justify-content: space-between; gap: var(--ter-16); flex-wrap: wrap; color: var(--szin-semleges-400); }
.b-lablec__also ul { display: flex; flex-wrap: wrap; gap: var(--ter-8) var(--ter-24); }
@media (max-width: 1023px) { .b-lablec__fo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
  .b-lablec__fo { grid-template-columns: 1fr; gap: var(--ter-32); padding-block: var(--ter-48); }
  .b-tamogatoi__logok { flex-direction: column; align-items: flex-start; gap: var(--ter-24); padding: 19px 0; }
}

/* ======================================================================
   BLOKK: oldalfej (belső oldal címe)
   ====================================================================== */
.b-oldalfej { position: relative; background: var(--felulet-meleg); overflow: hidden; padding-block: var(--ter-48) var(--ter-64); }
.b-oldalfej .froccs { width: 420px; height: 398px; right: -80px; top: -120px; opacity: .8; }
.b-oldalfej .kontener { position: relative; display: flex; flex-direction: column; gap: var(--ter-24); }
.morzsa ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ter-8); font-size: var(--meret-kicsi); }
.morzsa li + li::before { content: "/"; margin-right: var(--ter-8); color: var(--szin-semleges-500); }
.morzsa [aria-current] { color: var(--szoveg-halvany); }
@media (max-width: 599px) { .b-oldalfej { padding-block: var(--ter-32) var(--ter-48); } .b-oldalfej .froccs { width: 240px; height: 228px; right: -90px; top: -70px; } }

/* ======================================================================
   BLOKK: helyszin-valaszto (étlap-fül)
   ====================================================================== */
.b-helyvalaszto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ter-12); max-width: 820px; }
.b-helyvalaszto a { display: flex; align-items: center; gap: var(--ter-16); padding: var(--ter-12) var(--ter-24) var(--ter-12) var(--ter-12); background: var(--felulet); border-radius: var(--kerek-gomb); border: var(--keret-vastag) solid var(--keret); text-decoration: none; color: var(--szoveg); }
.b-helyvalaszto a:hover { border-color: var(--szin-marka-600); }
.b-helyvalaszto a[aria-current="page"] { border-color: var(--szin-marka-600); background: var(--szin-marka-600); color: var(--szin-semleges-0); }
.b-helyvalaszto img { width: 56px; height: 56px; border-radius: 50%; background: var(--szin-semleges-0); flex: none; }
.b-helyvalaszto b { display: block; font-family: var(--betu-cim); font-weight: 500; font-size: var(--meret-torzs); line-height: 1.2; }
.b-helyvalaszto span { display: block; font-size: var(--meret-apro); }
.b-helyvalaszto .cimke { margin-left: auto; display: inline-flex; font-size: var(--meret-apro); }
@media (max-width: 599px) {
  .b-helyvalaszto { grid-template-columns: 1fr; }
  .b-helyvalaszto a { border-radius: var(--kerek-m); }
  .b-helyvalaszto img { width: 44px; height: 44px; }
}

/* ======================================================================
   BLOKK: etlap (kategória-csíkok + tétellista + ragadós rendelőkártya)
   ====================================================================== */
.b-etlap { background: var(--felulet); }
.b-etlap__csiksav { position: sticky; top: var(--fejlec-magassag); z-index: 20; background: var(--felulet); border-bottom: var(--keret-vekony) solid var(--keret); }
.b-etlap__csikok { display: flex; gap: var(--ter-8); overflow-x: auto; padding-block: var(--ter-12); scrollbar-width: none; }
.b-etlap__csikok::-webkit-scrollbar { display: none; }
.b-etlap__csikok a { flex: none; display: inline-flex; align-items: center; height: 44px; padding: 0 var(--ter-16); border-radius: var(--kerek-gomb); background: var(--felulet-meleg); color: var(--szoveg); font-weight: 700; font-size: var(--meret-kicsi); text-decoration: none; white-space: nowrap; }
.b-etlap__csikok a:hover { background: var(--szin-marka-100); }
.b-etlap__csikok a[aria-current="true"] { background: var(--szin-marka-600); color: var(--szin-semleges-0); }
.b-etlap__elrendezes { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--ter-64); padding-block: var(--ter-64) var(--szekcio-y); align-items: start; }
.b-etlap__jelmagyarazat { display: flex; flex-wrap: wrap; gap: var(--ter-8) var(--ter-16); align-items: center; font-size: var(--meret-kicsi); padding: var(--ter-16) var(--ter-24); background: var(--felulet-meleg); border-radius: var(--kerek-m); margin-bottom: var(--ter-48); }
.b-kategoria + .b-kategoria { margin-top: var(--ter-64); }
.b-kategoria__fej { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--ter-8) var(--ter-24); padding-bottom: var(--ter-16); border-bottom: var(--keret-vastag) solid var(--szin-marka-600); }
.b-kategoria__fej h2 { font-size: var(--meret-h3); }
.b-kategoria__fej p { grid-column: 1; font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.b-kategoria__meretek, .b-tetel__arak { display: grid; grid-auto-flow: column; grid-auto-columns: 88px; gap: var(--ter-8); text-align: right; }
.b-kategoria__meretek { grid-column: 2; grid-row: 1 / span 2; align-self: end; font-size: var(--meret-apro); font-weight: 700; color: var(--szoveg-halvany); text-transform: uppercase; letter-spacing: .04em; }
.b-kategoria__kep { position: relative; margin: var(--ter-24) 0 var(--ter-8); aspect-ratio: 21 / 8; border-radius: var(--kerek-l); overflow: hidden; }
.b-kategoria__kep img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.b-tetelek { list-style: none; margin: 0; padding: 0; }
.b-tetel { display: grid; grid-template-columns: 1fr auto; gap: var(--ter-4) var(--ter-24); padding-block: var(--ter-16); border-bottom: var(--keret-vekony) solid var(--keret); align-items: baseline; }
.b-tetel__nev { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ter-8); }
.b-tetel__nev h3 { font-size: var(--meret-torzs); line-height: 1.3; color: var(--szoveg); font-weight: 500; }
.b-tetel__nev .cimke { height: 24px; padding: 0 var(--ter-8); font-size: 0.8125rem; }
.b-tetel__leiras { grid-column: 1; font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.b-tetel__arak { grid-column: 2; grid-row: 1 / span 2; font-weight: 700; font-size: var(--meret-kicsi); font-variant-numeric: tabular-nums; }
.b-tetel__arak span[data-meret]::before { content: none; }
.b-kategoria__lab { margin-top: var(--ter-16); font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.b-rendelokartya { position: sticky; top: calc(var(--fejlec-magassag) + 68px + var(--ter-24)); display: flex; flex-direction: column; gap: var(--ter-16); padding: var(--ter-32); border-radius: var(--kerek-l); background: var(--szin-marka-600); color: var(--szin-semleges-100); }
.b-rendelokartya h2 { font-size: var(--meret-h4); color: var(--szin-semleges-0); text-transform: none; }
.b-rendelokartya .gomb { width: 100%; }
.b-rendelokartya dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: var(--ter-4) var(--ter-16); font-size: var(--meret-kicsi); }
.b-rendelokartya dt { font-weight: 700; color: var(--szin-semleges-0); }
.b-rendelokartya dd { margin: 0; }
.b-rendelokartya a:not(.gomb) { color: var(--szin-semleges-0); font-weight: 700; }
.b-rendelokartya__pont { display: flex; gap: var(--ter-12); padding: var(--ter-16); border-radius: var(--kerek-m); background: var(--szin-marka-700); font-size: var(--meret-kicsi); }
.b-rendelokartya__pont b { color: var(--szin-sarga-500); font-family: var(--betu-cim); font-size: var(--meret-h4); line-height: 1; font-weight: 600; flex: none; }
.b-mobilrendeles { display: none; }
@media (max-width: 1023px) {
  .b-etlap__elrendezes { grid-template-columns: 1fr; gap: var(--ter-48); padding-block: var(--ter-48) var(--szekcio-y); }
  .b-rendelokartya { position: static; }
}
@media (max-width: 599px) {
  .b-etlap__jelmagyarazat { padding: var(--ter-16); margin-bottom: var(--ter-32); }
  .b-kategoria__fej { grid-template-columns: 1fr; }
  .b-kategoria__meretek { display: none; }
  .b-kategoria + .b-kategoria { margin-top: var(--ter-48); }
  .b-tetel { grid-template-columns: 1fr; }
  .b-tetel__arak { grid-column: 1; grid-row: auto; grid-auto-flow: row; grid-auto-columns: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ter-8); text-align: left; margin-top: var(--ter-8); }
  .b-tetel__arak span { display: flex; flex-direction: column; padding: var(--ter-4) var(--ter-8); background: var(--felulet-meleg); border-radius: var(--kerek-s); line-height: 1.3; }
  .b-tetel__arak span[data-meret]::before { content: attr(data-meret); font-size: var(--meret-apro); font-weight: 400; color: var(--szoveg-halvany); }
  .b-tetel__arak span[data-meret=""]::before { content: none; }
  .b-kategoria__kep { aspect-ratio: 16 / 9; border-radius: var(--kerek-m); }
  .b-mobilrendeles { display: flex; position: sticky; bottom: 0; z-index: 30; gap: var(--ter-8); padding: var(--ter-12) var(--oldalmargo); background: var(--felulet); box-shadow: 0 -6px 18px rgb(17 17 17 / .10); }
  .b-mobilrendeles .gomb { flex: 1; }
}

/* ======================================================================
   ELEMEK: űrlap
   ====================================================================== */
.mezo { display: flex; flex-direction: column; gap: var(--ter-8); }
.mezo > label, .mezo legend { font-weight: 700; font-size: var(--meret-kicsi); color: var(--szoveg); padding: 0; }
.mezo .kotelezo { color: var(--szin-hiba); }
.mezo__seged { font-size: var(--meret-kicsi); color: var(--szoveg-halvany); }
.mezo__hiba { display: flex; gap: var(--ter-8); align-items: flex-start; font-size: var(--meret-kicsi); font-weight: 700; color: var(--szin-hiba); }
.mezo__hiba svg { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.bemenet {
  width: 100%; min-height: 52px; padding: var(--ter-12) var(--ter-16); border-radius: var(--kerek-m);
  border: var(--keret-vastag) solid var(--keret-mezo); background: var(--felulet); color: var(--szoveg);
  font: inherit; font-size: var(--meret-torzs); line-height: 1.4; transition: border-color .15s ease;
}
.bemenet::placeholder { color: var(--szin-semleges-600); }
.bemenet:hover { border-color: var(--szin-semleges-700); }
.bemenet:focus-visible { outline: var(--fokusz-vastag) solid var(--fokusz); outline-offset: 2px; border-color: var(--szin-semleges-900); border-radius: var(--kerek-m); }
textarea.bemenet { min-height: 140px; resize: vertical; }
select.bemenet { appearance: none; padding-right: var(--ter-48); background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 26px) 50%, calc(100% - 20px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.mezo--hiba .bemenet { border-color: var(--szin-hiba); }
.bemenet:disabled { background: var(--szin-semleges-100); border-color: var(--szin-semleges-300); color: var(--szin-semleges-600); cursor: not-allowed; }
.valasztok { display: grid; gap: var(--ter-12); border: 0; margin: 0; padding: 0; }
.valaszto { display: flex; gap: var(--ter-12); align-items: flex-start; font-size: var(--meret-torzs); cursor: pointer; }
.valaszto input { appearance: none; flex: none; width: 24px; height: 24px; margin: 2px 0 0; border: var(--keret-vastag) solid var(--keret-mezo); background: var(--felulet); border-radius: var(--kerek-s) ; display: grid; place-content: center; cursor: pointer; }
.valaszto input[type="radio"] { border-radius: 50%; }
.valaszto input:checked { background: var(--szin-marka-600); border-color: var(--szin-marka-600); }
.valaszto input[type="checkbox"]:checked::before { content: ""; width: 12px; height: 7px; border: 3px solid var(--szin-semleges-0); border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.valaszto input[type="radio"]:checked::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--szin-semleges-0); }
.valaszto input:focus-visible { outline: var(--fokusz-vastag) solid var(--fokusz); outline-offset: 2px; }
.valaszto input:disabled { background: var(--szin-semleges-100); border-color: var(--szin-semleges-300); cursor: not-allowed; }
.valaszto:has(input:disabled) { color: var(--szin-semleges-600); cursor: not-allowed; }
.feltolto svg { width: 28px; height: 28px; flex: none; color: var(--szin-marka-600); }
.feltolto { display: flex; align-items: center; gap: var(--ter-16); padding: var(--ter-16); border: var(--keret-vastag) dashed var(--keret-mezo); border-radius: var(--kerek-m); background: var(--felulet-meleg); font-size: var(--meret-kicsi); }

/* Hangulatválasztó — a visszajelző űrlap rajzolt arcai (nem emoji, nem a logó) */
.hangulat { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ter-12); border: 0; margin: 0; padding: 0; }
.hangulat label { position: relative; display: flex; flex-direction: column; align-items: center; gap: var(--ter-8); padding: var(--ter-16) var(--ter-8); border-radius: var(--kerek-m); border: var(--keret-vastag) solid var(--keret); background: var(--felulet); cursor: pointer; font-size: var(--meret-kicsi); font-weight: 700; text-align: center; }
.hangulat input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.hangulat svg { width: 56px; height: 56px; }
.hangulat label:has(input:checked) { border-color: var(--szin-marka-600); background: var(--szin-marka-50); }
.hangulat label:has(input:focus-visible) { outline: var(--fokusz-vastag) solid var(--fokusz); outline-offset: 2px; }
@media (max-width: 599px) { .hangulat { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ======================================================================
   ELEMEK: értesítés, táblázat, lapozó, üres állapot
   ====================================================================== */
.ertesites { display: flex; gap: var(--ter-12); align-items: flex-start; padding: var(--ter-16) var(--ter-24); border-radius: var(--kerek-m); font-size: var(--meret-kicsi); border-left: 0; }
.ertesites svg { width: 22px; height: 22px; flex: none; margin-top: 1px; }
.ertesites--siker { background: var(--szin-marka-50); color: var(--szin-marka-800); }
.ertesites--hiba { background: var(--szin-hiba-halvany); color: var(--szin-hiba); }
.ertesites--info { background: var(--szin-sarga-100); color: var(--szin-semleges-900); }
.tablazat { width: 100%; border-collapse: collapse; font-size: var(--meret-kicsi); }
.tablazat th { text-align: left; font-weight: 700; padding: var(--ter-12) var(--ter-16); border-bottom: var(--keret-vastag) solid var(--szin-marka-600); }
.tablazat td { padding: var(--ter-12) var(--ter-16); border-bottom: var(--keret-vekony) solid var(--keret); }
.tablazat tbody tr:nth-child(even) { background: var(--szin-semleges-50); }
.tablazat .szam { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; white-space: nowrap; }
.lapozo { display: flex; gap: var(--ter-8); list-style: none; margin: 0; padding: 0; }
.lapozo a, .lapozo span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 var(--ter-12); border-radius: var(--kerek-gomb); font-weight: 700; text-decoration: none; color: var(--szoveg); background: var(--felulet-meleg); }
.lapozo [aria-current] { background: var(--szin-marka-600); color: var(--szin-semleges-0); }
.ures { display: flex; flex-direction: column; align-items: center; gap: var(--ter-16); text-align: center; padding: var(--ter-48) var(--ter-24); border-radius: var(--kerek-l); background: var(--felulet-meleg); }
.ures img { width: 72px; height: 72px; }

/* ======================================================================
   AI-kép jelölése — szolid, a látványt nem zavarja
   ====================================================================== */
.ai { position: relative; }
.ai::after {
  content: "AI-kép"; position: absolute; right: var(--ter-8); bottom: var(--ter-8); z-index: 3; pointer-events: none;
  padding: 2px var(--ter-8); border-radius: var(--kerek-gomb);
  background: var(--ai-jel-hatter); color: var(--ai-jel-szoveg);
  font-family: var(--betu-torzs); font-size: 0.6875rem; font-weight: 700; letter-spacing: .04em; line-height: 1.6;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}

/* --- mobil menü (2026-09-23) ------------------------------------------------ */
.hamb { position: relative; width: 22px; height: 16px; display: block; }
.hamb i { position: absolute; left: 0; width: 100%; height: 2.5px; border-radius: 2px; background: currentColor; transition: transform .45s cubic-bezier(.34,1.56,.64,1), opacity .2s ease, top .3s ease; }
.hamb i:nth-child(1) { top: 0; } .hamb i:nth-child(2) { top: 6.75px; } .hamb i:nth-child(3) { top: 13.5px; }
.b-fejlec__hamburger.nyitva { background: var(--szin-semleges-900); border-color: var(--szin-semleges-900); color: var(--szin-semleges-0); }
.b-fejlec__hamburger.nyitva .hamb i:nth-child(1) { top: 6.75px; transform: rotate(45deg); }
.b-fejlec__hamburger.nyitva .hamb i:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.b-fejlec__hamburger.nyitva .hamb i:nth-child(3) { top: 6.75px; transform: rotate(-45deg); }
.b-fejlec__hamburger:focus-visible { outline: 3px solid var(--fokusz); outline-offset: 2px; }
.b-fejlec { z-index: 70; }
.menu-nyitva { overflow: hidden; }
.mobilmenu[hidden] { display: none; }
.mobilmenu { position: fixed; z-index: 65; left: 0; right: 0; bottom: 0; top: var(--menu-top, 64px); background: var(--szin-marka-600); color: var(--szin-semleges-100); overflow-y: auto; overscroll-behavior: contain; clip-path: inset(0 0 100% 0); transition: clip-path .45s cubic-bezier(.7,0,.2,1); }
.mobilmenu.nyitva { clip-path: inset(0 0 0 0); }
.mobilmenu__belso { min-height: 100%; display: flex; flex-direction: column; gap: var(--ter-32); padding: var(--ter-32) var(--oldalmargo) max(var(--ter-32), env(safe-area-inset-bottom)); }
.mobilmenu__lista { list-style: none; margin: 0; padding: 0; display: grid; }
.mobilmenu__lista li { border-bottom: var(--keret-vekony) solid rgb(255 255 255 / .18); opacity: 0; transform: translateY(18px); transition: opacity .35s ease, transform .5s cubic-bezier(.34,1.56,.64,1); transition-delay: 0s; }
.mobilmenu.nyitva .mobilmenu__lista li { opacity: 1; transform: none; transition-delay: calc(.12s + var(--i) * .045s); }
.mobilmenu__lista a { display: flex; align-items: center; justify-content: space-between; min-height: 60px; font-family: var(--betu-cim); font-weight: 600; font-size: clamp(1.75rem, 1.2rem + 3vw, 2.5rem); text-transform: uppercase; color: var(--szin-semleges-0); text-decoration: none; }
.mobilmenu__lista a::after { content: "→"; font-family: var(--betu-torzs); font-size: .7em; color: var(--szin-sarga-500); transition: transform .25s ease; }
.mobilmenu__lista a:active::after, .mobilmenu__lista a:hover::after { transform: translateX(6px); }
.mobilmenu__lista a[aria-current="page"] { color: var(--szin-sarga-500); }
.mobilmenu a:focus-visible { outline: 3px solid var(--fokusz-sotet); outline-offset: 3px; border-radius: 4px; }
.mobilmenu__helyek { display: grid; gap: var(--ter-12); opacity: 0; transition: opacity .4s ease .35s; }
.mobilmenu.nyitva .mobilmenu__helyek, .mobilmenu.nyitva .mobilmenu__lab { opacity: 1; }
.mobilmenu__helyek a { position: relative; display: flex; align-items: center; gap: var(--ter-12); padding: var(--ter-8) var(--ter-16) var(--ter-8) var(--ter-8); border-radius: var(--kerek-gomb); background: rgb(255 255 255 / .1); border: var(--keret-vekony) solid rgb(255 255 255 / .28); color: var(--szin-semleges-100); text-decoration: none; font-size: var(--meret-kicsi); line-height: 1.25; }
.mobilmenu__helyek img { width: 44px; height: 44px; border-radius: 50%; background: var(--szin-semleges-0); padding: 2px; }
.mobilmenu__helyek b { display: block; color: var(--szin-semleges-0); font-size: var(--meret-torzs); }
.mobilmenu__lab { margin-top: auto; display: grid; gap: var(--ter-16); justify-items: start; opacity: 0; transition: opacity .4s ease .42s; }
.mobilmenu__lab .gomb { width: 100%; justify-content: center; }
.mobilmenu__tel { display: inline-flex; align-items: center; gap: var(--ter-8); color: var(--szin-semleges-0); font-weight: 700; font-size: var(--meret-lead); text-decoration: none; }
.mobilmenu__tel svg { width: 22px; height: 22px; }
.mobilmenu__social { display: flex; gap: var(--ter-8); }
.mobilmenu__social a { width: 48px; height: 48px; border-radius: 50%; border: var(--keret-vekony) solid rgb(255 255 255 / .4); display: flex; align-items: center; justify-content: center; color: var(--szin-semleges-0); }
.mobilmenu__social svg { width: 22px; height: 22px; }
.bh__hamarosan { position: absolute; top: -9px; right: var(--ter-16); font-style: normal; font-size: .6875rem; font-weight: 700; line-height: 1; letter-spacing: .04em; text-transform: uppercase; padding: 4px 8px; border-radius: var(--kerek-gomb); background: var(--szin-sarga-500); color: var(--szin-semleges-900); box-shadow: 0 2px 6px rgb(0 0 0 / .18); rotate: 3deg; white-space: nowrap; }
@media (min-width: 1024px) { .mobilmenu { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .mobilmenu, .mobilmenu__lista li, .mobilmenu__helyek, .mobilmenu__lab, .hamb i { transition: none !important; } }

/* ==========================================================================
   WordPress-illesztés (nem a látványterv része, hanem a blokktéma sajátja)
   ========================================================================== */
/* A sablonrész-csomagoló ne legyen doboz: így a fejléc a <body>-hoz képest
   tud ragadni (sticky), nem a saját, pont akkora wrapperéhez (4k/13). */
.lucky-resz { display: contents; }
.lucky-fo > .wp-block-post-content { margin: 0; }
.lucky-fo > * { margin-block: 0; }
