/* ==========================================================================
   Bestlab Fast — main stylesheet
   Single hand-written file. No framework. Mobile-first.
   ========================================================================== */

:root{
	--bl-navy:#0B2C5A;
	--bl-blue:#1858A8;
	--bl-blue-d:#13497f;
	--bl-orange:#E8550D;
	--bl-orange-d:#cc480a;
	--bl-ink:#1A1F2B;
	--bl-muted:#6B7280;
	--bl-line:#E5E7EB;
	--bl-bg:#FFFFFF;
	--bl-soft:#F6F8FB;
	--bl-footer:#06294D;
	--bl-radius:10px;
	--bl-shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.10);
	--bl-shadow-lg:0 10px 30px rgba(11,44,90,.10);
	--bl-container:1280px;
	--bl-font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---- Reset-ish -------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--bl-font);color:var(--bl-ink);background:var(--bl-bg);line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:var(--bl-blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--bl-navy);line-height:1.15;margin:0 0 .4em}
button{font:inherit;cursor:pointer}
ul{list-style:none;margin:0;padding:0}

.container{width:100%;max-width:var(--bl-container);margin-inline:auto;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.blf-skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:1000}
.blf-skip:focus{left:8px;top:8px}

/* ---- Buttons ---------------------------------------------------------- */
.blf-btn{display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.25em;border-radius:8px;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.blf-btn:hover{text-decoration:none}
.blf-btn--primary{background:var(--bl-blue);color:#fff}
.blf-btn--primary:hover{background:var(--bl-blue-d)}
.blf-btn--orange{background:var(--bl-orange);color:#fff}
.blf-btn--orange:hover{background:var(--bl-orange-d)}
.blf-btn--ghost{background:transparent;color:var(--bl-navy);border-color:var(--bl-line)}
.blf-btn--ghost:hover{border-color:var(--bl-navy)}

/* ---- Header ----------------------------------------------------------- */
/* ---- Info bar — announcement strip above the header -------------------
   Sits outside .blf-header so it scrolls away while the header keeps sticking:
   an announcement does not earn permanent screen space. Content, tone and
   scheduling come from Bestlab Suite → Options → Menü → Info bar. */
.blf-infobar{background:var(--bl-navy);color:#fff;font-size:.86rem}
.blf-infobar[hidden]{display:none}
.blf-infobar--orange{background:var(--bl-orange)}
.blf-infobar__inner{display:flex;align-items:center;justify-content:center;gap:14px;
	min-height:38px;padding-block:7px;padding-inline:16px}
.blf-infobar__text{margin:0;line-height:1.35}
.blf-infobar__link{display:inline-flex;align-items:center;gap:5px;flex:none;
	color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.blf-infobar__link:hover{color:#fff;opacity:.85;text-decoration:underline}
.blf-infobar__close{display:flex;align-items:center;justify-content:center;flex:none;
	width:28px;height:28px;margin-left:auto;padding:0;border:0;border-radius:6px;
	background:none;color:#fff;opacity:.75}
.blf-infobar__close:hover{opacity:1;background:rgba(255,255,255,.14)}
.blf-infobar__close:focus-visible{outline:2px solid #fff;outline-offset:-2px}
@media(max-width:640px){
	/* Centring stops paying off once the text wraps; the close button keeps its
	   own corner rather than being pushed under the message. */
	.blf-infobar__inner{justify-content:flex-start;gap:10px;padding-inline:14px}
	.blf-infobar__text{font-size:.82rem}
	.blf-infobar__link{margin-left:0}
}

.blf-header{position:sticky;top:0;z-index:9000;background:#fff;border-bottom:1px solid var(--bl-line)}

/* Secondary bar — non-sticky, under the header (Blog / Rólunk / Támogatás) */
.blf-subbar{background:var(--bl-soft);border-bottom:1px solid var(--bl-line)}
.blf-subbar__inner{display:flex;align-items:center;min-height:42px;overflow-x:auto;scrollbar-width:none}
.blf-subbar__inner::-webkit-scrollbar{display:none}
.blf-subbar__menu{list-style:none;display:flex;flex-wrap:nowrap;align-items:center;gap:28px;margin:0;padding:0;white-space:nowrap}
.blf-subbar__menu .menu-item{margin:0}
.blf-subbar__menu a{display:inline-flex;align-items:center;color:var(--bl-navy);font-size:.86rem;font-weight:600;padding:10px 0}
.blf-subbar__menu a:hover{color:var(--bl-blue)}
.blf-subbar__menu .current-menu-item>a,.blf-subbar__menu .current_page_item>a{color:var(--bl-blue)}
.blf-header__bar{display:flex;align-items:center;gap:24px;min-height:72px}
.blf-logo{font-weight:800;font-size:1.4rem;letter-spacing:.5px;display:inline-flex}
.blf-logo__b{color:var(--bl-navy)}
.blf-logo__l{color:var(--bl-blue)}
.blf-logo--light .blf-logo__b{color:#fff}
.blf-logo--light .blf-logo__l{color:#7db4ec}
.blf-header__actions{display:flex;align-items:center;gap:10px;margin-left:auto}
/* Tax switch (Nettó/Bruttó) labels — the suite ships them white, invisible on
   the white header. Use the navy header colour. */
/* Nettó/Bruttó labels — the suite ships them white; use navy in both the bar
   and the mobile menu copy of the switch. */
.blf-header .bl-label-text{color:var(--bl-navy)}
.blf-header__bar{flex-wrap:nowrap}
/* Secondary actions live in the slide-down menu on mobile only. */
.blf-nav__extra{display:none}
.blf-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--bl-navy)}
.blf-iconbtn:hover{background:var(--bl-soft)}

/* Header cart + slide-in mini-cart drawer */
.blf-cart__toggle{position:relative}
.blf-cart__count{position:absolute;top:1px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bl-orange);color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
.blf-cart__count[data-count="0"]{display:none}
/* The drawer must sit above EVERYTHING (incl. the sticky header at z-index:9000).
   The panel is trapped in this container's stacking context, so the container is
   what has to win against the page — both are pinned to the max int so the cart
   drawer can never be overlapped. */
.blf-cart-drawer{position:fixed;inset:0;z-index:2147483647}
.blf-cart-drawer[hidden]{display:none}
.blf-cart-drawer__overlay{position:absolute;inset:0;z-index:0;background:rgba(11,44,90,.45);opacity:0;transition:opacity .25s}
.blf-cart-drawer.is-open .blf-cart-drawer__overlay{opacity:1}
.blf-cart-drawer__panel{position:absolute;top:0;right:0;z-index:2147483647;height:100%;width:min(400px,92vw);background:#fff;box-shadow:-10px 0 40px rgba(11,44,90,.18);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.blf-cart-drawer.is-open .blf-cart-drawer__panel{transform:translateX(0)}
.blf-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--bl-line)}
.blf-cart-drawer__head strong{font-size:1.1rem;color:var(--bl-navy)}
.blf-cart-drawer__close{background:none;border:0;font-size:1.7rem;line-height:1;color:var(--bl-muted);cursor:pointer;padding:0 4px}
.blf-cart-drawer__close:hover{color:var(--bl-navy)}
body.blf-cart-open{overflow:hidden}
.blf-cart__body{display:flex;flex-direction:column;flex:1;min-height:0}
.blf-cart__items{flex:1;overflow:auto;padding:8px 14px;margin:0}
.blf-cart__item{display:flex;gap:12px;align-items:center;padding:12px 6px;border-bottom:1px solid var(--bl-line)}
.blf-cart__thumb{flex:none;width:60px;height:60px;border-radius:8px;background:var(--bl-soft);overflow:hidden;display:flex;align-items:center;justify-content:center}
.blf-cart__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-cart__info{flex:1;min-width:0}
.blf-cart__name{display:block;font-weight:600;color:var(--bl-navy);font-size:.92rem;line-height:1.3}
.blf-cart__name:hover{color:var(--bl-blue)}
.blf-cart__qty{display:block;color:var(--bl-muted);font-size:.85rem;margin-top:3px}
.blf-cart__remove{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bl-muted);font-size:1.2rem;line-height:1;text-decoration:none;transition:background .15s,color .15s}
.blf-cart__remove:hover{background:#fdecec;color:var(--bl-orange-d);text-decoration:none}
.blf-cart__foot{border-top:1px solid var(--bl-line);padding:16px 20px;background:var(--bl-soft)}
.blf-cart__subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.blf-cart__subtotal span{color:var(--bl-muted)}
.blf-cart__subtotal strong{font-size:1.2rem;color:var(--bl-navy)}
.blf-cart__cta{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.blf-cart__cta .blf-btn{justify-content:center}
.blf-cart__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:48px 20px;color:var(--bl-muted)}
.blf-cart__empty svg{color:#cbd5e1}
.blf-cart__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.blf-cart__stepper{display:inline-flex;align-items:center;border:1px solid var(--bl-line);border-radius:8px;overflow:hidden}
.blf-cart__step{width:28px;height:28px;border:0;background:#fff;color:var(--bl-navy);font-size:1.05rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.blf-cart__step:hover{background:var(--bl-soft);color:var(--bl-blue)}
.blf-cart__qtynum{min-width:32px;text-align:center;font-weight:700;color:var(--bl-navy);font-size:.9rem}
.blf-cart__line{font-weight:700;color:var(--bl-navy);font-size:.92rem;white-space:nowrap}
.blf-cart-drawer.is-busy .blf-cart__body{opacity:.55;pointer-events:none;transition:opacity .15s}
.blf-cart__ship{padding:14px 20px;border-bottom:1px solid var(--bl-line);background:linear-gradient(180deg,#fff,var(--bl-soft))}
.blf-cart__ship[hidden]{display:none}
.blf-cart__ship-msg{margin:0 0 8px;font-size:.85rem;color:var(--bl-ink)}
.blf-cart__ship-msg strong{color:var(--bl-orange)}
.blf-cart__ship-msg--done{color:#1a8a3c;font-weight:600}
.blf-cart__ship-track{display:block;height:7px;border-radius:999px;background:var(--bl-line);overflow:hidden}
.blf-cart__ship-fill{display:block;height:100%;border-radius:999px;background:var(--bl-orange);transition:width .4s cubic-bezier(.4,0,.2,1)}
.blf-cart__ship-fill--done{background:#1a8a3c}

/* Nav + mega menu. Everything design-specific lives in mega-menu.css /
   mega-menu-classic.css — only one of the two is ever enqueued, so the two
   designs can reuse the same class names without fighting each other. */
.blf-menu{display:flex;gap:4px}
.blf-menu > li{position:relative}
.blf-menu > li > a{display:flex;align-items:center;gap:.35em;padding:14px 14px;font-weight:600;color:var(--bl-navy);font-size:.95rem}
.blf-menu > li > a:hover{color:var(--bl-blue);text-decoration:none}
.blf-menu .sub-menu{position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);box-shadow:var(--bl-shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:top center;transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1),visibility .24s}
.blf-menu > li:hover > .sub-menu,.blf-menu > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.blf-menu .sub-menu a{display:block;padding:9px 12px;border-radius:6px;color:var(--bl-ink);font-size:.92rem;transition:background .14s,color .14s,padding-left .14s}
.blf-menu .sub-menu a:hover{background:var(--bl-soft);text-decoration:none;padding-left:15px}
.blf-link-ico{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:9px}
/* Chevron rotates while a parent's panel is open. */
.blf-menu > li.menu-item-has-children:hover > a .blf-caret,
.blf-menu > li.menu-item-has-children:focus-within > a .blf-caret{transform:rotate(180deg)}

/* Mega: a top item with the `mega` CSS class becomes a full-width panel whose
   direct children are columns (their own sub-items become the column links). */
.blf-menu > li.mega{position:static}
.blf-menu > li.mega > .sub-menu{left:0;right:0;width:100%;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 30px;padding:26px 28px}
.blf-menu > li.mega > .sub-menu > li > a{padding:0 0 8px;font-weight:700;color:var(--bl-blue);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.blf-menu > li.mega > .sub-menu > li > a:hover{background:none;color:var(--bl-blue);padding-left:0}
/* Column link lists render statically inside the mega panel (no nested flyout). */
.blf-menu > li.mega .sub-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:block;min-width:0;padding:0;border:0;box-shadow:none;background:none}
.blf-menu > li.mega .sub-menu .sub-menu a{padding:7px 0;color:var(--bl-ink);font-weight:500}

.blf-nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--bl-line);border-radius:8px;background:#fff;position:relative}

/* ---- ÚJ SVG Hamburger menü animáció ---- */
.blf-nav-toggle {
    display: none; 
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--bl-line);
    border-radius: 8px;
    background: #fff;
    padding: 0;
}

/* @media(max-width:900px) blokkon belül maradhat a display: block! */

.blf-hamburger {
    fill: var(--bl-navy); /* Szín a main.css változójából */
}

.blf-hamburger .blf-line {
    transform-origin: center;
    /* Finom átmenet a méretre, eltolásra és forgatásra */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.2s ease, 
                x 0.3s ease, 
                width 0.3s ease;
}

/* --- Amikor a menü NYITVA van (X ikon) --- */
.blf-nav-toggle[aria-expanded="true"] .blf-hamburger .mid {
    opacity: 0; /* Középső vonal eltűnik */
}

.blf-nav-toggle[aria-expanded="true"] .blf-hamburger .top {
    x: 4px;       /* Kihúzzuk balra, hogy középre kerüljön */
    width: 16px;  /* Megnöveljük a szélességet */
    transform: translateY(5px) rotate(45deg);
}

.blf-nav-toggle[aria-expanded="true"] .blf-hamburger .bot {
    x: 4px;       /* Kihúzzuk balra, hogy középre kerüljön */
    width: 16px;  /* Megnöveljük a szélességet */
    transform: translateY(-5px) rotate(-45deg);
}

/* Search drawer + live autocomplete */
.blf-search{border-top:1px solid var(--bl-line);background:var(--bl-soft);padding:18px 0}
.blf-searchform{position:relative;max-width:760px;margin-inline:auto}
.blf-searchform--page{max-width:640px;margin:18px 0 0}
.blf-searchform__field{display:flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--bl-navy);border-radius:12px;padding:5px 6px 5px 14px;box-shadow:var(--bl-shadow)}
.blf-searchform__field:focus-within{border-color:var(--bl-blue);box-shadow:0 0 0 4px rgba(24,88,168,.12)}
.blf-searchform__icon{color:var(--bl-muted);flex:none}
.blf-searchform__field input[type=search]{flex:1;border:0;outline:0;font-size:1.05rem;padding:10px 4px;background:transparent;min-width:0;color:var(--bl-ink)}
.blf-searchform__btn{flex:none;background:var(--bl-blue);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-weight:600;cursor:pointer;transition:background .15s}
.blf-searchform__btn:hover{background:var(--bl-blue-d)}

.blf-suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--bl-line);border-radius:12px;box-shadow:var(--bl-shadow-lg);overflow:hidden;z-index:120}
.blf-suggest.is-loading::after{content:"";position:absolute;top:0;left:0;width:40%;height:2px;background:linear-gradient(90deg,transparent,var(--bl-blue),transparent);animation:blf-load 1s linear infinite}
@keyframes blf-load{0%{left:-40%}100%{left:100%}}
.blf-suggest__list{margin:0;padding:6px}
.blf-suggest__item a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;color:var(--bl-ink)}
.blf-suggest__item a:hover,.blf-suggest__item.is-active a{background:var(--bl-soft);text-decoration:none}
.blf-suggest__thumb{flex:none;width:46px;height:46px;border-radius:8px;background:var(--bl-soft);overflow:hidden;display:flex;align-items:center;justify-content:center}
.blf-suggest__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-suggest__meta{display:flex;flex-direction:column;min-width:0}
.blf-suggest__name{font-weight:600;color:var(--bl-navy);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blf-suggest__price{color:var(--bl-orange);font-weight:700;font-size:.85rem}
.blf-suggest__all{display:block;text-align:center;padding:12px;border-top:1px solid var(--bl-line);font-weight:600;color:var(--bl-blue);background:var(--bl-soft)}
.blf-suggest__all:hover{background:#eef2f8;text-decoration:none}
.blf-suggest__empty{padding:20px;text-align:center;color:var(--bl-muted)}

/* Search results page */
.blf-searchpage__head{background:linear-gradient(180deg,#fff,var(--bl-soft));border-bottom:1px solid var(--bl-line);padding-block:40px}
.blf-searchpage__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--bl-blue);margin:0 0 8px}
.blf-searchpage__title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;margin:0}
.blf-searchpage__q{color:var(--bl-orange)}
.blf-searchpage__count{color:var(--bl-muted);margin:8px 0 0}
.blf-searchpage__more{text-align:center;color:var(--bl-muted);margin-top:24px}
.blf-searchpage__filters{margin-bottom:8px}
.blf-searchpage__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0 20px;border-top:1px solid var(--bl-line)}
.blf-searchpage__count-inline{color:var(--bl-muted);font-size:.9rem}
.blf-searchpage__count-inline strong{color:var(--bl-navy)}
.blf-searchpage__sort{display:flex;align-items:center;gap:10px;margin:0}
.blf-searchpage__sort-label{color:var(--bl-muted);font-size:.9rem;font-weight:600}
.blf-searchpage__sort select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--bl-line);border-radius:8px;padding:10px 36px 10px 14px;font-size:.92rem;font-weight:600;color:var(--bl-navy);cursor:pointer}
.blf-searchpage__sort select:focus{outline:0;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.12)}
.blf-noresults{text-align:center;padding:48px 20px;color:var(--bl-muted)}
.blf-noresults svg{color:#cbd5e1}
.blf-noresults h2{color:var(--bl-navy);margin:14px 0 6px}
.blf-noresults__hint{margin-bottom:22px}
.blf-noresults__block{margin:22px auto 0;max-width:660px}
.blf-noresults__label{display:block;font-weight:700;color:var(--bl-navy);font-size:.9rem;margin-bottom:10px}
.blf-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.blf-chip{display:inline-block;padding:8px 15px;border-radius:999px;background:#fff;border:1px solid var(--bl-line);color:var(--bl-navy);font-weight:600;font-size:.9rem;transition:border-color .15s,background .15s}
.blf-chip:hover{border-color:var(--bl-blue);background:var(--bl-soft);text-decoration:none}
.blf-chip--dym{border-color:var(--bl-orange);color:var(--bl-orange)}
.blf-chip--dym:hover{background:#fff5ef}
.blf-dym .blf-chip--dym{font-size:1rem;padding:10px 18px}
.blf-noresults__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}

/* ---- Benefits strip (under header, above hero) ------------------------ */
.blf-benefits{background:#fff;border-bottom:1px solid var(--bl-line)}
.blf-benefits__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-block:18px}
.blf-benefit{display:flex;align-items:center;gap:12px;min-width:0}
.blf-benefit__icon{flex:none;width:34px;height:34px}
.blf-benefit__text{display:flex;flex-direction:column;min-width:0}
.blf-benefit__title{color:var(--bl-navy);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.25}
.blf-benefit__note{color:var(--bl-muted);font-size:.78rem;line-height:1.3;margin-top:2px}

/* ---- Hero ------------------------------------------------------------- */
.blf-hero{background:linear-gradient(180deg,#fff 0%,var(--bl-soft) 100%)}
.blf-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-block:64px}

/* Full-bleed background-image variant (text overlaid on the left) */
.blf-hero--bg{background:#eef2f6 center / cover no-repeat;position:relative;aspect-ratio:5/2;min-height:380px;display:flex;align-items:center}
.blf-hero--bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 30%,rgba(255,255,255,.15) 56%,rgba(255,255,255,0) 72%);pointer-events:none}
.blf-hero--bg .blf-hero__inner{display:block;width:100%;position:relative;z-index:1;padding-block:56px}
.blf-hero--bg .blf-hero__copy{max-width:540px}
.blf-hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--bl-orange);margin:0 0 14px}
.blf-hero__title{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em}
.blf-hero__accent{color:var(--bl-orange);display:block}
.blf-hero__lead{font-size:1.1rem;color:var(--bl-muted);max-width:42ch;margin:18px 0 26px}
.blf-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.blf-hero__note{margin-top:26px;font-weight:700;font-size:.8rem;letter-spacing:.04em;color:var(--bl-navy)}
.blf-hero__media{position:relative}
.blf-hero__img{width:100%;aspect-ratio:5/6;max-height:560px;border-radius:14px;box-shadow:var(--bl-shadow-lg);object-fit:cover;object-position:center}

/* ---- Sections --------------------------------------------------------- */
.blf-section{padding-block:56px}
.blf-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.blf-section__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0}
.blf-section__link{font-weight:600;font-size:.92rem;white-space:nowrap}

.blf-grid{display:grid;gap:20px}
.blf-grid--5{grid-template-columns:repeat(5,1fr)}

/* ---- Cards ------------------------------------------------------------ */
.blf-card{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}
.blf-card:hover{box-shadow:var(--bl-shadow-lg);transform:translateY(-3px);text-decoration:none}
.blf-card__media{position:relative;display:block;background:var(--bl-soft);aspect-ratio:1/1;overflow:hidden}
.blf-card__img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-card__body{padding:16px}
/* Equal-height product cards: clamp the title to two lines so the rows below it
   line up across cards, and push the price + link to the bottom. */
.blf-card--product{display:flex;flex-direction:column;height:100%}
.blf-card--product .blf-card__body{display:flex;flex-direction:column;flex:1 1 auto}
.blf-card__title{font-size:1rem;font-weight:700;margin:0 0 4px}
.blf-card--product .blf-card__title{min-height:2.6em}
.blf-card__title a{color:var(--bl-navy)}
.blf-card__sub{color:var(--bl-muted);font-size:.85rem;margin:0 0 10px}
.blf-card--product .blf-card__sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blf-card__variations{display:inline-flex;align-items:center;gap:5px;margin:0 0 10px;padding:3px 10px;font-size:.74rem;font-weight:700;color:var(--bl-navy);background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:999px;align-self:flex-start}
.blf-card__variations svg{color:var(--bl-blue)}
.blf-card__price{font-weight:800;color:var(--bl-navy);font-size:1.05rem;margin-bottom:10px}
.blf-card--product .blf-card__price{margin-top:auto}
.blf-card__price .amount{color:var(--bl-navy)}
.blf-card__link{font-weight:600;font-size:.9rem;color:var(--bl-orange)}

/* Category card variant (the top row in the design) */
.blf-card--cat{display:flex;flex-direction:column;padding:18px;position:relative}
.blf-card--cat .blf-card__cat-name{display:block;font-weight:800;color:var(--bl-navy);text-transform:uppercase;font-size:.85rem;letter-spacing:.04em}
.blf-card--cat .blf-card__cat-sub{display:block;color:var(--bl-muted);font-size:.8rem;margin-top:4px}
.blf-card--cat .blf-card__media{background:transparent;margin:14px 0 0;aspect-ratio:4/3}
.blf-card--cat .blf-card__arrow{position:absolute;right:16px;bottom:14px;color:var(--bl-blue);font-size:1.1rem}
.blf-card--cat:hover .blf-card__arrow{color:var(--bl-orange)}

/* ---- Process strip ---------------------------------------------------- */
.blf-process{background:var(--bl-soft);border-top:1px solid var(--bl-line);padding-block:56px}
.blf-process__inner{display:grid;grid-template-columns:.9fr 2fr;gap:32px;align-items:center}
.blf-process__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:var(--bl-blue);margin:0 0 10px}
.blf-process__title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}
.blf-process__lead{color:var(--bl-muted);margin:0 0 16px}
.blf-process__link{font-weight:600;color:var(--bl-blue)}
.blf-process__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:step}
.blf-step{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px 16px;min-height: 186px;}
.blf-step__n{display:block;font-weight:800;color:var(--bl-blue);font-size:1.1rem;margin-bottom:8px}
.blf-step__title{font-weight:700;color:var(--bl-navy);font-size:.92rem;text-transform:uppercase;letter-spacing:.02em}
.blf-step__text{color:var(--bl-muted);font-size:.82rem;line-height:1.45;margin-top:8px}

/* ---- Footer ----------------------------------------------------------- */
/* Back-to-top button (fixed, fades in after scrolling). */
.blf-totop{position:fixed;left:20px;bottom:20px;z-index:70;width:46px;height:46px;border-radius:50%;border:0;background:var(--bl-navy);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(11,44,90,.28);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s,background .15s;cursor:pointer}
.blf-totop.is-visible{opacity:1;visibility:visible;transform:none}
.blf-totop:hover{background:var(--bl-blue)}
.blf-totop[hidden]{display:none}

/* ===== Footer — one cohesive dark surface ============================== */
.blf-footer{
	position:relative;
	background:
		radial-gradient(90% 60% at 85% -10%,rgba(24,88,168,.45) 0%,transparent 60%),
		linear-gradient(180deg,#0a3160 0%,var(--bl-footer) 40%,#051d39 100%);
	color:#aebfd4;
}

/* Newsletter — a contained highlight CARD floating on the footer */
.blf-newsletter{padding-block:48px 40px;border-bottom:1px solid rgba(255,255,255,.07)}
.blf-newsletter__inner{
	position:relative;overflow:hidden;
	display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
	background:linear-gradient(125deg,var(--bl-navy) 0%,var(--bl-blue) 100%);
	border:1px solid rgba(255,255,255,.12);
	border-radius:20px;
	padding:40px 44px;
	box-shadow:0 22px 48px rgba(2,12,28,.40);
}
.blf-newsletter__inner::after{content:"";position:absolute;top:-55%;right:-6%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(232,85,13,.32),transparent 68%);pointer-events:none}
.blf-newsletter__copy,.blf-newsletter__form{position:relative;z-index:1}
.blf-newsletter__badge{display:inline-flex;align-items:center;gap:8px;background:var(--bl-orange);color:#fff;font-weight:700;font-size:.85rem;padding:6px 14px;border-radius:999px;margin-bottom:14px;box-shadow:0 6px 16px rgba(232,85,13,.35)}
.blf-newsletter__title{color:#fff;font-size:1.7rem;margin:0 0 .35em}
.blf-newsletter__lead{color:#d6e2f1;margin:0;max-width:46ch}
.blf-newsletter__form{margin:0}
.blf-newsletter__row{display:flex;gap:10px}
.blf-newsletter__field{flex:1 1 auto;min-width:0}
.blf-newsletter__field input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.25);background:#fff;border-radius:var(--bl-radius);padding:14px 16px;font-size:1rem;color:var(--bl-ink)}
.blf-newsletter__field input::placeholder{color:#8a97a8}
.blf-newsletter__field input:focus{outline:2px solid var(--bl-orange);outline-offset:1px}
.blf-newsletter__btn{flex:none;white-space:nowrap;padding-inline:24px}
.blf-newsletter__consent{display:flex;gap:8px;align-items:flex-start;margin-top:12px;color:#bccbe0;font-size:.8rem;line-height:1.45;cursor:pointer}
.blf-newsletter__consent input{margin-top:3px;flex:none;accent-color:var(--bl-orange)}
.blf-newsletter__consent a{color:#fff;text-decoration:underline}
.blf-newsletter__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.blf-newsletter__status{margin:12px 0 0;font-size:.9rem;min-height:1.2em;color:#fff}
.blf-newsletter__status.is-error{color:#ffd5c2}
.blf-newsletter__status.is-success{color:#bff5d3;font-weight:600}
.blf-newsletter.is-done .blf-newsletter__row,.blf-newsletter.is-done .blf-newsletter__consent{display:none}

/* USP strip — no separate background, just spacing + check badges */
.blf-footer__usps{border-bottom:1px solid rgba(255,255,255,.07)}
.blf-footer__usps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:30px}
.blf-usp{display:flex;gap:12px;align-items:flex-start}
.blf-usp__icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(232,85,13,.14);border:1px solid rgba(232,85,13,.4);color:var(--bl-orange)}
.blf-usp__title{display:block;color:#fff;font-size:.92rem;font-weight:600}
.blf-usp__note{display:block;color:#90a4c2;font-size:.8rem;margin-top:1px}

/* Main columns */
.blf-footer__main{display:grid;grid-template-columns:1.4fr 2fr;gap:32px;padding-block:48px}
.blf-footer__tagline{color:#90a4c2;max-width:40ch;margin:.6em 0 0}
.blf-footer__links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 24px}
.blf-footer__links a{color:#c2d0e4;transition:color .15s ease}
.blf-footer__links a:hover{color:#fff}

/* Bottom bar */
.blf-footer__bottom{border-top:1px solid rgba(255,255,255,.07)}
.blf-footer__bottom-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px}
.blf-copyright{margin:0;color:#8499b8;font-size:.85rem}
.blf-footer__legal{display:flex;gap:18px;flex-wrap:wrap}
.blf-footer__legal a{color:#8499b8;font-size:.85rem;transition:color .15s ease}
.blf-footer__legal a:hover{color:#fff}

/* ---- Generic content / Woo -------------------------------------------- */
.blf-main{padding-block:40px}
.blf-shop{padding-block:40px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0}
.woocommerce ul.products li.product{margin:0;width:auto;text-align:left}

/* ---- Responsive ------------------------------------------------------- */
/* Tablet landscape / small laptop */
@media(max-width:1080px){
	.blf-grid--5{grid-template-columns:repeat(3,1fr)}
	.blf-process__steps{grid-template-columns:repeat(3,1fr)}
	.blf-benefits__grid{grid-template-columns:repeat(3,1fr);row-gap:18px}
	.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
}
/* Tablet portrait — collapse nav to the toggle + stack hero/process */
@media(max-width:900px){
	.blf-header__cta{display:none}
	/* Higher specificity so it beats the later base `.blf-nav-toggle{display:none}` rule. */
	.blf-header .blf-nav-toggle{display:flex;order:-1}
	/* Mobile bar = menu + logo + search + cart only; the rest moves into the menu. */
	.blf-header__bar{gap:12px}
	.blf-header__actions{gap:6px}
	.blf-header__actions .bl-tax-switch-container,
	.blf-header__actions .blf-iconbtn--count,
	.blf-header__actions .blf-iconbtn--account{display:none}
	/* Slide-in drawer from the right + backdrop. */
	.blf-nav{display:block;position:fixed;top:0;right:0;bottom:0;left:auto;width:min(380px,86vw);height:100%;max-height:none;overflow:auto;background:#fff;transform:translateX(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);box-shadow:-14px 0 44px rgba(11,44,90,.20);z-index:120;padding:18px 14px 28px;-webkit-overflow-scrolling:touch}
	.blf-nav.is-open{transform:translateX(0)}
	.blf-nav-overlay{position:fixed;inset:0;background:rgba(11,44,90,.45);opacity:0;visibility:hidden;transition:opacity .28s ease;z-index:110}
	.blf-nav-overlay.is-on{opacity:1;visibility:visible}
	body.blf-nav-lock{overflow:hidden}
	/* The sticky header (z-index:100) is its own stacking context, which traps the
	   drawer below it; the body-level overlay (z-index:110) would otherwise paint
	   over the drawer — making it look dark and swallowing every tap. While the
	   drawer is open, lift the whole header above the overlay so the drawer (and
	   its close toggle) sit on top of the backdrop and stay interactive. */
	body.blf-nav-lock .blf-header{z-index:130}
	.blf-header .blf-nav-toggle{z-index:130}
	/* Secondary actions block inside the menu */
	.blf-nav__extra{display:flex;flex-direction:column;gap:2px;padding:10px 8px 14px;border-top:1px solid var(--bl-line);margin-top:10px}
	.blf-nav__extra .bl-tax-switch-container{padding:8px 12px;margin-bottom:6px}
	.blf-nav__extra-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;color:var(--bl-navy);font-weight:600;font-size:.95rem}
	.blf-nav__extra-link:hover{background:var(--bl-soft);text-decoration:none}
	.blf-nav__extra-link svg{color:var(--bl-blue);flex:none}
	.blf-nav__extra-link .blf-act-count{position:static;box-shadow:none;margin-left:auto}
	.blf-nav__extra-link .blf-act-count[data-count="0"]{display:none}
	.blf-nav__extra-cta{justify-content:center;margin-top:10px}
	/* Drawer list. The legacy WP-nav-walker submenus keep their accordion; the
	   mega menu below uses its own drill-down instead. */
	.blf-menu{flex-direction:column;gap:0;padding:2px 0}
	.blf-menu > li{position:static}
	.blf-menu > li > a,.blf-menu__top{padding:13px 10px;justify-content:flex-start;border-radius:8px;font-size:1rem}
	.blf-menu > li > a .blf-caret,.blf-menu__top .blf-caret{margin-left:auto;width:14px;height:14px;transition:transform .25s}
	.blf-menu > li.is-acc-open > a .blf-caret,.blf-menu > li.is-acc-open .blf-caret{transform:rotate(180deg)}
	.blf-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;box-shadow:none;border:0;border-radius:0;background:none;transition:max-height .3s ease;display:block!important;min-width:0;z-index:auto;border-left:2px solid var(--bl-line);margin:0 0 4px 12px;padding-left:12px}
	.blf-menu > li.is-acc-open > .sub-menu,
	.blf-menu > li.is-acc-open .sub-menu{max-height:3000px}

	.blf-hero__inner{grid-template-columns:1fr;padding-block:44px}
	.blf-hero__media{order:-1}
	.blf-process__inner{grid-template-columns:1fr}
}
/* Large phone */
@media(max-width:640px){
	.blf-grid--5{grid-template-columns:repeat(2,1fr)}
	.blf-process__steps{grid-template-columns:repeat(2,1fr)}
	.blf-benefits__grid{grid-template-columns:repeat(2,1fr)}
	.blf-newsletter__inner{grid-template-columns:1fr;gap:24px;padding:28px 24px}
	.blf-newsletter__title{font-size:1.45rem}
	.blf-newsletter__row{flex-direction:column}
	.blf-newsletter__btn{width:100%}
	.blf-footer__usps-grid{grid-template-columns:repeat(2,1fr)}
	.blf-footer__main{grid-template-columns:1fr}
	.blf-footer__links{grid-template-columns:repeat(2,1fr)}
	.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
	.blf-section{padding-block:40px}
	.blf-hero__actions .blf-btn{flex:1 1 auto;justify-content:center}
	.blf-hero--bg{aspect-ratio:4/3;min-height:auto;background-position:right center}
	.blf-hero--bg::before{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8))}
}
/* Small phone */
@media(max-width:460px){
	.blf-benefits__grid{grid-template-columns:1fr}
	.blf-process__steps{grid-template-columns:1fr}
	.blf-footer__bottom-inner{flex-direction:column;align-items:flex-start}
	.blf-header__bar{gap:8px}
	.blf-logo{font-size:1.2rem}
	.blf-iconbtn{width:40px;height:40px}
}

/* ==========================================================================
   Single product (PDP) — custom Bestlab layout
   ========================================================================== */
.blf-muted{color:var(--bl-muted)}
.blf-btn--block{display:flex;width:100%;justify-content:center}
.blf-btn--lg{padding:.95em 1.4em;font-size:1rem}
.blf-btn--outline{background:#fff;color:var(--bl-navy);border-color:var(--bl-line)}
.blf-btn--outline:hover{border-color:var(--bl-blue);color:var(--bl-blue)}
.blf-grid--4{grid-template-columns:repeat(4,1fr)}

/* ---- Page chrome ------------------------------------------------------- */
.single-product .blf-product{background:#fff}
.blf-pdp__head{padding-top:18px}

/* ---- Breadcrumb ------------------------------------------------------- */
.blf-breadcrumb{font-size:.82rem;color:var(--bl-muted);padding:6px 0 4px}
.blf-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.blf-breadcrumb__item{display:flex;align-items:center;gap:6px}
.blf-breadcrumb__item:not(:last-child)::after{content:"/";color:var(--bl-line);margin-left:6px}
.blf-breadcrumb a{color:var(--bl-muted)}
.blf-breadcrumb a:hover{color:var(--bl-blue)}
.blf-breadcrumb [aria-current="page"]{color:var(--bl-navy);font-weight:600}

/* ---- Top: gallery + summary ------------------------------------------- */
.blf-pdp__top{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-block:24px 8px;align-items:start}
/* Positioning context for the product badge overlay (.blupo-badge-container). */
.blf-pdp__gallery{position:relative}

/* Custom gallery */
.blf-gallery{position:relative;display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start}
/* No thumbnails (single image / empty) → one full-width column so the
   featured image fills the stage instead of being squeezed into the 72px
   thumbnail track. */
.blf-gallery--empty,.blf-gallery--single,.blf-gallery:not(:has(.blf-gallery__thumbs)){grid-template-columns:1fr}
/* Thumbs pulled out of grid flow so the strip is capped to the stage height
   (top/bottom:0) and scrolls when there are more images than fit, instead of
   running taller than the main image. */
.blf-gallery:has(.blf-gallery__thumbs) .blf-gallery__stage{grid-column:2}
.blf-gallery__thumbs{position:absolute;top:0;bottom:0;left:0;width:72px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--bl-line) transparent}
.blf-gallery__thumbs::-webkit-scrollbar{width:5px}
.blf-gallery__thumbs::-webkit-scrollbar-thumb{background:var(--bl-line);border-radius:4px}
.blf-gallery__thumb{flex:0 0 auto;padding:0;background:var(--bl-soft);border:2px solid var(--bl-line);border-radius:10px;overflow:hidden;aspect-ratio:1/1;transition:border-color .15s}
.blf-gallery__thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-gallery__thumb:hover{border-color:#c5d2e2}
.blf-gallery__thumb.is-active{border-color:var(--bl-blue)}
.blf-gallery__stage{position:relative;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:14px;overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.blf-gallery__main{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:24px}
.blf-gallery__zoom{position:absolute;top:14px;right:14px;z-index:8;width:40px;height:40px;border-radius:50%;border:1px solid var(--bl-line);background:rgba(255,255,255,.9);color:var(--bl-navy);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.blf-gallery__zoom:hover{background:var(--bl-blue);color:#fff;border-color:var(--bl-blue)}
/* When a badge occupies the same top-right corner, hide the zoom button so it
   doesn't overlap the badge. The main image stays clickable/tappable to open
   the lightbox (main.js binds the zoom to the image itself), so the function
   is preserved. */
.blf-gallery__stage:has(.blb-corner--top-right) .blf-gallery__zoom{display:none}
/* Prev/next navigation over the main stage. */
.blf-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--bl-line);background:rgba(255,255,255,.9);color:var(--bl-navy);font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}
.blf-gallery__nav:hover{background:var(--bl-blue);color:#fff;border-color:var(--bl-blue)}
.blf-gallery__nav--prev{left:12px}
.blf-gallery__nav--next{right:12px}
/* Felirat (caption) + Leírás (description) for the current image. */
.blf-gallery__caption{margin-top:14px;display:flex;flex-direction:column;gap:3px}
.blf-gallery__cap{font-weight:600;color:var(--bl-navy);font-size:14px}
.blf-gallery__desc{color:#5b6b80;font-size:13px;line-height:1.5}

/* Lightbox (carousel) */
.blf-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(6,18,38,.88);display:flex;align-items:center;justify-content:center;padding:32px}
.blf-lightbox img{max-width:92vw;max-height:70vh;object-fit:contain;border-radius:8px}
.blf-lightbox__close{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.6rem;line-height:1}
.blf-lightbox__close:hover{background:rgba(255,255,255,.28)}
.blf-lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:92vw}
.blf-lightbox__cap{display:flex;flex-direction:column;gap:4px;text-align:center;color:#fff;max-width:680px}
.blf-lightbox__caption{font-weight:600;font-size:15px}
.blf-lightbox__desc{font-size:13px;line-height:1.5;color:rgba(255,255,255,.82)}
.blf-lightbox__count{font-size:12px;color:rgba(255,255,255,.6);margin-top:2px}
.blf-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.blf-lightbox__nav:hover{background:rgba(255,255,255,.28)}
.blf-lightbox__prev{left:18px}
.blf-lightbox__next{right:18px}

/* Summary */
/* The element also carries WooCommerce's `summary entry-summary` classes, whose
   default stylesheet forces `float:right;width:48%` — which shrinks it inside
   the grid track. Override so it fills its column. */
.blf-pdp__summary{min-width:0;width:auto!important;float:none!important}
.blf-pdp__eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700;color:var(--bl-orange);margin:0 0 8px}
.blf-pdp__title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;margin:0 0 14px;color:var(--bl-navy)}
.blf-rating{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--bl-muted);font-size:.9rem}
.blf-rating:hover{text-decoration:none}
.blf-rating__stars{display:inline-flex;gap:2px;color:var(--bl-orange)}
.blf-star{display:block}
.blf-rating__value{font-weight:700;color:var(--bl-navy)}
.blf-pdp__excerpt{color:var(--bl-muted);font-size:1rem;margin-bottom:20px}
.blf-pdp__excerpt p{margin:0 0 .6em}

.blf-pdp__meta{display:flex;gap:48px;padding:18px 0;border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line);margin-bottom:20px}
.blf-pdp__meta-item{display:flex;flex-direction:column;gap:3px}
.blf-pdp__meta-label{font-size:.78rem;color:var(--bl-muted)}
.blf-pdp__meta-value{font-weight:700;color:var(--bl-navy);font-size:.95rem}
a.blf-pdp__brand{color:var(--bl-blue);text-decoration:none}
a.blf-pdp__brand:hover{color:var(--bl-navy);text-decoration:underline}
.blf-stock{display:inline-flex;align-items:center;gap:7px;font-weight:700}
.blf-stock__dot{width:9px;height:9px;border-radius:50%;background:#16a34a}
.blf-stock.is-in{color:#16a34a}
.blf-stock.is-out{color:#9ca3af}
.blf-stock.is-out .blf-stock__dot{background:#9ca3af}

.blf-pdp__price{display:flex;align-items:baseline;gap:12px}
.blf-pdp__price-amount{font-size:2rem;font-weight:800;color:var(--bl-navy)}
.blf-pdp__price-amount .amount,.blf-pdp__price-amount bdi{color:var(--bl-navy)}
.blf-pdp__price-amount del{color:var(--bl-muted);font-weight:600;font-size:1.2rem;opacity:.7}
.blf-pdp__price-note{font-size:.85rem;color:var(--bl-muted)}
/* nettó / bruttó suffix inline next to the price (the suite ships it on a new line). */
.blf-pdp__price-amount br{display:none}
.blf-pdp__price-amount .bl-price-suffix{display:inline;margin-left:.4em;font-size:.5em;font-weight:700;color:var(--bl-muted);text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}

/* Purchase area */
.blf-pdp__buy{display:flex;flex-direction:column;gap:12px}
.blf-pdp__buy .blf-cart{margin:0;display:flex;flex-direction:column;gap:12px}
.blf-buyrow{display:flex;gap:12px;align-items:stretch}
.blf-qty{display:inline-flex;align-items:center;border:1px solid var(--bl-line);border-radius:8px;overflow:hidden;background:#fff}
.blf-qty__btn{width:42px;align-self:stretch;border:0;background:#fff;color:var(--bl-navy);font-size:1.2rem;line-height:1}
.blf-qty__btn:hover{background:var(--bl-soft)}
.blf-qty .quantity{margin:0}
.blf-qty input.qty{width:54px;height:46px;border:0;border-left:1px solid var(--bl-line);border-right:1px solid var(--bl-line);text-align:center;font-weight:700;color:var(--bl-navy);-moz-appearance:textfield}
.blf-qty input.qty::-webkit-outer-spin-button,.blf-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.blf-buyrow .single_add_to_cart_button{flex:1}
.blf-pdp__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.blf-pdp__actions--single{grid-template-columns:1fr}

/* ---- Option-engine purchase area (BLUPO) — themed to match Bestlab Fast ----
   Scoped under .blf-pdp__buy so these win over the plugin's own single-class
   rules without needing !important (except where the plugin forces a value). */
.blf-pdp__buy .blupo-unified-container{display:flex;flex-direction:column;gap:14px}

/* Simple products ship an empty options block — collapse it so it doesn't
   leave a big gap at the top of the card. */
.blf-pdp__buy .blupo-options-section{margin:0}
.blf-pdp__buy .blupo-unified-container[data-product-type="simple"] .blupo-options-section{display:none}
.blf-pdp__buy .blupo-default-options{margin:0;padding:0}

/* Total price — a compact highlighted summary row. */
.blf-pdp__buy .blupo-total-price-section{margin:0}
.blf-pdp__buy .blupo-price-display{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:12px}
.blf-pdp__buy .blupo-price-label{margin:0;color:var(--bl-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.blf-pdp__buy .blupo-price-amount{color:var(--bl-navy)!important;font-size:1.55rem;font-weight:800;line-height:1.1;white-space:nowrap}
.blf-pdp__buy .blupo-price-amount .woocommerce-Price-currencySymbol{font-size:1rem;font-weight:600}

/* Quantity stepper + add-to-cart on one practical, responsive row. */
.blf-pdp__buy .blupo-actions-section{margin:0;display:flex;flex-direction:column;gap:10px}
.blf-pdp__buy .blupo-quantity-selector{display:flex;align-items:stretch;flex-wrap:wrap;gap:0}
.blf-pdp__buy .blupo-qty-btn{flex:0 0 auto;width:46px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bl-line);background:#fff;color:var(--bl-navy);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.blf-pdp__buy .blupo-qty-btn:hover{background:var(--bl-soft);color:var(--bl-blue)}
.blf-pdp__buy .blupo-qty-minus{border-radius:10px 0 0 10px}
.blf-pdp__buy .blupo-qty-plus{border-radius:0 10px 10px 0}
.blf-pdp__buy .blupo-qty-input{flex:0 0 auto;width:54px;height:52px;text-align:center;border:1px solid var(--bl-line);border-left:0;border-right:0;background:#fff;color:var(--bl-navy);font-weight:700;font-size:1rem;margin:0;-moz-appearance:textfield}
.blf-pdp__buy .blupo-qty-input::-webkit-outer-spin-button,.blf-pdp__buy .blupo-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.blf-pdp__buy .blupo-add-to-cart-button{flex:1 1 200px;margin-left:12px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;background:var(--bl-orange)!important;border:0!important;border-radius:10px!important;color:#fff!important;font-weight:700!important;font-size:1rem!important;line-height:1;cursor:pointer;box-shadow:none!important;transition:background .15s}
.blf-pdp__buy .blupo-add-to-cart-button:hover{background:var(--bl-orange-d)!important}
.blf-pdp__buy .blupo-add-to-cart-button .blupo-btn-icon{display:inline-flex;align-items:center}

/* Stack the button under the stepper on very narrow summary columns. */
@media (max-width:560px){
	.blf-pdp__buy .blupo-add-to-cart-button{flex-basis:100%;margin-left:0;margin-top:12px}
}

/* Native (no-option-engine) add-to-cart button keeps the same look. */
.single-product .single_add_to_cart_button{background:var(--bl-orange)!important;border:0!important;border-radius:8px!important;font-weight:600!important;color:#fff!important}
.single-product .single_add_to_cart_button:hover{background:var(--bl-orange-d)!important}

/* Variable PDP: use WooCommerce's own in-form quantity + add-to-cart (always
   present, plugin-version-independent). The option engine hides them and renders
   its own price/cart row — but that row's button sits outside the (now un-nested)
   variations_form, so it can't submit, and on variable products the engine omits
   its quantity stepper entirely. So we hide the engine's price/cart row and the
   redundant total box, then REVEAL + restyle the native controls. The single
   price shown in .blf-pdp__price is driven by main.js (range → variation price). */
.blf-pdp__buy .blupo-price-cart-row,
.blf-pdp__buy .blupo-total-price-section{display:none!important}
.blf-pdp__buy form.variations_form .woocommerce-variation-price{display:none!important}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:wrap;align-items:stretch;gap:0;margin:0}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .quantity{display:flex!important;align-items:stretch;gap:0}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .qty{width:54px;height:52px;text-align:center;border:1px solid var(--bl-line);border-left:0;border-right:0;background:#fff;color:var(--bl-navy);font-weight:700;font-size:1rem;margin:0;-moz-appearance:textfield}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .qty::-webkit-outer-spin-button,
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.blf-pdp__buy form.variations_form .blf-qty__btn{flex:0 0 auto;width:46px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--bl-line);background:#fff;color:var(--bl-navy);font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.blf-pdp__buy form.variations_form .blf-qty__btn:hover{background:var(--bl-soft);color:var(--bl-blue)}
.blf-pdp__buy form.variations_form .blf-qty__btn[data-step="-1"]{border-radius:10px 0 0 10px}
.blf-pdp__buy form.variations_form .blf-qty__btn[data-step="1"]{border-radius:0 10px 10px 0}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{display:inline-flex!important;flex:1 1 200px;margin-left:12px;min-height:52px;align-items:center;justify-content:center;gap:10px;padding:0 24px;background:var(--bl-orange)!important;border:0!important;border-radius:10px!important;color:#fff!important;font-weight:700!important;font-size:1rem!important;line-height:1;cursor:pointer;box-shadow:none!important;transition:background .15s}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover{background:var(--bl-orange-d)!important}
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled,
.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:560px){
	.blf-pdp__buy form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex-basis:100%;margin-left:0;margin-top:12px}
}

/* Variation selector: swatches only — drop the native <select> dropdowns and the
   table chrome so just the attribute label + swatch chips remain. */
.blf-pdp__buy form.variations_form .variations select{display:none!important}
.blf-pdp__buy form.variations_form .variations,
.blf-pdp__buy form.variations_form .variations tbody,
.blf-pdp__buy form.variations_form .variations tr,
.blf-pdp__buy form.variations_form .variations td,
.blf-pdp__buy form.variations_form .variations th{display:block;border:0;padding:0;background:none}
.blf-pdp__buy form.variations_form .variations tr{margin-bottom:14px}
.blf-pdp__buy form.variations_form .variations .label{margin-bottom:6px}
.blf-pdp__buy form.variations_form .variations .label label{font-weight:600;font-size:.9rem;color:var(--bl-navy)}
.blf-pdp__buy form.variations_form .reset_variations{font-size:.85rem;color:var(--bl-muted)}

/* Swatch chips (text/label attributes). */
.blf-pdp__buy .blupo-swatch{padding:0 16px}

/* Colour-attribute swatches: circular colour wells, label hidden (kept for a11y).
   Active state uses a gap-ring (box-shadow only) so the well never resizes. */
.blf-pdp__buy .blupo-swatches-wrapper.blf-swatch-colors{gap:12px}
.blf-pdp__buy .blupo-swatch.blf-swatch--color{width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;border:2px solid var(--bl-line);font-size:0;position:relative;box-shadow:inset 0 0 0 2px #fff;transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease}
.blf-pdp__buy .blupo-swatch.blf-swatch--color:hover{border-color:var(--bl-navy);transform:translateY(-1px)}
.blf-pdp__buy .blupo-swatch.blf-swatch--color.blupo-swatch-active{border-color:#fff;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #fff,0 0 0 4px var(--bl-navy)}
.blf-pdp__buy .blupo-swatch.blf-swatch--color.blupo-swatch-active::after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.blf-pdp__buy .blupo-swatch.blf-swatch--color.blupo-swatch-disabled{opacity:.35}

/* Image-attribute swatches: square image tiles, label hidden (kept for a11y). */
.blf-pdp__buy .blupo-swatches-wrapper.blf-swatch-images{gap:12px}
.blf-pdp__buy .blupo-swatch.blf-swatch--image{width:48px;height:48px;min-width:48px;padding:0;border-radius:8px;border:2px solid var(--bl-line);font-size:0;position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#fff;transition:box-shadow .18s ease,border-color .18s ease,transform .12s ease}
.blf-pdp__buy .blupo-swatch.blf-swatch--image:hover{border-color:var(--bl-navy);transform:translateY(-1px)}
.blf-pdp__buy .blupo-swatch.blf-swatch--image.blupo-swatch-active{border-color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bl-navy)}
.blf-pdp__buy .blupo-swatch.blf-swatch--image.blupo-swatch-disabled{opacity:.35}

/* ============================================================
   Variation accordion + swatch redesign
   The buy-box variations are a Bimos-style accordion: a clickable
   header row toggles a panel of swatches. WooCommerce emits the
   header cell as <th class="label"> (the plugin CSS mistakenly
   targeted td.label, so the chevron/flex header never applied) —
   target .label/.value here so both th and td are covered.
   ============================================================ */

/* Row dividers — bottom on every attribute row, top on the first. */
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row{margin-bottom:0;border-bottom:1px solid var(--bl-line)}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border-top:1px solid var(--bl-line)}

/* Clickable header: number badge · label · chevron. */
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{
	display:flex;align-items:center;gap:12px;
	margin:0;padding:16px 2px;
	cursor:pointer;user-select:none;background:none;
}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{
	flex:1 1 auto;margin:0;
	font-size:1rem;font-weight:600;color:var(--bl-navy);
	text-transform:none;letter-spacing:0;line-height:1.3;cursor:pointer;
	transition:color .18s ease;
}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label:hover label{color:var(--bl-blue)}

/* Step-number badge (replaces the plain "01 |" text). */
.blf-pdp__buy form.variations_form .blupo-acc-num{
	flex:0 0 auto;
	display:inline-flex;align-items:center;justify-content:center;
	min-width:26px;height:26px;padding:0 6px;
	background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:8px;
	color:var(--bl-muted);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;
}
.blf-pdp__buy form.variations_form .blupo-acc-num::after{content:none;padding:0}

/* Chevron: solid, clearly visible caret that rotates between states. */
.blf-pdp__buy form.variations_form .blupo-acc-chevron{
	flex:0 0 auto;margin:0 0 0 auto;
	width:10px;height:10px;
	border-right:2px solid var(--bl-navy);
	border-bottom:2px solid var(--bl-navy);
	transform:rotate(-135deg);            /* open — caret points up */
	transition:transform .25s ease,border-color .18s ease;
}
.blf-pdp__buy form.variations_form tr.blupo-acc-collapsed .blupo-acc-chevron{
	margin-top:0;
	transform:rotate(45deg);              /* collapsed — caret points down */
}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label:hover .blupo-acc-chevron{border-color:var(--bl-blue)}

/* Options panel — hidden while the row is collapsed. */
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .value{padding:0 2px 18px;background:none}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-collapsed > .value{display:none}

/* Swatch chips (text/label attributes). Border width is constant across
   default / hover / active, so selecting a swatch never changes its size —
   only its colour. */
.blf-pdp__buy form.variations_form .blupo-swatches-wrapper{display:flex;flex-flow:row wrap;gap:10px;margin-top:0}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){
	display:inline-flex;align-items:center;justify-content:center;
	width:auto;min-height:46px;padding:0 20px;
	background:#fff;border:2px solid var(--bl-line);border-radius:12px;
	font-size:.95rem;font-weight:600;color:var(--bl-navy);line-height:1.2;text-align:center;
	cursor:pointer;
	transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease;
}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{border-color:var(--bl-blue);background:var(--bl-soft)}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):active{transform:translateY(1px)}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{
	border-color:var(--bl-navy);background:var(--bl-navy);color:#fff;
	box-shadow:0 6px 16px rgba(11,44,90,.20);
}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-disabled{
	opacity:.4;cursor:not-allowed;background:var(--bl-soft);border-style:dashed;color:var(--bl-muted);box-shadow:none;
}
.blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-disabled:hover{border-color:var(--bl-line);background:var(--bl-soft)}

/* ============================================================
   Variation option-layout styles (Bestlab Suite → Options →
   Termékopciók). The default look above is the numbered accordion.
   Each `body.blupo-style-*` below is an alternative expanded layout
   (JS keeps every group open, drops the chevron). Only the text
   chips + group headers are restyled — colour wells (.blf-swatch--color)
   and image tiles (.blf-swatch--image) keep their shared styling.
   Wrapper-gap overrides skip colour/image wrappers so those stay tidy.
   ============================================================ */

/* ---- Style: cards — large soft selectable cards ---- */
body.blupo-style-cards .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row,
body.blupo-style-cards .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border:0;margin-bottom:22px}
body.blupo-style-cards .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{padding:0 0 10px;cursor:default;gap:10px}
body.blupo-style-cards .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-muted);cursor:default}
body.blupo-style-cards .blf-pdp__buy form.variations_form .blupo-acc-num{min-width:22px;height:22px;border-radius:50%;background:var(--bl-navy);border-color:var(--bl-navy);color:#fff;font-size:.7rem}
body.blupo-style-cards .blf-pdp__buy form.variations_form .blupo-swatches-wrapper:not(.blf-swatch-colors):not(.blf-swatch-images){gap:10px}
body.blupo-style-cards .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){min-height:52px;padding:0 22px;border:1.5px solid var(--bl-line);border-radius:14px;font-weight:600;color:var(--bl-ink);box-shadow:0 1px 2px rgba(20,40,80,.04)}
body.blupo-style-cards .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{border-color:var(--bl-blue);background:#fff;box-shadow:0 4px 12px rgba(24,88,168,.12)}
body.blupo-style-cards .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{border-color:var(--bl-navy);background:rgba(11,44,90,.06);color:var(--bl-navy);box-shadow:inset 0 0 0 1px var(--bl-navy)}

/* ---- Style: pills — compact fully-rounded chips, no number ---- */
body.blupo-style-pills .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row,
body.blupo-style-pills .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border:0;margin-bottom:16px}
body.blupo-style-pills .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{padding:0 0 8px;cursor:default}
body.blupo-style-pills .blf-pdp__buy form.variations_form .blupo-acc-num{display:none}
body.blupo-style-pills .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-muted);cursor:default}
body.blupo-style-pills .blf-pdp__buy form.variations_form .blupo-swatches-wrapper:not(.blf-swatch-colors):not(.blf-swatch-images){gap:8px}
body.blupo-style-pills .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){min-height:40px;padding:0 18px;background:var(--bl-soft);border:1.5px solid transparent;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--bl-ink);box-shadow:none}
body.blupo-style-pills .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{background:#fff;border-color:var(--bl-line)}
body.blupo-style-pills .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{background:var(--bl-navy);border-color:var(--bl-navy);color:#fff;box-shadow:0 4px 12px rgba(11,44,90,.22)}

/* ---- Style: grid — equal-width tile grid (text options only) ---- */
body.blupo-style-grid .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row,
body.blupo-style-grid .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border:0;margin-bottom:20px}
body.blupo-style-grid .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{padding:0 0 10px;cursor:default;gap:10px}
body.blupo-style-grid .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{font-size:.9rem;font-weight:700;color:var(--bl-navy);cursor:default}
body.blupo-style-grid .blf-pdp__buy form.variations_form .blupo-acc-num{min-width:24px;height:24px;border-radius:7px;background:var(--bl-soft);color:var(--bl-navy);border-color:var(--bl-line);font-size:.72rem}
body.blupo-style-grid .blf-pdp__buy form.variations_form .blupo-swatches-wrapper:not(.blf-swatch-colors):not(.blf-swatch-images){display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
body.blupo-style-grid .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){width:100%;min-height:50px;padding:0 12px;border:1.5px solid var(--bl-line);border-radius:10px;font-size:.9rem;font-weight:600;color:var(--bl-ink)}
body.blupo-style-grid .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{border-color:var(--bl-blue);background:var(--bl-soft)}
body.blupo-style-grid .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{border-color:var(--bl-navy);background:var(--bl-navy);color:#fff;box-shadow:none}

/* ---- Style: boxed — each group a bordered panel with a header strip ---- */
body.blupo-style-boxed .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row,
body.blupo-style-boxed .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border:1px solid var(--bl-line);border-radius:14px;margin-bottom:14px;overflow:hidden;background:#fff}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{padding:12px 16px;background:var(--bl-soft);border-bottom:1px solid var(--bl-line);cursor:default;gap:10px}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{font-size:.9rem;font-weight:700;color:var(--bl-navy);cursor:default}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .blupo-acc-num{min-width:24px;height:24px;border-radius:6px;background:#fff;color:var(--bl-navy);border-color:var(--bl-line);font-size:.72rem}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .value{padding:14px 16px}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){min-height:42px;padding:0 16px;border:1.5px solid var(--bl-line);border-radius:9px;font-size:.9rem;font-weight:600;color:var(--bl-ink)}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{border-color:var(--bl-blue);background:var(--bl-soft)}
body.blupo-style-boxed .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{border-color:var(--bl-navy);background:var(--bl-navy);color:#fff;box-shadow:none}

/* ---- Style: underline — ultra-minimal editorial, underlined active ---- */
body.blupo-style-underline .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row,
body.blupo-style-underline .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row:first-of-type{border:0;margin-bottom:20px}
body.blupo-style-underline .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{padding:0 0 10px;cursor:default;gap:8px}
body.blupo-style-underline .blf-pdp__buy form.variations_form .blupo-acc-num{display:none}
body.blupo-style-underline .blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label label{font-size:.95rem;font-weight:700;color:var(--bl-navy);cursor:default}
body.blupo-style-underline .blf-pdp__buy form.variations_form .blupo-swatches-wrapper:not(.blf-swatch-colors):not(.blf-swatch-images){gap:22px}
body.blupo-style-underline .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image){min-height:auto;padding:4px 2px 8px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:.95rem;font-weight:600;color:var(--bl-muted);box-shadow:none}
body.blupo-style-underline .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image):hover{background:none;color:var(--bl-navy)}
body.blupo-style-underline .blf-pdp__buy form.variations_form .blupo-swatch:not(.blf-swatch--color):not(.blf-swatch--image).blupo-swatch-active{background:none;color:var(--bl-navy);border-bottom-color:var(--bl-orange);box-shadow:none}

/* Variable product running total (unit price × quantity), net + gross. */
.blf-pdp__total{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-top:14px;padding:14px 18px;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:12px}
.blf-pdp__total[hidden]{display:none}
.blf-pdp__total-label{color:var(--bl-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.blf-pdp__total-net{color:var(--bl-navy);font-size:1.45rem;font-weight:800;line-height:1.1}
.blf-pdp__total-net .blf-pdp__total-tag{font-size:.8rem;font-weight:600;color:var(--bl-muted);margin-left:4px}
.blf-pdp__total-gross{color:var(--bl-muted);font-size:1rem;font-weight:600}
.blf-pdp__total-gross .blf-pdp__total-tag{font-size:.8rem;font-weight:600;margin-left:4px}

/* Inline badges row */
.blf-pdp__badges{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid var(--bl-line)}
.blf-pdp__badges-group{display:flex;flex-wrap:wrap;gap:18px}
.blf-pdp__badge{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:var(--bl-muted)}
.blf-pdp__badge:hover{color:var(--bl-blue);text-decoration:none}
.blf-pdp__badge-ico{color:var(--bl-blue);flex:none}
.blf-pdp__badge--trust{color:var(--bl-navy)}
.blf-pdp__badge--trust .blf-pdp__badge-ico{color:var(--bl-navy)}

/* ---- Benefits strip --------------------------------------------------- */
.blf-pdp-benefits{border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line);background:#fff;margin-top:28px}
.blf-pdp-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-block:26px}
.blf-pdp-benefit{display:flex;align-items:center;gap:14px;min-width:0}
.blf-pdp-benefit__icon{flex:none;width:40px;height:40px}
.blf-pdp-benefit__title{font-weight:700;color:var(--bl-navy);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.25}
.blf-pdp-benefit__note{color:var(--bl-muted);font-size:.8rem;line-height:1.35;margin-top:3px}

/* ---- Tabs ------------------------------------------------------------- */
.blf-tabs-section{padding-block:40px}
.blf-tabs__nav{display:flex;flex-wrap:wrap;gap:28px;border-bottom:1px solid var(--bl-line);margin-bottom:28px}
.blf-tabs__tab{position:relative;padding:0 0 14px;background:none;border:0;font-weight:600;font-size:.98rem;color:var(--bl-muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.blf-tabs__tab:hover{color:var(--bl-navy)}
.blf-tabs__tab.is-active{color:var(--bl-blue);border-bottom-color:var(--bl-blue)}
.blf-tabs__panel[hidden]{display:none}

/* Overview */
.blf-overview{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.blf-overview__text{color:var(--bl-muted);font-size:1rem}
.blf-overview__text p{margin:0 0 1em}
.blf-overview__features{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.blf-feature-card{display:flex;gap:14px;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px}
.blf-feature-card__icon{flex:none;width:36px;height:36px}
.blf-feature-card__title{margin:0 0 4px;font-size:.95rem;font-weight:700;color:var(--bl-navy)}
.blf-feature-card__text{margin:0;font-size:.85rem;color:var(--bl-muted);line-height:1.45}

/* Downloads / checklist */
.blf-downloads{display:flex;flex-direction:column;gap:10px;max-width:520px}
.blf-download a{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);color:var(--bl-navy);font-weight:600;background:#fff}
.blf-download a:hover{border-color:var(--bl-blue);color:var(--bl-blue);text-decoration:none}
.blf-download svg{color:var(--bl-blue);flex:none}
.blf-checklist{display:flex;flex-direction:column;gap:12px}
.blf-checklist li{display:flex;align-items:flex-start;gap:12px;color:var(--bl-ink)}
.blf-checklist svg{color:#16a34a;flex:none;margin-top:3px}

/* ---- Specs + gallery showcase ----------------------------------------- */
.blf-specs-section{padding-block:8px 24px}
.blf-specs-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:start}
.blf-specs-card,.blf-gallery-card{padding:26px}
.blf-specs-card__title{font-size:1.25rem;font-weight:800;margin:0 0 16px;color:var(--bl-navy)}
.blf-gallery-card__head{margin-bottom:16px}
.blf-spectable{width:100%;border-collapse:collapse;font-size:.92rem}
.blf-spectable tr{border-bottom:1px solid var(--bl-line)}
.blf-spectable tr:last-child{border-bottom:0}
.blf-spectable th{text-align:left;font-weight:500;color:var(--bl-muted);padding:11px 0;width:46%;vertical-align:top}
.blf-spectable td{text-align:left;font-weight:600;color:var(--bl-navy);padding:11px 0;vertical-align:top}
.blf-spec-tags{display:inline-flex;flex-wrap:wrap;gap:6px}
.blf-spec-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.82rem;font-weight:600;line-height:1.4;border:1px solid var(--bl-line);background:var(--bl-soft);color:var(--bl-blue);transition:background .15s,border-color .15s,color .15s}
a.blf-spec-tag:hover{background:var(--bl-blue);border-color:var(--bl-blue);color:#fff}
.blf-spec-tag--static{color:var(--bl-navy);cursor:default}
.blf-spec-tag[hidden]{display:none}
.blf-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.blf-photo-grid__cell{display:block;background:var(--bl-soft);border-radius:10px;overflow:hidden;aspect-ratio:4/3}
.blf-photo-grid__cell img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.blf-photo-grid__cell:hover img{transform:scale(1.04)}
.blf-photo-grid__cell--wide img{object-position:center}

/* ---- Related & accessories -------------------------------------------- */
.blf-related-section{padding-block:24px 40px}
.blf-accessories{margin-top:4px}

/* ---- Trust strip ------------------------------------------------------ */
.blf-trust{background:var(--bl-soft);border-top:1px solid var(--bl-line);padding-block:44px}
.blf-trust__title{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:800;color:var(--bl-navy);margin:0 0 26px}
.blf-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.blf-trust__item{display:flex;gap:14px;align-items:flex-start}
.blf-trust__icon{flex:none;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--bl-line);display:flex;align-items:center;justify-content:center;color:var(--bl-navy)}
.blf-trust__item-title{font-weight:700;color:var(--bl-navy);font-size:.92rem;margin-bottom:3px}
.blf-trust__item-text{color:var(--bl-muted);font-size:.84rem;line-height:1.4}

/* ---- PDP responsive --------------------------------------------------- */
@media(max-width:1080px){
	.blf-trust__grid{grid-template-columns:repeat(2,1fr)}
	.blf-pdp-benefits__grid{grid-template-columns:repeat(2,1fr);row-gap:20px}
}
@media(max-width:900px){
	.blf-pdp__top{grid-template-columns:1fr;gap:32px}
	.blf-specs-grid{grid-template-columns:1fr}
	.blf-overview{grid-template-columns:1fr;gap:24px}
	.blf-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
	.blf-pdp__meta{gap:28px}
	.blf-overview__features{grid-template-columns:1fr}
	.blf-photo-grid{grid-template-columns:1fr}
	.blf-pdp-benefits__grid{grid-template-columns:1fr}
	.blf-trust__grid{grid-template-columns:1fr}
	.blf-pdp__actions{grid-template-columns:1fr}
	.blf-tabs__nav{gap:18px;overflow-x:auto;flex-wrap:nowrap}
	.blf-tabs__tab{white-space:nowrap}
	.blf-gallery{grid-template-columns:56px 1fr}
	.blf-gallery__thumbs{width:56px}
}

/* ==========================================================================
   Category / shop / list (archive) pages
   ========================================================================== */
.blf-archive__top{background:linear-gradient(180deg,#fff,var(--bl-soft));border-bottom:1px solid var(--bl-line)}
.blf-archive__top .blf-breadcrumb{padding-top:18px}
.blf-archive__header{position:relative;padding:6px 0 28px}
.blf-archive__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--bl-orange);margin:0 0 8px}
.blf-archive__title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:var(--bl-navy);margin:0 0 10px}
.blf-archive__desc{color:var(--bl-muted);font-size:1rem}
.blf-archive__desc p{margin:0 0 .5em}
/* Per-category product-advisor button: subtle blue ghost (not the orange CTA). */
.blf-archive__advisor{display:inline-flex;align-items:center;gap:.5em;margin-top:16px;padding:9px 16px;font-size:.92rem;font-weight:600;line-height:1;color:var(--bl-blue);background:#fff;border:1.5px solid color-mix(in srgb,var(--bl-blue) 32%,#fff);border-radius:var(--bl-radius);text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}
.blf-archive__advisor:hover{background:color-mix(in srgb,var(--bl-blue) 6%,#fff);border-color:var(--bl-blue);box-shadow:0 2px 8px rgba(16,24,40,.08)}
.blf-archive__advisor:active{transform:translateY(1px)}
.blf-archive__advisor-ico{display:inline-flex}
.blf-archive__advisor-ico svg{width:18px;height:18px;display:block}
/* "Tovább olvasom" jump-link — a light text button that scrolls to the long
   description at the bottom of the category page (#blf-cat-longdesc). */
.blf-archive__readmore{display:inline-flex;align-items:center;gap:.35em;margin-top:14px;font-size:.92rem;font-weight:600;line-height:1;color:var(--bl-blue);text-decoration:none;transition:color .15s,gap .15s}
.blf-archive__readmore:hover{color:var(--bl-navy);gap:.55em}
.blf-archive__readmore-ico{display:inline-flex}
.blf-archive__readmore-ico svg{width:16px;height:16px;display:block}

/* ---- Category tiles under the archive header --------------------------
   The navigation row rendered by inc/archive-cat-tiles.php: the children of
   this category, optionally plus the categories on the same level. Compact
   horizontal cards (thumb left, name + count right) so a dozen of them still
   read at a glance inside the header band -- deliberately lighter than the
   .blf-cattile portal cards, which are a page's feature row, not its nav. */
.blf-arctiles{margin:0 0 26px}
.blf-arctiles__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.blf-arctiles__item{min-width:0}
.blf-arctile{display:flex;align-items:center;gap:11px;height:100%;padding:9px 12px 9px 9px;background:#fff;border:1px solid var(--bl-line);border-radius:14px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .12s}
.blf-arctile:hover{border-color:color-mix(in srgb,var(--bl-blue) 42%,#fff);box-shadow:0 6px 18px rgba(11,44,90,.10);transform:translateY(-2px);text-decoration:none}
.blf-arctile__media{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:4px;background:var(--bl-soft);border-radius:10px;overflow:hidden}
.blf-arctile__media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.blf-arctile__media.is-empty{background:repeating-linear-gradient(135deg,#fff,#fff 5px,var(--bl-soft) 5px,var(--bl-soft) 10px)}
.blf-arctile__body{display:flex;flex-direction:column;gap:2px;min-width:0}
.blf-arctile__name{font-size:.9rem;font-weight:700;line-height:1.25;color:var(--bl-navy);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.blf-arctile__count{font-size:.75rem;color:var(--bl-muted)}
/* The current category, when it is shown as the first tile. */
.blf-arctile.is-current{background:#FFF6F0;border-color:color-mix(in srgb,var(--bl-orange) 38%,#fff)}
.blf-arctile.is-current .blf-arctile__name{color:var(--bl-orange)}
.blf-arctile.is-current .blf-arctile__media{background:#fff}
/* Text-only mode (category images switched off): tighter pill-shaped tiles. */
.blf-arctiles.is-textonly .blf-arctiles__grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}
.blf-arctiles.is-textonly .blf-arctile{padding:10px 14px}
@media(max-width:640px){
	/* One swipeable row instead of a tall stack of cards above the products. */
	.blf-arctiles__grid{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:4px}
	.blf-arctiles__item{flex:0 0 auto;width:214px;scroll-snap-align:start}
}
/* Long category description at the very bottom of the archive.
   Single readable column by default; when the copy has enough <h2> sections a
   sticky rail (table of contents + expert CTA) fills the right side. */
.blf-archive__longdesc{border-top:1px solid var(--bl-line);background:var(--bl-soft);padding:40px 0 56px;margin-top:40px;scroll-margin-top:100px}
.blf-archive__longdesc-grid{display:block}
.blf-archive__longdesc.has-rail .blf-archive__longdesc-grid{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:56px;align-items:start}
.blf-archive__longdesc-inner{max-width:760px;color:var(--bl-muted);font-size:1rem;line-height:1.7;overflow-wrap:break-word}
.blf-archive__longdesc.has-rail .blf-archive__longdesc-inner{max-width:none}
.blf-archive__longdesc-inner :first-child{margin-top:0}
.blf-archive__longdesc-inner h2,.blf-archive__longdesc-inner h3{color:var(--bl-navy);font-weight:800;margin:1.6em 0 .5em;scroll-margin-top:100px}
.blf-archive__longdesc-inner h2{font-size:1.4rem}
.blf-archive__longdesc-inner h3{font-size:1.15rem}
.blf-archive__longdesc-inner p{margin:0 0 1em}
.blf-archive__longdesc-inner ul{margin:0 0 1em;padding-left:1.2em;list-style:disc}
.blf-archive__longdesc-inner li{margin:.3em 0}
.blf-archive__longdesc-inner a{color:var(--bl-blue);text-decoration:underline}

/* Quick-picker / comparison table inside the long description. Tables are wrapped
   in .blf-tablewrap (see inc/woocommerce-archive.php) so a wide table scrolls
   inside its own box on narrow screens instead of overflowing the page. */
.blf-archive__longdesc-inner .blf-tablewrap{margin:1.3em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.blf-archive__longdesc-inner table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;font-size:.94rem;margin:0;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;background:#fff}
.blf-archive__longdesc-inner thead th{background:var(--bl-navy);color:#fff;text-align:left;font-weight:700;padding:12px 16px;font-size:.86rem}
.blf-archive__longdesc-inner tbody td{padding:12px 16px;border-top:1px solid var(--bl-line);color:var(--bl-ink);vertical-align:top}
.blf-archive__longdesc-inner tbody tr:nth-child(even){background:var(--bl-soft)}
.blf-archive__longdesc-inner tbody td:nth-child(2){font-weight:700;color:var(--bl-navy)}

/* Sticky rail: jump-to table of contents + per-category expert CTA.
   Sticky lives on the grid item itself (like .blf-article__rail) so it has the
   full, tall grid track to travel within; the inner wrapper only lays the box
   out. Putting sticky on the inner div fails — the align-self:start grid item
   shrinks to content height and leaves the child no room to move. */
.blf-longdesc-rail{position:sticky;top:130px}
.blf-longdesc-rail__sticky{display:flex;flex-direction:column;gap:18px}
.blf-longdesc-toc{border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff;padding:18px 20px}
.blf-longdesc-toc__cap{margin:0 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--bl-muted)}
.blf-longdesc-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.blf-longdesc-toc li{margin:0}
.blf-longdesc-toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--bl-line);color:var(--bl-ink);text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.35;transition:color .15s,border-color .15s}
.blf-longdesc-toc a:hover{border-left-color:var(--bl-blue);color:var(--bl-blue);text-decoration:none}
.blf-longdesc-cta{border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff;padding:20px;box-shadow:var(--bl-shadow)}
.blf-longdesc-cta__title{font-size:1.02rem;margin:0 0 6px;color:var(--bl-navy)}
.blf-longdesc-cta__text{color:var(--bl-muted);font-size:.88rem;margin:0 0 14px;line-height:1.55}
.blf-longdesc-cta__btn{width:100%;justify-content:center}
/* Embedded blocks inside category long descriptions (content sheet: selector
   table wrapper + in-content expert help box). */
.blf-archive__longdesc-inner .category-selector{margin:20px 0}
.blf-archive__longdesc-inner .category-help-box{margin:22px 0;padding:18px 20px;background:#f5f8fd;border:1px solid var(--bl-line);border-left:4px solid var(--bl-orange);border-radius:var(--bl-radius)}
.blf-archive__longdesc-inner .category-help-box>p{margin:0 0 10px;color:var(--bl-ink)}
.blf-archive__longdesc-inner .category-help-box>p:last-child{margin-bottom:0}

@media(max-width:900px){
	.blf-archive__longdesc.has-rail .blf-archive__longdesc-grid{grid-template-columns:minmax(0,1fr);gap:28px}
	.blf-archive__longdesc.has-rail .blf-archive__longdesc-inner{max-width:760px}
	/* One column: the rail's two boxes are lifted into the grid (display:contents)
	   so they can be ordered on their own — the jump list belongs above the copy
	   (a table of contents under a 3000-word article is useless), the expert CTA
	   after it. The TOC itself reflows into as many columns as fit so eight
	   sections do not push the article a screenful down. */
	.blf-longdesc-rail,.blf-longdesc-rail__sticky{position:static;display:contents}
	.blf-longdesc-toc{order:-1}
	.blf-longdesc-cta{order:1}
	.blf-longdesc-toc ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 22px}
	.blf-longdesc-toc a{padding:10px 0 10px 14px}
}

/* Phone: stack each comparison-table row into a labelled card. A three-column
   table is unreadable at 360px even inside a scroll container; the cell labels
   come from data-label, injected by blf_longdesc_tables() together with the
   ARIA table roles that display:block would otherwise drop. */
@media(max-width:640px){
	.blf-archive__longdesc{padding:32px 0 44px}
	.blf-archive__longdesc-inner h2{font-size:1.28rem}
	.blf-archive__longdesc-inner h3{font-size:1.08rem}
	.blf-longdesc-toc{padding:14px 16px}
	.blf-longdesc-cta{padding:16px}
	.blf-archive__longdesc-inner .blf-tablewrap{overflow:visible;margin:1.2em 0}
	.blf-archive__longdesc-inner table{display:block;min-width:0;border:0;border-radius:0;background:none;overflow:visible;font-size:.92rem}
	.blf-archive__longdesc-inner thead{display:none}
	.blf-archive__longdesc-inner tbody{display:block}
	.blf-archive__longdesc-inner tbody tr{display:block;padding:4px 14px 10px;margin:0 0 10px;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius)}
	.blf-archive__longdesc-inner tbody tr:nth-child(even){background:#fff}
	.blf-archive__longdesc-inner tbody tr:last-child{margin-bottom:0}
	.blf-archive__longdesc-inner tbody td{display:block;padding:7px 0;border-top:0}
	.blf-archive__longdesc-inner tbody td+td{border-top:1px dashed var(--bl-line)}
	.blf-archive__longdesc-inner tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-muted)}
}

/* Product-advisor index ([bl_advisor_index]) — grouped card grid on /termekajanlo. */
.blf-advsec{margin:36px 0 0;padding-bottom:8px;border-bottom:1px solid var(--bl-line);font-size:1.15rem;font-weight:800;color:var(--bl-navy)}
.blf-advsec:first-child{margin-top:6px}
.blf-advgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:18px;margin:18px 0 8px}
.blf-advcard{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff;text-decoration:none;color:var(--bl-ink);transition:box-shadow .16s,border-color .16s,transform .12s}
.blf-advcard:hover{border-color:var(--bl-blue);box-shadow:var(--bl-shadow-lg,0 10px 24px rgba(16,24,40,.10));transform:translateY(-2px)}
.blf-advcard:hover,.blf-advcard:focus,.blf-advcard:hover .blf-advcard__title,.blf-advcard:hover .blf-advcard__desc{text-decoration:none}
.blf-advcard__ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--bl-blue) 9%,#fff);color:var(--bl-blue)}
.blf-advcard__ico svg{width:26px;height:26px;display:block}
.blf-advcard__title{font-weight:700;font-size:1.02rem;color:var(--bl-navy);line-height:1.25}
.blf-advcard__desc{font-size:.85rem;color:var(--bl-muted);line-height:1.45}

.blf-archive__main{padding-block:28px 56px}

/* Subcategory chips */
.blf-archive__chips{justify-content:flex-start;gap:10px;margin-bottom:24px}
.blf-chip__count{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;background:var(--bl-soft);color:var(--bl-muted);font-size:.78rem;font-weight:700}
.blf-chip.is-active{background:var(--bl-navy);border-color:var(--bl-navy);color:#fff}
.blf-chip.is-active:hover{background:var(--bl-navy);color:#fff}
.blf-chip.is-active .blf-chip__count{background:rgba(255,255,255,.2);color:#fff}

/* Toolbar: count + sort */
.blf-archive__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding:14px 0 20px;border-top:1px solid var(--bl-line)}
.blf-archive__results{min-width:0;flex:1 1 320px}
/* Legacy listing design (WooCommerce → Terméklista dizájn): the original strip
   of WooCommerce's result count and ordering select, centred rather than the
   v2 heading-over-chips block. */
.blf-archive__toolbar--legacy{align-items:center}
.blf-archive__count{color:var(--bl-muted);font-size:.9rem}
.blf-archive__count .woocommerce-result-count{margin:0;color:var(--bl-muted)}
.blf-archive__resulth{margin:0;font-size:1.35rem;font-weight:800;color:var(--bl-navy);line-height:1.25}
.blf-archive__resultn{font-weight:600;font-size:.95rem;color:var(--bl-muted);white-space:nowrap}
.blf-archive__tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.blf-archive__toollab{font-size:.85rem;color:var(--bl-muted);white-space:nowrap}
.blf-archive__sort{display:flex;align-items:center;gap:8px}
.blf-archive__sort .woocommerce-ordering{margin:0}
.blf-archive__view{display:flex;align-items:center;gap:6px}
.blf-viewbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--bl-muted);background:#fff;border:1px solid var(--bl-line);border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.blf-viewbtn svg{width:17px;height:17px}
.blf-viewbtn:hover{color:var(--bl-blue);border-color:var(--bl-blue)}
.blf-viewbtn.is-active{color:#fff;background:var(--bl-blue);border-color:var(--bl-blue)}
.blf-archive__toollab+.blf-viewbtn{margin-left:2px}
.blf-archive__sort select,.woocommerce-ordering select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--bl-line);border-radius:8px;padding:10px 36px 10px 14px;font-size:.92rem;font-weight:600;color:var(--bl-navy);cursor:pointer}
.blf-archive__sort select:focus,.woocommerce-ordering select:focus{outline:0;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.12)}

/* Product grid spacing on archives */
.blf-products{margin-bottom:8px}

/* Pagination */
.woocommerce-pagination{margin-top:40px;text-align:center}
.woocommerce-pagination ul,.woocommerce-pagination .page-numbers{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:0;border:0}
.woocommerce-pagination li{list-style:none;margin:0}
.woocommerce-pagination .page-numbers li .page-numbers,.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--bl-line);border-radius:8px;background:#fff;color:var(--bl-navy);font-weight:600;font-size:.92rem;text-decoration:none}
.woocommerce-pagination a.page-numbers:hover{border-color:var(--bl-blue);color:var(--bl-blue)}
.woocommerce-pagination .page-numbers.current{background:var(--bl-navy);border-color:var(--bl-navy);color:#fff}
.woocommerce-pagination .page-numbers.dots{border:0;background:transparent}

/* Empty state */
.blf-archive__empty{text-align:center;padding:60px 20px;color:var(--bl-muted)}
.blf-archive__empty svg{color:#cbd5e1}
.blf-archive__empty h2{color:var(--bl-navy);margin:16px 0 6px}
.blf-archive__empty .blf-btn{margin-top:18px}

@media(max-width:1080px){
	.blf-products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
	.blf-products{grid-template-columns:repeat(2,1fr)}
	.blf-archive__toolbar{gap:10px}
}

/* 404 Page Styling */
.marketing-404 .error-404-content {
	text-align: center;
	padding: 4rem 0;
	max-width: 800px;
	margin: 0 auto;
}

.blf-404-sign {
	font-size: 8rem; /* Hatalmas méret */
	font-weight: 900;
	line-height: 1;
	color: #e2e8f0; /* Halvány, vízjel-szerű szín (szabható) */
	margin-bottom: 1rem;
	letter-spacing: -0.05em;
	user-select: none; /* Ne lehessen kijelölni */
}

/* Kereső form formázása a 404-es oldalon */
.blf-search-container-404 {
	max-width: 500px;
	margin: 2rem auto;
}

/* Kategória lista grid */
.blf-category-list-404 {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	margin: 1.5rem 0 3rem;
}

/* CTA gombok */
.blf-cta-404 {
	display: flex;
	gap: 1rem;
	justify-content: center;
}

/* ---- Mobil menü gomb alapjai ---- */
.blf-nav-toggle {
    display: none; /* A media query-ben ez display: block lesz mobilon */
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--bl-line);
    border-radius: 8px;
    background: #fff;
    padding: 0;
    color: var(--bl-navy); /* Az ikonok felveszik ezt a színt (currentColor) */
    cursor: pointer;
}

/* Alapértelmezés: Hamburger látszik, X rejtve van */
.blf-icon-menu {
    display: block;
}
.blf-icon-close {
    display: none;
}

/* ---- NYITOTT ÁLLAPOT ---- */
/* Amikor a gomb meg van nyomva (aria-expanded="true") */
.blf-nav-toggle[aria-expanded="true"] .blf-icon-menu {
    display: none;
}
.blf-nav-toggle[aria-expanded="true"] .blf-icon-close {
    display: block;
}

/* ==========================================================================
   Wishlist + Compare + Coupons
   ========================================================================== */

/* Header count icons */
.blf-iconbtn--count{position:relative}
.blf-act-count{position:absolute;top:1px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bl-blue);color:#fff;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
.blf-act-count[data-blf-count="wishlist"]{background:var(--bl-orange)}
.blf-act-count[data-count="0"]{display:none}

/* Card action buttons (heart + compare) */
.blf-card{position:relative}
.blf-card__actions{position:absolute;top:10px;left:10px;z-index:9;display:flex;flex-direction:column;gap:8px}
.blf-card__act{width:34px;height:34px;border-radius:50%;border:1px solid var(--bl-line);background:rgba(255,255,255,.95);color:var(--bl-navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px rgba(16,24,40,.12);transition:color .15s,background .15s,border-color .15s}
.blf-card__act svg{width:17px;height:17px}
.blf-card__act:hover{border-color:var(--bl-blue);color:var(--bl-blue)}
.blf-card__act--fav.is-active{color:var(--bl-orange);border-color:var(--bl-orange)}
.blf-card__act--fav.is-active svg{fill:var(--bl-orange)}
.blf-card__act--cmp.is-active{color:#fff;background:var(--bl-blue);border-color:var(--bl-blue)}
/* The favourite/compare buttons own the card's top-left corner (top:10px, two
   stacked 34px buttons ≈ down to 86px). Push any badge the Badges module places
   in that same top-left corner below the buttons so they never cover a badge.
   Only applies inside cards — the single-product gallery has no action buttons. */
.blf-card__media .blb-corner--top-left{top:92px}

/* PDP wishlist/compare link buttons */
.blf-pdp__list-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px}
.blf-linkbtn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;color:var(--bl-muted);font-weight:600;font-size:.9rem;cursor:pointer;transition:color .15s}
.blf-linkbtn svg{width:18px;height:18px}
.blf-linkbtn:hover{color:var(--bl-blue)}
.blf-linkbtn[data-blf-fav].is-active{color:var(--bl-orange)}
.blf-linkbtn[data-blf-fav].is-active svg{fill:var(--bl-orange)}
.blf-linkbtn[data-blf-cmp].is-active{color:var(--bl-blue)}

/* List views (favorites tab / compare page) */
.blf-list-view__loading,.blf-list-view__empty{padding:34px 4px;text-align:center;color:var(--bl-muted);font-size:.95rem}
.blf-favorites-grid,.blf-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}

/* Compare table */
.blf-compare__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.blf-compare-table{width:100%;border-collapse:collapse;min-width:600px}
.blf-compare-table th,.blf-compare-table td{border:1px solid var(--bl-line);padding:12px 14px;text-align:left;vertical-align:middle;font-size:.9rem;color:var(--bl-ink)}
.blf-compare-table__rowhead{background:var(--bl-soft);color:var(--bl-navy);font-weight:700;width:160px;white-space:nowrap}
.blf-compare-table__product{position:relative;text-align:center;vertical-align:top;min-width:190px}
.blf-compare-table__media{display:block;aspect-ratio:1/1;background:var(--bl-soft);border-radius:8px;overflow:hidden;margin-bottom:10px}
.blf-compare-table__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-compare-table__name{display:block;color:var(--bl-navy);font-weight:700;font-size:.92rem}
.blf-compare-table__name:hover{color:var(--bl-blue);text-decoration:none}
.blf-compare-table__remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:1px solid var(--bl-line);background:#fff;color:var(--bl-muted);cursor:pointer;line-height:1;font-size:1.1rem}
.blf-compare-table__remove:hover{color:var(--bl-orange);border-color:var(--bl-orange)}
.blf-compare-table__price{font-weight:800;color:var(--bl-navy)}
.blf-btn--sm{padding:.5em .9em;font-size:.85rem}

/* Coupons (account → Kuponok) */
.blf-coupons__heading{font-size:1.05rem;color:var(--bl-navy);margin:28px 0 14px}
.blf-coupons__heading:first-child{margin-top:0}
/* Personal / Global tabs (shown only once JS marks the container .is-tabbed;
   without JS both panels render stacked as a graceful fallback). */
.blf-coupons__tabs{display:none}
.blf-coupons.is-tabbed .blf-coupons__tabs{display:inline-flex;gap:6px;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:999px;padding:5px;margin-bottom:24px;flex-wrap:wrap}
.blf-coupons__tab{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-weight:600;color:var(--bl-muted);padding:9px 18px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,color .15s ease}
.blf-coupons__tab:hover{color:var(--bl-navy)}
.blf-coupons__tab.is-active{background:#fff;color:var(--bl-navy);box-shadow:var(--bl-shadow)}
.blf-coupons__count{font-size:.72rem;font-weight:700;background:var(--bl-line);color:var(--bl-ink);border-radius:999px;padding:1px 8px;min-width:20px;text-align:center}
.blf-coupons__tab.is-active .blf-coupons__count{background:var(--bl-orange);color:#fff}
.blf-coupons.is-tabbed .blf-coupons__heading{display:none}
.blf-coupons.is-tabbed .blf-coupons__panel:not(.is-active){display:none}
.blf-coupons__none{color:var(--bl-muted);padding:20px 0}
.blf-coupons__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.blf-coupons__empty{text-align:center;color:var(--bl-muted);padding:44px 0;display:flex;flex-direction:column;align-items:center;gap:12px}
.blf-coupon{position:relative;display:flex;background:#fff;border:1px solid var(--bl-line);border-radius:12px;overflow:hidden;box-shadow:var(--bl-shadow)}
.blf-coupon__value{flex:none;width:108px;background:var(--bl-navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px 10px}
.blf-coupon--personal .blf-coupon__value{background:var(--bl-orange)}
.blf-coupon__amount{font-size:1.6rem;font-weight:800;line-height:1}
.blf-coupon__amount-sub{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;opacity:.9;margin-top:6px}
/* perforation notches at the value/body seam */
.blf-coupon::before,.blf-coupon::after{content:"";position:absolute;left:101px;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid var(--bl-line);z-index:2}
.blf-coupon::before{top:-8px}
.blf-coupon::after{bottom:-8px}
.blf-coupon__body{flex:1;min-width:0;padding:16px 18px;border-left:2px dashed var(--bl-line);display:flex;flex-direction:column;gap:7px}
.blf-coupon__tag{align-self:flex-start;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bl-orange);background:#fdecdf;padding:2px 9px;border-radius:999px}
.blf-coupon__desc{font-size:.92rem;color:var(--bl-navy);margin:0;font-weight:600;line-height:1.4}
.blf-coupon__meta{margin:0;padding:0;list-style:none;font-size:.78rem;color:var(--bl-muted);display:flex;flex-direction:column;gap:2px}
.blf-coupon__code{margin-top:auto;display:flex;align-items:center;gap:8px;border:1px dashed var(--bl-blue);border-radius:8px;padding:6px 6px 6px 12px;background:var(--bl-soft)}
.blf-coupon__code-value{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:var(--bl-navy);letter-spacing:.06em;font-size:.95rem;text-transform:uppercase;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.blf-coupon__copy{flex:none;width:30px;height:30px;border-radius:6px;border:0;background:var(--bl-blue);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.blf-coupon__copy:hover{background:var(--bl-blue-d)}
.blf-coupon__code.is-copied{border-color:#1a8a3c}
.blf-coupon__code.is-copied .blf-coupon__copy{background:#1a8a3c}

/* ==========================================================================
   Message forms + modals
   ========================================================================== */
.blf-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.blf-field > span{font-weight:600;font-size:.85rem;color:var(--bl-navy)}
.blf-field input,.blf-field textarea{width:100%;padding:.7em .9em;border:1px solid var(--bl-line);border-radius:8px;background:#fff;color:var(--bl-ink);font:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.blf-field input:focus,.blf-field textarea:focus{outline:none;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.15)}
.blf-field textarea{resize:vertical;min-height:92px}
.blf-field select{width:100%;padding:.7em .9em;border:1px solid var(--bl-line);border-radius:8px;background:#fff;color:var(--bl-ink);font:inherit;font-size:.95rem}
.blf-msg-form__fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.blf-field--wide{grid-column:1/-1}
.blf-field--check{flex-direction:row;align-items:center;gap:8px}
.blf-field--check input{width:auto;flex:0 0 auto}
.blf-field--check > span{font-weight:500;font-size:.92rem;color:var(--bl-ink)}
.blf-msg-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.blf-msg-form__intro{color:var(--bl-muted);font-size:.92rem;margin:0 0 12px}
.blf-msg-form__product{font-size:.9rem;margin:0 0 14px;padding:8px 12px;background:var(--bl-soft);border-radius:8px;color:var(--bl-navy)}
.blf-msg-form__foot{display:flex;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap}
.blf-msg-form__status{font-size:.9rem;font-weight:600}
.blf-msg-form__status.is-error{color:var(--bl-orange)}
.blf-msg-form__status.is-success{color:#1a8a3c;font-size:1rem}
.blf-contact-form{max-width:620px}

.blf-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}
.blf-modal[hidden]{display:none}
.blf-modal__overlay{position:absolute;inset:0;background:rgba(6,18,38,.55)}
.blf-modal__box{position:relative;z-index:1;background:#fff;border-radius:16px;box-shadow:var(--bl-shadow-lg);width:min(520px,100%);max-height:90vh;overflow:auto;padding:28px}
.blf-modal__close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;background:none;font-size:1.7rem;line-height:1;color:var(--bl-muted);cursor:pointer;border-radius:50%}
.blf-modal__close:hover{background:var(--bl-soft);color:var(--bl-navy)}
.blf-modal__title{margin:0 26px 16px 0;font-size:1.3rem;color:var(--bl-navy)}
@media(max-width:520px){.blf-msg-form__fields{grid-template-columns:1fr}}

/* ======================================================================
   Blog — index, archives, single article
   ====================================================================== */
.blf-grid--3{grid-template-columns:repeat(3,1fr)}

/* Page-top band (eyebrow + title + description) */
.blf-blog__top{background:var(--bl-soft);border-bottom:1px solid var(--bl-line)}
.blf-blog__top .blf-breadcrumb{padding-top:18px}
.blf-blog__header{max-width:760px;padding:6px 0 36px}
.blf-blog__eyebrow{margin:0 0 8px;color:var(--bl-orange);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.blf-blog__title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;margin:0 0 12px}
.blf-blog__desc{margin:0;color:var(--bl-muted);font-size:1.05rem;line-height:1.6}

/* Two-column layout: posts + sidebar (three-column with the left category nav) */
.blf-blog__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding-block:48px;align-items:start}
.blf-blog__layout--nav{grid-template-columns:220px minmax(0,1fr) 300px}
.blf-blog__grid{gap:24px}
.blf-blog__empty{color:var(--bl-muted)}

/* Left category hierarchy (PC only — hidden ≤1024px) */
.blf-blog__nav{position:sticky;top:96px}
.blf-blog__nav-title{font-size:1rem;font-weight:700;color:var(--bl-navy);margin:0 0 12px}
.blf-catlist,.blf-catlist ul{list-style:none;margin:0;padding:0}
.blf-catlist li{padding:6px 0;border-bottom:1px solid var(--bl-line);font-size:.92rem}
.blf-catlist a{color:var(--bl-ink)}
.blf-catlist a:hover{color:var(--bl-blue)}
.blf-catlist .current-cat>a,.blf-catlist .current-cat-ancestor>a{color:var(--bl-orange);font-weight:700}
.blf-catlist .children{margin:6px 0 0 12px;padding-left:10px;border-left:1px solid var(--bl-line)}
.blf-catlist .children li{border-bottom:0;padding:4px 0}

/* Post card */
.blf-card--post{display:flex;flex-direction:column}
.blf-card--post__media{position:relative;display:block;aspect-ratio:16/10;background:var(--bl-navy);overflow:hidden}
.blf-card--post__img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.blf-card--post:hover .blf-card--post__img{transform:scale(1.04)}
.blf-card--post__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.18);font-weight:800;letter-spacing:.2em;font-size:1.1rem}
.blf-card--post__cat{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.95);color:var(--bl-navy);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:5px 10px;border-radius:999px}
.blf-card--post__body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.blf-card--post__title{font-size:1.12rem;font-weight:700;line-height:1.3;margin:0}
.blf-card--post__title a{color:var(--bl-navy)}
.blf-card--post__title a:hover{color:var(--bl-blue)}
.blf-card--post__excerpt{margin:0;color:var(--bl-muted);font-size:.92rem;line-height:1.55;flex:1}
.blf-card--post__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:12px;border-top:1px solid var(--bl-line)}
.blf-card--post__meta{color:var(--bl-muted);font-size:.8rem;display:flex;align-items:center;gap:6px}
.blf-card--post__more{font-weight:700;font-size:.85rem;color:var(--bl-orange);white-space:nowrap}

/* Sidebar widgets */
.blf-blog__sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:96px}
.blf-widget{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px 20px}
.blf-widget__title{font-size:1rem;font-weight:700;color:var(--bl-navy);margin:0 0 14px}
.blf-widget__cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.blf-widget__cats li+li{border-top:1px solid var(--bl-line)}
.blf-widget__cats a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;color:var(--bl-ink);font-size:.92rem}
.blf-widget__cats a:hover{color:var(--bl-blue)}
.blf-widget__count{background:var(--bl-soft);color:var(--bl-muted);font-size:.75rem;font-weight:700;min-width:24px;text-align:center;padding:2px 8px;border-radius:999px}
.blf-widget__recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.blf-widget__recent a{display:flex;gap:12px;align-items:center;color:var(--bl-navy)}
.blf-widget__thumb{flex:0 0 56px}
.blf-widget__thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
.blf-widget__recent-text{display:flex;flex-direction:column;gap:3px}
.blf-widget__recent-title{font-size:.88rem;font-weight:600;line-height:1.3}
.blf-widget__recent a:hover .blf-widget__recent-title{color:var(--bl-blue)}
.blf-widget__recent-date{font-size:.76rem;color:var(--bl-muted)}

/* Pagination */
.blf-blog__main .pagination{margin-top:36px}
.blf-blog__main .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.blf-blog__main .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--bl-line);border-radius:10px;color:var(--bl-navy);font-weight:600;background:#fff}
.blf-blog__main .page-numbers:hover{border-color:var(--bl-navy)}
.blf-blog__main .page-numbers.current{background:var(--bl-navy);border-color:var(--bl-navy);color:#fff}

/* ---- Single article -------------------------------------------------- */
.blf-article__top{background:var(--bl-soft);border-bottom:1px solid var(--bl-line)}
.blf-article__top .blf-breadcrumb{padding-top:18px}
.blf-article__header{max-width:780px;margin:0 auto;text-align:center;padding:8px 0 40px}
.blf-article__cat{display:inline-block;background:var(--bl-orange);color:#fff;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;border-radius:999px;margin-bottom:16px}
.blf-article__cat:hover{background:var(--bl-orange-d);color:#fff}
.blf-article__title{font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:800;margin:0 0 18px;line-height:1.15}
.blf-article__meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;color:var(--bl-muted);font-size:.9rem}
.blf-article__author{display:inline-flex;align-items:center;gap:8px;color:var(--bl-navy);font-weight:600}
.blf-article__avatar{border-radius:50%}
.blf-article__meta-item{display:inline-flex;align-items:center}
.blf-article__media{margin:-28px auto 0;max-width:400px}
.blf-article__img{width:100%;height:auto;border-radius:var(--bl-radius);display:block;box-shadow:var(--bl-shadow-lg)}
.blf-article__layout{padding-block:40px}
.blf-article__body{max-width:760px;margin:0 auto}
.blf-article__layout--has-rail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;max-width:1140px;margin:0 auto;align-items:start}
.blf-article__layout--has-rail .blf-article__body{max-width:none;margin:0}
.blf-article__rail{position:sticky;top:96px}
.blf-article__rail-box{background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px}
.blf-article__rail-title{font-size:1.05rem;font-weight:800;color:var(--bl-navy);margin:0 0 14px}
.blf-article__rail-list{display:flex;flex-direction:column;gap:16px}
.blf-article__rail-list .blf-card{width:100%}

/* Prose typography for post content */
.blf-prose{color:var(--bl-ink);font-size:1.06rem;line-height:1.75}
.blf-prose>*+*{margin-top:1.1em}
.blf-prose h2{font-size:1.6rem;font-weight:800;margin-top:1.7em}
.blf-prose h3{font-size:1.3rem;font-weight:700;margin-top:1.5em}
.blf-prose p{margin:0}
.blf-prose ul,.blf-prose ol{margin:0;padding-left:1.4em}
.blf-prose li+li{margin-top:.4em}
.blf-prose a{color:var(--bl-blue);text-decoration:underline}
.blf-prose img{max-width:100%;height:auto;border-radius:var(--bl-radius)}
.blf-prose blockquote{margin:1.4em 0;padding:8px 0 8px 22px;border-left:4px solid var(--bl-orange);color:var(--bl-navy);font-size:1.15rem;font-style:italic}
.blf-prose strong{color:var(--bl-navy)}
.blf-prose code{background:var(--bl-soft);padding:2px 6px;border-radius:6px;font-size:.92em}

/* Tags, share, back */
.blf-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.blf-tag{background:var(--bl-soft);color:var(--bl-muted);font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:999px}
.blf-tag:hover{background:var(--bl-navy);color:#fff}
.blf-article__share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:24px;border-top:1px solid var(--bl-line)}
.blf-article__share-label{font-weight:700;color:var(--bl-navy);font-size:.9rem}
.blf-share-btn{border:1px solid var(--bl-line);border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:600;color:var(--bl-navy)}
.blf-share-btn:hover{border-color:var(--bl-navy);background:var(--bl-soft)}
.blf-article__back{display:inline-block;margin-top:28px;font-weight:700;color:var(--bl-blue)}
.blf-related{background:var(--bl-soft);border-top:1px solid var(--bl-line)}

/* Reading progress bar (offset below the WP admin bar when logged in) */
.blf-reading-bar{position:fixed;top:0;left:0;right:0;height:4px;z-index:1200;background:rgba(11,44,90,.08);pointer-events:none}
.admin-bar .blf-reading-bar{top:32px}
@media screen and (max-width:782px){.admin-bar .blf-reading-bar{top:46px}}
.blf-reading-bar__fill{display:block;height:100%;width:0;background:var(--bl-orange);transition:width .08s linear}

/* Responsive */
@media(max-width:1024px){
	.blf-blog__layout--nav{grid-template-columns:minmax(0,1fr) 300px}
	.blf-blog__nav{display:none}
}
@media(max-width:900px){
	.blf-blog__layout{grid-template-columns:1fr;gap:32px}
	.blf-blog__sidebar{position:static}
	.blf-grid--3{grid-template-columns:repeat(2,1fr)}
	.blf-article__layout--has-rail{grid-template-columns:1fr;gap:32px}
	.blf-article__rail{position:static}
}
@media(max-width:560px){
	.blf-grid--3{grid-template-columns:1fr}
	.blf-article__media{margin-top:0}
}

/* ======================================================================
   WooCommerce notices — themed (cart / checkout / account / shop messages)
   ====================================================================== */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
	list-style:none;margin:0 0 16px;padding:14px 18px 14px 50px;position:relative;
	border:1px solid var(--bl-line);border-left-width:4px;border-radius:12px;
	background:#fff;color:var(--bl-ink);font-size:.95rem;line-height:1.5;font-weight:500;
	box-shadow:var(--bl-shadow);display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before{
	content:"";position:absolute;left:16px;top:17px;width:22px;height:22px;
	background-repeat:no-repeat;background-position:center;background-size:contain;
}
/* Success */
.woocommerce-message{border-left-color:#16a34a;background:#f1faf4}
.woocommerce-message::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
/* Error (often a <ul> of messages) */
.woocommerce-error{border-left-color:var(--bl-orange);background:#fff5ef}
.woocommerce-error::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8550D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.2 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.2a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E")}
ul.woocommerce-error{flex-direction:column;align-items:flex-start;gap:6px}
ul.woocommerce-error li{margin:0;width:100%}
/* Info */
.woocommerce-info{border-left-color:var(--bl-blue);background:var(--bl-soft)}
.woocommerce-info::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231858A8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E")}
/* Inline action (View cart / Continue) — compact themed button, pushed right */
.woocommerce-message .button,
.woocommerce-info .button{
	margin-left:auto;display:inline-flex;align-items:center;justify-content:center;
	padding:8px 16px;border-radius:8px;background:var(--bl-orange);color:#fff;
	font-weight:600;font-size:.85rem;line-height:1;border:0;box-shadow:none;text-decoration:none;transition:background .15s;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover{background:var(--bl-orange-d);color:#fff}

/* ======================================================================
   Bútor színkonfigurátor page (#pic preview + option thumbnails)
   ====================================================================== */
.blf-page__content > div:has(> #pic){overflow:hidden}        /* clear the floats */
#pic img{max-width:100%;height:auto;border-radius:8px}
/* The page's own <style> floats the swatches into rows, but the markup separates
   them with <br> — which turns floated items into a diagonal staircase. Hide the
   line breaks so they flow into tidy rows. */
#munkalap br,#front br,#szegely br{display:none}
#munkalap img,#front img,#szegely img{cursor:pointer}
@media(max-width:680px){
	.blf-page__content #pic,
	.blf-page__content #pic + div{float:none!important;width:100%!important;min-height:0!important}
}


/* ======================================================================
   Partnereink — homepage partner/client logo grid (CPT bl_partner)
   ====================================================================== */
.blf-partners__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.blf-partners__item{display:flex;align-items:center;justify-content:center;padding:26px 22px;min-height:150px;background:#fff;border:1px solid var(--bl-line);border-radius:18px;box-shadow:var(--bl-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.blf-partners__item:hover{transform:translateY(-5px);box-shadow:var(--bl-shadow-lg);border-color:var(--bl-blue)}
.blf-partners__logo{max-width:100%;width:auto;height:auto;max-height:92px;object-fit:contain;transition:transform .2s ease}
.blf-partners__item:hover .blf-partners__logo{transform:scale(1.06)}
@media(max-width:1024px){.blf-partners__grid{grid-template-columns:repeat(3,1fr);gap:18px}}
@media(max-width:600px){.blf-partners__grid{grid-template-columns:repeat(2,1fr);gap:14px}.blf-partners__item{min-height:120px;padding:18px}}

/* ---- Partners carousel (marquee) — reuses the .blf-partners__item card ----
   Settable via Bestlab Suite → Options: mode (one/two row), direction, speed
   (--blf-marq-dur) and pause-on-hover (.blf-partners--pause). The track prints
   the logo set twice and shifts by exactly one set (incl. one gap) so the loop
   is seamless. */
.blf-partners--carousel .blf-partners__marquee{overflow:hidden;padding-block:10px}
.blf-partners--carousel .blf-partners__marquee+.blf-partners__marquee{margin-top:22px}
.blf-partners__track{display:flex;gap:var(--blf-gap,22px);width:max-content;animation:blf-marquee var(--blf-marq-dur,40s) linear infinite;will-change:transform}
.blf-partners__track--reverse{animation-direction:reverse}
.blf-partners--pause .blf-partners__marquee:hover .blf-partners__track{animation-play-state:paused}
.blf-partners--carousel .blf-partners__item{flex:0 0 auto;width:200px}
@keyframes blf-marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - (var(--blf-gap,22px) / 2)))}}
@media(prefers-reduced-motion:reduce){.blf-partners__track{animation:none}}
@media(max-width:600px){.blf-partners--carousel .blf-partners__item{width:150px;min-height:120px;padding:18px}}

/* Gift-with-purchase: badge on auto-added free/discounted cart lines. */
.blf-gift-badge{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#e7f6ec;color:#1a7f37;white-space:nowrap}
.blf-gift-qty{display:inline-block;font-weight:600;color:var(--bl-muted)}
/* ======================================================================
   Lab configurator ([bl_lab_configurator])
   ====================================================================== */
.blf-labcfg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start;margin-block:28px}
.blf-labcfg__filters{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.blf-labcfg__search{display:flex;align-items:center;gap:10px;border:1px solid var(--bl-line);border-radius:10px;padding:0 14px;background:#fff;color:var(--bl-muted)}
.blf-labcfg__search input{border:0;outline:none;width:100%;height:46px;font:inherit;font-size:.95rem;background:none;color:var(--bl-ink)}
.blf-labcfg__cats{width:100%;max-width:340px;height:46px;border:1px solid var(--bl-line);border-radius:10px;background:#fff;color:var(--bl-ink);font:inherit;font-size:.95rem;font-weight:600;padding:0 38px 0 14px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%231f3a5f' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.blf-labcfg__cats:focus{outline:none;border-color:var(--bl-navy)}
.blf-labcfg__grid{gap:18px}
.blf-labcfg__loadmore{text-align:center;margin-top:24px}
.blf-labcfg__status,.blf-labcfg__gridstatus{color:var(--bl-muted);font-size:.9rem;margin:10px 0 0}

/* product card */
.blf-labcfg-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;transition:box-shadow .18s,border-color .18s}
.blf-labcfg-card.is-added{border-color:var(--bl-blue);box-shadow:0 0 0 1px var(--bl-blue) inset}
.blf-labcfg-card.is-justadded{animation:blfPop .6s ease}
@keyframes blfPop{0%{transform:scale(1)}40%{transform:scale(1.02)}100%{transform:scale(1)}}
.blf-labcfg-card__media{aspect-ratio:1/1;background:var(--bl-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}
.blf-labcfg-card__img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-labcfg-card__body{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1}
.blf-labcfg-card__title{font-size:.92rem;font-weight:700;color:var(--bl-navy);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.blf-labcfg-card__price{font-weight:800;color:var(--bl-navy);font-size:.95rem;margin-top:auto}
.blf-labcfg-card__price .bl-price-suffix{font-size:.72rem;font-weight:600;color:var(--bl-muted)}
.blf-labcfg-card__add{display:flex;align-items:center;gap:8px;margin-top:6px}
.blf-labcfg-card__btn{flex:1;padding:9px 10px;font-size:.85rem}
.blf-labcfg-qty{display:flex;align-items:stretch;border:1px solid var(--bl-line);border-radius:8px;overflow:hidden;flex:0 0 auto}
.blf-labcfg-qty__btn{width:30px;border:0;background:#fff;color:var(--bl-navy);font-size:1.1rem;line-height:1;cursor:pointer}
.blf-labcfg-qty__btn:hover{background:var(--bl-soft)}
.blf-labcfg-qty__input{width:40px;text-align:center;border:0;border-left:1px solid var(--bl-line);border-right:1px solid var(--bl-line);font:inherit;font-weight:700;color:var(--bl-navy);-moz-appearance:textfield}
.blf-labcfg-qty__input::-webkit-outer-spin-button,.blf-labcfg-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* build panel */
.blf-labcfg__panel{position:sticky;top:96px}
.blf-labcfg__panel-inner{background:#fff;border:1px solid var(--bl-line);border-radius:16px;box-shadow:var(--bl-shadow);padding:20px}
.blf-labcfg__panel-title{font-size:1.1rem;font-weight:800;color:var(--bl-navy);margin:0 0 14px;display:flex;align-items:center;gap:8px}
.blf-labcfg__count{background:var(--bl-orange);color:#fff;font-size:.78rem;min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}
.blf-labcfg__empty{color:var(--bl-muted);font-size:.9rem;margin:0 0 6px}
.blf-labcfg__list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;max-height:42vh;overflow:auto}
.blf-labcfg__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--bl-line)}
.blf-labcfg__row-name{font-size:.88rem;color:var(--bl-navy);font-weight:600;line-height:1.3;flex:1}
.blf-labcfg__row-name:hover{color:var(--bl-blue)}
.blf-labcfg__row-ctrl{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.blf-labcfg__row-ctrl .blf-labcfg-qty__btn{width:24px;height:24px;border:1px solid var(--bl-line);border-radius:6px}
.blf-labcfg__row-qty{min-width:20px;text-align:center;font-weight:700;font-size:.85rem}
.blf-labcfg__row-del{border:0;background:none;color:var(--bl-muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:0 2px}
.blf-labcfg__row-del:hover{color:var(--bl-orange)}
.blf-labcfg__total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px;background:var(--bl-soft);border-radius:12px;margin-bottom:14px}
.blf-labcfg__total-label{color:var(--bl-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.blf-labcfg__total-val{font-size:1.3rem;font-weight:800;color:var(--bl-navy)}
.blf-labcfg__tag{font-size:.72rem;font-weight:600;color:var(--bl-muted);margin-left:5px}
.blf-labcfg__actions{display:flex;flex-direction:column;gap:10px}
.blf-labcfg__actions-row{display:flex;gap:10px}
.blf-labcfg__actions-row .blf-btn{flex:1;justify-content:center;font-size:.82rem;padding:9px 8px}
.blf-labcfg__clear{border:0;background:none;color:var(--bl-muted);font-size:.82rem;text-decoration:underline;cursor:pointer;margin-top:4px}
.blf-labcfg__clear:hover{color:var(--bl-orange)}
.blf-labcfg__msg{font-size:.85rem;font-weight:600;margin:10px 0 0}
.blf-labcfg__msg.is-error{color:var(--bl-orange)}
.blf-labcfg__msg.is-ok{color:#16a34a}
.blf-labcfg__hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

@media(max-width:980px){
	.blf-labcfg{grid-template-columns:1fr}
	.blf-labcfg__panel{position:static;order:-1}
	.blf-labcfg__list{max-height:none}
}

/* Print: show only the build summary */
@media print{
	body *{visibility:hidden!important}
	.blf-labcfg__panel,.blf-labcfg__panel *{visibility:visible!important}
	.blf-labcfg__panel{position:absolute;left:0;top:0;width:100%}
	.blf-labcfg__panel-inner{border:0;box-shadow:none;padding:0}
	.blf-labcfg__actions,.blf-labcfg__clear,.blf-labcfg__msg,.blf-labcfg__row-ctrl .blf-labcfg-qty__btn,.blf-labcfg__row-del{display:none!important}
	.blf-labcfg__list{max-height:none;overflow:visible}
}
/* ===== 3D lab planner ===================================================== */
.blf-planner{display:grid;grid-template-columns:260px 1fr 300px;gap:16px;align-items:start;margin:24px 0}
.blf-planner__catalog,.blf-planner__panel{background:#fff;border:1px solid #e6ebf1;border-radius:14px;padding:14px}
.blf-planner__catalog{display:flex;flex-direction:column;max-height:78vh}
.blf-planner__search{display:flex;align-items:center;gap:8px;border:1px solid #dde4ec;border-radius:10px;padding:7px 10px;color:#8a97a6}
.blf-planner__search input{border:0;outline:0;width:100%;font:inherit;background:transparent}
.blf-planner__cats{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.blf-planner__cat{border:1px solid #dde4ec;background:#f7f9fb;border-radius:999px;padding:4px 11px;font-size:.8rem;cursor:pointer;color:#445}
.blf-planner__cat.is-active{background:#1f3a5f;border-color:#1f3a5f;color:#fff}
.blf-planner__products{display:grid;grid-template-columns:1fr;gap:8px;overflow-y:auto;padding-right:4px;flex:1}
.blf-planner__product{display:flex;flex-direction:column;gap:4px;border:1px solid #eef2f6;border-radius:10px;padding:8px;background:#fff;cursor:pointer;text-align:left;transition:.15s}
.blf-planner__product:hover{border-color:#1f3a5f;box-shadow:0 4px 14px rgba(31,58,95,.12);transform:translateY(-2px)}
.blf-planner__thumb{aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f4f7fa;display:flex;align-items:center;justify-content:center}
.blf-planner__thumb img{width:100%;height:100%;object-fit:cover}
.blf-planner__pname{font-size:.78rem;line-height:1.25;font-weight:600;color:#23303f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blf-planner__pprice{font-size:.74rem;color:#5a6878}
.blf-planner__loading{grid-column:1/-1;color:#8a97a6;font-size:.85rem;padding:8px 2px}
.blf-planner__more{margin-top:10px}
.blf-planner__stage{background:#eef2f6;border:1px solid #e6ebf1;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:480px}
.blf-planner__toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #e6ebf1;flex-wrap:wrap}
.blf-planner__room{font-size:.85rem;color:#445}
.blf-planner__room input{width:54px;border:1px solid #dde4ec;border-radius:8px;padding:4px 6px;font:inherit;text-align:center}
.blf-planner__tools{display:flex;gap:6px}
.blf-planner__tool{width:34px;height:34px;border:1px solid #dde4ec;background:#f7f9fb;border-radius:9px;cursor:pointer;font-size:1rem;line-height:1}
.blf-planner__tool:disabled{opacity:.4;cursor:not-allowed}
.blf-planner__tool:not(:disabled):hover{background:#1f3a5f;color:#fff;border-color:#1f3a5f}
.blf-planner__canvas{position:relative;flex:1;min-height:440px;touch-action:none}
.blf-planner__canvas canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.blf-planner__hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8a97a6;margin:0}
.blf-planner__panel{position:sticky;top:90px}
.blf-planner__panel-title{font-size:1.05rem;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.blf-planner__count{background:#1f3a5f;color:#fff;border-radius:999px;font-size:.78rem;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}
.blf-planner__list{list-style:none;margin:0;padding:0;max-height:40vh;overflow-y:auto}
.blf-planner__row{display:flex;justify-content:space-between;gap:8px;padding:8px 6px;border-bottom:1px solid #f0f3f7;font-size:.86rem;border-radius:8px}
.blf-planner__row.is-sel{background:#eef5fb}
.blf-planner__rname a{color:#23303f;text-decoration:none}
.blf-planner__rname a:hover{text-decoration:underline}
.blf-planner__rqty{color:#5a6878;white-space:nowrap}
.blf-planner__panel-empty{color:#8a97a6;font-size:.85rem}
.blf-planner__total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0;padding-top:10px;border-top:1px solid #e6ebf1;font-size:.9rem}
.blf-planner__total strong{font-size:1.1rem;color:#1f3a5f}
.blf-planner__actions{display:flex;flex-direction:column;gap:8px}
.blf-planner__clear{background:none;border:0;color:#9aa6b2;font-size:.8rem;cursor:pointer;text-decoration:underline}
.blf-planner__msg{font-size:.83rem;color:#2f7d5d;margin:8px 0 0;min-height:1em}
.blf-planner__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.blf-planner__formstatus{font-size:.82rem;color:#5a6878}
@media(max-width:1100px){.blf-planner{grid-template-columns:220px 1fr}.blf-planner__panel{grid-column:1/-1;position:static}}
@media(max-width:760px){.blf-planner{grid-template-columns:1fr}.blf-planner__catalog{max-height:none}.blf-planner__products{grid-template-columns:1fr}.blf-planner__panel{position:static}}

/* ==========================================================================
   Category hierarchy tree — archive sidebar (left of the product grid)
   Collapsible, JS-free (native <details>). Current category is unclickable
   and highlighted; nodes with children open/close in place.
   ========================================================================== */
.blf-archive__layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start;padding:10px}
.blf-archive__content{min-width:0}

/* The left rail: category tree on top, filter panel under it. The column is the
   sticky element (the tree used to be), so the two stay together while the grid
   scrolls. No overflow here -- the tree's hover thumbnail has to escape to the
   right, and each filter group scrolls inside its own list instead. */
.blf-archive__side{display:flex;flex-direction:column;gap:18px;min-width:0;position:sticky;top:130px;z-index:20}
.blf-archive__side .blf-cattree{position:static;top:auto;z-index:auto}
.blf-archive__side.is-static{position:static}

/* The card grid shrinks one step while the sidebar takes a column. */
.blf-archive__content .blf-products{grid-template-columns:repeat(4,1fr)}
@media(max-width:1200px){.blf-archive__content .blf-products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.blf-archive__content .blf-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.blf-archive__content .blf-products{grid-template-columns:1fr}}

/* ---- Shell ------------------------------------------------------------ */
/* Sticky beside the grid. The z-index only has to beat the product cards
   (9 at most); the hover thumb at 60 rides inside this stacking context, so
   it clears the grid on its own. It must stay UNDER the mega panel's page
   scrim (body::before, z-index 80 in mega-menu-v3.css) -- anything above it
   keeps its full brightness while the rest of the page dims. */
.blf-cattree{position:sticky;top:84px;z-index:20}
/* overflow:visible so the hover thumbnail flyout can escape to the right. */
.blf-cattree__root{background:#fff;border:1px solid var(--bl-line);border-radius:16px;box-shadow:var(--bl-shadow);overflow:visible}

/* Header (also the desktop collapse toggle) */
.blf-cattree__head{display:flex;align-items:center;gap:11px;padding:14px 16px;cursor:pointer;list-style:none;user-select:none;background:linear-gradient(180deg,var(--bl-soft),#fff);border-bottom:1px solid var(--bl-line);border-radius:16px 16px 0 0}
.blf-cattree__root:not([open]) .blf-cattree__head{border-radius:16px}
.blf-cattree__head::-webkit-details-marker{display:none}
.blf-cattree__head:focus-visible{outline:2px solid var(--bl-blue);outline-offset:-2px}
.blf-cattree__head-ico{width:30px;height:30px;padding:6px;color:var(--bl-blue);background:rgba(24,88,168,.10);border-radius:9px;flex:none}
.blf-cattree__head-txt{flex:1 1 auto;font-weight:800;color:var(--bl-navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.blf-cattree__head-chev{width:16px;height:16px;color:var(--bl-muted);flex:none;transition:transform .2s}
.blf-cattree__root[open] .blf-cattree__head-chev{transform:rotate(180deg)}

.blf-cattree__body{padding:11px 12px 14px}
.blf-cattree__list{list-style:none;margin:0;padding:0}

/* ---- Breadcrumb trail (climb up: shop → ancestors) -------------------- */
.blf-cattree__crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:3px;padding:1px 2px 11px;font-size:.78rem}
.blf-cattree__crumb{display:inline-flex;align-items:center;gap:4px;padding:1px 3px;border-radius:6px;color:var(--bl-blue);font-weight:700;text-decoration:none;transition:color .14s,background .14s}
.blf-cattree__crumb svg{width:14px;height:14px;flex:none}
.blf-cattree__crumb:hover{color:var(--bl-blue-d);background:rgba(24,88,168,.08);text-decoration:none}
.blf-cattree__crumb-sep{width:13px;height:13px;color:#b6bdc7;flex:none}

/* ---- Current category — bold "you are here" anchor card --------------- */
.blf-cattree__current{display:flex;align-items:center;gap:11px;padding:11px 13px 11px 12px;border-radius:12px;background:#FFF6F0;border:1px solid #FBE3D3;border-left:4px solid var(--bl-orange)}
.blf-cattree__current-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.blf-cattree__here{display:inline-flex;align-items:center;gap:3px;font-size:.58rem;font-weight:800;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-orange)}
.blf-cattree__here svg{width:11px;height:11px;flex:none}
.blf-cattree__current-name{color:var(--bl-navy);font-weight:800;font-size:1rem;line-height:1.2}
.blf-cattree__current-count{flex:none;padding:3px 11px;font-size:.78rem;font-weight:800;color:#fff;background:var(--bl-orange);border-radius:999px}

/* ---- Sub-list label divider ------------------------------------------- */
.blf-cattree__sub{display:flex;align-items:center;gap:7px;margin:14px 4px 6px}
.blf-cattree__sub-label{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-muted)}
.blf-cattree__sub-rule{flex:1 1 auto;height:1px;background:#EEF1F5}
.blf-cattree__sub-n{font-size:.64rem;font-weight:700;color:#9aa3af}

/* ---- Spine: a continuous rail with a node dot per category ------------ */
.blf-cattree__spine{position:relative}
.blf-cattree__spine::before{content:"";position:absolute;left:10px;top:16px;bottom:16px;width:2px;background:#DCE6F2;border-radius:2px}
.blf-cattree__row{display:flex;align-items:center;gap:8px;padding:7px 9px 7px 30px;border-radius:9px;position:relative;text-decoration:none;transition:background .14s ease}
.blf-cattree__row:hover{background:#EAF1FB}
.blf-cattree__row:focus-visible{outline:2px solid var(--bl-blue);outline-offset:-2px}

/* Node dot sits on the rail; its halo masks the line so dots "punctuate" it. */
.blf-cattree__node-dot{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #c3cedd;box-sizing:border-box;box-shadow:0 0 0 3px #fff;transition:border-color .14s,background .14s,box-shadow .14s}
.blf-cattree__row:hover .blf-cattree__node-dot{border-color:var(--bl-blue);background:var(--bl-blue);box-shadow:0 0 0 3px #EAF1FB}

/* Image-node mode (Bestlab Suite → Category Tree): the category image replaces
   the dot. The spine rail is dropped and rows get extra left padding so the
   larger square marker has room. */
.blf-cattree__spine.has-imgnodes::before{display:none}
.blf-cattree__spine.has-imgnodes .blf-cattree__row{padding-left:48px}
.blf-cattree__node-img{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:8px;background:#fff;border:1px solid var(--bl-line);box-sizing:border-box;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #fff;transition:border-color .14s,box-shadow .14s}
.blf-cattree__node-img img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.blf-cattree__node-img--empty{background:var(--bl-soft)}
.blf-cattree__row:hover .blf-cattree__node-img{border-color:var(--bl-blue);box-shadow:0 0 0 3px #EAF1FB}

.blf-cattree__label{flex:1 1 auto;min-width:0;display:flex;align-items:center;color:var(--bl-ink);font-size:.91rem;font-weight:600;line-height:1.3}
.blf-cattree__row:hover .blf-cattree__label{color:var(--bl-blue);font-weight:700}
.blf-cattree__name{overflow:hidden;text-overflow:ellipsis}

.blf-cattree__count{flex:none;min-width:24px;padding:2px 8px;text-align:center;font-size:.72rem;font-weight:700;color:var(--bl-muted);background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:999px;transition:color .14s,background .14s,border-color .14s}
.blf-cattree__row:hover .blf-cattree__count{color:var(--bl-blue);background:#fff;border-color:#B5D4F4}

/* ---- Hover thumbnail flyout (desktop only) ---------------------------- */
.blf-cattree__thumb{position:absolute;left:calc(100% + 16px);top:50%;width:184px;padding:9px;background:#fff;border:1px solid var(--bl-line);border-radius:14px;box-shadow:var(--bl-shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%) translateX(-6px);transition:opacity .16s ease,transform .16s ease;z-index:60}
.blf-cattree__thumb::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;background:#fff;border-left:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line);transform:translateY(-50%) rotate(45deg)}
.blf-cattree__thumb img{display:block;width:100%;height:150px;object-fit:contain;border-radius:9px;background:#fff}
.blf-cattree__row.has-thumb:hover > .blf-cattree__thumb{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}

/* ======================================================================
   Category tree — alternative designs 2–5 (Bestlab Suite → Options →
   Category Tree → "Oldalsáv dizájn"). No breadcrumb, no "you are here"
   card, no sub-list label. Any category with children gets a JS-free
   CSS accordion (hidden checkbox + chevron <label>); chevron points down
   when closed, up when open. The five looks share one markup and differ
   only by the .blf-cattree--dN wrapper class below.
   ====================================================================== */

/* ---- Shared shell + accordion mechanics ------------------------------ */
.blf-cattree--tree .blf-cattree__root{background:#fff;border:1px solid var(--bl-line);border-radius:16px;box-shadow:var(--bl-shadow);overflow:hidden}
.blf-cattree--tree .blf-cattree__head--static{display:flex;align-items:center;padding:13px 16px;background:linear-gradient(180deg,var(--bl-soft),#fff);border-bottom:1px solid var(--bl-line)}
.blf-cattree--tree .blf-cattree__head-txt{font-weight:800;color:var(--bl-navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.blf-cattree--tree .blf-cattree__body{padding:9px 10px 12px}
.blf-cattree__tree,.blf-cattree__kids{list-style:none;margin:0;padding:0}
.blf-cattree__node{position:relative}
.blf-cattree--tree .blf-cattree__trow{position:relative}

/* Inline category image (show_images) — small thumbnail before the name. */
.blf-cattree__timg{flex:none;width:26px;height:26px;border-radius:6px;overflow:hidden;background:#fff;border:1px solid var(--bl-line);display:flex;align-items:center;justify-content:center}
.blf-cattree__timg img{width:100%;height:100%;object-fit:contain;display:block}
.blf-cattree__timg.is-empty{background:var(--bl-soft)}

/* Hover preview flyout (show_hover) — reuses the classic .blf-cattree__thumb
   styles; the root must not clip it, so overflow opens up only when enabled. */
.blf-cattree--tree.has-hover .blf-cattree__root{overflow:visible}
.blf-cattree--tree .blf-cattree__trow:hover>.blf-cattree__thumb{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.blf-cattree--d3.has-hover .blf-cattree__tree>.blf-cattree__node{overflow:visible}
.blf-cattree--d3.has-hover .blf-cattree__kids{border-radius:0 0 11px 11px}

/* Hidden toggle: kept out of layout/tab order; the chevron <label> drives it. */
.blf-cattree__cb{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}
.blf-cattree__kids{display:none}
.blf-cattree__cb:checked~.blf-cattree__kids{display:block}

/* Row = the linked name + count + (optional) chevron toggle. */
.blf-cattree__tlink{flex:1 1 auto;min-width:0;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.blf-cattree__tcount{flex:none;min-width:22px;text-align:center;font-size:.72rem;font-weight:700;color:var(--bl-muted);background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:999px;padding:2px 8px}
.blf-cattree__chev{flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bl-muted);-webkit-tap-highlight-color:transparent}
.blf-cattree__chev svg{width:16px;height:16px;transition:transform .2s}
.blf-cattree__cb:checked~.blf-cattree__trow .blf-cattree__chev svg{transform:rotate(180deg)}

/* ---- Design 2 — tree / explorer -------------------------------------- */
.blf-cattree--d2 .blf-cattree__trow{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px}
.blf-cattree--d2 .blf-cattree__trow:hover{background:var(--bl-soft)}
.blf-cattree--d2 .blf-cattree__tlink{color:var(--bl-ink);font-size:.9rem;font-weight:600}
.blf-cattree--d2 .blf-cattree__trow:hover .blf-cattree__tlink{color:var(--bl-blue)}
.blf-cattree--d2 .blf-cattree__trow.is-current{background:#FFF6F0;box-shadow:inset 3px 0 0 var(--bl-orange)}
.blf-cattree--d2 .blf-cattree__trow.is-current .blf-cattree__tlink{color:var(--bl-navy);font-weight:700}
.blf-cattree--d2 .blf-cattree__kids{margin-left:14px;border-left:1px solid var(--bl-line)}
.blf-cattree--d2 .blf-cattree__kids .blf-cattree__trow{padding-left:16px}
.blf-cattree--d2 .blf-cattree__kids .blf-cattree__tlink{font-size:.86rem;font-weight:500}

/* ---- Design 3 — segmented cards -------------------------------------- */
.blf-cattree--d3 .blf-cattree__tree>.blf-cattree__node{border:1px solid var(--bl-line);border-radius:11px;margin-bottom:7px;overflow:hidden}
.blf-cattree--d3 .blf-cattree__tree>.blf-cattree__node:last-child{margin-bottom:0}
.blf-cattree--d3 .blf-cattree__trow{display:flex;align-items:center;gap:9px;padding:11px 12px}
.blf-cattree--d3 .blf-cattree__trow:hover{background:var(--bl-soft)}
.blf-cattree--d3 .blf-cattree__tlink{font-weight:600;font-size:.9rem;color:var(--bl-navy)}
.blf-cattree--d3 .blf-cattree__trow.is-current{background:#FFF6F0;box-shadow:inset 4px 0 0 var(--bl-orange)}
.blf-cattree--d3 .blf-cattree__kids{background:var(--bl-soft);border-top:1px solid var(--bl-line)}
.blf-cattree--d3 .blf-cattree__kids .blf-cattree__trow{padding:8px 12px 8px 20px}
.blf-cattree--d3 .blf-cattree__kids .blf-cattree__tlink{font-weight:500;font-size:.85rem;color:var(--bl-ink)}
.blf-cattree--d3 .blf-cattree__kids .blf-cattree__trow:hover .blf-cattree__tlink{color:var(--bl-blue)}

/* ---- Design 4 — pill buttons ----------------------------------------- */
.blf-cattree--d4 .blf-cattree__trow{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:999px;background:var(--bl-soft);border:1px solid var(--bl-line);margin-bottom:7px}
.blf-cattree--d4 .blf-cattree__trow:hover{background:#fff;border-color:#B5D4F4}
.blf-cattree--d4 .blf-cattree__tlink{font-weight:600;font-size:.9rem;color:var(--bl-navy)}
.blf-cattree--d4 .blf-cattree__trow.is-current{background:var(--bl-orange);border-color:var(--bl-orange)}
.blf-cattree--d4 .blf-cattree__trow.is-current .blf-cattree__tlink{color:#fff}
.blf-cattree--d4 .blf-cattree__trow.is-current .blf-cattree__tcount{background:rgba(255,255,255,.25);border-color:transparent;color:#fff}
.blf-cattree--d4 .blf-cattree__trow.is-current .blf-cattree__chev{color:#fff}
.blf-cattree--d4 .blf-cattree__kids{margin:0 0 7px 16px}
.blf-cattree--d4 .blf-cattree__kids .blf-cattree__trow{padding:8px 13px}
.blf-cattree--d4 .blf-cattree__kids .blf-cattree__tlink{font-size:.85rem;font-weight:500}

/* ---- Design 5 — accent-bar list -------------------------------------- */
.blf-cattree--d5 .blf-cattree__body{padding:0 0 4px}
.blf-cattree--d5 .blf-cattree__trow{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #F1F4F8;position:relative}
.blf-cattree--d5 .blf-cattree__node:last-child>.blf-cattree__trow{border-bottom:0}
.blf-cattree--d5 .blf-cattree__trow:hover{background:var(--bl-soft)}
.blf-cattree--d5 .blf-cattree__tlink{font-weight:600;font-size:.9rem;color:var(--bl-navy)}
.blf-cattree--d5 .blf-cattree__trow.is-current{background:#FFF6F0}
.blf-cattree--d5 .blf-cattree__trow.is-current::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bl-orange)}
.blf-cattree--d5 .blf-cattree__trow.is-current .blf-cattree__tlink{color:var(--bl-orange)}
.blf-cattree--d5 .blf-cattree__chev{width:22px;height:22px;border:1px solid var(--bl-line);border-radius:6px;background:#fff}
.blf-cattree--d5 .blf-cattree__kids{background:#FBFCFE}
.blf-cattree--d5 .blf-cattree__kids .blf-cattree__trow{padding-left:30px}
.blf-cattree--d5 .blf-cattree__kids .blf-cattree__tlink{font-weight:500;color:var(--bl-ink)}

/* ---- Hide the tree entirely on mobile --------------------------------- */
@media(max-width:900px){
	.blf-archive__layout{grid-template-columns:1fr;gap:0}
	.blf-cattree{display:none}
	/* The rail collapses into a normal block above the grid; the filter panel
	   inside it turns into its own "Szűrők" toggle (see the plugin's CSS). */
	.blf-archive__side{position:static;gap:0}
	.blf-archive__side:empty{display:none}
}

/* ===== Catalogue hub (IA v5) ==============================================
   The card grid that turns /uzlet into a catalogue opener and the Labor
   archive into a landing: five sections, 4–8 cards each, every card the first
   meaningful buyer level with its preview links under it.

   Kept visually quieter than .blf-cattile on purpose. These are not the page's
   feature row, they ARE the page's navigation, so they get a compact portrait
   card (picture on top, links below) that tiles four-up rather than the wide
   two-up "portal" treatment. Every title and every preview row is a real link,
   so nothing here relies on the card being one big click target. */
.blf-hub{margin:0 0 28px}
.blf-hub__section{margin:0 0 34px}
.blf-hub__section:last-child{margin-bottom:0}
.blf-hub__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--bl-line)}
.blf-hub__title{margin:0;font-size:1.15rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--bl-navy)}
.blf-hub__all{font-size:.85rem;font-weight:700;color:var(--bl-blue);white-space:nowrap}
.blf-hub__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.blf-hubcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bl-line);border-radius:14px;overflow:hidden;transition:box-shadow .18s ease,border-color .18s ease}
.blf-hubcard:hover{border-color:#c9d6e8;box-shadow:var(--bl-shadow-lg)}
/* A cross-link card points at a category whose canonical home is another
   branch. Marked with an edge stripe rather than a different layout: it is the
   same destination, reached from the task the buyer is doing. */
.blf-hubcard--cross{border-left:3px solid var(--bl-blue)}
.blf-hubcard__media{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:12px;background:radial-gradient(120% 120% at 50% 0%,#fff 0%,var(--bl-soft) 78%)}
.blf-hubcard__media img{max-width:86%;max-height:86%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s ease}
.blf-hubcard:hover .blf-hubcard__media img{transform:scale(1.05)}
.blf-hubcard__body{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding:14px 16px 16px;border-top:1px solid var(--bl-line)}
.blf-hubcard__title{margin:0;font-size:.98rem;font-weight:800;line-height:1.25}
.blf-hubcard__title a{color:var(--bl-navy)}
.blf-hubcard__badge{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#E6EEF9;color:var(--bl-navy);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;white-space:nowrap}
.blf-hubcard__links{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;font-size:.82rem;line-height:1.4}
/* The middot separators are decoration, so they are drawn rather than typed —
   a screen reader reading the list gets four category names, not four bullets. */
.blf-hubcard__links li+li::before{content:"·";margin-right:6px;color:var(--bl-muted)}
.blf-hubcard__links li{display:flex;align-items:baseline}
.blf-hubcard__links a{color:var(--bl-muted)}
.blf-hubcard__links a:hover{color:var(--bl-blue);text-decoration:underline}
.blf-hubcard__count{margin:auto 0 0;padding-top:4px;font-size:.74rem;font-weight:700;color:var(--bl-blue)}
@media(max-width:1100px){.blf-hub__grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.blf-hub__grid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:520px){.blf-hub__grid{grid-template-columns:1fr}.blf-hubcard{flex-direction:row}.blf-hubcard__media{flex:0 0 38%;aspect-ratio:1/1}.blf-hubcard__body{border-top:0;border-left:1px solid var(--bl-line)}}

/* ===== Category tiles (shop /uzlet) =====================================
   Deliberately styled apart from the white product cards: a branded "portal"
   look — tinted gradient surface, a top accent bar + circular arrow badge on
   hover, framed media and an uppercase navy title — so they read as category
   navigation, not products. */
.blf-cattiles{margin:0 0 28px}
.blf-cattiles__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.blf-cattile{position:relative;display:flex;flex-direction:row;background:linear-gradient(180deg,#fff 0%,var(--bl-soft,#f6f8fb) 100%);border:1px solid var(--bl-line,#e6ebf1);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--bl-shadow,0 4px 18px rgba(20,40,80,.06));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.blf-cattile::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--bl-blue,#1858A8),var(--bl-orange,#E8550D));opacity:0;transition:opacity .18s ease;z-index:2}
.blf-cattile:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(11,44,90,.16);border-color:transparent;text-decoration:none}
.blf-cattile:hover::before{opacity:1}
.blf-cattile__media{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 40%;min-height:178px;background:radial-gradient(120% 120% at 0% 50%,#fff 0%,var(--bl-soft,#f6f8fb) 78%);padding:16px;overflow:hidden}
.blf-cattile__media img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s ease}
.blf-cattile:hover .blf-cattile__media img{transform:scale(1.06)}
.blf-cattile__media::after{content:"→";position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bl-navy,#0B2C5A);color:#fff;font-size:1rem;font-weight:700;box-shadow:0 4px 10px rgba(11,44,90,.25);transform:translateY(8px);opacity:0;transition:transform .2s ease,opacity .2s ease,background .2s ease}
.blf-cattile:hover .blf-cattile__media::after{transform:translateY(0);opacity:1;background:var(--bl-orange,#E8550D)}
.blf-cattile__body{display:flex;flex:1 1 auto;flex-direction:column;gap:6px;padding:18px 20px;background:#fff;border-left:1px solid var(--bl-line,#e6ebf1)}
.blf-cattile__title{font-size:1.02rem;font-weight:800;color:var(--bl-navy,#0B2C5A);line-height:1.25;text-transform:uppercase;letter-spacing:.02em;text-decoration:none}
.blf-cattile__info{font-size:.85rem;color:var(--bl-muted,#6B7280);line-height:1.45;text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blf-cattile__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:auto;padding-top:10px}
.blf-cattile__count{font-size:.74rem;font-weight:700;color:#fff;background:var(--bl-blue,#1858A8);border-radius:999px;padding:3px 11px}
.blf-cattile__subs{font-size:.74rem;font-weight:700;color:var(--bl-navy,#0B2C5A);background:var(--bl-soft,#f6f8fb);border:1px solid var(--bl-line,#e6ebf1);border-radius:999px;padding:3px 11px}
@media(max-width:980px){.blf-cattiles__grid{grid-template-columns:1fr;gap:14px}}
@media(max-width:480px){
	.blf-cattile{flex-direction:column}
	.blf-cattile__media{flex:0 0 auto;aspect-ratio:16/10;min-height:0}
	.blf-cattile__media{background:radial-gradient(120% 120% at 50% 0%,#fff 0%,var(--bl-soft,#f6f8fb) 72%)}
	.blf-cattile__body{border-left:0;border-top:1px solid var(--bl-line,#e6ebf1)}
}

/* ==========================================================================
   Akciók — sale badge on cards, homepage band, and the /akciok/ landing page
   ========================================================================== */

/* Sale pricing on the shared product card. The discount/sale corner badge is
   now drawn by the Badges module only (no theme badge), so labels never double
   up; here we just style the price. */
.blf-card.is-on-sale .blf-card__price del{color:var(--bl-muted);font-weight:600;font-size:.92em;margin-right:6px;text-decoration:line-through}
.blf-card.is-on-sale .blf-card__price del .amount{color:var(--bl-muted)}
.blf-card.is-on-sale .blf-card__price ins{text-decoration:none;color:var(--bl-orange);font-weight:800}
.blf-card.is-on-sale .blf-card__price ins .amount{color:var(--bl-orange)}

/* Homepage "Akciók" band — tinted, warm, sets it apart from the white rows. */
.blf-sale{background:linear-gradient(180deg,#FFF7F2 0%,#FFFBF8 100%);border-block:1px solid #FBE3D3}
.blf-sale__head{align-items:center}
.blf-sale__eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--bl-orange)}
.blf-sale__title{margin:0}
.blf-sale__cta{align-self:center}

/* Homepage curated "Akciós ajánlataink" band — cool blue tint, sets it apart
   from both the white rows and the warm auto-"Akciók" band below it. */
.blf-deals{background:linear-gradient(180deg,#F1F6FC 0%,#FAFCFE 100%);border-block:1px solid #D7E6F6}
.blf-deals__head{align-items:center}
.blf-deals__eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--bl-blue)}
.blf-deals__title{margin:0}
.blf-deals__cta{align-self:center}

/* /akciok/ landing page */
.blf-akciok-hero{background:linear-gradient(135deg,var(--bl-orange) 0%,#f2730f 55%,var(--bl-orange-d) 100%);color:#fff;position:relative;overflow:hidden}
.blf-akciok-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.blf-akciok-hero__inner{position:relative;z-index:1;padding-block:54px;max-width:760px}
.blf-akciok-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 14px;background:rgba(255,255,255,.16);border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800}
.blf-akciok-hero__title{color:#fff;font-size:clamp(2rem,5vw,3rem);font-weight:800;margin:0 0 14px;line-height:1.05}
.blf-akciok-hero__lead{color:rgba(255,255,255,.92);font-size:1.05rem;max-width:60ch}
.blf-akciok-hero__lead p{margin:0 0 .6em}
.blf-akciok-hero__count{display:inline-flex;align-items:baseline;gap:7px;margin:20px 0 0;padding:9px 16px;background:rgba(255,255,255,.16);border-radius:10px;font-size:.95rem;font-weight:600}
.blf-akciok-hero__count strong{font-size:1.25rem;font-weight:800}
.blf-akciok__list{padding-top:40px}
.blf-akciok__list .blf-grid--4{gap:20px}
@media(max-width:1080px){.blf-akciok__list .blf-grid--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
	.blf-sale__cta,
	.blf-deals__cta{align-self:flex-start}
	.blf-akciok-hero__inner{padding-block:40px}
	.blf-akciok__list .blf-grid--4{grid-template-columns:repeat(2,1fr)}
}
.menu_item_akciok a{
	color:var(--bl-orange);
}

/* ==========================================================================
   Checkout (/penztar) + Auth (login / registration) — B2B
   ========================================================================== */

/* ---- Shared form controls (checkout + auth) --------------------------- */
.blf-checkout .input-text,
.blf-checkout select,
.blf-checkout textarea,
.blf-auth input[type="text"],
.blf-auth input[type="email"],
.blf-auth input[type="password"],
.woocommerce-checkout form.login .input-text{
	width:100%;
	padding:.8rem 1rem;
	border:1px solid var(--bl-line);
	border-radius:8px;
	background:#fff;
	color:var(--bl-ink);
	font-size:1rem;
	line-height:1.3;
	transition:border-color .15s,box-shadow .15s;
}
.blf-checkout .input-text:focus,
.blf-checkout select:focus,
.blf-auth input:focus,
.woocommerce-checkout form.login .input-text:focus{
	outline:none;
	border-color:var(--bl-blue);
	box-shadow:0 0 0 3px rgba(24,88,168,.15);
}
.blf-checkout .form-row > label,
.blf-auth .form-row > label{
	display:block;
	font-weight:600;
	font-size:.9rem;
	color:var(--bl-navy);
	margin-bottom:.4rem;
}
.blf-checkout .form-row,
.blf-auth .form-row{margin:0 0 14px}
.blf-checkout .required,
.blf-auth .required{color:var(--bl-orange);text-decoration:none;border:0}

/* ---- Checkout layout -------------------------------------------------- */
.blf-checkout__grid{
	display:grid;
	grid-template-columns:1fr;
	gap:28px;
	max-width:var(--bl-container);
	margin:32px auto;
	padding-inline:20px;
}
@media(min-width:992px){
	.blf-checkout__grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);align-items:start;gap:40px}
}
.blf-checkout__aside{position:relative}
.blf-checkout__summary{
	background:var(--bl-soft);
	border:1px solid var(--bl-line);
	border-radius:var(--bl-radius);
	padding:22px;
	box-shadow:var(--bl-shadow);
}
@media(min-width:992px){
	.blf-checkout__summary{position:sticky;top:96px}
}
/* Net/gross suffix shown after every price (cart, mini-cart, checkout, totals) */
.blf-tax-suffix{font-size:.72em;font-weight:500;color:var(--bl-muted);margin-left:3px;white-space:nowrap}

/* Tax breakdown: hide the net/gross switch on checkout */
.woocommerce-checkout .bl-tax-switch-container{display:none!important}

/* Order-review table — align every value cell (Részösszeg / ÁFA / Összeg) uniformly */
.blf-checkout__summary .woocommerce-checkout-review-order-table th,
.blf-checkout__summary .woocommerce-checkout-review-order-table td{
	padding:.6rem 0;border:0;vertical-align:top;
}
.blf-checkout__summary .woocommerce-checkout-review-order-table .product-name,
.blf-checkout__summary .woocommerce-checkout-review-order-table tfoot th{text-align:left}
.blf-checkout__summary .woocommerce-checkout-review-order-table .product-total,
.blf-checkout__summary .woocommerce-checkout-review-order-table tfoot td{text-align:right}
.blf-checkout__summary .woocommerce-checkout-review-order-table tbody td,
.blf-checkout__summary .woocommerce-checkout-review-order-table tbody th{border-bottom:1px solid var(--bl-line)}
.blf-checkout__summary .woocommerce-checkout-review-order-table .blf-vat-row th{font-weight:600;color:var(--bl-navy)}
.blf-checkout__summary .woocommerce-checkout-review-order-table .order-total th,
.blf-checkout__summary .woocommerce-checkout-review-order-table .order-total td{
	font-size:1.05rem;font-weight:800;color:var(--bl-navy);
	border-top:1px solid var(--bl-line);padding-top:.85rem;
}

/* Payment methods + place order */
#payment.woocommerce-checkout-payment{
	background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);
	padding:18px;margin-top:16px;
}
#payment .payment_methods{list-style:none;margin:0;padding:0}
/* Radio + label are siblings in the <li>: lay the <li> out as a flex row so the
   radio is vertically centred with the text, and let the description wrap below. */
#payment .payment_methods li.wc_payment_method{
	display:flex;flex-wrap:wrap;align-items:center;
	border:1px solid var(--bl-line);border-radius:10px;margin:0 0 10px;overflow:hidden;
	transition:border-color .15s,box-shadow .15s,background .15s;
}
#payment .payment_methods li.wc_payment_method:hover{border-color:#c3cede}
#payment .payment_methods li.wc_payment_method input[type="radio"]{
	flex:none;width:20px;height:20px;margin:0 0 0 16px;accent-color:var(--bl-blue);cursor:pointer;
}
#payment .payment_methods li.wc_payment_method > label{
	flex:1;display:flex;align-items:center;gap:8px;margin:0;padding:16px 16px 16px 12px;
	font-weight:600;color:var(--bl-navy);cursor:pointer;line-height:1.3;
}
#payment .payment_methods li.wc_payment_method > label img{margin-left:auto;max-height:24px}
#payment .payment_methods li.wc_payment_method:has(input[type="radio"]:checked){
	border-color:var(--bl-blue);box-shadow:inset 0 0 0 1px var(--bl-blue);background:rgba(24,88,168,.04);
}
#payment .payment_box{
	flex:1 0 100%;margin:0;padding:14px 16px;border-top:1px solid var(--bl-line);
	background:var(--bl-soft);color:var(--bl-muted);font-size:.9rem;border-radius:0;
}
#payment .payment_box::before{display:none}
#payment .payment_box p{margin:0}
#payment .place-order{padding:0;margin:0}
#payment .woocommerce-privacy-policy-text,
#payment .woocommerce-terms-and-conditions-wrapper{font-size:.85rem;color:var(--bl-muted);margin:6px 0 14px}
#payment #place_order{
	width:100%;background:var(--bl-orange);color:#fff;border:0;border-radius:8px;
	font-weight:700;font-size:1.05rem;padding:.95rem 1rem;cursor:pointer;transition:background .15s;float:none;
}
#payment #place_order:hover{background:var(--bl-orange-d)}

.blf-checkout__summary #order_review_heading{
	font-size:1.15rem;
	font-weight:800;
	color:var(--bl-navy);
	margin:0 0 14px;
}

/* Section cards */
.blf-co-sec{
	background:#fff;
	border:1px solid var(--bl-line);
	border-radius:var(--bl-radius);
	padding:24px;
	margin-bottom:20px;
	box-shadow:var(--bl-shadow);
}
.blf-co-sec__title{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:1.1rem;
	font-weight:800;
	color:var(--bl-navy);
	margin:0 0 18px;
}
.blf-co-step{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:28px;height:28px;
	border-radius:50%;
	background:var(--bl-navy);
	color:#fff;
	font-size:.85rem;
	font-weight:700;
	flex:none;
}
.blf-co-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.blf-co-grid > .form-row{grid-column:1 / -1}
/* Half-width pairs (name/postcode/city…) auto-place into the two columns in DOM
   order — so they stay aligned regardless of the locale's form-row-first/last. */
.blf-co-grid > .form-row-first,
.blf-co-grid > .form-row-last{grid-column:auto}
/* Neutralise WooCommerce's float + 47% width on our grid-managed rows. The
   .blf-checkout/.blf-auth prefix outranks WC's `.woocommerce form .form-row-*`. */
.blf-checkout .blf-co-grid > .form-row,
.blf-auth .blf-co-grid > .form-row,
.blf-checkout .blf-company-fields > .form-row,
.blf-auth .blf-company-fields > .form-row{float:none;width:auto;margin-left:0;margin-right:0}
@media(max-width:560px){
	.blf-co-grid{grid-template-columns:1fr}
	.blf-co-grid > .form-row-first,
	.blf-co-grid > .form-row-last{grid-column:1 / -1}
}

/* Company fields hidden until "Cég" is chosen */
.blf-company-fields{display:none}
.blf-company-fields.is-visible{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:560px){.blf-company-fields.is-visible{grid-template-columns:1fr}}
.blf-company-fields > .form-row{grid-column:1 / -1}

/* Billing address block — hidden until "billing differs from shipping" is ticked */
.blf-billing-address-fields{display:none;margin-top:14px}
.blf-billing-address-fields.is-visible{display:block}
.blf-co-subhead{font-size:1rem;font-weight:700;color:var(--bl-navy);margin:0 0 12px}
.blf-billing-toggle{
	margin:14px 0;
	padding:12px 14px;
	background:var(--bl-soft);
	border:1px solid var(--bl-line);
	border-radius:8px;
}
.blf-billing-toggle label{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--bl-navy);cursor:pointer;margin:0}

/* ---- Customer-type segmented control ---------------------------------- */
.blf-customer-type{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-bottom:18px;
}
.blf-customer-type input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px}
.blf-customer-type label.radio,
.blf-customer-type .blf-seg{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:14px 12px;
	border:1.5px solid var(--bl-line);
	border-radius:10px;
	font-weight:700;
	color:var(--bl-navy);
	background:#fff;
	cursor:pointer;
	transition:border-color .15s,background .15s,box-shadow .15s;
	margin:0;
}
.blf-customer-type label.radio:hover,
.blf-customer-type .blf-seg:hover{border-color:var(--bl-blue)}
.blf-customer-type input:checked + label.radio,
.blf-customer-type .blf-seg.is-active{
	border-color:var(--bl-blue);
	background:rgba(24,88,168,.06);
	box-shadow:inset 0 0 0 1px var(--bl-blue);
	color:var(--bl-blue);
}

/* ---- Social login buttons --------------------------------------------- */
.blf-social{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.blf-social__divider{
	display:flex;align-items:center;gap:12px;
	color:var(--bl-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;
	margin:4px 0;
}
.blf-social__divider::before,
.blf-social__divider::after{content:"";flex:1;height:1px;background:var(--bl-line)}
.blf-social__btn{
	display:flex;align-items:center;justify-content:center;gap:10px;
	min-height:46px;padding:0 16px;
	border-radius:8px;font-weight:600;font-size:.95rem;
	border:1px solid transparent;cursor:pointer;
	transition:background .15s,border-color .15s,box-shadow .15s;
}
.blf-social__btn:hover{text-decoration:none;box-shadow:var(--bl-shadow)}
.blf-social__btn--google{background:#fff;color:var(--bl-ink);border-color:var(--bl-line)}
.blf-social__btn--google:hover{background:var(--bl-soft);border-color:#cbd2dc}
.blf-social__btn--facebook{background:#1877F2;color:#fff;border-color:#1877F2}
.blf-social__btn--facebook:hover{background:#1465d8;color:#fff}
.blf-social__icon{flex:none}

.blf-login-reg{margin:14px 0 0;font-size:.92rem;color:var(--bl-muted)}
.blf-login-reg a{font-weight:700}

/* Honeypot */
.blf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---- Checkout login reminder card ------------------------------------- */
.woocommerce-checkout form.login,
.woocommerce-checkout .woocommerce-form-login{
	max-width:var(--bl-container);
	margin:24px auto 0;
	padding:24px;
	background:#fff;
	border:1px solid var(--bl-line);
	border-radius:var(--bl-radius);
	box-shadow:var(--bl-shadow);
}
.woocommerce-checkout .woocommerce-form-login-toggle{max-width:var(--bl-container);margin-inline:auto;padding-inline:20px}

/* ==========================================================================
   Auth page (registration / login) — /regisztracio
   ========================================================================== */
.blf-auth{padding:40px 20px 64px}
.blf-auth__wrap{
	max-width:980px;margin-inline:auto;
	display:grid;grid-template-columns:1fr;gap:28px;
}
@media(min-width:860px){
	.blf-auth__wrap{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}
}
.blf-auth__card{
	background:#fff;border:1px solid var(--bl-line);border-radius:14px;
	padding:clamp(24px,4vw,40px);box-shadow:var(--bl-shadow-lg);
}
.blf-auth__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0 0 8px}
.blf-auth__lead{color:var(--bl-muted);margin:0 0 22px}
.blf-auth__error{
	background:#fdecea;border:1px solid #f5c2bd;border-left:3px solid var(--bl-orange);
	color:#8a2417;border-radius:8px;padding:12px 14px;margin-bottom:18px;font-weight:500;
}
.blf-auth__submit{width:100%;justify-content:center;margin-top:6px;font-size:1rem;padding:.9em 1.25em}
.blf-auth__alt{margin:18px 0 0;text-align:center;color:var(--bl-muted)}
.blf-auth__alt a{font-weight:700}
.blf-reg-gdpr label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--bl-muted);font-weight:500}
.blf-reg-gdpr input{margin-top:3px}

.blf-auth__benefits{
	background:var(--bl-navy);color:#fff;border-radius:14px;
	padding:clamp(24px,3vw,32px);
}
.blf-auth__benefits h2{color:#fff;font-size:1.2rem;margin:0 0 18px}
.blf-auth__benefits ul{display:flex;flex-direction:column;gap:14px}
.blf-auth__benefits li{
	position:relative;padding-left:30px;color:#dce6f3;line-height:1.5;
}
.blf-auth__benefits li::before{
	content:"";position:absolute;left:0;top:2px;width:20px;height:20px;
	background:var(--bl-orange);border-radius:50%;
	-webkit-mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>') center/14px no-repeat;
	mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>') center/14px no-repeat;
}

/* ==========================================================================
   Cart page (/kosar) — classic cart, styled + live
   ========================================================================== */
.woocommerce-cart .woocommerce{max-width:var(--bl-container);margin:32px auto;padding-inline:20px}
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart{
	width:100%;border:1px solid var(--bl-line);border-radius:var(--bl-radius);
	border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;
}
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart thead th{
	background:var(--bl-soft);color:var(--bl-navy);text-align:left;
	font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
	padding:.9rem 1rem;border-bottom:1px solid var(--bl-line);
}
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td{
	padding:1rem;border-top:1px solid var(--bl-line);vertical-align:middle;
}
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody tr:first-child td{border-top:0}

/* Larger product images */
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img{
	width:96px;height:auto;border-radius:8px;border:1px solid var(--bl-line);
}
.woocommerce-cart .woocommerce-cart-form .product-name a{font-weight:600;color:var(--bl-navy)}
.woocommerce-cart .woocommerce-cart-form td.product-name{font-size:.98rem}
.blf-gift-badge{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;background:#fff4e8;color:var(--bl-orange);font-size:.72rem;font-weight:700}
.blf-gift-qty{font-weight:600;color:var(--bl-muted)}

/* Remove button */
.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove{
	display:inline-flex;align-items:center;justify-content:center;
	width:26px;height:26px;border-radius:50%;background:var(--bl-soft);
	color:var(--bl-orange)!important;font-size:18px;line-height:1;text-decoration:none;
}
.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover{background:var(--bl-orange);color:#fff!important}

/* Quantity input (live-updating; native spinners) */
.woocommerce-cart .woocommerce-cart-form .quantity{display:inline-flex;align-items:center}
.woocommerce-cart .woocommerce-cart-form .quantity input.qty{
	width:72px;height:44px;padding:0 8px;border:1px solid var(--bl-line);border-radius:8px;
	text-align:center;font-weight:600;background:#fff;
}
.woocommerce-cart .woocommerce-cart-form .quantity input.qty:focus{outline:none;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.15)}

/* Live-update affordances */
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]{display:none!important}
.woocommerce-cart-form.blf-cart--busy{opacity:.55;pointer-events:none;transition:opacity .15s}

/* Actions row — coupon bar */
.woocommerce-cart .woocommerce-cart-form td.actions{
	padding:1rem;background:var(--bl-soft);border-top:1px solid var(--bl-line);
}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon{
	display:flex;align-items:center;gap:8px;max-width:440px;
}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon label{margin:0}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon input#coupon_code{
	flex:1 1 auto;min-width:100px;height:44px;padding:0 14px;
	border:1px solid var(--bl-line);border-radius:8px;background:#fff;
	color:var(--bl-ink);font-size:.95rem;
}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon input#coupon_code:focus{
	outline:none;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.15);
}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]{
	height:44px;padding:0 20px;border:0;border-radius:8px;
	background:var(--bl-navy);color:#fff;font-weight:600;cursor:pointer;white-space:nowrap;
	transition:background .15s;
}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]:hover{background:var(--bl-blue)}
@media(max-width:480px){
	.woocommerce-cart .woocommerce-cart-form td.actions .coupon{flex-wrap:wrap}
	.woocommerce-cart .woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]{width:100%}
}

/* Totals card */
.woocommerce-cart .cart-collaterals{margin-top:24px;display:flex;justify-content:flex-end}
.woocommerce-cart .cart-collaterals .cart_totals{width:min(420px,100%);background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:22px}
.woocommerce-cart .cart_totals h2{font-size:1.1rem;font-weight:800;margin:0 0 14px;color:var(--bl-navy)}
.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce-cart .cart_totals th{text-align:left;font-weight:600;color:var(--bl-acc-text-muted,var(--bl-muted));padding:.55rem 0}
.woocommerce-cart .cart_totals td{text-align:right;padding:.55rem 0}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{font-size:1.05rem;font-weight:800;color:var(--bl-navy);border-top:1px solid var(--bl-line);padding-top:.9rem}
.woocommerce-cart .wc-proceed-to-checkout{margin-top:16px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
	display:block;text-align:center;background:var(--bl-orange);color:#fff;
	font-weight:700;padding:.9rem 1rem;border-radius:8px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--bl-orange-d);color:#fff}

@media(max-width:600px){
	.woocommerce-cart .woocommerce-cart-form .product-thumbnail img{width:64px}
	.woocommerce-cart .cart-collaterals{justify-content:stretch}
}
/* ==========================================================================
   Székek landing page (page-szekek.php)
   ========================================================================== */

/* Hero — full-bleed photo with the copy overlaid on the left (mirrors .blf-hero--bg). */
.blf-szekek-hero{background:linear-gradient(180deg,#fff,var(--bl-soft))}
.blf-szekek-hero--bg{background:#0b2c5a center / cover no-repeat;position:relative;display:flex;align-items:center;min-height:420px}
.blf-szekek-hero--bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,52,.90) 0%,rgba(6,26,52,.78) 34%,rgba(6,26,52,.35) 62%,rgba(6,26,52,.05) 82%);pointer-events:none}
.blf-szekek-hero__inner{position:relative;z-index:1;padding-block:64px;}
.blf-szekek-hero--bg .blf-szekek-hero__inner *{color:#fff}
.blf-szekek-hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--bl-orange);margin:0 0 14px}
.blf-szekek-hero--bg .blf-szekek-hero__eyebrow{color:#ffb38a}
.blf-szekek-hero__title{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .35em}
.blf-szekek-hero__lead{font-size:1.1rem;max-width:52ch;margin:0 0 26px;color:#dbe6f2}
.blf-szekek-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
/* Ghost CTA reads on the dark hero. */
.blf-szekek-hero--bg .blf-szekek-hero__help{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.55);color:#fff}
.blf-szekek-hero--bg .blf-szekek-hero__help:hover{background:rgba(255,255,255,.18);border-color:#fff}

/* Category grids */
.blf-szekek-grid{display:grid;gap:20px}
.blf-szekek-grid--3{grid-template-columns:repeat(3,1fr)}
.blf-szekek-grid--4{grid-template-columns:repeat(4,1fr)}
.blf-szekek-cats__head2{margin-top:52px}

/* Category card — photo on the left, copy + arrow-link on the right. */
.blf-szekek-card{display:flex;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;transition:box-shadow .18s,transform .18s,border-color .18s}
.blf-szekek-card:hover{box-shadow:var(--bl-shadow-lg);transform:translateY(-3px);border-color:transparent;text-decoration:none}
.blf-szekek-card__media{flex:0 0 42%;background:var(--bl-soft);display:flex;align-items:center;justify-content:center;padding:14px}
.blf-szekek-card__media img{width:100%;height:100%;max-height:160px;object-fit:contain;mix-blend-mode:multiply}
.blf-szekek-card__body{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 18px 16px;min-width:0}
.blf-szekek-card__title{font-weight:800;color:var(--bl-navy);font-size:1.02rem;line-height:1.25;margin-bottom:8px}
.blf-szekek-card__desc{color:var(--bl-muted);font-size:.86rem;line-height:1.5;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blf-szekek-card__link{margin-top:auto;font-weight:700;font-size:.86rem;color:var(--bl-blue)}
.blf-szekek-card:hover .blf-szekek-card__link{color:var(--bl-orange)}
/* The 4-up "Speciális" row stacks image over copy so the cards stay readable. */
.blf-szekek-grid--4 .blf-szekek-card{flex-direction:column}
.blf-szekek-grid--4 .blf-szekek-card__media{flex:none;aspect-ratio:4/3;padding:16px}
.blf-szekek-grid--4 .blf-szekek-card__media img{max-height:none}

/* Bimos premium banner */
.blf-szekek-bimos{background:var(--bl-soft);border-block:1px solid var(--bl-line)}
.blf-szekek-bimos__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;align-items:stretch;padding:0}
.blf-szekek-bimos__media{position:relative;background:linear-gradient(135deg,var(--bl-navy),var(--bl-blue));display:flex;align-items:center;justify-content:center;min-height:320px;overflow:hidden}
.blf-szekek-bimos__media img{width:100%;height:100%;object-fit:cover;opacity:.92}
.blf-szekek-bimos__wordmark{position:absolute;left:22px;top:22px;background:var(--bl-blue);color:#fff;font-weight:800;font-size:1rem;letter-spacing:.02em;padding:8px 16px;border-radius:6px;text-transform:lowercase;box-shadow:0 6px 16px rgba(6,26,52,.35)}
.blf-szekek-bimos__copy{padding:44px clamp(20px,4vw,56px)}
.blf-szekek-bimos__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0 0 .4em}
.blf-szekek-bimos__lead{color:var(--bl-muted);margin:0 0 22px;max-width:54ch}
.blf-szekek-bimos__pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.blf-szekek-bimos__pill{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--bl-line);border-radius:8px;background:#fff;color:var(--bl-navy);font-weight:600;font-size:.86rem;transition:border-color .15s,color .15s}
.blf-szekek-bimos__pill:hover{border-color:var(--bl-blue);color:var(--bl-blue);text-decoration:none}

/* "Munkakörnyezet alapján" quick-pick row */
.blf-szekek-envs__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.blf-szekek-env{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 10px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff;color:var(--bl-navy);transition:box-shadow .18s,transform .18s,border-color .18s}
.blf-szekek-env:hover{box-shadow:var(--bl-shadow);transform:translateY(-2px);border-color:var(--bl-blue);text-decoration:none}
.blf-szekek-env__icon{width:30px;height:30px;object-fit:contain}
.blf-szekek-env__label{font-size:.8rem;font-weight:600;line-height:1.3}

/* Advisor CTA box */
.blf-szekek-help__box{display:flex;align-items:center;gap:22px;background:#f5f8fd;border:1px solid #dbe7f6;border-left:4px solid var(--bl-orange);border-radius:var(--bl-radius);padding:26px 30px}
.blf-szekek-help__icon{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid #dbe7f6;color:var(--bl-blue)}
.blf-szekek-help__copy{flex:1 1 auto;min-width:0}
.blf-szekek-help__title{font-size:1.25rem;font-weight:800;margin:0 0 6px}
.blf-szekek-help__text{color:var(--bl-muted);margin:0 0 8px;max-width:70ch}
.blf-szekek-help__contact{margin:0;font-weight:700;color:var(--bl-navy);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.blf-szekek-help__contact a{color:var(--bl-navy)}
.blf-szekek-help__contact a:hover{color:var(--bl-blue)}
.blf-szekek-help__cta{flex:none}

/* "Miért Bestlab?" trust row */
.blf-szekek-why__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.blf-szekek-why__item{display:flex;align-items:flex-start;gap:14px;min-width:0}
.blf-szekek-why__icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--bl-soft);border:1px solid var(--bl-line);color:var(--bl-blue)}
.blf-szekek-why__wordmark{font-weight:800;font-size:.82rem;color:var(--bl-blue);text-transform:lowercase;letter-spacing:.01em}
.blf-szekek-why__text{display:flex;flex-direction:column;min-width:0}
.blf-szekek-why__title{color:var(--bl-navy);font-weight:800;font-size:.95rem;line-height:1.25}
.blf-szekek-why__note{color:var(--bl-muted);font-size:.82rem;line-height:1.4;margin-top:3px}

/* --- Székek responsive --------------------------------------------------- */
@media(max-width:1080px){
	.blf-szekek-grid--3{grid-template-columns:repeat(2,1fr)}
	.blf-szekek-grid--4{grid-template-columns:repeat(2,1fr)}
	.blf-szekek-envs__grid{grid-template-columns:repeat(4,1fr)}
	.blf-szekek-why__grid{grid-template-columns:repeat(3,1fr);row-gap:24px}
}
@media(max-width:900px){
	.blf-szekek-bimos__inner{grid-template-columns:1fr}
	.blf-szekek-bimos__media{min-height:220px}
}
@media(max-width:640px){
	.blf-szekek-hero--bg{min-height:0}
	.blf-szekek-hero__inner{padding-block:44px}
	.blf-szekek-grid--3,.blf-szekek-grid--4{grid-template-columns:1fr}
	.blf-szekek-envs__grid{grid-template-columns:repeat(2,1fr)}
	.blf-szekek-why__grid{grid-template-columns:1fr;gap:16px}
	.blf-szekek-card{flex-direction:column}
	.blf-szekek-card__media{flex:none;aspect-ratio:4/3}
	.blf-szekek-card__media img{max-height:none}
	.blf-szekek-help__box{flex-direction:column;align-items:flex-start;gap:16px}
}

/* Finder items the catalogue has no attribute value for: shown, but plainly
   not clickable, so the grid keeps its shape without promising a filter that
   would return the whole shop. See inc/glove-finder.php. */
.blf-sw-find__grid li.is-unmapped > span,
.finder-grid li.is-unmapped > span{display:flex;flex-direction:column;align-items:center;
	opacity:.38;cursor:default;-webkit-user-select:none;user-select:none}

/* ==========================================================================
   Archive: header help, list view, filter note
   ========================================================================== */

/* "Gyorsszűrők / alkategóriák" — a plain <details>, parked at the top right of
   the archive header on desktop and stacked under the title on a phone. */
.blf-archive__help{position:absolute;right:0;top:6px;max-width:min(420px,100%);text-align:right}
.blf-archive__help-sum{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--bl-blue);cursor:pointer;list-style:none}
.blf-archive__help-sum::-webkit-details-marker{display:none}
.blf-archive__help-sum:hover{text-decoration:underline}
.blf-archive__help-ico{display:inline-flex}
.blf-archive__help-ico svg{width:16px;height:16px;display:block}
.blf-archive__help-txt{margin:8px 0 0;padding:12px 14px;font-size:.85rem;line-height:1.5;color:var(--bl-muted);text-align:left;background:#fff;border:1px solid var(--bl-line);border-radius:12px;box-shadow:var(--bl-shadow,0 4px 18px rgba(20,40,80,.06))}
@media(max-width:900px){
	.blf-archive__help{position:static;margin-top:14px;text-align:left;max-width:none}
}

/* List view — same cards, laid out as rows. The toggle writes the `blf_view`
   cookie, so the class is printed server-side and nothing flashes. */
.blf-archive__content .blf-products.is-list,.blf-products.is-list{display:flex;flex-direction:column;gap:12px}
.blf-products.is-list .blf-card--product{flex-direction:row;align-items:stretch}
.blf-products.is-list .blf-card__media{flex:0 0 clamp(130px,20%,190px);aspect-ratio:1/1}
.blf-products.is-list .blf-card__body{padding:16px 20px}
.blf-products.is-list .blf-card__title{min-height:0;font-size:1.06rem}
.blf-products.is-list .blf-card__sub{max-width:70ch}
.blf-products.is-list .blf-card__price{font-size:1.15rem}
.blf-products.is-list .blf-card:hover{transform:none;box-shadow:var(--bl-shadow-lg)}
@media(min-width:760px){
	.blf-products.is-list .blf-card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto);align-items:start;column-gap:24px;align-content:start}
	.blf-products.is-list .blf-card__body>*{grid-column:1}
	.blf-products.is-list .blf-card__price{grid-column:2;grid-row:1;justify-self:end;text-align:right;margin:0}
	.blf-products.is-list .blf-card__link{grid-column:2;grid-row:2;justify-self:end;margin-top:6px}
}
@media(max-width:520px){
	.blf-products.is-list .blf-card__media{flex-basis:104px}
	.blf-products.is-list .blf-card__body{padding:12px 14px}
}

/* Chips printed on their own (the no-results branch prints them without the
   toolbar around them). */
.blf-archive__content>.bl-fchips,.blf-archive__main>.bl-fchips{margin:0 0 18px}

/* The strip under the grid explaining tiles vs. filters. */
.blf-archive__note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 4px;padding:13px 16px;background:var(--bl-soft);border:1px solid var(--bl-line);border-radius:12px}
.blf-archive__note-ico{flex:none;display:inline-flex;color:var(--bl-blue)}
.blf-archive__note-ico svg{width:19px;height:19px;display:block}
.blf-archive__note-txt{flex:1 1 260px;margin:0;font-size:.87rem;line-height:1.5;color:var(--bl-muted)}
.blf-archive__note-link{flex:none;font-size:.87rem;font-weight:600;color:var(--bl-orange);text-decoration:none}
.blf-archive__note-link:hover{text-decoration:underline}
