/* ==========================================================================
   Easybutor theme — globális réteg
   Forrás: Claude Design handoff bundle (2026-07-21) — vizuális forrásigazság.
   Tokenek: docs/DESIGN_GUIDELINES.md (a bundle-ből kinyert értékek).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Fontok — self-host (GDPR: nincs Google CDN-hívás). Variable woff2 subsetek
   a bundle-ből: Archivo (wght 100–900), Manrope (wght 200–800).
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('../fonts/archivo-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('../fonts/archivo-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url('../fonts/manrope-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
   Design tokenek.
   🔴 TOKEN-NÉV KONTRAKTUS: a --color-primary/-text/-text-muted/-border/
   -card-bg/-background nevek KÖTELEZŐK — az easybutor-accessories plugin
   ezekre fallbackel (accessories-product.css:8–15). Átnevezésük a plugin
   színvilágát töri.
   -------------------------------------------------------------------------- */
:root {
    /* Token-név kontraktus (plugin-híd) */
    --color-primary: #BE6A45;
    --color-text: #26241F;
    --color-text-muted: #6B6459;
    --color-border: #E9E1D4;
    --color-card-bg: #FFFFFF;
    --color-background: #F7F4EF;

    /* Bundle-nevek (accent) — aliasként a szekció-CSS-ekhez */
    --acc: var(--color-primary);
    --acc-deep: #A85535;
    --acc-bg: #F4E6DD;
    --acc-soft: #F7EDE7;
    --acc-sh: rgba(190, 106, 69, .16);

    /* További bundle-tokenek */
    --color-product-bg: #F1F0EE;
    --color-dark: #2A251E;
    --color-darkest: #26221C;
    --color-text-faint: #8A8073;
    --color-text-faintest: #9A8F7E;
    --color-border-alt: #E4DBCB;
    --color-star: #E6A23C;
    --color-old-price: #A9A093;

    /* Woo notice-tokenek (a bundle nem definiál — DESIGN_GUIDELINES szerint) */
    --color-success: #6B8262;
    --color-error: #e74c3c;
    --color-warning: #e67e22;

    /* Tipográfia */
    --font-heading: 'Archivo', sans-serif;
    --font-body: 'Manrope', system-ui, sans-serif;

    /* Spacing (8px alap) */
    --spacing-section-mobile: 64px;
    --spacing-section-tablet: 80px;
    --spacing-section-desktop: 104px;
    --container-padding-mobile: 20px;
    --container-padding-tablet: 40px;
    --container-padding-desktop: 80px;
    --container-max-width: 1200px;
    /* A szekciók tényleges vízszintes insetje (hero, blokkok, footer mind ezt használják).
       Egy forrás, hogy a header/footer ne csúszhasson el a tartalomtól — lásd .eb-hd__inner,
       .eb-footer__inner. (Korábban a header 40px-re volt vágva → 1000px felett kilógott.) */
    --container-inset: clamp(16px, 4vw, 56px);

    /* Radius + shadow */
    --radius-card: 20px;
    --radius-panel: 18px;
    --radius-feature: 14px;
    --radius-input: 11px;
    --radius-btn: 11px;
    --shadow-card: 0 6px 22px rgba(0, 0, 0, .05);
    --shadow-badge: 0 2px 8px rgba(0, 0, 0, .08);

    /* Transition alap (bundle: .15–.22s ease) */
    --transition-fast: .18s ease;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--color-background);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-text);
    letter-spacing: -.03em;
    line-height: 1.15;
    margin: 0 0 .5em;
}

h1 {
    font-weight: 800;
    font-size: clamp(32px, 4.8vw, 56px);
}

h2 {
    font-weight: 700;
    font-size: clamp(28px, 3.6vw, 42px);
}

h3 {
    font-weight: 700;
    font-size: 19px;
}

p {
    margin: 0 0 1em;
}

:focus-visible {
    outline: 2px solid var(--acc);
    outline-offset: 2px;
}

/* Preloader alá: sötét html-háttér betöltéskor (a bundle-ből; az eb-anim.js a
   panel felúszása után visszaállítja a body színére). Reduced motion: nincs. */
@media (prefers-reduced-motion: no-preference) {
    html {
        background: var(--color-darkest);
    }
}

/* --------------------------------------------------------------------------
   Szekció-wrapper minta (minden szekcióra, Woo-oldalakra is — kötelező)
   -------------------------------------------------------------------------- */
.section-wrapper {
    padding: var(--spacing-section-mobile) var(--container-padding-mobile);
}

@media (min-width: 768px) {
    .section-wrapper {
        padding: var(--spacing-section-tablet) var(--container-padding-tablet);
    }
}

@media (min-width: 1200px) {
    .section-wrapper {
        padding: var(--spacing-section-desktop) var(--container-padding-desktop);
    }
}

.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
}

/* --------------------------------------------------------------------------
   Gombok — a Woo-osztályokkal EGYÜTT (WOOCOMMERCE_RULES §3)
   -------------------------------------------------------------------------- */
.button,
button[type="submit"],
input[type="submit"],
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.single_add_to_cart_button,
.added_to_cart,
.checkout-button,
.wc-block-components-button {
    display: inline-block;
    background: var(--acc);
    color: #fff;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    padding: 13px 24px;
    border: 0;
    border-radius: var(--radius-btn);
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast), filter var(--transition-fast);
}

@media (min-width: 1200px) {
    .button,
    .woocommerce .button,
    .single_add_to_cart_button,
    .checkout-button {
        font-size: 16px;
        padding: 15px 30px;
    }
}

.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.single_add_to_cart_button:hover,
.added_to_cart:hover,
.checkout-button:hover,
.wc-block-components-button:hover {
    background: var(--acc-deep);
    color: #fff;
}

.button:active,
.woocommerce .button:active,
.single_add_to_cart_button:active {
    transform: scale(.98);
}

.button:disabled,
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.single_add_to_cart_button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

/* Secondary / outline variáns */
.button--outline,
.woocommerce .button.button--outline {
    background: #fff;
    color: var(--color-text);
    border: 1px solid var(--color-border-alt);
}

.button--outline:hover,
.woocommerce .button.button--outline:hover {
    background: var(--color-product-bg);
    color: var(--color-text);
}

/* --------------------------------------------------------------------------
   Form-mezők
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select,
.input-text {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--color-text);
    background: #fff;
    border: 1.5px solid var(--color-border-alt);
    border-radius: var(--radius-input);
    padding: 11px 14px;
    min-height: 44px;
    transition: border-color var(--transition-fast);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus,
.input-text:focus {
    border-color: var(--acc);
    outline: none;
}

/* Mennyiség-input (Woo .quantity) */
.quantity {
    display: inline-flex;
    align-items: center;
}

.quantity .qty {
    width: 74px;
    min-height: 44px;
    text-align: center;
    border: 1.5px solid var(--color-border-alt);
    border-radius: var(--radius-input);
}

/* --------------------------------------------------------------------------
   Woo notice-ok
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 0 0 20px;
    padding: 14px 18px;
    position: relative;
    background: #fff;
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--color-success);
    border-radius: 14px;
    font-size: 15px;
    line-height: 1.45;
    color: var(--color-text);
    box-shadow: 0 8px 24px rgba(38, 34, 28, .07);
    /* Auto-eltűnés átmenet — a main.js .eb-notice--dismiss-t ad a siker-notice-ra. */
    transition: opacity .35s ease, transform .35s ease, height .35s ease,
        padding .35s ease, margin .35s ease, border-width .35s ease;
}

/* Vezető ikon: színes korong fehér glyph-fel (flex-elem, nem absolute). */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
    content: '';
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: var(--color-success);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15px 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* „Kosár" (wc-forward) gomb: a sor végére, kompakt méret. Az order:1 a
   DOM-ban a szöveg ELÉ írt gombot a szöveg mögé, jobbra rendezi. */
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
    order: 1;
    margin: 0 0 0 auto;
    padding: 9px 18px;
    font-size: 13.5px;
    flex: 0 0 auto;
}

.woocommerce-error {
    border-left-color: var(--color-error);
}

.woocommerce-error::before {
    background-color: var(--color-error);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
}

.woocommerce-info {
    border-left-color: var(--color-warning);
}

.woocommerce-info::before {
    background-color: var(--color-warning);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11 7h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E");
}

.woocommerce-error li {
    margin: 0;
    min-width: 0;
}

/* A Woo a notice-ra tabindex=-1 + programmatikus fókuszt tesz (a11y felolvasás).
   Ez NEM billentyűzetes fókusz → a téma accent focus-ringje itt zavaró keretként
   jelenik meg. Elnyomjuk (a notice saját kerete/árnyéka adja a kiemelést). */
.woocommerce-message:focus,
.woocommerce-message:focus-visible,
.woocommerce-error:focus,
.woocommerce-error:focus-visible,
.woocommerce-info:focus,
.woocommerce-info:focus-visible {
    outline: none;
}

.woocommerce-message.eb-notice--dismiss {
    opacity: 0;
    transform: translateY(-6px);
}

/* Kosár-frissítés loading overlay */
.blockUI.blockOverlay {
    background: rgba(247, 244, 239, .7) !important;
}

/* --------------------------------------------------------------------------
   Woo alap: termékrács, ár, badge, csillag, lapozás (alap-szint — az
   archív/single finomhangolást az F3/F4 surface-CSS adja)
   -------------------------------------------------------------------------- */
ul.products {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
    column-gap: clamp(18px, 2vw, 28px);
    row-gap: clamp(34px, 3.4vw, 48px);
}

ul.products li.product {
    position: relative;
    margin: 0;
}

ul.products li.product img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--color-product-bg);
    border-radius: var(--radius-card);
}

.price {
    font-weight: 600;
    font-size: 15.5px;
    color: var(--color-text);
}

.price del {
    color: var(--color-old-price);
    font-size: 13.5px;
    font-weight: 500;
}

.price ins {
    text-decoration: none;
}

.onsale {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
    background: var(--acc);
    color: #fff;
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 100px;
    box-shadow: 0 4px 12px var(--acc-sh);
}

.star-rating {
    color: var(--color-star);
}

.woocommerce-pagination ul {
    list-style: none;
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 0;
    margin: 40px 0 0;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 8px;
    border: 1px solid var(--color-border-alt);
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.woocommerce-pagination ul li a:hover {
    background: var(--color-product-bg);
}

.woocommerce-pagination ul li span.current {
    background: var(--acc);
    border-color: var(--acc);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Header (bundle .eb-hd — verbatim, BEM-hídon)
   -------------------------------------------------------------------------- */
.eb-hd {
    position: sticky;
    top: 0;
    z-index: 50;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background .3s ease, border-color .3s ease;
    /* A vízszintes inset a külső (full-width) elemre kerül, a belső max-1200
       flush középre zár → a header tartalma pontosan a fő tartalom-oszlop
       élére esik (katalógus breadcrumb / szekció-container), nem +56-tal beljebb. */
    padding: 0 var(--container-inset);
}

.eb-hd.scrolled {
    background: rgba(255, 255, 255, .95);
    border-bottom-color: var(--color-border);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.eb-hd__inner {
    max-width: var(--container-max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 68px;
}

.eb-hd__brand {
    display: flex;
    align-items: center;
    gap: 2px;
}

.eb-hd__logo {
    height: 34px;
    width: 34px;
    display: block;
}

.eb-logo-light {
    display: block;
}

.eb-logo-dark {
    display: none;
}

.eb-hd.scrolled .eb-logo-dark {
    display: block;
}

.eb-hd.scrolled .eb-logo-light {
    display: none;
}

.eb-ht {
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 21px;
    letter-spacing: -.03em;
    transition: color .3s ease;
}

.eb-hd.scrolled .eb-ht {
    color: var(--color-text);
}

.eb-nav {
    display: flex;
    align-items: center;
    gap: 21px;
    font-size: 14.5px;
}

/* wp_nav_menu ul reset */
.eb-nav ul {
    display: flex;
    align-items: center;
    gap: 21px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.eb-hn,
.eb-nav a {
    color: rgba(255, 255, 255, .9);
    transition: color .25s ease;
}

.eb-hn:hover,
.eb-nav a:hover {
    color: #fff;
}

.eb-hd.scrolled .eb-hn,
.eb-hd.scrolled .eb-nav a {
    color: var(--color-text-muted);
}

.eb-hd.scrolled .eb-hn:hover,
.eb-hd.scrolled .eb-nav a:hover {
    color: var(--color-text);
}

.eb-hd__actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.eb-hd__cta {
    background: var(--acc);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 17px;
    border-radius: 9px;
    transition: background var(--transition-fast);
}

.eb-hd__cta:hover {
    background: var(--acc-deep);
    color: #fff;
}

.eb-ib {
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: color .3s ease, border-color .3s ease;
}

.eb-hd.scrolled .eb-ib {
    border-color: var(--color-border-alt);
    color: #3B372F;
}

.eb-ib svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

/* Kosár-ikon darabszám badge — csak nem-üres kosárnál látszik (a szám maga
   jelzi a tartalmat). Accent korong, a header mindkét állapotában (átlátszó
   hero fölött / scrolled fehér) olvasható; fehér gyűrű választja el az ikontól. */
.eb-ib--cart {
    position: relative;
}

.eb-cart-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--acc);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    border: 2px solid #fff;
    box-shadow: 0 2px 6px var(--acc-sh);
    pointer-events: none;
}

.eb-cart-badge[hidden] {
    display: none;
}

.eb-burger {
    display: none;
    background: transparent;
    padding: 0;
}

@media (max-width: 900px) {
    .eb-nav {
        display: none !important;
    }

    .eb-burger {
        display: flex !important;
    }
}

/* Mobilmenü panel */
.eb-mobile-menu {
    display: none;
    position: sticky;
    top: 68px;
    z-index: 49;
    background: #fff;
    border-bottom: 1px solid var(--color-border);
    padding: 10px var(--container-inset) 16px;
    flex-direction: column;
    gap: 2px;
    font-size: 15px;
    color: #3B372F;
}

.eb-mobile-menu.is-open {
    display: flex;
}

.eb-mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.eb-mobile-menu a {
    display: block;
    padding: 12px 6px;
    border-bottom: 1px solid #F0EBE1;
}

.eb-mobile-menu__cta {
    margin-top: 10px;
    text-align: center;
    background: var(--acc);
    color: #fff;
    font-weight: 600;
    padding: 14px;
    border-radius: 10px;
}

.eb-mobile-menu__cta:hover {
    background: var(--acc-deep);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Footer (bundle 4 oszlopos, sötét — verbatim, BEM-hídon)
   -------------------------------------------------------------------------- */
.eb-footer {
    background: var(--color-dark);
    color: #C6BBAA;
    /* Vízszintes inset a full-width elemen; a belső max-1200 flush középre zár →
       a 4 oszlop a fő tartalom-oszlop széléig fut ki (nem +56-tal beljebb). */
    padding: 0 var(--container-inset);
}

.eb-footer__inner {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: clamp(40px, 5vw, 60px) 0;
}

.eb-footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 32px;
    margin-bottom: 36px;
}

.eb-footer__brand-row {
    display: flex;
    align-items: center;
    gap: 3px;
    margin-bottom: 14px;
}

.eb-footer__logo {
    height: 30px;
    width: 30px;
    display: block;
}

.eb-footer__wordmark {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 20px;
    letter-spacing: -.03em;
    color: #fff;
}

.eb-footer__tagline {
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0;
    max-width: 32ch;
}

.eb-footer__heading {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .04em;
    color: #fff;
    margin-bottom: 14px;
}

.eb-footer__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
}

.eb-footer__links a {
    transition: color var(--transition-fast);
}

.eb-footer__links a:hover {
    color: #fff;
}

.eb-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: 22px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-size: 12.5px;
    color: var(--color-text-faintest);
}

.eb-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

.eb-footer__legal a:hover {
    color: #fff;
}

.eb-footer__badges {
    display: inline-flex;
    align-items: center;
    gap: 16px;
}

.eb-footer__badge {
    width: auto;
    display: block;
    /* Teljes színben (a GLS/kártya-logók opak/márka-hátterűek — a korábbi
       grayscale filter a GLS lapos szürke dobozzá tette, mert az a kép nem
       átlátszó hátterű, a filter az egész téglalapot leszürkítette). */
}

.eb-footer__badge--cards {
    height: 18px;
}

.eb-footer__badge--gls {
    height: 22px;
}

/* --------------------------------------------------------------------------
   Marquee (bizalmi ticker 40s / vélemény-ticker 55s — bundle keyframes)
   -------------------------------------------------------------------------- */
@keyframes eb-marq {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.eb-tick-track {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    animation: eb-marq 40s linear infinite;
    will-change: transform;
}

.eb-tick:hover .eb-tick-track {
    animation-play-state: paused;
}

.eb-tick-item {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(14px, 1.7vw, 18px);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #fff;
    padding: 0 clamp(26px, 4vw, 54px);
}

.eb-rev-track {
    display: inline-flex;
    animation: eb-marq 55s linear infinite;
    will-change: transform;
}

.eb-rev:hover .eb-rev-track {
    animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
    .eb-tick-track,
    .eb-rev-track {
        animation: none;
    }
}

/* --------------------------------------------------------------------------
   Animációs alap-állapotok (eb-anim.js — a .eb-animate osztályt a JS csak
   akkor teszi fel, ha NINCS reduced-motion → e nélkül minden látszik)
   -------------------------------------------------------------------------- */
.eb-animate [data-eb] {
    opacity: 0;
    will-change: transform, opacity;
}

.eb-animate [data-eb="up"] {
    transform: translateY(30px);
}

.eb-animate [data-eb="left"] {
    transform: translateX(-30px);
}

.eb-animate [data-eb="right"] {
    transform: translateX(30px);
}

.eb-animate [data-eb="zoom"] {
    transform: scale(.96);
}

.eb-animate [data-eb-hero] {
    opacity: 0;
    transform: translateY(30px);
}

.eb-animate [data-eb-group] > * {
    opacity: 0;
    transform: translateY(26px);
}

.eb-animate [data-eb-pin-item] {
    opacity: 0;
    transform: translateY(40px);
}

.eb-animate [data-eb-split]:not(.eb-split-ready) {
    opacity: 0;
}

/* --------------------------------------------------------------------------
   404
   -------------------------------------------------------------------------- */
.error-404 {
    text-align: center;
    padding: 40px 0;
}

/* --------------------------------------------------------------------------
   A11y utility
   -------------------------------------------------------------------------- */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}
