/* laava-ratings */
/* Woo's ratings survive removal of woocommerce.css; no icon font is needed. */
.lv-main .star-rating {
	position: relative;
	display: inline-block;
	width: 5.5em;
	height: 1.2em;
	line-height: 1.2;
	overflow: hidden;
	font-family: Arial, sans-serif;
	font-size: 14px;
	letter-spacing: 0.1em;
	color: #dedede;
	vertical-align: middle;
}
.lv-main .star-rating::before,
.lv-main .star-rating > span::before {
	content: '★★★★★';
	position: absolute;
	inset: 0;
	text-indent: 0;
	white-space: nowrap;
}
.lv-main .star-rating > span {
	position: absolute;
	inset-block: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	text-indent: -9999px;
}
.lv-main .star-rating > span::before {
	color: var(--laava-rating-color, #efb22d);
}
.lv-main .woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 12px 0 20px;
	font-size: 14px;
}
.lv-main .woocommerce-review-link {
	color: inherit;
	text-underline-offset: 3px;
}
.lv-main li.product .star-rating {
	margin: 6px 0;
}
.lv-main .comment-form-rating .stars a {
	display: inline-block;
	font-size: 0;
	text-decoration: none;
	color: #c4c4c4;
	padding-right: 6px;
}
.lv-main .comment-form-rating .stars a::before {
	content: '★';
	font:
		26px/1 Arial,
		sans-serif;
}
.lv-main .comment-form-rating .stars:hover a,
.lv-main .comment-form-rating .stars.selected a {
	color: var(--laava-rating-color, #efb22d);
}
.lv-main .comment-form-rating .stars a:hover ~ a,
.lv-main .comment-form-rating .stars.selected a.active ~ a {
	color: #c4c4c4;
}

/* laava-search */
.lv-search:not([open]) {
	display: none;
}
.lv-search[open] {
	position: fixed;
	inset: 4vh auto auto 50%;
	transform: translateX(-50%);
	width: min(760px, 94vw);
	max-width: none;
	max-height: 90dvh;
	height: auto;
	background: #fff;
	color: var(--laava-text);
	padding: 30px;
	border: 0;
	border-radius: 0;
	box-shadow: 0 10px 50px #0003;
	overflow: auto;
	margin: 0;
	z-index: 1000;
}
/* scrim: motion.css (egységes) */
.lv-search-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}
.lv-search-head h2 {
	font-size: 28px;
	margin: 0;
}
.lv-search-head button {
	width: 40px;
	height: 40px;
	background: none;
	border: 0;
	font-size: 30px;
	cursor: pointer;
}
.lv-product-search {
	display: flex;
	gap: 10px;
}
.lv-product-search input[type='search'] {
	flex: 1;
	min-width: 0;
	border: 1px solid var(--laava-border);
	border-radius: 0;
	padding: 14px 16px;
	font: inherit;
}
.lv-product-search .button {
	flex: none;
	padding: 12px 24px;
	border: 0;
	border-radius: 0;
	background: #000;
	color: #fff;
	font: 600 14px var(--laava-font-body);
	cursor: pointer;
}
.lv-search-help,
#lv-search-status {
	font-size: 13px;
	color: #777;
	margin: 14px 0;
}
.lv-search-results {
	display: grid;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	gap: 0 20px;
	padding: 0;
	margin: 0;
}
.lv-search-results a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid #ebebeb;
	text-decoration: none;
}
.lv-search-results img {
	width: 64px;
	height: 76px;
	object-fit: cover;
	border-radius: 0;
	flex: none;
}
.lv-search-results strong {
	font-size: 14px;
	font-weight: 500;
	display: block;
	color: #000;
}
.lv-search-results .price {
	display: block;
	font-size: 14px;
	margin: 5px 0;
}
.lv-search-results small {
	font-size: 12px;
	color: #777;
}
.lv-search-all {
	display: block;
	width: 100%;
	margin-top: 24px;
	padding: 14px;
	border: 0;
	border-radius: 0;
	background: #000;
	color: #fff;
	font: 500 14px var(--laava-font-body);
	cursor: pointer;
}
@media (max-width: 600px) {
	.lv-search[open] {
		inset: 0;
		width: 100vw;
		max-height: 100dvh;
		height: 100dvh;
		transform: none;
		border-radius: 0;
		padding: 22px 20px;
	}
	.lv-search-results {
		grid-template-columns: 1fr;
	}
	.lv-product-search .button {
		padding-inline: 14px;
	}
}

.lv-search--sidebar {
	margin: 0 0 0 auto;
	height: 100dvh;
	max-height: 100dvh;
	border-radius: 0;
	width: min(560px, 100vw);
}
.lv-search-suggestions h3 {
	font-size: 16px;
	margin: 24px 0 12px;
}
.lv-search-trending a {
	display: inline-block;
	padding: 8px 14px;
	background: #f5f5f5;
	color: inherit;
	border-radius: 0;
	margin: 0 6px 6px 0;
	text-decoration: none;
}
.lv-search-suggestions[hidden] {
	display: none;
}

/* ------------------------------------------------------------------
   B-106 (canvas-audit 2026-11-06, KR-4…KR-6, KR-1 blog-nézet). A találati oldal alapszabályai a catalog-laava.css-ben
   (`.lv-srch-*`); ez a fájl utána töltődik, ezért az azonos erősségű szabályok itt felülírják azokat.
   ------------------------------------------------------------------ */
/* KR-6: a `.lv-catalog2 .lv-woo` katalógus-belső margója (24 / 20 px) ne tolja be a rácsot a szakaszcímhez képest. */
.lv-srch-page .lv-woo {
	padding: 0;
	margin: 0;
	max-width: none;
}
/* KR-4: tablet (700–1023 px) 4 oszlop – a Top 4 és a Legújabb 8 árva sor nélkül (tablet-spec), a Lexikon 4 kártyája is. */
@media (min-width: 700px) and (max-width: 1023px) {
	.lv-srch-page .lv-woo ul.products,
	.lv-srch-lex {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 20px 12px !important;
	}
}
/* KR-5: mobilon a blog-találat sor: 104 px négyzetes bélyeg + meta 12 px + cím 16/500 (MobilKereses). */
@media (max-width: 599px) {
	.lv-srch-blog {
		gap: 16px;
	}
	.lv-srch-post {
		display: grid;
		grid-template-columns: 104px minmax(0, 1fr);
		grid-template-rows: auto auto 1fr;
		column-gap: 14px;
		row-gap: 4px;
		align-items: start;
	}
	.lv-srch-post__img {
		grid-row: 1 / span 3;
		width: 104px;
		aspect-ratio: 1;
		margin: 0;
	}
	.lv-srch-post__meta {
		font-size: 12px;
	}
	.lv-srch-post__t {
		font: 500 16px/1.35 var(--laava-font-body, 'DM Sans', system-ui, sans-serif);
	}
	.lv-srch-post__x {
		display: none;
	}
}
/* KR-1: blog-találati nézet lapozója. */
.lv-srch-pag ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
}
.lv-srch-pag a,
.lv-srch-pag span {
	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;
	box-sizing: border-box;
}
.lv-srch-pag .current {
	background: var(--laava-graphite);
	border-color: var(--laava-graphite);
	color: #fff;
}

/* laava-product-addons */
/*
 * Product form plugins: gift wrapping (Product Add-Ons Ultimate / "pewc"), variation swatches.
 * Ported from the live Ecomus "Additional CSS". Colours come from the --laava-addon-* tokens.
 *
 * !important is used only where the plugin itself uses it (its margin-bottom) and for the
 * .laava-hidden toggle class; every other rule wins on specificity (.single-product + 3 classes).
 */

/* Snippet "Díszcsomagolás Wrapper" adds/removes this class on the add-on group; without it the
   packaging cards are always visible. */
.laava-hidden {
	display: none !important;
}

.laava-pewc-toggle {
	margin: 16px 0;
	padding: 14px 16px;
	background: var(--laava-addon-bg);
	border: 1px solid var(--laava-addon-border);
	border-radius: 0;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.laava-pewc-toggle:hover {
	background: var(--laava-addon-bg-hover);
	border-color: var(--laava-addon-border-hover);
}
.laava-pewc-toggle label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	cursor: pointer;
	font-weight: 600;
	color: var(--laava-addon-text);
}
.laava-pewc-toggle input[type='checkbox'] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: 0 0 auto;
	cursor: pointer;
	accent-color: var(--laava-addon-accent);
}
.laava-pewc-toggle:has(input[type='checkbox']:checked) {
	background: var(--laava-addon-bg-selected);
	border-color: var(--laava-addon-accent);
}

/* Group spacing */
.pewc-group-content-wrapper > ul {
	padding: 0;
}
.pewc-group-content-wrapper > ul h4,
.pewc-group-content-wrapper > p {
	margin: 20px 0;
}

/* Gift wrapping cards: three columns on desktop, two on mobile. */
/* The card carries the selection state, so the plugin's 4px image border goes. */
/* The "+" moves in front of the price. */

@media (max-width: 767px) {
	/* Other three-column image groups stay at three columns on phones. */
}

/* WCBoost variation swatches: outlined round/square items. */
.single-product div.product table.variations .wcboost-variation-swatches--rounded .wcboost-variation-swatches__item,
.single-product div.product table.variations .wcboost-variation-swatches--square .wcboost-variation-swatches__item {
	border: 1px solid #000;
}

/* B-091: Core „Kiegészítő opciók” (a PEWC helyett). A kapcsolósor a .laava-pewc-toggle kinézetét, a „Nem kérek fémet” a
   .laava-metal-free-option kinézetét örökli (product-laava.css, .lv-personalize). Itt csak a tasaklista és a szövegmező. */
.lv-addons__panel[hidden]{display:none}
.lv-addons__panel{padding:4px 16px 16px;border-top:1px solid #EFE6DB}
.lv-addons__title{margin:12px 0 8px;font:500 14px/1.4 var(--laava-font-body,inherit);color:var(--laava-graphite)}
.lv-addons__group{margin:0 0 14px}
.lv-addons__gname{display:block;margin:0 0 8px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--laava-text-2)}
.lv-addons__packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lv-addons__pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--laava-line);border-radius:0;background:#fff;cursor:pointer;text-align:center;min-width:0}
.lv-addons__pack input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.lv-addons__pack:has(input:checked){border:2px solid var(--laava-mocha);padding:9px 5px}
.lv-addons__pack:has(input:focus-visible){outline:2px solid var(--laava-campaign);outline-offset:2px}
.lv-addons__sw{display:block;width:52px;height:52px;border-radius:0;border:1px solid var(--laava-line);object-fit:cover;box-sizing:border-box}
.lv-addons__nm{font-size:13px;line-height:1.25;color:var(--laava-graphite)}
.lv-addons__pr{font-size:12px;color:var(--laava-text-2);font-variant-numeric:tabular-nums}
.lv-addons--engrave{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-top:1px solid #EFE6DB}
.lv-addons--engrave input[type=text]{width:100%;min-height:44px;padding:0 12px;border:1px solid #8F8072;border-radius:0;font:inherit;background:#fff;box-sizing:border-box}
.lv-addons--engrave input[type=text]:focus{outline:2px solid var(--laava-campaign);outline-offset:1px}
.lv-addons__note{font-size:13px;color:var(--laava-text-2)}
@media (max-width:599px){.lv-addons__packs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* B-091: kosárbeli „Opciók módosítása” link */
.lv-addons__edit{display:inline-block;margin-left:8px;font-size:12px;font-weight:500;color:var(--laava-mocha);text-decoration:underline;text-underline-offset:2px}

