/* ==========================================================================
   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-gutter:clamp(16px,2.5vw,24px);
	--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;}
/* Side gutter below the container's width: without it phones and tablets put
   every section's copy on the screen's edge. Same value as the header's
   gutter, so the content lines up under the logo. Components that set their
   own padding later in this file still win. */
@media(max-width:1320px){
	.container{padding-inline:var(--bl-gutter)}
}

.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)}

/* One-row header (Options → Menü → Menüsor = Egy sor): the secondary links sit
   in the nav row, between the categories and the utility links — printed by
   blf_menu_inline_secondary(). Quieter than both neighbours, set off from the
   utility links by a hairline. main.js adds .is-tight to the row when they do
   not fit, and they fold into the „Továbbiak” drop-down instead. */
.blf-navsub,.blf-navmore__list{list-style:none;margin:0;padding:0}
.blf-navmore{display:none}
@media(min-width:901px){
	.blf-navsub{position:relative;display:flex;align-items:center;gap:2px;margin-left:auto;padding-right:12px}
	.blf-navsub::after,.blf-navmore::after{content:"";position:absolute;right:0;top:50%;width:1px;height:20px;margin-top:-10px;background:var(--bl-line)}
	.blf-navsub a,.blf-navmore summary{display:flex;align-items:center;gap:6px;padding:11px 10px;border-radius:8px;color:var(--bl-muted);font-size:.88rem;font-weight:500;white-space:nowrap;text-decoration:none}
	.blf-navsub a:hover,.blf-navmore summary:hover,.blf-navmore[open] summary{color:var(--bl-navy);background:var(--bl-soft);text-decoration:none}
	.blf-navsub a.is-current,.blf-navmore__list a.is-current{color:var(--bl-blue)}
	.blf-nav__row.is-tight .blf-navsub{display:none}
	.blf-nav__row.is-tight .blf-navmore{position:relative;display:flex;align-items:center;margin-left:auto;padding-right:12px}
	.blf-navmore summary{cursor:pointer;list-style:none}
	.blf-navmore summary::-webkit-details-marker{display:none}
	.blf-navmore summary svg{opacity:.6;transition:transform .2s ease}
	.blf-navmore[open] summary svg{transform:rotate(180deg)}
	.blf-navmore__list{position:absolute;top:calc(100% - 4px);right:12px;z-index:95;min-width:210px;padding:6px;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);box-shadow:var(--bl-shadow-lg)}
	.blf-navmore__list a{display:block;padding:9px 12px;border-radius:6px;color:var(--bl-ink);font-size:.92rem;text-decoration:none}
	.blf-navmore__list a:hover{background:var(--bl-soft);color:var(--bl-navy);text-decoration:none}
}
/* In the mobile drawer: a plain list under the utility links. */
@media(max-width:900px){
	.blf-navsub{display:flex;flex-direction:column;align-items:stretch;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--bl-line);order:3}
	.blf-navsub a{display:block;padding:12px 10px;border-radius:8px;color:var(--bl-navy);font-size:1rem;font-weight:500}
	.blf-navsub a:hover{background:var(--bl-soft);text-decoration:none}
	.blf-nav.is-drilled .blf-navsub{display:none}
}
.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)}

/* Search — brand & category pane. One set of rules for the live dropdown's
   right column and the results page's right rail: both print the markup of
   blf_search_suggest_pane(). Deliberately quiet, the product list leads. */
.blf-sidesuggest{display:flex;flex-direction:column;gap:16px}
.blf-sidesuggest__group{min-width:0}
.blf-sidesuggest__title{margin:0 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bl-muted)}
.blf-sidesuggest__list{list-style:none;margin:0;padding:0}
.blf-sidesuggest__list li{margin:0}
.blf-sidesuggest__row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:var(--bl-navy);font-size:.88rem;font-weight:600;line-height:1.25}
.blf-sidesuggest__row:hover{background:#fff;color:var(--bl-blue);text-decoration:none}
.blf-sidesuggest__logo{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;overflow:hidden}
.blf-sidesuggest__logo img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-sidesuggest__name{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}
.blf-sidesuggest__count{flex:none;font-size:.74rem;font-weight:700;color:var(--bl-muted);background:var(--bl-soft);border-radius:999px;padding:1px 7px}
.blf-sidesuggest__row:hover .blf-sidesuggest__count{background:var(--bl-soft)}
/* Flat variant: the same lists as chip rows, used on the no-results page so
   they sit next to the "Böngéssz kategóriák között" chips as equals. */
.blf-sidesuggest--flat{gap:18px}
.blf-sidesuggest--flat .blf-sidesuggest__group{flex:0 0 auto}
.blf-sidesuggest--flat .blf-sidesuggest__title{text-align:center}
.blf-sidesuggest--flat .blf-sidesuggest__list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.blf-sidesuggest--flat .blf-sidesuggest__row{background:#fff;border:1px solid var(--bl-line);border-radius:999px;padding:7px 14px}
.blf-sidesuggest--flat .blf-sidesuggest__logo{display:none}
.blf-sidesuggest--flat .blf-sidesuggest__name{flex:0 1 auto;display:block;white-space:nowrap}

/* Live dropdown with the pane: the panel grows to the right rather than
   taking width away from the product rows. */
.blf-suggest--cols{right:auto;width:calc(100% + 236px);max-width:calc(100vw - 32px)}
.blf-suggest__cols{display:grid;grid-template-columns:minmax(0,1fr) 220px}
.blf-suggest__main{min-width:0}
.blf-suggest__side{border-left:1px solid var(--bl-line);background:var(--bl-soft);padding:12px}
.blf-suggest__side .blf-sidesuggest{gap:14px}
.blf-suggest__side .blf-sidesuggest__row{padding:5px 6px}
.blf-suggest__side .blf-sidesuggest__count{background:#fff}
.blf-suggest__note{padding:14px 16px 4px;margin:0;color:var(--bl-muted);font-size:.88rem}
.blf-suggest__note + .blf-sidesuggest{padding:4px 8px 12px}
@media(max-width:1024px){
	/* Narrow screens: the dropdown stays the width of the search box and the
	   pane drops out — the results page still offers it. */
	.blf-suggest--cols{right:0;width:auto;max-width:none}
	.blf-suggest__cols{display:block}
	.blf-suggest__side{display:none}
}

/* Results page: the rail beside the grid. Below 1025px it becomes a short
   strip above the products instead of a column. */
.blf-searchpage__layout{display:flex;flex-direction:column}
.blf-searchpage__main{min-width:0}
.blf-searchpage__side{border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff;padding:14px 14px 16px}
.blf-searchpage__layout.has-side .blf-searchpage__side{order:-1;margin-bottom:18px}
.blf-searchpage__layout.has-side .blf-sidesuggest{gap:10px}
/* In a column, a flex-basis would become a row height — keep the groups content-tall. */
.blf-searchpage__layout.has-side .blf-sidesuggest__group{flex:0 0 auto}
.blf-noresults__block--pane{max-width:860px}
@media(min-width:1025px){
	.blf-searchpage__layout.has-side{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;align-items:start}
	.blf-searchpage__layout.has-side .blf-searchpage__side{order:0;margin-bottom:0;position:sticky;top:24px}
	.blf-searchpage__layout.has-side .blf-sidesuggest{gap:16px}
	.blf-searchpage__layout.has-side .blf-grid--5{grid-template-columns:repeat(4,1fr)}
}
@media(min-width:1025px) and (max-width:1240px){
	.blf-searchpage__layout.has-side .blf-grid--5{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
	/* Above the grid the pane has to stay short, so the rows become chips —
	   six archives in two lines instead of six. */
	.blf-searchpage__layout.has-side .blf-searchpage__side{padding:12px 14px}
	.blf-searchpage__layout.has-side .blf-sidesuggest__title{margin-bottom:6px}
	.blf-searchpage__layout.has-side .blf-sidesuggest__list{display:flex;flex-wrap:wrap;gap:6px}
	.blf-searchpage__layout.has-side .blf-sidesuggest__row{background:#fff;border:1px solid var(--bl-line);border-radius:999px;padding:5px 12px}
	.blf-searchpage__layout.has-side .blf-sidesuggest__logo{display:none}
	.blf-searchpage__layout.has-side .blf-sidesuggest__name{flex:0 1 auto;display:block;max-width:60vw;white-space:nowrap;text-overflow:ellipsis}
}
.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)}
/* Selling unit under the price ("Egység: m²") — quiet, so it reads as a note on
   the price rather than competing with it. */
.blf-card__unit{display:block;margin:-6px 0 8px;font-size:.78rem;font-weight:600;color:var(--bl-muted)}
/* Pack size pill under the unit — same idiom as the product page's, smaller. */
.blf-card__box{display:flex;width:-webkit-fit-content;width:fit-content;align-items:center;gap:5px;margin:-2px 0 9px;padding:3px 9px 3px 7px;border-radius:999px;background:var(--bl-soft);border:1px solid var(--bl-line);font-size:.75rem;font-weight:700;color:var(--bl-navy);line-height:1.5}
.blf-card__box::before{content:"";flex:none;width:13px;height:13px;background: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E") no-repeat center/13px 13px}
.blf-card__box-label{color:var(--bl-muted);font-weight:600}
.blf-card__box-value{color:var(--bl-navy);font-weight:800}
.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}

/* ---- Front page — the „SZENTÍRÁS FŐOLDAL” brief (inc/home-content.php) ---- */
/* Trust bar: four points, inline icons in an orange disc. */
.blf-benefits--trust .blf-benefits__grid{grid-template-columns:repeat(4,1fr);padding-block:14px}
.blf-benefits--trust .blf-benefit__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff5ef;color:var(--bl-orange)}
.blf-benefits--trust .blf-benefit__icon svg{width:19px;height:19px}

/* Hero: a long, portfolio-wide H1 — smaller type, a wider copy column, and the
   height follows the copy instead of the 5/2 photo ratio. */
.blf-hero--home.blf-hero--bg{aspect-ratio:auto;min-height:520px}
.blf-hero--home.blf-hero--bg::before{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.35) 64%,rgba(255,255,255,0) 80%)}
.blf-hero--home.blf-hero--bg .blf-hero__copy{max-width:640px}
.blf-hero--home .blf-hero__title{font-size:clamp(1.9rem,3.6vw,2.85rem);line-height:1.12}
.blf-hero--home .blf-hero__accent{margin-top:.1em}
.blf-hero__sub{margin:16px 0 0;font-size:1.15rem;font-weight:700;color:var(--bl-navy)}
.blf-hero--home .blf-hero__lead{max-width:56ch;margin:10px 0 24px;font-size:1.02rem;color:#4b5563}
.blf-hero--home .blf-hero__note{margin-top:18px;color:var(--bl-muted);font-weight:600}

/* Proof row under the hero — navy, no heading. */
.blf-home-proof{background:var(--bl-navy);color:#dbe6f5}
.blf-home-proof__list{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding-block:18px}
.blf-home-proof__item{display:flex;align-items:center;gap:10px;font-size:.84rem;line-height:1.35;font-weight:600}
.blf-home-proof__icon{flex:none;display:flex;color:#ffb48a}
.blf-home-proof__icon svg{width:22px;height:22px}

/* Shared bits. */
/* Side gutter: the theme's .container has none (dropped site-wide in 215ff6d),
   so below ~1330px the front page's copy would touch the screen edge. The
   padding is added back onto max-width, so on wide screens the content box is
   still exactly 1280px and lines up with the header. */
.blf-home .container{padding-inline:clamp(16px,3vw,24px);max-width:calc(var(--bl-container) + 2 * clamp(16px,3vw,24px))}
.blf-home-head{max-width:780px;margin-bottom:28px}
.blf-home-head--row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.blf-home-lead{color:var(--bl-muted);font-size:1.02rem;margin:10px 0 0;max-width:68ch}
.blf-home-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.blf-home-textlink{font-weight:700;color:var(--bl-blue)}
.blf-home-chips{display:flex;flex-wrap:wrap;gap:6px}
.blf-home-chip{display:inline-block;padding:4px 11px;border:1px solid var(--bl-line);border-radius:999px;background:#fff;color:var(--bl-navy);font-size:.8rem;font-weight:600;line-height:1.5}
.blf-home-chip:hover{border-color:var(--bl-blue);color:var(--bl-blue);text-decoration:none}
@media(prefers-reduced-motion:no-preference){html:has(.blf-home-gates){scroll-behavior:smooth}}

/* Fő termékkapuk — four cards of equal weight. */
.blf-home-gates{scroll-margin-top:96px}
.blf-home-gates__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.blf-home-gate{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-home-gate:hover{box-shadow:var(--bl-shadow-lg);border-color:#d5dbe3}
.blf-home-gate__media{display:block;aspect-ratio:4/3;background:var(--bl-soft)}
.blf-home-gate__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px}
.blf-home-gate__body{display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;flex:1 1 auto}
.blf-home-gate__title{font-size:1.1rem;margin:0}
.blf-home-gate__title a{color:var(--bl-navy)}
.blf-home-gate__title a span{color:var(--bl-orange)}
.blf-home-gate__text{margin:0;color:var(--bl-muted);font-size:.9rem;line-height:1.5}
.blf-home-gate .blf-home-chips{margin-top:auto;padding-top:4px}
.blf-home-gates__help{margin:22px 0 0;color:var(--bl-muted);font-size:.95rem}

/* Solution blocks (template-parts/home/solutions.php). */
.blf-home-sol--soft{background:var(--bl-soft);border-block:1px solid var(--bl-line)}
.blf-home-sol--navy{background:linear-gradient(135deg,var(--bl-navy) 0%,#123f7a 100%)}
.blf-home-sol--navy .blf-section__title{color:#fff}
.blf-home-sol--navy .blf-home-lead{color:#c9d7ea}
.blf-home-sol__cards{display:grid;gap:16px}
.blf-home-sol--grid .blf-home-sol__intro{max-width:780px;margin-bottom:28px}
.blf-home-sol--grid .blf-home-sol__cards{grid-template-columns:repeat(4,1fr)}
.blf-home-sol--grid.blf-home-sol--n5 .blf-home-sol__cards{grid-template-columns:repeat(5,1fr)}
.blf-home-sol--split .blf-home-sol__inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:48px;align-items:start}
.blf-home-sol--split .blf-home-sol__intro{position:sticky;top:110px}
.blf-home-sol--split .blf-home-sol__cards{grid-template-columns:repeat(2,1fr)}
.blf-home-sol--split.blf-home-sol--n5 .blf-home-card:last-child{grid-column:1 / -1}
.blf-home-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px}
.blf-home-card--media{padding-top:0;overflow:hidden}
.blf-home-card__media{display:block;aspect-ratio:4/3;margin:0 -18px 6px;background:var(--bl-soft)}
.blf-home-card__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:10px}
.blf-home-card__title{font-size:1rem;margin:0}
.blf-home-card__title a{color:var(--bl-navy)}
.blf-home-card__text{margin:0;color:var(--bl-muted);font-size:.88rem;line-height:1.5}
.blf-home-card .blf-home-chips{margin-top:4px}
.blf-home-card__cta{margin-top:auto;padding-top:6px;font-weight:700;font-size:.9rem;color:var(--bl-orange)}
.blf-home-sol--navy .blf-home-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.blf-home-sol--navy .blf-home-card__title{color:#fff}
.blf-home-sol--navy .blf-home-card__text{color:#b7c7dd}
.blf-home-sol--navy .blf-home-card__cta{color:#ffb48a}
.blf-home-sol--navy .blf-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.blf-home-sol--navy .blf-btn--outline:hover{border-color:#fff;color:#fff}

/* Gyakran választott — mixed product row. */
.blf-home-featured{background:var(--bl-soft);border-block:1px solid var(--bl-line)}

/* Támogatás — intro + four numbered steps. */
.blf-home-support{background:var(--bl-soft);border-top:1px solid var(--bl-line)}
.blf-home-support__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:48px;align-items:center}
.blf-home-support__intro .blf-btn{margin-top:24px}
.blf-home-support__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0;padding:0;list-style:none}
.blf-home-support__step{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:18px}
.blf-home-support__n{flex:none;font-weight:800;color:var(--bl-blue);font-size:1.05rem;line-height:1.4}
.blf-home-support__text{font-size:.92rem;line-height:1.5}

/* GYIK — printed open, two columns. */
.blf-home-faq__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 32px}
.blf-home-faq__item{border-top:2px solid var(--bl-line);padding-top:16px}
.blf-home-faq__q{font-size:1.02rem;margin:0 0 6px}
.blf-home-faq__a{margin:0;color:#4b5563;font-size:.93rem;line-height:1.6}

/* Záró CTA — a warm light band, so it does not merge into the dark footer. */
.blf-home-close{background:linear-gradient(180deg,#fff 0%,#fff4ec 100%);border-top:1px solid var(--bl-line);padding-block:64px;text-align:center}
.blf-home-close__inner{max-width:820px}
.blf-home-close__title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin:0}
.blf-home-close__lead{margin:14px auto 0;max-width:62ch;color:#4b5563;font-size:1.02rem}
.blf-home-close .blf-home-ctas{justify-content:center}
.blf-home-close__note{margin:16px 0 0;font-size:.85rem;color:var(--bl-muted)}

/* --- Aktuális — képes csempesor gombbal a kép alatt -------------------------
   A kaiserkraft „Aktuális” sávjának bestlabos változata. A csempe kép (vagy
   színes tábla) + teljes szélességű gomb; az oszlopszám a szakasz beállítása
   (--c2 … --c5), és a töréspontok szűkítik. A sáv keretet kap, hogy a főoldal
   többi blokkjától elváljon, ahogy a mintán is. */
.blf-home-actual{padding-block:56px}
.blf-home-actual--soft{background:var(--bl-soft)}
.blf-home-actual--navy{background:var(--bl-navy)}
.blf-home-actual--navy .blf-section__title,
.blf-home-actual--navy .blf-home-actual__caption{color:#fff}
.blf-home-actual--navy .blf-home-lead{color:#c9d7ea}
.blf-home-actual__box{border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:28px 24px 30px}
.blf-home-actual--navy .blf-home-actual__box{border-color:rgba(255,255,255,.18)}
.blf-home-actual__head{margin:0 0 24px}
.blf-home-actual--center .blf-home-actual__head{text-align:center}
.blf-home-actual--center .blf-home-lead{margin-inline:auto}
.blf-home-actual__grid{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}
.blf-home-actual--c2 .blf-home-actual__grid{grid-template-columns:repeat(2,1fr)}
.blf-home-actual--c3 .blf-home-actual__grid{grid-template-columns:repeat(3,1fr)}
.blf-home-actual--c5 .blf-home-actual__grid{grid-template-columns:repeat(5,1fr)}
.blf-home-actual__tile{display:flex;flex-direction:column;gap:12px}
.blf-home-actual__media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:6px;background:var(--bl-soft)}
.blf-home-actual__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.blf-home-actual__media:hover img{transform:scale(1.03)}
.blf-home-actual__media--plate{display:flex;align-items:center;justify-content:center;background:var(--bl-orange)}
.blf-home-actual__plate{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;color:#fff;line-height:1}
.blf-home-actual__caption{margin:0;color:var(--bl-muted);font-size:.9rem}
.blf-home-actual__btn{margin-top:auto;display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.7em 1em;border-radius:6px;background:var(--bl-orange);color:#fff;font-weight:700;font-size:.95rem;line-height:1.25;transition:background .15s}
.blf-home-actual__btn:hover{background:var(--bl-orange-d);text-decoration:none;color:#fff}
.blf-home-actual__btn--plain{background:var(--bl-soft);color:var(--bl-navy);cursor:default}
.blf-home-actual--navy .blf-home-actual__btn--plain{background:rgba(255,255,255,.12);color:#fff}

/* --- Termékbemutató — nagy kép az egyik, szöveg a másik oldalon -------------
   A Referencia sávval azonos kétoszlopos váz, de a képkeret termékfotóra van
   szabva: `contain`, halvány alapon, belső margóval, hogy a kivágott termék
   egészben látsszon. Az „életkép” kapcsoló (`--cover`) teszi kitöltővé. A
   szöveg függőlegesen középre kerül a kép mellett, mert itt nincs annyi sor,
   mint egy idézetnél. */
.blf-home-show{padding-block:56px}
.blf-home-show--soft{background:var(--bl-soft)}
.blf-home-show--navy{background:var(--bl-navy)}
.blf-home-show--navy .blf-section__title,
.blf-home-show--navy .blf-home-show__title{color:#fff}
.blf-home-show--navy .blf-home-lead,
.blf-home-show--navy .blf-home-show__text{color:#c9d7ea}
.blf-home-show--navy .blf-home-show__media{background:rgba(255,255,255,.06)}
.blf-home-show__item{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px 52px;align-items:center}
.blf-home-show__item + .blf-home-show__item{margin-top:48px;padding-top:48px;border-top:1px solid var(--bl-line)}
.blf-home-show--navy .blf-home-show__item + .blf-home-show__item{border-top-color:rgba(255,255,255,.18)}
.blf-home-show__item--flip .blf-home-show__media{order:2}
/* Egészben mutatott képnél a keret a képhez igazodik (csak a magasság van
   fogva), különben egy fekvő fotó alatt-fölött üres sáv maradna; a kitöltő
   változat az, ami fix arányt tart. */
.blf-home-show__media{margin:0;border-radius:var(--bl-radius);background:var(--bl-soft);overflow:hidden;
	display:flex;align-items:center;justify-content:center;min-height:200px;padding:28px}
.blf-home-show--soft .blf-home-show__media{background:#fff}
.blf-home-show__media img{display:block;max-width:100%;max-height:440px;width:auto;height:auto;object-fit:contain}
.blf-home-show__media--cover{padding:0;aspect-ratio:4/3}
.blf-home-show__media--cover img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.blf-home-show__eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-orange)}
.blf-home-show__title{margin:0;font-size:clamp(1.25rem,2.3vw,1.85rem);font-weight:800;line-height:1.2}
.blf-home-show__text{margin:14px 0 0;color:var(--bl-muted);font-size:1rem;line-height:1.6}
.blf-home-show__body .blf-home-ctas{margin-top:24px}

/* --- Referencia — ügyfélidézet fotóval --------------------------------------
   Kétoszlopos: fotó az egyik, idézet + gombok a másik oldalon. Egy szakaszban
   több referencia is állhat egymás alatt, és csempénként megfordítható, hogy a
   lista cikcakkban fusson. A macskakörmöket a ::before/::after teszi ki, ezért
   nem kell beírni őket — így minden idézet egyformán van írásjelezve. */
.blf-home-ref{padding-block:56px}
.blf-home-ref--soft{background:var(--bl-soft)}
.blf-home-ref--navy{background:var(--bl-navy)}
.blf-home-ref--navy .blf-section__title,
.blf-home-ref--navy .blf-home-ref__quote{color:#fff}
.blf-home-ref--navy .blf-home-lead,
.blf-home-ref--navy .blf-home-ref__author{color:#c9d7ea}
.blf-home-ref--navy .blf-home-ref__text{color:#e8eef7}
.blf-home-ref__item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 44px;align-items:start}
.blf-home-ref__item + .blf-home-ref__item{margin-top:44px;padding-top:44px;border-top:1px solid var(--bl-line)}
.blf-home-ref--navy .blf-home-ref__item + .blf-home-ref__item{border-top-color:rgba(255,255,255,.18)}
.blf-home-ref__item--flip .blf-home-ref__media{order:2}
.blf-home-ref__media{margin:0;border-radius:var(--bl-radius);overflow:hidden;background:var(--bl-soft)}
.blf-home-ref__media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.blf-home-ref__body{display:flex;flex-direction:column;align-items:stretch}
.blf-home-ref__quote{margin:0;font-size:clamp(1.05rem,1.7vw,1.4rem);font-weight:700;line-height:1.35;color:var(--bl-navy)}
.blf-home-ref__quote::before{content:"\201E"}
.blf-home-ref__quote::after{content:"\201D"}
.blf-home-ref__author{margin:14px 0 0;font-size:.9rem;color:var(--bl-muted)}
.blf-home-ref__text{margin:20px 0 0;font-size:.95rem;font-weight:600;line-height:1.55}
.blf-home-ref__btns{display:flex;flex-direction:column;gap:10px;margin-top:26px}

/* --- Egyedi HTML szakasz ---------------------------------------------------- */
.blf-home-html--soft{background:var(--bl-soft)}
.blf-home-html--navy{background:var(--bl-navy);color:#fff}
.blf-home-html--navy .blf-section__title{color:#fff}

@media(max-width:1080px){
	.blf-home-proof__list{grid-template-columns:repeat(3,1fr)}
	.blf-home-gates__grid{grid-template-columns:repeat(2,1fr)}
	.blf-home-sol--grid.blf-home-sol--n5 .blf-home-sol__cards{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
	.blf-home-sol--grid .blf-home-sol__cards,
	.blf-home-sol--grid.blf-home-sol--n5 .blf-home-sol__cards{grid-template-columns:repeat(2,1fr)}
	.blf-home-sol--split .blf-home-sol__inner{grid-template-columns:1fr;gap:24px}
	.blf-home-sol--split .blf-home-sol__intro{position:static}
	.blf-home-support__inner{grid-template-columns:1fr;gap:28px}
	.blf-home-featured .blf-grid--4{grid-template-columns:repeat(2,1fr)}
	.blf-home-actual__grid,
	.blf-home-actual--c3 .blf-home-actual__grid,
	.blf-home-actual--c5 .blf-home-actual__grid{grid-template-columns:repeat(2,1fr)}
	.blf-home-ref__item{grid-template-columns:1fr;gap:20px}
	.blf-home-ref__item--flip .blf-home-ref__media{order:0}
	.blf-home-ref__media img{aspect-ratio:16/9}
	.blf-home-show__item{grid-template-columns:1fr;gap:20px}
	.blf-home-show__item--flip .blf-home-show__media{order:0}
	.blf-home-show__media{padding:18px;min-height:0}
	.blf-home-show__media--cover{aspect-ratio:16/9}
	.blf-home-show__media img{max-height:320px}
}
@media(max-width:640px){
	/* Trust bar and proof row: swipeable, two points at a time. */
	.blf-benefits--trust .blf-benefits__grid,
	.blf-home-proof__list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-inline:16px;scrollbar-width:none}
	.blf-benefits--trust .blf-benefits__grid::-webkit-scrollbar,
	.blf-home-proof__list::-webkit-scrollbar{display:none}
	.blf-benefits--trust .blf-benefit,
	.blf-home-proof__item{flex:0 0 calc(50% - 8px);scroll-snap-align:start}
	.blf-benefits--trust .blf-benefit__title{font-size:.72rem}
	.blf-hero--home.blf-hero--bg{min-height:0}
	/* All four gates within a short scroll: 2×2, photo + title only. */
	.blf-home-gates__grid{gap:12px}
	.blf-home-gate__body{padding:12px;gap:6px}
	.blf-home-gate__title{font-size:.95rem}
	.blf-home-gate__text,.blf-home-gate .blf-home-chips{display:none}
	.blf-home-gate__media img{padding:8px}
	.blf-home-sol--grid .blf-home-sol__cards{gap:12px}
	.blf-home-sol--split .blf-home-sol__cards{grid-template-columns:1fr}
	.blf-home-sol--split.blf-home-sol--n5 .blf-home-card:last-child{grid-column:auto}
	.blf-home-card{padding:14px}
	.blf-home-card__media{margin:0 -14px 4px}
	.blf-home-support__steps{grid-template-columns:1fr}
	.blf-home-faq__grid{grid-template-columns:1fr}
	.blf-home-ctas .blf-btn{flex:1 1 auto;justify-content:center}
	.blf-home-close{padding-block:48px}
	.blf-home-actual{padding-block:36px}
	.blf-home-actual__box{padding:18px 14px 20px;border-radius:8px}
	.blf-home-actual__grid{gap:12px}
	.blf-home-actual__btn{min-height:42px;font-size:.85rem;padding:.6em .7em}
	.blf-home-ref{padding-block:36px}
	.blf-home-ref__item + .blf-home-ref__item{margin-top:28px;padding-top:28px}
	.blf-home-show{padding-block:36px}
	.blf-home-show__item + .blf-home-show__item{margin-top:28px;padding-top:28px}
}
@media(max-width:460px){
	.blf-home-sol--grid .blf-home-sol__cards,
	.blf-home-sol--grid.blf-home-sol--n5 .blf-home-sol__cards{grid-template-columns:1fr 1fr}
}

/* ---- 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 */
/* ---- Drawer settings (Megjelenés → Menü → Mobil és tablet menü) ---------
   inc/menu-mobile.php puts `blf-mnav-*` classes on <body> and, when a width is
   set, `--blf-mnav-w` on :root — the 380px fallback below is the default, so
   the two move together. The drawer's head (title + close) is nav.php's and
   is the only close button while the drawer is open: the header's toggle
   would sit on top of a left-hand drawer, and beside a right-hand one. The
   nav is a column so the settings can put the categories (`.blf-mega`) first;
   flex-shrink is off or a long drawer would squash its parts instead of
   scrolling. Qualified with .blf-header to beat the menu stylesheets' own
   `.blf-nav{display:block}`, which load after this file. */
.blf-nav__head{display:none}
@media(max-width:900px){
	.blf-header .blf-nav{display:flex;flex-direction:column;width:min(var(--blf-mnav-w,380px),86vw);padding-top:0;overscroll-behavior:contain}
	.blf-header .blf-nav > *{flex-shrink:0}
	.blf-nav__head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:3;order:-2;min-height:60px;margin:0 -14px 8px;padding:8px 8px 8px 24px;background:#fff;border-bottom:1px solid var(--bl-line)}
	.blf-nav__title{color:var(--bl-navy);font-size:1.05rem;font-weight:700}
	.blf-nav__close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:none;color:var(--bl-navy);cursor:pointer}
	.blf-nav__close:hover{background:var(--bl-soft)}
	.blf-nav__close:focus-visible{outline:2px solid var(--bl-blue);outline-offset:-2px}
	body.blf-nav-lock .blf-header .blf-nav-toggle{visibility:hidden}

	/* Categories first. */
	.blf-mnav-cats .blf-header .blf-nav > .blf-mega{order:-1}
	/* Links first: the utility list opens the drawer under its head, so the
	   rule above it has nothing to separate. */
	body:not(.blf-mnav-cats) .blf-nav__row > .blf-menu--util{margin-top:0;padding-top:0;border-top:0}
	body.blf-mnav-no-util:not(.blf-mnav-cats) .blf-nav__row > .blf-navsub{margin-top:0;padding-top:0;border-top:0}

	/* Parts switched off. */
	.blf-mnav-no-util .blf-nav .blf-menu--util,
	.blf-mnav-no-sub .blf-nav .blf-navsub,
	.blf-mnav-no-promo .blf-nav .blf-mega__promo,
	.blf-mnav-no-tools .blf-nav .blf-mega__tools,
	.blf-mnav-no-extras .blf-nav .blf-nav__extra{display:none}

	/* From the left: the hamburger's own side. */
	.blf-mnav-left .blf-nav{left:0;right:auto;transform:translateX(-100%);box-shadow:14px 0 44px rgba(11,44,90,.20)}
	.blf-mnav-left .blf-nav.is-open{transform:translateX(0)}
}
@media(max-width:640px){
	.blf-mnav-full .blf-header .blf-nav{width:100vw}
}
/* The header's own gutter. `.container` has had no padding since 2026-08-23
   (the content sections bring their own), so below the container's width the
   hamburger, the logo, the search and the cart sat on the screen's edge — and
   the nav row's utility list, pulled out by its -10px margin, made the page
   10px wider than a tablet, which a tablet browser answers by zooming out.
   The drawer has padding of its own, so the nav row inside it takes none. */
@media(max-width:1320px){
	.blf-header .container{padding-inline:var(--bl-gutter)}
}
@media(max-width:900px){
	.blf-header .blf-nav .container{padding-inline:0}
}
@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}

/* Galéria — új design: a bélyegképek a főkép ALATT, vízszintes, tördelő sorban
   (Bestlab Suite → Options → Termékgaléria). Csak asztali szélességen: 900 px
   alatt a PDP amúgy is egyoszlopos, ott mindkét design a régi, oldalsó sávot
   kapja. A bélyegkép oldalhossza a `--blf-gal-thumb` custom property, amit a
   renderer ír a doboz style attribútumába — az itteni fallback az alapérték,
   szóval a kettő együtt mozog. A thumbs sáv kikerül az abszolút pozícióból, így
   a rács második sorába esik, a főkép pedig az elsőbe, teljes szélességben. */
@media(min-width:901px){
	.blf-gallery--below{grid-template-columns:1fr;gap:14px}
	.blf-gallery.blf-gallery--below .blf-gallery__stage{grid-column:1;grid-row:1}
	.blf-gallery--below .blf-gallery__thumbs{position:static;grid-column:1;grid-row:2;width:auto;flex-direction:row;flex-wrap:wrap;gap:10px;overflow:visible}
	.blf-gallery--below .blf-gallery__thumb{width:var(--blf-gal-thumb,84px)}
}

/* ---- Veszélyforrás / Iparágak a galéria alatt ---------------------------
   Ugyanaz a csempekészlet, mint a kesztyűkereső sáv lenyílójában (a markupot
   blf_pdp_finder_tiles() rendereli), és ugyanazok a színek: a `--blf-fb-*`
   színváltozókat a blokk style attribútuma hozza a sáv optionjéből, a
   fallback pedig a sáv alapértéke (SHOWA zöld karika, sötét korong). A
   méretek maradnak itt — a terméklapon kisebb csempe kell. */
.blf-pdp__finder{margin-top:22px;padding-top:18px;border-top:1px solid var(--bl-line);display:flex;flex-direction:column;gap:16px}
.blf-pdp__finder-title{margin:0 0 12px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-muted)}
.blf-inds{display:flex;flex-wrap:wrap;gap:14px 10px;margin:0;padding:0;list-style:none}
.blf-inds__item{flex:0 0 auto;width:88px}
.blf-ind{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;text-decoration:none}
.blf-ind__ico{width:52px;height:52px;border-radius:50%;background:var(--blf-fb-ring-bg,#8FC547);border:1px solid #fff;display:flex;align-items:center;justify-content:center;transition:background .25s}
.blf-ind__disc{width:44px;height:44px;border-radius:50%;background:var(--blf-fb-disc-bg,#212020);border:1px solid #fff;color:var(--blf-fb-icon,#fff);display:flex;align-items:center;justify-content:center}
.blf-ind__name{font-size:12px;line-height:1.25;color:var(--blf-fb-name,#545555);transition:color .2s}
a.blf-ind:hover .blf-ind__ico{background:var(--blf-fb-ring-hover,#77AB34)}
a.blf-ind:hover .blf-ind__name{color:var(--blf-fb-name-hover,#212020)}
a.blf-ind:focus-visible{outline:2px solid var(--bl-blue);outline-offset:3px;border-radius:8px}
span.blf-ind{opacity:.62}

/* Lightbox (carousel) */
/* Opened as a modal <dialog> (main.js), so it renders in the browser's top
   layer and covers the sticky header -- .blf-header is z-index:9000 and used
   to paint over the scrim, clipping the top of a tall product image. The
   z-index and the header demotion below only matter on the no-<dialog>
   fallback path. The dialog UA defaults (margin, max-width/height, border,
   background) all have to be reset. */
.blf-lightbox{position:fixed;inset:0;z-index:9500;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:32px;background:rgba(6,18,38,.88);color:#fff;display:flex;align-items:center;justify-content:center;overflow-y:auto;overscroll-behavior:contain}
.blf-lightbox:not([open]){display:none}
.blf-lightbox::backdrop{background:rgba(6,18,38,.88)}
body.blf-lightbox-open .blf-header{z-index:1}
/* Leave room for the caption so image + felirat always fit the viewport. */
.blf-lightbox img{max-width:92vw;max-height:min(70vh,calc(100vh - 220px));min-height:0;object-fit:contain;border-radius:8px}
.blf-lightbox__close{position:fixed;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:auto;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:fixed;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__excerpt ul,.blf-pdp__excerpt ol{margin:0 0 .6em;padding-left:1.3em}
.blf-pdp__excerpt ul{list-style:disc}
.blf-pdp__excerpt ol{list-style:decimal}
.blf-pdp__excerpt li{margin:0 0 .2em}
.blf-pdp__excerpt li::marker{color:var(--bl-orange)}
.blf-pdp__usp{color:var(--bl-ink)}
.blf-pdp__usp ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.blf-pdp__usp li{position:relative;padding-left:26px;line-height:1.45;overflow-wrap:anywhere}
.blf-pdp__usp li::before{content:"";position:absolute;left:2px;top:.3em;width:14px;height:8px;border-left:2.5px solid var(--bl-orange);border-bottom:2.5px solid var(--bl-orange);transform:rotate(-45deg)}

.blf-pdp__meta{display:flex;flex-wrap:wrap;gap:14px 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-stock.is-ext{color:var(--bl-navy)}
.blf-stock.is-ext .blf-stock__dot{background:#d97706}

.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}
/* Selling unit right after the suffix — "4 180 Ft NETTÓ / pár". Same scale as
   the suffix so the two read as one qualifier, but never uppercased: a unit is
   a symbol ("m²", "db"), and shouting it changes what it says. */
.blf-pdp__price-unit{display:inline;margin-left:.15em;font-size:.5em;font-weight:700;color:var(--bl-muted);vertical-align:middle;white-space:nowrap}
/* Pack size — a soft pill under the price, box icon + caption + the number in
   navy. Rendered after .blf-pdp__price (not inside it) so it hugs its own text;
   on a variable product main.js swaps the number per variation. */
.blf-pdp__boxqty{display:flex;width:-webkit-fit-content;width:fit-content;align-items:center;gap:8px;margin:10px 0 20px;padding:6px 14px 6px 11px;border:1px solid var(--bl-line);border-radius:999px;background:var(--bl-soft);font-size:.82rem;line-height:1.5;white-space:nowrap}
.blf-pdp__boxqty[hidden]{display:none}
.blf-pdp__boxqty::before{content:"";flex:none;width:16px;height:16px;background: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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E") no-repeat center/16px 16px}
.blf-pdp__boxqty-label{color:var(--bl-muted);font-weight:600}
.blf-pdp__boxqty-value{color:var(--bl-navy);font-weight:800;font-size:.92rem}
/* Second half of the pill: what one piece inside the box costs, behind a hairline
   divider. Hidden on its own while a variable product still shows a range. */
.blf-pdp__boxqty-part{display:flex;align-items:center;gap:8px}
.blf-pdp__boxqty-part[hidden]{display:none}
.blf-pdp__boxqty-part::before{content:"";flex:none;width:1px;height:15px;background:var(--bl-line)}
@media(max-width:560px){
	.blf-pdp__boxqty{flex-wrap:wrap;row-gap:4px}
	.blf-pdp__boxqty-part::before{display:none}
}

/* 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;display:inline-flex;align-items:center}
/* Selling unit chip next to the quantity box (ProductUnits module: the
   product's "értékesítési egység"). Inside .blf-qty the order keeps it past
   the "+" button that JS appends after it; in a plain .quantity wrapper (cart)
   it simply follows the input. */
.blf-qty-unit{display:inline-flex;align-items:center;align-self:stretch;order:2;padding:0 10px;font-size:.9rem;font-weight:700;color:var(--bl-navy);white-space:nowrap;pointer-events:none;vertical-align:middle}
.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}
/* …except the ones the admin set to „Legördülő” (Megjelenítés típusa, on the
   attribute or on the product): those keep WooCommerce's own list, which is the
   readable choice for a long value list. The option engine marks them and skips
   the chips (unified-product-options.js, _isPlainSelectAttr). */
.blf-pdp__buy form.variations_form .variations select.blupo-plain-select{
	display:block!important;width:100%;max-width:340px;margin:0 0 4px;
	padding:12px 40px 12px 14px;
	border:1px solid var(--bl-line);border-radius:10px;background-color:#fff;
	font-size:.95rem;font-weight:600;color:var(--bl-navy);line-height:1.2;
	cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' viewBox='0 0 24 24' stroke='%230B2C5A'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.blf-pdp__buy form.variations_form .variations select.blupo-plain-select:hover{border-color:var(--bl-navy)}
.blf-pdp__buy form.variations_form .variations select.blupo-plain-select:focus{outline:none;border-color:var(--bl-blue);box-shadow:0 0 0 3px rgba(24,88,168,.15)}
.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.
   A value without a colour stays a text chip; centring keeps it level with the wells. */
.blf-pdp__buy .blupo-swatches-wrapper.blf-swatch-colors{gap:12px;align-items:center}
.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;align-items:center}
.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}
/* „Nevek a színek / képek alatt”: the value's name under each well / tile.
   The caption hangs below the swatch (absolute, so the swatch keeps its size and
   ring); the side margins make room for a 76px-wide caption between neighbours. */
.blf-pdp__buy .blupo-swatches-wrapper.blf-swatch-named{row-gap:14px;align-items:flex-start}
.blf-pdp__buy .blf-swatch-named .blupo-swatch.blf-swatch--color,
.blf-pdp__buy .blf-swatch-named .blupo-swatch.blf-swatch--image{margin:0 0 34px}
.blf-pdp__buy .blf-swatch-named .blupo-swatch.blf-swatch--color{margin-inline:19px}
.blf-pdp__buy .blf-swatch-named .blupo-swatch.blf-swatch--image{margin-inline:14px}
.blf-pdp__buy .blf-swatch-named .blf-swatch__name{position:absolute;top:calc(100% + 6px);left:50%;width:76px;transform:translateX(-50%);font-size:.75rem;line-height:1.2;font-weight:500;color:var(--bl-muted);text-align:center;overflow-wrap:anywhere;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blf-pdp__buy .blf-swatch-named .blupo-swatch-active .blf-swatch__name{color:var(--bl-navy);font-weight:700}

/* ============================================================
   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: label · anything injected after it (e.g. an info sign) · chevron.
   The label must not grow, or an injected sign is pushed to the far right; the
   chevron keeps itself on the right with its own auto margin. */
/* !important: the plugin's `.blupo-default-options .variations th` sets
   display:block !important, which collapsed the header and left the chevron an
   inline span with no width — a bare "|" after the label. */
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label{
	display:flex !important;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:0 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)}

/* One centre line for everything in the header — the name, the chevron and anything
   injected after the label (the info sign), whatever height it is set to. */
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label > *{align-self:center}
.blf-pdp__buy form.variations_form .variations tr.blupo-acc-row > .label .blf-infosign-wrap{margin:0;line-height:0}

/* Chevron: solid, clearly visible caret that rotates between states. */
.blf-pdp__buy form.variations_form .blupo-acc-chevron{
	display:inline-block;box-sizing:content-box;
	flex:0 0 auto;margin:0 4px 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-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 .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-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:10px;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 .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 .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. */
/* „Választható extrák”: the Extras module's box as one signed group. Empty while
   the box is in the sticky bar's popup. */
.blf-pdp__extras{display:flex;flex-direction:column;gap:10px;margin:20px 0}
.blf-pdp__extras:not(:has(.bestlab-extras)){display:none}
.blf-pdp__extras-title{margin:0;color:var(--bl-navy);font-size:1rem;font-weight:800;line-height:1.3}
.blf-pdp__extras div.bestlab-extras{margin:0}
.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}

/* Sticky buy bar (Options → Termék → „Vásárlási sáv” = bar). main.js shows it
   and adds .has-buybar to the buy box and the body: the box's own total,
   quantity and cart button step aside (they stay in the DOM — the bar relays to
   them), and the Extrák box moves into the bar's popup. */
.blf-buybar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--bl-line);box-shadow:0 -12px 32px rgba(11,44,90,.14);padding-bottom:env(safe-area-inset-bottom,0);transform:translateY(110%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.blf-buybar[hidden]{display:none}
.blf-buybar.is-in{transform:none}
.blf-buybar::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:linear-gradient(90deg,var(--bl-navy),var(--bl-blue) 55%,var(--bl-orange))}
.blf-buybar__inner{display:flex;align-items:center;gap:18px;min-height:78px;padding-top:10px;padding-bottom:10px}
.blf-buybar__prod{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}
.blf-buybar__thumb{flex:none;width:54px;height:54px;border-radius:10px;border:1px solid var(--bl-line);background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blf-buybar__thumb img{width:100%;height:100%;object-fit:contain;margin:0}
.blf-buybar__meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.blf-buybar__name{font-weight:700;font-size:.95rem;line-height:1.25;color:var(--bl-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blf-buybar__price{font-size:.84rem;font-weight:600;color:var(--bl-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blf-buybar__price:empty{display:none}
.blf-buybar__price del{opacity:.65;margin-right:4px}
.blf-buybar__price ins{text-decoration:none}
.blf-buybar__price *{display:inline}
.blf-buybar__price br{display:none}
.blf-buybar__price .bl-price-suffix,.blf-buybar__price .blf-pdp__price-unit{margin-left:.35em;font-size:.9em;font-weight:600;text-transform:none;letter-spacing:0;vertical-align:baseline}
.blf-buybar__extras{flex:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px;border:1.5px dashed rgba(24,88,168,.45);border-radius:10px;background:linear-gradient(135deg,#f4f8fd 0%,#fbf7f3 100%);color:var(--bl-blue);font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.blf-buybar__extras:hover{border-style:solid;border-color:var(--bl-blue);background:#fff;transform:translateY(-1px)}
.blf-buybar__count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--bl-orange);color:#fff;font-size:.72rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.blf-buybar__count[hidden]{display:none}
.blf-buybar__buy{flex:none;display:flex;align-items:center;gap:14px;margin-left:auto}
.blf-buybar__total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.1}
.blf-buybar__total[hidden]{display:none}
.blf-buybar__total-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-muted)}
.blf-buybar__total-value{font-size:1.35rem;font-weight:800;color:var(--bl-navy);white-space:nowrap}
.blf-buybar__total-value .blf-pdp__total-tag{font-size:.75rem;font-weight:600;color:var(--bl-muted);margin-left:4px}
.blf-buybar__qty{display:inline-flex;align-items:stretch;height:46px;border:1px solid var(--bl-line);border-radius:10px;overflow:hidden;background:#fff}
.blf-buybar__step{width:38px;border:0;background:#fff;color:var(--bl-navy);font-size:1.2rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.blf-buybar__step:hover{background:var(--bl-soft);color:var(--bl-blue)}
.blf-buybar__input{width:50px;margin:0;padding:0;border:0;border-left:1px solid var(--bl-line);border-right:1px solid var(--bl-line);background:#fff;text-align:center;font:inherit;font-weight:700;font-size:1rem;color:var(--bl-navy);-moz-appearance:textfield}
.blf-buybar__input::-webkit-outer-spin-button,.blf-buybar__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.blf-buybar__unit{display:flex;align-items:center;padding:0 8px;border-right:1px solid var(--bl-line);font-size:.82rem;font-weight:700;color:var(--bl-navy);white-space:nowrap}
.blf-buybar__unit[hidden]{display:none}
.blf-buybar__cart{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;white-space:nowrap;box-shadow:0 8px 18px rgba(232,85,13,.28)}
.blf-buybar__cart.is-pending{background:var(--bl-navy);border-color:var(--bl-navy);box-shadow:0 8px 18px rgba(11,44,90,.22)}
.blf-pdp__buy.has-buybar:not([data-blf-buy-inline]) .blf-pdp__total,
.blf-pdp__buy.has-buybar:not([data-blf-buy-inline]) .blupo-actions-section,
.blf-pdp__buy.has-buybar:not([data-blf-buy-inline]) .blf-buyrow,
.blf-pdp__buy.has-buybar:not([data-blf-buy-inline]) form.variations_form .woocommerce-variation-add-to-cart{display:none!important}
/* „Ragadós sáv és a vásárlási blokkban is”: quantity and cart stay in the box,
   its total only from two pieces up. */
.blf-pdp__buy[data-blf-buy-inline] .blf-pdp__total.is-single{display:none}
.blf-pdp__buy.is-flash form.variations_form,.blf-pdp__buy.is-flash:not(:has(form.variations_form)){animation:blf-buybar-flash 1.4s ease}
@keyframes blf-buybar-flash{0%,100%{box-shadow:0 0 0 0 rgba(232,85,13,0)}25%,60%{box-shadow:0 0 0 4px rgba(232,85,13,.35)}}
body.has-buybar{padding-bottom:84px}
body.has-buybar .blf-totop{bottom:100px}

/* The bar's „Extrák” popup: the product on a navy band, then the Extrák box.
   Above the sticky header (9000), which would otherwise cover its top. */
.blf-modal.blf-buybar-modal{z-index:9600}
.blf-modal__box.blf-buybar-modal__box{width:min(760px,100%);max-height:min(88vh,860px);padding:0;display:flex;flex-direction:column;overflow:hidden}
.blf-buybar-modal .blf-modal__close{z-index:2;color:#fff}
.blf-buybar-modal .blf-modal__close:hover{background:rgba(255,255,255,.16);color:#fff}
.blf-buybar-modal__prod{flex:none;display:flex;align-items:center;gap:16px;padding:22px 64px 20px 24px;background:linear-gradient(120deg,var(--bl-navy) 0%,var(--bl-blue) 100%);color:#fff}
.blf-buybar-modal__thumb{width:68px;height:68px;border-color:rgba(255,255,255,.25)}
.blf-buybar-modal__eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.blf-buybar-modal__name{font-size:1.05rem;font-weight:800;line-height:1.3}
.blf-buybar-modal__prod .blf-buybar__price,.blf-buybar-modal__prod .blf-buybar__price *{color:rgba(255,255,255,.88)}
.blf-modal__title.blf-buybar-modal__title{flex:none;margin:20px 24px 2px;font-size:1.2rem}
.blf-buybar-modal__extras{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 24px 10px;overscroll-behavior:contain}
.blf-buybar-modal__extras div.bestlab-extras{margin:10px 0}
.blf-buybar-modal__extras .bestlab-extras__name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.blf-buybar-modal__foot{flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 24px;border-top:1px solid var(--bl-line);background:var(--bl-soft)}
.blf-buybar-modal__foot .blf-btn{height:46px;display:inline-flex;align-items:center;gap:8px}
@media(max-width:900px){
	.blf-buybar__prod{display:none}
	.blf-buybar__buy{flex:1 1 auto;justify-content:flex-end}
}
@media(max-width:600px){
	.blf-buybar__inner{gap:8px;min-height:66px;padding-top:8px;padding-bottom:8px}
	.blf-buybar__buy{gap:8px}
	.blf-buybar__extras{padding:0 10px}
	.blf-buybar__extras-label{display:none}
	.blf-buybar__total-label{font-size:.62rem}
	.blf-buybar__total-value{font-size:1.02rem}
	.blf-buybar__qty{height:44px}
	.blf-buybar__step{width:30px}
	.blf-buybar__input{width:38px}
	.blf-buybar__cart{height:44px;padding:0 12px;min-width:0;overflow:hidden;text-overflow:ellipsis}
	/* Phones: the price, quantity box and button must share 343px — let the button
	   give way, keep the quantity box whole and wrap a long unit („adagoló doboz”). */
	.blf-buybar__buy{min-width:0}
	.blf-buybar__qty{flex:none}
	.blf-buybar__unit{max-width:64px;white-space:normal;line-height:1.1;font-size:.72rem;text-align:center}
	body.has-buybar{padding-bottom:72px}
	body.has-buybar .blf-totop{bottom:86px}
	.blf-buybar-modal.blf-modal{align-items:flex-end;padding:0}
	.blf-modal__box.blf-buybar-modal__box{border-radius:18px 18px 0 0;max-height:92vh}
	.blf-buybar-modal__prod{padding:18px 56px 16px 18px}
	.blf-modal__title.blf-buybar-modal__title{margin:16px 18px 2px;font-size:1.08rem}
	.blf-buybar-modal__extras{padding:4px 18px 10px}
	.blf-buybar-modal__foot{padding:12px 18px}
	.blf-buybar-modal__foot .blf-btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:400px){
	.blf-buybar__cart svg{display:none}
	.blf-buybar__total-label{display:none}
}

/* „Kosárba tettük” popup after a product page's add-to-cart (inc/pdp-added.php,
   Options → Termék → „Kosárba tétel után”): the product just added on a navy
   band, then its Extrák and the Kapcsolódó termékek. Above the sticky header. */
.blf-modal.blf-added{z-index:9600}
.blf-modal__box.blf-added__box{width:min(900px,100%);max-height:min(90vh,920px);padding:0;display:flex;flex-direction:column;overflow:hidden;animation:blf-added-in .35s cubic-bezier(.16,1,.3,1)}
@keyframes blf-added-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.blf-added .blf-modal__close{z-index:2;color:#fff}
.blf-added .blf-modal__close:hover{background:rgba(255,255,255,.16);color:#fff}
.blf-added__head{flex:none;display:flex;align-items:center;gap:16px;padding:22px 64px 20px 24px;background:linear-gradient(120deg,var(--bl-navy) 0%,var(--bl-blue) 100%);color:#fff}
.blf-added__check{flex:none;width:40px;height:40px;border-radius:50%;background:#1a8a3c;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(26,138,60,.25)}
.blf-added__thumb{flex:none;width:68px;height:68px;border-radius:10px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blf-added__thumb img{width:100%;height:100%;object-fit:contain;margin:0}
.blf-added__meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.blf-added__eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9be3b0}
.blf-added__name{font-size:1.08rem;font-weight:800;line-height:1.3}
.blf-added__sub{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.86rem;color:rgba(255,255,255,.82)}
.blf-added__sub *{color:inherit}
.blf-added__line{font-weight:700;color:#fff}
.blf-added__line br{display:none}
.blf-added__line .bl-price-suffix{margin-left:.3em;font-weight:600}
.blf-added__body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 24px 18px}
.blf-added__sec{padding-top:4px}
.blf-added__sec + .blf-added__sec{margin-top:4px;border-top:1px solid var(--bl-line)}
.blf-added__summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;cursor:pointer;list-style:none;user-select:none}
.blf-added__summary::-webkit-details-marker{display:none}
.blf-added__summary:focus-visible{outline:2px solid var(--bl-blue);outline-offset:2px;border-radius:8px}
.blf-added__title{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:1.15rem;font-weight:800;color:var(--bl-navy)}
.blf-added__subtitle{flex-basis:100%;font-size:.84rem;font-weight:600;color:var(--bl-muted)}
.blf-added__count{min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:var(--bl-soft);border:1px solid var(--bl-line);font-size:.75rem;font-weight:800;color:var(--bl-blue);display:inline-flex;align-items:center;justify-content:center}
.blf-added__caret{flex:none;position:relative;width:34px;height:34px;border-radius:50%;background:var(--bl-soft);transition:background .15s}
.blf-added__caret::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid var(--bl-navy);border-bottom:2px solid var(--bl-navy);transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s}
.blf-added__sec[open] > .blf-added__summary .blf-added__caret::before{transform:translate(-50%,-25%) rotate(225deg)}
.blf-added__summary:hover .blf-added__caret{background:#e6edf7}
.blf-added__secbody{padding-bottom:16px}
.blf-added__sec[open] > .blf-added__secbody{animation:blf-added-sec .25s ease}
@keyframes blf-added-sec{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.blf-added__group{display:flex;flex-direction:column;gap:6px}
.blf-added__group + .blf-added__group{margin-top:12px}
.blf-added__gtitle{margin:0 0 2px;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--bl-blue)}
.blf-added__row{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--bl-line);border-radius:12px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
.blf-added__row:hover{border-color:#c9d8ec}
.blf-added__row:has(input[data-blf-added-extra]:checked){border-color:var(--bl-orange);background:#fff8f3;box-shadow:0 0 0 3px rgba(232,85,13,.10)}
.blf-added__row.is-in-cart{background:var(--bl-soft)}
.blf-added__pick{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;margin:0;cursor:pointer}
.blf-added__pick input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--bl-orange);cursor:pointer}
.blf-added__pick input:disabled{cursor:default}
.blf-added__img{flex:none;width:60px;height:60px;border-radius:8px;border:1px solid var(--bl-line);background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.blf-added__img img{width:100%;height:100%;object-fit:contain;margin:0}
.blf-added__img[data-blf-zoom]{cursor:zoom-in}
.blf-added__rowname{flex:1 1 auto;min-width:0;font-size:.92rem;line-height:1.35;color:var(--bl-ink);overflow-wrap:anywhere}
.blf-added__price{display:block;margin-top:2px;font-size:.88rem;color:var(--bl-navy)}
.blf-added__price br{display:none}
.blf-added__desc{display:block;margin-top:4px;font-size:.84rem;line-height:1.45;color:var(--bl-muted)}
.blf-added__desc p{margin:0 0 .4em}.blf-added__desc > :last-child{margin-bottom:0}
.blf-added__desc ul,.blf-added__desc ol{margin:0 0 .4em 1.2em;padding:0}
.blf-added__price .bl-price-suffix{margin-left:.3em;font-size:.85em;font-weight:600;color:var(--bl-muted)}
.blf-added__qty{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--bl-muted)}
.blf-added__qty input{width:68px;height:40px;margin:0;padding:4px 6px;border:1px solid var(--bl-line);border-radius:8px;text-align:center;font:inherit;font-weight:700;color:var(--bl-navy)}
.blf-added__tag{flex:none;padding:4px 10px;border-radius:999px;background:#e5f4ea;color:#1a6b34;font-size:.76rem;font-weight:800;white-space:nowrap}
.blf-added__tag[hidden]{display:none}
.blf-added__secfoot{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px;margin-top:12px}
.blf-added__secfoot .blf-btn{display:inline-flex;align-items:center;gap:8px;height:44px}
.blf-added__secfoot .blf-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.blf-added__status{font-size:.86rem;font-weight:600;color:#1a6b34}
.blf-added__status.is-error{color:#b42318}
.blf-added__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.blf-added__card{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--bl-line);border-radius:12px;background:#fff;transition:box-shadow .15s,border-color .15s}
.blf-added__card:hover{border-color:#c9d8ec;box-shadow:var(--bl-shadow-lg)}
.blf-added__cardimg{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;background:var(--bl-soft);overflow:hidden}
.blf-added__cardimg img{width:100%;height:100%;object-fit:contain;margin:0;mix-blend-mode:multiply}
.blf-added__cardname{font-size:.86rem;font-weight:600;line-height:1.3;color:var(--bl-navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blf-added__cardname:hover{color:var(--bl-blue);text-decoration:none}
.blf-added__cardprice{font-size:.9rem;font-weight:800;color:var(--bl-navy)}
.blf-added__cardprice br{display:none}
.blf-added__cardprice .bl-price-suffix{margin-left:.3em;font-size:.78em;font-weight:600;color:var(--bl-muted)}
.blf-added__cardbtn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 10px;font-size:.85rem}
.blf-added__cardbtn.is-done{border-color:#1a8a3c;color:#1a6b34;background:#e5f4ea}
.blf-added__foot{flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 24px;border-top:1px solid var(--bl-line);background:var(--bl-soft)}
.blf-added__foot .blf-btn{height:46px;display:inline-flex;align-items:center;gap:8px}
@media(max-width:760px){
	.blf-added__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	.blf-added.blf-modal{align-items:flex-end;padding:0}
	.blf-modal__box.blf-added__box{border-radius:18px 18px 0 0;max-height:94vh}
	.blf-added__head{padding:18px 54px 16px 16px;gap:12px}
	.blf-added__check{display:none}
	.blf-added__thumb{width:56px;height:56px}
	.blf-added__body{padding:4px 16px 14px}
	.blf-added__row{flex-wrap:wrap;padding:8px 10px}
	.blf-added__pick{flex-basis:calc(100% - 10px)}
	.blf-added__img{width:52px;height:52px}
	.blf-added__qty,.blf-added__tag{margin-left:30px}
	.blf-added__secfoot .blf-btn{flex:1 1 auto;justify-content:center}
	.blf-added__foot{padding:12px 16px}
	.blf-added__foot .blf-btn{flex:1 1 auto;justify-content:center}
}

/* 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;overflow-wrap:anywhere}
.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;text-transform:lowercase}
.blf-spectable td{text-align:left;font-weight:600;color:var(--bl-navy);padding:11px 0;vertical-align:top}
.blf-spectable--cols tbody:not(:last-child) tr:last-child{border-bottom:1px solid var(--bl-line)}
/* Two columns on one row grid: label tracks only as wide as their longest
   label, values take the rest so multi-value pills sit side by side; "dense"
   fills each column's rows from the top, so row N lines up across both. */
@media(min-width:1100px){
	.blf-spectable--cols{display:grid;grid-template-columns:fit-content(min(300px,24%)) minmax(0,1fr) 56px fit-content(min(300px,24%)) minmax(0,1fr);grid-auto-flow:row dense}
	.blf-spectable--cols tbody{display:contents}
	.blf-spectable--cols tr{display:grid;grid-template-columns:subgrid}
	.blf-spectable--cols tbody:first-child tr{grid-column:1/3}
	.blf-spectable--cols tbody:last-child tr{grid-column:4/6}
	.blf-spectable--cols th{width:auto;padding-right:20px}
	.blf-spectable--cols tbody:not(:last-child) tr:last-child{border-bottom:0}
}
.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}

/* ---- Accessories list (Tartozékok / pótalkatrészek, inc/pdp-accessories.php) --
   One row per orderable thing: picture, name + cikkszám, price, quantity, tick. */
.blf-acc{padding-block:8px 40px}
.blf-acc__title{font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:800;color:var(--bl-navy);margin:0 0 14px}
.blf-acc__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--bl-line)}
.blf-acc__row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(110px,auto) auto 28px;gap:16px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--bl-line);transition:background .15s}
.blf-acc__row.is-picked{background:var(--bl-soft)}
.blf-acc__thumb{display:block;width:64px;height:64px;border-radius:8px;overflow:hidden;background:#fff}
.blf-acc__thumb img{width:100%;height:100%;object-fit:contain;display:block}
.blf-acc__info{min-width:0;display:flex;flex-direction:column;gap:2px}
.blf-acc__name{font-weight:700;color:var(--bl-navy);text-decoration:none}
.blf-acc__name:hover{color:var(--bl-blue)}
.blf-acc__sub{font-size:.85rem;color:var(--bl-muted)}
.blf-acc__price{font-weight:700;color:var(--bl-navy);text-align:right;white-space:nowrap}
.blf-acc__noprice{font-weight:600;font-size:.9rem;color:var(--bl-muted)}
.blf-acc__qty .blf-qty__btn{width:36px}
.blf-acc__qty input.qty{width:48px;height:40px}
.blf-acc__pick{display:flex;align-items:center;justify-content:center;cursor:pointer}
.blf-acc__pick input{width:22px;height:22px;accent-color:var(--bl-navy);cursor:pointer}
.blf-acc__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}
.blf-acc__foot .blf-btn:disabled{opacity:.5;cursor:not-allowed}
.blf-acc__status{margin-right:auto;font-size:.9rem;color:var(--bl-muted)}
.blf-acc__status.is-error{color:#b3261e}
@media (max-width:720px){
	.blf-acc__row{grid-template-columns:52px minmax(0,1fr) 28px;grid-template-areas:"thumb info pick" "thumb price pick" "qty qty qty";gap:6px 12px}
	.blf-acc__thumb{grid-area:thumb;width:52px;height:52px;align-self:start}
	.blf-acc__info{grid-area:info}
	.blf-acc__price{grid-area:price;text-align:left}
	.blf-acc__qty{grid-area:qty;justify-self:start}
	.blf-acc__pick{grid-area:pick}
	.blf-acc__foot{justify-content:stretch}
	.blf-acc__foot .blf-btn{flex:1 1 auto;justify-content:center}
	.blf-acc__status{flex:1 1 100%}
}

/* A quote-only variable product still offers its variations (the option
   engine's selector without the price/cart half) — space it off the button. */
.blf-pdp__quote-options{margin-bottom:14px}
.blf-msg-form__variant{font-weight:600}

/* ---- 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:14px 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}

/* ---- Header with the category's „Életkép” ------------------------------
   inc/category-eletkep.php prints the figure after the copy, so the header is
   two columns on desktop (text | photo) and stacks photo-under-text on a
   phone. Without a picture the header keeps its plain single-column shape and
   none of this applies. */
.blf-archive__header--media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,clamp(280px,34%,440px));gap:clamp(20px,4vw,52px);align-items:center;padding-top:14px}
.blf-archive__head-main{min-width:0}
.blf-archive__media{position:relative;margin:0;border-radius:16px;overflow:hidden;background:var(--bl-soft);box-shadow:var(--bl-shadow-lg)}
.blf-archive__media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,44,90,.08);pointer-events:none}
.blf-archive__media-img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block}
/* The help <details> is absolutely parked at the top right of a plain header —
   that spot belongs to the photo here, so it goes back into the text column. */
.blf-archive__header--media .blf-archive__help{position:static;margin-top:14px;text-align:left;max-width:none}
@media(max-width:900px){
	.blf-archive__header--media{grid-template-columns:1fr;gap:18px;align-items:start}
	.blf-archive__media-img{aspect-ratio:16/9}
}

/* ---- 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:26px 0 26px}
.blf-arctiles__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,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:var(--blf-at-img,48px);height:var(--blf-at-img,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}

/* ---- Tile looks (Termékek → Kategóriák → „Kategória csempék” → Megjelenés,
   term meta blf_arctiles_style; inc/archive-cat-tiles.php). The rules above are
   „Kompakt”, the default. --blf-at-img is the „Képméret” field, printed on the
   <nav>: the picture's box in px. ---------------------------------------- */
.blf-arctile__arrow{display:none}

/* Galéria — big square picture on a grey plate, accent bar, name under it. */
.blf-arctiles--gallery .blf-arctiles__grid{grid-template-columns:repeat(auto-fill,var(--blf-at-img));justify-content:start;gap:24px 22px}
.blf-arctiles--gallery .blf-arctile{flex-direction:column;align-items:stretch;gap:12px;padding:0;background:none;border:0;border-radius:0}
.blf-arctiles--gallery .blf-arctile:hover{box-shadow:none;transform:none}
.blf-arctiles--gallery .blf-arctile__media{width:100%;height:var(--blf-at-img);padding:9%;box-sizing:border-box;background:#EFEFEF;border-radius:0;border-bottom:5px solid var(--bl-orange);transition:background .15s}
.blf-arctiles--gallery .blf-arctile__media img{transition:transform .25s}
.blf-arctiles--gallery .blf-arctile:hover .blf-arctile__media{background:#E6E6E6}
.blf-arctiles--gallery .blf-arctile:hover .blf-arctile__media img{transform:scale(1.04)}
.blf-arctiles--gallery .blf-arctile__body{align-items:center;text-align:center}
.blf-arctiles--gallery .blf-arctile__name{font-size:.98rem;font-weight:500;color:var(--bl-ink)}
.blf-arctiles--gallery .blf-arctile:hover .blf-arctile__name{color:var(--bl-orange)}
.blf-arctiles--gallery .blf-arctile.is-current{background:none}
.blf-arctiles--gallery .blf-arctile.is-current .blf-arctile__media{background:#FFF1E8}

/* Kártya — vertical white card, picture on top, arrow bottom right. */
.blf-arctiles--card .blf-arctiles__grid{grid-template-columns:repeat(auto-fill,minmax(min(var(--blf-at-img),100%),1fr));gap:14px}
.blf-arctiles--card .blf-arctile{position:relative;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:14px}
.blf-arctiles--card .blf-arctile__media{width:100%;height:var(--blf-at-img);padding:14px;box-sizing:border-box;border-radius:0;border-bottom:1px solid var(--bl-line)}
.blf-arctiles--card .blf-arctile__body{padding:12px 40px 14px 14px}
.blf-arctiles--card .blf-arctile__arrow{display:block;position:absolute;right:14px;bottom:13px;font-size:1.05rem;line-height:1;color:var(--bl-blue);transition:transform .15s}
.blf-arctiles--card .blf-arctile:hover .blf-arctile__arrow{transform:translateX(3px)}
.blf-arctiles--card .blf-arctile.is-current .blf-arctile__arrow{color:var(--bl-orange)}

/* Kör — round picture, name centred under it. */
.blf-arctiles--circle .blf-arctiles__grid{grid-template-columns:repeat(auto-fill,calc(var(--blf-at-img) + 28px));justify-content:start;gap:18px 12px}
.blf-arctiles--circle .blf-arctile{flex-direction:column;align-items:center;gap:10px;padding:0;background:none;border:0;border-radius:0}
.blf-arctiles--circle .blf-arctile:hover{box-shadow:none;transform:none}
.blf-arctiles--circle .blf-arctile__media{width:var(--blf-at-img);height:var(--blf-at-img);padding:15%;box-sizing:border-box;border-radius:50%;border:2px solid transparent;background:var(--bl-soft);box-shadow:inset 0 0 0 1px var(--bl-line);transition:border-color .15s,transform .15s}
.blf-arctiles--circle .blf-arctile:hover .blf-arctile__media{border-color:var(--bl-blue);transform:translateY(-2px)}
.blf-arctiles--circle .blf-arctile__body{align-items:center;text-align:center}
.blf-arctiles--circle .blf-arctile.is-current{background:none}
.blf-arctiles--circle .blf-arctile.is-current .blf-arctile__media{border-color:var(--bl-orange);background:#fff}
/* Kiemelt — kép balra (~42%), cím + leírás + "Tovább" jobbra. Alapértelmezett stílus. */
.blf-arctiles--featured .blf-arctiles__grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
.blf-arctiles--featured .blf-arctile{flex-direction:row;align-items:stretch;padding:0;overflow:hidden;border-radius:var(--bl-radius)}
.blf-arctiles--featured .blf-arctile__media{flex:0 0 42%;width:auto;height:auto;padding:14px;background:var(--bl-soft);border-radius:0;align-self:stretch;box-sizing:border-box}
.blf-arctiles--featured .blf-arctile__media img{width:100%;height:100%;max-height:160px;object-fit:contain}
.blf-arctiles--featured .blf-arctile__body{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 18px 16px;gap:0}
.blf-arctiles--featured .blf-arctile__name{font-size:1.02rem;font-weight:800;display:block;overflow:visible;-webkit-line-clamp:unset;margin-bottom:8px}
.blf-arctiles--featured .blf-arctile__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;flex:1 1 auto}
.blf-arctiles--featured .blf-arctile__link{margin-top:auto;font-weight:700;font-size:.86rem;color:var(--bl-blue)}
.blf-arctiles--featured .blf-arctile:hover .blf-arctile__link{color:var(--bl-orange)}
/* 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}
	.blf-arctiles--gallery .blf-arctiles__item{width:min(var(--blf-at-img),62vw)}
	.blf-arctiles--gallery .blf-arctile__media{height:min(var(--blf-at-img),62vw)}
	.blf-arctiles--card .blf-arctiles__item{width:min(var(--blf-at-img),62vw)}
	.blf-arctiles--card .blf-arctile__media{height:min(var(--blf-at-img),50vw)}
	.blf-arctiles--circle .blf-arctiles__item{width:calc(min(var(--blf-at-img),34vw) + 20px)}
	.blf-arctiles--circle .blf-arctile__media{width:min(var(--blf-at-img),34vw);height:min(var(--blf-at-img),34vw)}
	.blf-arctiles--featured .blf-arctiles__item{width:min(82vw,300px)}
	.blf-arctiles--featured .blf-arctile{flex-direction:column}
	.blf-arctiles--featured .blf-arctile__media{flex:none;aspect-ratio:4/3;height:auto;max-height:none}
	.blf-arctiles--featured .blf-arctile__media img{max-height:none;height:100%}
}
/* 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}
/* Related topics in the archive's editorial description. */
.blf-archive__longdesc-inner ul.blf-topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:16px 0 0;padding:0;list-style:none}
.blf-archive__longdesc-inner .blf-topic-cards>li{min-width:0;margin:0;list-style:none}
.blf-archive__longdesc-inner .blf-topic-cards>li>a{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden;border:1px solid var(--bl-line);border-radius:14px;background:#fff;color:var(--bl-navy);text-decoration:none;box-shadow:0 3px 12px rgba(11,44,90,.05);transition:border-color .2s,box-shadow .2s,transform .2s}
.blf-topic-cards__media{display:block;overflow:hidden;aspect-ratio:16/9;background:var(--bl-soft)}
.blf-topic-cards__media img{display:block;width:100%;height:100%;margin:0;object-fit:cover;transition:transform .3s}
.blf-topic-cards__title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;padding:16px;font-size:15px;font-weight:700;line-height:1.45}
.blf-topic-cards__arrow{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#fff1e9;color:var(--bl-orange);font-size:19px;font-weight:400}
.blf-archive__longdesc-inner .blf-topic-cards>li>a:hover,.blf-archive__longdesc-inner .blf-topic-cards>li>a:focus-visible{border-color:var(--bl-orange);box-shadow:0 8px 24px rgba(11,44,90,.12);transform:translateY(-3px)}
.blf-topic-cards a:hover img{transform:scale(1.04)}
.blf-topic-cards a:focus-visible{outline:2px solid var(--bl-orange);outline-offset:3px}
@media(max-width:767px){.blf-archive__longdesc-inner ul.blf-topic-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:420px){.blf-archive__longdesc-inner ul.blf-topic-cards{grid-template-columns:1fr}.blf-topic-cards__media{aspect-ratio:2/1}}
@media(prefers-reduced-motion:reduce){.blf-archive__longdesc-inner .blf-topic-cards>li>a,.blf-topic-cards__media img{transition:none}.blf-archive__longdesc-inner .blf-topic-cards>li>a:hover,.blf-archive__longdesc-inner .blf-topic-cards>li>a:focus-visible,.blf-topic-cards a:hover img{transform:none}}
/* A leírásba tett gombok (pl. a SHOWA SEO CTA-ja) nem a szövegközi link-stílust
   kapják: a fenti .blf-archive__longdesc-inner a erősebb, mint a .blf-btn--*,
   ezért a gombszínt itt kell visszaadni. */
.blf-archive__longdesc-inner a.blf-btn{text-decoration:none}
.blf-archive__longdesc-inner a.blf-btn--primary,.blf-archive__longdesc-inner a.blf-btn--orange{color:#fff}
.blf-archive__longdesc-inner a.blf-btn--ghost{color:var(--bl-navy)}

/* 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}
/* The buttons sit in the bottom-left corner of the card's picture. They are a
   sibling of .blf-card__media (a <button> cannot live inside that <a>), so the
   holder is laid over the picture instead: same square in the grid, same
   column in the list view. It lets clicks through; only the buttons take them. */
.blf-card__actions{position:absolute;top:0;left:0;right:0;aspect-ratio:1/1;z-index:9;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:10px;pointer-events:none}
.blf-card__act{pointer-events:auto}
.blf-products.is-list .blf-card__actions{right:auto;bottom:0;width:clamp(130px,20%,190px);aspect-ratio:auto}
@media(max-width:520px){.blf-products.is-list .blf-card__actions{width:104px}}
.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 picture's bottom-left corner, so a
   badge the Badges module places there moves across to the free bottom-right
   corner instead of being covered (or lifted into the middle of the picture).
   Only inside cards — the single-product gallery has no action buttons. */
.blf-card__media .blb-corner--bottom-left{bottom:8px;left:auto;right:8px;align-items:flex-end}

/* 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;overflow-wrap:break-word}
/* Long links and wide tables in editor content must not widen the page on a phone. */
.blf-page__content{overflow-wrap:break-word}
.blf-prose .wp-block-table,.blf-page__content .wp-block-table{overflow-x:auto}
.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:minmax(0,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:contain;mix-blend-mode:multiply}
.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}
@media(max-width:1320px){.blf-archive__layout{padding-inline:var(--bl-gutter)}}
.blf-archive__content{min-width:0}

/* Category intro box (term meta blf_cat_intro, inc/woocommerce-archive.php):
   free text / media between the tile row and the filter + grid. Lined up with
   the layout below it, whose container carries a 10px padding of its own. */
.blf-cat-intro{padding:24px 10px 8px;line-height:1.6}
.blf-cat-intro>:first-child{margin-top:0}
.blf-cat-intro>:last-child{margin-bottom:0}
.blf-cat-intro p{margin:0 0 .9em}
.blf-cat-intro h2,.blf-cat-intro h3,.blf-cat-intro h4{color:var(--bl-navy);margin:1.1em 0 .5em;line-height:1.25}
.blf-cat-intro img,.blf-cat-intro video,.blf-cat-intro iframe{max-width:100%;height:auto;border-radius:12px}
.blf-cat-intro iframe{aspect-ratio:16/9;width:100%;height:auto}
.blf-cat-intro .alignleft{float:left;margin:.3em 1.5em 1em 0}
.blf-cat-intro .alignright{float:right;margin:.3em 0 1em 1.5em}
.blf-cat-intro .aligncenter{display:block;margin-inline:auto}
.blf-cat-intro .wp-caption{max-width:100%}
.blf-cat-intro .wp-caption-text{font-size:.86rem;color:var(--bl-muted);margin-top:.4em}
.blf-cat-intro::after{content:"";display:table;clear:both}
.blf-cat-intro--top{padding:18px 0 24px}
@media(max-width:640px){.blf-cat-intro .alignleft,.blf-cat-intro .alignright{float:none;margin:0 0 1em}}

/* EGY GÖRGETŐSÁV: a lapé. A terméklista (.blf-archive__content) NEM önálló
   görgetődoboz — végig a lappal együtt mozog, a bal rail pedig sticky marad,
   így a szűrő a helyén áll, amíg a lista elgördül alatta.

   --blf-arch-pin a rail megállási magassága: a fejléc alja, plusz a SHOWA
   keresősáv, ha az adott lapon kint van. Ugyanez a szám adja a rail sticky
   top-ját, és ugyanezt olvassa a Bestlab Suite szűrőpaneljének a stíluslapja
   (.blf-pf__panel) a saját magasságkorlátjához — egy helyen kell állítani,
   különben a panel máshol állna meg, mint a rail. */
.blf-archive__layout{--blf-arch-pin:calc(130px + var(--blf-showa-bar-h,0px))}

/* 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-showa-bar-h: a SHOWA keresősáv magassága, amit a SHOWA main.js tesz ki
   a <html>-re azokon a lapokon, ahol a sáv kint van (a bolt SHOWA oldalai,
   inc/showa-shop-bar.php). A sáv a fejléc alá tapad, tehát a rail ennyivel
   lejjebb kell hogy megálljon; máshol a 0px tartalék marad, és semmi nem
   változik. */
.blf-archive__side{display:flex;flex-direction:column;gap:18px;min-width:0;position:sticky;top:var(--blf-arch-pin);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:calc(84px + var(--blf-showa-bar-h,0px));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 */
/* A deep orange band with a fine diagonal hatch and a navy foot rule; copy on
   the left, a white figure panel (deal count, largest discount, jump to the
   grid) on the right. The big „%” is decoration only. */
.blf-akciok-hero{position:relative;overflow:hidden;color:#fff;background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 2px,transparent 2px 14px),radial-gradient(120% 140% at 0% 0%,#F47A1F 0%,transparent 55%),linear-gradient(120deg,var(--bl-orange) 0%,#D94B0B 60%,#B93F08 100%);border-bottom:4px solid var(--bl-navy)}
.blf-akciok-hero__mark{position:absolute;right:-1vw;bottom:-.3em;font-size:clamp(8rem,14vw,13rem);font-weight:900;line-height:1;color:rgba(255,255,255,.07);letter-spacing:-.05em;pointer-events:none;user-select:none}
.blf-akciok-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 40px;padding-block:24px}
.blf-akciok-hero__copy{max-width:680px}
.blf-akciok-hero__eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;padding:4px 12px 4px 10px;background:var(--bl-navy);border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800;box-shadow:0 4px 12px rgba(11,44,90,.25)}
.blf-akciok-hero__eyebrow svg{width:14px;height:14px;color:#FFB27A}
.blf-akciok-hero__title{color:#fff;font-size:clamp(1.7rem,3.2vw,2.35rem);font-weight:800;margin:0;line-height:1.05;letter-spacing:-.015em;text-shadow:0 2px 14px rgba(120,30,0,.25)}
.blf-akciok-hero__lead{margin-top:8px;color:rgba(255,255,255,.94);font-size:.98rem;line-height:1.5;max-width:64ch}
.blf-akciok-hero__lead p{margin:0 0 .4em}
.blf-akciok-hero__lead p:last-child{margin-bottom:0}
.blf-akciok-hero__back{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:5px 14px;border:1.5px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;font-size:.86rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.blf-akciok-hero__back:hover{background:#fff;border-color:#fff;color:var(--bl-orange);text-decoration:none}
/* One row: count | largest discount | jump button. */
.blf-akciok-hero__panel{display:flex;align-items:center;gap:18px;padding:12px 12px 12px 20px;background:#fff;border-radius:12px;color:var(--bl-navy);box-shadow:0 12px 30px rgba(90,25,0,.26),0 2px 6px rgba(90,25,0,.12)}
.blf-akciok-hero__stat{display:flex;flex-direction:column;gap:3px;margin:0}
.blf-akciok-hero__stat strong{font-size:1.75rem;font-weight:900;line-height:1;color:var(--bl-orange);font-variant-numeric:tabular-nums}
.blf-akciok-hero__stat span{font-size:.76rem;font-weight:600;line-height:1.2;color:var(--bl-navy);white-space:nowrap}
.blf-akciok-hero__stat--pct{padding-left:18px;border-left:1px solid var(--bl-line)}
.blf-akciok-hero__stat--pct strong{color:var(--bl-navy)}
.blf-akciok-hero__cta{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:9px;background:var(--bl-orange);color:#fff;font-size:.92rem;font-weight:800;white-space:nowrap;text-decoration:none;transition:background .15s}
.blf-akciok-hero__cta:hover{background:var(--bl-orange-d);color:#fff;text-decoration:none}
.blf-akciok-hero a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.blf-akciok-hero__panel a:focus-visible{outline-color:var(--bl-navy)}
@media(max-width:900px){
	.blf-akciok-hero__inner{grid-template-columns:1fr;padding-block:20px}
	.blf-akciok-hero__panel{justify-self:start}
}
@media(max-width:560px){
	.blf-akciok-hero__panel{flex-wrap:wrap;justify-self:stretch;gap:12px 16px;padding:12px}
	.blf-akciok-hero__cta{flex:1 0 100%}
}
.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__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 right center / cover no-repeat;position:relative;display:flex;align-items:center;min-height:var(--blf-hero-h,310px)}
.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}
/* Compact — the slim band over every product listing (blf_cl_render_hero(),
   template-category-landing.php): a third of the full hero's height, one-sentence
   lead on the left, buttons and figures on the right. */
.blf-szekek-hero--compact.blf-szekek-hero--bg{min-height:var(--blf-hero-h,310px);background-size:auto 100%;background-position:right center;background-repeat:no-repeat;background-color:#0b2c5a}
.blf-szekek-hero--compact.blf-szekek-hero--bg::before{background:linear-gradient(90deg,rgba(6,26,52,.90) 0%,rgba(6,26,52,.80) 45%,rgba(6,26,52,.62) 100%)}
.blf-szekek-hero--compact .blf-szekek-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 40px;padding-block:26px}
.blf-szekek-hero--compact .blf-szekek-hero__eyebrow{font-size:.72rem;margin:0 0 6px}
.blf-szekek-hero--compact .blf-szekek-hero__title{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;margin:0 0 .25em}
.blf-szekek-hero--compact .blf-szekek-hero__lead{font-size:1rem;line-height:1.5;max-width:68ch;margin:0}
/* A category set to show more than one paragraph (blf_cl_hero_paras()). */
.blf-szekek-hero--compact .blf-szekek-hero__lead+.blf-szekek-hero__lead{margin-top:.6em}
.blf-szekek-hero--compact .blf-szekek-hero__side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:0}
.blf-szekek-hero--compact .blf-szekek-hero__actions{justify-content:flex-end;gap:10px}
.blf-szekek-hero--compact .blf-btn{padding:.6em 1.1em;font-size:.9rem}
.blf-szekek-hero--compact .blf-iroda-hero__stats{justify-content:flex-end;gap:6px 22px;margin:0;padding:0;border:0}
.blf-szekek-hero--compact .blf-iroda-stat{display:flex;align-items:baseline;gap:6px}
.blf-szekek-hero--compact .blf-iroda-stat__num{font-size:1.05rem}
.blf-szekek-hero--compact .blf-iroda-stat__label{margin:0;font-size:.7rem}
/* Options → Hero → „Gombok helye”: under the lead (blf_cl_hero_layout()). */
.blf-szekek-hero--compact.blf-szekek-hero--stacked .blf-szekek-hero__inner{grid-template-columns:minmax(0,1fr)}
.blf-szekek-hero--compact.blf-szekek-hero--stacked .blf-szekek-hero__side{align-items:flex-start}
.blf-szekek-hero--compact.blf-szekek-hero--stacked .blf-szekek-hero__actions,
.blf-szekek-hero--compact.blf-szekek-hero--stacked .blf-iroda-hero__stats{justify-content:flex-start}
@media(max-width:900px){
	.blf-szekek-hero--compact .blf-szekek-hero__inner{grid-template-columns:1fr;padding:22px 16px}
	.blf-szekek-hero--compact .blf-szekek-hero__side{align-items:flex-start}
	.blf-szekek-hero--compact .blf-szekek-hero__actions,
	.blf-szekek-hero--compact .blf-iroda-hero__stats{justify-content:flex-start}
}
@media(max-width:640px){
	.blf-szekek-hero--compact .blf-szekek-hero__inner{padding-block:18px;gap:12px}
	.blf-szekek-hero--compact .blf-szekek-hero__lead{font-size:.94rem}
	.blf-szekek-hero--compact .blf-btn{padding:.5em .9em;font-size:.85rem}
}

/* 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,.blf-szekek-hero--compact.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}
	/* Phone: compact horizontal row — picture plate left, copy right, the
	   arrow in an orange chip. The 4-up grid's stacked override is undone too. */
	.blf-szekek-grid--3,.blf-szekek-grid--4{gap:12px}
	.blf-szekek-card,.blf-szekek-grid--4 .blf-szekek-card{flex-direction:row;align-items:stretch;min-height:128px;border-color:#e2e8f1;border-radius:14px;box-shadow:0 1px 2px rgba(11,44,90,.05),0 8px 20px -14px rgba(11,44,90,.35);-webkit-tap-highlight-color:transparent}
	.blf-szekek-card:hover{transform:none;border-color:#e2e8f1}
	.blf-szekek-card:active{transform:scale(.985);box-shadow:0 1px 2px rgba(11,44,90,.08)}
	.blf-szekek-card__media,.blf-szekek-grid--4 .blf-szekek-card__media{flex:0 0 116px;aspect-ratio:auto;padding:10px;background:radial-gradient(120% 90% at 50% 55%,#fff 0%,#f1f5fb 55%,#e6edf7 100%);border-right:1px solid #edf1f7}
	.blf-szekek-card__media img,.blf-szekek-grid--4 .blf-szekek-card__media img{width:100%;height:100%;max-height:116px;object-fit:contain}
	.blf-szekek-card__body{justify-content:center;padding:14px 14px 12px 16px}
	.blf-szekek-card__title{font-size:1rem;line-height:1.25;margin-bottom:5px}
	.blf-szekek-card__desc{font-size:.83rem;line-height:1.45;margin-bottom:10px;-webkit-line-clamp:2}
	.blf-szekek-card__link{margin-top:0;display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--bl-navy)}
	.blf-szekek-card__link > span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--bl-orange);color:#fff;font-size:.82rem;line-height:1;box-shadow:0 3px 8px -2px rgba(232,85,13,.55);transition:transform .15s}
	.blf-szekek-card:active .blf-szekek-card__link > span,.blf-szekek-card:hover .blf-szekek-card__link > span{transform:translateX(3px)}
	.blf-szekek-help__box{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(max-width:360px){
	.blf-szekek-card__media,.blf-szekek-grid--4 .blf-szekek-card__media{flex-basis:96px;padding:8px}
	.blf-szekek-card__body{padding:12px 12px 10px 14px}
}

/* 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}

/* ==========================================================================
   "Labor" landing page (page-labor.php)
   ========================================================================== */

.blf-labor-hero{background:linear-gradient(180deg,#fff,var(--bl-soft))}
.blf-labor-hero--bg{background:#0b2c5a right center / cover no-repeat;position:relative;display:flex;align-items:center;min-height:var(--blf-hero-h,310px)}
.blf-labor-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-labor-hero__inner{position:relative;z-index:1;padding-block:60px}
.blf-labor-hero--bg .blf-labor-hero__inner *{color:#fff}
.blf-labor-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--bl-orange);margin:0 0 14px}
.blf-labor-hero--bg .blf-labor-hero__eyebrow{color:#ffb38a}
.blf-labor-hero__title{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .35em}
.blf-labor-hero__lead{font-size:1.1rem;max-width:56ch;margin:0 0 26px;color:var(--bl-muted)}
.blf-labor-hero--bg .blf-labor-hero__lead{color:#dbe6f2}
.blf-labor-hero__lead p{margin:0}
.blf-labor-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.blf-labor-hero--bg .blf-labor-hero__help{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.55);color:#fff}
.blf-labor-hero--bg .blf-labor-hero__help:hover{background:rgba(255,255,255,.18);border-color:#fff}
.blf-labor-hero__count{margin:20px 0 0;font-size:.95rem;color:var(--bl-muted)}
.blf-labor-hero__count strong{font-size:1.15rem;font-weight:800;color:var(--bl-navy);margin-right:4px}
.blf-labor-hero--bg .blf-labor-hero__count strong{color:#fff}

/* With a featured image the hero splits: copy left, picture right. Without one
   .blf-labor-hero__copy is the only child and the grid never engages. */
.blf-labor-hero--split .blf-labor-hero__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,60px);align-items:center}
.blf-labor-hero__copy{min-width:0}
.blf-labor-hero__media{min-width:0;margin:0}
.blf-labor-hero__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#fff;border:1px solid var(--bl-line);box-shadow:var(--bl-shadow-lg)}
.blf-labor-hero--bg .blf-labor-hero__img{border-color:rgba(255,255,255,.28)}

/* The IA v5 task blocks reuse .blf-hub, which is built for the top of an
   archive — inside a section of its own it needs no extra bottom gap. */
.blf-labor-blocks .blf-hub{margin:0}
.blf-labor-blocks .blf-hub__section{margin:0}

/* Category index — one chip per lab category, with its product count. */
.blf-labor-cats{padding-top:0}
.blf-labor-cats__grid{display:flex;flex-wrap:wrap;gap:10px}
.blf-labor-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--bl-line);border-radius:999px;background:#fff;color:var(--bl-navy);font-weight:600;font-size:.88rem;transition:border-color .15s,color .15s,box-shadow .18s}
.blf-labor-chip:hover{border-color:var(--bl-blue);color:var(--bl-blue);box-shadow:var(--bl-shadow);text-decoration:none}
.blf-labor-chip__count{flex:none;min-width:26px;padding:1px 7px;border-radius:999px;background:var(--bl-soft);color:var(--bl-muted);font-size:.74rem;font-weight:800;text-align:center}
.blf-labor-chip:hover .blf-labor-chip__count{background:#E6EEF9;color:var(--bl-blue)}

/* All-products grid */
.blf-labor-products{padding-top:0}
.blf-labor-products__meta{margin:0;font-size:.88rem;font-weight:600;color:var(--bl-muted)}
.blf-labor-products .blf-grid--4{gap:20px}

/* Advisor CTA */
.blf-labor-help{padding-top:0}
.blf-labor-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-labor-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-labor-help__copy{flex:1 1 auto;min-width:0}
.blf-labor-help__title{font-size:1.25rem;font-weight:800;margin:0 0 6px}
.blf-labor-help__text{color:var(--bl-muted);margin:0 0 8px;max-width:70ch}
.blf-labor-help__contact{margin:0;font-weight:700;color:var(--bl-navy);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.blf-labor-help__contact a{color:var(--bl-navy)}
.blf-labor-help__contact a:hover{color:var(--bl-blue)}
.blf-labor-help__ctas{flex:none;display:flex;flex-direction:column;gap:10px}

/* --- Labor responsive ---------------------------------------------------- */
@media(max-width:1080px){
	.blf-labor-products .blf-grid--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
	.blf-labor-products .blf-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
	.blf-labor-hero--split .blf-labor-hero__inner{grid-template-columns:1fr;gap:28px}
	.blf-labor-hero__img{aspect-ratio:16/9}
}
@media(max-width:640px){
	.blf-labor-hero--bg{min-height:0}
	.blf-labor-hero__inner{padding-block:44px}
	.blf-labor-help__box{flex-direction:column;align-items:flex-start;gap:16px}
	.blf-labor-help__ctas{width:100%}
	.blf-labor-help__ctas .blf-btn{justify-content:center}
}
@media(max-width:420px){
	.blf-labor-products .blf-grid--4{grid-template-columns:1fr}
}


/* ==========================================================================
   Iroda landing (page-iroda.php)
   The office hub. Same building blocks as the Labor landing, but the hero is a
   two-column dark panel with a live category photo instead of a background
   image, so it needs no hand-uploaded asset.
   ========================================================================== */

.blf-iroda-hero{
	position:relative;overflow:hidden;
	background:
		radial-gradient(120% 140% at 88% 8%,rgba(24,88,168,.55) 0%,rgba(24,88,168,0) 58%),
		radial-gradient(90% 120% at 8% 100%,rgba(232,85,13,.28) 0%,rgba(232,85,13,0) 55%),
		linear-gradient(135deg,#08234a 0%,var(--bl-navy) 46%,#123f78 100%);
}
/* Faint blueprint grid — reads as "office plan" without costing an image. */
.blf-iroda-hero::before{
	content:"";position:absolute;inset:0;pointer-events:none;
	background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
	background-size:56px 56px;
	mask-image:radial-gradient(120% 100% at 50% 0%,#000 0%,transparent 78%);
	-webkit-mask-image:radial-gradient(120% 100% at 50% 0%,#000 0%,transparent 78%);
}
.blf-iroda-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;padding-block:64px 68px}
.blf-iroda-hero__copy{min-width:0;color:#fff}
.blf-iroda-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 12px 6px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);color:#ffc7a5;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}
.blf-iroda-hero__title{margin:0 0 .35em;color:#fff;font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:800;letter-spacing:-.025em}
.blf-iroda-hero__lead{max-width:52ch;margin:0 0 28px;color:#d5e2f2;font-size:1.08rem}
.blf-iroda-hero__lead p{margin:0}
.blf-iroda-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.blf-iroda-hero__help{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.5);color:#fff}
.blf-iroda-hero__help:hover{background:rgba(255,255,255,.2);border-color:#fff}

.blf-iroda-hero__stats{display:flex;flex-wrap:wrap;gap:14px 34px;margin:30px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.16)}
.blf-iroda-stat{min-width:0}
.blf-iroda-stat__num{margin:0;color:#fff;font-size:1.6rem;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.blf-iroda-stat__label{margin:2px 0 0;color:#a9c2de;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}

.blf-iroda-hero__media{position:relative;min-width:0}
.blf-iroda-hero__figure{
	margin:0;display:grid;place-items:center;padding:26px;border-radius:20px;
	background:radial-gradient(120% 120% at 50% 0%,#fff 0%,#eaf0f8 100%);
	border:1px solid rgba(255,255,255,.35);box-shadow:0 26px 60px rgba(3,16,34,.45);
}
.blf-iroda-hero__figure img{width:100%;max-width:420px;height:auto;object-fit:contain;mix-blend-mode:multiply}
.blf-iroda-hero__tag{display:inline-flex;align-items:center;gap:9px;margin:18px 0 0;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);color:#e6eef8;font-size:.86rem;font-weight:600}
.blf-iroda-hero__tagdot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--bl-orange);box-shadow:0 0 0 4px rgba(232,85,13,.25)}

/* The task blocks reuse .blf-hub, which carries its own bottom margin for the
   shop page — zero it out here, the section owns the rhythm. */
.blf-iroda-blocks .blf-hub,
.blf-iroda-blocks .blf-hub__section{margin:0}

/* --- Space quick pick ---------------------------------------------------- */
.blf-iroda-spaces{padding-top:0}
.blf-iroda-spaces__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.blf-iroda-space{
	position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px;
	background:#fff;border:1px solid var(--bl-line);border-radius:14px;
	color:var(--bl-navy);font-weight:700;font-size:.95rem;overflow:hidden;
	transition:border-color .16s,box-shadow .2s,transform .2s;
}
.blf-iroda-space::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bl-orange);opacity:0;transition:opacity .16s}
.blf-iroda-space:hover{border-color:#c9d6e8;box-shadow:var(--bl-shadow-lg);transform:translateY(-2px);text-decoration:none}
.blf-iroda-space:hover::before{opacity:1}
.blf-iroda-space__icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bl-soft);border:1px solid var(--bl-line)}
.blf-iroda-space__icon img{width:26px;height:26px}
.blf-iroda-space__label{flex:1 1 auto;min-width:0;line-height:1.25}
.blf-iroda-space__arrow{flex:none;color:var(--bl-blue);opacity:0;transform:translateX(-4px);transition:opacity .16s,transform .16s}
.blf-iroda-space:hover .blf-iroda-space__arrow{opacity:1;transform:none}

/* --- Best sellers -------------------------------------------------------- */
.blf-iroda-top{padding-top:0}
.blf-iroda-top .blf-grid--4{gap:20px}

/* --- Category chips ------------------------------------------------------ */
.blf-iroda-cats{padding-top:0}
.blf-iroda-cats__grid{display:flex;flex-wrap:wrap;gap:10px}
.blf-iroda-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--bl-line);border-radius:999px;background:#fff;color:var(--bl-navy);font-weight:600;font-size:.88rem;transition:border-color .15s,color .15s,box-shadow .18s}
.blf-iroda-chip:hover{border-color:var(--bl-blue);color:var(--bl-blue);box-shadow:var(--bl-shadow);text-decoration:none}
.blf-iroda-chip__count{flex:none;min-width:26px;padding:1px 7px;border-radius:999px;background:var(--bl-soft);color:var(--bl-muted);font-size:.74rem;font-weight:800;text-align:center}
.blf-iroda-chip:hover .blf-iroda-chip__count{background:#E6EEF9;color:var(--bl-blue)}

/* --- Product grid -------------------------------------------------------- */
.blf-iroda-products{padding-top:0}
.blf-iroda-products__meta{margin:0;font-size:.88rem;font-weight:600;color:var(--bl-muted)}
.blf-iroda-products .blf-grid--4{gap:20px}

/* --- Help box ------------------------------------------------------------ */
.blf-iroda-help{padding-top:0}
.blf-iroda-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-iroda-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-iroda-help__copy{flex:1 1 auto;min-width:0}
.blf-iroda-help__title{font-size:1.25rem;font-weight:800;margin:0 0 6px}
.blf-iroda-help__text{color:var(--bl-muted);margin:0 0 8px;max-width:70ch}
.blf-iroda-help__contact{margin:0;font-weight:700;color:var(--bl-navy);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.blf-iroda-help__contact a{color:var(--bl-navy)}
.blf-iroda-help__contact a:hover{color:var(--bl-blue)}
.blf-iroda-help__ctas{flex:none;display:flex;flex-direction:column;gap:10px}

/* --- Iroda responsive ---------------------------------------------------- */
@media(max-width:1080px){
	.blf-iroda-spaces__grid{grid-template-columns:repeat(3,1fr)}
	.blf-iroda-top .blf-grid--4,
	.blf-iroda-products .blf-grid--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
	.blf-iroda-hero__inner{grid-template-columns:1fr;gap:34px;padding-block:48px 54px}
	.blf-iroda-hero__figure{max-width:460px;margin-inline:auto}
	.blf-iroda-hero__lead{max-width:none}
}
@media(max-width:820px){
	.blf-iroda-spaces__grid{grid-template-columns:repeat(2,1fr)}
	.blf-iroda-top .blf-grid--4,
	.blf-iroda-products .blf-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
	.blf-iroda-hero__stats{gap:12px 24px}
	.blf-iroda-stat__num{font-size:1.35rem}
	.blf-iroda-help__box{flex-direction:column;align-items:flex-start;gap:16px}
	.blf-iroda-help__ctas{width:100%}
	.blf-iroda-help__ctas .blf-btn{justify-content:center}
}
@media(max-width:420px){
	.blf-iroda-spaces__grid{grid-template-columns:1fr}
	.blf-iroda-top .blf-grid--4,
	.blf-iroda-products .blf-grid--4{grid-template-columns:1fr}
}

/* ==========================================================================
   Category landing pages (template-category-landing.php)

   The template reuses page-szekek.php's .blf-szekek-* look wholesale — hero,
   cards, advisor box, trust strip — so restyling the Székek hub restyles every
   category page with it. Only the product grid is its own.
   ========================================================================== */

.blf-clp-products__meta{margin:0;font-size:.88rem;font-weight:600;color:var(--bl-muted)}
.blf-clp-products .blf-grid--4{gap:20px}
@media(max-width:1080px){.blf-clp-products .blf-grid--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.blf-clp-products .blf-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.blf-clp-products .blf-grid--4{grid-template-columns:1fr}}

/* The landing hero on a main category archive sits above .blf-archive__top,
   which then carries only the breadcrumb — so it needs less air above it. */
.blf-archive__top:has(> .container > .blf-archive__breadcrumb:last-child){padding-block:14px 0}
.blf-clp-cats{padding-block:44px 8px}

/* ==========================================================================
   Űrlap oldal (template-form-page.php) — navy masthead, form card on grey
   ========================================================================== */
.blf-formpage{background:#EBEEF3;}
.blf-formpage__mast{background:var(--bl-navy);color:#EAF0F7;border-bottom:3px solid var(--bl-orange);}
.blf-formpage__mast-inner{display:flex;flex-direction:column;gap:18px;padding-top:38px;padding-bottom:32px;}
.blf-formpage__brand{display:flex;align-items:center;gap:12px;margin:0;font:500 11px/1.4 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:#9DB0C8;}
.blf-formpage__mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;background:var(--bl-orange);color:#fff;font:700 12px/1 var(--bl-font);letter-spacing:.02em;}
.blf-formpage__title{margin:0;max-width:20ch;font-size:clamp(28px,4.4vw,42px);font-weight:700;line-height:1.08;letter-spacing:-.015em;color:#fff;text-wrap:balance;}
.blf-formpage__lede{margin:0;max-width:62ch;font-size:16px;line-height:1.6;color:#9DB0C8;}
.blf-formpage__facts{display:flex;flex-wrap:wrap;margin:6px 0 0;border:1px solid rgba(255,255,255,.14);}
.blf-formpage__facts div{flex:1 1 150px;padding:10px 16px;border-right:1px solid rgba(255,255,255,.14);}
.blf-formpage__facts div:last-child{border-right:0;}
.blf-formpage__facts dt{margin:0 0 3px;font:500 10px/1.4 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#9DB0C8;}
.blf-formpage__facts dd{margin:0;font-size:14px;font-weight:500;color:#fff;}
.blf-formpage__body{padding-top:44px;padding-bottom:64px;}
@media (max-width:640px){
	.blf-formpage__mast-inner{padding-top:28px;padding-bottom:24px;}
	.blf-formpage__facts div{flex-basis:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);}
	.blf-formpage__facts div:last-child{border-bottom:0;}
	.blf-formpage__body{padding-top:24px;padding-bottom:40px;}
}

/* ==========================================================================
   Asztal konfigurátor — USP landing (page-asztal-konfigurator.php)
   The marketing page that sits above the configurator. The configurator keeps
   its own .blf-tipper* styles from the plugin; nothing here touches them.
   ========================================================================== */
.blf-ak{background:#fff}
/* Side gutter: the theme's .container has none, so below ~1330px the copy
   would touch the screen edge. Added onto max-width, so on wide screens the
   content box is still exactly 1280px and lines up with the header. */
.blf-ak .container{padding-inline:clamp(16px,3vw,24px);max-width:calc(var(--bl-container) + 2 * clamp(16px,3vw,24px))}

/* ---- Hero ---- */
.blf-ak-hero{background:linear-gradient(180deg,#fff,var(--bl-soft))}
.blf-ak-hero--bg{position:relative;display:flex;align-items:center;min-height:var(--blf-hero-h,310px);
	background:#0b2c5a right center / cover no-repeat}
.blf-ak-hero--bg::before{content:"";position:absolute;inset:0;pointer-events:none;
	background:linear-gradient(90deg,rgba(6,26,52,.93) 0%,rgba(6,26,52,.84) 36%,rgba(6,26,52,.45) 64%,rgba(6,26,52,.08) 86%)}
.blf-ak-hero__inner{position:relative;z-index:1;padding-block:64px}
.blf-ak-hero--bg .blf-ak-hero__inner{color:#fff}
.blf-ak-hero__eyebrow{margin:0 0 14px;font-size:.78rem;font-weight:700;letter-spacing:.12em;
	text-transform:uppercase;color:var(--bl-orange)}
.blf-ak-hero--bg .blf-ak-hero__eyebrow{color:#FFB38A}
.blf-ak-hero__title{max-width:18ch;margin:0 0 .4em;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;
	letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
.blf-ak-hero--bg .blf-ak-hero__title{color:#fff}
.blf-ak-hero__accent{display:block;color:var(--bl-orange)}
.blf-ak-hero--bg .blf-ak-hero__accent{color:#FFB38A}
.blf-ak-hero__lead{max-width:56ch;margin:0 0 26px;font-size:1.06rem;color:var(--bl-muted)}
.blf-ak-hero--bg .blf-ak-hero__lead{color:#D7E1EE}
.blf-ak-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.blf-ak-hero--bg .blf-ak-hero__actions .blf-btn--ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.blf-ak-hero--bg .blf-ak-hero__actions .blf-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.10)}
.blf-ak-hero__stats{display:flex;flex-wrap:wrap;gap:0;margin:34px 0 0;max-width:840px;
	border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden;background:#fff}
.blf-ak-hero--bg .blf-ak-hero__stats{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22)}
.blf-ak-hero__stats > div{flex:1 1 auto;padding:12px 18px;border-right:1px solid var(--bl-line)}
.blf-ak-hero--bg .blf-ak-hero__stats > div{border-right-color:rgba(255,255,255,.18)}
.blf-ak-hero__stats > div:last-child{border-right:0}
.blf-ak-hero__stats dt{margin:0 0 3px;font-size:.7rem;font-weight:700;letter-spacing:.1em;
	text-transform:uppercase;color:var(--bl-muted)}
.blf-ak-hero--bg .blf-ak-hero__stats dt{color:#9DB0C8}
.blf-ak-hero__stats dd{margin:0;font-size:1.02rem;font-weight:700;color:var(--bl-navy);white-space:nowrap}
.blf-ak-hero--bg .blf-ak-hero__stats dd{color:#fff}
.blf-ak-hero__stats dd span{font-weight:500;font-size:.85rem;opacity:.75}

/* ---- Promises ---- */
.blf-ak-usp{background:var(--bl-soft)}
.blf-ak-usp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blf-ak-usp__item{background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:24px}
.blf-ak-usp__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
	margin-bottom:14px;border-radius:10px;background:#FDEDE4;color:var(--bl-orange)}
.blf-ak-usp__icon svg{width:24px;height:24px}
.blf-ak-usp__title{margin:0 0 8px;font-size:1.05rem;font-weight:700}
.blf-ak-usp__note{margin:0;font-size:.92rem;color:var(--bl-muted)}

/* ---- Three steps ---- */
.blf-ak-how__sub{margin:0;color:var(--bl-muted);font-size:.95rem;max-width:60ch}
.blf-ak-how__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:none}
.blf-ak-how__step{position:relative;display:flex;flex-direction:column}
.blf-ak-how__media{margin:0 0 16px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);
	overflow:hidden;background:var(--bl-soft);aspect-ratio:4/3}
.blf-ak-how__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-ak-how__no{display:inline-block;margin-bottom:6px;font-size:.78rem;font-weight:800;letter-spacing:.12em;
	color:var(--bl-orange)}
.blf-ak-how__title{margin:0 0 6px;font-size:1.1rem;font-weight:700}
.blf-ak-how__text{margin:0;font-size:.94rem;color:var(--bl-muted)}

/* ---- Space ---- */
.blf-ak-space{background:var(--bl-navy);color:#D7E1EE}
.blf-ak-space__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.blf-ak-space .blf-section__title{color:#fff;margin-bottom:18px}
.blf-ak-space__copy p{margin:0 0 14px;font-size:1rem}
.blf-ak-space__list{margin:22px 0 0;display:grid;gap:10px}
.blf-ak-space__list li{position:relative;padding-left:26px;font-size:.94rem;color:#BFCEDF}
.blf-ak-space__list li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;
	border-radius:3px;background:var(--bl-orange)}
.blf-ak-space__media{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.blf-ak-space__media figure{margin:0}
.blf-ak-space__media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--bl-radius);background:#fff}
.blf-ak-space__media figcaption{margin-top:8px;font-size:.8rem;color:#9DB0C8;text-align:center}

/* ---- Leg shapes ---- */
.blf-ak-legs__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.blf-ak-legs__item{display:flex;flex-direction:column;border:1px solid var(--bl-line);
	border-radius:var(--bl-radius);overflow:hidden;background:#fff}
.blf-ak-legs__media{margin:0;background:var(--bl-soft);aspect-ratio:16/10}
.blf-ak-legs__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.blf-ak-legs__body{padding:24px;display:flex;flex-direction:column;flex:1 1 auto}
.blf-ak-legs__name{margin:0 0 10px;font-size:1.4rem;font-weight:800;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.blf-ak-legs__name span{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:var(--bl-orange)}
.blf-ak-legs__text{margin:0 0 20px;color:var(--bl-muted);font-size:.95rem;flex:1 1 auto}
.blf-ak-legs__links{display:flex;gap:10px;flex-wrap:wrap;margin:0}

/* ---- Finishes ---- */
.blf-ak-fin{background:var(--bl-soft)}
.blf-ak-fin__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.blf-ak-fin__item{display:flex;flex-direction:column;align-items:center;text-align:center;
	background:#fff;border:1px solid var(--bl-line);border-radius:var(--bl-radius);padding:14px}
.blf-ak-fin__item img{width:100%;aspect-ratio:4/3;object-fit:contain;mix-blend-mode:multiply}
.blf-ak-fin__name{margin-top:8px;font-weight:700;color:var(--bl-navy)}
.blf-ak-fin__model{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-muted)}

/* ---- Spec ---- */
.blf-ak-spec__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;
	border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden}
.blf-ak-spec__row{padding:20px 22px;border-right:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line)}
.blf-ak-spec__row:nth-child(3n){border-right:0}
.blf-ak-spec__row:nth-last-child(-n+3){border-bottom:0}
.blf-ak-spec__row dt{margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.1em;
	text-transform:uppercase;color:var(--bl-muted)}
.blf-ak-spec__row dd{margin:0}
.blf-ak-spec__row dd strong{display:block;font-size:1.05rem;color:var(--bl-navy)}
.blf-ak-spec__row dd span{display:block;margin-top:5px;font-size:.86rem;color:var(--bl-muted)}

/* ---- Use cases ---- */
.blf-ak-use__wide{margin:0 0 28px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);overflow:hidden}
.blf-ak-use__wide img{width:100%}
.blf-ak-use__wide figcaption{padding:12px 16px;font-size:.86rem;color:var(--bl-muted);
	background:var(--bl-soft);border-top:1px solid var(--bl-line)}
.blf-ak-use__split{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}
.blf-ak-use__list{display:grid;gap:12px}
.blf-ak-use__list li{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:600;color:var(--bl-navy)}
.blf-ak-use__list svg{flex:none;color:var(--bl-orange)}
.blf-ak-use__photo{margin:0;border-radius:var(--bl-radius);overflow:hidden}
.blf-ak-use__photo img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* ---- Build quality ---- */
.blf-ak-build{background:var(--bl-soft)}
.blf-ak-build__inner{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
.blf-ak-build__media{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.blf-ak-build__media img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--bl-radius);background:#fff}
.blf-ak-build__copy p{margin:0 0 14px;color:var(--bl-muted)}
.blf-ak-build__cta{margin:22px 0 0}

/* ---- Product row ---- */
.blf-ak-prods__grid{grid-template-columns:repeat(3,1fr)}

/* ---- FAQ ---- */
.blf-ak-faq__list{display:grid;gap:10px;max-width:900px}
.blf-ak-faq__item{border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:#fff}
.blf-ak-faq__item summary{padding:16px 20px;font-weight:700;color:var(--bl-navy);cursor:pointer;
	list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.blf-ak-faq__item summary::-webkit-details-marker{display:none}
.blf-ak-faq__item summary::after{content:"+";flex:none;font-size:1.3rem;font-weight:400;color:var(--bl-orange)}
.blf-ak-faq__item[open] summary::after{content:"–"}
.blf-ak-faq__item p{margin:0;padding:0 20px 18px;color:var(--bl-muted);font-size:.95rem}

/* ---- Advisor strip ---- */
.blf-ak-help__box{display:flex;align-items:center;gap:24px;flex-wrap:wrap;
	padding:28px;border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:var(--bl-soft)}
.blf-ak-help__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;
	width:56px;height:56px;border-radius:50%;background:#fff;color:var(--bl-orange);border:1px solid var(--bl-line)}
.blf-ak-help__copy{flex:1 1 320px}
.blf-ak-help__title{margin:0 0 6px;font-size:1.2rem;font-weight:800}
.blf-ak-help__text{margin:0 0 8px;color:var(--bl-muted);font-size:.95rem}
.blf-ak-help__contact{margin:0;font-weight:700;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.blf-ak-help__contact span{color:var(--bl-line)}
.blf-ak-help__cta{flex:none}

/* ---- The configurator's own section ---- */
.blf-ak-config{background:var(--bl-soft);padding-bottom:64px;scroll-margin-top:90px}
.blf-ak-config .blf-page__content{margin:0}

@media(max-width:1000px){
	.blf-ak-usp__grid{grid-template-columns:repeat(2,1fr)}
	.blf-ak-space__inner,.blf-ak-build__inner{grid-template-columns:1fr;gap:28px}
	.blf-ak-use__split{grid-template-columns:1fr}
	.blf-ak-spec__grid{grid-template-columns:repeat(2,1fr)}
	.blf-ak-spec__row:nth-child(3n){border-right:1px solid var(--bl-line)}
	.blf-ak-spec__row:nth-last-child(-n+3){border-bottom:1px solid var(--bl-line)}
	.blf-ak-spec__row:nth-child(2n){border-right:0}
	.blf-ak-spec__row:nth-last-child(-n+2){border-bottom:0}
	.blf-ak-prods__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
	.blf-ak-hero--bg{min-height:0}
	.blf-ak-hero--bg::before{background:linear-gradient(180deg,rgba(6,26,52,.86) 0%,rgba(6,26,52,.92) 100%)}
	.blf-ak-hero__inner{padding-block:44px}
	.blf-ak-how__grid,.blf-ak-legs__grid{grid-template-columns:1fr}
	.blf-ak-fin__grid{grid-template-columns:repeat(2,1fr)}
	.blf-ak-help__box{padding:22px}
	.blf-ak-help__cta{width:100%;justify-content:center}
}
@media(max-width:560px){
	.blf-ak-usp__grid{grid-template-columns:1fr}
	.blf-ak-spec__grid{grid-template-columns:1fr}
	.blf-ak-spec__row{border-right:0!important;border-bottom:1px solid var(--bl-line)!important}
	.blf-ak-spec__row:last-child{border-bottom:0!important}
	.blf-ak-prods__grid{grid-template-columns:1fr}
	.blf-ak-space__media,.blf-ak-build__media{grid-template-columns:1fr}
	.blf-ak-hero__stats > div{flex:1 1 50%;min-width:0;border-bottom:1px solid var(--bl-line)}
	.blf-ak-hero__stats dd{font-size:.92rem}
	.blf-ak-hero--bg .blf-ak-hero__stats > div{border-bottom-color:rgba(255,255,255,.18)}
}
