/* ==========================================================================
   Easybutor — Termék single (F4)
   Forrás: handoff bundle `easybutor termékoldal` nézet (vizuális igazságforrás).
   Woo verzió, amire a selectorok íródtak: WooCommerce 10.7.0 (gyári
   content-single-product.php kompozíció, NINCS template override — a
   konfigurátor-stack a gyári variations-formhoz kötött, lásd
   WOOCOMMERCE_RULES.md §4.2).

   ⚠️ Megszeghetetlen: a form.variations_form / .single_variation / form.cart /
   .single_add_to_cart_button / .quantity / .summary / CPD-mezők
   (#add_door, #door_color, #width_delta, .add-door-wrapper, .custom-accordion)
   markupjához NEM nyúlunk — itt csak stílust kapnak.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Plugin-híd: az accessories plugin hardcode-olt --eb-* tokenjeinek
   theme-oldali felülírása (a plugin CSS-e UTÁN töltődünk — enqueue dependency).
   A színek már a token-NÉV kontraktuson keresztül öröklődnek
   (accessories-product.css:8–15) — itt csak a maradék.
   -------------------------------------------------------------------------- */
:root {
    --eb-font-body: var(--font-body);
    --eb-font-heading: var(--font-heading);
    --eb-radius-btn: 12px;
    --eb-radius-chip: 13px;
    --eb-primary-hover: var(--acc-deep);
}

/* --------------------------------------------------------------------------
   1. Oldal-keret: a Woo-wrapper (.section-wrapper) felső padding-ja a bundle
   szerint kisebb a single-n; breadcrumb a rács felett.
   -------------------------------------------------------------------------- */
/* A bundle termékoldala FEHÉR hátterű (a landing kremes — body{background:#FFFFFF}
   a bundle nézetben; döntés: Zsolt, 2026-07-22) */
body.single-product,
.eb-single {
    background: #fff;
}

/* SZEKCIÓZÁS (Zsolt, 2026-07-23): a single-en a közös .section-wrapper.container
   wrapper helyett vékony <main.eb-single> áll (inc/single-product.php); minden
   blokk önálló szekció (content-single-product.php + after_summary hookok).
   A hero felső padding-ja a bundle szerint kicsi. */
.single-product .eb-sp--hero.section-wrapper {
    padding-top: clamp(18px, 2.6vw, 28px);
    padding-bottom: clamp(40px, 5vw, 72px);
}

/* Notice-kimenet a hero konténerén belül renderel (content-single-product.php) —
   nincs teendő; a globális Woo-notice stílus (main.css) érvényes. */

.single-product .woocommerce-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    color: var(--color-text-faintest);
    margin: 0 0 clamp(20px, 2.6vw, 32px);
}

.single-product .woocommerce-breadcrumb a {
    color: var(--color-text-faintest);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.single-product .woocommerce-breadcrumb a:hover {
    color: var(--color-text);
}

.eb-crumb-sep {
    color: var(--color-text-faintest);
}

/* --------------------------------------------------------------------------
   2. Fő rács: galéria + summary 2 oszlop (bundle: auto-fit minmax 360px).
   A tabs / related / upsells ugyanennek a div.product-nak a gyerekei →
   teljes szélesség. A .onsale abszolút (grid nem tördeli be).
   -------------------------------------------------------------------------- */
/* ⚠️ NEM auto-fit: a teljes szélességű gyerekek (tabs/related, 1/-1 span)
   megakadályozzák az üres track összecsukását → 3 sáv jönne létre és a
   vásárlási oszlop ~360px-re szűkülne (2026-07-22 fix). */
.single-product div.product {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}

@media (min-width: 861px) {
    .single-product div.product {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

/* A div.product mostantól CSAK a hero-t (galéria + summary) tartalmazza —
   az after_summary blokkok (details/related/gyik/kapcs) a content-single-product.php
   override révén a div.product-on KÍVÜL, önálló szekciókként rendelődnek. */

/* Szekció-háttér váltakozás a bundle termékoldal-nézete szerint (fehér oldalon):
   hero #fff · Részletes leírás #fff · Ajánlott #FBF8F3 · GYIK #fff · Kapcsolat #FBF8F3. */
.single-product .eb-details {
    background: #fff;
    border-top: 1px solid #EDE5D8;
}

.single-product .eb-gyik {
    border-top: 1px solid #EDE5D8;
}

.single-product .eb-kapcs {
    background: #FBF8F3;
    border-top: 1px solid #EDE5D8;
}

/* ⚠️ Osztálynév-ütközés F3↔F5: a woo-archive.css .eb-badge-e (kártya-badge,
   position:absolute) elvinné az F5 szekció-pilljeit — a single-ön mindkét
   réteg betöltődik. Itt visszaállítjuk; a végleges feloldás (átnevezés) F7. */
.single-product .eb-gyik .eb-badge,
.single-product .eb-kapcs .eb-badge {
    position: static;
    top: auto;
    right: auto;
}

.single-product div.product > .onsale {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    background: var(--acc);
    color: #fff;
    font-family: var(--font-body);
    font-size: 12.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 100px;
    box-shadow: 0 4px 12px var(--acc-sh);
}

/* --------------------------------------------------------------------------
   3. Galéria — fő kép 1:1, radius 24, #F1F0EE háttér; alatta thumb-rács.
   A kattintásra cserét a woo-single.js adja (node-swap, lightbox-barát).
   -------------------------------------------------------------------------- */
.single-product .woocommerce-product-gallery {
    position: relative;
}

.single-product .woocommerce-product-gallery__wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px 10px;
    margin: 0;
}

.single-product .woocommerce-product-gallery__image {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
    overflow: hidden;
    background: var(--color-product-bg);
    border: 1.5px solid #E7DFD1;
    cursor: pointer;
    transition: border-color var(--transition-fast);
}

.single-product .woocommerce-product-gallery__image:hover {
    border-color: var(--acc);
}

/* Az első (fő) kép: teljes sor, nagyobb radius, nincs border */
.single-product .woocommerce-product-gallery__image:first-child {
    grid-column: 1 / -1;
    border-radius: 24px;
    border: none;
}

.single-product .woocommerce-product-gallery__image a {
    display: block;
    width: 100%;
    height: 100%;
}

.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* döntés (Zsolt, 2026-07-22/a): valós JPG fotók → cover */
    display: block;
}

/* Lightbox trigger (🔍) — fehér kör a fő kép sarkában */
.single-product .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--shadow-badge);
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: -9999px;
    overflow: hidden;
}

.single-product .woocommerce-product-gallery__trigger::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 11px;
    height: 11px;
    border: 2px solid var(--color-text-muted);
    border-radius: 50%;
}

.single-product .woocommerce-product-gallery__trigger::after {
    content: '';
    position: absolute;
    top: 24px;
    left: 24px;
    width: 2px;
    height: 7px;
    background: var(--color-text-muted);
    transform: rotate(-45deg);
}

/* --------------------------------------------------------------------------
   4. Summary oszlop — cím, ár-pill, rövid leírás.
   -------------------------------------------------------------------------- */
.single-product .summary.entry-summary {
    min-width: 0;
}

.single-product .product_title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: clamp(30px, 4.4vw, 54px);
    line-height: 1.02;
    letter-spacing: -.02em;
    text-transform: uppercase;
    margin: 0 0 12px;
    text-wrap: balance;
}

/* Ár-pill (bundle): fehér, 1.5px #E4DBCB, teljesen kerek. Ugyanezt kapja a
   statikus Woo ártartomány ÉS a plugin dinamikus ára (#easybutor-dynamic-price). */
.single-product .summary > .price,
.single-product .eb-dynamic-price {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid var(--color-border-alt);
    border-radius: 100px;
    padding: 12px 26px;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: clamp(20px, 2.4vw, 26px);
    letter-spacing: -.01em;
    color: var(--color-text);
    line-height: 1.2;
    margin: 4px 0 22px;
}

/* Kiegészítős terméken a dinamikus ár veszi át — a statikus tartomány duplikálna.
   (Az .eb-acc szerver-oldalon renderel, JS nélkül is jelen van.) */
.single-product div.product:has(.eb-acc) .summary > .price {
    display: none;
}

/* Rövid leírás = meta-sor a cím alatt (döntés 2026-07-22/c). Bundle:
   „43 cm mély korpusz · 18 mm Egger bútorlap · méretre gyártva" stílus.
   ⚠️ A jelenlegi hosszú tartalmat az ügyfél átírja rövidre; addig a beágyazott
   videó/kép itt rejtve (a hosszú tartalom a Részletes leírásban él). */
.single-product .woocommerce-product-details__short-description {
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-faint);
    margin: 0 0 22px;
}

.single-product .woocommerce-product-details__short-description p {
    margin: 0 0 6px;
}

.single-product .woocommerce-product-details__short-description iframe,
.single-product .woocommerce-product-details__short-description img {
    display: none;
}

/* Termék-meta (kategóriák, cikkszám) — halvány, kicsi */
.single-product .product_meta {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--color-border);
    font-size: 13px;
    color: var(--color-text-faint);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.single-product .product_meta a {
    color: var(--color-text-muted);
    text-decoration: none;
}

.single-product .product_meta a:hover {
    color: var(--acc-deep);
}

/* --------------------------------------------------------------------------
   5. Vásárlási blokk: a form.cart rács — az „Ajtóval kérem" és az „Egyedi
   méret" kártya egymás mellé kerül (bundle 2-up), minden más teljes sor.
   ⚠️ A gyerek-elemek sorrendjéhez/markupjához nem nyúlunk.
   -------------------------------------------------------------------------- */
.single-product form.cart {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.single-product form.cart > * {
    grid-column: 1 / -1;
    margin: 0;
}

/* Egyszerű (nem variálható) termék: qty + CTA egy sorban */
.single-product form.cart:not(.variations_form) {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.single-product form.cart:not(.variations_form) .quantity {
    flex: 0 0 auto;
}

.single-product form.cart:not(.variations_form) .quantity .qty {
    height: 100%;
    min-height: 56px;
    width: 76px;
    border-radius: var(--radius-feature);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 16px;
}

.single-product form.cart:not(.variations_form) .single_add_to_cart_button {
    flex: 1;
}

/* Csak ha MINDKÉT kártya jelen van, üljenek egymás mellé */
.single-product form.cart:has(.add-door-wrapper) > .add-door-wrapper,
.single-product form.cart:has(.add-door-wrapper) > .custom-accordion {
    grid-column: auto;
}

@media (max-width: 560px) {
    .single-product form.cart:has(.add-door-wrapper) > .add-door-wrapper,
    .single-product form.cart:has(.add-door-wrapper) > .custom-accordion {
        grid-column: 1 / -1;
    }
}

/* --- Szín swatchok (plugin-JS generálta .eb-swatches, a form elején) --- */
/* Bundle: „SZÍN  <kiválasztott szín neve>" EGY sorban, alatta a swatch-sor.
   A színnevet a woo-single.js helyezi ide (a swatch-sor végéről). */
.single-product .eb-swatches-label {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 8px 0 10px;
}

.single-product .eb-swatches {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
}

.single-product .eb-swatch {
    width: 38px;
    height: 38px;
    border: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}

.single-product .eb-swatch:hover {
    border: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12), 0 0 0 2px var(--color-border-alt);
}

.single-product .eb-swatch--active {
    border: none;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--acc), inset 0 0 0 1px rgba(0, 0, 0, .12);
}

/* A színnév a felirat mellett: nem nagybetűs, halvány (bundle) */
.single-product .eb-swatch__name {
    font-family: var(--font-body);
    font-size: 13.5px;
    font-weight: 500;
    letter-spacing: normal;
    text-transform: none;
    color: var(--color-text-faint);
}

/* --- Gyors kiegészítők (plugin .eb-acc réteg) — bundle chip-kártyák --- */
.single-product .eb-acc {
    position: relative; /* az „Összes kiegészítő →" fejléc-sorba emeléséhez */
}

.single-product .eb-acc__quick-label {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text);
    margin: 6px 0 8px;
}

/* Bundle: 3-up chip-rács; a chipen belül név+ár felül, vezérlő alul */
.single-product .eb-acc__items {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.single-product .eb-acc__item .eb-acc__row {
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
}

.single-product .eb-acc__item .eb-acc__label {
    order: 1;
    flex: 1 1 auto;
    font-size: 14.5px;
    font-weight: 600;
}

.single-product .eb-acc__item .eb-acc__price {
    order: 2;
    font-size: 12.5px;
    font-weight: 600;
}

.single-product .eb-acc__item .eb-acc__qty,
.single-product .eb-acc__item .eb-acc__toggle,
.single-product .eb-acc__item .eb-acc__controls {
    order: 3;
    flex: 1 0 100%;
}

.single-product .eb-acc__item .eb-acc__qty {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.single-product .eb-acc__item .eb-acc__controls,
.single-product .eb-acc__item .eb-acc__choice-select {
    width: 100%;
}

/* „Összes kiegészítő →" — a bundle a GYORS KIEGÉSZÍTŐK sor jobb szélére teszi */
.single-product .eb-acc__show-all {
    position: absolute;
    top: 4px;
    right: 0;
    border: none;
    background: none;
    padding: 0;
    min-height: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--acc-deep);
}

.single-product .eb-acc__show-all:hover {
    background: none;
    border: none;
    color: var(--acc);
}

.single-product .eb-acc__item {
    border: 1px solid #E7DFD1;
    border-radius: 13px;
    padding: 12px 13px;
    background: #fff;
}

.single-product .eb-acc__item--active {
    border-color: var(--acc);
    background-color: var(--acc-soft);
}

/* Mennyiség-stepper a chipekben — bundle: különálló szögletes gombok */
.eb-acc__qty {
    border: none;
    border-radius: 0;
    gap: 5px;
    overflow: visible;
}

.eb-acc__qty-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #E0D7C8;
    border-radius: 8px;
    background: #fff;
    font-size: 19px;
    color: #3B372F;
    transition: border-color var(--transition-fast);
}

.eb-acc__qty-btn:hover {
    background: #fff;
    border-color: var(--acc);
}

/* input[type=number] specificitású selector: a main.css globális input-szabálya
   (padding 11px 14px + min-height 44px) különben rácsorogna a stepper-mezőre */
input.eb-acc__qty-input {
    border: none;
    border-radius: 0;
    width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    flex: none;
    background: transparent;
}

/* Toggle kapcsoló — accent szín a token-hídból már jön; méret a bundle-höz */
.eb-acc__toggle-track {
    width: 48px;
    height: 28px;
}

.eb-acc__toggle-thumb {
    width: 22px;
    height: 22px;
}

.eb-acc__toggle-input:checked + .eb-acc__toggle-track .eb-acc__toggle-thumb {
    transform: translateX(20px);
}

.eb-acc__choice-select,
.eb-acc__color-select {
    border: 1px solid #E0D7C8;
    border-radius: 9px;
    padding: 9px 12px;
    font-size: 13.5px;
    background: #fff;
    min-height: 36px;
}

/* Kiegészítők ár-összesítő */
.eb-acc__summary-row--total {
    border-top: 1px solid var(--color-border-alt);
    font-family: var(--font-heading);
}

/* --- „Ajtóval kérem" kártya (CPD markup — bricks-child kártya-minta portja,
       bundle tokenekre) --- */
.single-product .add-door-wrapper {
    border: 1px solid #E7DFD1;
    border-radius: 13px;
    padding: 13px 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.single-product .add-door-wrapper:hover {
    border-color: var(--acc);
}

.single-product .add-door-wrapper:has(#add_door:checked) {
    border-color: var(--acc);
    background-color: var(--acc-soft);
}

.single-product .add-door-wrapper > label {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text);
    cursor: pointer;
    margin: 0;
    line-height: 1.3;
}

/* A checkbox utáni szöveg (JS: a kiválasztott ajtó neve) — 1 sor, ellipsis,
   hogy a kártya magassága ne nőjön (= az „Egyedi méret" kártyával azonos). */
.single-product .add-door-wrapper .eb-door-text {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.single-product .add-door-wrapper input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--acc);
    cursor: pointer;
}

/* Ajtószín-dropdown: kiegészítős (overlay-es) terméken az overlay/sidebar
   veszi át → a main-en MINDIG rejtve (döntés Zsolt, 2026-07-23: itt csak
   checkbox + szöveg). ⚠️ A `.single-product` MAGA a <body>, ezért NEM
   `body:has(...) .single-product` (az sosem illeszkedne), hanem
   `.single-product:has(...)`. Így a plugin inline `display:block`-ját is
   üti (a checkbox-toggle inline JS-ét). */
.single-product:has( #eb-overlay ) .add-door-wrapper .door-color-wrapper {
    display: none !important;
}

/* Overlay nélküli fallback: pipa nélkül rejtve (a select ilyenkor a plugin
   inline JS-ével jelenne meg — nincs sidebar, ez a tartalék). */
.single-product:not(:has( #eb-overlay )) .add-door-wrapper:not(:has( #add_door:checked )) .door-color-wrapper {
    display: none;
}

.single-product .door-color-wrapper {
    margin-top: 10px;
}

.single-product .door-color-wrapper label {
    display: block;
    font-size: 13px;
    color: var(--color-text-faint);
    margin: 0 0 4px;
}

.single-product .door-color-wrapper select {
    width: 100%;
    border: 1px solid #E0D7C8;
    border-radius: 9px;
    padding: 9px 12px;
    font-family: var(--font-body);
    font-size: 13.5px;
    background: #fff;
}

/* --- „Egyedi méret" kártya (CPD accordion) --- */
.single-product .custom-accordion {
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-product .custom-accordion .accordion-item {
    border: 1px solid #E7DFD1;
    border-radius: 13px;
    padding: 13px 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.single-product .custom-accordion .accordion-item:hover {
    border-color: var(--acc);
}

.single-product .custom-accordion .accordion-item:has(.accordion-content-wrapper[style*="block"]),
.single-product .custom-accordion .accordion-item:has(#width_delta:not(:placeholder-shown)) {
    border-color: var(--acc);
    background-color: var(--acc-soft);
}

.single-product .custom-accordion .accordion-title-wrapper {
    padding: 0;
}

.single-product .custom-accordion .accordion-title h3.title {
    display: flex;
    align-items: center;
    gap: 11px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--color-text);
    margin: 0;
    line-height: 1.3;
}

/* „height" iconset-ikon a „↕" emoji helyett (JS injektálja) */
.single-product .eb-size-ic {
    flex: none;
    display: inline-flex;
    color: var(--acc);
}

.single-product .eb-size-ic svg {
    width: 21px;
    height: 21px;
    display: block;
}

.single-product .eb-size-text {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Kiegészítős (overlay-es) terméken a méret-mező az overlaybe kerül → inline
   tartalom rejtve. ⚠️ `.single-product:has(...)` (a .single-product a <body>). */
.single-product:has( #eb-overlay ) .custom-accordion .accordion-content-wrapper {
    display: none !important;
}

.single-product .custom-dimensions-fields {
    padding-top: 12px;
}

.single-product .custom-dimensions-fields label {
    font-size: 13px;
    color: var(--color-text-faint);
}

.single-product .custom-dimensions-fields input[type="number"] {
    width: 110px;
    border: 1px solid #E0D7C8;
    border-radius: 9px;
    min-height: 40px;
    padding: 8px 10px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    text-align: center;
    margin-top: 4px;
}

.single-product .custom-dimensions-fields input[type="number"]:focus {
    outline: none;
    border-color: var(--acc);
}

.single-product .custom-dimensions-fields p.note {
    font-size: 12px;
    color: var(--color-text-faint);
    line-height: 1.5;
    margin: 8px 0 0;
}

/* --- Variáció-tábla (látható marad, ha nincs swatch-JS) --- */
.single-product table.variations {
    width: 100%;
    border-collapse: collapse;
}

.single-product table.variations th.label {
    text-align: left;
    padding: 0 12px 6px 0;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text);
    vertical-align: middle;
}

.single-product table.variations td.value {
    padding: 0 0 6px;
}

.single-product table.variations select {
    width: 100%;
    max-width: 100%;
    border: 1px solid #E0D7C8;
    border-radius: 9px;
    padding: 10px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    background: #fff;
}

.single-product a.reset_variations {
    font-size: 12.5px;
    color: var(--color-text-faint);
    text-decoration: underline;
}

/* --- Variáció-állapot + CTA sor --- */
/* Az árat a plugin CSS rejti (.woocommerce-variation-price) — nem ütközünk vele.
   A készlet-jelzés halvány. */
.single-product .woocommerce-variation-availability {
    font-size: 13.5px;
    color: var(--color-text-faint);
}

.single-product .woocommerce-variation-availability p {
    margin: 0 0 8px;
}

.single-product .woocommerce-variation-add-to-cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin-top: 12px;
}

.single-product .woocommerce-variation-add-to-cart .quantity {
    flex: 0 0 auto;
}

.single-product .woocommerce-variation-add-to-cart .quantity .qty {
    height: 100%;
    min-height: 56px;
    width: 76px;
    border-radius: var(--radius-feature);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 16px;
}

/* Fő CTA — bundle: accent, radius 14, Archivo 700, nagy árnyék, kosár-ikon */
.single-product .single_add_to_cart_button.button {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 16px;
    padding: 18px 24px;
    border-radius: var(--radius-feature);
    box-shadow: 0 12px 30px var(--acc-sh);
    text-transform: none;
    letter-spacing: 0;
}

.single-product .single_add_to_cart_button.button::before {
    content: '';
    flex: none;
    width: 21px;
    height: 21px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='%23ffffff'%3E%3Cpath d='M280-80q-33 0-56.5-23.5T200-160q0-33 23.5-56.5T280-240q33 0 56.5 23.5T360-160q0 33-23.5 56.5T280-80Zm400 0q-33 0-56.5-23.5T600-160q0-33 23.5-56.5T680-240q33 0 56.5 23.5T760-160q0 33-23.5 56.5T680-80ZM246-720l96 200h280l110-200H246Zm-38-80h590q23 0 35 20.5t1 41.5L692-482q-11 20-29.5 31T622-440H324l-44 80h480v80H280q-45 0-68-39.5t-2-78.5l54-98-144-304H40v-80h130l38 80Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Kifutott/nem elérhető variáció jelzés */
.single-product .stock.out-of-stock {
    color: var(--color-error);
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   6. Garancia trust-blokk (inc/single-product.php rendereli a CTA után)
   -------------------------------------------------------------------------- */
.eb-warranty {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    background: var(--acc-bg);
    border-radius: 13px;
    padding: 13px 15px;
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.5;
    color: #3B372F;
}

.eb-warranty__icon {
    flex: none;
    display: flex;
    color: var(--acc-deep);
}

.eb-warranty__icon svg {
    width: 22px;
    height: 22px;
}

.eb-warranty strong {
    color: var(--color-text);
}

/* --------------------------------------------------------------------------
   7. Termékinformációs fülek (döntés 2026-07-23: 4 tab — Részletes leírás,
   Elérhető színek, Összeszerelés, Értékelések). A Részletes leírás panel a
   bundle két oszlopát tartja (leírás | Paraméterek panel); a tab-pill a
   bundle gomb-nyelvéből (border #D8CFC0, radius 10px, aktív: sötét).
   -------------------------------------------------------------------------- */
.single-product .eb-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(24px, 3vw, 36px);
}

.single-product .eb-tabs__tab {
    appearance: none;
    background: transparent;
    border: 1px solid #D8CFC0;
    border-radius: 10px;
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    padding: 12px 22px;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.single-product .eb-tabs__tab:hover {
    background: #F1F0EE;
}

.single-product .eb-tabs__tab:focus-visible {
    outline: 2px solid var(--acc);
    outline-offset: 2px;
}

.single-product .eb-tabs__tab--active,
.single-product .eb-tabs__tab--active:hover {
    background: var(--color-darkest);
    border-color: var(--color-darkest);
    color: #fff;
}

/* 7/a. Elérhető színek panel */
.single-product .eb-colors__lead {
    font-size: 15.5px;
    line-height: 1.7;
    color: #57514A;
    margin: 0 0 clamp(20px, 2.6vw, 28px);
    max-width: 76ch;
}

/* Max 4 swatch/sor (döntés Zsolt, 2026-07-23) — nem auto-fill (az széles
   nézeten 5–6-ot pakolna); mobil 2 · tablet 3 · desktop 4. */
.single-product .eb-colors__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

@media (min-width: 600px) {
    .single-product .eb-colors__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 900px) {
    .single-product .eb-colors__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.single-product .eb-colors__item {
    margin: 0;
}

.single-product .eb-colors__img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid var(--color-border);
    display: block;
}

.single-product .eb-colors__name {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--color-text);
    margin-top: 8px;
    line-height: 1.4;
}

.single-product .eb-colors__note {
    font-size: 13.5px;
    color: var(--color-text-faint);
    margin: clamp(20px, 2.6vw, 28px) 0 0;
}

/* 7/a2. Műszaki paraméterek panel — cím + rövid leírás + helyőrző kép,
   ami a termék-PDF-et nyitja új lapon (döntés Zsolt, 2026-07-23). */
.single-product .eb-muszaki__title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(19px, 2.2vw, 24px);
    letter-spacing: -.02em;
    margin: 0 0 10px;
}

.single-product .eb-muszaki__lead {
    font-size: 15.5px;
    line-height: 1.7;
    color: #57514A;
    max-width: 68ch;
    margin: 0 0 clamp(20px, 2.6vw, 28px);
}

/* A helyőrző kép + felirat = egyetlen kattintható blokk (a kép nyitja a PDF-et) */
.single-product .eb-muszaki__doc {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 440px;
    text-decoration: none;
    color: inherit;
}

.single-product .eb-muszaki__thumb {
    display: block;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #E7DFD1;
    background: #FBF8F3;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.single-product .eb-muszaki__svg {
    display: block;
    width: 100%;
    height: auto;
}

/* „megnyitás" fátyol a képen hoverre (csak a linkelt állapotban) */
.single-product a.eb-muszaki__doc .eb-muszaki__thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(38, 36, 31, 0);
    transition: background var(--transition-fast);
}

.single-product a.eb-muszaki__doc:hover .eb-muszaki__thumb {
    border-color: var(--acc);
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
}

.single-product a.eb-muszaki__doc:focus-visible .eb-muszaki__thumb {
    outline: 2px solid var(--acc);
    outline-offset: 2px;
}

.single-product .eb-muszaki__cta {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.single-product .eb-muszaki__cta-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    color: var(--color-text);
}

.single-product .eb-muszaki__cta-sub {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--acc-deep);
}

.single-product .eb-muszaki__cta-sub svg {
    flex: none;
}

/* „Hamarosan" (nincs PDF) — nem link, halványabb jelzés */
.single-product .eb-muszaki__doc--soon {
    cursor: default;
}

.single-product .eb-muszaki__cta-sub--soon {
    color: var(--color-text-faint);
    font-weight: 500;
}

/* 7/b. Összeszerelés panel */
.single-product .eb-assembly {
    font-size: 15.5px;
    line-height: 1.7;
    color: #57514A;
    max-width: 76ch;
}

.single-product .eb-assembly p {
    margin: 0 0 16px;
}

.single-product .eb-assembly ul {
    margin: 0 0 16px;
    padding-left: 22px;
}

.single-product .eb-assembly li {
    margin-bottom: 8px;
}

.single-product .eb-assembly a {
    color: var(--acc-deep);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.single-product .eb-assembly img {
    max-width: 100%;
    border-radius: var(--radius-feature);
}

/* Összeszerelési videó (a szerelési útmutató alá) — reszponzív 16:9 embed */
.single-product .eb-assembly__video {
    margin-top: clamp(20px, 2.6vw, 28px);
}

.single-product .eb-assembly__video-lead {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0 0 12px;
}

.single-product .eb-assembly__video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 640px;
    border-radius: var(--radius-feature);
    overflow: hidden;
    border: 1px solid #E7DFD1;
    background: #000;
}

.single-product .eb-assembly__video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* A fül-panelen belül a Vélemények szekció-elválasztója nem kell */
.single-product .eb-tabs .eb-reviews {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

/* --------------------------------------------------------------------------
   7/c. „Részletes leírás" panel (bundle-kompozíció).
   Bundle: két oszlop (leírás | Paraméterek panel). A szekció-keretet (bg,
   border-top, padding) a .eb-details.section-wrapper adja (fent), NEM full-bleed.
   -------------------------------------------------------------------------- */
.single-product .eb-details__title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(24px, 3.2vw, 38px);
    letter-spacing: -.03em;
    margin: 0 0 clamp(24px, 3vw, 36px);
}

.single-product .eb-details__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: clamp(28px, 4vw, 54px);
    align-items: start;
}

.single-product .eb-details__body {
    font-size: 15.5px;
    line-height: 1.7;
    color: #57514A;
    max-width: 76ch;
}

.single-product .eb-details__body p {
    margin: 0 0 16px;
}

/* Pipás lista a leírásban (bundle check_circle sor-minta) */
.single-product .eb-details__body .eb-checklist {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.single-product .eb-details__body .eb-checklist li {
    position: relative;
    padding-left: 32px;
    font-size: 14.5px;
    line-height: 1.5;
    color: #3B372F;
}

.single-product .eb-details__body .eb-checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 20px;
    height: 20px;
    background-color: var(--acc);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z"/></svg>') no-repeat center / contain;
}

.single-product .eb-details__body iframe,
.single-product .eb-details__body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-feature);
}

/* Paraméterek panel (bundle) — a tábla-stílus lentebb közös */
.single-product .eb-details__params {
    background: #FBF8F3;
    border: 1px solid #E7DFD1;
    border-radius: 16px;
    padding: 6px 22px 10px;
}

.single-product .eb-details__params-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 16px;
    margin: 0;
    padding: 16px 0 6px;
}

/* --------------------------------------------------------------------------
   7/b. Vélemények szekció (a fülből kiemelve, tokenekből tervezve —
   a bundle nem mutat review-nézetet)
   -------------------------------------------------------------------------- */
.single-product .eb-reviews {
    border-top: 1px solid #EDE5D8;
    padding-top: clamp(28px, 4vw, 48px);
    margin-top: clamp(16px, 2vw, 24px);
}

.single-product .eb-reviews .woocommerce-Reviews-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(24px, 3.2vw, 38px);
    letter-spacing: -.03em;
    margin: 0 0 clamp(20px, 2.6vw, 30px);
}

.single-product .eb-reviews #comments,
.single-product .eb-reviews #review_form_wrapper {
    max-width: 720px;
}

.single-product .eb-reviews ol.commentlist {
    list-style: none;
    margin: 0 0 clamp(24px, 3vw, 36px);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.single-product .eb-reviews ol.commentlist li .comment_container {
    background: #fff;
    border: 1px solid #E7DFD1;
    border-radius: 13px;
    padding: 16px 18px;
    display: flex;
    gap: 14px;
}

.single-product .eb-reviews ol.commentlist img.avatar {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    flex: none;
}

.single-product .eb-reviews .comment-text {
    flex: 1;
    min-width: 0;
}

.single-product .eb-reviews .comment-text .meta {
    font-size: 13px;
    color: var(--color-text-faint);
    margin: 4px 0 8px;
}

.single-product .eb-reviews .comment-text .meta strong {
    color: var(--color-text);
    font-weight: 700;
}

.single-product .eb-reviews .comment-text .description {
    font-size: 14.5px;
    line-height: 1.6;
    color: #57514A;
}

.single-product .eb-reviews .comment-text .description p {
    margin: 0 0 8px;
}

/* Csillagok — a Woo ikonfontja nélkül (a woo-css lekapcsolva) */
.single-product .star-rating {
    position: relative;
    display: inline-block;
    width: 5.3em;
    height: 1em;
    line-height: 1;
    font-size: 14px;
    overflow: hidden;
}

.single-product .star-rating::before {
    content: '★★★★★';
    position: absolute;
    top: 0;
    left: 0;
    color: #D9D1C4;
    letter-spacing: 2px;
}

.single-product .star-rating span {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    padding-top: 1.5em;
}

.single-product .star-rating span::before {
    content: '★★★★★';
    position: absolute;
    top: 0;
    left: 0;
    color: var(--color-star);
    letter-spacing: 2px;
}

/* Értékelés-űrlap */
.single-product .eb-reviews .comment-reply-title {
    display: block;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 19px;
    margin: 0 0 14px;
}

.single-product .eb-reviews .comment-form {
    background: #FBF8F3;
    border: 1px solid #E7DFD1;
    border-radius: 16px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.single-product .eb-reviews .comment-form p {
    margin: 0;
}

.single-product .eb-reviews .comment-form label {
    display: block;
    font-size: 13px;
    color: var(--color-text-faint);
    margin-bottom: 5px;
}

.single-product .eb-reviews .comment-form input[type="text"],
.single-product .eb-reviews .comment-form input[type="email"],
.single-product .eb-reviews .comment-form textarea {
    width: 100%;
}

/* Csillag-választó a formban */
.single-product .eb-reviews p.stars {
    line-height: 1;
}

.single-product .eb-reviews p.stars a {
    display: inline-block;
    width: 1em;
    font-size: 22px;
    color: #D9D1C4;
    text-decoration: none;
    overflow: hidden;
    white-space: nowrap;
}

.single-product .eb-reviews p.stars a::before {
    content: '★';
}

.single-product .eb-reviews p.stars:hover a,
.single-product .eb-reviews p.stars.selected a {
    color: var(--color-star);
}

.single-product .eb-reviews p.stars a:hover ~ a,
.single-product .eb-reviews p.stars.selected a.active ~ a {
    color: #D9D1C4;
}

/* További információk tábla — bundle „Paraméterek" panel */
/* A tábla a .eb-details__params panelen BELÜL ül — a keretet a panel adja */
.single-product table.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
    border: none;
}

.single-product table.woocommerce-product-attributes th,
.single-product table.woocommerce-product-attributes td {
    padding: 13px 0;
    border-bottom: 1px solid #EAE1D2;
    font-size: 14px;
    text-align: left;
}

.single-product table.woocommerce-product-attributes td {
    text-align: right;
}

.single-product table.woocommerce-product-attributes tr:last-child th,
.single-product table.woocommerce-product-attributes tr:last-child td {
    border-bottom: none;
}

.single-product table.woocommerce-product-attributes th {
    font-weight: 400;
    color: var(--color-text-faint);
    width: 45%;
}

.single-product table.woocommerce-product-attributes td {
    font-weight: 600;
    color: var(--color-text);
}

.single-product table.woocommerce-product-attributes td p {
    margin: 0;
}

/* --------------------------------------------------------------------------
   8. Kapcsolódó / upsell termékek — bundle „Ajánlott termékek": önálló
   #FBF8F3 szekció (Woo-rendered <section>, nincs .container → a gyerekeit
   (fejléc + rács) középre max-width-eljük). A kártya-finomstílus az F3
   rétegéből jön (woo-archive.css, a single-en is betöltve).
   -------------------------------------------------------------------------- */
.single-product .related.products,
.single-product .up-sells.products {
    background: #FBF8F3;
    border-top: 1px solid #EDE5D8;
    padding: var(--spacing-section-mobile) var(--container-padding-mobile);
}

@media (min-width: 768px) {
    .single-product .related.products,
    .single-product .up-sells.products {
        padding: var(--spacing-section-tablet) var(--container-padding-tablet);
    }
}

@media (min-width: 1200px) {
    .single-product .related.products,
    .single-product .up-sells.products {
        padding: var(--spacing-section-desktop) var(--container-padding-desktop);
    }
}

.single-product .related.products > *,
.single-product .up-sells.products > * {
    max-width: var(--container-max-width);
    margin-inline: auto;
}

.single-product .related.products > h2,
.single-product .up-sells.products > h2,
.single-product .eb-related-head > h2 {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(24px, 3.2vw, 38px);
    letter-spacing: -.03em;
    margin: 0 0 clamp(24px, 3vw, 36px);
}

/* Fejléc-sor a „Nézd meg mindet" gombbal (a woo-single.js építi) */
.single-product .eb-related-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: clamp(24px, 3vw, 36px);
}

.single-product .eb-related-head > h2 {
    margin: 0;
}

.single-product .eb-related-head__all {
    border: 1px solid #D8CFC0;
    color: var(--color-text);
    font-weight: 600;
    font-size: 14px;
    padding: 11px 22px;
    border-radius: 10px;
    text-decoration: none;
    transition: background-color var(--transition-fast);
}

.single-product .eb-related-head__all:hover {
    background: var(--color-product-bg);
}

/* --------------------------------------------------------------------------
   9. Overlay konfigurátor-panel (accessories plugin <dialog>) — bundle drawer.
   ⚠️ Csak stílus: a markup, a nyitás/zárás és a mező-szinkron a pluginé.
   -------------------------------------------------------------------------- */
.eb-overlay {
    width: min(92vw, 440px);
    background: #F7F4EF;
    box-shadow: -20px 0 50px rgba(0, 0, 0, .18);
    transition: transform .32s cubic-bezier(.4, 0, .2, 1);
}

.eb-overlay::backdrop {
    background: rgba(22, 18, 14, .5);
}

.eb-overlay__header {
    padding: 20px clamp(20px, 3vw, 28px);
    background: #F7F4EF;
    border-bottom: 1px solid var(--color-border-alt);
}

.eb-overlay__title {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text);
}

.eb-overlay__close {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    color: var(--color-text-muted);
    font-size: 24px;
}

.eb-overlay__close:hover {
    background-color: #EDE6DA;
}

.eb-overlay__body {
    padding: clamp(18px, 2.6vw, 26px) clamp(20px, 3vw, 28px) 20px;
}

.eb-overlay__section-title {
    font-family: var(--font-heading);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #A69C8C;
    margin: 0 0 14px;
}

.eb-overlay__section + .eb-overlay__section {
    padding-top: 24px;
}

.eb-overlay__items {
    gap: 11px;
}

.eb-overlay__item {
    border: 1px solid var(--color-border);
    border-radius: 13px;
    padding: 11px 13px;
    background: #fff;
}

.eb-overlay__item--active {
    border-color: var(--acc);
    background-color: var(--acc-soft);
}

/* „Egyedi méret" kártya az overlay-ben: megerősített (aktív) állapot, ha van
   megadott szélesség-eltérés — az ajtó-kártyához hasonlóan (Zsolt, 2026-07-23).
   (`:placeholder-shown` → üres; `:not(...)` → van érték.) */
#eb-overlay-dimensions .eb-overlay__item:has( #eb-overlay-width-delta:not(:placeholder-shown) ) {
    border-color: var(--acc);
    background-color: var(--acc-soft);
}

/* Overlay width-input théma-stílus (a plugin inline szürke #d9d9d9 keretét
   felülírva — !important, mert a plugin inline `border` shorthandet ad). */
.eb-overlay #eb-overlay-width-delta {
    border: 1.5px solid var(--color-border-alt) !important;
    border-radius: 9px !important;
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-text);
    background: #fff;
}

.eb-overlay #eb-overlay-width-delta:focus {
    border-color: var(--acc) !important;
    outline: none;
}

/* Overlay ajtó-checkbox: a termékoldali kinézet (terrakotta accent, NEM a
   böngésző kék alapszíne) — a plugin natív checkboxa inline csak margin/flex-et
   ad, így az accent-color/méret ütközésmentesen érvényesül. */
.eb-overlay #eb-overlay-add-door {
    width: 22px;
    height: 22px;
    accent-color: var(--acc);
    cursor: pointer;
    flex-shrink: 0;
}

.eb-overlay__thumb {
    width: 46px;
    height: 46px;
    border-radius: 11px;
    background: var(--color-product-bg);
}

.eb-overlay__label {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--color-text);
}

.eb-overlay__price {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-faint);
}

.eb-overlay__footer {
    padding: 16px clamp(20px, 3vw, 28px);
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
    background: #F7F4EF;
    border-top: 1px solid var(--color-border-alt);
}

.eb-overlay__total {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 22px;
    letter-spacing: -.01em;
    color: var(--color-text);
}

/* Bundle: „Végösszeg" felirat az összeg felett (a JS csak az összeget írja) */
.eb-overlay__total::before {
    content: 'Végösszeg';
    display: block;
    font-family: var(--font-body);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--color-text-faint);
    margin-bottom: 2px;
}

.eb-overlay__cart-btn {
    flex: 1;
    padding: 15px 16px;
    border-radius: 12px;
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    background: var(--acc);
}

.eb-overlay__cart-btn:hover {
    background: var(--acc-deep);
}

/* --------------------------------------------------------------------------
   10. Sticky CTA (mobil, accessories plugin) — bundle stílus
   -------------------------------------------------------------------------- */
.eb-sticky-cta {
    background: #fff;
    box-shadow: 0 -6px 22px rgba(0, 0, 0, .1);
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
}

.eb-sticky-cta__price {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 18px;
    letter-spacing: -.01em;
    color: var(--color-text);
}

.eb-sticky-cta__btn {
    padding: 13px 24px;
    border-radius: 12px;
    font-family: var(--font-heading);
    font-size: 14.5px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    background: var(--acc);
}

.eb-sticky-cta__btn:hover {
    background: var(--acc-deep);
}

/* --------------------------------------------------------------------------
   11. Mobil finomítás
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .single-product .product_title {
        font-size: clamp(26px, 7.5vw, 34px);
    }

    .single-product .woocommerce-variation-add-to-cart {
        flex-wrap: wrap;
    }

    .single-product .woocommerce-variation-add-to-cart .quantity .qty {
        min-height: 52px;
    }

    .single-product .single_add_to_cart_button.button {
        min-width: 200px;
    }
}

/* QA Fázis 7 — érvénytelen egyedi szélesség hibaüzenete (woo-single.js). */
.eb-width-error {
	background: #FBEAE4;
	border: 1px solid #E8C4B2;
	border-radius: 10px;
	color: #8A3B22;
	font-size: 13.5px;
	line-height: 1.45;
	margin: 10px 0 0;
	padding: 10px 12px;
}
