/* laava-content */
.lv-content-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
}
.lv-content-layout--has-sidebar {
	grid-template-columns: minmax(0, 1fr) 300px;
}
.lv-content-layout--sidebar-content.lv-content-layout--has-sidebar {
	grid-template-columns: 300px minmax(0, 1fr);
}
.lv-content-layout--sidebar-content .lv-content-sidebar {
	grid-column: 1;
	grid-row: 1;
}
.lv-content-layout--sidebar-content .lv-post-list {
	grid-column: 2;
	grid-row: 1;
}
.lv-post-list--grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
}
.lv-post-list--list .lv-entry {
	display: grid;
	grid-template-columns: 40% minmax(0, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}
.lv-post-list--classic .lv-entry {
	margin-bottom: 50px;
}
.lv-entry__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.lv-entry__summary a {
	color: inherit;
}
.lv-content-sidebar {
	min-width: 0;
}
.lv-content-sidebar summary {
	cursor: pointer;
	margin-bottom: 20px;
}
.lv-content-share {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin: 30px 0;
}
.lv-related-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lv-related-post-grid img {
	width: 100%;
	height: auto;
	aspect-ratio: 1.5;
	object-fit: cover;
}
.lv-related-post-grid a {
	color: inherit;
	text-decoration: none;
}
.lv-related-posts {
	margin-top: 70px;
}
.lv-blog-pagination {
	grid-column: 1/-1;
}
.lv-rtl {
	direction: rtl;
}
@media (max-width: 767px) {
	.lv-content-layout--has-sidebar,
	.lv-content-layout--sidebar-content.lv-content-layout--has-sidebar {
		display: block;
	}
	.lv-post-list--grid {
		grid-template-columns: 1fr;
	}
	.lv-post-list--list .lv-entry {
		display: block;
	}
	.lv-content-sidebar {
		margin-top: 40px;
	}
	.lv-related-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Szerkesztői segédosztály a tartalmakban (az élő „További CSS”-ből). */
.ismerd-meg {
	margin-top: 1em;
	margin-bottom: 0.3em;
}

/* ==== B-095 Kristály Blog lista (szál AB) – template-parts/blog-list.php; a vászon Blog / MobilBlog boardja szerint 1:1. ====
   A .lv-blog__grid/__card/__img/__t/__meta/__chip/__tt osztályokat a cikk „További cikkek” sora (single-post.php, B-090, AC szál)
   és a Tudástár chip-sor (inc/info-pages.php) is használja: az alapjuk itt marad változatlan, a lista-oldali eltérések
   `.lv-blog` alá vannak szűkítve. Desktop: 1200 px tartalom, 24 px felül; sorköz 32 px (morzsa, Tudástár-chipek, tartalom),
   a tartalmon belül 56 px. Chip 40 px (vászon .btn-chip), kiemelt 1,25fr/1fr bézs, 48 px párna; rács 3 oszlop 40/28 px,
   kártya: 3:2 kép, 14 px, majd 8 px-es szövegoszlop (kategória 13/.08em, cím Cormorant 28, kivonat 15, olvasási idő 13). */
.lv-blog{max-width:1200px;margin:0 auto;padding:24px 0 96px;display:flex;flex-direction:column;gap:32px}
.lv-blog__main{display:flex;flex-direction:column;gap:56px;min-width:0}
.lv-blog__tt,.lv-blog__cats{display:flex;flex-wrap:wrap;gap:8px}
.lv-blog__cats{gap:10px}
.lv-blog__chip{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--laava-line);border-radius:0;background:#fff;font-size:14px;color:var(--laava-graphite);text-decoration:none}
.lv-blog__chip:hover{background:#F8F2EB;border-color:var(--laava-addon-border-hover)}
.lv-blog__chip.is-on{background:var(--laava-mocha);border-color:var(--laava-mocha);color:#fff;font-weight:500}
.lv-blog .lv-blog__chip{justify-content:center;min-height:40px;line-height:1.2;transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out}
.lv-blog .lv-blog__chip.is-on:hover{background:var(--laava-mocha-hover);border-color:var(--laava-mocha-hover)}
.lv-blog .lv-blog__chip:focus-visible{outline:2px solid var(--laava-campaign);outline-offset:2px}
.lv-blog__head{display:flex;flex-direction:column;gap:16px}
.lv-blog__head h1{margin:0;font:500 56px/1.08 var(--laava-font-display);color:var(--laava-graphite);text-wrap:balance}
.lv-blog__head p{margin:0;font-size:18px;line-height:1.6;color:#3F3A36}
/* minmax(0,…): a kép 1024 px-es saját szélessége különben szétfeszíti a rácsot, és 1024–1200 px között a szöveges oszlop
   levágódott (B-066, mért: 1210 px tartalom a 984 px-es dobozban). */
.lv-blog__feat{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-radius:0;background:var(--laava-beige);overflow:hidden;color:var(--laava-graphite);text-decoration:none}
.lv-blog__fimg{display:block;aspect-ratio:4/3;border-radius:0;overflow:hidden;background:#EAD8EE}
.lv-blog__fimg img,.lv-blog__img img{display:block;width:100%;height:100%;object-fit:cover}
.lv-blog__fbody{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:48px}
.lv-blog__feat h2{margin:0;font:500 44px/1.08 var(--laava-font-display)}
.lv-blog__cap{font-size:13px;font-weight:500;letter-spacing:.08em;color:#6B5A4E}
.lv-blog__feat .lv-blog__cap{letter-spacing:.1em}
.lv-blog__ex{font-size:15px;line-height:1.6;color:#3F3A36}
.lv-blog__feat .lv-blog__ex{font-size:16px}
.lv-blog__meta{font-size:13px;color:var(--laava-text-2)}
.lv-blog__feat .lv-blog__meta{font-size:14px}
.lv-blog__more{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:500}
.lv-blog__feat:hover h2{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.lv-blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;margin-top:32px}
.lv-blog .lv-blog__grid{margin-top:0}
.lv-blog__card{display:flex;flex-direction:column;gap:8px;color:var(--laava-graphite);text-decoration:none}
.lv-blog__img{display:block;aspect-ratio:3/2;margin-bottom:6px;border-radius:0;overflow:hidden;background:var(--laava-beige)}
.lv-blog__t{margin:0;font:500 28px/1.12 var(--laava-font-display)}
.lv-blog__card:hover .lv-blog__t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
/* Lista-kártya = vászon .tile: hoverre 2 px-et emelkedik (200 ms), aláhúzás nélkül. */
.lv-blog .lv-blog__card{gap:14px;transition:transform 200ms ease-out}
.lv-blog .lv-blog__img{margin-bottom:0}
.lv-blog__cbody{display:flex;flex-direction:column;gap:8px;min-width:0}
.lv-blog .lv-blog__card:hover{transform:translateY(-2px)}
.lv-blog .lv-blog__card:hover .lv-blog__t{text-decoration:none}
.lv-blog .lv-blog__card:focus-visible,.lv-blog__feat:focus-visible{outline:2px solid var(--laava-campaign);outline-offset:4px;border-radius:0}
.lv-blog .navigation.pagination{text-align:center}
/* Lapozás a vászon szerint (Blog): középen „További cikkek” outline gomb (B-066). */
.lv-blog__pager{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.lv-blog__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px;border-radius:0;background:var(--laava-beige);text-align:center}
.lv-blog__empty h2{margin:0;font:500 32px/1.12 var(--laava-font-display);color:var(--laava-graphite)}
.lv-blog__empty p{margin:0;font-size:16px;line-height:1.6;color:#3F3A36}
/* A B-094 hírlevél-doboz (footer.css .lv-nl--box) saját 56 px-es felső margója a lista 56 px-es sorköze mellé duplázna. */
.lv-blog .lv-nl--box{margin-top:0}
@media (prefers-reduced-motion:reduce){.lv-blog .lv-blog__card{transition:none}.lv-blog .lv-blog__card:hover{transform:none}}
/* Tablet (600–1023 px, tablet-spec): rács 2 oszlop, a kiemelt egymás alatt, H1 40 px, szekcióköz 44 px. */
@media (max-width:1023px){.lv-blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-blog__feat{grid-template-columns:minmax(0,1fr)}.lv-blog__fbody{padding:32px}.lv-blog__main{gap:44px}.lv-blog__head h1{font-size:40px}.lv-blog .lv-blog__grid{gap:32px 20px}}
/* Mobil (MobilBlog, ≤ 599 px): 8/40 px párna, minden sorköz 20 px; vízszintesen görgethető chip-sorok a képernyő széléig;
   kiemelt: 4:3 kép, 20 px párna, cím 30; lista: 120 px-es négyzetes kép + kategória 12, cím 22, olvasási idő (kivonat nélkül);
   teljes szélességű „További cikkek”. A hírlevél-doboz mobil nézete a footer.css-ben (B-094). */
@media (max-width:599px){
	.lv-blog{padding:8px 0 40px;gap:20px}
	.lv-blog__main,.lv-blog__head{gap:20px}
	.lv-blog__head h1{font-size:38px;line-height:1.06}
	.lv-blog__head p{font-size:16px;line-height:1.55}
	.lv-blog .lv-blog__tt,.lv-blog__cats{flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:0 -20px;padding:0 20px;scrollbar-width:none}
	.lv-blog .lv-blog__tt::-webkit-scrollbar,.lv-blog__cats::-webkit-scrollbar{display:none}
	.lv-blog .lv-blog__chip{flex:none}
	.lv-blog__feat{display:flex;flex-direction:column}
	.lv-blog__fbody{padding:20px;gap:10px}
	.lv-blog__feat .lv-blog__cap{font-size:12px}
	.lv-blog__feat h2{font-size:30px;line-height:1.1}
	.lv-blog__feat .lv-blog__ex{font-size:15px}
	.lv-blog__feat .lv-blog__meta{font-size:13px}
	.lv-blog__more{display:none}
	.lv-blog__grid{grid-template-columns:1fr}
	.lv-blog .lv-blog__grid{gap:20px}
	.lv-blog .lv-blog__card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start}
	.lv-blog .lv-blog__img{aspect-ratio:1}
	.lv-blog__cbody{gap:4px}
	.lv-blog .lv-blog__cap{font-size:12px}
	.lv-blog .lv-blog__t{font-size:22px;line-height:1.12}
	.lv-blog .lv-blog__cbody .lv-blog__ex{display:none}
	.lv-blog__t{font-size:24px}
	.lv-blog__pager{flex-direction:column}
	.lv-blog__empty{padding:28px 20px}
	.lv-blog__empty h2{font-size:26px}
}
/* ==== B-095 vége ==== */
/* A cikk-oldal (single-post.php) stílusa: assets/css/article.css (B-090), csak bejegyzésen töltődik. */
.lv-tt-nav{margin:0 0 24px}

/* laava-product-content */
/* Product details retain the Ecomus tab panel and attribute table geometry. */
.lv-main div.product .woocommerce-tabs {
	border: 1px solid #ebebeb;
	border-radius: 0;
	margin-top: 70px;
	padding: 0;
	clear: both;
}
.lv-main div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 50px;
	overflow: auto;
	list-style: none;
	border: 0;
	border-bottom: 1px solid #ebebeb;
	padding: 0 38px;
	margin: 0;
	background: #fff;
}
.lv-main div.product .woocommerce-tabs ul.tabs::before,
.lv-main div.product .woocommerce-tabs ul.tabs li::before,
.lv-main div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.lv-main div.product .woocommerce-tabs ul.tabs li {
	flex: none;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
	position: relative;
}
.lv-main div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 17px 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	color: #000;
	text-decoration: none;
	border: 0;
	border-bottom: 2px solid transparent;
}
.lv-main div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: #000;
}
.lv-main div.product .woocommerce-tabs .panel {
	padding: 35px;
	margin: 0;
	min-height: 80px;
}
.lv-main .woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.lv-main .woocommerce-product-attributes th,
.lv-main .woocommerce-product-attributes td {
	width: 50%;
	padding: 12px 10px;
	border: 1px solid #ebebeb;
	text-align: left;
	font-weight: 400;
	font-style: normal;
}
.lv-main .woocommerce-product-attributes p {
	margin: 0;
}
.lv-main .woocommerce-product-attributes a {
	text-decoration: none;
}
.lv-quickview {
	width: min(1000px, 94vw);
	max-height: 90dvh;
	padding: 30px;
	border: 0;
	border-radius: 0;
	overflow: auto;
	color: var(--laava-text);
	background: #fff;
}
/* scrim: motion.css (egységes) */
.lv-quickview > [data-lv-quickview-close] {
	position: absolute;
	top: 6px;
	right: 12px;
	z-index: 4;
	border: 0;
	background: #fff;
	color: #000;
	font-size: 30px;
	cursor: pointer;
	width: 36px;
	height: 36px;
}
.lv-quickview-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}
.lv-quickview-image img {
	display: block;
	width: 100%;
	border-radius: 0;
}
.lv-quickview .summary h2 {
	font-size: 26px;
	margin: 8px 0 16px;
}
.lv-quickview .summary .price {
	margin-bottom: 20px;
}
.lv-quickview .summary .woocommerce-product-details__short-description {
	font-size: 14px;
}
.lv-quickview-details {
	display: block;
	margin-top: 20px;
	font-size: 14px;
}
@media (max-width: 767px) {
	.lv-main div.product .woocommerce-tabs {
		margin-top: 35px;
	}
	.lv-main div.product .woocommerce-tabs ul.tabs {
		gap: 26px;
		padding-inline: 20px;
	}
	.lv-main div.product .woocommerce-tabs ul.tabs li a {
		font-size: 15px;
	}
	.lv-main div.product .woocommerce-tabs .panel {
		padding: 20px;
	}
	.lv-main .lv-recent-products ul.products:not(.swiper-wrapper),
	.lv-main .lv-product-cross-sells ul.products:not(.swiper-wrapper) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lv-quickview-grid {
		grid-template-columns: 1fr;
	}
	.lv-quickview {
		padding: 30px 20px;
	}
}

.lv-quickview-image {
	align-self: start;
}

/* Ecomus section headings and catalogue sidebar proportions. */
.lv-recent-products,
.lv-product-cross-sells {
	margin-top: 85px;
}
.lv-recent-products > h2,
.lv-product-cross-sells > h2 {
	font-size: 42px;
	font-weight: 400;
	text-align: center;
	margin: 0;
	padding-bottom: 57px;
}
@media (min-width: 1025px) {
	.lv-has-catalog-sidebar .lv-woo {
		max-width: none;
		padding-inline: 50px;
	}
	.lv-catalog-layout {
		display: grid;
		grid-template-columns: 26% minmax(0, 1fr);
		gap: 15px;
	}
	.lv-catalog-sidebar .lv-filter-widgets {
		padding: 0 15px 0 0;
	}
	.lv-main .lv-catalog-products ul.products:not(.swiper-wrapper) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 30px;
	}
}
@media (max-width: 1024px) {
	.lv-catalog-sidebar {
		display: none;
	}
}
@media (max-width: 767px) {
	.lv-recent-products,
	.lv-product-cross-sells {
		margin-top: 40px;
	}
	.lv-recent-products > h2,
	.lv-product-cross-sells > h2 {
		font-size: 28px;
		padding-bottom: 30px;
	}
}
.lv-product-strip {
	position: relative;
	min-width: 0;
}
.lv-main .lv-product-strip ul.products:not(.swiper-wrapper) {
	display: flex;
	flex-wrap: nowrap;
	gap: 30px;
	overflow-x: auto;
	/* Vízszintes sáv: függőlegesen nem görgethető (különben egérrel 6 px-et „bele lehet görgetni”, Gábor, 2026-11-06). */
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	/* A kártya hover-/fókuszkerete 6–7 px-rel a kártyán kívül ül: a sáv 8 px belső térrel, ugyanannyi negatív margóval, így nem vágja le
	   (Gábor, 2026-11-07: „a kiválasztás kerete nem látszódik körbe”). */
	margin: -8px;
	padding: 8px;
	scroll-padding-inline: 8px;
}
.lv-product-strip ul.products::-webkit-scrollbar {
	display: none;
}
.lv-main .lv-product-strip ul.products > li.product {
	flex: 0 0 calc((100% - (var(--lv-strip-columns,4) - 1)*30px) / var(--lv-strip-columns,4));
	scroll-snap-align: start;
	min-width: 0;
}
.lv-strip-arrow {
	position: absolute;
	top: var(--lv-strip-arrow-top, 120px);
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	background: #fff;
	color: #000;
	border: 1px solid #eee;
	border-radius: 50%;
	cursor: pointer;
	z-index: 4;
	padding: 0;
}
.lv-strip-arrow--prev {
	left: 10px;
}
.lv-strip-arrow--next {
	right: 10px;
}
.lv-strip-arrow:hover {
	background: #000;
	color: #fff;
}
@media (max-width: 767px) {
	.lv-main .lv-product-strip ul.products:not(.swiper-wrapper) {
		gap: 15px;
	}
	.lv-main .lv-product-strip ul.products > li.product {
		flex-basis: calc((100% - (var(--lv-strip-columns,2) - 1)*15px) / var(--lv-strip-columns,2));
	}
}

.lv-strip-arrow[hidden] {
	display: none;
}

/* Saved Ecomus widgets use native WordPress buttons and SelectWoo fields. */
.lv-filter-widgets .reset-button,
.lv-filter-widgets .filter-button,
.lv-filter-widgets .wp-block-search__button {
	background: #000;
	color: #fff;
	border: 1px solid #000;
	border-radius: 0;
	padding: 14px 20px;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	min-height: 45px;
	cursor: pointer;
}
.lv-filter-widgets .wp-block-search__input,
.lv-filter-widgets .select2-container .select2-selection {
	border: 1px solid #ebebeb;
	border-radius: 0;
}
.lv-filter-widgets .wp-block-search__input {
	min-width: 0;
	padding: 12px 17px;
	height: 50px;
}
.lv-filter-widgets .wp-block-search__button {
	padding-inline: 12px;
	height: 50px;
}
.lv-filter-widgets .products-filter__activated-heading .reset-button {
	text-decoration: none;
}
@media (min-width: 1025px) {
	.lv-catalog-sidebar .lv-filter-widgets .widget_search {
		margin-bottom: 120px;
	}
	.lv-catalog-sidebar .products-filter-widget {
		margin-top: 0;
	}
}
@media (max-width: 1024px) {
	.lv-filter-desktop {
		display: none;
	}
}

.lv-filter-toggle {
	border: 1px solid #ebebeb;
	border-radius: 0;
	padding: 11px 12px;
	min-height: 45px;
	font-size: 12px;
	font-weight: 500;
}
.lv-toolbar {
	margin-bottom: 38px;
}
.lv-toolbar .woocommerce-ordering select {
	border-radius: 0;
	min-height: 45px;
	font-size: 14px;
}

