/*
  DIZÁJN TOKENEK
  Téma: régi horgászcsalis dobozok, kézzel írt árcédulák, mélyvíz.
  Szín: mélytengeri navy (szerkezet) + csont/krém (alap) + sárgaréz (akcent) + rozsda (CTA/kiemelés).
  Betű: Fraunces (karakteres, kicsit ódivatú display) + Work Sans (tiszta body) + IBM Plex Mono (cédula/SKU adatok).
  A betűtöltés a layout.php <head>-jében történik (<link rel="preconnect"> + <link rel="stylesheet">),
  NEM itt @import-tal — az @import render-blockoló lenne és lassítaná az oldalbetöltést.
*/

:root {
    --navy: #16323E;
    --navy-light: #234456;
    --cream: #F1ECDE;
    --cream-deep: #E6DFC9;
    --brass: #B8892F;
    --rust: #A8492E;
    --ink: #201C16;
    --line: rgba(32, 28, 22, 0.15);

    --font-display: 'Fraunces', serif;
    --font-body: 'Work Sans', sans-serif;
    --font-mono: 'IBM Plex Mono', monospace;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family: var(--font-body);
    line-height: 1.5;
}

a { color: inherit; }

/* --- FEJLÉC --- */
.fejlec {
    background: var(--navy);
    color: var(--cream);
    padding: 1.1rem 1.5rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 3px solid var(--brass);
}
.fejlec .bolt-nev {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    text-decoration: none;
}
.fejlec .slogen {
    font-size: 0.8rem;
    opacity: 0.75;
    font-style: italic;
}
.fejlec nav a {
    color: var(--cream);
    text-decoration: none;
    margin-left: 1.25rem;
    font-size: 0.9rem;
    border-bottom: 1px solid transparent;
}
.fejlec nav a:hover { border-bottom-color: var(--brass); }

/* Admin globális kereső (admin/_nav.php + admin/globalis_kereses.php) */
#admin-kereses-wrap { position: relative; display: inline-block; vertical-align: middle; margin-right: 1rem; }
#admin-kereses {
    width: 230px; padding: 0.35rem 0.7rem; border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.08);
    color: var(--cream); font-size: 0.85rem;
}
#admin-kereses::placeholder { color: rgba(245,240,230,0.55); }
#admin-kereses:focus { outline: none; border-color: var(--brass); background: rgba(255,255,255,0.14); }
#admin-kereses-eredmeny {
    display: none; position: absolute; top: calc(100% + 4px); left: 0; width: 340px; max-height: 380px;
    overflow-y: auto; background: var(--cream); border: 1px solid var(--line); border-radius: 8px;
    box-shadow: 0 10px 28px rgba(0,0,0,0.25); z-index: 1000; text-align: left;
}
.admin-kereses-csoport {
    padding: 6px 12px 3px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.04em; color: var(--navy-light);
}
.admin-kereses-sor {
    display: block; padding: 8px 12px; font-size: 0.85rem; color: var(--navy);
    border-bottom: 1px solid var(--line); text-decoration: none;
}
.admin-kereses-sor:hover, .admin-kereses-sor.kivalasztva { background: var(--cream-deep); }
.admin-kereses-halvany { color: var(--navy-light); font-size: 0.78rem; }
.admin-kereses-nincs { padding: 10px 12px; font-size: 0.85rem; color: var(--navy-light); }
@media (max-width: 900px) {
    #admin-kereses { width: 160px; }
    #admin-kereses-eredmeny { width: 280px; }
}


.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

h1, h2, h3 {
    font-family: var(--font-display);
    font-weight: 600;
    color: var(--navy);
    margin-top: 0;
}
h1 { font-size: 2rem; }

/* --- TERMÉKRÁCS --- */
.termek-racs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1.75rem 1.5rem;
    margin-top: 1.5rem;
}

/* Signature elem: a kártya olyan, mint egy fonálra kötött árcédula egy horgászdobozból. */
.termek-kartya {
    position: relative;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 1.1rem 1rem 1rem;
    text-decoration: none;
    color: var(--ink);
    display: block;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.termek-kartya:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(22, 50, 62, 0.12);
}
.termek-kartya::before {
    /* kis "lyuk" a cédula tetején */
    content: '';
    position: absolute;
    top: -7px;
    left: 1.2rem;
    width: 14px;
    height: 14px;
    background: var(--cream);
    border: 2px solid var(--navy);
    border-radius: 50%;
}
.termek-kep {
    width: 100%;
    aspect-ratio: 4/3;
    background: var(--cream-deep);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy-light);
    font-size: 0.75rem;
    overflow: hidden;
    margin-bottom: 0.75rem;
}
.termek-kep img { width: 100%; height: 100%; object-fit: cover; }

.termek-sku {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    color: var(--navy-light);
    letter-spacing: 0.03em;
}
.termek-nev {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.05rem;
    margin: 0.2rem 0 0.4rem;
    color: var(--navy);
}
.termek-ar {
    font-family: var(--font-mono);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--rust);
}

.allapot-cimke {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    padding: 0.15rem 0.5rem;
    border-radius: 20px;
    margin-top: 0.5rem;
    border: 1px solid var(--brass);
    color: var(--brass);
}
.allapot-cimke.ujszeru { border-color: #3f7d5c; color: #3f7d5c; }
.allapot-cimke.hasznalt_kopott { border-color: var(--rust); color: var(--rust); }

/* --- KEDVENCEK ("figyelőlista") gomb — kártyákon az árcédula-kép jobb felső sarkában.
   A ".kedvenc-form" a ".termek-kartya"-val TESTVÉR elem (nem beágyazva bele), mert egy
   <form>/<button> nem kerülhet érvényesen egy <a> (interaktív tartalom) belsejébe —
   ehhez a kártyát egy pozicionált ".termek-kartya-wrap" csomagolja. */
.termek-kartya-wrap {
    position: relative;
}
.kedvenc-form {
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    margin: 0;
    z-index: 2;
}
.kedvenc-gomb {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--navy-light);
    font-size: 1.05rem;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.1s ease, color 0.1s ease, border-color 0.1s ease;
}
.kedvenc-gomb:hover {
    transform: scale(1.08);
}
.kedvenc-gomb.aktiv {
    color: var(--rust);
    border-color: var(--rust);
}
/* Nagyobb, szöveges változat a termékoldalon (nem kártyán, hanem az adatok mellett). */
.kedvenc-gomb-nagy {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--navy-light);
    cursor: pointer;
}
.kedvenc-gomb-nagy.aktiv {
    color: var(--rust);
    border-color: var(--rust);
}

/* --- GOMBOK --- */
.gomb {
    display: inline-block;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.4rem;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    background: var(--rust);
    color: #fff;
    transition: background 0.15s ease;
}
.gomb:hover { background: #8f3c23; }
.gomb.masodlagos {
    background: transparent;
    color: var(--navy);
    border: 1px solid var(--navy);
}
.gomb.masodlagos:hover { background: var(--navy); color: #fff; }
.gomb.whatsapp-gomb {
    background: #25D366;
    color: #fff;
    border-color: #25D366;
}
.gomb.whatsapp-gomb:hover { background: #1ea952; color: #fff; }

/* --- TERMÉKVIDEÓ (16:9, reszponzív) --- */
.video-beagyazas {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 6px;
    overflow: hidden;
    background: #000;
}
.video-beagyazas iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border: none;
}

/* --- ŰRLAPOK (admin) --- */
.urlap-mezo { margin-bottom: 1.1rem; }
.urlap-mezo label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
    color: var(--navy);
}
.urlap-mezo input, .urlap-mezo select, .urlap-mezo textarea {
    width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--line);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.95rem;
    background: #fff;
}
.urlap-mezo textarea { resize: vertical; min-height: 80px; }

/* --- ADMIN TÁBLA --- */
table.admin-tabla { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
table.admin-tabla th, table.admin-tabla td {
    text-align: left;
    padding: 0.6rem 0.5rem;
    border-bottom: 1px solid var(--line);
}
table.admin-tabla th { font-family: var(--font-mono); font-size: 0.72rem; color: var(--navy-light); text-transform: uppercase; }

/* --- LAPOZÓ --- */
.lapozo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 1.5rem 0;
    font-size: 0.9rem;
    font-family: var(--font-mono);
}
.lapozo a, .lapozo span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 0.5rem;
    border-radius: 4px;
    text-decoration: none;
}
.lapozo a {
    color: var(--navy);
    border: 1px solid var(--line);
    background: #fff;
}
.lapozo a:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.lapozo .lapozo-aktiv {
    background: var(--rust);
    color: #fff;
    font-weight: 600;
}
.lapozo .lapozo-inaktiv {
    color: var(--navy-light);
    opacity: 0.5;
}
.lapozo .lapozo-pontok {
    color: var(--navy-light);
    min-width: auto;
    padding: 0 0.15rem;
}

.jelzes {
    padding: 0.8rem 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}
.jelzes.hiba { background: #fbe6e0; color: var(--rust); border: 1px solid var(--rust); }
.jelzes.siker { background: #e5f0e8; color: #3f7d5c; border: 1px solid #3f7d5c; }

.lablec {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--navy-light);
    font-size: 0.8rem;
    border-top: 1px solid var(--line);
    margin-top: 3rem;
}

.ures-allapot {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--navy-light);
    font-style: italic;
}

/* --- GYIK (kibontható kérdések) --- */
.gyik-csoport { margin-bottom: 2rem; }
.gyik-csoport h2 {
    font-size: 1.15rem;
    border-bottom: 2px solid var(--brass);
    padding-bottom: 0.4rem;
    margin-bottom: 0.8rem;
}
.gyik-tetel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    margin-bottom: 0.6rem;
    padding: 0 1rem;
}
.gyik-tetel summary {
    cursor: pointer;
    padding: 0.85rem 0;
    font-weight: 600;
    color: var(--navy);
    list-style: none;
}
.gyik-tetel summary::-webkit-details-marker { display: none; }
.gyik-tetel summary::before {
    content: '+';
    display: inline-block;
    width: 1.2em;
    color: var(--rust);
    font-weight: 700;
}
.gyik-tetel[open] summary::before { content: '−'; }
.gyik-tetel p { margin: 0 0 0.9rem; color: var(--ink); }

/* Kínálat-szűrő form (index.php) — mobilon egy oszlopba rendezve */
@media (max-width: 720px) {
    .szuro-form {
        grid-template-columns: 1fr !important;
    }
}

/* Admin gyorsstatisztika (admin/index.php) — auto-fit, így mobilon magától
   kevesebb oszlopba rendeződik, nem kell hozzá külön media query. */
.gyorsstat-racs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}
.gyorsstat-kartya {
    background: #fff;
    border-radius: 6px;
    padding: 0.9rem;
    text-align: center;
}
.gyorsstat-szam {
    font-size: 1.4rem;
    font-weight: 600;
}
.gyorsstat-cimke {
    font-size: 0.75rem;
    color: var(--navy-light);
}

/* Admin "Legkelendőbb márkák/típusok" — két oszlop, mobilon egy alá. */
.legkelendobb-racs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
@media (max-width: 720px) {
    .legkelendobb-racs {
        grid-template-columns: 1fr;
    }
}

/* Termékoldal (kép + adatok) és pénztár (űrlap + összesítő) — mobilon egy oszlopba,
   hogy a fotó és az űrlap ne préselődjön össze keskeny képernyőn. */
@media (max-width: 720px) {
    .termek-elrendezes,
    .penztar-elrendezes {
        grid-template-columns: 1fr !important;
    }
}


/* V42.9 — mobil pénztár UX */
.penztar-osszesito {
    position: sticky;
    top: 1rem;
}
.penztar-osszesito .admin-tabla {
    width: 100%;
}
@media (max-width: 720px) {
    .penztar-elrendezes {
        gap: 1rem !important;
    }
    .penztar-elrendezes form {
        order: 1;
    }
    .penztar-osszesito {
        order: 2;
        position: static;
        background: var(--cream);
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 1rem;
    }
    .penztar-elrendezes form > .urlap-mezo {
        margin-bottom: 1rem;
    }
    .penztar-elrendezes form button[type="submit"] {
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }
    .penztar-elrendezes form input,
    .penztar-elrendezes form select {
        min-height: 44px;
        font-size: 16px;
    }
}

/* --- AI CHATBOT WIDGET (lebegő gomb + panel, ld. includes/chatbot_helper.php + assets/chatbot.js) --- */
.vizualisan-rejtett {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

#chatbot-widget {
    position: fixed;
    right: 1.2rem;
    bottom: 1.2rem;
    z-index: 900;
    font-family: var(--font-body);
}
#chatbot-nyito-gomb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--rust);
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 0.75rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(32, 28, 22, 0.25);
}
#chatbot-nyito-gomb:hover { background: #8f3c23; }
@media (max-width: 480px) {
    .chatbot-nyito-felirat { display: none; }
    #chatbot-nyito-gomb { padding: 0.75rem; border-radius: 50%; font-size: 1.2rem; }
}

#chatbot-panel {
    position: fixed;
    right: 1.2rem;
    bottom: 5.2rem;
    width: min(340px, calc(100vw - 2.4rem));
    max-height: min(520px, calc(100vh - 7rem));
    background: var(--cream);
    border: 1px solid var(--line);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(32, 28, 22, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
#chatbot-panel[hidden] { display: none; }

#chatbot-panel-fejlec {
    background: var(--navy);
    color: var(--cream);
    padding: 0.7rem 0.9rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-display);
    font-weight: 600;
    border-bottom: 3px solid var(--brass);
}
#chatbot-bezar-gomb {
    background: transparent;
    border: none;
    color: var(--cream);
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 0.2rem;
}

#chatbot-uzenetek {
    flex: 1;
    overflow-y: auto;
    padding: 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    font-size: 0.88rem;
}
.chatbot-buborek {
    padding: 0.5rem 0.7rem;
    border-radius: 10px;
    max-width: 88%;
    white-space: pre-line;
}
.chatbot-buborek.bot {
    background: #fff;
    border: 1px solid var(--line);
    align-self: flex-start;
    border-bottom-left-radius: 2px;
}
.chatbot-buborek.felhasznalo {
    background: var(--navy);
    color: var(--cream);
    align-self: flex-end;
    border-bottom-right-radius: 2px;
}
.chatbot-buborek.rendszer {
    background: var(--cream-deep);
    color: var(--navy);
    align-self: center;
    font-size: 0.8rem;
    text-align: center;
}
.chatbot-ajanlott-termekek {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-width: 88%;
    align-self: flex-start;
}
.chatbot-ajanlott-termek {
    display: block;
    background: #fff;
    border: 1px solid var(--brass);
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font-size: 0.83rem;
    text-decoration: none;
    color: var(--ink);
}
.chatbot-ajanlott-termek:hover { border-color: var(--rust); }
.chatbot-ajanlott-termek .chatbot-ajanlott-ar {
    display: block;
    font-family: var(--font-mono);
    color: var(--rust);
    font-weight: 600;
}
.chatbot-gepel {
    align-self: flex-start;
    font-size: 0.8rem;
    color: var(--navy-light);
    font-style: italic;
}

#chatbot-form {
    display: flex;
    gap: 0.5rem;
    padding: 0.6rem;
    border-top: 1px solid var(--line);
    background: #fff;
}
#chatbot-input {
    flex: 1;
    resize: none;
    max-height: 90px;
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.5rem;
    font-family: var(--font-body);
    font-size: 0.88rem;
}
#chatbot-kuldes-gomb {
    background: var(--rust);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 0 0.9rem;
    font-size: 1rem;
    cursor: pointer;
}
#chatbot-kuldes-gomb:disabled { opacity: 0.5; cursor: default; }
#chatbot-kuldes-gomb:not(:disabled):hover { background: #8f3c23; }

#chatbot-panel-lablec {
    font-size: 0.72rem;
    color: var(--navy-light);
    padding: 0.4rem 0.7rem 0.6rem;
    margin: 0;
    background: #fff;
}

/* V41 admin mobil finomhangolás */
@media (max-width: 720px) {
    .fejlec { align-items: flex-start; }
    .fejlec nav { width: 100%; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: .35rem; }
    .fejlec nav a { display: inline-block; margin-right: .55rem; }
    .container { width: min(100% - 1.1rem, 1100px); }
    .admin-tabla { min-width: 680px; }
    .gyorsstat-racs { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .gyorsstat-kartya { padding: .85rem; }
}
@media (max-width: 480px) {
    .gyorsstat-racs { grid-template-columns: 1fr; }
    .gomb { width: 100%; box-sizing: border-box; text-align: center; }
    form[style*="display:inline"] .gomb { width: auto; }
}

/* V42.7 PWA + mobilbarát finomhangolások */
.pwa-telepites-gomb { display:none; }
@media (max-width:720px) {
    .fejlec { padding: 1rem; }
    .fejlec nav { display:flex; flex-wrap:wrap; gap:.35rem .65rem; }
    .fejlec nav a { font-size:.82rem; padding:.25rem 0; }
    .container { width:100%; box-sizing:border-box; padding-left:1rem; padding-right:1rem; }
    input, select, textarea, button { font-size:16px; } /* iOS zoom elkerülése */
    .pwa-telepites-gomb { display:inline-flex; align-items:center; gap:.35rem; margin:.5rem 0 1rem; }
}

/* V51 — kosár költségkalkulátor */
.kosar-kalkulator{margin:1.25rem 0;padding:1.2rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-width:760px}
.kosar-kalkulator h2{margin:0 0 .35rem;font-size:1.15rem}
.kalkulator-segitseg,.kalkulator-jogi{font-size:.82rem;color:var(--navy-light);margin:.35rem 0 .9rem}
.kalkulator-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kalkulator-grid label{display:block;font-weight:600;margin-bottom:.35rem}
.kalkulator-grid select{width:100%;box-sizing:border-box}
.kalkulator-eredmeny{margin-top:1rem;border-top:1px solid #e5e7eb}
.kalkulator-eredmeny>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #f0f0f0}
.kalkulator-vegosszeg{font-size:1.08rem;padding-top:.8rem!important}
.kalkulator-ingyenes{font-size:.84rem;margin:.75rem 0 0;padding:.65rem;background:#f5f8f2;border-radius:6px}
@media(max-width:640px){.kalkulator-grid{grid-template-columns:1fr}.kosar-kalkulator{padding:1rem}}

/* =========================================================
   WOBBLER ADMIN — PREMIUM / NIGHT LOUNGE UI
   Inspired by the visual language of the requested reference:
   deep night tones, warm accent, glass panels, oversized type,
   generous spacing. Backend/markup remains unchanged.
   ========================================================= */
body:has(.fejlec) {
    --admin-bg: #0b0d10;
    --admin-panel: rgba(22, 25, 30, .86);
    --admin-panel-strong: #15191f;
    --admin-text: #f2eee5;
    --admin-muted: #9b9b96;
    --admin-line: rgba(242,238,229,.11);
    --admin-accent: #c9a66b;
    --admin-accent-2: #e1c894;
    background:
        radial-gradient(circle at 15% 0%, rgba(201,166,107,.10), transparent 30rem),
        radial-gradient(circle at 90% 15%, rgba(77,95,112,.13), transparent 34rem),
        var(--admin-bg);
    color: var(--admin-text);
    min-height: 100vh;
}

body:has(.fejlec) .fejlec {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(11,13,16,.88);
    color: var(--admin-text);
    border-bottom: 1px solid rgba(201,166,107,.32);
    box-shadow: 0 12px 40px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 1rem clamp(1rem, 3vw, 2.2rem);
    align-items: center;
}

body:has(.fejlec) .fejlec .bolt-nev {
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    letter-spacing: .01em;
    color: var(--admin-text);
}

body:has(.fejlec) .fejlec nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .15rem;
    max-width: 78vw;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-bottom: 2px;
}

body:has(.fejlec) .fejlec nav a {
    color: rgba(242,238,229,.72);
    border: 0;
    border-radius: 999px;
    padding: .55rem .72rem;
    font-size: .78rem;
    white-space: nowrap;
    transition: .2s ease;
}
body:has(.fejlec) .fejlec nav a:hover {
    color: var(--admin-text);
    background: rgba(255,255,255,.06);
    border-bottom-color: transparent;
    transform: translateY(-1px);
}

body:has(.fejlec) #admin-kereses-wrap {
    position: relative;
    min-width: min(360px, 28vw);
    order: -1;
    margin-right: .45rem;
}
body:has(.fejlec) #admin-kereses {
    width: 100%;
    min-width: 220px;
    border: 1px solid var(--admin-line);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: var(--admin-text);
    padding: .72rem 1rem;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
    transition: .2s ease;
}
body:has(.fejlec) #admin-kereses::placeholder { color: #85857f; }
body:has(.fejlec) #admin-kereses:focus {
    border-color: rgba(201,166,107,.65);
    background: rgba(255,255,255,.08);
    box-shadow: 0 0 0 4px rgba(201,166,107,.08);
}
body:has(.fejlec) #admin-kereses-eredmeny {
    background: rgba(20,23,28,.98);
    border: 1px solid var(--admin-line);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(0,0,0,.48);
    overflow: hidden;
    margin-top: .5rem;
}
body:has(.fejlec) .admin-kereses-csoport {
    color: var(--admin-accent-2);
    background: rgba(201,166,107,.07);
    border-bottom: 1px solid var(--admin-line);
}
body:has(.fejlec) .admin-kereses-sor { color: var(--admin-text); }
body:has(.fejlec) .admin-kereses-sor:hover,
body:has(.fejlec) .admin-kereses-sor.kivalasztva { background: rgba(255,255,255,.07); }
body:has(.fejlec) .admin-kereses-halvany,
body:has(.fejlec) .admin-kereses-nincs { color: var(--admin-muted); }

body:has(.fejlec) .container {
    width: min(1500px, calc(100% - 2rem));
    margin: 0 auto;
    padding: clamp(1.4rem, 3vw, 3rem) 0 4rem;
}

body:has(.fejlec) .gyorsstat-racs {
    gap: 1rem;
    margin-bottom: 1rem;
}
body:has(.fejlec) .gyorsstat-kartya,
body:has(.fejlec) .admin-tabla,
body:has(.fejlec) .termek-kartya,
body:has(.fejlec) .kosar-kalkulator {
    background: var(--admin-panel);
    color: var(--admin-text);
    border: 1px solid var(--admin-line);
    border-radius: 20px;
    box-shadow: 0 14px 50px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
body:has(.fejlec) .gyorsstat-kartya {
    padding: 1.2rem 1.25rem;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
body:has(.fejlec) .gyorsstat-kartya:hover {
    transform: translateY(-2px);
    border-color: rgba(201,166,107,.28);
    background: rgba(25,29,35,.92);
}
body:has(.fejlec) .gyorsstat-szam {
    color: var(--admin-text);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    letter-spacing: -.02em;
}
body:has(.fejlec) .gyorsstat-cimke {
    color: var(--admin-muted);
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

body:has(.fejlec) h1,
body:has(.fejlec) h2,
body:has(.fejlec) h3 {
    color: var(--admin-text);
    font-family: var(--font-display);
    letter-spacing: -.025em;
}
body:has(.fejlec) h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.02; }
body:has(.fejlec) h2 { font-size: clamp(1.45rem, 2.4vw, 2.15rem); }
body:has(.fejlec) p,
body:has(.fejlec) label,
body:has(.fejlec) td,
body:has(.fejlec) th { color: inherit; }

body:has(.fejlec) .admin-tabla {
    width: 100%;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}
body:has(.fejlec) .admin-tabla th {
    background: rgba(255,255,255,.035);
    color: var(--admin-muted);
    border-color: var(--admin-line);
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .72rem;
}
body:has(.fejlec) .admin-tabla td {
    border-color: var(--admin-line);
}
body:has(.fejlec) .admin-tabla tr:hover td { background: rgba(255,255,255,.025); }

body:has(.fejlec) input,
body:has(.fejlec) select,
body:has(.fejlec) textarea {
    background: rgba(255,255,255,.055);
    color: var(--admin-text);
    border: 1px solid var(--admin-line);
    border-radius: 12px;
    padding: .72rem .8rem;
    outline: none;
}
body:has(.fejlec) input:focus,
body:has(.fejlec) select:focus,
body:has(.fejlec) textarea:focus {
    border-color: rgba(201,166,107,.62);
    box-shadow: 0 0 0 4px rgba(201,166,107,.07);
}
body:has(.fejlec) option { background: #171a1f; color: var(--admin-text); }

body:has(.fejlec) .gomb {
    border: 1px solid rgba(201,166,107,.42);
    border-radius: 999px;
    background: linear-gradient(135deg, #c9a66b, #a9824a);
    color: #17130d;
    box-shadow: 0 8px 25px rgba(201,166,107,.13);
    font-weight: 600;
    transition: transform .2s ease, filter .2s ease;
}
body:has(.fejlec) .gomb:hover { filter: brightness(1.08); transform: translateY(-1px); background: linear-gradient(135deg, #d5b477, #b78e53); }
body:has(.fejlec) .gomb.masodlagos {
    background: rgba(255,255,255,.055);
    color: var(--admin-text);
    border-color: var(--admin-line);
}
body:has(.fejlec) .gomb.masodlagos:hover { background: rgba(255,255,255,.1); color: var(--admin-text); }

body:has(.fejlec) .jelzes,
body:has(.fejlec) .figyelmezetetes-sav {
    border-radius: 14px !important;
    box-shadow: 0 10px 35px rgba(0,0,0,.15);
}
body:has(.fejlec) .jelzes.siker { background: rgba(73,137,94,.13); border-color: rgba(105,183,126,.4); color: #bfe5c8; }
body:has(.fejlec) .jelzes.hiba { background: rgba(168,73,46,.13); border-color: rgba(213,105,77,.42); color: #f0b4a2; }
body:has(.fejlec) .ures-allapot { color: var(--admin-muted); }
body:has(.fejlec) .lablec { color: var(--admin-muted); border-top-color: var(--admin-line); }
body:has(.fejlec) .lapozo a,
body:has(.fejlec) .lapozo span { background: rgba(255,255,255,.045); color: var(--admin-text); border-color: var(--admin-line); border-radius: 10px; }
body:has(.fejlec) .lapozo a:hover,
body:has(.fejlec) .lapozo .lapozo-aktiv { background: rgba(201,166,107,.18); color: var(--admin-text); border-color: rgba(201,166,107,.35); }

@media (max-width: 980px) {
    body:has(.fejlec) .fejlec { align-items: flex-start; flex-direction: column; }
    body:has(.fejlec) .fejlec nav { max-width: 100%; width: 100%; justify-content: flex-start; }
    body:has(.fejlec) #admin-kereses-wrap { width: 100%; min-width: 0; order: 0; margin: .2rem 0 .45rem; }
    body:has(.fejlec) #admin-kereses { min-width: 0; }
}
@media (max-width: 640px) {
    body:has(.fejlec) .container { width: min(100% - 1rem, 1500px); padding-top: 1rem; }
    body:has(.fejlec) .gyorsstat-racs { grid-template-columns: 1fr 1fr; }
    body:has(.fejlec) .gyorsstat-kartya { border-radius: 16px; padding: .9rem; }
}

/* =========================================================
   V62 PREMIUM BUYER UI — a Soothical-szerű, editorial storefront
   A meglévő funkciók és backend változatlanok maradnak.
   ========================================================= */
:root {
    --navy: #101b22;
    --navy-light: #30434b;
    --cream: #f3efe5;
    --cream-deep: #e5decd;
    --brass: #c59a52;
    --rust: #9b4932;
    --ink: #191816;
    --line: rgba(25,24,22,.13);
    --shadow-soft: 0 18px 50px rgba(16,27,34,.09);
}

body {
    background:
        radial-gradient(circle at 15% 0%, rgba(197,154,82,.08), transparent 28rem),
        var(--cream);
}
.container { max-width: 1180px; padding: 0 1.35rem 3rem; }

/* Header */
.fejlec {
    position: sticky;
    top: 0;
    z-index: 90;
    padding: .85rem 1.35rem;
    background: rgba(16,27,34,.96);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(197,154,82,.55);
}
.fejlec-belso {
    width: min(1180px, 100%);
    margin: 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
}
.fejlec .bolt-nev {
    font-size:1.35rem;
    letter-spacing:.035em;
    white-space:nowrap;
}
.fejlec-jobb { display:flex; align-items:center; gap:.8rem; }
.fejlec nav { display:flex; align-items:center; gap:.15rem; }
.fejlec nav a {
    margin:0;
    padding:.5rem .55rem;
    border:0;
    border-radius:999px;
    font-size:.78rem;
    opacity:.9;
}
.fejlec nav a:hover { background:rgba(255,255,255,.08); border:0; }
.fejlec nav .nav-kosar {
    color:var(--navy);
    background:var(--cream);
    padding:.5rem .8rem;
    opacity:1;
}
.mobil-menu-gomb { display:none; }

/* Hero */
.shop-hero {
    position:relative;
    overflow:hidden;
    min-height:540px;
    margin:0 -1.35rem 0;
    padding:6.5rem clamp(1.35rem, 7vw, 6rem) 3rem;
    color:var(--cream);
    background:
        linear-gradient(90deg, rgba(16,27,34,.98) 0%, rgba(16,27,34,.92) 46%, rgba(16,27,34,.58) 100%),
        radial-gradient(circle at 76% 35%, rgba(197,154,82,.35), transparent 25rem),
        #162a32;
}
.shop-hero::after {
    content:"";
    position:absolute;
    width:34rem; height:34rem;
    right:-12rem; top:-10rem;
    border:1px solid rgba(197,154,82,.25);
    border-radius:50%;
    box-shadow:0 0 0 70px rgba(197,154,82,.035), 0 0 0 140px rgba(197,154,82,.02);
}
.shop-hero > * { position:relative; z-index:1; }
.shop-hero-kicker, .szekcio-sorszam {
    font-family:var(--font-mono);
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.68rem;
    color:var(--brass);
}
.shop-hero h1 {
    max-width:760px;
    margin:.8rem 0 1rem;
    color:var(--cream);
    font-size:clamp(3rem, 7vw, 6.6rem);
    line-height:.91;
    letter-spacing:-.045em;
}
.shop-hero h1 em { color:#d8bc83; font-style:normal; }
.shop-hero-lead {
    max-width:620px;
    color:rgba(243,239,229,.78);
    font-size:1.05rem;
}
.shop-hero-actions { display:flex; align-items:center; gap:1.3rem; margin-top:2rem; flex-wrap:wrap; }
.shop-hero-cta { padding:.85rem 1.35rem; background:var(--brass); color:#182127; }
.shop-hero-cta:hover { background:#d7b56f; color:#182127; }
.hero-text-link { color:var(--cream); text-decoration:none; border-bottom:1px solid rgba(243,239,229,.45); padding-bottom:.2rem; }
.shop-hero-meta {
    display:flex; gap:1.8rem; flex-wrap:wrap;
    margin-top:4rem; padding-top:1rem;
    border-top:1px solid rgba(243,239,229,.18);
    color:rgba(243,239,229,.65);
    font-size:.78rem;
}
.shop-hero-meta strong { color:var(--cream); margin-right:.25rem; }

/* Trust strip */
.bizalmi-sav {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    margin:0 -1.35rem 4rem;
    background:var(--line);
    border-bottom:1px solid var(--line);
}
.bizalmi-sav > div {
    background:rgba(255,255,255,.55);
    padding:1.35rem 1.5rem;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:.8rem;
    align-items:center;
}
.bizalmi-ikon {
    grid-row:span 2;
    font-family:var(--font-mono);
    font-size:.68rem;
    color:var(--brass);
}
.bizalmi-sav strong { font-family:var(--font-display); color:var(--navy); }
.bizalmi-sav small { color:var(--navy-light); font-size:.74rem; }

/* Catalogue heading */
.kinalat-fejlec {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:1.4rem;
}
.kinalat-fejlec h2 { margin:.25rem 0 .2rem; font-size:2.2rem; }
.kinalat-fejlec p { margin:0; color:var(--navy-light); }

/* Filters */
.szuro-form {
    box-shadow:var(--shadow-soft);
    border:1px solid var(--line) !important;
    background:rgba(255,255,255,.72) !important;
    backdrop-filter:blur(10px);
}
.szuro-form .urlap-mezo label { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.urlap-mezo input, .urlap-mezo select, .urlap-mezo textarea {
    border-radius:3px;
    background:#fff;
}
.urlap-mezo input:focus, .urlap-mezo select:focus, .urlap-mezo textarea:focus {
    outline:2px solid rgba(197,154,82,.35);
    border-color:var(--brass);
}

/* Product cards */
.termek-racs { grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:1.4rem; }
.termek-kartya {
    border:1px solid rgba(25,24,22,.1);
    border-radius:2px;
    padding:.65rem .65rem 1rem;
    background:rgba(255,255,255,.84);
    box-shadow:0 2px 0 rgba(25,24,22,.03);
}
.termek-kartya::before { display:none; }
.termek-kartya:hover { transform:translateY(-5px); box-shadow:var(--shadow-soft); }
.termek-kep {
    aspect-ratio:1/1;
    border-radius:1px;
    margin-bottom:.9rem;
    background:#e8e1d1;
}
.termek-kep img { transition:transform .35s ease; }
.termek-kartya:hover .termek-kep img { transform:scale(1.035); }
.termek-sku { font-size:.62rem; opacity:.7; }
.termek-nev { font-size:1.12rem; margin:.28rem 0 .5rem; }
.termek-ar { font-size:1.02rem; color:var(--navy); font-weight:700; }
.allapot-cimke { margin-top:.65rem; font-size:.61rem; letter-spacing:.04em; text-transform:uppercase; }

/* Generic surfaces */
.ures-allapot, .jelzes {
    border-radius:2px !important;
    box-shadow:0 8px 30px rgba(16,27,34,.05);
}
.lablec {
    margin-top:4rem;
    padding:3rem 1.35rem;
    background:var(--navy);
    color:var(--cream);
    border-top:1px solid var(--brass);
}
.lablec a { color:inherit; }

/* Mobile */
@media (max-width: 900px) {
    .fejlec { position:relative; }
    .mobil-menu-gomb {
        display:block;
        border:1px solid rgba(243,239,229,.25);
        background:transparent;
        color:var(--cream);
        border-radius:999px;
        padding:.45rem .75rem;
        cursor:pointer;
        font:600 .78rem var(--font-body);
    }
    .fejlec nav {
        display:none;
        position:absolute;
        right:1.35rem;
        top:calc(100% + .55rem);
        width:min(300px, calc(100vw - 2.7rem));
        padding:.65rem;
        flex-direction:column;
        align-items:stretch;
        background:var(--navy);
        border:1px solid rgba(197,154,82,.35);
        box-shadow:0 18px 45px rgba(0,0,0,.25);
        border-radius:8px;
    }
    .fejlec nav.menu-nyitva { display:flex; }
    .fejlec nav a { padding:.72rem .8rem; border-radius:5px; }
    .shop-hero { min-height:500px; padding-top:4.8rem; }
    .shop-hero h1 { font-size:clamp(2.8rem, 14vw, 5rem); }
    .bizalmi-sav { grid-template-columns:1fr; margin-bottom:3rem; }
    .bizalmi-sav > div { padding:1rem 1.2rem; }
}
@media (max-width: 600px) {
    .container { padding-left:1rem; padding-right:1rem; }
    .shop-hero { margin-left:-1rem; margin-right:-1rem; padding-left:1rem; padding-right:1rem; }
    .shop-hero-meta { gap:.7rem 1.2rem; margin-top:2.5rem; }
    .termek-racs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
    .termek-kartya { padding:.45rem .45rem .75rem; }
    .termek-nev { font-size:.92rem; }
    .termek-ar { font-size:.88rem; }
    .szuro-form { grid-template-columns:1fr !important; }
}

/* V62.1 — vevői fejléc kosár gomb: a globális premium nav-szabály ne írja felül a kontrasztot */
body:has(.fejlec) .fejlec nav a.nav-kosar {
    color: var(--navy) !important;
    background: var(--cream) !important;
    opacity: 1;
    border: 0;
    font-weight: 600;
}
body:has(.fejlec) .fejlec nav a.nav-kosar:hover,
body:has(.fejlec) .fejlec nav a.nav-kosar:focus-visible {
    color: var(--navy) !important;
    background: var(--cream-deep) !important;
    border: 0;
    transform: translateY(-1px);
}

/* Wobbler Börze marketplace module */
.borze-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:2rem;align-items:center;margin:0 0 2.2rem;padding:4.5rem 4rem;min-height:480px;background:radial-gradient(circle at 78% 45%,rgba(181,25,25,.22),transparent 32%),linear-gradient(135deg,#080a0d,#14171b 58%,#080a0d);color:#f4f1e8;border:1px solid rgba(180,24,24,.4);box-shadow:0 24px 60px rgba(0,0,0,.24)}
.borze-hero:after{content:"";position:absolute;inset:auto -8% -42% 35%;height:65%;border:1px solid rgba(225,39,31,.18);border-radius:50%;transform:rotate(-9deg);pointer-events:none}
.borze-hero-copy{position:relative;z-index:1}.borze-kicker{font:600 .72rem 'IBM Plex Mono',monospace;letter-spacing:.16em;color:#e02a24}.borze-hero h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.92;letter-spacing:-.055em;margin:.75rem 0 1.2rem;max-width:800px}.borze-hero h1 em{font-style:normal;color:#e12b24}.borze-hero p{max-width:650px;font-size:1.05rem;line-height:1.65;color:#c9c8c4}.borze-hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.8rem}.borze-piros-gomb{background:#d92620!important;color:#fff!important;border-color:#f0433c!important}.borze-hero .hero-text-link{color:#eee}.borze-hero-badge{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:1.5rem;border:1px solid rgba(220,220,220,.18);background:rgba(0,0,0,.24);box-shadow:inset 0 0 60px rgba(255,255,255,.025)}.borze-hero-badge img{width:min(100%,390px);max-height:190px;object-fit:contain;mix-blend-mode:screen}.borze-hero-badge strong{font-size:4rem;line-height:1;color:#f1eee5;margin-top:.8rem}.borze-hero-badge span{font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#aaa}.borze-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:4rem}.borze-strip>div{padding:1.35rem;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:.75rem}.borze-strip>div:last-child{border-right:0}.borze-strip b{grid-row:1/3;color:#d82721;font:500 .72rem 'IBM Plex Mono',monospace}.borze-strip strong{font-size:.78rem;letter-spacing:.08em}.borze-strip span{font-size:.78rem;color:var(--navy-light);margin-top:.2rem}.borze-szekcio-fej{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.borze-szekcio-fej span{font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.15em;color:#c52a25}.borze-szekcio-fej h2{margin:.25rem 0 0;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.03em}.borze-szekcio-fej p{margin:.35rem 0 0;color:var(--navy-light);font-size:.86rem}.borze-szekcio-fej>a{color:var(--navy);font-weight:600;white-space:nowrap}.borze-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:4.5rem}.borze-mini-card{display:grid;gap:.25rem;padding:.6rem;background:#fff;border:1px solid var(--line);color:inherit;text-decoration:none;transition:.2s ease}.borze-mini-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(0,0,0,.08)}.borze-mini-kep{aspect-ratio:1/1;background:#0c0e11;overflow:hidden;display:grid;place-items:center}.borze-mini-kep img{width:100%;height:100%;object-fit:cover}.borze-mini-kep span{color:#999;font-size:.8rem}.borze-mini-card small{font:500 .62rem 'IBM Plex Mono',monospace;color:#777;margin-top:.35rem}.borze-mini-card strong{font-size:.94rem}.borze-mini-card>b{font-size:.92rem;margin:.15rem 0 .35rem}.borze-szuro{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.65rem;padding:1rem;background:#111418;border:1px solid #2a2e33;margin:0 0 1.5rem}.borze-szuro input,.borze-szuro select{min-width:0;background:#0b0d10;color:#f2efe8;border:1px solid #363b42;border-radius:2px;padding:.75rem .8rem}.borze-szuro input::placeholder{color:#888}.borze-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.borze-card{background:#fff;border:1px solid var(--line);min-width:0;transition:.2s ease}.borze-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.08)}.borze-card-link{display:block;color:inherit;text-decoration:none}.borze-card-kep{position:relative;aspect-ratio:1/1;background:#0b0d10;overflow:hidden}.borze-card-kep img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.borze-card:hover .borze-card-kep img{transform:scale(1.035)}.borze-allapot{position:absolute;left:.6rem;top:.6rem;padding:.3rem .45rem;background:rgba(7,9,11,.82);border:1px solid rgba(224,224,224,.2);color:#fff;font:500 .58rem 'IBM Plex Mono',monospace;letter-spacing:.05em;text-transform:uppercase}.borze-card-body{padding:.75rem}.borze-card-body small{display:block;min-height:1.2em;color:#777;font:500 .62rem 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em}.borze-card-body h3{margin:.25rem 0 .45rem;font-size:1rem;line-height:1.2}.borze-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;color:#777;font-size:.68rem;margin-bottom:.65rem}.borze-card-meta span{border:1px solid var(--line);padding:.18rem .35rem}.borze-card-body>strong{font-size:1rem}.borze-kozosseg{display:grid;grid-template-columns:1fr 260px;gap:2rem;align-items:center;margin:5rem 0 1rem;padding:3rem;background:linear-gradient(135deg,#0b0d10,#181b20);color:#eee;border:1px solid #2b2f35}.borze-kozosseg h2{font-size:clamp(2rem,4vw,4rem);line-height:.98;margin:.5rem 0 1rem;letter-spacing:-.04em}.borze-kozosseg p{max-width:720px;color:#b9bab9;line-height:1.7}.borze-modul-statusz{display:inline-block;margin-top:.5rem;color:#e42d27;font:600 .7rem 'IBM Plex Mono',monospace;letter-spacing:.08em}.borze-kozosseg-mark{text-align:center;font:800 2.8rem/.85 'IBM Plex Mono',monospace;color:#ddd;opacity:.8}.borze-kozosseg-mark em{font-style:normal;color:#e12b24;font-size:1.2rem}
@media(max-width:900px){.borze-hero{grid-template-columns:1fr;padding:3rem 2rem}.borze-hero-badge{min-height:230px}.borze-strip{grid-template-columns:repeat(2,1fr)}.borze-strip>div:nth-child(2){border-right:0}.borze-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.borze-mini-grid,.borze-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.borze-szuro{grid-template-columns:1fr 1fr}.borze-szuro input{grid-column:1/-1}.borze-kozosseg{grid-template-columns:1fr}}
@media(max-width:600px){.borze-hero{margin-left:-1rem;margin-right:-1rem;padding:2.7rem 1rem}.borze-hero h1{font-size:clamp(2.8rem,14vw,4.4rem)}.borze-strip{margin-left:-1rem;margin-right:-1rem}.borze-strip>div{padding:.9rem}.borze-mini-grid,.borze-grid{gap:.7rem}.borze-szuro{grid-template-columns:1fr}.borze-szuro input{grid-column:auto}.borze-kozosseg{margin-left:-1rem;margin-right:-1rem;padding:2rem 1rem}.borze-kozosseg-mark{display:none}}


/* =========================================================
   WOBBLER BÖRZE — főoldali márkaélmény / V63+
   ========================================================= */
.wb-home-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;min-height:620px;margin:0 0 0;padding:5rem 4rem;background:radial-gradient(circle at 78% 48%,rgba(224,37,31,.18),transparent 28%),radial-gradient(circle at 55% 80%,rgba(255,255,255,.05),transparent 30%),linear-gradient(135deg,#050608,#0d1014 55%,#050608);color:#f3f1ea;border:1px solid rgba(224,40,34,.35);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.wb-home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.025) 48.2%,transparent 48.5%),repeating-linear-gradient(160deg,transparent 0 70px,rgba(255,255,255,.012) 71px,transparent 72px);pointer-events:none}
.wb-home-hero:after{content:"";position:absolute;width:720px;height:720px;right:-280px;top:-220px;border:1px solid rgba(224,39,31,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(224,39,31,.025),0 0 0 90px rgba(224,39,31,.018);pointer-events:none}
.wb-home-hero-copy,.wb-home-hero-art{position:relative;z-index:1}
.wb-kicker{font:600 .72rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.18em;color:#e02b25}
.wb-home-hero h1{font-family:var(--font-body);font-weight:900;font-size:clamp(3.5rem,7vw,7.2rem);line-height:.86;letter-spacing:-.065em;color:#f2f0e9;margin:.8rem 0 .55rem;text-transform:uppercase}
.wb-home-hero h1 span{color:#e12b25}
.wb-hero-slogan{font-size:clamp(1.35rem,2.2vw,2rem);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;color:#d9d7d0}
.wb-hero-lead{max-width:600px;color:#aaa9a6;font-size:1rem;line-height:1.7;margin:0}
.wb-hero-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.wb-red-btn{background:#df2a24!important;color:#fff!important;border:1px solid #f14b45!important;box-shadow:0 10px 30px rgba(223,42,36,.18);text-transform:uppercase;letter-spacing:.04em}
.wb-red-btn:hover{background:#bd211d!important}
.wb-hero-link{color:#e6e4de;text-decoration:none;font:600 .75rem 'IBM Plex Mono',monospace;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.25rem}
.wb-hero-stats{display:flex;gap:2.2rem;margin-top:3.2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.13);max-width:620px}
.wb-hero-stats div{display:flex;flex-direction:column}
.wb-hero-stats strong{font-size:1.4rem;line-height:1;color:#f1eee7}
.wb-hero-stats span{font:500 .62rem 'IBM Plex Mono',monospace;color:#8f9192;text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem}
.wb-home-hero-art{min-height:470px;display:grid;place-items:center}
.wb-home-hero-art img{width:min(100%,560px);height:auto;filter:drop-shadow(0 28px 32px rgba(0,0,0,.7));position:relative;z-index:2}
.wb-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(218,35,30,.18),transparent 66%);filter:blur(4px)}
.wb-hookline{position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.65rem;white-space:nowrap;font:600 .68rem 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#aaa}
.wb-hookline b{color:#df2a24}
.wb-hookline span{width:55px;height:1px;background:#df2a24;display:inline-block}
.wb-ad-banner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem 2.2rem;margin:0 0 2rem;background:#0a0c0f;color:#eee;border:1px solid #25292e;border-top:0;box-shadow:0 18px 45px rgba(0,0,0,.12)}
.wb-ad-kicker{font:600 .65rem 'IBM Plex Mono',monospace;color:#df2a24;letter-spacing:.18em}
.wb-ad-banner h2{font-family:var(--font-body);font-weight:900;font-size:clamp(1.4rem,2.7vw,2.5rem);line-height:.98;margin:.4rem 0 .55rem;color:#eee;letter-spacing:-.035em}
.wb-ad-banner h2 em{font-style:normal;color:#df2a24}
.wb-ad-banner p{margin:0;color:#999;font-size:.86rem}
.wb-ad-url{font:800 1.15rem 'IBM Plex Mono',monospace;letter-spacing:.15em;white-space:nowrap;color:#c9c7c1}.wb-ad-url span{color:#df2a24}
.wb-feature-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 3.6rem;background:#0b0d10;color:#ddd;border:1px solid #272b30}
.wb-feature-strip>div{min-height:150px;padding:1.25rem 1rem;border-right:1px solid #292d32;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.wb-feature-strip>div:last-child{border-right:0}
.wb-feature-icon{width:54px;height:54px;border:1px solid #df2a24;border-radius:14px;display:grid;place-items:center;color:#e5e2da;font-size:1.4rem;margin-bottom:.7rem;box-shadow:inset 0 0 18px rgba(223,42,36,.05)}
.wb-feature-strip strong{font-size:.72rem;letter-spacing:.07em;color:#ddd}
.wb-feature-strip small{font-size:.68rem;line-height:1.45;color:#888;margin-top:.25rem;max-width:180px}
.wb-home-callout{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.2rem 2.5rem;margin:0 0 3.5rem;background:linear-gradient(100deg,#15181c,#090b0e);color:#eee;border-left:4px solid #df2a24}
.wb-home-callout span{font:600 .65rem 'IBM Plex Mono',monospace;color:#df2a24;letter-spacing:.15em}
.wb-home-callout h2{font-family:var(--font-body);font-weight:900;font-size:clamp(1.7rem,3vw,2.8rem);margin:.35rem 0 .3rem;color:#eee;letter-spacing:-.03em}
.wb-home-callout p{margin:0;color:#999;font-size:.86rem}
@media(max-width:1000px){.wb-home-hero{grid-template-columns:1fr;padding:3.5rem 2rem}.wb-home-hero-art{min-height:340px}.wb-home-hero-copy{order:1}.wb-home-hero-art{order:2}.wb-feature-strip{grid-template-columns:repeat(2,1fr)}.wb-feature-strip>div:nth-child(2n){border-right:0}.wb-feature-strip>div{border-bottom:1px solid #292d32}.wb-feature-strip>div:last-child{grid-column:1/-1;border-bottom:0}.wb-ad-banner{flex-direction:column;align-items:flex-start}.wb-home-callout{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.wb-home-hero{min-height:0;margin-left:-1rem;margin-right:-1rem;padding:3rem 1.2rem}.wb-home-hero h1{font-size:clamp(3rem,17vw,5rem)}.wb-hero-stats{gap:1rem;flex-wrap:wrap}.wb-home-hero-art{min-height:280px}.wb-home-hero-art img{max-width:340px}.wb-hookline{bottom:.5rem;font-size:.52rem}.wb-hookline span{width:25px}.wb-feature-strip{grid-template-columns:1fr}.wb-feature-strip>div,.wb-feature-strip>div:nth-child(2n){border-right:0}.wb-feature-strip>div:last-child{grid-column:auto}.wb-ad-banner{padding:1.5rem}.wb-ad-url{font-size:.82rem}.wb-home-callout{padding:1.5rem}}


/* =========================================================
   V64.1 — WOBBLER BÖRZE FOOTER / ALSÓ ZÓNA
   A régi világos hírlevél + kékes footer helyett egységes
   fekete / grafit / ezüst / piros márkafelület.
   ========================================================= */
.wb-site-footer{margin-top:5rem!important;padding:0!important;background:#07090b!important;color:#d9d7d0!important;border-top:1px solid rgba(224,42,36,.55)!important;position:relative;overflow:hidden}
.wb-site-footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(224,42,36,.08),transparent 24rem),repeating-linear-gradient(155deg,transparent 0 110px,rgba(255,255,255,.018) 111px,transparent 112px)}
.wb-footer-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:3rem 1.35rem 1.2rem}
.wb-newsletter{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(360px,1fr);align-items:center;gap:1.5rem;padding:1.7rem 1.8rem;margin-bottom:3rem;border:1px solid rgba(224,42,36,.55);background:linear-gradient(110deg,#101317,#080a0c);box-shadow:0 18px 55px rgba(0,0,0,.35)}
.wb-newsletter-mark{width:64px;height:64px;border:1px solid #df2a24;display:grid;place-items:center;color:#e8e5dc;font-size:1.5rem;clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%);box-shadow:inset 0 0 22px rgba(223,42,36,.08)}
.wb-footer-kicker{display:block;font:700 .65rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.18em;color:#df2a24;text-transform:uppercase}
.wb-newsletter h2{font-family:var(--font-display);font-weight:800;color:#efede6;font-size:clamp(1.45rem,2.6vw,2.15rem);letter-spacing:-.025em;margin:.3rem 0 .25rem;text-transform:uppercase}
.wb-newsletter p{margin:0;color:#9b9c9e;font-size:.82rem;line-height:1.55;max-width:610px}
.wb-newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}
.wb-newsletter-form input{min-width:0;height:46px;padding:0 .9rem;background:#07090b!important;color:#f0eee8!important;border:1px solid #4a4d51!important;border-radius:0!important;box-shadow:none!important}
.wb-newsletter-form input::placeholder{color:#777a7d}
.wb-footer-btn{height:46px;padding:0 1rem;background:#df2a24;color:#fff;border:1px solid #f14b45;font:800 .68rem 'IBM Plex Mono',monospace;letter-spacing:.03em;cursor:pointer;white-space:nowrap}
.wb-footer-btn:hover{background:#bd211d}
.wb-newsletter-success,.wb-newsletter-error{padding:.8rem 1rem;border:1px solid rgba(223,42,36,.55);background:#0a0c0f;color:#ddd;font-size:.8rem}
.wb-newsletter-error{color:#f0b4a2}
.wb-honeypot{position:absolute;left:-9999px}
.wb-footer-grid{display:grid;grid-template-columns:1.25fr repeat(2,.8fr) 1.25fr;gap:2rem;padding:0 0 2.4rem}
.wb-footer-brand{padding-right:2rem;border-right:1px solid #292d31}
.wb-footer-brand img{display:block;width:min(220px,100%);height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5));margin-bottom:1rem}
.wb-footer-brand p{font:600 .72rem/1.7 'IBM Plex Mono',monospace;letter-spacing:.16em;color:#c3c2bd;margin:0}
.wb-footer-rule{display:block;width:70px;height:1px;background:#df2a24;margin-top:1rem;box-shadow:28px 0 0 rgba(223,42,36,.25)}
.wb-footer-col{display:flex;flex-direction:column;gap:.55rem;padding-right:1rem;border-right:1px solid #292d31}
.wb-footer-col a{color:#a9aaac;text-decoration:none;font-size:.78rem;transition:color .2s ease,transform .2s ease}
.wb-footer-col a:hover{color:#fff;transform:translateX(3px)}
.wb-footer-col-last{border-right:0;padding-right:0}
.wb-footer-col-last p{margin:.15rem 0;color:#9b9c9e;font-size:.8rem;line-height:1.65}
.wb-footer-note{font-size:.7rem!important;color:#6f7275!important;margin-top:.6rem!important}
.wb-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #292d31;font-family:'IBM Plex Mono',monospace}
.wb-footer-bottom>span{font-size:.95rem;letter-spacing:.22em;color:#c9c7c1}.wb-footer-bottom>span span{color:#df2a24}
.wb-footer-bottom small{color:#696c70;font-size:.62rem;letter-spacing:.04em}
.wb-empty-state{min-height:220px!important;margin:1rem 0 2rem!important;border:1px dashed #393d42!important;background:radial-gradient(circle at 50% 0,rgba(224,42,36,.06),transparent 45%),#090b0e!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center;color:#8f9194!important;position:relative;overflow:hidden}
.wb-empty-state:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(145deg,transparent 0 80px,rgba(255,255,255,.012) 81px,transparent 82px);pointer-events:none}
.wb-empty-hook{font-size:3rem;line-height:1;color:#df2a24;transform:rotate(-18deg);opacity:.75;margin-bottom:.25rem}
.wb-empty-state strong{font-family:var(--font-display);font-size:1.5rem;color:#eee9df;letter-spacing:.01em;position:relative}
.wb-empty-state>span{font-size:.8rem;position:relative}
.wb-empty-state .gomb{margin-top:.7rem;position:relative}
@media(max-width:900px){.wb-newsletter{grid-template-columns:auto 1fr}.wb-newsletter-form-wrap{grid-column:1/-1}.wb-footer-grid{grid-template-columns:1fr 1fr}.wb-footer-brand{grid-column:1/-1;border-right:0;border-bottom:1px solid #292d31;padding:0 0 1.5rem}.wb-footer-col:nth-child(3){border-right:0}.wb-footer-col-last{grid-column:1/-1;border-top:1px solid #292d31;padding-top:1.5rem}}
@media(max-width:600px){.wb-footer-inner{padding-left:1rem;padding-right:1rem}.wb-newsletter{grid-template-columns:1fr;padding:1.3rem;gap:.9rem}.wb-newsletter-mark{width:52px;height:52px}.wb-newsletter-form{grid-template-columns:1fr}.wb-footer-btn{width:100%}.wb-footer-grid{grid-template-columns:1fr;gap:1.5rem}.wb-footer-brand{grid-column:auto}.wb-footer-col{border-right:0;border-bottom:1px solid #292d31;padding:0 0 1.2rem}.wb-footer-col-last{grid-column:auto;border-top:0;border-bottom:0;padding-top:0}.wb-footer-bottom{flex-direction:column;align-items:flex-start}.wb-empty-state{margin-left:0!important;margin-right:0!important}}


/* =========================================================
   V66 — BÖRZE CONVERSION TUNING
   ========================================================= */
body.wb-front {
    background:
        radial-gradient(circle at 12% 0%, rgba(224,42,36,.07), transparent 24rem),
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.025), transparent 26rem),
        #07090b;
    color:#e8e6df;
}
body.wb-front .container { width:min(1180px, calc(100% - 2rem)); padding-top:0; }
body.wb-front .fejlec { background:rgba(5,7,9,.96); border-bottom-color:rgba(224,42,36,.55); }
body.wb-front .fejlec .bolt-nev { color:#f2efe8; }
.wb-brand-link { display:flex; align-items:center; }
.wb-brand-link img { width:148px; height:auto; display:block; filter:drop-shadow(0 5px 12px rgba(0,0,0,.5)); }
body.wb-front .fejlec nav a { color:#d9d7d0; }
body.wb-front .fejlec nav a:hover { color:#fff; background:rgba(224,42,36,.08); }
body.wb-front .fejlec nav .nav-kosar { background:#eeeae0!important; color:#101214!important; }

body.wb-front .kinalat-fejlec { margin-top:2.5rem; }
body.wb-front .kinalat-fejlec h2,
body.wb-front .kinalat-fejlec p { color:#eeeae2; }
body.wb-front .kinalat-fejlec p { color:#8f9295; }
body.wb-front .szekcio-sorszam { color:#df2a24; }

/* Search/filter area */
body.wb-front .szuro-form {
    display:grid!important;
    background:linear-gradient(135deg,#111419,#0b0d10)!important;
    border:1px solid #2d3238!important;
    box-shadow:0 18px 50px rgba(0,0,0,.3)!important;
    padding:1rem!important;
    border-radius:2px!important;
}
body.wb-front .szuro-form .urlap-mezo label { color:#92969a; }
body.wb-front .szuro-form input,
body.wb-front .szuro-form select {
    background:#080a0d!important; color:#eee!important; border-color:#353a40!important; border-radius:2px!important;
}
body.wb-front .szuro-form input::placeholder { color:#666b70; }
body.wb-front .szuro-form input:focus,
body.wb-front .szuro-form select:focus { border-color:#df2a24!important; box-shadow:0 0 0 3px rgba(223,42,36,.09)!important; }
body.wb-front .szuro-form .gomb { background:#df2a24!important; color:#fff!important; border-color:#f04a43!important; }
body.wb-front .szuro-form .gomb.masodlagos { background:transparent!important; color:#ddd!important; border-color:#3b4045!important; }
.wb-quick-filters { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:-.45rem 0 2.5rem; font:600 .62rem 'IBM Plex Mono',monospace; letter-spacing:.08em; }
.wb-quick-filters>span { color:#df2a24; margin-right:.2rem; }
.wb-quick-filters a { color:#a8abad; text-decoration:none; border:1px solid #30353a; padding:.42rem .58rem; background:#0c0f12; }
.wb-quick-filters a:hover { color:#fff; border-color:#df2a24; background:#111418; }

/* Monthly catch */
.wb-month-catch { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:2rem; align-items:stretch; margin:1rem 0 3.2rem; padding:1px; background:linear-gradient(110deg,#df2a24,rgba(223,42,36,.18),#30343a); }
.wb-month-catch-copy { padding:2.5rem; background:radial-gradient(circle at 80% 30%,rgba(223,42,36,.1),transparent 16rem),#0b0d10; }
.wb-month-catch-copy h2 { color:#eee9df; font-size:clamp(2rem,4vw,3.6rem); line-height:.98; margin:.35rem 0 .6rem; }
.wb-month-catch-copy p { color:#9b9da0; margin:0 0 1rem; }
.wb-month-catch-copy>strong { display:block; color:#fff; font:700 1.45rem 'IBM Plex Mono',monospace; margin-bottom:1.2rem; }
.wb-month-catch-art { min-height:300px; display:grid; place-items:center; background:#07090b; overflow:hidden; }
.wb-month-catch-art img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.wb-month-catch-art:hover img { transform:scale(1.035); }
.wb-month-catch-art span { color:#6f7478; }

/* Product cards */
body.wb-front .termek-racs { gap:1rem; }
body.wb-front .termek-kartya {
    background:linear-gradient(160deg,#111419,#0b0d10)!important;
    color:#eee!important;
    border:1px solid #2a2f35!important;
    border-radius:2px!important;
    box-shadow:0 12px 35px rgba(0,0,0,.25)!important;
    padding:.55rem .55rem .8rem!important;
}
body.wb-front .termek-kartya:hover { border-color:rgba(223,42,36,.6)!important; box-shadow:0 20px 45px rgba(0,0,0,.4)!important; }
body.wb-front .termek-kep { background:#07090b!important; border:1px solid #1f2328; }
body.wb-front .termek-sku { color:#666b70!important; }
body.wb-front .termek-nev { color:#eeeae2!important; font-family:var(--font-body)!important; font-weight:600!important; }
body.wb-front .termek-ar { color:#fff!important; font-family:'IBM Plex Mono',monospace!important; }
.wb-card-topline,.wb-card-price-row,.wb-product-price-row { display:flex; justify-content:space-between; align-items:center; gap:.6rem; }
.wb-card-meta { display:flex; gap:.4rem; flex-wrap:wrap; margin:.35rem 0 .6rem; }
.wb-card-meta span { font:500 .6rem 'IBM Plex Mono',monospace; color:#85898d; border:1px solid #2e3338; padding:.2rem .32rem; }
.wb-badge { font:600 .55rem 'IBM Plex Mono',monospace; letter-spacing:.06em; padding:.24rem .35rem; }
.wb-badge-new { color:#fff; background:#df2a24; border:1px solid #f04a43; }
.wb-stock-badge { display:inline-block; color:#df2a24; border:1px solid rgba(223,42,36,.55); padding:.25rem .38rem; font:700 .55rem 'IBM Plex Mono',monospace; letter-spacing:.06em; white-space:nowrap; }
.wb-stock-large { font-size:.62rem; padding:.35rem .5rem; }
body.wb-front .allapot-cimke { color:#9ea2a5!important; }

/* Empty / cart */
body.wb-front .wb-empty-state { background:radial-gradient(circle at 50% 0,rgba(224,42,36,.07),transparent 45%),#090b0e!important; border-color:#34393f!important; color:#8d9195!important; }
body.wb-front .wb-empty-state strong { color:#eee9df!important; }
body.wb-front .wb-empty-state .gomb { background:#df2a24!important; color:#fff!important; border-color:#f04a43!important; }
.wb-cart-empty { margin-top:1rem!important; }

/* Product page conversion */
body.wb-front .wb-product-cta { background:#df2a24!important; color:#fff!important; border-color:#f04a43!important; }
body.wb-front .wb-product-cta:hover { background:#b91f1a!important; }
body.wb-front .wb-product-price-row { justify-content:flex-start; align-items:center; flex-wrap:wrap; }

@media(max-width:900px){
    .wb-brand-link img { width:132px; }
    .wb-month-catch { grid-template-columns:1fr; }
    .wb-month-catch-art { min-height:240px; }
}
@media(max-width:600px){
    .wb-brand-link img { width:120px; }
    .wb-quick-filters { margin-bottom:1.8rem; }
    .wb-month-catch-copy { padding:1.5rem; }
    .wb-month-catch-copy h2 { font-size:2.1rem; }
    .wb-card-meta { display:none; }
    .wb-card-price-row { align-items:flex-end; }
}

/* =========================================================
   V66.1 — MOBILE REPAIR
   A mobil fejléc nem lóghat rá a tartalomra; a hero/logó és
   a hosszú CTA-k kis kijelzőn külön tördelést kapnak.
   ========================================================= */
html, body { overflow-x: hidden; }

@media (max-width: 1100px) {
    body.wb-front .fejlec {
        position: sticky;
        top: 0;
        z-index: 1000;
        padding: .65rem .85rem;
    }
    body.wb-front .fejlec-belso {
        min-height: 48px;
        gap: .75rem;
    }
    body.wb-front .fejlec-jobb {
        margin-left: auto;
        flex: 0 0 auto;
    }
    body.wb-front .mobil-menu-gomb {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 74px;
        min-height: 40px;
        padding: .5rem .8rem;
        border: 1px solid rgba(223,42,36,.65);
        border-radius: 4px;
        background: #0b0d10;
        color: #f2efe8;
        font: 700 .68rem 'IBM Plex Mono',monospace;
        letter-spacing: .08em;
        text-transform: uppercase;
        box-shadow: none;
    }
    body.wb-front .fejlec nav {
        display: none;
        position: absolute;
        top: calc(100% + 6px);
        left: .85rem;
        right: .85rem;
        width: auto;
        max-width: none;
        margin: 0;
        padding: .45rem;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        background: rgba(7,9,11,.985);
        border: 1px solid rgba(223,42,36,.5);
        border-radius: 4px;
        box-shadow: 0 20px 50px rgba(0,0,0,.65);
    }
    body.wb-front .fejlec nav.menu-nyitva { display: flex; }
    body.wb-front .fejlec nav a {
        display: block;
        width: 100%;
        margin: 0;
        padding: .78rem .85rem;
        border-radius: 2px;
        font-size: .72rem;
        line-height: 1.2;
        text-align: left;
        background: transparent;
    }
    body.wb-front .fejlec nav a:hover,
    body.wb-front .fejlec nav a:focus-visible {
        background: rgba(223,42,36,.1);
    }
    body.wb-front .fejlec nav .nav-kosar {
        text-align: left;
        margin-top: 3px;
    }

    body.wb-front .container {
        width: 100%;
        max-width: 1180px;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    body.wb-front .wb-home-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        margin-left: -1rem;
        margin-right: -1rem;
        padding: 2.6rem 1rem 2.2rem;
        gap: 1.2rem;
    }
    body.wb-front .wb-home-hero-copy { order: 1; min-width: 0; }
    body.wb-front .wb-home-hero-art {
        order: 2;
        min-height: 0;
        height: auto;
        padding: .5rem 0 2.2rem;
    }
    body.wb-front .wb-home-hero-art img {
        display: block;
        width: min(92vw, 430px);
        max-width: 100%;
        height: auto;
        object-fit: contain;
        filter: drop-shadow(0 18px 24px rgba(0,0,0,.72));
    }
    body.wb-front .wb-glow {
        width: min(78vw, 330px);
        height: min(78vw, 330px);
    }
    body.wb-front .wb-hookline {
        position: static;
        transform: none;
        justify-content: center;
        width: 100%;
        white-space: normal;
        text-align: center;
        margin-top: .7rem;
        font-size: .5rem;
    }
    body.wb-front .wb-hookline span { width: 22px; flex: 0 0 22px; }
}

@media (max-width: 600px) {
    body.wb-front .fejlec { padding: .55rem .7rem; }
    body.wb-front .fejlec-belso { min-height: 46px; }
    body.wb-front .wb-brand-link img { width: 108px; max-width: 42vw; }
    body.wb-front .mobil-menu-gomb { min-width: 68px; min-height: 38px; }

    body.wb-front .wb-home-hero {
        padding: 2rem .9rem 1.8rem;
        gap: .7rem;
    }
    body.wb-front .wb-kicker {
        font-size: .58rem;
        letter-spacing: .11em;
    }
    body.wb-front .wb-home-hero h1 {
        font-size: clamp(2.65rem, 15vw, 4.6rem);
        line-height: .88;
        letter-spacing: -.055em;
    }
    body.wb-front .wb-hero-slogan {
        font-size: 1rem;
        line-height: 1.15;
    }
    body.wb-front .wb-hero-lead { font-size: .86rem; line-height: 1.55; }
    body.wb-front .wb-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: .7rem;
        margin-top: 1.3rem;
    }
    body.wb-front .wb-hero-actions .gomb,
    body.wb-front .wb-hero-link {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    body.wb-front .wb-hero-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: .55rem;
        margin-top: 1.7rem;
        padding-top: .9rem;
    }
    body.wb-front .wb-hero-stats strong { font-size: 1.05rem; }
    body.wb-front .wb-hero-stats span { font-size: .48rem; line-height: 1.25; letter-spacing: .04em; }

    body.wb-front .wb-home-hero-art { padding-bottom: 1.5rem; }
    body.wb-front .wb-home-hero-art img { width: min(88vw, 330px); }
    body.wb-front .wb-hookline { display: none; }

    body.wb-front .wb-ad-banner { margin-left: 0; margin-right: 0; padding: 1.15rem; gap: 1rem; }
    body.wb-front .wb-ad-banner h2 { font-size: 1.35rem; }
    body.wb-front .wb-ad-url { font-size: .7rem; }

    body.wb-front .wb-feature-strip { margin-bottom: 2.4rem; }
    body.wb-front .wb-feature-strip>div { min-height: 125px; padding: 1rem .7rem; }
    body.wb-front .wb-feature-icon { width: 46px; height: 46px; }

    body.wb-front .wb-home-callout { margin-bottom: 2.3rem; padding: 1.25rem; }
    body.wb-front .wb-home-callout h2 { font-size: 1.65rem; }

    body.wb-front .kinalat-fejlec { align-items: flex-start; }
    body.wb-front .kinalat-fejlec h2 { font-size: 1.8rem; }
    body.wb-front .termek-racs { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; }
    body.wb-front .termek-kartya { padding: .45rem .45rem .75rem; }
    body.wb-front .termek-kep { margin-bottom: .6rem; }
    body.wb-front .termek-nev { font-size: .9rem; line-height: 1.2; }
    body.wb-front .termek-ar { font-size: .85rem; }
    body.wb-front .allapot-cimke { font-size: .52rem; padding: .12rem .35rem; }
}

/* v66.6.2 SEO/nav robustness: semantic classes instead of DOM position selectors. */
body:has(.fejlec) .fejlec nav a.nav-kiemelt{font-weight:700;}
body:has(.fejlec) .fejlec nav a.nav-borze{font-weight:800;}
body:has(.fejlec) .fejlec nav a.nav-borze:hover,body:has(.fejlec) .fejlec nav a.nav-borze:focus-visible{color:var(--rust);}

/* v66.6.3 — SEO kategória landing oldalak */
.seo-kategoria-oldal,.seo-kat-hub{max-width:1180px;margin:0 auto;padding:2rem 1.25rem 5rem}.seo-kat-breadcrumb{font-size:.78rem;color:#8e969e;margin:1rem 0 2rem}.seo-kat-breadcrumb a{color:inherit}.seo-kat-hero{padding:2.8rem 0 2.4rem;border-bottom:1px solid rgba(255,255,255,.08)}.seo-kat-hero>span,.seo-kat-section-head>div>span,.seo-kat-szoveg span{font:500 .72rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#e23b3b}.seo-kat-hero h1{max-width:900px;font-size:clamp(2.2rem,5vw,4.7rem);line-height:.98;margin:.7rem 0 1.1rem}.seo-kat-hero p{max-width:780px;color:#b9c0c7;font-size:1.05rem;line-height:1.75}.seo-kat-szoveg{display:grid;grid-template-columns:1fr 260px;gap:2rem;margin:2.5rem 0;padding:2rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.seo-kat-szoveg h2{margin:.45rem 0 .7rem;font-size:1.6rem}.seo-kat-szoveg p{max-width:760px;color:#aeb6bf;line-height:1.75;margin:0}.seo-kat-fact{border-left:1px solid rgba(255,255,255,.1);padding-left:2rem;display:flex;flex-direction:column;justify-content:center}.seo-kat-fact strong{font-size:3rem;color:#e23b3b}.seo-kat-fact span{color:#9da5ad;line-height:1.45}.seo-kat-section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:3rem 0 1.2rem}.seo-kat-section-head h2{margin:.4rem 0 0;font-size:2rem}.seo-kat-section-head a{color:#ef4b4b;text-decoration:none;font-weight:700}.seo-kat-grid-products,.seo-kat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.seo-kat-product{border:1px solid rgba(255,255,255,.08);background:#0d1014}.seo-kat-product a,.seo-kat-card{display:block;color:inherit;text-decoration:none}.seo-kat-product-img{aspect-ratio:1/1;display:grid;place-items:center;background:#11151a;overflow:hidden}.seo-kat-product-img img{width:100%;height:100%;object-fit:cover}.seo-kat-product small{display:block;color:#8f979f;margin:1rem 1rem .25rem}.seo-kat-product h3{font-size:1rem;margin:.25rem 1rem .65rem}.seo-kat-product strong{display:block;margin:0 1rem 1.1rem;color:#f0f2f4}.seo-kat-hub{padding-top:3rem}.seo-kat-hub .seo-kat-hero{text-align:center}.seo-kat-hub .seo-kat-hero p{margin:0 auto}.seo-kat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem}.seo-kat-card{padding:1.5rem;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,#11151a,#0a0c0f);min-height:210px}.seo-kat-card:hover{border-color:rgba(226,59,59,.55);transform:translateY(-2px)}.seo-kat-card small{color:#e23b3b}.seo-kat-card h2{margin:.65rem 0}.seo-kat-card p{color:#9da5ad;line-height:1.55}.seo-kat-card strong{color:#f0f2f4}.seo-kat-hub+.site-lablec{margin-top:0}@media(max-width:800px){.seo-kat-szoveg{grid-template-columns:1fr}.seo-kat-fact{border-left:0;border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0 0}.seo-kat-grid-products{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-kat-grid{grid-template-columns:1fr 1fr}.seo-kat-section-head{align-items:start;flex-direction:column}}@media(max-width:520px){.seo-kat-grid{grid-template-columns:1fr}.seo-kategoria-oldal,.seo-kat-hub{padding-left:1rem;padding-right:1rem}.seo-kat-hero{padding-top:1.5rem}}

.wb-seo-kategoria-nav{max-width:1180px;margin:2rem auto 0;padding:1.4rem 1.25rem;display:grid;grid-template-columns:.8fr 1.6fr;gap:1.5rem;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.wb-seo-kategoria-nav>div:first-child span{font:500 .7rem 'IBM Plex Mono',monospace;color:#e23b3b;letter-spacing:.12em}.wb-seo-kategoria-nav h2{margin:.35rem 0;font-size:1.35rem}.wb-seo-kategoria-nav p{margin:0;color:#929aa3;font-size:.9rem;line-height:1.5}.wb-seo-kategoria-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.wb-seo-kategoria-links a{padding:.7rem .8rem;border:1px solid rgba(255,255,255,.08);color:#e8eaec;text-decoration:none;font-weight:600;font-size:.88rem}.wb-seo-kategoria-links a span{float:right;color:#e23b3b}.wb-seo-kategoria-links a:hover{border-color:rgba(226,59,59,.55)}@media(max-width:800px){.wb-seo-kategoria-nav{grid-template-columns:1fr}.wb-seo-kategoria-links{grid-template-columns:repeat(2,1fr)}}


/* v66.6.4 – Fogáslexikon / SEO content layer */
.wb-tudastar{max-width:1120px;margin:0 auto;padding:2rem 1rem 4rem}.wb-tudastar-hero{padding:3rem 0 2rem;max-width:850px}.wb-tudastar-hero>span,.wb-tudastar-copy section>span,.wb-tudastar-cta>span{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.16em}.wb-tudastar-hero h1{font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.02;margin:.65rem 0 1rem}.wb-tudastar-hero p{font-size:1.08rem;line-height:1.7;max-width:760px}.wb-tudastar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wb-tudastar-card{display:block;padding:1.5rem;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);transition:transform .2s,border-color .2s}.wb-tudastar-card:hover{transform:translateY(-2px);border-color:var(--rust)}.wb-tudastar-card span{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.12em}.wb-tudastar-card h2{font-size:1.35rem;line-height:1.15;margin:.55rem 0}.wb-tudastar-card p{font-size:.9rem;line-height:1.55;opacity:.82}.wb-tudastar-card strong{display:block;margin-top:1rem}.wb-tudastar-article .seo-kat-breadcrumb{margin-bottom:1rem}.wb-tudastar-copy{max-width:780px}.wb-tudastar-copy section{padding:1.4rem 0;border-top:1px solid rgba(255,255,255,.1)}.wb-tudastar-copy h2{font-size:1.5rem;margin:0 0 .55rem}.wb-tudastar-copy p{line-height:1.8;margin:0}.wb-tudastar-cta{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.12)}.wb-tudastar-cta h2{font-size:1.8rem}.wb-tudastar-products{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}.wb-tudastar-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.wb-tudastar-product-grid a{padding:1rem;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.35rem}.wb-tudastar-product-grid span{font-size:.8rem;opacity:.72}.wb-home-tudastar{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin:2rem 0;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.wb-home-tudastar h2{margin:.35rem 0}.wb-home-tudastar p{margin:0;max-width:650px;line-height:1.6}.wb-home-tudastar span{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em}@media(max-width:700px){.wb-tudastar-grid,.wb-tudastar-product-grid{grid-template-columns:1fr}.wb-home-tudastar{display:block}.wb-home-tudastar .gomb{display:inline-block;margin-top:1rem}.wb-tudastar{padding-top:1rem}.wb-tudastar-hero{padding-top:2rem}}


/* =========================================================
   V66.6.21 — SIGNATURE CINEMATIC HERO
   A homepage-only art direction layer. Functional/backend UI is untouched.
   ========================================================= */
body.wb-front {
    --cin-black:#06090b;
    --cin-black-2:#0a0f12;
    --cin-petrol:#10252a;
    --cin-bone:#ebe5d8;
    --cin-muted:#8f9697;
    --cin-brass:#b99a58;
    --cin-red:#df2a24;
    --cin-line:rgba(235,229,216,.14);
    --font-signature:'Cormorant Garamond', serif;
    --font-ui:'Manrope', sans-serif;
}
body.wb-front .container { position:relative; z-index:1; }

.wb-signature-hero {
    position:relative;
    min-height:min(900px, calc(100svh - 72px));
    width:100vw;
    margin-left:calc(50% - 50vw);
    overflow:hidden;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(340px,.92fr) minmax(500px,1.08fr);
    align-items:center;
    padding:clamp(4.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem) clamp(4.5rem,7vw,6rem);
    background:
        radial-gradient(circle at 76% 42%, rgba(32,76,78,.20), transparent 25rem),
        radial-gradient(circle at 92% 88%, rgba(185,154,88,.08), transparent 22rem),
        linear-gradient(112deg,#050708 0%,#080d10 48%,#071114 100%);
    color:var(--cin-bone);
}
.wb-signature-hero::before {
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(90deg,rgba(6,9,11,.98) 0%,rgba(6,9,11,.88) 34%,rgba(6,9,11,.18) 69%,rgba(6,9,11,.54) 100%);
    z-index:-1;
}
.wb-signature-hero::after {
    content:"";
    position:absolute; inset:0;
    background:
        linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%,transparent 82%,rgba(0,0,0,.5)),
        repeating-linear-gradient(116deg,transparent 0 8px,rgba(255,255,255,.007) 9px,transparent 10px);
    mix-blend-mode:screen;
    pointer-events:none;
    z-index:5;
}
.wb-hero-atmosphere,.wb-hero-grain { position:absolute; inset:0; pointer-events:none; }
.wb-hero-orbit { position:absolute; border:1px solid rgba(185,154,88,.11); border-radius:50%; transform:rotate(-12deg); }
.wb-hero-orbit-a { width:clamp(430px,48vw,760px); height:clamp(260px,29vw,430px); right:-7vw; top:13%; }
.wb-hero-orbit-b { width:clamp(300px,35vw,560px); height:clamp(180px,22vw,330px); right:3vw; top:26%; border-color:rgba(223,42,36,.10); }
.wb-hero-grain {
    opacity:.18;
    background-image:url("/assets/noise.svg");
    mix-blend-mode:soft-light;
}
.wb-signature-hero-copy { position:relative; z-index:7; width:min(680px,100%); padding-left:clamp(0rem,2vw,1.5rem); }
.wb-signature-meta { display:flex; align-items:center; gap:.8rem; margin-bottom:1.8rem; font:500 .62rem/1 var(--font-mono); letter-spacing:.14em; color:#7f888a; text-transform:uppercase; }
.wb-signature-meta i { width:28px; height:1px; background:var(--cin-brass); opacity:.75; }
.wb-signature-brand { margin:0 0 .75rem; font:600 clamp(1.3rem,2vw,1.75rem)/.82 var(--font-signature); letter-spacing:.015em; color:#f0eadf; text-transform:uppercase; }
.wb-signature-brand em { color:var(--cin-red); font-style:normal; }
.wb-signature-hero h1 { margin:0; color:#f1ece2; font:600 clamp(4rem,7.5vw,8.5rem)/.79 var(--font-signature); letter-spacing:-.045em; text-transform:uppercase; max-width:850px; }
.wb-signature-hero h1 span { color:#c9c1b3; }
.wb-signature-lead { max-width:510px; margin:1.8rem 0 1.7rem; color:#a8adae; font:500 clamp(.9rem,1.15vw,1.03rem)/1.65 var(--font-ui); }
.wb-signature-actions { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.wb-signature-cta { min-height:52px; display:inline-flex; align-items:center; gap:1.5rem; padding:0 1.2rem 0 1.35rem; background:#e7e0d2; color:#090b0d; border:1px solid #f0eadd; text-decoration:none; font:700 .68rem/1 var(--font-ui); letter-spacing:.11em; }
.wb-signature-cta b { font:400 1.15rem/1 var(--font-ui); transition:transform .35s cubic-bezier(.22,1,.36,1); }
.wb-signature-cta:hover b { transform:translateX(5px); }
.wb-signature-secondary { position:relative; padding:.7rem 0; color:#d1ccc1; text-decoration:none; font:700 .66rem/1 var(--font-ui); letter-spacing:.14em; }
.wb-signature-secondary::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:rgba(185,154,88,.75); transform:scaleX(.25); transform-origin:left; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.wb-signature-secondary:hover::after { transform:scaleX(1); }
.wb-signature-footnote { display:flex; gap:1rem; flex-wrap:wrap; margin-top:3.1rem; color:#697173; font:500 .56rem/1 var(--font-mono); letter-spacing:.11em; }
.wb-signature-footnote span+span::before { content:"/"; color:var(--cin-brass); margin-right:1rem; }

.wb-signature-hero-visual { position:relative; min-height:540px; height:min(68vh,650px); z-index:4; display:flex; align-items:center; justify-content:center; transform:translate3d(0,0,0); transition:transform .8s cubic-bezier(.22,1,.36,1); will-change:transform; }
.wb-signature-light { position:absolute; width:68%; height:46%; right:3%; top:28%; background:radial-gradient(ellipse at center,rgba(185,154,88,.17),rgba(32,84,84,.08) 42%,transparent 72%); filter:blur(24px); }
.wb-signature-specimen { position:relative; width:min(880px,96%); transform:translate3d(0,0,0) rotate(-1deg); filter:drop-shadow(0 36px 35px rgba(0,0,0,.65)); transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s ease; will-change:transform; }
.wb-signature-specimen::before { content:""; position:absolute; inset:14% 9% 7%; background:linear-gradient(105deg,transparent 18%,rgba(235,229,216,.13) 46%,rgba(185,154,88,.18) 49%,transparent 57%); filter:blur(20px); opacity:.7; animation:wb-light-sweep 6.5s ease-in-out 1 both; }
.wb-signature-specimen img { position:relative; display:block; width:100%; height:auto; object-fit:contain; mix-blend-mode:screen; }
.wb-signature-reflection { position:absolute; width:74%; height:16%; bottom:16%; right:4%; background:linear-gradient(90deg,transparent,rgba(185,154,88,.10),transparent); filter:blur(13px); transform:skewX(-26deg); opacity:.55; }
.wb-signature-visual-index { position:absolute; top:8%; right:5%; display:flex; flex-direction:column; align-items:flex-end; gap:.3rem; color:#737b7d; font:500 .54rem/1 var(--font-mono); letter-spacing:.14em; z-index:2; }
.wb-signature-visual-index strong { color:#b2a890; font-weight:500; }
.wb-signature-caption { position:absolute; right:4%; bottom:8%; display:flex; gap:1rem; color:#697173; font:500 .53rem/1 var(--font-mono); letter-spacing:.12em; }
.wb-signature-scroll { position:absolute; left:clamp(1.25rem,5vw,5rem); bottom:1.8rem; display:flex; align-items:center; gap:.75rem; color:#72797b; font:500 .54rem/1 var(--font-mono); letter-spacing:.15em; z-index:8; }
.wb-signature-scroll i { display:block; width:52px; height:1px; background:linear-gradient(90deg,var(--cin-brass),transparent); transform-origin:left; animation:wb-scroll-pulse 2.4s ease-in-out infinite; }
@keyframes wb-light-sweep { 0%,20% { transform:translateX(-34%); opacity:0; } 45% { opacity:.8; } 72%,100% { transform:translateX(30%); opacity:0; } }
@keyframes wb-scroll-pulse { 0%,100% { transform:scaleX(.55); opacity:.45; } 50% { transform:scaleX(1); opacity:1; } }

body.wb-front .wb-signature-hero-copy > * { animation:wb-hero-in .85s cubic-bezier(.22,1,.36,1) both; }
body.wb-front .wb-signature-meta { animation-delay:.08s; }
body.wb-front .wb-signature-brand { animation-delay:.16s; }
body.wb-front .wb-signature-hero h1 { animation-delay:.24s; }
body.wb-front .wb-signature-lead { animation-delay:.34s; }
body.wb-front .wb-signature-actions { animation-delay:.44s; }
body.wb-front .wb-signature-footnote { animation-delay:.54s; }
body.wb-front .wb-signature-hero-visual { animation:wb-visual-in 1.1s cubic-bezier(.22,1,.36,1) .3s both; }
@keyframes wb-hero-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes wb-visual-in { from { opacity:0; transform:translate3d(24px,10px,0) scale(.97); } to { opacity:1; transform:none; } }

@media (hover:hover) and (pointer:fine) {
    .wb-signature-hero:hover .wb-signature-specimen { filter:drop-shadow(0 42px 45px rgba(0,0,0,.7)); }
}
@media (max-width:980px) {
    .wb-signature-hero { min-height:calc(100svh - 58px); grid-template-columns:1fr; padding-top:3.2rem; padding-bottom:4.5rem; }
    .wb-signature-hero-copy { max-width:700px; }
    .wb-signature-hero h1 { font-size:clamp(4rem,11vw,7rem); }
    .wb-signature-hero-visual { min-height:330px; height:38vh; margin-top:-1rem; }
    .wb-signature-specimen { width:min(820px,110%); }
    .wb-signature-visual-index { top:2%; }
    .wb-signature-caption { bottom:3%; }
}
@media (max-width:600px) {
    .wb-signature-hero { min-height:calc(100svh - 54px); padding:2.6rem 1rem 4.2rem; align-content:center; }
    .wb-signature-hero::before { background:linear-gradient(180deg,rgba(6,9,11,.98) 0%,rgba(6,9,11,.78) 48%,rgba(6,9,11,.35) 100%); }
    .wb-signature-meta { margin-bottom:1.2rem; font-size:.54rem; }
    .wb-signature-brand { font-size:1.15rem; }
    .wb-signature-hero h1 { font-size:clamp(3.45rem,17vw,5.5rem); line-height:.82; }
    .wb-signature-lead { font-size:.86rem; line-height:1.55; margin-top:1.35rem; }
    .wb-signature-actions { gap:.9rem; }
    .wb-signature-cta { width:100%; justify-content:space-between; }
    .wb-signature-footnote { margin-top:1.9rem; gap:.65rem; }
    .wb-signature-footnote span+span::before { margin-right:.65rem; }
    .wb-signature-hero-visual { min-height:210px; height:28vh; margin-top:-.8rem; }
    .wb-signature-specimen { width:125%; margin-right:-12%; }
    .wb-signature-light { width:90%; right:-15%; top:25%; }
    .wb-signature-visual-index { top:0; right:0; }
    .wb-signature-caption { right:0; bottom:0; flex-direction:column; gap:.35rem; align-items:flex-end; }
    .wb-signature-scroll { left:1rem; bottom:1.2rem; }
    .wb-hero-orbit-a { right:-45%; top:28%; }
    .wb-hero-orbit-b { right:-35%; top:38%; }
}
@media (prefers-reduced-motion:reduce) {
    .wb-signature-hero *,.wb-signature-hero *::before,.wb-signature-hero *::after { animation:none!important; transition:none!important; }
    .wb-signature-scroll i { animation:none!important; }
}

/* ========================================================================
   WOBBLER BÖRZE — CINEMATIC MOTION SYSTEM
   Progressive enhancement layer. Motion never owns navigation or commerce.
   ======================================================================== */
:root {
    --wb-motion-ease: cubic-bezier(.22, 1, .36, 1);
    --wb-motion-ease-soft: cubic-bezier(.16, 1, .3, 1);
    --wb-motion-micro: 180ms;
    --wb-motion-ui: 280ms;
    --wb-motion-editorial: 720ms;
    --wb-motion-cinematic: 1100ms;
}

html { scroll-behavior: smooth; }
html, body { scroll-padding-top: 76px; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Header settles into the page instead of snapping. */
body.wb-front .fejlec {
    transition: padding .36s var(--wb-motion-ease), background-color .36s ease, box-shadow .36s ease;
}
body.wb-front.wb-is-scrolled .fejlec {
    padding-top: .72rem;
    padding-bottom: .72rem;
    box-shadow: 0 10px 35px rgba(0,0,0,.18);
}

/* Editorial reveals: transform/opacity only = compositor friendly. */
.wb-motion-ready .wb-reveal {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    transition:
        opacity var(--wb-motion-editorial) var(--wb-motion-ease),
        transform var(--wb-motion-editorial) var(--wb-motion-ease);
    transition-delay: var(--wb-reveal-delay, 0ms);
}
.wb-motion-ready .wb-reveal.wb-reveal-in {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Product cards get only a tactile 3–4px hover depth. */
body.wb-front .termek-kartya-wrap {
    --wb-hover-x: 0px;
    --wb-hover-y: 0px;
    transition: transform var(--wb-motion-ui) var(--wb-motion-ease), opacity var(--wb-motion-ui) ease;
}
@media (hover:hover) and (pointer:fine) {
    body.wb-front .termek-kartya-wrap:hover {
        transform: translate3d(var(--wb-hover-x), calc(-4px + var(--wb-hover-y)), 0);
    }
    body.wb-front .termek-kartya-wrap:hover .termek-kep img {
        transform: scale(1.035) translate3d(calc(var(--wb-hover-x) * .35), calc(var(--wb-hover-y) * .35), 0);
    }
}

/* Buttons: the arrow moves, the button itself stays physically stable. */
body.wb-front .wb-signature-cta,
body.wb-front .gomb {
    transition: transform var(--wb-motion-micro) ease, background-color var(--wb-motion-ui) ease,
        border-color var(--wb-motion-ui) ease, color var(--wb-motion-ui) ease;
}
body.wb-front .wb-signature-cta:active,
body.wb-front .gomb:active { transform: scale(.985); }
body.wb-front .wb-signature-cta:focus-visible,
body.wb-front .gomb:focus-visible,
body.wb-front a:focus-visible,
body.wb-front button:focus-visible,
body.wb-front input:focus-visible,
body.wb-front select:focus-visible {
    outline: 2px solid var(--cin-brass);
    outline-offset: 3px;
}

/* Month Catch becomes the single sticky/specimen moment on desktop. */
@media (min-width: 901px) {
    body.wb-front .wb-motion-specimen {
        min-height: min(72vh, 680px);
        align-items: stretch;
    }
    body.wb-front .wb-motion-specimen .wb-month-catch-copy {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    body.wb-front .wb-motion-specimen .wb-month-catch-art {
        position: sticky;
        top: 5.5rem;
        height: calc(100vh - 7rem);
        max-height: 680px;
        align-self: start;
    }
    body.wb-front .wb-motion-specimen .wb-month-catch-art img {
        transform-origin: center;
        transition: transform 900ms var(--wb-motion-ease), filter 700ms ease;
    }
    body.wb-front .wb-motion-specimen .wb-month-catch-art:hover img {
        transform: scale(1.035);
        filter: saturate(1.03) contrast(1.02);
    }
}

/* Hero pointer depth: tiny movement, never enough to disorient. */
body.wb-front .wb-signature-hero {
    --wb-hero-x: 0px;
    --wb-hero-y: 0px;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    body.wb-front .wb-signature-hero-visual {
        transform: translate3d(var(--wb-hero-x), var(--wb-hero-y), 0);
        transition: transform 700ms var(--wb-motion-ease);
    }
    body.wb-front .wb-signature-specimen {
        transform: translate3d(calc(var(--wb-hero-x) * .7), calc(var(--wb-hero-y) * .7), 0) rotate(-1deg);
    }
    body.wb-front .wb-signature-light {
        transform: translate3d(calc(var(--wb-hero-x) * .35), calc(var(--wb-hero-y) * .35), 0);
    }
}

/* Intentional cursor label, only injected for fine-pointer devices. */
.wb-cursor-label {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10000;
    pointer-events: none;
    padding: .45rem .58rem;
    background: rgba(7,9,11,.94);
    border: 1px solid rgba(185,154,88,.55);
    color: #ebe5d8;
    font: 500 .52rem/1 'IBM Plex Mono', monospace;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: 0;
    transform: translate3d(0,0,0) scale(.94);
    transition: opacity 160ms ease, scale 180ms var(--wb-motion-ease);
}
.wb-cursor-label.is-visible {
    opacity: 1;
    scale: 1;
}

/* Image state: no layout shift and no blocking fade. */
.wb-motion-ready img.wb-image-ready { opacity: 1; }

/* Progressive same-origin scene transitions where supported. */
@view-transition { navigation: auto; }
@supports (view-transition-name: none) {
    ::view-transition-old(root) {
        animation: wb-page-out 260ms ease both;
    }
    ::view-transition-new(root) {
        animation: wb-page-in 520ms var(--wb-motion-ease) both;
    }
}
@keyframes wb-page-out {
    from { opacity: 1; transform: scale(1); }
    to { opacity: .72; transform: scale(.992); }
}
@keyframes wb-page-in {
    from { opacity: 0; transform: translateY(8px) scale(.998); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 900px) {
    html, body { scroll-padding-top: 64px; }
    body.wb-front.wb-is-scrolled .fejlec { padding-top: .65rem; padding-bottom: .65rem; }
    .wb-cursor-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .wb-motion-ready .wb-reveal,
    .wb-motion-ready .wb-reveal.wb-reveal-in,
    body.wb-front .fejlec,
    body.wb-front .termek-kartya-wrap,
    body.wb-front .wb-signature-hero-visual,
    body.wb-front .wb-signature-specimen,
    body.wb-front .wb-signature-light,
    body.wb-front .wb-signature-specimen img,
    body.wb-front .wb-month-catch-art img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .wb-cursor-label { display: none !important; }
}

/* v66.6.26 — visible multilingual selector */
.wb-lang-switcher{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:.12rem;
    margin-left:.15rem;
    padding:.16rem;
    border:1px solid rgba(197,154,82,.34);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
    font:500 .63rem/1 'IBM Plex Mono',monospace;
    text-transform:uppercase;
    letter-spacing:.08em;
    white-space:nowrap;
}
.wb-lang-label{
    padding:.36rem .42rem .36rem .48rem;
    color:rgba(241,236,222,.48);
    font-size:.54rem;
    letter-spacing:.12em;
}
.wb-lang-switcher a{
    min-width:2.05rem;
    padding:.38rem .42rem;
    border:1px solid transparent;
    border-radius:999px;
    color:var(--cream);
    text-align:center;
    text-decoration:none;
    opacity:.62;
    transition:opacity .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.wb-lang-switcher a:hover,.wb-lang-switcher a:focus-visible{
    opacity:1;
    border-color:rgba(197,154,82,.45);
    background:rgba(197,154,82,.08);
}
.wb-lang-switcher a.active{
    opacity:1;
    color:#101214;
    background:var(--cream);
    border-color:var(--cream);
}
@media(max-width:1100px){
    body.wb-front .wb-lang-switcher{margin-left:.25rem}
}
@media(max-width:760px){
    body.wb-front .wb-lang-switcher{
        width:auto;
        margin:.45rem 0 0 auto;
        padding:.18rem;
    }
    body.wb-front .wb-lang-label{display:none}
    body.wb-front .wb-lang-switcher a{min-width:2.3rem;padding:.48rem .42rem}
}
@media(max-width:430px){
    body.wb-front .wb-lang-switcher a{min-width:2.1rem;padding:.42rem .34rem}
}


/* v66.6.27 — header layout hardening: language selector must remain visible */
@media (min-width: 1201px) {
    body.wb-front .fejlec-belso {
        width: min(1700px, calc(100vw - 2.7rem));
        gap: 1.1rem;
    }
    body.wb-front .fejlec .bolt-nev {
        flex: 0 0 220px;
        min-width: 0;
    }
    body.wb-front .fejlec .bolt-nev img {
        display: block;
        width: 220px;
        max-width: 100%;
        height: auto;
    }
    body.wb-front .fejlec-jobb {
        flex: 1 1 auto;
        min-width: 0;
        justify-content: flex-end;
        gap: .75rem;
    }
    body.wb-front .fejlec nav {
        flex: 0 1 auto;
        min-width: 0;
        justify-content: flex-end;
    }
    body.wb-front .fejlec nav a {
        font-size: .77rem;
        padding: .48rem .48rem;
    }
    body.wb-front .wb-lang-switcher {
        flex: 0 0 auto;
        margin-left: .15rem;
        position: relative;
        z-index: 2;
    }
}

@media (min-width: 1201px) and (max-width: 1450px) {
    body.wb-front .fejlec-belso {
        width: min(1320px, calc(100vw - 2rem));
        gap: .7rem;
    }
    body.wb-front .fejlec .bolt-nev { flex-basis: 190px; }
    body.wb-front .fejlec .bolt-nev img { width: 190px; }
    body.wb-front .fejlec nav { gap: 0; }
    body.wb-front .fejlec nav a { font-size: .70rem; padding-inline: .34rem; }
    body.wb-front .wb-lang-switcher a { min-width: 1.95rem; padding-inline: .3rem; }
}

/* At compact desktop widths use the existing accessible menu rather than hiding
   the selector off-screen. The selector stays visible next to the menu button. */
@media (max-width: 1200px) {
    body.wb-front .fejlec-belso {
        width: min(100%, calc(100vw - 2rem));
    }
    body.wb-front .fejlec-jobb {
        margin-left: auto;
        min-width: 0;
    }
    body.wb-front .wb-lang-switcher {
        order: 1;
        margin-left: .2rem;
    }
}

@media (max-width: 760px) {
    body.wb-front .fejlec-belso {
        gap: .6rem;
    }
    body.wb-front .fejlec .bolt-nev {
        flex: 0 1 auto;
        min-width: 0;
    }
    body.wb-front .fejlec .bolt-nev img {
        width: min(180px, 42vw);
        height: auto;
    }
    body.wb-front .fejlec-jobb {
        flex: 0 0 auto;
        gap: .45rem;
    }
    body.wb-front .wb-lang-switcher {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 430px) {
    body.wb-front .fejlec .bolt-nev img { width: min(150px, 40vw); }
    body.wb-front .wb-lang-switcher a { min-width: 1.9rem; padding: .4rem .28rem; }
}


/* v66.6.28 — hero specimen composition correction
   The full Wobbler Börze emblem is now treated as the hero object: smaller,
   optically centered, lifted slightly, and kept fully inside the visual field. */
body.wb-front .wb-signature-hero-visual {
    align-items: center;
    justify-content: center;
}
body.wb-front .wb-signature-specimen {
    width: min(760px, 88%);
    max-width: 760px;
    margin: 0 2% 0 0;
    top: -18px;
}
body.wb-front .wb-signature-specimen img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
body.wb-front .wb-signature-light {
    width: 64%;
    height: 48%;
    right: 5%;
    top: 23%;
}
body.wb-front .wb-signature-reflection {
    width: 62%;
    bottom: 12%;
    right: 7%;
}

@media (min-width: 1201px) and (max-width: 1450px) {
    body.wb-front .wb-signature-specimen {
        width: min(650px, 84%);
        max-width: 650px;
        margin-right: 1%;
        top: -14px;
    }
    body.wb-front .wb-signature-hero-visual {
        min-height: 500px;
        height: min(64vh, 580px);
    }
}

@media (max-width: 980px) {
    body.wb-front .wb-signature-specimen {
        width: min(700px, 92%);
        max-width: 700px;
        margin-right: 0;
        top: -8px;
    }
    body.wb-front .wb-signature-light {
        width: 82%;
        right: 2%;
        top: 20%;
    }
}

@media (max-width: 600px) {
    body.wb-front .wb-signature-specimen {
        width: min(100%, 560px);
        max-width: 560px;
        top: 0;
        margin: 0;
    }
    body.wb-front .wb-signature-hero-visual {
        min-height: 230px;
        height: 31vh;
    }
    body.wb-front .wb-signature-light {
        width: 105%;
        right: -4%;
        top: 20%;
    }
    body.wb-front .wb-signature-reflection {
        width: 72%;
        right: 4%;
        bottom: 4%;
    }
}


/* ========================================================================
   v66.6.29 — HEADER / BRAND VISIBILITY PASS
   The brand and language selector are first-class header elements. The
   navigation is allowed to compress, but never the brand/language controls.
   ======================================================================== */
body.wb-front .fejlec-belso {
    width: min(1540px, calc(100vw - 2rem));
    position: relative;
    gap: 1.5rem;
    padding-right: 8.2rem;
}
body.wb-front .fejlec .bolt-nev {
    flex: 0 0 180px;
    min-width: 180px;
}
body.wb-front .fejlec .bolt-nev img {
    display: block;
    width: 180px;
    height: auto;
    max-width: none;
}
body.wb-front .fejlec-jobb {
    min-width: 0;
    flex: 1 1 auto;
    justify-content: flex-end;
}
body.wb-front .fejlec nav {
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    flex-wrap: nowrap;
}
body.wb-front .fejlec nav a {
    flex: 0 0 auto;
    font-size: clamp(.66rem, .68vw, .78rem);
    padding-inline: .42rem;
    white-space: nowrap;
}
body.wb-front .wb-lang-switcher {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 20;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto;
    margin: 0;
    padding: .18rem;
    gap: .12rem;
    border: 1px solid rgba(197,154,82,.48);
    border-radius: 999px;
    background: rgba(8,11,13,.94);
    box-shadow: 0 8px 28px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.025);
    white-space: nowrap;
}
body.wb-front .wb-lang-label { display: inline-flex; }
body.wb-front .wb-lang-switcher a {
    min-width: 2.15rem;
    padding: .42rem .38rem;
    color: #eee9de;
    opacity: .72;
}
body.wb-front .wb-lang-switcher a.active {
    opacity: 1;
    color: #101214;
    background: #eee9de;
}

@media (min-width: 1201px) and (max-width: 1500px) {
    body.wb-front .fejlec-belso {
        width: min(1400px, calc(100vw - 1.5rem));
        padding-right: 7.4rem;
        gap: .85rem;
    }
    body.wb-front .fejlec .bolt-nev {
        flex-basis: 150px;
        min-width: 150px;
    }
    body.wb-front .fejlec .bolt-nev img { width: 150px; }
    body.wb-front .fejlec nav { gap: 0; }
    body.wb-front .fejlec nav a {
        font-size: .64rem;
        padding-inline: .28rem;
    }
    body.wb-front .wb-lang-switcher a { min-width: 1.9rem; }
}

@media (max-width: 1200px) {
    body.wb-front .fejlec-belso {
        width: min(100%, calc(100vw - 1.4rem));
        padding-right: 0;
    }
    body.wb-front .fejlec .bolt-nev { flex: 0 0 auto; min-width: 0; }
    body.wb-front .fejlec .bolt-nev img { width: min(170px, 30vw); max-width: 170px; }
    body.wb-front .wb-lang-switcher {
        position: static;
        transform: none;
        margin-left: .25rem;
    }
}

@media (max-width: 760px) {
    body.wb-front .fejlec-belso { gap: .55rem; }
    body.wb-front .fejlec .bolt-nev img { width: min(135px, 38vw); }
    body.wb-front .wb-lang-switcher { margin-left: .1rem; }
    body.wb-front .wb-lang-label { display: none; }
    body.wb-front .wb-lang-switcher a { min-width: 2.15rem; padding: .46rem .34rem; }
}

@media (max-width: 430px) {
    body.wb-front .fejlec .bolt-nev img { width: min(118px, 34vw); }
    body.wb-front .wb-lang-switcher a { min-width: 1.95rem; padding: .4rem .28rem; }
}


/* =========================================================
   ADMIN NAV FIX v1.1 — stabilise sidebar geometry at every zoom
   ========================================================= */
html:has(.admin-nav-shell),
body:has(.admin-nav-shell) {
    overflow-x: hidden;
}

.fejlec:has(.admin-nav-shell) {
    width: 320px;
    min-width: 320px;
    max-width: 320px;
    padding: 0 !important;
    margin: 0 !important;
    inset: 0 auto 0 0;
    overflow: hidden !important;
}

.fejlec:has(.admin-nav-shell) .bolt-nev {
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    padding: 1rem 1.15rem .8rem !important;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
}

.fejlec:has(.admin-nav-shell) nav {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

.fejlec:has(.admin-nav-shell) .admin-nav-shell {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}

.fejlec:has(.admin-nav-shell) .admin-nav-search,
.fejlec:has(.admin-nav-shell) .admin-nav-groups {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}

.fejlec:has(.admin-nav-shell) .admin-nav-groups {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-left: .65rem;
    padding-right: .65rem;
}

.fejlec:has(.admin-nav-shell) .admin-nav-link,
.fejlec:has(.admin-nav-shell) .admin-nav-group-toggle,
.fejlec:has(.admin-nav-shell) .admin-nav-logout {
    max-width: 100%;
    box-sizing: border-box;
}

.fejlec:has(.admin-nav-shell) .admin-nav-link span:last-child,
.fejlec:has(.admin-nav-shell) .admin-nav-group-toggle span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* A dashboard ne csússzon a fix sidebar alá. */
body:has(.admin-nav-shell) > .container,
body:has(.admin-nav-shell) > footer {
    margin-left: 320px !important;
    margin-right: 0 !important;
    width: calc(100% - 320px) !important;
    max-width: none !important;
    box-sizing: border-box;
}

/* A dashboard induljon felül, ne maradjon a korábbi fejléc-magasság logikája. */
body:has(.admin-nav-shell) > .container {
    padding-top: 1.5rem !important;
}

@media (max-width: 1050px) and (min-width: 761px) {
    .fejlec:has(.admin-nav-shell) {
        width: 280px;
        min-width: 280px;
        max-width: 280px;
    }
    body:has(.admin-nav-shell) > .container,
    body:has(.admin-nav-shell) > footer {
        margin-left: 280px !important;
        width: calc(100% - 280px) !important;
    }
}

@media (max-width: 760px) {
    .fejlec:has(.admin-nav-shell) {
        width: min(320px, 88vw);
        min-width: min(320px, 88vw);
        max-width: min(320px, 88vw);
    }
    body:has(.admin-nav-shell) > .container,
    body:has(.admin-nav-shell) > footer {
        margin-left: 0 !important;
        width: 100% !important;
    }
}

/* =========================================================
   ADMIN NAV FIX v1.2 — valódi bal oldali, fix sidebar
   ========================================================= */
html:has(.admin-nav-shell),
body:has(.admin-nav-shell) {
    overflow-x: hidden;
}

/* A korábbi verzióból hiányzott a position:fixed: az inset önmagában
   nem teszi ki a fejlécet az oldal bal oldalára. */
body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    z-index: 10000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) > .bolt-nev {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 1rem 1.15rem .8rem !important;
    margin: 0 !important;
}

body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) > nav {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) .admin-nav-shell {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    overflow: hidden !important;
}

body:has(.admin-nav-shell) .admin-nav-search {
    flex: 0 0 auto !important;
    padding: 0 .75rem .65rem !important;
}

body:has(.admin-nav-shell) .admin-nav-groups {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 0 .65rem .5rem !important;
}

body:has(.admin-nav-shell) .admin-nav-logout {
    flex: 0 0 auto !important;
    margin-top: auto !important;
}

/* A tartalomnak a sidebar mellett kell indulnia, nem alatta. */
body:has(.admin-nav-shell) > .container,
body:has(.admin-nav-shell) > main.container,
body:has(.admin-nav-shell) > footer {
    margin-left: 320px !important;
    margin-right: 0 !important;
    width: calc(100% - 320px) !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

body:has(.admin-nav-shell) > .container,
body:has(.admin-nav-shell) > main.container {
    padding-top: 1.5rem !important;
}

@media (max-width: 1050px) and (min-width: 761px) {
    body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) {
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
    }
    body:has(.admin-nav-shell) > .container,
    body:has(.admin-nav-shell) > main.container,
    body:has(.admin-nav-shell) > footer {
        margin-left: 280px !important;
        width: calc(100% - 280px) !important;
    }
}

@media (max-width: 760px) {
    body:has(.admin-nav-shell) .fejlec:has(.admin-nav-shell) {
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
    }
    body:has(.admin-nav-shell) > .container,
    body:has(.admin-nav-shell) > main.container,
    body:has(.admin-nav-shell) > footer {
        margin-left: 270px !important;
        width: calc(100% - 270px) !important;
    }
}

/* =========================================================
   ADMIN NAV FIX v1.3 — világos figyelmeztető sáv olvashatóság
   A világos háttéren minden örökölt világos admin-szöveg legyen
   sötét, jól kontrasztos és egységes.
   ========================================================= */
body:has(.admin-nav-shell) .figyelmezetetes-sav {
    background: #fff7dc !important;
    color: #6b4b12 !important;
    border: 1px solid #e5c66f !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.12) !important;
}

body:has(.admin-nav-shell) .figyelmezetetes-sav,
body:has(.admin-nav-shell) .figyelmezetetes-sav * {
    color: #6b4b12 !important;
}

body:has(.admin-nav-shell) .figyelmezetetes-sav strong,
body:has(.admin-nav-shell) .figyelmezetetes-sav b {
    color: #4f3508 !important;
}

body:has(.admin-nav-shell) .figyelmezetetes-sav code,
body:has(.admin-nav-shell) .figyelmezetetes-sav .code {
    color: #4a3210 !important;
    background: rgba(107,75,18,.10) !important;
    border: 1px solid rgba(107,75,18,.16) !important;
}

body:has(.admin-nav-shell) .figyelmezetetes-sav a {
    color: #5b3c05 !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body:has(.admin-nav-shell) .figyelmezetetes-sav a:hover {
    color: #2f2105 !important;
}

/* =========================================================
   ADMIN THEME SWITCH v1.0 — egykattintásos világos/sötét mód
   ========================================================= */
html[data-admin-theme="dark"] {
    --cream: #171b1f;
    --cream-deep: #22282d;
    --ink: #edf1f2;
    --line: rgba(255,255,255,.14);
    --navy-light: #9db5bf;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) {
    background: #171b1f !important;
    color: #edf1f2 !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) .container,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .kartya,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .admin-kartya,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .doboz,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .panel,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) form,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) table,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .admin-tabla {
    background-color: #20262b !important;
    color: #edf1f2 !important;
    border-color: rgba(255,255,255,.13) !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) input,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) select,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) textarea {
    background-color: #15191d !important;
    color: #edf1f2 !important;
    border-color: rgba(255,255,255,.20) !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) input::placeholder,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) textarea::placeholder {
    color: #8f9ba1 !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) th,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) td {
    border-color: rgba(255,255,255,.12) !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) .jelzes,
html[data-admin-theme="dark"] body:has(.admin-nav-shell) .figyelmezetetes-sav {
    color: #edf1f2 !important;
}

html[data-admin-theme="dark"] body:has(.admin-nav-shell) a:not(.admin-nav-link):not(.admin-nav-logout) {
    color: #d8e5e9;
}

.admin-theme-switcher {
    margin: .65rem .7rem .8rem;
    padding: .55rem .65rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    background: rgba(255,255,255,.045);
}
.admin-theme-label {
    display: block;
    margin-bottom: .35rem;
    color: rgba(255,255,255,.62);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.admin-theme-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .38rem .45rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: var(--cream);
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    text-align: left;
}
.admin-theme-toggle:hover { background: rgba(255,255,255,.12); }
.admin-theme-icon { width: 1.2rem; text-align: center; }
.admin-theme-text { flex: 1; }
.admin-theme-track {
    width: 36px;
    height: 20px;
    padding: 2px;
    border-radius: 999px;
    background: rgba(255,255,255,.22);
    transition: background .18s ease;
}
.admin-theme-knob {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    transform: translateX(0);
    transition: transform .18s ease;
}
html[data-admin-theme="dark"] .admin-theme-track { background: var(--brass); }
html[data-admin-theme="dark"] .admin-theme-knob { transform: translateX(16px); }
