/* laava-qty */
/* ==========================================================================================================
   Darabszám-választó – EGY szülő komponens (B-118, 2026-11-07)
   A Woo `quantity-input` + a téma +/- gombjai (inc/woocommerce/controls.php) mindenhol ugyanazt a markupot adják:
   termékoldal, minikosár, kosár oldal. A kinézet csak itt van; a környezetek kizárólag a méret-változókat állítják
   (--q-h magasság, --q-btn gombszélesség, --q-in mezőszélesség, --q-fs betűméret). Korábbi, környezetenként külön
   szabályok (storefront.css, cart-laava.css, product-v2.css, product-laava.css) törölve – ne írj új .quantity
   szabályt máshová, csak a változókat add meg a saját környezetedben.
   ========================================================================================================== */
html body .quantity:has(> .lv-qty-button) {
	--q-h: 40px;
	--q-btn: 36px;
	--q-in: 36px;
	--q-fs: 15px;
	position: relative;
	display: inline-flex;
	align-items: stretch;
	flex: none;
	float: none;
	width: auto;
	height: var(--q-h);
	margin: 0;
	padding: 0;
	border: 1px solid #8f857d;
	border-radius: var(--laava-radius-field, 2px);
	background: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
}
html body .quantity:has(> .lv-qty-button) .lv-qty-button {
	position: static;
	inset: auto;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--q-btn);
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--laava-graphite);
	font: 400 calc(var(--q-fs) + 4px) / 1 var(--laava-font-body);
	cursor: pointer;
	transition: background-color 150ms ease-out;
}
@media (hover: hover) {
	html body .quantity:has(> .lv-qty-button) .lv-qty-button:hover:not(:disabled) {
		background: var(--laava-beige);
	}
}
html body .quantity:has(> .lv-qty-button) .lv-qty-button:focus-visible {
	outline: 2px solid var(--laava-campaign);
	outline-offset: -2px;
}
html body .quantity:has(> .lv-qty-button) .lv-qty-button:disabled {
	opacity: 0.35;
	cursor: default;
}
html body .quantity:has(> .lv-qty-button) .qty {
	width: var(--q-in);
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--laava-graphite);
	font: 500 var(--q-fs) / 1 var(--laava-font-body);
	font-variant-numeric: tabular-nums;
	text-align: center;
	-moz-appearance: textfield;
}
html body .quantity:has(> .lv-qty-button) .qty::-webkit-inner-spin-button,
html body .quantity:has(> .lv-qty-button) .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
html body .quantity:has(> .lv-qty-button) .qty:focus-visible {
	outline: 2px solid var(--laava-campaign);
	outline-offset: -2px;
}
/* Egydarabos / „egyedi” termék: a Woo rejtett mezőt ad, a választó ilyenkor nem látszik. */
html body .quantity:has(input[type='hidden']) {
	display: none !important;
}

/* --- Méretek környezetenként (csak változók) --- */
/* Termékoldal: a Kosárba gombbal és a kedvenc gombbal egy sorban, azonos 56 px magasságban és felső térközzel. */
html body .summary form.cart .quantity:has(> .lv-qty-button) {
	--q-h: 56px;
	--q-btn: 44px;
	--q-in: 40px;
	--q-fs: 16px;
	align-self: flex-start;
	margin-top: 8px;
}
html body .summary form.cart .single_add_to_cart_button {
	height: 56px;
	min-height: 56px;
	margin-top: 8px;
}
html body .summary form.cart .lv-single-wish {
	margin-top: 8px;
}
html body .summary form.cart .lv-single-wish :is(a, button) {
	width: 56px;
	height: 56px;
}
/* Kosár oldal: alapméret (40 px). Minikosár: kompakt (34 px). */
html body :is(#lv-minicart, .lv-minicart, .widget_shopping_cart) .quantity:has(> .lv-qty-button) {
	--q-h: 34px;
	--q-btn: 32px;
	--q-in: 32px;
	--q-fs: 14px;
}

/* laava-free-shipping-bar */
:root {
	--laava-background-color-primary: var( --laava-color__primary );
	--laava-background-color-gray: #ebebeb;
}

@keyframes raise {
	0% {
		width: 36px;
	}
	100% {
		width: var(--laava-progress, 100%);
	}
}

@keyframes move {
	0% {
		left: 0;
	}
	100% {
		left: var(--laava-progress, 100%);
	}
}

@keyframes raiseFull {
	0% {
		width: 0;
	}
	100% {
		width: calc( var(--laava-progress, 100%) - 36px );
	}
}

@keyframes moveFull {
	0% {
		left: 0;
	}
	100% {
		left: calc( var(--laava-progress, 100%) - 36px );
	}
}

.laava-free-shipping-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.laava-free-shipping-bar.lv-is-unreached {
	--laava-background-color-primary: #E0B252;
}

.laava-free-shipping-bar.lv-is-success {
	--laava-background-color-primary: #428445;
}

.laava-free-shipping-bar__message {
	color: var( --laava-color__dark );
	width: 100%;
	margin-top: 29px;
}

.laava-free-shipping-bar__message strong {
	text-transform: uppercase;
}

.laava-free-shipping-bar__progress {
    width: 100%;
    background-color: var(--laava-background-color-gray);
	display: flex;
	height: 4px;
	border-radius: var( --laava-rounded-x );
	position: relative;
}

.laava-free-shipping-bar__progress-bar {
    background-color: var(--laava-background-color-primary);
    background-size: 15px 15px;
	border-radius: var( --laava-rounded-x );
	height: 100%;
	position: relative;
	min-width: 36px;
	width: var(--laava-progress);
	transition: all .5s ease .2s;
}

.laava-free-shipping-bar__icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border: 1px solid var( --laava-background-color-primary );
	border-radius: var( --laava-rounded-x );
	width: 36px;
	height: 26px;
	line-height: 28px;
	text-align: center;
	background-color: var( --laava-color__light );
	transition: all .5s ease .2s;
}

.rtl .laava-free-shipping-bar__icon {
	right: auto;
	left: 0;
	transform: translateY(-50%) scaleX(-1);
}

.rtl .laava-free-shipping-bar--preload .laava-free-shipping-bar__icon {
	right: auto;
	left: 0;
}

.laava-free-shipping-bar--preload .laava-free-shipping-bar__progress-bar {
	width: 36px;
	min-width: 36px;
	animation: raise 0.8s forwards;
	animation-delay: 1s;
}

.lv-is-success .laava-free-shipping-bar__message {
	font-weight: 600;
}

.lv-is-success .laava-free-shipping-bar__icon {
	background-color: var( --laava-background-color-primary );
}

.lv-is-success .laava-free-shipping-bar__icon .laava-svg-icon {
	color: var( --laava-color__light );
}

.laava-free-shipping-bar__icon .laava-svg-icon {
	font-size: 19px;
	color: var( --laava-background-color-primary );
	transition: all .5s ease .2s;
}

.laava-free-shipping-bar__percent-value {
	font-size: 13px;
	font-weight: 500;
	width: 50px;
	text-align: right;
	margin-top: -9px;
	display: none;
}

.rtl .laava-free-shipping-bar__percent-value {
	text-align: left;
}

.woocommerce-cart .site-content .laava-free-shipping-bar,
.woocommerce-checkout .site-content .laava-free-shipping-bar {
	border: 1px dashed var(--laava-border-color);
	padding: 42px 30px 25px;
	margin-bottom: 25px;
}

.woocommerce-checkout .site-content .laava-free-shipping-bar {
	margin-bottom: 25px;
	padding-bottom: 20px;
}

.cart-panel .laava-free-shipping-bar {
	padding: 15px 30px 20px;
	position: relative;
}

.cart-panel .laava-free-shipping-bar__message {
	font-size: 16px;
	margin-top: 20px;
	margin-bottom: 18px;
}

.cart-panel .laava-free-shipping-bar:after {
	content: '';
	bottom: 0;
	height: 1px;
	width: 100%;
	background-color: var(--laava-border-color);
}

.laava-popup-add-to-cart .laava-free-shipping-bar  {
	padding-top: 20px;
}

.laava-free-shipping-bar + .widget_shopping_cart_content {
	height: calc( 100% - 105px );
}

@media (max-width: 767px) {
	.cart-panel .laava-free-shipping-bar__message {
		font-size: 13px;
	}
}
/* laava-home */
/* Új főoldal (B-035). Csak tokenek, nincs árnyék; a szekciók 1280 px-es konténerben, mobilon 20 px margóval. */
.lv-home{padding-bottom:24px}
.lv-home h1,.lv-home h2{font-family:var(--laava-font-display);font-weight:500;color:var(--laava-graphite);margin:0}
.lv-home-sec{margin-block:56px}
.lv-home-sec h2{font-size:clamp(28px,4vw,40px);line-height:1.1;margin-bottom:20px}
.lv-home-sec__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.lv-home-sec__head h2{margin:0}
.lv-home .lv-btn-ghost,.lv-home .lv-btn-ghost:hover{background:transparent;color:var(--laava-graphite)}
.lv-home .lv-btn-ghost:hover{background:var(--laava-beige-2)}
/* hero */
.lv-hero{margin-top:24px;position:relative}
.lv-hero__slide{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;min-height:400px;padding:48px;border-radius:var(--laava-radius-lg)}
.lv-hero__slide[hidden]{display:none}
.lv-hero__eyebrow{margin:0 0 12px;font:500 12px/1 var(--laava-font-body);letter-spacing:.14em;text-transform:uppercase}
.lv-hero h2{font-size:clamp(34px,5vw,56px);line-height:1.05}
.lv-hero__text{margin:16px 0 24px;max-width:46ch;color:var(--laava-text-2);line-height:1.6}
.lv-hero__media img{width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:var(--laava-radius-base)}
.lv-hero__controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
.lv-hero__nav,.lv-hero__pause{min-width:44px;min-height:44px;border:1px solid var(--laava-line);border-radius:999px;background:#fff;color:var(--laava-graphite);font:500 14px/1 var(--laava-font-body);cursor:pointer;padding:0 14px}
.lv-hero__nav{font-size:22px;padding:0}
.lv-hero__dots{display:flex;gap:8px}
.lv-hero__dots button{width:44px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}
.lv-hero__dots button::after{content:"";position:absolute;left:0;right:0;top:10px;height:3px;border-radius:0;background:var(--laava-line)}
.lv-hero__dots button[aria-current]::after{background:var(--laava-graphite)}
.lv-hero button:focus-visible,.lv-hero a:focus-visible{outline:2px solid var(--laava-graphite);outline-offset:2px}
/* kiemelt gombok, USP */
.lv-usp-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;margin:24px 0 0;padding:0;list-style:none;color:var(--laava-text-2);font-size:14px}
/* hangulat-csempék */
/* fresh, kedvencek */
.lv-home-fresh{margin-block:56px;padding:48px 0;background:var(--laava-beige)}
/* kvíz */
.lv-chip{display:inline-block;margin:0 8px 8px 0;cursor:pointer}
.lv-chip input{position:absolute;opacity:0;pointer-events:none}
.lv-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--laava-line);border-radius:0;background:#fff;font-size:14px}
.lv-chip input:checked+span{background:var(--laava-mocha);border-color:var(--laava-mocha);color:#fff}
.lv-chip input:focus-visible+span{outline:2px solid var(--laava-graphite);outline-offset:2px}
/* lexikon */
/* ígéretek */
.lv-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.lv-chips li{padding:8px 16px;border-radius:0;background:var(--laava-beige-2);font-size:14px}
/* instagram */
/* tablet */
@media (max-width:1023px){.lv-home-sec{margin-block:48px}.lv-usp-row{display:grid;grid-template-columns:1fr 1fr;justify-items:center;text-align:center}.lv-hero__slide{grid-template-columns:1fr;padding:32px}}
/* mobil: a hangulat-csempék vízszintesen csúsztathatók, nincs oldal-túlnyúlás */
@media (max-width:767px){
	.lv-home-sec{margin-block:40px}
	.lv-hero__slide{min-height:0;padding:24px}
}
@media (prefers-reduced-motion:reduce){.lv-home *{transition:none!important;scroll-behavior:auto!important}}

/* ======================================================================================================================
   Főoldal a vászon (Main board) szerint, 1:1 (B-035, 2026-11-04). Felülírja a fenti első változatot.
   Konténer: 1280 px doboz, 40 px oldalpadding = 1200 px tartalom (mobilon 20 px). Gombok: .lv-hbtn = .lv-btn (design.css, B-093 tokenek);
   primary = accent #7801f2 (Gábor döntése), dark/CTA = grafit, outline = grafit keret.
   ====================================================================================================================== */
.lv-home .lv-wrap{max-width:1280px;padding-inline:40px;box-sizing:border-box}
.lv-home-sec__intro{display:flex;flex-direction:column;gap:8px}
.lv-home-sec__intro p{margin:0;color:#5A534D}
.lv-home .lv-home-sec__head{align-items:flex-end;margin-bottom:40px}

/* Promó-karusszel: 1200 × 440 px, 8 px, padding 0 96, két oszlop; nyilak a kártyán; alatta szegmens-csíkok (120 × 44, 3 px). */
.lv-home .lv-hero{max-width:1280px;margin:0 auto;padding:24px 40px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px}
.lv-hero__stage{position:relative}
.lv-home .lv-hero__slide{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;min-height:440px;padding:0 96px;box-sizing:border-box;border-radius:0;overflow:hidden}
.lv-home .lv-hero__slide[hidden]{display:none}
.lv-home .lv-hero__copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.lv-home .lv-hero__eyebrow{margin:0;font:500 13px/1.3 var(--laava-font-body);letter-spacing:.08em;text-transform:uppercase}
.lv-home .lv-hero h2{margin:0;font:500 58px/1.04 var(--laava-font-display);text-wrap:balance}
.lv-home .lv-hero__text{margin:0;max-width:440px;font-size:17px;line-height:1.6;color:inherit;opacity:.92}
.lv-home .lv-hero__btn{margin-top:8px}
.lv-home .lv-hero__media{justify-self:center;width:340px;max-width:100%}
.lv-home .lv-hero__media img{display:block;width:100%;height:auto;aspect-ratio:5/4;max-height:none;object-fit:cover;border-radius:0}
.lv-home .lv-hero__nav{position:absolute;top:50%;z-index:2;width:44px;height:44px;min-width:0;min-height:0;margin-top:-22px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #E6D9CC;border-radius:50%;background:#fff;color:#24211F;cursor:pointer}
.lv-home .lv-hero__nav--prev{left:16px}
.lv-home .lv-hero__nav--next{right:16px}
.lv-home .lv-hero__controls{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:0}
.lv-home .lv-hero__dots{display:flex;gap:12px}
.lv-home .lv-hero__dots button{width:120px;height:44px}
.lv-home .lv-hero__dots button::after{top:20px;height:3px;background:#D9CFC2}
.lv-home .lv-hero__dots button[aria-current]::after{background:#24211F}

/* Hero: #F6F1EB, 64/40 padding, két oszlop (min. 420 px), 56 px köz; H1 68/1.04, bekezdés 18 px #3F3A36, kép 460 px négyzet. */

/* Bizalmi sáv: 4 oszlop, 24 px köz, 28/40 padding, alul 1 px #F0F0F0; 15/500 cím + 14 px #5A534D alcím. */

/* Szekció-térközök és címek a vászon szerint. */
.lv-home .lv-home-sec{margin-block:0}
.lv-home .lv-fresh__head h2{margin:0;font:500 40px/1.1 var(--laava-font-display)}
/* Frissen feltöltöttük: lágy lila háttér (softgrad), 80/40 padding, 5 kártya egy sorban, fülek 40 px 15/500, alatta sötét gomb. */
.lv-home .lv-home-fresh{margin:0;padding:0;background:#F4EAF6}
.lv-home .lv-home-fresh .lv-fresh{margin:0;padding-block:80px}
.lv-home .lv-fresh__head{margin-bottom:40px}
.lv-home .lv-fresh__intro{display:flex;flex-direction:column;gap:8px;max-width:620px}
.lv-home .lv-fresh__intro p{margin:0;color:#3F3A36}
.lv-home .lv-fresh__tabs{gap:8px;margin:0 0 24px}
.lv-home .lv-fresh__tabs .lv-chip{display:inline-flex;align-items:center;height:40px;min-height:40px;margin:0;padding:0 16px;border:1px solid #D9D2CA;border-radius:0;background:transparent;color:#24211F;font:500 15px/1 var(--laava-font-body)}
.lv-home .lv-fresh__tabs .lv-chip.is-on,.lv-home .lv-fresh__tabs .lv-chip[aria-selected="true"]{background:#5C3D2E;border-color:#5C3D2E;color:#fff}
.lv-home .lv-fresh ul.products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 12px}
.lv-home .lv-fresh__all{margin-top:28px}

@media (max-width:1023px){
	.lv-home .lv-hero__slide{grid-template-columns:minmax(0,1fr);padding:0 72px;gap:20px}
	.lv-home .lv-fresh ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:599px){
	.lv-home .lv-wrap,.lv-home .lv-hero{padding-inline:20px}
	.lv-home .lv-hero__slide{min-height:400px;padding:24px}
	.lv-home .lv-hero h2{font-size:34px}
	.lv-home .lv-hero__nav{display:none}
	.lv-home .lv-hero__dots button{width:64px}
	/* Mobil: hangulat-csempék 2 oszlopos rácsban (MobilMain), felirat 20 px. */
	.lv-home .lv-fresh__head h2{font-size:32px}
	/* Mobil: a Frissen szekció sötét, a kártyák vízszintesen húzhatók (168 px). */
	.lv-home .lv-home-fresh{background:#24211F;color:#fff}
	.lv-home .lv-home-fresh .lv-fresh__head h2,.lv-home .lv-home-fresh .lv-fresh__intro p{color:#fff}
	.lv-home .lv-fresh__tabs .lv-chip{color:#fff;border-color:rgba(255,255,255,.35)}
	.lv-home .lv-fresh ul.products{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:168px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}
	.lv-home .lv-fresh ul.products>li{scroll-snap-align:start}
	.lv-home .lv-home-fresh .lv-product-card,.lv-home .lv-home-fresh .lv-product-card .woocommerce-loop-product__title,.lv-home .lv-home-fresh .lv-product-card .price,.lv-home .lv-home-fresh .lv-product-card .price ins{color:#fff}
	.lv-home .lv-home-fresh .lv-product-card .lv-card__cat,.lv-home .lv-home-fresh .lv-product-card .price del{color:rgba(255,255,255,.72)}
	.lv-home .lv-home-fresh .lv-hbtn--dark{background:#fff;color:#24211F}
}

/* Főoldal alsó része a Main board szerint. */
/* Ajándékkereső: #F6F1EB, 96/40, két egyenlő oszlop (min. 420 px), 56 px köz; H2 48 px; chipek 44 px, 8 px, 14/500; CTA a bal oszlopban. */
/* Lexikon: 88/40, két oszlop, 48 px köz; kép 16:10, 8 px; mobilon a kép felül. */
/* Amit ígérünk: #F6F1EB sáv, 40/40/96, középre; kártyák fehérek, 1 px #EDE6DC, 8 px, 28 px, ikon + H3 26 px; idézet 32 px, doboz nélkül. */
/* Instagram: 88/40, két oszlop, 56 px köz; H2 52 px; 2×2 kép 16 px közzel. */
/* UGC tekercs: #F6F1EB, 72/40/32 fejléc; 232 px-es 3:4 csempék, 16 px köz, folyamatos mozgás; hoverre/fókuszra áll. */
@keyframes lv-ugc{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:599px){
	/* Mobilon a Lexikon képe a szöveg fölött (MobilMain). */
}
/* A kvíz-chip címkéje ne kapja a közös .lv-chip (design.css) keretét: a látható chip a belső span. */
/* Instagram: a két oszlop képek nélkül is megmarad (a szöveg nem nyúlik a teljes szélességre). */
/* Mobil promó (MobilMain): vízszintesen húzható, 316 px széles, min. 400 px magas kártyák (8 px), teljes szélességű 52 px-es gomb;
   minden dia látszik (a JS-lapozás `hidden` attribútumát itt felülírjuk), a szegmens-lapozó rejtve. */
@media (max-width:599px){
	.lv-home .lv-hero{padding-inline:0}
	.lv-home .lv-hero__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:0 20px 8px;scrollbar-width:none}
	.lv-home .lv-hero__track::-webkit-scrollbar{display:none}
	.lv-home .lv-hero__slide,.lv-home .lv-hero__slide[hidden]{display:flex;flex-direction:column;justify-content:space-between;flex:0 0 316px;min-height:400px;padding:24px;scroll-snap-align:start}
	.lv-home .lv-hero__btn{width:100%;min-height:52px}
	.lv-home .lv-hero__media{width:100%}
	.lv-home .lv-hero__controls{display:none}
}
/* Automatikus diák (vászon Main): „Friss feltöltés” lágy színátmenettel és 2×2-es, 150 px-es termékfotókkal; „Insta Shop” nagy
   dátummal (Cormorant 132 px) és az időponttal. */
.lv-hero__slide--grad{background:#F4EAF6 url(https://laava.hu/wp-content/themes/laava/assets/css/../img/soft-grad.webp) center/cover no-repeat}
.lv-hero__thumbs{justify-self:center;display:grid;grid-template-columns:repeat(2,150px);gap:12px}
.lv-hero__thumbs img{display:block;width:150px;height:150px;object-fit:cover;border-radius:0;background:#FFFFFF}
.lv-hero__date{justify-self:center;display:flex;flex-direction:column;line-height:1}
.lv-hero__date span:first-child{font:500 132px/1 var(--laava-font-display);color:#24211F}
.lv-hero__date span:last-child{padding-top:10px;font-size:22px;color:#3F3A36}
@media (max-width:1023px){.lv-hero__thumbs{grid-template-columns:repeat(2,110px)}.lv-hero__thumbs img{width:110px;height:110px}.lv-hero__date span:first-child{font-size:88px}}
@media (max-width:699px){.lv-hero__thumbs,.lv-hero__date{display:none}}

/* B-080 – „[N] új darab érkezett” mozgó háttér (vászon Main/Mobil „SGA v1” és „SGA-X” CSS-blokk; 5. kör, Gábor 2026-11-06:
   „erőteljesebb színmozgás”). A meglévő soft-grad kép két rétege (::before, ::after – a második tükrözve) és a vászon három elmosott
   színfoltja (lila / rózsaszín / kékes) mozog. 5. kör: ciklus 22/30 s → 11/13 s, 6. kör (Gábor: „minimálisan gyorsabb”): 9/11 s, foltok 7 s, fényesség 3 s, asztali szín 5/7 s; nagyobb elmozdulás / skála / forgás (a rétegek
   −30 %-kal nagyobbak, hogy a szél ne látsszon), telítettebb rétegek, a színfoltok mindenhol (mobilon és csempén is), erősebb
   fedéssel. Mobilon csak transform / opacity animál (a telítés ott statikus szűrő, egyszer rajzolódik); asztalon (≥ 768 px) a
   rétegek `filter` szín-lüktetése is fut (újrafestés – szándékosan csak ott). A szöveg grafit marad; a foltok a dia jobb felén
   erősebbek, a szöveg mögött (bal oldal) halványabbak.
   Felületek: a téma tartalék hero-diája (`.lv-hero__slide--grad` + `<span class="lv-sgw">`, hero.php) és a LAAVA Promo „Friss
   feltöltés” tétele (`.lvpm-type--new`, a Promo jelölésén nem változtatva – a Promo fájljai a B-079 szálé; a foltréteg ott a
   `.lvpm-copy::before`, mert a `.lvpm-copy` nem pozicionált, így a diához igazodik).
   Rétegsorrend (5. kör): ::before és ::after (−2, a képrétegek) → színfoltok (−1) legfelül; a vásznon a félig átlátszó ::after a
   foltok fölött volt és kimosta őket. */
.lv-sga,.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit){isolation:isolate;overflow:hidden;background:#F4EAF6;color:#24211F}
.lv-sga{position:relative}
.lvpm--tiles .lvpm-slide.lvpm-type--new{position:relative}
/* Mobilon a Promo minden diát `position:static` kártyasorba tesz; a rétegeknek a diához kell igazodniuk. Asztali bannernél az
   `absolute` marad (az is pozicionált). */
@media (max-width:767px){.lvpm .lvpm-slide.lvpm-type--new{position:relative}}
.lv-sga::before,.lv-sga::after,
.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::before,.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::after{content:"";position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:#F4EAF6 url(https://laava.hu/wp-content/themes/laava/assets/css/../img/soft-grad.webp) center/cover no-repeat;will-change:transform}
.lv-sga::before,.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::before{z-index:-2;filter:saturate(1.7) contrast(1.06);animation:lv-sga1 9s ease-in-out infinite alternate}
.lv-sga::after,.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::after{z-index:-2;opacity:.6;filter:saturate(1.8) contrast(1.06);animation:lv-sga2 11s ease-in-out infinite alternate}
@keyframes lv-sga1{from{transform:translate(-9%,-6%) scale(1.04) rotate(-5deg)}to{transform:translate(9%,7%) scale(1.3) rotate(9deg)}}
@keyframes lv-sga2{from{transform:scaleX(-1) translate(9%,6%) scale(1.32) rotate(-8deg)}to{transform:scaleX(-1) translate(-9%,-7%) scale(1.06) rotate(7deg)}}
.lv-sgw,.lvpm .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit) .lvpm-copy::before{content:"";display:block;position:absolute;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(42% 58% at 18% 28%,rgba(175,120,235,.6),transparent 72%),radial-gradient(44% 60% at 80% 22%,rgba(255,130,205,.9),transparent 72%),radial-gradient(50% 62% at 66% 82%,rgba(125,150,255,.85),transparent 72%),radial-gradient(30% 40% at 45% 60%,rgba(220,150,240,.55),transparent 70%);filter:blur(18px);will-change:transform,opacity;animation:lv-sgw 7s ease-in-out infinite alternate,lv-sgv 3s ease-in-out infinite alternate}
@keyframes lv-sgw{from{transform:translate(-10%,-7%) scale(.95) rotate(-6deg)}to{transform:translate(10%,7%) scale(1.25) rotate(8deg)}}
@keyframes lv-sgv{from{opacity:.7}to{opacity:1}}
@media (min-width:768px){
	.lv-sga-x::before,.lvpm--banner .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::before{animation:lv-sga1 9s ease-in-out infinite alternate,lv-sgh 5s ease-in-out infinite alternate}
	.lv-sga-x::after,.lvpm--banner .lvpm-slide.lvpm-type--new:not(.lvpm-bg--grafit)::after{opacity:.65;animation:lv-sga2 11s ease-in-out infinite alternate,lv-sgh 7s ease-in-out infinite alternate-reverse}
	/* A nem látható banner-diák rétegei állnak (a Promo `visibility:hidden`-nel rejti őket, az animáció attól még futna). */
	.lvpm--banner.is-js .lvpm-slide.lvpm-type--new:not(.is-cur)::before,.lvpm--banner.is-js .lvpm-slide.lvpm-type--new:not(.is-cur)::after,.lvpm--banner.is-js .lvpm-slide.lvpm-type--new:not(.is-cur) .lvpm-copy::before{animation-play-state:paused}
}
@keyframes lv-sgh{from{filter:saturate(1.5) contrast(1.06) hue-rotate(-18deg)}to{filter:saturate(2.1) contrast(1.08) hue-rotate(18deg)}}
@media (prefers-reduced-motion:reduce){
	.lv-sga::before,.lv-sga::after,.lv-sgw,
	.lvpm .lvpm-slide.lvpm-type--new::before,.lvpm .lvpm-slide.lvpm-type--new::after,.lvpm .lvpm-slide.lvpm-type--new .lvpm-copy::before{animation:none!important}
}

/* B-101 (B-088 (4)): „A hét kedvencei” tableten (≤ 1023 px) NEM görgethető sín, hanem 4 oszlopos rács (20/12 px köz), ≤ 699 px-en
   2 oszlop (24/12 px) – vászon Main `.tq.tq`. A 4 elemű kártyasor-sín (card-laava.css, szál T) a többi sorra (Ezek is tetszhetnek,
   kosár-ajánló) érvényes marad; itt csak a .lv-fav-ot írjuk felül. A sín-szabály !important és (0,6,1) specificitású,
   ezért a `:not(#lv-none)` (nem létező id) emeli ezt a szabályt id-szintre. */

/* ======================================================================================================================
   B-104 – vászon-audit (B-102) főoldali pontjai (F-3…F-6, F-8, F-11…F-13). Csak elrendezés/sorrend; a tartalom nem változik.
   ====================================================================================================================== */
/* F-5: hangulat-csempék köze 1440-en 20 px sor / 12 px oszlop (Main `.g5`). */
/* F-4: „Frissen” ≤1100 px-en vízszintesen görgethető sor 200 px-es kártyákkal (Main `.g5` reszponzív szabálya), nem tört 3+2 rács.
   Mobilon (≤599 px) a meglévő 168 px-es sor marad. */
@media (max-width:1100px) and (min-width:600px){
	.lv-home .lv-fresh ul.products{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:200px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}
	.lv-home .lv-fresh ul.products>li{scroll-snap-align:start}
}
@media (max-width:599px){
	/* F-3: a sötét mobil „Frissen” blokkban az aktív fül fehér háttér, grafit szöveg, fehér keret. */
	.lv-home .lv-home-fresh .lv-fresh__tabs .lv-chip.is-on,.lv-home .lv-home-fresh .lv-fresh__tabs .lv-chip[aria-selected="true"]{background:#fff;border-color:#fff;color:#24211F}
	/* F-6: mobilon a hero fotója kerül előre (fotó → H1 → szöveg → gombok), hogy ne a hajtás alatt legyen. */
	/* F-8: az ajándékkereső CTA-ja a kérdések UTÁN (kérdések → gomb → tipp). A bal oszlop elemei a rács közvetlen elemei lesznek. */
	/* F-11: Ígéretünk – a chipek egy vízszintesen görgethető sorban, a blokk balra igazítva, az idézet is balra. */
	/* F-13: UGC – a „Küldd el a sajátodat” gomb a képsor alá kerül. */
}
/* F-12: Instagram-blokk egy oszlopban (<900 px): gomb → 2×2 képrács → fiókok → TikTok/Facebook (Main/Mobil). */

/* B-167 (Gábor): az Új termékek mozgó háttere (B-080 rétegei) a Promo „Mozgó színátmenet” hátterű diáin is (`.lvpm-hero--soft`,
   alapból az Insta Shop). A nem aktuális banner-dia rétegei állnak; csökkentett mozgásnál nincs animáció. */
.lvpm .lvpm-slide.lvpm-hero--soft{isolation:isolate;overflow:hidden;background:#F4EAF6;color:#24211F}
.lvpm--tiles .lvpm-slide.lvpm-hero--soft{position:relative}
@media (max-width:767px){.lvpm .lvpm-slide.lvpm-hero--soft{position:relative}}
.lvpm .lvpm-slide.lvpm-hero--soft::before,.lvpm .lvpm-slide.lvpm-hero--soft::after{content:"";position:absolute;inset:-30%;z-index:-2;pointer-events:none;background:#F4EAF6 url(https://laava.hu/wp-content/themes/laava/assets/css/../img/soft-grad.webp) center/cover no-repeat;will-change:transform}
.lvpm .lvpm-slide.lvpm-hero--soft::before{filter:saturate(1.7) contrast(1.06);animation:lv-sga1 9s ease-in-out infinite alternate}
.lvpm .lvpm-slide.lvpm-hero--soft::after{opacity:.6;filter:saturate(1.8) contrast(1.06);animation:lv-sga2 11s ease-in-out infinite alternate}
.lvpm .lvpm-slide.lvpm-hero--soft .lvpm-copy::before{content:"";display:block;position:absolute;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(42% 58% at 18% 28%,rgba(175,120,235,.6),transparent 72%),radial-gradient(44% 60% at 80% 22%,rgba(255,130,205,.9),transparent 72%),radial-gradient(50% 62% at 66% 82%,rgba(125,150,255,.85),transparent 72%),radial-gradient(30% 40% at 45% 60%,rgba(220,150,240,.55),transparent 70%);filter:blur(18px);will-change:transform,opacity;animation:lv-sgw 7s ease-in-out infinite alternate,lv-sgv 3s ease-in-out infinite alternate}
@media (min-width:768px){
	.lvpm--banner .lvpm-slide.lvpm-hero--soft::before{animation:lv-sga1 9s ease-in-out infinite alternate,lv-sgh 5s ease-in-out infinite alternate}
	.lvpm--banner .lvpm-slide.lvpm-hero--soft::after{opacity:.65;animation:lv-sga2 11s ease-in-out infinite alternate,lv-sgh 7s ease-in-out infinite alternate-reverse}
	.lvpm--banner.is-js .lvpm-slide.lvpm-hero--soft:not(.is-cur)::before,.lvpm--banner.is-js .lvpm-slide.lvpm-hero--soft:not(.is-cur)::after,.lvpm--banner.is-js .lvpm-slide.lvpm-hero--soft:not(.is-cur) .lvpm-copy::before{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.lvpm .lvpm-slide.lvpm-hero--soft::before,.lvpm .lvpm-slide.lvpm-hero--soft::after,.lvpm .lvpm-slide.lvpm-hero--soft .lvpm-copy::before{animation:none!important}}

