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

