/* 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-live-search */
/* LAAVA live keresés panel (vászon: LiveKereses .lk* osztályok, MobilLiveKereses). Nincs árnyék, 8 px sarkok. */
.lvls-host{position:relative}
.lvls-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.lvls-p{position:absolute;top:calc(100% + 8px);left:0;z-index:60;box-sizing:border-box;width:760px;max-width:calc(100vw - 32px);max-height:min(76vh,720px);overflow:auto;overscroll-behavior:contain;background:#FFFFFF;border:1px solid var(--laava-line,#E6D9CC);border-radius:0;padding:8px 0;color:var(--laava-graphite,#24211F);font:400 16px/1.5 "DM Sans",system-ui,sans-serif;text-align:left;font-variant-numeric:tabular-nums}
.lvls-p.is-in{animation:lvls-in 160ms ease-out}
@keyframes lvls-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lvls-p.is-in{animation:none}}
.lvls-p[hidden]{display:none!important}
.lvls-g{padding:12px 20px;display:flex;flex-direction:column;gap:8px}
.lvls-g+.lvls-g{border-top:1px solid #EFE6DB}
.lvls-g--tight{gap:6px}
.lvls-h{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--laava-mocha,#5C3D2E)}
.lvls-muted{font-size:14px;color:var(--laava-text-2,#5A534D)}
.lvls-chips{display:flex;gap:8px;flex-wrap:wrap}
.lvls-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:0;background:var(--laava-beige,#F6F1EB);font-size:14px;border:1px solid transparent;color:var(--laava-graphite,#24211F);text-decoration:none}
.lvls-chip:hover,.lvls-chip.is-act{border-color:var(--laava-graphite,#24211F)}
.lvls-chip--rec{background:#FFFFFF;border-color:var(--laava-line,#E6D9CC);padding:0 4px 0 14px}
.lvls-chip--rec a{color:inherit;text-decoration:none}
.lvls-chip--rec:has(a.is-act){border-color:var(--laava-graphite,#24211F)}
.lvls-x{border:0;background:transparent;color:var(--laava-text-2,#5A534D);font-size:18px;line-height:1;width:28px;height:28px;border-radius:0;cursor:pointer}
.lvls-x:hover{background:var(--laava-beige-2,#F3EEE8);color:var(--laava-graphite,#24211F)}
.lvls-min{display:flex;align-items:center;gap:14px;background:var(--laava-campaign,#7801f2);color:#FFFFFF;border-radius:0;padding:12px 16px;font-weight:500;text-decoration:none}
.lvls-min:hover,.lvls-min.is-act{color:#FFFFFF;filter:brightness(.92)}
/* B-283: a téma `.lv-header a:hover{color:inherit}` szabálya (0,2,1) felülírta a fenti fehéret, mert a panel a fejlécen belül van → hoverre grafit szöveg grafit / lila kártyán (1:1 / 2,35:1). Erősebb szelektor. */
.lvls-p a.lvls-min:hover,.lvls-p a.lvls-min.is-act,.lvls-p a.lvls-min:focus-visible{color:#FFFFFF}
.lvls-min.is-act{outline:2px solid var(--laava-graphite,#24211F);outline-offset:2px}
.lvls-min--dark{background:var(--laava-graphite,#24211F)}
.lvls-min__ic{width:40px;height:40px;border-radius:0;background:rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;flex:none}
.lvls-min--dark .lvls-min__ic{background:rgba(255,255,255,.14)}
.lvls-min__t{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}
.lvls-min__sub{font-weight:400;font-size:13px;opacity:.9}
.lvls-min__go{white-space:nowrap}
.lvls-res{display:flex;gap:12px;align-items:center;padding:8px;border-radius:0;color:var(--laava-graphite,#24211F);text-decoration:none}
.lvls-res:hover,.lvls-res.is-act{background:var(--laava-beige,#F6F1EB);color:var(--laava-graphite,#24211F)}
.lvls-th{width:52px;height:52px;border-radius:0;flex:none;background:var(--laava-beige,#F6F1EB);overflow:hidden}
.lvls-th img,.lvls-card__th img{display:block;width:100%;height:100%;object-fit:cover}
.lvls-res__t{flex:1;min-width:0;display:flex;flex-direction:column}
.lvls-res__n{font-weight:500;line-height:1.3}
.lvls-res mark{background:#FFF1C9;color:inherit;border-radius:0;padding:0 1px}
.lvls-badge{display:inline-flex;align-items:center;background:var(--laava-campaign,#7801f2);color:#FFFFFF;font-size:12px;font-weight:500;padding:4px 10px;border-radius:0;line-height:1.4;flex:none}
.lvls-badge.is-out{background:var(--laava-beige-2,#F3EEE8);color:var(--laava-text-2,#5A534D)}
.lvls-dym{font-size:14px}
.lvls-dym__w{font-weight:600;text-decoration:underline;color:inherit}
.lvls-more{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #EFE6DB;font-weight:500;font-size:15px}
.lvls-more a{color:var(--laava-graphite,#24211F)}
.lvls-more a.is-act,.lvls-u.is-act{outline:2px solid var(--laava-mocha,#5C3D2E);outline-offset:2px;border-radius:0}
.lvls-more--exact{font-weight:400;font-size:14px}
.lvls-u{text-decoration:underline}
.lvls-keys{display:flex;gap:6px;align-items:center}
.lvls-keys kbd{border:1px solid #D9CFC2;border-radius:0;padding:0 6px;font:400 12px/1.6 "DM Sans",system-ui,sans-serif;background:#FFFFFF;color:var(--laava-text-2,#5A534D)}
.lvls-empty{font-weight:500;font-size:17px}
.lvls-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lvls-card{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--laava-graphite,#24211F);text-decoration:none;border-radius:0}
.lvls-card.is-act{outline:2px solid var(--laava-mocha,#5C3D2E);outline-offset:2px}
.lvls-card__th{aspect-ratio:1;border-radius:0;background:var(--laava-beige,#F6F1EB);overflow:hidden}
.lvls-card__n{font-weight:500;line-height:1.3}
.lvls-skel .lvls-th{background:#EFE6DB}
.lvls-skel__t{flex:1;display:flex;flex-direction:column;gap:8px}
.lvls-skel__t i{display:block;height:12px;width:30%;background:var(--laava-beige-2,#F3EEE8);border-radius:0}
.lvls-skel__t i:first-child{background:#EFE6DB}
.lvls-p :focus-visible{outline:2px solid var(--laava-mocha,#5C3D2E);outline-offset:2px}

/* Mobil és tablet: teljes képernyős réteg (vászon: MobilLiveKereses) */
html.lvls-lock,html.lvls-lock body{overflow:hidden}
.lvls-ov{position:fixed;inset:0;z-index:1000;background:#FFFFFF;display:flex;flex-direction:column;height:100dvh}
.lvls-ov__head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #EFE6DB;flex:none}
.lvls-ov__form{flex:1;display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--laava-mocha,#5C3D2E);border-radius:0;padding:0 16px;background:#FFFFFF;color:var(--laava-graphite,#24211F);min-width:0}
.lvls-ov__form input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:400 16px/1.4 "DM Sans",system-ui,sans-serif;color:var(--laava-graphite,#24211F);padding:0}
.lvls-ov__cancel{border:0;background:transparent;font:500 15px/1 "DM Sans",system-ui,sans-serif;color:var(--laava-graphite,#24211F);min-height:44px;padding:0 4px;cursor:pointer}
.lvls-ov .lvls-p{position:static;width:auto!important;max-width:none;max-height:none;flex:1;border:0;border-radius:0;padding:4px 0 24px;left:auto!important}
.lvls-ov .lvls-g{padding:12px 16px}
.lvls-ov .lvls-more{padding:12px 16px}
/* LK-4 (B-106): a natív WebKit-törlő helyett saját 28 px-es bézs kör ×, és „Keresés” gomb a réteg mezőjében (MobilLiveKereses). */
.lvls-ov__form input::-webkit-search-cancel-button,.lvls-ov__form input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.lvls-ov__form{padding-right:5px}
.lvls-ov__clr{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:var(--laava-beige-2,#F3EEE8);color:var(--laava-text-2,#5A534D);font-size:18px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.lvls-ov__clr[hidden]{display:none}
.lvls-ov__go{flex:none;min-height:38px;padding:0 16px;border:0;border-radius:0;background:var(--laava-graphite,#24211F);color:#FFFFFF;font:500 14px/1 "DM Sans",system-ui,sans-serif;cursor:pointer}
/* Mobilon is látszik az ásvány-chip „Ásvány Lexikon →” felirata (a vászon szerint), kisebb betűvel. */
@media (max-width:599px){.lvls-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.lvls-min{padding:12px;gap:10px}.lvls-min__go{font-size:13px}.lvls-keys{display:none}}

/* laava-features */
.lv-product-meta,
.lv-product-share {
	font-size: 14px;
	margin-top: 20px;
}
.lv-product-share a {
	margin-left: 12px;
}
.lv-product-dialog-open,
.lv-brand-logo {
	max-height: 40px;
	width: auto;
}
@media (prefers-reduced-motion: no-preference) {
	.lv-thumb-animation .flex-control-thumbs > li {
		animation: lv-thumb-in 0.45s ease both;
	}
	.lv-thumb-animation .flex-control-thumbs > li:nth-child(2) { animation-delay: 0.06s; }
	.lv-thumb-animation .flex-control-thumbs > li:nth-child(3) { animation-delay: 0.12s; }
	.lv-thumb-animation .flex-control-thumbs > li:nth-child(4) { animation-delay: 0.18s; }
	.lv-thumb-animation .flex-control-thumbs > li:nth-child(n + 5) { animation-delay: 0.24s; }
}
@keyframes lv-thumb-in {
	from { opacity: 0; transform: translateY(8px); }
}
.lv-description-toggle {
	border: 0;
	background: none;
	padding: 8px 0;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	font: inherit;
	margin-right: 20px;
}
.lv-product-dialog {
	width: min(90vw, 760px);
	max-height: 85dvh;
	padding: 32px;
	border: 0;
	border-radius: 0;
	overflow: auto;
}
/* scrim: motion.css (egységes) */
.lv-product-dialog > [data-lv-dialog-close] {
	float: right;
	width: 32px;
	height: 32px;
	background: none;
	border: 0;
	font-size: 28px;
	cursor: pointer;
}
.lv-description-clamped {
	display: -webkit-box;
	-webkit-line-clamp: var(--lv-description-lines);
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.lv-tabs-accordion .woocommerce-tabs > ul.tabs,
.lv-tabs-accordion-1 .woocommerce-tabs > ul.tabs,
.lv-tabs-accordion-2 .woocommerce-tabs > ul.tabs {
	display: none;
}
.lv-product-accordion {
	border-bottom: 1px solid #ebebeb;
}
.lv-product-accordion summary {
	padding: 20px;
	font-weight: 500;
	cursor: pointer;
}
.lv-gallery-left-thumbnails .woocommerce-product-gallery,
.lv-gallery-right-thumbnails .woocommerce-product-gallery {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.lv-gallery-left-thumbnails .flex-viewport,
.lv-gallery-right-thumbnails .flex-viewport {
	flex: 1;
	width: calc(100% - 112px);
}
.lv-gallery-left-thumbnails .flex-control-thumbs,
.lv-gallery-right-thumbnails .flex-control-thumbs {
	display: flex !important;
	flex-direction: column;
	width: 100px !important;
	flex: none;
	margin: 0 !important;
}
.lv-gallery-left-thumbnails .flex-control-thumbs {
	order: -1;
}
.lv-gallery-left-thumbnails .flex-control-thumbs > li,
.lv-gallery-right-thumbnails .flex-control-thumbs > li {
	width: 100% !important;
}
.lv-gallery-grid-1 .woocommerce-product-gallery__wrapper,
.lv-gallery-grid-2 .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.lv-gallery-grid-1 .woocommerce-product-gallery__image:first-child {
	grid-column: 1/-1;
}
.lv-gallery-stacked .woocommerce-product-gallery__wrapper {
	display: grid;
	gap: 12px;
}
.lv-gallery-zoom {
	position: absolute;
	z-index: 10;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: 200%;
	background-color: #fff;
}
.lv-gallery-zoom[hidden] {
	display: none;
}
.lv-gallery-zoom--inner {
	inset: 0;
}
.lv-gallery-zoom--bounding {
	inset: 0 auto auto calc(100% + 20px);
	width: 100%;
	height: 100%;
	border: 1px solid #eee;
	box-shadow: 0 5px 20px #0002;
}
.lv-gallery-zoom--magnifier {
	width: 180px;
	height: 180px;
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 2px 15px #0003;
}
.woocommerce-product-gallery__image {
	position: relative;
}
@media (max-width: 767px) {
	.lv-gallery-zoom {
		display: none;
	}
}
/* Catalogue modes preserve the existing grid/sidebar and native GET parameters. */
.lv-catalog-views {
	display: flex;
	gap: 6px;
}
.lv-catalog-views button {
	height: 36px;
	border: 1px solid #ddd;
	background: #fff;
	color: #555;
	cursor: pointer;
	border-radius: 0;
	letter-spacing: 2px;
}
.lv-catalog-views button[aria-pressed='true'] {
	background: #000;
	color: #fff;
	border-color: #000;
}
.lv-main .lv-catalog-products ul.products:not(.swiper-wrapper) {
	grid-template-columns: repeat(
		var(--lv-user-columns, var(--laava-catalog-columns, 4)),
		minmax(0, 1fr)
	);
}
.lv-catalog-contained .lv-woo {
	max-width: var(--laava-container, 1440px);
}
.lv-catalog-sidebar-right .lv-catalog-layout {
	grid-template-columns: minmax(0, 1fr) 26%;
}
.lv-catalog-sidebar-right .lv-catalog-sidebar {
	order: 2;
}
.lv-catalog-sidebar-right .lv-catalog-products {
	order: 1;
}
.lv-catalog-list .lv-woo ul.products {
	grid-template-columns: 1fr !important;
}
.lv-catalog-list .lv-card-inner {
	display: grid;
	grid-template-columns: minmax(150px, 30%) 1fr;
	gap: 20px;
}
.lv-card-desc {
	display: none;
	margin: 0;
	font-size: 0.875rem;
	color: var(--laava-muted, #666);
}
.lv-catalog-list .lv-card-desc {
	display: block;
}
.lv-catalog-list .lv-card-summary {
	transform: none !important;
}
.lv-catalog-list .lv-card-purchase {
	grid-column: 2;
	grid-row: 2;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
}
.lv-load-more {
	display: flex !important;
	margin: 40px auto 0;
}
.lv-load-more[hidden],
.woocommerce-pagination[hidden] {
	display: none !important;
}
.lv-top-categories {
	display: grid;
	grid-template-columns: repeat(var(--lv-top-columns, 5), minmax(0, 1fr));
	margin-bottom: 40px;
}
.lv-top-categories > a {
	position: relative;
	display: block;
	text-decoration: none;
	text-align: center;
	color: #000;
}
.lv-top-categories img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 0;
}
.lv-top-categories span {
	display: block;
	padding: 10px;
}
.lv-top-categories--inside span {
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	border-radius: 0;
}
.lv-catalog-header,
.lv-blog-header,
.lv-page-head {
	position: relative;
	isolation: isolate;
	background-size: cover;
	background-position: center;
	text-align: center;
}
.lv-catalog-header::before,
.lv-blog-header::before,
.lv-page-head::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}
@media (max-width: 767px) {
	.lv-main .lv-catalog-products ul.products:not(.swiper-wrapper) {
		grid-template-columns: repeat(
			var(--lv-user-columns, var(--laava-catalog-columns-mobile, 2)),
			minmax(0, 1fr)
		);
	}
	.lv-top-categories {
		grid-template-columns: repeat(var(--lv-top-mobile, 2), minmax(0, 1fr));
	}
	.lv-catalog-sidebar-right .lv-catalog-layout {
		display: block;
	}
}

.lv-tabs-list .woocommerce-tabs > ul.tabs {
	display: none;
}
.lv-tabs-list .woocommerce-Tabs-panel {
	display: block !important;
	margin-bottom: 32px;
}
@media (min-width: 768px) {
	.lv-tabs-vertical .woocommerce-tabs {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 30px;
	}
	.lv-tabs-vertical .woocommerce-tabs > ul.tabs {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		margin: 0;
		grid-column: 1;
		grid-row: 1/9;
		border-bottom: 0;
	}
	.lv-tabs-vertical .woocommerce-tabs .woocommerce-Tabs-panel {
		grid-column: 2;
	}
}
.lv-term-desc[style*='--lv-description-lines:0'] {
	display: block;
}

.lv-term-desc {
	display: -webkit-box;
	-webkit-line-clamp: var(--lv-description-lines, 10);
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-inline: auto;
}

.lv-product-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 40px;
}
.lv-product-layout--sidebar-content {
	grid-template-columns: 280px minmax(0, 1fr);
}
.lv-product-layout--sidebar-content .lv-product-sidebar {
	grid-row: 1;
	grid-column: 1;
}
.lv-product-layout--sidebar-content .lv-product-layout-main {
	grid-row: 1;
	grid-column: 2;
}
.lv-product-layout-main {
	min-width: 0;
}
@media (max-width: 1024px) {
	.lv-product-layout {
		display: block;
	}
	.lv-product-sidebar {
		margin-top: 40px;
	}
}

.lv-minicart-tools {
	border-top: 1px solid #eee;
	margin-top: 20px;
	padding-top: 10px;
}
.lv-minicart-tools details {
	padding: 10px 0;
}
.lv-minicart-tools summary {
	cursor: pointer;
}
.lv-minicart-tools label,
.lv-minicart-tools textarea,
.lv-minicart-tools input {
	display: block;
	width: 100%;
	margin: 10px 0;
}
.lv-minicart-tools .button {
	margin-top: 10px;
}
.lv-minicart-tools .shipping-calculator-form {
	padding-top: 12px;
}
.lv-minicart-recommendations {
	margin-top: 30px;
}
.lv-minicart-recommendations > h3 {
	font-size: 18px;
}
.lv-minicart-recommendations ul.products {
	display: flex !important;
	overflow-x: auto;
	gap: 16px;
	list-style: none;
	padding: 0;
}
.lv-minicart-recommendations li.product {
	flex: 0 0 160px !important;
	width: 160px !important;
	margin: 0 !important;
}
.lv-minicart-recommendations .lv-card-summary {
	transform: none !important;
}
.lv-minicart-recommendations .lv-card-purchase {
	opacity: 1;
	visibility: visible;
	height: auto;
}
.lv-minicart-recommendations.lv-mini-feature-quick-view .lv-card-purchase,
.lv-minicart-recommendations.lv-mini-feature-add-to-cart .lv-card-actions,
.lv-minicart-recommendations .lv-card__wish {
	display: none !important;
}
.lv-minicart-recommendations .lv-card-actions {
	opacity: 1;
	pointer-events: auto;
	bottom: 12px;
}

.lv-minicart-woo-form-wrapper .shipping-calculator-button {
	display: none;
}
.lv-minicart-woo-form-wrapper .shipping-calculator-form {
	display: block !important;
}

.lv-compare-add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 1px solid #eee;
	border-radius: 0;
	background: #fff;
	color: #242424;
	cursor: pointer;
}
.lv-compare-add:hover,
.lv-compare-add[aria-pressed='true'] {
	background: #000;
	color: #fff;
}
.lv-compare-dialog {
	width: min(95vw, 1200px);
}
.lv-compare-dialog > [data-lv-compare-close] {
	float: right;
	border: 0;
	background: none;
	font-size: 28px;
	cursor: pointer;
}
.lv-compare-scroll {
	overflow: auto;
}
.lv-compare-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	table-layout: fixed;
}
.lv-compare-table th,
.lv-compare-table td {
	min-width: 170px;
	padding: 16px;
	border: 1px solid #eee;
	vertical-align: top;
	text-align: left;
}
.lv-compare-table th:first-child {
	width: 140px;
}
.lv-compare-table img {
	width: 100%;
	max-height: 200px;
	object-fit: cover;
	border-radius: 0;
}
.lv-compare-table a {
	color: inherit;
	text-decoration: none;
}
.lv-compare-table th button {
	float: right;
	border: 0;
	background: none;
	font-size: 24px;
	cursor: pointer;
}
.lv-compare-status {
	position: fixed;
	right: 20px;
	bottom: 90px;
	z-index: 9999;
	background: #fff;
	padding: 20px;
	border: 1px solid #ddd;
	box-shadow: 0 3px 20px #0002;
	border-radius: 0;
	max-width: calc(100vw - 40px);
}
.lv-compare-status[hidden] {
	display: none;
}
@media (max-width: 767px) {
	.lv-compare-add {
		width: 38px;
		height: 38px;
	}
	.lv-compare-table {
		min-width: 650px;
	}
}

.lv-compare-bar {
	position: fixed;
	right: 20px;
	bottom: 80px;
	z-index: 90;
	padding: 14px 22px;
	border: 0;
	border-radius: 0;
	background: #000;
	color: #fff;
	cursor: pointer;
	font: inherit;
	box-shadow: 0 3px 15px #0002;
}
.lv-compare-bar[hidden] {
	display: none;
}

/* laava-info-pages */
/* Információs oldalak (B-045) a vászon szerint: a boardok .pg* osztályai .lv-pg* előtaggal (Segitseg.dc.html pg-css), kiegészítve. */
.lv-pgw{max-width:1280px;margin:0 auto;padding:24px 40px 96px;display:flex;flex-direction:column;gap:56px;box-sizing:border-box;min-width:0}.lv-pgh1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:56px;line-height:1.08;color:var(--laava-graphite);text-wrap:balance}.lv-pgh2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:40px;line-height:1.1;color:var(--laava-graphite);text-wrap:balance}.lv-pgh3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:28px;line-height:1.15;color:var(--laava-graphite)}.lv-pglead{margin:0;font-size:18px;line-height:1.6;color:#3F3A36;max-width:720px}.lv-pgp{margin:0;font-size:16px;line-height:1.6;color:#3F3A36}.lv-pgsm{font-size:14px;line-height:1.5;color:var(--laava-text-2)}.lv-pgcard[style*="flex-direction:column"]:not([style*="align-items"]){align-items:stretch}.lv-pgform>*{align-self:stretch}.lv-pgform .lv-pgfields{width:100%}.lv-pgcap{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--laava-mocha)}.lv-pgcard{background:var(--laava-beige);border-radius:0;padding:24px;display:flex;gap:16px;align-items:flex-start;box-sizing:border-box;min-width:0;color:var(--laava-graphite)}.lv-pgcard.w{background:#FFFFFF;border:1px solid var(--laava-line)}.lv-pgic{width:44px;height:44px;border-radius:0;background:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;flex:none}.lv-pgcard.w .lv-pgic{background:var(--laava-beige)}.lv-pgnum{width:36px;height:36px;border-radius:50%;background:var(--laava-graphite);color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;font-weight:500;font-size:15px;flex:none}.lv-pgstep{flex-direction:column;gap:8px;list-style:none;align-items:flex-start}.lv-pgsteps{margin:0;padding:0}.lv-pgg2,.lv-pgg3,.lv-pgg4,.lv-pgg5{display:grid;gap:24px;min-width:0}.lv-pgg2{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-pgg3{grid-template-columns:repeat(3,minmax(0,1fr))}.lv-pgg4{grid-template-columns:repeat(4,minmax(0,1fr))}.lv-pgg5{grid-template-columns:repeat(5,minmax(0,1fr))}.lv-pgchips{display:flex;gap:8px;flex-wrap:wrap}.lv-pgnote{background:var(--laava-beige);border-radius:0;padding:20px 24px;display:flex;gap:16px;align-items:flex-start}.lv-pgbadge{display:inline-flex;align-items:center;background:#FFFFFF;border:1px solid var(--laava-line);color:var(--laava-graphite);font-size:12px;font-weight:500;padding:4px 10px;border-radius:0;line-height:1.4}.lv-pgband{border-radius:0;padding:40px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}.lv-pghero{border-radius:0;padding:56px 56px}.lv-pgsum{border-radius:0;padding:40px 48px;display:grid;grid-template-columns:260px 1fr auto;gap:48px;align-items:center}.lv-pgsearch{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid var(--laava-line);border-radius:0;padding:0 20px;background:#FFFFFF;max-width:640px}.lv-pgph{color:var(--laava-gray);font-size:15px}.lv-pgfaq{display:flex;flex-direction:column;border-bottom:1px solid #E5DDD2}.lv-pgd{border-top:1px solid #E5DDD2}.lv-pgd summary{list-style:none;cursor:pointer;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:500;font-size:17px;padding:8px 0}.lv-pgd summary::-webkit-details-marker{display:none}.lv-pgd summary:focus-visible{outline:2px solid var(--laava-mocha);outline-offset:2px}.lv-pgpm{width:20px;height:20px;flex:none;position:relative}.lv-pgpm::before,.lv-pgpm::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:2px;background:var(--laava-graphite);border-radius:0}.lv-pgpm::after{transform:rotate(90deg);transition:transform 200ms ease-out}.lv-pgd[open] .lv-pgpm::after{transform:rotate(0)}.lv-pgda{padding:0 0 20px;font-size:16px;line-height:1.65;color:#3F3A36;max-width:760px}.lv-pgtable{display:flex;flex-direction:column;border:1px solid var(--laava-line);border-radius:0;overflow:hidden;background:#FFFFFF}.lv-pgrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-top:1px solid #EFE6DB}.lv-pgrow:first-child{border-top:0}.lv-pgfee{font-weight:500;white-space:nowrap}.lv-pgfee.free{color:var(--laava-green)}.lv-pgrev{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:22px 0;border-top:1px solid #E5DDD2}.lv-pgform{display:flex;flex-direction:column;gap:24px;padding:32px}.lv-pgfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lv-pgf{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}.lv-pgf2{grid-column:1/-1}.lv-pgf input,.lv-pgf select,.lv-pgf textarea{font:inherit;font-weight:400;font-size:16px;min-height:48px;padding:12px 14px;border:1px solid #8F857D;border-radius:0;background:#FFFFFF;color:var(--laava-graphite);box-sizing:border-box;width:100%}.lv-pgf input:focus,.lv-pgf select:focus,.lv-pgf textarea:focus{outline:2px solid var(--laava-mocha);outline-offset:1px}@media (max-width:1023px){.lv-pgw{padding:16px 32px 72px;gap:44px}.lv-pgh1{font-size:48px}.lv-pgh2{font-size:34px}.lv-pgg4{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-pgg5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.lv-pgphotos{grid-template-columns:repeat(4,minmax(0,1fr))}.lv-pghero{padding:40px 32px}.lv-pgsum{grid-template-columns:1fr;gap:24px;padding:32px}.lv-pgband{padding:32px}.lv-pgrev{grid-template-columns:200px 1fr}}@media (max-width:699px){.lv-pgg3{grid-template-columns:1fr}.lv-pgg5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:599px){.lv-pgw{padding:8px 20px 56px;gap:36px}.lv-pgh1{font-size:38px}.lv-pgh2{font-size:30px}.lv-pgh3{font-size:24px}.lv-pglead{font-size:16px}.lv-pgg4,.lv-pgg2{grid-template-columns:1fr;gap:16px}.lv-pgg3{gap:16px}.lv-pgg5{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px}.lv-pgg5>*{flex:none;width:42%;scroll-snap-align:start}.lv-pgphotos{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-pgcard{padding:20px}.lv-pghero{padding:28px 20px}.lv-pgband{padding:24px 20px}.lv-pgrev{grid-template-columns:1fr;gap:8px}.lv-pgrow{padding:16px;flex-wrap:wrap}.lv-pgfields{grid-template-columns:1fr}.lv-pgchips{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:0 20px;scrollbar-width:none}.lv-pgchips .btn{flex:none}.lv-pgsearch{max-width:none}.lv-pgnote{padding:16px}}
.lv-info .lv-pgw{color:var(--laava-graphite)}
.lv-pgcrumbs{font-size:14px;color:var(--laava-text-2);display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:-32px}
.lv-pgcrumbs a{padding:10px 4px;color:inherit;text-decoration:none}
.lv-pgcrumbs [aria-current]{color:var(--laava-graphite);font-weight:500}
.lv-pgintro{display:flex;flex-direction:column;gap:16px}
.lv-pgsec{display:flex;flex-direction:column;gap:16px;scroll-margin-top:140px}
.lv-pgsec[hidden],.lv-pgd[hidden]{display:none}
.lv-pgcol{display:flex;flex-direction:column;gap:2px;min-width:0}
.lv-pgb{font-weight:500}
.lv-pgu{text-decoration:underline;text-underline-offset:3px;color:inherit}
.lv-pgcard--col{flex-direction:column;align-items:stretch}
.lv-pgcard--col>.lv-pgic{margin-bottom:4px}
.lv-pgchip{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:0;border:1px solid var(--laava-line);background:#FFFFFF;color:var(--laava-graphite);font-size:14px;text-decoration:none;box-sizing:border-box}
.lv-pgchip:hover{background:#F8F2EB;border-color:var(--laava-addon-border-hover);color:var(--laava-graphite)}
.lv-pgchip.on{background:var(--laava-mocha);border-color:var(--laava-mocha);color:#FFFFFF;font-weight:500}
/* B-108 (GO-1): a buttons-spec egységes lila fókusz-gyűrűje (B-093 --lv-btn-focus) az info-oldalak chipjein és gombjain is. */
.lv-pgchip:focus-visible,.lv-pgbtn:focus-visible{outline:2px solid var(--lv-btn-focus,#7801f2);outline-offset:2px}
.lv-pgbtns{display:flex;gap:8px;flex-wrap:wrap}
.lv-pgbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:0;border:1px solid transparent;font:500 15px/1.2 var(--laava-font-body,"DM Sans",sans-serif);text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background-color 150ms ease-out,color 150ms ease-out}
.lv-pgbtn--dark{background:var(--laava-graphite);color:#FFFFFF}
.lv-pgbtn--dark:hover{background:#000000;color:#FFFFFF}
.lv-pgbtn--outline{background:transparent;color:var(--laava-graphite);border-color:var(--laava-graphite)}
.lv-pgbtn--outline:hover{background:var(--laava-graphite);color:#FFFFFF}
.lv-pgsearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--laava-graphite);padding:0}
.lv-pgfollow{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.lv-pgfollow .lv-pgh3{font-size:24px}
.lv-pgband--beige{background:var(--laava-beige)}
.lv-pgband .lv-pgh2{font-size:32px}
.lv-pgfreeline{margin:0;font-weight:500;color:var(--color-success,#09883A)}
.lv-pgsteps{list-style:none}
.lv-pgtile{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
.lv-pgtile__img{display:block;aspect-ratio:4/3;border-radius:0;background:var(--laava-beige);overflow:hidden}
.lv-pgtile__img img{display:block;width:100%;height:100%;object-fit:cover}
.lv-pgok{margin:0;padding:16px;border-radius:0;background:var(--color-success-bg,#E3F4E9);color:var(--color-success,#09883A);font-weight:500}
.lv-pgerr{margin:0;color:var(--laava-red-soft-fg);font-weight:500}
.lv-pgform{padding:0}
.lv-pgf legend{font-size:14px;font-weight:500;margin-bottom:6px;padding:0}
fieldset.lv-pgf{border:0;margin:0;padding:0}
.lv-pgchk{position:relative;display:inline-flex}
.lv-pgchk input{position:absolute;opacity:0;width:1px;height:1px}
.lv-pgchk span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--laava-line);border-radius:0;font-weight:400;cursor:pointer}
.lv-pgchk input:checked+span{background:var(--laava-graphite);border-color:var(--laava-graphite);color:#FFFFFF;font-weight:500}
.lv-pgchk input:focus-visible+span{outline:2px solid var(--lv-btn-focus,#7801f2);outline-offset:2px}
.lv-pgphotos{display:grid;gap:12px}
.lv-pgphotos img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:0}
.lv-pgscore{font:500 64px/1 var(--laava-font-display,"Cormorant Garamond",Georgia,serif)}
.lv-pgscore small{font-size:24px;margin-left:6px;color:var(--laava-text-2)}
.lv-pgdist{display:flex;flex-direction:column;gap:6px}
.lv-pgdist__r{display:grid;grid-template-columns:36px 1fr 48px;gap:10px;align-items:center;font-size:14px}
.lv-pgdist__bar{height:6px;border-radius:0;background:var(--laava-line);overflow:hidden}
.lv-pgdist__bar i{display:block;height:100%;background:var(--laava-star)}
.lv-pgstars{color:var(--laava-star);letter-spacing:2px}
.lv-pgrevs{display:flex;flex-direction:column;border-bottom:1px solid #E5DDD2}
.lv-pgrev .lv-pgp{margin:0 0 6px}
.lv-pgpager{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}
.lv-pgpager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--laava-line);border-radius:0;color:var(--laava-graphite);text-decoration:none}
.lv-pgpager .page-numbers.current{background:var(--laava-graphite);border-color:var(--laava-graphite);color:#FFFFFF}
.lv-pgjobs{display:flex;flex-direction:column;gap:16px}
.lv-pgjob .lv-pgfaq{border-bottom:1px solid #E5DDD2}
.lv-pgbadge.is-ok{background:var(--color-success-bg,#E3F4E9);border-color:transparent;color:var(--color-success,#09883A)}
.lv-pgsum .lv-pgbtn{margin-top:12px}
@media (max-width:599px){.lv-pgcrumbs{margin-bottom:-24px}.lv-pgscore{font-size:48px}.lv-pgband .lv-pgh2{font-size:26px}}
/* Insta Shop (vászon InstaShop / MobilInstaShop): lágy színátmenetes hero és záró sáv (softgrad), 1,1fr/1fr osztás, visszaszámláló
   (64 px-es fehér cellák, Cormorant 30 px), 9:16 / 1:1 videók 300–340 px-en, lila elsődleges gombok, „STOP + a kristály száma” jegyzet. */
.lv-isgrad{background:#F4EAF6 url(https://laava.hu/wp-content/themes/laava/assets/css/../img/soft-grad.webp) center/cover no-repeat}
.lv-issplit{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.lv-isev,.lv-isintro{gap:16px;align-items:flex-start}
.lv-isband{text-decoration:none;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--laava-graphite)}
.lv-isband .lv-pgsm{text-decoration:underline}
.lv-iscd{display:flex;gap:8px;flex-wrap:wrap}
.lv-iscd__u{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:8px 6px;box-sizing:border-box;border:1px solid var(--laava-line);border-radius:0;background:#FFFFFF}
.lv-iscd__u b{font:500 30px/1 "Cormorant Garamond",Georgia,serif;font-variant-numeric:tabular-nums}
.lv-iscd__u .lv-pgsm{font-size:12px}
.lv-islive{background:var(--laava-graphite);border-color:var(--laava-graphite);color:#FFFFFF}
.lv-isdate{font-weight:500;color:var(--laava-graphite);letter-spacing:.04em}
.lv-istitle{gap:6px}
.lv-istitle .lv-pgh2{font-size:44px}
.lv-isdesc{max-width:520px}
.lv-isbtn{margin-top:0;background:var(--laava-campaign,#7801f2);color:#FFFFFF;transition:filter 150ms ease-out}
.lv-isbtn:hover{filter:brightness(.9);color:#FFFFFF}
.lv-islink{padding:10px 4px}
.lv-isstop{width:100%;box-sizing:border-box;align-items:center}
.lv-isstop .lv-pgic{background:#FFFFFF;margin:0}
.lv-isstop .lv-pgh3{font-size:30px}
.lv-isabout{max-width:820px;gap:20px}
.lv-is17{font-size:17px}
.lv-is34{font-size:34px}
.lv-isv{width:100%;justify-self:center}
.lv-isv--300{max-width:300px}
.lv-isv--340{max-width:340px}
/* B-086: esemény kép + videó egymás mellett (asztalon/tableten és mobilon is két oszlop). */
.lv-ispair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:480px;justify-self:center}
.lv-isv--pair{max-width:none}
.lv-isv video,.lv-isv img{display:block;width:100%;object-fit:cover;border-radius:0;background:#EAD8EE}
@media (max-width:1023px){.lv-issplit{gap:32px}.lv-istitle .lv-pgh2{font-size:38px}}
@media (max-width:699px){.lv-issplit{grid-template-columns:1fr;gap:24px}.lv-isv--300,.lv-isv--340{max-width:260px}.lv-ispair{gap:10px;max-width:none}}
@media (max-width:599px){.lv-istitle .lv-pgh2{font-size:32px}.lv-isstop .lv-pgh3,.lv-is34{font-size:26px}.lv-iscd__u{min-width:56px}.lv-iscd__u b{font-size:26px}}
@media (prefers-reduced-motion:reduce){.lv-isbtn{transition:none}}
/* B-108 (B-102 vászon-audit, 7. szál): Fizetés és szállítás sor-ikonok (FS-3) és ingyenes-határ kártya (FS-4), Állás kártya-fejléc
   (AL-1), Céges „Mit ajándékozhatsz?” fehér keretes kártyák (CA-4), Insta Shop galéria tableten 5 oszlop (IS-1), chip 40 px mobilon (GO-2). */
.lv-pgrowmain{display:flex;gap:14px;align-items:center;min-width:0}
.lv-pgrow .lv-pgic{background:var(--laava-beige)}
.lv-pgfreenote{align-items:center}
.lv-pgfreenote .lv-pgic{background:#FFFFFF}
.lv-pgjobhead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.lv-pgjobtitle{gap:6px}
.lv-pgtile.lv-pgcard{flex-direction:column;align-items:stretch;gap:12px;transition:border-color 150ms ease-out}
.lv-pgtile.lv-pgcard:hover{border-color:var(--laava-graphite)}
.lv-pgtile.lv-pgcard>.lv-pgb{font-size:18px}
@media (min-width:600px) and (max-width:1023px){.lv-pgg5.lv-pgphotos{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}}
@media (max-width:599px){.lv-pgchip,.lv-pgchk span{min-height:40px}.lv-pgrowmain{gap:12px}}
@media (prefers-reduced-motion:reduce){.lv-pgtile.lv-pgcard{transition:none}}
/* Állás (2026-11-07): a laava.hu élő hirdetésének elrendezése – darabszám-sor, pozíciónként cím + folyó szöveg, alcímek, felsorolások. */
.lv-pgjobs2{max-width:820px}
.lv-pgjobs2__n{margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--laava-line);font-size:18px;color:var(--laava-graphite)}
.lv-pgjob2{display:flex;flex-direction:column;gap:12px}
.lv-pgjob2+.lv-pgjob2{margin-top:48px;padding-top:40px;border-top:1px solid var(--laava-line)}
.lv-pgjob2 .lv-pgh2{margin:0 0 4px}
.lv-pgjob2 .lv-pgp{margin:0;font-size:16px;line-height:1.65;color:var(--laava-graphite)}
.lv-pgjob2>.lv-pgp:first-of-type{font-weight:600}
.lv-pgjob__h{margin:12px 0 0;font:600 17px/1.4 var(--laava-font-body,"DM Sans",system-ui,sans-serif);color:var(--laava-graphite)}
.lv-pgjob__ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.55;color:var(--laava-graphite)}
.lv-pgjob__ul li::marker{color:#A98468}

/* laava-elementor-native */
/* Elementor-tartalom a téma elemeivel (inc/elementor-native.php): tipográfia a téma tokenjeiből, egyszerű sor/oszlop rács. */
.lv-native{max-width:1280px;margin:0 auto;padding:24px 40px 96px;box-sizing:border-box;color:var(--laava-graphite)}
.lv-native__head{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
.lv-native__head .lv-pgcrumbs{margin-bottom:0}
.lv-native--legal .lv-native__body,.lv-native--legal .lv-native__head{max-width:820px;margin-left:auto;margin-right:auto}
.lv-native--app{padding-top:0}
.lv-el{display:flex;flex-direction:column;gap:20px;min-width:0}
.lv-el-row{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:32px;align-items:start}
.lv-el-row--2{--cols:2}.lv-el-row--3{--cols:3}.lv-el-row--4{--cols:4}.lv-el-row--5{--cols:5}.lv-el-row--6{--cols:6}
.lv-el-col,.lv-el-box{display:flex;flex-direction:column;gap:16px;min-width:0}
.lv-el-h{margin:8px 0 0;font-family:var(--laava-font-display,"Cormorant Garamond",Georgia,serif);font-weight:500;line-height:1.15;color:var(--laava-graphite)}
h2.lv-el-h{font-size:36px}h3.lv-el-h{font-size:28px}h4.lv-el-h,h5.lv-el-h,h6.lv-el-h{font-size:22px}
p.lv-el-h,div.lv-el-h,span.lv-el-h{font-family:inherit;font-size:18px;font-weight:500}
.lv-el-h a{color:inherit}
.lv-el-text{font-size:16px;line-height:1.7;color:#3F3A36}
.lv-el-text>:first-child{margin-top:0}.lv-el-text>:last-child{margin-bottom:0}
.lv-el-text h1,.lv-el-text h2,.lv-el-text h3,.lv-el-text h4{font-family:var(--laava-font-display,"Cormorant Garamond",Georgia,serif);font-weight:500;color:var(--laava-graphite);line-height:1.2;margin:1.4em 0 .5em}
.lv-el-text a{color:var(--laava-graphite);text-decoration:underline;text-underline-offset:3px}
.lv-el-text table{width:100%;border-collapse:collapse;margin:1em 0}
.lv-el-text td,.lv-el-text th{border:1px solid var(--laava-line);padding:8px 10px;text-align:left;vertical-align:top}
.lv-el-fig{margin:0}.lv-el-fig img,.lv-el-img{display:block;max-width:100%;height:auto;border-radius:0}
.lv-el-fig figcaption{font-size:14px;color:var(--laava-text-2);margin-top:6px}
.lv-el-list{margin:0;padding:0 0 0 1.2em;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.5}
.lv-el-hr{border:0;border-top:1px solid var(--laava-line);margin:8px 0}
.lv-el-space{height:24px}
.lv-el-btnrow{margin:0}
.lv-el-video iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:0}
.lv-el-tpl{gap:12px}
.lv-el-payship{gap:10px}.lv-el-payship .lv-pgrow{padding:12px 16px}
@media (min-width:1024px){.lv-el-hide-d{display:none!important}}
@media (min-width:600px) and (max-width:1023px){.lv-el-hide-t{display:none!important}}
@media (max-width:599px){.lv-el-hide-m{display:none!important}}
@media (max-width:1023px){.lv-native{padding:16px 32px 72px}.lv-el-row--4,.lv-el-row--5,.lv-el-row--6{--cols:2}}
@media (max-width:599px){.lv-native{padding:8px 20px 56px}.lv-el-row{--cols:1!important;gap:20px}h2.lv-el-h{font-size:28px}}
.lv-el-products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px;list-style:none;margin:0!important;padding:0}
.lv-el-products ul.products::before,.lv-el-products ul.products::after{display:none}
.lv-el-products ul.products li.product{width:auto!important;margin:0!important;float:none!important}
@media (max-width:1023px){.lv-el-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.lv-el-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}}
/* Termékoldali extra blokk (volt Elementor 120189): zöld ikonsor, szöveges link. */
.lv-product-extra .lv-el-list{list-style:none;padding:0;gap:6px;font-size:15px;color:var(--color-success,#09883A)}
.lv-product-extra .lv-el-list li{display:flex;gap:8px;align-items:baseline}
.lv-product-extra .lv-el-list li::before{content:"✓";font-weight:600}
.lv-el-link{font-weight:500;color:var(--laava-graphite);text-decoration:underline;text-underline-offset:3px}
.lv-el-quote blockquote{margin:0}
/* Ásvány Lexikon fejléc (vászon Lexikon): morzsa, Tudástár-chipek, középre zárt felirat 18 px, H1 76 px Cormorant, bevezető 17 px, max. 1000 px. */
.lv-lexhead{display:flex;flex-direction:column;gap:32px;margin-bottom:24px}
.lv-lexhead__in{display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px 0;text-align:center}
.lv-lexhead__eyebrow{font-size:18px;color:#3F3A36}
.lv-lexhead h1{margin:0;font:500 76px/1.02 var(--laava-font-display,"Cormorant Garamond",Georgia,serif);color:var(--laava-graphite)}
.lv-lexhead__intro{max-width:1000px;font-size:17px;line-height:1.6;color:#3F3A36}
.lv-lexhead__intro p{margin:0}
.lv-lexhead .lv-pgcrumbs a{color:var(--laava-text-2)}
@media (max-width:599px){.lv-lexhead{gap:20px}.lv-lexhead__in{padding:8px 0;gap:14px}.lv-lexhead h1{font-size:44px}.lv-lexhead__eyebrow{font-size:16px}.lv-lexhead__intro{font-size:15px}}

/* laava-motion */
/*
 * LAAVA mozgás- és popup-réteg (docs/motion-spec.md, vászon „MOTION v1” + Popup/PopupAjanlat/MobilHeader scrim).
 * Utolsóként töltődik (inc/assets.php, wp_enqueue_scripts 100), így a komponensek után érvényesül. A tokenek
 * (--ease, --dur, --dur-s) és a mo-* keyframe-ek a tokens.css-ben vannak; csökkentett mozgásnál ott .01ms-ra állnak.
 *
 * Elv: csak opacity / transform jellegű tulajdonság mozog (a magasság-lenyíló a kivétel). A dialógusoknál az önálló
 * `scale` / `translate` tulajdonságot animáljuk, nem a `transform`-ot, így nem ütközik a komponens saját transformjával
 * (pl. a kereső translateX(-50%)-os középre igazításával). A záró animációt a motion.js indítja (.is-closing), és csak
 * utána hívja a natív close()-t, így a nyitott állapotú ([open]) geometria a kifutás alatt is megmarad.
 */

/* ---------------------------------------------------------------- Lenyíló / accordion (<details>) */
/* Magasság 0 → auto, a tartalom mo-in-nel jön be. Kivétel minden olyan <details>, amelynek a tartalma abszolút
   pozicionált lenyíló (pl. katalógus gyorsszűrő .lv-qf): ott a ::details-content 0 magassága levágná a panelt. */
details:not(.lv-qf){interpolate-size:allow-keywords}
details:not(.lv-qf)::details-content{block-size:0;overflow:clip;transition:block-size var(--dur) var(--ease),content-visibility var(--dur) allow-discrete}
details:not(.lv-qf)[open]::details-content{block-size:auto}
details:not(.lv-qf)[open]>:not(summary){animation:mo-in var(--dur) var(--ease)}
summary{transition:background-color var(--dur-s) var(--ease),border-color var(--dur-s) var(--ease),color var(--dur-s) var(--ease)}

/* Lenyíló jellegű <details> (gyorsszűrő): a hover-lenyíló mozgása – átlátszóság + 4 px, 160 ms. */
.lv-qf[open]>.lv-qf__dd{animation:lv-drop var(--dur-s) var(--ease)}
@keyframes lv-drop{from{opacity:0;translate:0 -4px}}

/* ---------------------------------------------------------------- Script által beszúrt / megjelenített elemek */
/* docs/motion-spec.md „Script-vezérelt elemek”: a JS ezekre a két osztályra hivatkozik (belépő animáció). */
.moi{animation:mo-in var(--dur) var(--ease)}
.moi-f{animation:mo-fade var(--dur) var(--ease)}

/* ---------------------------------------------------------------- Vezérlők átmenete (Interakciok board) */
/* Szín, keret, háttér 160 ms-mal; a komponensek saját (150 ms, ease-out) értékeit egységesíti. */
.lv-btn,.lv-hbtn,.lv-chip,.lv-qf>summary{transition:background-color var(--dur-s) var(--ease),border-color var(--dur-s) var(--ease),color var(--dur-s) var(--ease),box-shadow var(--dur-s) var(--ease),filter var(--dur-s) var(--ease)}
.lv-qf__chv{transition:transform var(--dur) var(--ease)}

/* ---------------------------------------------------------------- Egységes popup-háttér (scrim) */
/* Minden popup, drawer és panel háttere: 10% ásványtinta (a --min a termékoldal body-ján / a minikosáron van, a ::backdrop
   a dialógustól örököl) + 50% grafit + 5 px homályosítás. A lightbox szándékosan erősebb (docs/lightbox-spec.md), az nem ez. */
dialog::backdrop{background:color-mix(in srgb,var(--min,#1F1D1B) 10%,rgba(31,29,27,.5));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.lv-backdrop,.lv-dr__bd{background:color-mix(in srgb,var(--min,#1F1D1B) 10%,rgba(31,29,27,.5));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}

/* ---------------------------------------------------------------- Dialógusok: nyitás és zárás */
@keyframes lv-dlg-in{from{opacity:0;scale:.97}}
@keyframes lv-dlg-out{to{opacity:0;scale:.97}}
@keyframes lv-bd-in{from{opacity:0}}
@keyframes lv-bd-out{to{opacity:0}}
@keyframes lv-sheet-in{from{translate:0 100%}}
@keyframes lv-sheet-out{to{translate:0 100%}}
@keyframes lv-left-in{from{translate:-100% 0}}
@keyframes lv-left-out{to{translate:-100% 0}}
@keyframes lv-right-in{from{translate:100% 0}}
@keyframes lv-right-out{to{translate:100% 0}}

/* Alap: középre nyíló ablak (gyorsnézet, összehasonlítás, vélemény, termék-dialógusok, kereső, ajánlat-popup desktopon). */
dialog[open]{animation:lv-dlg-in var(--dur) var(--ease)}
dialog[open]::backdrop{animation:lv-bd-in var(--dur) var(--ease)}
dialog.is-closing{animation:lv-dlg-out var(--dur) var(--ease) forwards}
dialog.is-closing::backdrop{animation:lv-bd-out var(--dur) var(--ease) forwards}

/* Balról nyíló drawer: a régi teljes szűrőpanel és a katalógus szűrőpanelje desktopon (storefront.css: inset 0 auto 0 0). */
.lv-filter-panel[open]{animation:lv-left-in var(--dur) var(--ease)}
.lv-filter-panel.is-closing{animation:lv-left-out var(--dur) var(--ease) forwards}
/* Jobbról nyíló kereső (oldalsáv-változat). */
.lv-search--sidebar[open]{animation:lv-right-in var(--dur) var(--ease)}
.lv-search--sidebar.is-closing{animation:lv-right-out var(--dur) var(--ease) forwards}
/* Alsó lapok mobilon: a katalógus szűrőpanelje (≤ 767 px) és a pénztár előtti ajánlat (≤ 599 px). */
@media (max-width:767px){
	.lv-catalog2 .lv-filter-panel[open]{animation:lv-sheet-in var(--dur) var(--ease)}
	.lv-catalog2 .lv-filter-panel.is-closing{animation:lv-sheet-out var(--dur) var(--ease) forwards}
}
@media (max-width:599px){
	.lv-popup[open]{animation:lv-sheet-in var(--dur) var(--ease)}
	.lv-popup.is-closing{animation:lv-sheet-out var(--dur) var(--ease) forwards}
}

/* ---------------------------------------------------------------- Osztállyal nyíló fiókok */
/* Minikosár-fiók (cart.js: hidden → is-open, zárásnál 250 ms múlva hidden): a csúszás a tokenekkel; a háttér beúszik. */
.lv-minicart{transition:transform var(--dur) var(--ease)}
.lv-backdrop:not([hidden]){animation:lv-bd-in var(--dur) var(--ease)}

/* ---------------------------------------------------------------- Csökkentett mozgás */
/* A tokenek .01ms-ra állnak (tokens.css); ami nem tokenen fut vagy elmosás, azt itt kapcsoljuk ki. */
@media (prefers-reduced-motion:reduce){
	details::details-content{transition:none}
	dialog[open],dialog[open]::backdrop,dialog.is-closing,dialog.is-closing::backdrop,.lv-backdrop,.moi,.moi-f,.lv-qf[open]>.lv-qf__dd{animation:none!important}
}

/* ================================================================ Állapotok (B-059 2. kör)
 * Vászon: Allapotok/Betoltes (váz, spinner), Termek (készletjelző), Kosar (visszavonás-toast), Koszono (pipa-rajz),
 * Kategoria (betöltött elemek), Main (hero dia). Az időzítések a boardok értékei; csökkentett mozgásnál lent kikapcsolva.
 */

/* Váz (skeleton): finom csillogás a lapos bézs helyett (Allapotok .sk: 1,4 s, 400% széles átmenet). Katalógus „Továbbiak”
   váza (catalog-laava.js) és az élő kereső váza (Core live-search.js), valamint az általános .lv-sk osztály. */
@keyframes lv-skm{from{background-position:100% 50%}to{background-position:0 50%}}
.lv-sk,.lv-skel__img,.lv-skel__l,.lvls-skel .lvls-th,.lvls-skel__t i{background:linear-gradient(90deg,var(--laava-beige-2) 25%,#FAF7F3 37%,var(--laava-beige-2) 63%);background-size:400% 100%;animation:lv-skm 1.4s ease infinite}

/* Töltésjelző a gombon (Allapotok: kattintás után forgó jelző, a gomb tiltott, a szélessége nem változik). A felirat
   átlátszó lesz, de a helyét megtartja; a jelző a gomb közepén. Sötét gombon fehér, világos (ikon-) gombon grafit. */
@keyframes lv-spn{to{rotate:360deg}}
.lv-spin{display:inline-block;width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(255,255,255,.4);border-top-color:#FFFFFF;border-radius:50%;animation:lv-spn 800ms linear infinite;vertical-align:-3px}
:is(.single_add_to_cart_button,.lv-btn,.lv-hbtn).loading,:is(.lv-btn,.lv-hbtn)[aria-busy="true"]{position:relative;color:transparent!important;pointer-events:none}
/* Töltés közben a gomb tiltott, de NEM halványul (a Woo a :disabled gombot 50%-ra veszi, a fehér jelző szürkén elveszne). */
:is(.single_add_to_cart_button,.lv-btn,.lv-hbtn).loading:is(:disabled,.disabled){opacity:1!important;cursor:progress}
/* transform:none: a gombok ::after-jára más szabály ferdítést (skewX) tehet, az torzítaná a kört; a forgás a `rotate` tulajdonság. */
:is(.single_add_to_cart_button,.lv-btn,.lv-hbtn).loading::after,:is(.lv-btn,.lv-hbtn)[aria-busy="true"]::after{content:"";transform:none;position:absolute;left:50%;top:50%;width:var(--lv-btn-spin,18px);height:var(--lv-btn-spin,18px);margin:calc(var(--lv-btn-spin,18px) / -2) 0 0 calc(var(--lv-btn-spin,18px) / -2);box-sizing:border-box;border:2px solid rgba(255,255,255,.4);border-top-color:#FFFFFF;border-radius:50%;animation:lv-spn 800ms linear infinite}
/* B-093: világos alapú gombon (körvonalas, világos, szellem) a fehér jelző nem látszana – grafit jelző. */
:is(.lv-btn--outline,.lv-hbtn--outline,.lv-btn--light,.lv-hbtn--light,.lv-btn--round):is(.loading,[aria-busy="true"])::after{border-color:rgba(36,33,31,.2);border-top-color:var(--laava-graphite,#24211F)}
/* A kártya kosár-ikonja (fehér kör): az ikon helyén grafit jelző. */
.lv-product-card .lv-cva__btn.loading{position:relative}
.lv-product-card .lv-cva__btn.loading svg{opacity:0!important}
.lv-product-card .lv-cva__btn.loading::after{content:"";transform:none;position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;border:2px solid rgba(36,33,31,.2);border-top-color:var(--laava-graphite);border-radius:50%;animation:lv-spn 800ms linear infinite}

/* Készletjelző: kevés készletnél (a Woo „Alacsony készlet küszöbe” alatt, B-061) borostyán (Termek board: „● Már csak 2 db”
   #9A5B00); eddig a „Készleten” zöldjét kapta. */
.lv-pd-stock.is-low{color:#9A5B00}

/* Visszavonás-toast a kosár oldalon (Kosar .ktoast): a Woo „… eltávolítva. Visszavonás?” értesítése alul középen, grafit
   dobozban, 6 s után eltűnik (a hely nem ugrik, mert fix pozíciójú). Mobilon a 84 px-es alsó sáv fölött. A halvány világos
   keret a grafit lábléc fölött választja el (árnyék a design-szabály szerint nincs).
   Kedvencek (Kedvencek .fvt, B-061): ugyanez a sáv a JS-es eltávolításnál (.lv-undo-toast, storefront.js) és JS nélkül a
   WCBoost „… eltávolítva a kedvencekből. Visszavonom” értesítésén (.wcboost-wishlist-page). */
@keyframes lv-toast{0%,94%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
.lv-undo-toast,.wcboost-wishlist-page .woocommerce-message:has(.restore-item),.woocommerce-cart :is(.woocommerce-message,.wc-block-components-notice-banner):has(.restore-item){position:fixed;left:50%;bottom:24px;z-index:9990;translate:-50% 0;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;margin:0;padding:12px 16px;border:1px solid rgba(255,255,255,.16);border-radius:0;background:var(--laava-graphite);color:#FFFFFF;font-size:14px;line-height:1.4;box-shadow:none;animation:mo-in var(--dur) var(--ease),lv-toast 6s forwards}
.wcboost-wishlist-page .woocommerce-message:has(.restore-item)::before,.woocommerce-cart :is(.woocommerce-message,.wc-block-components-notice-banner):has(.restore-item)::before,.woocommerce-cart .wc-block-components-notice-banner:has(.restore-item)>svg{display:none}
.wcboost-wishlist-page .woocommerce-message:has(.restore-item) .restore-item,.woocommerce-cart :is(.woocommerce-message,.wc-block-components-notice-banner):has(.restore-item) .restore-item{color:#FFFFFF;font-weight:500;text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.woocommerce-cart :is(.woocommerce-message,.wc-block-components-notice-banner):has(.restore-item){bottom:84px}}
/* A JS-es sáv a vászon .fvt méretei szerint (2/6/2/16 px, 12 px köz, a gomb 44 px magas érintési felület). */
.lv-undo-toast{gap:12px;padding:2px 6px 2px 16px}
.lv-undo-toast[hidden]{display:none}
.lv-undo-toast__btn{min-height:44px;margin:0;padding:0 10px;border:0;background:none;color:#FFFFFF;font:inherit;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lv-undo-toast__btn:hover{background:none;color:#FFFFFF;opacity:.85}
.lv-undo-toast__btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:-2px;border-radius:0}

/* Sikeres fizetés pipa: a vonal kirajzolódik (Koszono .kchk: 0,5 s, 0,2 s késleltetés). A path pathLength="1". */
@keyframes lv-draw{to{stroke-dashoffset:0}}
.lv-ty__badge--ok svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:lv-draw .5s .2s ease-out forwards}

/* „Továbbiak betöltése”: a betöltött termékek felúsznak (Kategoria lmin: 8 px, 0,35 s); a JS a .lv-lmin osztályt teszi rájuk. */
@keyframes lv-lmin{from{opacity:0;translate:0 8px}}
.lv-lmin{animation:lv-lmin .35s ease-out both}

/* Főoldali hero: a megjelenő dia áttűnik (Main .fadein 300 ms), a szövege felúszik (Main .rise 350 ms). */
@keyframes lv-rise{from{opacity:0;translate:0 8px}}
.lv-hero__slide:not([hidden]){animation:mo-fade 300ms ease-out both}
.lv-hero__slide:not([hidden]) .lv-hero__copy{animation:lv-rise 350ms ease-out both}

@media (prefers-reduced-motion:reduce){
	.lv-sk,.lv-skel__img,.lv-skel__l,.lvls-skel .lvls-th,.lvls-skel__t i,.lv-lmin,.lv-hero__slide:not([hidden]),.lv-hero__slide:not([hidden]) .lv-hero__copy{animation:none}
	.lv-ty__badge--ok svg path{animation:none;stroke-dashoffset:0}
	/* A toast eltűnése nem mozgás, csak időzítés: marad, a beúszás nélkül. */
	.lv-undo-toast,.wcboost-wishlist-page .woocommerce-message:has(.restore-item),.woocommerce-cart :is(.woocommerce-message,.wc-block-components-notice-banner):has(.restore-item){animation:lv-toast 6s forwards}
	/* A forgó jelző lassan, de forog: állapotot jelez (WCAG: lényeges animáció). */
	.lv-spin,:is(.single_add_to_cart_button,.lv-btn,.lv-hbtn).loading::after,.lv-product-card .lv-cva__btn.loading::after{animation-duration:1.6s}
}

/* laava-notices */
/* B-131 (Gábor): minden hiba-, info-, siker- és figyelmeztető üzenet LAAVA-stílusban – a klasszikus Woo (.woocommerce-error/-info/
   -message), a Block (.wc-block-components-notice-banner) és a WP-figyelmeztetés (.notice) egy rendszerben.
   Szögletes (B-120), bézs alap, 3 px bal oldali színsáv típusonként, a Woo ikonfontja és kék felső kerete nélkül, kompakt gomb. */
:root{--lv-n-info:var(--laava-mocha);--lv-n-ok:#2F6B45;--lv-n-warn:#B07A1E;--lv-n-err:#8E1B2B}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice,.wc-block-components-notice-banner,.lv-main .notice{
	position:relative;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 20px;padding:14px 18px 14px 20px!important;
	border:0!important;border-left:3px solid var(--lv-n-info)!important;border-radius:0!important;background:var(--laava-beige)!important;color:var(--laava-graphite)!important;
	font-family:var(--laava-font-body,'DM Sans',system-ui,sans-serif);font-size:15px;line-height:1.55;box-shadow:none!important;outline:0}
.woocommerce-message,.wc-block-components-notice-banner.is-success{border-left-color:var(--lv-n-ok)!important}
.woocommerce-error,.wc-block-components-notice-banner.is-error{border-left-color:var(--lv-n-err)!important;background:#FBF1F0!important}
.wc-block-components-notice-banner.is-warning,.lv-main .notice-warning{border-left-color:var(--lv-n-warn)!important;background:#FBF5EA!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none!important;display:none!important}
.woocommerce-error>li{list-style:none;margin:0;padding:0}
.woocommerce-error{flex-direction:column;align-items:flex-start}
.wc-block-components-notice-banner>svg{flex:none;width:20px;height:20px;padding:0!important;border-radius:0!important;background:transparent!important;fill:var(--lv-n-info)!important}
.wc-block-components-notice-banner.is-success>svg{fill:var(--lv-n-ok)!important}
.wc-block-components-notice-banner.is-error>svg{fill:var(--lv-n-err)!important}
.wc-block-components-notice-banner.is-warning>svg{fill:var(--lv-n-warn)!important}
.wc-block-components-notice-banner__content{flex:1 1 240px;min-width:0;color:inherit!important;font-size:15px}
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) a:not(.button):not(.wc-forward){color:inherit;text-decoration:underline;text-underline-offset:3px}
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) :is(.button,.wc-forward,.wp-element-button):not(.wc-block-components-notice-banner__dismiss){
	order:9;float:none!important;margin:0 0 0 auto!important;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px!important;
	border:1px solid var(--laava-graphite)!important;border-radius:0!important;background:var(--laava-graphite)!important;color:#fff!important;
	font:500 11px/1 var(--laava-font-body,'DM Sans',sans-serif)!important;letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important;white-space:nowrap}
:is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) :is(.button,.wc-forward,.wp-element-button):not(.wc-block-components-notice-banner__dismiss):hover{background:#fff!important;color:var(--laava-graphite)!important}
.wc-block-components-notice-banner .wc-block-components-button:not(.wp-element-button){color:inherit}
@media (max-width:599px){:is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) :is(.button,.wc-forward,.wp-element-button):not(.wc-block-components-notice-banner__dismiss){margin:4px 0 0!important;width:100%}}
/* B-077 (2026-11-08): a Block értesítés bezáró gombja is .wp-element-button – a fenti kompakt gombszabály szürke/fekete téglalappá
   (mobilon teljes szélességű csíkká) tette, az X ikon nem látszott. Saját 44×44-es, átlátszó ikon-gomb a doboz jobb felső sarkában. */
.wc-block-components-notice-banner:has(>.wc-block-components-notice-banner__dismiss){padding-right:52px!important}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__dismiss{position:absolute!important;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;
	width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
	background:transparent!important;color:var(--laava-graphite)!important;box-shadow:none!important;cursor:pointer}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__dismiss svg{width:20px!important;height:20px!important;fill:currentColor!important;background:none!important}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__dismiss:hover{background:rgba(36,33,31,.06)!important}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__dismiss:focus-visible{outline:2px solid var(--laava-graphite)!important;outline-offset:-2px}

/* laava-icon-motion */
/*
 * B-163 (Gábor, 2026-11-08): LAAVA ikonok rámutatásra animálnak – „It's Hover” mintájára (az ikon egy része céltudatosan mozdul,
 * nem díszítés), de React/Motion nélkül, tiszta CSS-sel. Minden ikon a közös `laava_svg()`-ből jön (`.lv-ic--{név}` osztály),
 * így egy helyen él az összes mozgás.
 *
 * Kiváltó: a befoglaló link/gomb/összefoglaló rámutatása vagy billentyűfókusza (`:hover`, `:focus-visible`) – így a gomb teljes
 * felülete indítja, nem csak a kis ikon. Csak egeres eszközön (hover:hover), és csak ha a látogató nem kért csökkentett mozgást.
 * Hossz: 360–700 ms, egyszer játszódik le rámutatásonként; a drágakő-részletek (`.lv-gem`) mindenhol felcsillannak.
 */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
	/* A mozgó részek a saját dobozuk közepe körül fordulnak/nőnek – csak rámutatás közben (a kosár-állapot animációit nem érinti). */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) :is(svg[class*="lv-ic--"],svg[class*="lv-ic--"] *){transform-box:fill-box;transform-origin:center}

	/* Kiváltó-segéd: H = a befoglaló interaktív elem rámutatva / fókuszban. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) [class*="lv-ic--"] .lv-gem{animation:lvIcGem 620ms cubic-bezier(.3,.7,.3,1)}

	/* Kereső: a lencse körbe „keres” (kis billegés a fogantyú körül). */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--search{animation:lvIcSearch 560ms ease-in-out;transform-origin:44% 44%}
	/* Fiók: a fej bólint. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--user>circle{animation:lvIcNod 520ms ease-in-out}
	/* Kedvencek: dobban a szív. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg:is(.lv-ic--heart,.lv-ic--heart-filled)>path{animation:lvIcBeat 620ms ease-in-out}
	/* Menü: a vonalak jobbra csúsznak és vissza. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--menu>path:first-child{animation:lvIcSlide 520ms ease-in-out}
	/* Bezárás: negyed fordulat. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--close{animation:lvIcTurn 420ms cubic-bezier(.3,.7,.3,1)}
	/* Nyilak: a mutatott irányba lökődnek. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg:is(.lv-ic--chevron-right,.lv-ic--arrow-right)>path{animation:lvIcNudgeR 460ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--chevron-left>path{animation:lvIcNudgeL 460ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--chevron-down>path{animation:lvIcNudgeD 460ms ease-in-out}
	/* Kosár: a kosár megbillen, a tartalma felugrik; kosárba-tétel ikonon a plusz megfordul. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg:is(.lv-ic--cart,.lv-ic--cart-add){animation:lvIcTilt 560ms ease-in-out;transform-origin:50% 90%}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--cart .lv-ci{animation:lvIcHop 560ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--cart-add>path:last-child{animation:lvIcTurn 460ms ease-in-out}
	/* Szállítás: a kocsi előre gurul és visszaugrik. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--truck{animation:lvIcDrive 640ms ease-in-out}
	/* Lakat: a kengyel felemelkedik. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--lock>path:nth-of-type(1){animation:lvIcLift 560ms ease-in-out}
	/* Ajándék: a masni felpattan. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--gift>path:nth-of-type(n+2){animation:lvIcLift 560ms ease-in-out}
	/* Naptár: a karikák megbillennek. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--calendar-gem>path:nth-of-type(1){animation:lvIcLift 520ms ease-in-out}
	/* Csillag / szikra: fordul egyet és felragyog. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg:is(.lv-ic--star,.lv-ic--sparkle){animation:lvIcSpark 640ms cubic-bezier(.3,.7,.3,1)}
	/* Kuka: megbillen. Címke: kileng a lyukánál. Visszaküldés: visszafordul. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--trash{animation:lvIcShake 460ms ease-in-out;transform-origin:50% 30%}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--tag{animation:lvIcSwing 620ms ease-in-out;transform-origin:20% 20%}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--return{animation:lvIcBack 600ms ease-in-out}
	/* Szem: pislog. Levél: a fedél lebben. Üzenet: felpattan. Nagyító: ráközelít. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--eye>path:first-child{animation:lvIcBlink 420ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--mail>path{animation:lvIcFlap 520ms ease-in-out;transform-origin:50% 0}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--chat{animation:lvIcHop 520ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--zoom{animation:lvIcZoom 460ms ease-in-out}
	/* Pipa: újrarajzolódik. Szűrő: a sorok elcsúsznak. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--check>path{stroke-dasharray:24;animation:lvIcDraw 520ms ease-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--filter>path{animation:lvIcSlide 520ms ease-in-out}
	/* Kristály-, karkötő-, könyv- és gyűrű-ikon: finom lebegés. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg:is(.lv-ic--crystals,.lv-ic--bracelet,.lv-ic--book,.lv-ic--ring,.lv-ic--camera,.lv-ic--shield,.lv-ic--help){animation:lvIcFloat 620ms ease-in-out}
	/* B-164 sima kristályok: a csúcs megbillen és lebeg, a drágakő felvillan (fordul + nő), a nyers kő megemelkedik. */
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--crystal-point{animation:lvIcTilt 620ms ease-in-out;transform-origin:50% 90%}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--gem{animation:lvIcGemBig 640ms cubic-bezier(.3,.7,.3,1)}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--gem>path:last-child{animation:lvIcShine 640ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--crystal-raw{animation:lvIcFloat 620ms ease-in-out}
	:is(a,button,summary,label,[role="button"]):is(:hover,:focus-visible) svg.lv-ic--crystal-raw>path:last-child{animation:lvIcShine 620ms ease-in-out}
	/* „Vissza a tetejére” nyíl (B-154): felfelé lökődik. */
	.lv-back-to-top:is(:hover,:focus-visible) svg{animation:lvIcUp 520ms ease-in-out}

	@keyframes lvIcGem{0%{transform:none}40%{transform:scale(1.55) rotate(45deg)}100%{transform:none}}
	@keyframes lvIcSearch{0%,100%{transform:none}25%{transform:rotate(-12deg) translate(-.5px,-.5px)}60%{transform:rotate(9deg)}}
	@keyframes lvIcNod{0%,100%{transform:none}40%{transform:translateY(-1.6px)}70%{transform:translateY(.4px)}}
	@keyframes lvIcBeat{0%,100%{transform:none}30%{transform:scale(1.2)}55%{transform:scale(.94)}75%{transform:scale(1.06)}}
	@keyframes lvIcSlide{0%,100%{transform:none}45%{transform:translateX(2px)}}
	@keyframes lvIcTurn{0%{transform:none}100%{transform:rotate(90deg)}}
	@keyframes lvIcNudgeR{0%,100%{transform:none}45%{transform:translateX(3px)}}
	@keyframes lvIcNudgeL{0%,100%{transform:none}45%{transform:translateX(-3px)}}
	@keyframes lvIcNudgeD{0%,100%{transform:none}45%{transform:translateY(2.5px)}}
	@keyframes lvIcTilt{0%,100%{transform:none}30%{transform:rotate(-9deg)}65%{transform:rotate(5deg)}}
	@keyframes lvIcHop{0%,100%{transform:none}40%{transform:translateY(-2.2px)}70%{transform:translateY(.4px)}}
	@keyframes lvIcDrive{0%,100%{transform:none}45%{transform:translateX(3px)}70%{transform:translateX(-1px)}}
	@keyframes lvIcLift{0%,100%{transform:none}45%{transform:translateY(-2px)}}
	@keyframes lvIcSpark{0%{transform:none}50%{transform:rotate(36deg) scale(1.15)}100%{transform:rotate(72deg)}}
	@keyframes lvIcShake{0%,100%{transform:none}25%{transform:rotate(-10deg)}55%{transform:rotate(8deg)}80%{transform:rotate(-3deg)}}
	@keyframes lvIcSwing{0%,100%{transform:none}35%{transform:rotate(-14deg)}70%{transform:rotate(6deg)}}
	@keyframes lvIcBack{0%{transform:none}60%{transform:rotate(-45deg)}100%{transform:none}}
	@keyframes lvIcBlink{0%,100%{transform:none}45%{transform:scaleY(.1)}}
	@keyframes lvIcFlap{0%,100%{transform:none}45%{transform:scaleY(.6)}}
	@keyframes lvIcZoom{0%,100%{transform:none}45%{transform:scale(1.14)}}
	@keyframes lvIcDraw{0%{stroke-dashoffset:24}100%{stroke-dashoffset:0}}
	@keyframes lvIcFloat{0%,100%{transform:none}45%{transform:translateY(-2px)}}
	@keyframes lvIcGemBig{0%,100%{transform:none}40%{transform:scale(1.14) rotate(-6deg)}70%{transform:scale(.97) rotate(2deg)}}
	@keyframes lvIcShine{0%,100%{opacity:1}40%{opacity:.25}}
	@keyframes lvIcUp{0%,100%{transform:none}45%{transform:translateY(-3px)}}
}

