/* LEVELS — kategoria / obchod (2a / 2b) */

.lv-shop-hero {
	padding: 64px var(--lv-pad) 40px;
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 48px;
	align-items: end;
	border-bottom: 1px solid var(--lv-line);
}
.lv-shop-hero__eyebrow { margin-bottom: 16px; }
.lv-shop-hero__title { margin: 0; font-size: 132px; line-height: .9; }
.lv-shop-hero__desc { margin: 0 0 12px; font-size: 19px; line-height: 1.5; color: var(--lv-muted); }

@media (max-width: 1279px) { .lv-shop-hero__title { font-size: 96px; } }
@media (max-width: 1023px) { .lv-shop-hero { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 767px) {
	.lv-shop-hero { padding: 36px var(--lv-pad) 24px; gap: 16px; }
	.lv-shop-hero__title { font-size: 64px; margin-bottom: 0; }
	.lv-shop-hero__eyebrow { margin-bottom: 12px; }
	.lv-shop-hero__desc { font-size: 15px; margin: 0; }
}

/* ---- Naladove taby ---- */
.lv-moodbar {
	display: flex;
	gap: 10px;
	padding: 20px var(--lv-pad);
	border-bottom: 1px solid var(--lv-line);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	flex-wrap: wrap;
}
.lv-moodbar__tag {
	padding: 10px 18px;
	border-radius: 999px;
	border: 1px solid rgba(230, 228, 220, .35);
	background: transparent;
	color: var(--lv-text);
	cursor: pointer;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	line-height: 1;
	display: inline-flex;
	align-items: center;
}
.lv-moodbar__tag:hover { border-color: var(--lv-accent); color: var(--lv-accent); }
.lv-moodbar__tag.is-active {
	border-color: var(--lv-accent);
	background: var(--lv-accent);
	color: var(--lv-bg);
}

@media (max-width: 767px) {
	.lv-moodbar {
		padding: 16px var(--lv-pad);
		gap: 8px;
		font-size: 11px;
		border-bottom: 0;
	}
	.lv-moodbar__tag { padding: 8px 14px; }
}

/* ---- Rozlozenie: sidebar + grid ---- */
.lv-shop {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	padding: 40px var(--lv-pad) 96px;
}

.lv-filters {
	display: flex;
	flex-direction: column;
	gap: 36px;
	font-size: 15px;
	color: var(--lv-muted);
	position: sticky;
	top: 24px;
	align-self: start;
}
.lv-filters__group {
	display: flex;
	flex-direction: column;
	gap: 12px;
	/* fieldset ma v prehliadaci vlastny groove ramcek a padding — nulujeme ho */
	margin: 0;
	min-width: 0;
	padding: 0 0 28px;
	border: 0;
	border-bottom: 1px solid var(--lv-line);
}
.lv-filters__group:last-of-type { border-bottom: 0; padding-bottom: 0; }
.lv-filters__title {
	/* legend ma v prehliadaci vlastny padding */
	padding: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lv-text);
}
.lv-filters__opt {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	cursor: pointer;
	align-items: center;
}
.lv-filters__opt > span:first-child { display: flex; gap: 10px; align-items: center; }
.lv-filters__opt input[type="checkbox"] { width: 16px; height: 16px; border-radius: 0; }
.lv-filters__count { color: rgba(230, 228, 220, .45); }
.lv-filters__price { display: flex; gap: 10px; align-items: center; }
.lv-filters__price input {
	padding: 10px 12px;
	font-size: 14px;
	text-align: center;
	width: 100%;
}
.lv-filters__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lv-filters__actions .lv-btn { padding: 12px 22px; font-size: 12px; }

.lv-shop__main { min-width: 0; }
.lv-shop__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 28px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(230, 228, 220, .6);
}
.lv-shop__bar select {
	width: auto;
	padding: 8px 40px 8px 12px;
	border: 1px solid var(--lv-line);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(230, 228, 220, .6);
}

/* ---- Zoznam produktov ---- */
.lv-products {
	display: flex;
	flex-direction: column;
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lv-product-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: stretch;
	color: var(--lv-text);
	border-bottom: 1px solid var(--lv-line);
	padding-bottom: 32px;
	position: relative;
	list-style: none;
}
.lv-product-card__media { aspect-ratio: 4 / 3; display: block; }
.lv-product-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 6px 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	background: var(--lv-accent);
	color: var(--lv-bg);
	z-index: 2;
}
.lv-product-card__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 8px 0;
	min-width: 0;
}
.lv-product-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--lv-accent);
	margin-bottom: 14px;
}
.lv-product-card__name {
	font-family: var(--lv-display);
	font-size: 56px;
	line-height: .95;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.lv-product-card__name a { color: inherit; }
.lv-product-card__blurb { font-size: 17px; line-height: 1.5; color: var(--lv-muted); max-width: 460px; }
.lv-product-card__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.lv-product-card__price { font-size: 22px; font-weight: 500; }
.lv-product-card__price del { opacity: .5; margin-right: 8px; }
.lv-product-card__price ins { text-decoration: none; }
.lv-product-card .lv-btn { padding: 14px 24px; font-size: 13px; }

.lv-shop__more { display: flex; justify-content: center; margin-top: 48px; }
.lv-shop__more .page-numbers {
	list-style: none;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.lv-shop__more .page-numbers li a,
.lv-shop__more .page-numbers li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--lv-line-4);
	border-radius: 999px;
}
.lv-shop__more .page-numbers li span.current { background: var(--lv-accent); color: var(--lv-bg); border-color: var(--lv-accent); }

.lv-shop__empty { font-size: 19px; color: var(--lv-muted); padding: 48px 0; }

/* Mobilny prepinac filtrov */
.lv-shop__mobile-bar { display: none; }

@media (max-width: 1023px) {
	.lv-shop { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 767px) {
	.lv-shop { padding: 0 var(--lv-pad) 56px; }
	.lv-shop__mobile-bar {
		display: flex;
		gap: 10px;
		padding: 0 0 24px;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .08em;
		text-transform: uppercase;
	}
	.lv-shop__mobile-bar > * {
		flex: 1;
		text-align: center;
		padding: 14px;
		border: 1px solid var(--lv-line-4);
		background: none;
		color: var(--lv-text);
		font: inherit;
		letter-spacing: inherit;
		text-transform: inherit;
		cursor: pointer;
	}
	.lv-filters {
		position: static;
		display: none;
		padding-bottom: 32px;
	}
	.lv-filters.is-open { display: flex; }
	.lv-shop__bar { display: none; }
	.lv-products { gap: 32px; }
	.lv-product-card {
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding-bottom: 28px;
	}
	.lv-product-card__body { gap: 14px; padding: 0; }
	.lv-product-card__meta { font-size: 11px; margin-bottom: 0; }
	.lv-product-card__name { font-size: 36px; margin: 0; }
	.lv-product-card__blurb { font-size: 14px; line-height: 1.45; max-width: none; }
	.lv-product-card__price { font-size: 18px; }
	.lv-product-card .lv-btn { padding: 12px 20px; font-size: 12px; }
	.lv-product-card__badge { top: 12px; left: 12px; padding: 5px 8px; font-size: 10px; }
}

/* Woo notice */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-message, .woocommerce-info, .woocommerce-error,
/* dakovacia stranka po objednavke — Blocksy jej dava svetle pozadie */
.woocommerce-notice--success {
	list-style: none;
	margin: 0 0 24px;
	padding: 16px 20px;
	background: var(--lv-surface);
	border-left: 3px solid var(--lv-accent);
	color: var(--lv-text);
	font-size: 15px;
}
.woocommerce-error { border-left-color: #c9564a; }
.woocommerce-notice--success { background: var(--lv-surface) !important; color: var(--lv-text) !important; }
/* Blocksy kresli do hlasky vlastnu ikonu s odsadenim 55px; nase odsadenie je
   mensie, takze ikona prekryvala text. */
.woocommerce-notice--success::before,
.woocommerce-notice--success::after { display: none !important; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }
/* Woo posiela chyby ako <ul class="woocommerce-error"><li>…</li></ul>. */
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li { list-style: none; margin: 0; padding: 0; }
.woocommerce-message li + li,
.woocommerce-info li + li,
.woocommerce-error li + li { margin-top: 8px; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--lv-accent); }
.woocommerce-notices-wrapper {
	margin: 0 var(--lv-pad);
	/* Blocksy nastavuje width: var(--theme-container-width); mimo jeho kontajnera
	   sa premenna nevyhodnoti a hlaska sa zmrsti na nulovu sirku. */
	width: auto;
}
.woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-notices-wrapper > .woocommerce-error { width: auto; }
@media (max-width: 767px) {
	.woocommerce-message, .woocommerce-info, .woocommerce-error { font-size: 14px; padding: 14px 16px; }
	.woocommerce-message .button, .woocommerce-info .button { float: none; display: block; margin-top: 10px; }
}

/* Zoradenie ako obycajny text podla 2a (nie ramceky od Blocksy) */
.lv-shop__bar .woocommerce-ordering select,
.lv-shop__bar select.orderby {
	padding: 0 18px 0 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	cursor: pointer;
}
