/**
 * Divozor — doplnkové štýly, ktoré theme.json nevie vyjadriť.
 * Farby, písma a rozostupy len cez presetové premenné.
 */

/* ---------- Spoločné ---------- */

/* Farby pre pluginy BeArt (chat, cookies, wishlist) — rovnaké roly ako v téme BeArt. */
:root {
	--beart-accent: var(--wp--preset--color--forest);
	--beart-accent-ink: #fff;
	--beart-surface: var(--wp--preset--color--base);
	--beart-surface-sunken: var(--wp--preset--color--surface);
	--beart-surface-hover: var(--wp--preset--color--surface);
	--beart-on-surface: var(--wp--preset--color--contrast);
	--beart-on-surface-strong: var(--wp--preset--color--contrast);
	--beart-on-surface-muted: var(--wp--preset--color--muted);
	--beart-on-surface-soft: var(--wp--preset--color--muted);
	--beart-line: var(--wp--preset--color--line);
	--beart-line-strong: var(--wp--preset--color--muted);
	--beart-line-dashed: var(--wp--preset--color--line);
	--beart-signal-ok: #2e7d32;
	--beart-signal-alert: var(--wp--preset--color--sale);
	--beart-shadow-card: 0 2px 10px rgb(0 0 0 / 0.08);
	--beart-shadow-panel: 0 12px 40px rgb(0 0 0 / 0.18);
}

/* Úvodný banner: výška podľa okna, no v rozumných medziach. */
.dz-hero {
	min-height: clamp(420px, 56vh, 640px) !important;
}

/* Fotka bannera: vľavo tmavší les pod textom, vpravo ostáva svetlo. */
.dz-hero .wp-block-cover__background.has-background-dim {
	background: linear-gradient(90deg, rgba(14, 28, 19, 0.82) 0%, rgba(14, 28, 19, 0.5) 38%, rgba(14, 28, 19, 0.08) 70%) !important;
	opacity: 1 !important;
}

.dz-hero .wp-block-heading {
	font-size: clamp(2.25rem, 1.2rem + 2.8vw, 3.5rem) !important;
	line-height: 1.02;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.35);
}

.dz-hero .wp-block-cover__inner-container {
	max-width: 480px;
}

@media (max-width: 781px) {
	.dz-hero .wp-block-cover__background.has-background-dim {
		background: linear-gradient(0deg, rgba(14, 28, 19, 0.85) 0%, rgba(14, 28, 19, 0.45) 55%, rgba(14, 28, 19, 0.2) 100%) !important;
	}

	.dz-hero.has-custom-content-position.is-position-center-left {
		align-items: flex-end;
		min-height: clamp(520px, 70vh, 600px) !important;
	}

	/* Na mobile je fotka už výrez na výšku (<picture>). */
	.dz-hero .wp-block-cover__image-background {
		object-position: 50% 40% !important;
	}
}

.dz-kicker {
	margin-bottom: 0.25rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.wp-block-cover .wp-block-heading,
.wp-block-cover p {
	text-shadow: 0 1px 12px rgb(0 0 0 / 0.25);
}

.dz-btn-light .wp-block-button__link {
	background: #fff;
	color: #1b1f1c;
}

.dz-btn-light .wp-block-button__link:hover,
.dz-btn-light .wp-block-button__link:focus-visible {
	background: #f4f4f2;
	color: #1b1f1c;
}

.dz-btn-ghost .wp-block-button__link {
	border: 2px solid #fff;
	background: transparent;
	color: #fff;
}

.dz-btn-ghost .wp-block-button__link:hover,
.dz-btn-ghost .wp-block-button__link:focus-visible {
	background: #fff;
	color: #1b1f1c;
}

.dz-main > .alignwide + .alignwide {
	margin-top: 0;
}

/* ---------- Lišta výhod ---------- */

.dz-usp {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	margin: 0;
}

.dz-usp::before {
	content: "";
	flex: none;
	width: 1.15em;
	height: 1.15em;
	background: currentColor;
	-webkit-mask: var(--dz-icon) center / contain no-repeat;
	mask: var(--dz-icon) center / contain no-repeat;
}

.dz-usp--chat {
	--dz-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");
}

.dz-usp--return {
	--dz-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E");
}

.dz-usp--shield {
	--dz-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.2-8 9-4.6-.8-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}

.dz-usp a {
	color: inherit;
}

/* ---------- Hlavička ---------- */

.dz-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.dz-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.dz-header__row > * {
	margin-block: 0;
}

.dz-header__tools {
	justify-self: end;
}

/* Menu za logom (Blog) — vpravo, hneď pred prepínačom témy. */
.dz-header__tools .dz-nav-after {
	margin-right: var(--wp--preset--spacing--20);
}

.dz-logo {
	margin: 0;
}

.dz-logo img {
	display: block;
	height: auto;
}

.dz-nav-quick .wp-block-navigation-item__content {
	text-decoration: none;
}

/* Hamburger: úzky panel, ktorý sa vysunie zľava; za ním stmavená stránka. */
.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open {
	right: auto;
	box-sizing: border-box;
	width: min(340px, 86vw);
	z-index: 2147483001 !important;
	padding: var(--wp--preset--spacing--40) !important;
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: 8px 0 40px rgb(0 0 0 / 0.2);
	animation: dz-drawer-in 0.28s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open.is-closing {
	animation: dz-drawer-out 0.24s ease-in both;
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 3rem !important;
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0 !important;
	width: 100%;
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	gap: 0.7em;
	width: 100%;
	padding: 0.85rem 0 !important;
	text-decoration: none;
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
	color: var(--dz-link-strong);
}

.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: "Menu";
	position: absolute;
	top: calc(var(--wp--preset--spacing--40) + 0.15rem);
	left: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.dz-nav-menu .wp-block-navigation__responsive-container-close {
	top: var(--wp--preset--spacing--40);
	right: var(--wp--preset--spacing--40);
}

html.has-modal-open:has(.dz-nav-menu .is-menu-open) body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	background: rgb(15 29 21 / 0.45);
	animation: dz-fade-in 0.28s ease both;
}

/* Pri otvorenom menu sa tlačidlo chatu schová (bolo by nad stmaveným pozadím). */
html.has-modal-open:has(.dz-nav-menu .is-menu-open) .beart-chat-launcher {
	visibility: hidden;
}

html.dz-drawer-closing body::after {
	animation: dz-fade-out 0.24s ease both !important;
}

@keyframes dz-drawer-in {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: none;
	}
}

@keyframes dz-drawer-out {
	from {
		transform: none;
	}
	to {
		transform: translateX(-100%);
	}
}

@keyframes dz-fade-in {
	from {
		opacity: 0;
	}
}

@keyframes dz-fade-out {
	to {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-nav-menu .wp-block-navigation__responsive-container.is-menu-open,
	html.has-modal-open:has(.dz-nav-menu .is-menu-open) body::after {
		animation: none !important;
	}
}

.dz-search .wp-block-search__button {
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: 0.4rem;
}

.dz-search .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	padding: 0.5rem 1rem;
}

.dz-header__tools .wc-block-mini-cart__button,
.dz-header__tools .wc-block-customer-account a {
	color: var(--wp--preset--color--contrast);
}

.dz-header__tools .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--gold);
	color: #15120b;
}

/* ---------- Rad kategórií ---------- */

.dz-cat-strip .dz-cat-pill {
	margin: 0;
}

.dz-cat-pill a {
	display: inline-block;
	padding: 0.6rem 1.25rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

.dz-cat-pill a:hover,
.dz-cat-pill a:focus-visible {
	border-color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--forest);
	color: #fff;
}

.dz-cat-pill--sale a {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--accent);
}

/* ---------- Sekcie s produktmi ---------- */

.dz-section__head {
	margin-bottom: var(--wp--preset--spacing--40);
}

.dz-section__head h2 {
	margin: 0;
}

.dz-more {
	margin: 0;
}

.dz-more a {
	font-weight: 600;
	text-underline-offset: 4px;
}

/* Obchod a kategórie bez klasického woocommerce.css (inc/performance.php): medzery, ktoré dával. */
.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 1em;
	padding: 0;
}

.woocommerce .woocommerce-breadcrumb::before,
.woocommerce .woocommerce-breadcrumb::after {
	display: table;
	content: " ";
}

.woocommerce .woocommerce-breadcrumb::after {
	clear: both;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin: 0 0 1em;
}

.woocommerce .woocommerce-ordering > label {
	margin-right: 0.25rem;
}

.woocommerce .woocommerce-ordering select {
	vertical-align: top;
}

/* ---------- Karta produktu ---------- */

.dz-products .wc-block-product-template {
	gap: var(--wp--preset--spacing--30);
}

.dz-products .wc-block-product {
	margin: 0;
}

.dz-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 4px;
	background: var(--wp--preset--color--surface);
	overflow: hidden;
}

.dz-card > *,
.dz-card__body > * {
	margin-block: 0;
}

.dz-card__image {
	margin: 0;
}

.dz-card__image img {
	/* Produktové fotky na bielom pozadí splynú so sivou kartou. */
	mix-blend-mode: multiply;
	transition: transform 0.4s ease;
}

.dz-card:hover .dz-card__image img {
	transform: scale(1.03);
}

.dz-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.9rem 1.1rem 1.1rem;
}

.dz-card__cat,
.dz-card__cat a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

/* Kategória nad roztiahnutým odkazom karty — dá sa kliknúť. */
.dz-card__cat {
	position: relative;
	z-index: 2;
}

.dz-card__cat .wp-block-post-terms__separator {
	color: var(--wp--preset--color--line);
}

.dz-card__title {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}

.dz-card__title a {
	text-decoration: none;
}

.dz-card__title a::after {
	/* Celá karta je klikateľná. */
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.dz-card__button {
	position: relative;
	z-index: 2;
	margin-top: auto !important;
	padding-top: 0.5rem;
}

.dz-card__button > button,
.dz-card__button > a {
	width: 100%;
	border: 1px solid var(--dz-link-strong) !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: transparent !important;
	color: var(--dz-link-strong) !important;
	padding: 0.65rem 1rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dz-card__button > button:hover,
.dz-card__button > a:hover,
.dz-card__button > button:focus-visible,
.dz-card__button > a:focus-visible {
	background: var(--wp--preset--color--forest) !important;
	color: #fff !important;
}

/* Cena: pôvodná prečiarknutá červenou, akciová tučne. */
.wc-block-components-product-price del,
.woocommerce-Price-amount del,
.price del {
	color: var(--wp--preset--color--sale);
	font-weight: 400;
}

.wc-block-components-product-price ins,
.price ins {
	text-decoration: none;
	font-weight: 700;
}

/* Odznak zľavy: zlaté koliesko vpravo hore. */
.wc-block-components-product-sale-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--gold);
	color: #15120b;
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.wc-block-components-product-image .wc-block-components-product-sale-badge--align-right {
	top: 0.75rem;
	right: 0.75rem;
}

.dz-empty {
	padding: var(--wp--preset--spacing--50) 0;
}

/* ---------- Obchod a kategórie ---------- */

.dz-shop-bar {
	align-items: center;
	padding-block: 0.75rem;
	border-block: 1px solid var(--wp--preset--color--line);
}

.dz-shop-bar > * {
	margin: 0 !important;
}

.wc-block-catalog-sorting select,
.woocommerce-ordering select {
	padding: 0.5rem 2rem 0.5rem 0.9rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	background-color: var(--wp--preset--color--base);
	font: inherit;
}

/* ---------- Stránkovanie (1.25.0) ----------
 * Obchod aj blog: čísla ako tlačidlá 44 px (dotyk), aktuálna strana plná zelená, šípky kreslené
 * rámčekom (písma sú orezané, znak › v nich nie je). Na mobile čísla hore a pod nimi dve široké
 * tlačidlá — v jednom riadku by sa pri 360 px nezmestili (midSize 1 = max. 5 čísel a 2× „…“). */
.wp-block-query-pagination {
	gap: 0.5rem;
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.wp-block-query-pagination > * {
	margin: 0 !important;
}

.wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
}

.wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-width: 44px;
	height: 44px;
	padding: 0 0.85rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	line-height: 1;
	text-decoration: none;
	transition: border-color 0.2s, background-color 0.2s;
}

.wp-block-query-pagination a:is(:hover, :focus-visible) {
	border-color: var(--wp--preset--color--muted);
}

.wp-block-query-pagination .page-numbers.current {
	border-color: var(--wp--preset--color--forest);
	background-color: var(--wp--preset--color--forest);
	color: #fff;
}

.wp-block-query-pagination .page-numbers.dots {
	min-width: 1.5rem;
	padding: 0;
	border-color: transparent;
	background: none;
	color: var(--wp--preset--color--muted);
}

.wp-block-query-pagination-previous::before,
.wp-block-query-pagination-next::after {
	content: "";
	flex-shrink: 0;
	width: 0.45rem;
	height: 0.45rem;
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	transform: rotate(135deg);
}

.wp-block-query-pagination-previous::before {
	margin-left: 0.2rem;
}

.wp-block-query-pagination-next::after {
	margin-right: 0.2rem;
	transform: rotate(-45deg);
}

@media (max-width: 600px) {
	.wp-block-query-pagination {
		flex-wrap: wrap;
	}

	.wp-block-query-pagination-numbers {
		flex-basis: 100%;
		order: -1;
		gap: 0.25rem;
	}

	.wp-block-query-pagination .page-numbers {
		min-width: 40px;
		padding: 0 0.6rem;
	}

	.wp-block-query-pagination .page-numbers.dots {
		min-width: 1.25rem;
		padding: 0;
	}

	.wp-block-query-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
		flex: 1 1 0;
		gap: 0.45rem;
		min-width: 0;
		padding: 0 0.5rem;
	}
}

/* ---------- Detail produktu (1.16.0) ----------
 * Galéria vľavo (veľká fotka, pás náhľadov, tlačidlo zväčšenia), vpravo súhrn: značka, názov,
 * cena s DPH, dostupnosť, varianty ako tlačidlá (assets/js/product.js), množstvo −/+, košík.
 * Farby len cez presetové premenné — tmavý režim prepína hodnoty v :root[data-theme="dark"]. */

.dz-single-product {
	--dz-ok: #2e7d32;
	--dz-warn: var(--wp--preset--color--accent);
}

:root[data-theme="dark"] .dz-single-product {
	--dz-ok: #7bc47f;
}

.dz-product__crumbs {
	margin-bottom: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--muted);
}

.dz-product__crumbs a {
	color: inherit;
	text-decoration: none;
}

.dz-product__crumbs a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

/* — Galéria — */

.dz-product__media {
	position: relative;
	min-width: 0;
}

.dz-product__media .wp-block-woocommerce-product-image-gallery {
	width: 100%;
	max-width: none;
}

.dz-product__media .woocommerce-product-gallery,
.woocommerce .dz-product__media div.images {
	position: relative;
	float: none;
	width: 100% !important;
	margin: 0;
}

.dz-product__media .woocommerce-product-gallery__wrapper,
.dz-product__media .flex-viewport {
	overflow: hidden;
	border-radius: 2px;
	background: var(--wp--preset--color--surface);
}

.dz-product__media .woocommerce-product-gallery__image a {
	display: block;
}

/* Fotka vždy štvorec, produkt celý (contain) s okrajom; zoomImg (lupa pri prechode myšou) nechávame. */
.dz-product__media .woocommerce-product-gallery__image img:not(.zoomImg) {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	padding: 6%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

/* Kým FlexSlider fotky nerozmiestni (dá im inline float), len prvá fotka a miesto pre pás
 * náhľadov — inak boli fotky pod sebou (aj chvíľu po vytvorení .flex-viewport a náhľadov)
 * a po zostavení stĺpec s popisom poskočil (CLS). */
.woocommerce .dz-product__media div.woocommerce-product-gallery div.woocommerce-product-gallery__image:nth-child(n + 2):not([style*="float"]) {
	display: none;
}

.woocommerce .dz-product__media div.woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image:nth-child(2)) {
	padding-bottom: 78px; /* Výška pásu náhľadov. */
}

/* Okno slidera je vždy štvorec (fotky sú štvorcové): pri zostavovaní má prvá snímka chvíľu šírku
 * celého pásu snímok (1000 %) a bez tohto by galéria na okamih narástla na tisíce pixelov. */
.woocommerce .dz-product__media div.woocommerce-product-gallery .flex-viewport {
	height: auto !important;
	aspect-ratio: 1;
}

/* Náhľady: pás malých štvorcov namiesto mriežky veľkých dlaždíc. */
.woocommerce .dz-product__media .flex-control-thumbs,
.dz-product__media .flex-control-thumbs {
	display: flex;
	gap: 0.625rem;
	margin: 0.75rem 0 0;
	padding: 0 0 6px;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: thin;
}

.woocommerce .dz-product__media .flex-control-thumbs li,
.dz-product__media .flex-control-thumbs li {
	flex: 0 0 78px;
	width: 78px !important;
	margin: 0 !important;
	float: none !important;
}

.dz-product__media .flex-control-thumbs img {
	display: block;
	box-sizing: border-box;
	width: 78px;
	height: 78px;
	padding: 6px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: var(--wp--preset--color--surface);
	object-fit: contain;
	opacity: 0.72;
	cursor: pointer;
	transition: opacity 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.dz-product__media .flex-control-thumbs img:hover {
	opacity: 1;
}

.dz-product__media .flex-control-thumbs img.flex-active {
	border-color: var(--wp--preset--color--forest);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--forest);
	opacity: 1;
}

/* Tlačidlo zväčšenia (vkladá ho JS WooCommerce s emoji 🔍): plný kruh s ikonou. */
.woocommerce .dz-product__media .woocommerce-product-gallery__trigger,
.dz-product__media .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: auto;
	z-index: 9;
	display: grid !important;
	box-sizing: border-box !important;
	width: 48px !important;
	height: 48px !important;
	place-items: center;
	border: 1px solid rgb(0 0 0 / 0.08) !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 4px 16px rgb(0 0 0 / 0.14);
	color: #1b1f1c !important;
	font-size: 0 !important;
	text-decoration: none;
	text-indent: 0 !important;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.dz-product__media .woocommerce-product-gallery__trigger > * {
	display: none;
}

.woocommerce .dz-product__media .woocommerce-product-gallery__trigger::before,
.dz-product__media .woocommerce-product-gallery__trigger::before {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 20px !important;
	height: 20px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: currentColor !important;
	content: "" !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce .dz-product__media .woocommerce-product-gallery__trigger::after,
.dz-product__media .woocommerce-product-gallery__trigger::after {
	display: none !important;
}

.dz-product__media .woocommerce-product-gallery__trigger:hover,
.dz-product__media .woocommerce-product-gallery__trigger:focus-visible {
	background: #284a32 !important;
	color: #fff !important;
	transform: scale(1.05);
}

/* Packshoty majú biele pozadie: aj v tmavom režime ostávajú na svetlej dlaždici
 * (inak by v tmavom ráme svietil biely štvorec). Tlačidlo zväčšenia je preto vždy svetlé. */
/* Pri náhľadoch nesie dlaždicu li (isolation), inak by multiply stmavil obrázok aj s pozadím
 * o tmavú stránku pod ním. */
:root[data-theme="dark"] .dz-product__media :is(.woocommerce-product-gallery__wrapper, .flex-viewport),
:root[data-theme="dark"] .dz-product__media .flex-control-thumbs li {
	background: #f4f4f2;
}

:root[data-theme="dark"] .dz-product__media .flex-control-thumbs li {
	border-radius: 2px;
	isolation: isolate;
}

:root[data-theme="dark"] .dz-product__media .flex-control-thumbs img {
	border-color: transparent;
	background: transparent;
}

:root[data-theme="dark"] .dz-product__media .woocommerce-product-gallery__image img:not(.zoomImg),
:root[data-theme="dark"] .dz-product__media .flex-control-thumbs img {
	mix-blend-mode: multiply;
}

:root[data-theme="dark"] .dz-product__media .flex-control-thumbs img.flex-active {
	border-color: var(--wp--preset--color--gold);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--gold);
}

/* Odznak zľavy vľavo hore (vpravo je tlačidlo zväčšenia). */
.woocommerce .dz-product__media span.onsale,
.dz-product__media span.onsale {
	position: absolute;
	top: 1rem;
	right: auto;
	left: 1rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	min-width: 0;
	height: 4rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--gold);
	color: #15120b;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1;
}

/* — Súhrn — */

.dz-product__summary {
	min-width: 0;
}

.dz-product__summary > * {
	margin-block: 0 1.5rem;
}

.dz-product__head > * {
	margin: 0;
}

.dz-product__brand {
	margin-bottom: 0.65rem !important;
	font-family: var(--wp--preset--font-family--wide);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.dz-product__brand a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.dz-product__brand a:hover {
	text-decoration: underline;
}

/* Dlhé názvy produktov sa čítajú lepšie bez veľkých písmen nadpisov témy. */
.dz-product__title {
	font-size: clamp(1.6rem, 1.1rem + 1.35vw, 2.35rem) !important;
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.01em;
	text-transform: none !important;
	text-wrap: balance;
}

.dz-product__rating {
	margin-top: 0.75rem !important;
}

.dz-product__pricebox {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.3rem 0.9rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.dz-product__pricebox > * {
	margin: 0;
}

.dz-product__price,
.dz-product__price .wc-block-components-product-price {
	color: var(--wp--preset--color--contrast);
	font-size: clamp(1.75rem, 1.4rem + 0.9vw, 2.15rem) !important;
	font-weight: 800;
	line-height: 1.1;
}

.dz-product__price del {
	color: var(--wp--preset--color--muted);
	font-size: 0.55em;
	font-weight: 500;
}

.dz-product__price ins {
	color: var(--wp--preset--color--sale);
	text-decoration: none;
}

.dz-product__vat {
	color: var(--wp--preset--color--muted);
	font-size: 0.8rem;
}

/* Cena bez DPH (1.25.0): menšia, na vlastnom riadku pod veľkou cenou (inc/single-product.php). */
.dz-product__net {
	flex-basis: 100%;
	margin-top: -0.15rem !important;
	color: var(--wp--preset--color--muted);
	font-size: 0.95rem;
	font-weight: 600;
}

.dz-product__net-label {
	font-size: 0.8rem;
	font-weight: 400;
}

.dz-product__cart .woocommerce-variation-price .dz-product__net {
	margin: 0.2rem 0 0 !important;
}

/* Dostupnosť: farebná bodka podľa stavu skladu. */
.dz-product__stock,
.dz-product__cart p.stock {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
}

.dz-product__stock {
	flex-basis: 100%;
	margin-top: 0.4rem !important;
}

/* Pri variabilnom produkte je indikátor prázdny, kým sa nevyberie variant (dostupnosť ukáže formulár). */
.dz-product__stock:empty {
	display: none;
}

.dz-product__stock::before,
.dz-product__cart p.stock::before {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);
	content: "";
}

.dz-product__stock.wc-block-components-product-stock-indicator--in-stock,
.dz-product__stock.wc-block-components-product-stock-indicator--low-stock,
.dz-product__cart p.stock.in-stock {
	color: var(--dz-ok);
}

.dz-product__stock.wc-block-components-product-stock-indicator--available-on-backorder,
.dz-product__cart p.stock.available-on-backorder {
	color: var(--dz-warn);
}

.dz-product__stock.wc-block-components-product-stock-indicator--out-of-stock,
.dz-product__cart p.stock.out-of-stock {
	color: var(--wp--preset--color--sale);
}

.dz-product__excerpt {
	color: var(--wp--preset--color--muted);
	font-size: 0.98rem;
	line-height: 1.65;
}

.dz-product__excerpt .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

/* — Varianty — */

.dz-product__cart form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0;
}

.dz-product__cart form.variations_form {
	display: block;
}

/* Clearfix WooCommerce (::before/::after) by sa vo flex riadku stal položkou a posunul ho o medzeru. */
.dz-product__cart :is(form.cart, .woocommerce-variation-add-to-cart)::before,
.dz-product__cart :is(form.cart, .woocommerce-variation-add-to-cart)::after {
	display: none !important;
}

.dz-product__cart form.cart {
	padding: 0;
}

/* Dostupnosť jednoduchého produktu je už pri cene (indikátor skladu); variant ju ukazuje vo formulári. */
.dz-product__cart > p.stock {
	display: none;
}

.dz-product__cart table.variations {
	width: 100%;
	margin: 0 0 1.25rem;
	border: 0;
	border-collapse: collapse;
}

.dz-product__cart table.variations tr {
	display: block;
	margin-bottom: 1.1rem;
}

.dz-product__cart table.variations :is(th, td) {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	line-height: 1.4;
}

.dz-product__cart table.variations th.label label {
	display: block;
	margin-bottom: 0.6rem;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--wide);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Bez JS (alebo pred jeho načítaním) ostáva výber ako upravený select. */
.dz-product__cart table.variations select {
	width: 100%;
	min-height: 3rem;
	padding: 0.7rem 2.5rem 0.7rem 1rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

.dz-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.dz-swatch {
	min-height: 2.75rem;
	padding: 0.55rem 1.05rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.dz-swatch:hover {
	border-color: var(--wp--preset--color--contrast);
}

.dz-swatch:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

.dz-swatch[aria-pressed="true"] {
	border-color: var(--wp--preset--color--forest);
	background: color-mix(in srgb, var(--wp--preset--color--forest) 9%, var(--wp--preset--color--base));
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--forest);
}

.dz-swatch:disabled {
	cursor: not-allowed;
	opacity: 0.4;
	text-decoration: line-through;
}

/* !important: inak vyhrá šírka 100 % selectu variantov a skrytý select rozšíri stránku na mobile. */
.dz-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	min-width: 0 !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden;
	border: 0 !important;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.dz-product__cart .reset_variations {
	display: inline-block;
	margin-top: 0.6rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.8rem;
}

/* WooCommerce skrýva „Vymazať“ cez visibility: hidden — bez miesta navyše. */
.dz-product__cart .reset_variations[style*="hidden"],
.dz-product__cart .woocommerce-variation:empty {
	display: none !important;
}

.dz-product__cart table.variations tr:last-child {
	margin-bottom: 0;
}

.dz-product__cart .single_variation_wrap .woocommerce-variation {
	margin-bottom: 1rem;
}

.dz-product__cart .woocommerce-variation-price .price {
	color: var(--wp--preset--color--contrast);
	font-size: 1.5rem;
	font-weight: 800;
}

.dz-product__cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* — Množstvo a košík — */

.dz-product__cart .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: var(--wp--preset--color--base);
}

.dz-product__cart .quantity input.qty {
	width: 3.25rem;
	height: auto;
	min-height: 3.25rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.dz-product__cart .quantity input.qty::-webkit-inner-spin-button,
.dz-product__cart .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.dz-qty-btn {
	width: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.dz-qty-btn:hover {
	background: var(--wp--preset--color--surface);
}

.dz-product__cart .single_add_to_cart_button,
.dz-product__cart button[type="submit"] {
	display: inline-flex !important;
	flex: 1 1 220px;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 3.25rem;
	padding: 0.9rem 1.75rem;
	border: 0;
	border-radius: 2px;
	background: var(--wp--preset--color--forest);
	color: #fff;
	font-family: var(--wp--preset--font-family--wide);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: background-color 0.2s ease;
}

.dz-product__cart .single_add_to_cart_button::before {
	display: block;
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	background: currentColor;
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14l-1.2 12.2a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14l-1.2 12.2a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

.dz-product__cart .single_add_to_cart_button:hover,
.dz-product__cart .single_add_to_cart_button:focus-visible {
	background: var(--wp--preset--color--forest-dark);
	color: #fff;
}

/* Prípona „s DPH“ (WooCommerce) je v kartách produktov; na detaile je pri cene text „s DPH“ a pod ňou cena bez DPH. */
.dz-product__pricebox .woocommerce-price-suffix,
.dz-product__cart .woocommerce-variation-price .woocommerce-price-suffix {
	display: none;
}

/* Pred výberom variantu: sivé tlačidlo s čitateľným textom (kontrast nad 4,5 : 1) namiesto priehľadnosti. */
/* Špecifickosť nad „.woocommerce button.button.alt.disabled { opacity: .5 }“ z WooCommerce. */
.woocommerce .dz-product__cart button.single_add_to_cart_button.button.disabled,
.woocommerce .dz-product__cart button.single_add_to_cart_button.button.disabled:hover,
.woocommerce .dz-product__cart button.single_add_to_cart_button.button.disabled:focus-visible {
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	cursor: not-allowed;
	opacity: 1;
}

/* Sekcia popisu pod galériou: všeobecné „.alignwide + .alignwide { margin-top: 0 }“ ju prilepilo k súhrnu. */
.dz-main > .alignwide + .dz-pinfo {
	margin-top: var(--wp--preset--spacing--60);
}

/* — Výhody a údaje — */

.dz-product__usp {
	display: grid;
	gap: 0.7rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background: var(--wp--preset--color--surface);
	font-size: 0.875rem;
}

.dz-product__meta {
	color: var(--wp--preset--color--muted);
	font-size: 0.8rem;
}

.dz-product__meta .wp-block-group {
	gap: 0.35rem 1.5rem;
}

.dz-product__meta a {
	color: inherit;
}

@media (min-width: 1025px) {
	.dz-product__summary {
		position: sticky;
		top: var(--wp--preset--spacing--50);
		align-self: flex-start;
	}
}

@media (max-width: 781px) {
	.dz-product__media .flex-control-thumbs li {
		flex-basis: 64px;
		width: 64px !important;
	}

	.dz-product__media .flex-control-thumbs img {
		width: 64px;
		height: 64px;
	}

	.dz-product__media .woocommerce-product-gallery__trigger {
		top: 0.75rem;
		right: 0.75rem;
		width: 44px;
		height: 44px;
	}
}

/* ---------- Pätička ---------- */

/* Kopce a smreky pri spodnom okraji (tools/generuj-ilustracie.py) — priehľadné
 * tiene na farbe pätičky, šírka aspoň 1100 px, aby sa na mobile nenafúkli. */
.dz-footer {
	background-image: url("../images/paticka-hory.svg");
	background-position: center bottom;
	background-size: max(100%, 1100px) auto;
	background-repeat: no-repeat;
}

/* Živá pätička: pomaly plávajúca hmla nad kopcami a pár svetlušiek.
 * Len transform a opacity (kompozitor), pri prefers-reduced-motion stojí. */
.dz-footer {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.dz-footer::before,
.dz-footer::after {
	position: absolute;
	z-index: -1;
	content: "";
	pointer-events: none;
}

.dz-footer::before {
	bottom: 0;
	left: -50%;
	width: 200%;
	height: 60%;
	background:
		radial-gradient(40% 55% at 20% 75%, rgb(255 255 255 / 0.1), transparent 70%),
		radial-gradient(35% 45% at 55% 85%, rgb(255 255 255 / 0.08), transparent 70%),
		radial-gradient(45% 50% at 85% 70%, rgb(255 255 255 / 0.09), transparent 70%);
	animation: dz-mist 70s ease-in-out infinite alternate;
}

.dz-footer::after {
	top: 0;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	color: rgb(248 220 140);
	box-shadow:
		8vw 210px 3px 1px, 17vw 300px 4px 1px, 29vw 250px 2px 1px, 41vw 330px 4px 1px,
		52vw 230px 2px 1px, 63vw 310px 4px 1px, 74vw 260px 3px 1px, 86vw 320px 2px 1px,
		93vw 240px 4px 1px, 35vw 180px 2px 1px, 68vw 170px 2px 1px;
	filter: drop-shadow(0 0 4px rgb(240 205 120 / 0.8));
	animation: dz-fireflies 9s ease-in-out infinite alternate;
}

@keyframes dz-mist {
	to {
		transform: translateX(22%);
	}
}

@keyframes dz-fireflies {
	0% {
		opacity: 0.15;
		transform: translate(0, 0);
	}

	45% {
		opacity: 0.9;
	}

	100% {
		opacity: 0.35;
		transform: translate(1.5vw, -24px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-footer::before,
	.dz-footer::after {
		animation: none;
	}
}

/* V tmavom režime je forest-dark takmer čierna — tiene kopcov by zanikli. */
:root[data-theme="dark"] .dz-footer.has-forest-dark-background-color {
	background-color: #131d17 !important;
}

/* Odkazy vždy biele — farba base je v tmavom režime tmavá. */
:root .dz-footer a:where(:not(.wp-element-button)) {
	color: #fff;
}

.dz-footer__title {
	margin-bottom: 0.75rem;
	color: #c9a24d;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dz-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.dz-footer-links li + li {
	margin-top: 0.45rem;
}

.dz-footer a {
	text-decoration: none;
	opacity: 0.85;
}

.dz-footer a:hover,
.dz-footer a:focus-visible {
	text-decoration: underline;
	opacity: 1;
}

.dz-footer__about {
	max-width: 22rem;
	opacity: 0.8;
}

.dz-footer__sep {
	border-color: rgb(255 255 255 / 0.15);
	opacity: 1;
}

.dz-footer__company {
	margin-top: 1rem !important;
	line-height: 1.6;
	opacity: 0.7;
}

.dz-footer__company strong {
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* Spodná lišta: © firma · právne odkazy · autor webu. */
.dz-footer__bottom {
	gap: 0.5rem 2rem;
	align-items: center;
}

.dz-footer__bottom > p {
	margin: 0;
	opacity: 0.7;
}

.dz-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
}

.dz-footer__credit {
	opacity: 0.45 !important;
	letter-spacing: 0.04em;
	transition: opacity 0.2s;
}

.dz-footer__credit:hover {
	opacity: 0.85 !important;
}

/* Pätička na mobile: Obchod a Nákup vedľa seba, odkazy Divozoru v riadku. */
@media (max-width: 781px) {
	.dz-footer__cols {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	}

	.dz-footer__cols > .wp-block-column:first-child,
	.dz-footer__cols > .wp-block-column:last-child {
		grid-column: 1 / -1;
	}

	.dz-footer__cols > .wp-block-column:last-child .dz-footer-links {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem 1.25rem;
	}

	.dz-footer__cols > .wp-block-column:last-child .dz-footer-links li + li {
		margin-top: 0;
	}
}

/* ---------- Tablet a mobil ---------- */

@media (max-width: 1024px) {
	.dz-nav-quick {
		display: none !important;
	}
}

/* Rýchle menu vľavo až od 1280 px — inak stlačí logo mimo stred. */
@media (max-width: 1279px) {
	.dz-nav-quick:not(.dz-nav-after) {
		display: none !important;
	}
}

@media (max-width: 782px) {
	.dz-usp-list .dz-usp:not(:first-child) {
		display: none;
	}

	.dz-logo img {
		width: 210px !important;
	}

	.dz-tiles .dz-tile {
		min-height: 380px !important;
	}

	.dz-section__head {
		margin-bottom: var(--wp--preset--spacing--30);
	}
}

@media (max-width: 600px) {
	.dz-header__row {
		gap: 0.5rem;
	}

	.dz-logo img {
		width: 172px !important;
	}

	.dz-header__tools .wc-block-customer-account {
		display: none;
	}

	.dz-products .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.6rem;
	}

	.dz-card__body {
		padding: 0.7rem 0.75rem 0.85rem;
	}

	.wc-block-components-product-sale-badge {
		width: 3.1rem;
		height: 3.1rem;
		font-size: 0.8rem;
	}

	.dz-card__button > button,
	.dz-card__button > a {
		padding: 0.6rem 0.4rem !important;
		font-size: 0.75rem;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}

	/* Kategórie v jednom riadku s posúvaním do strany. */
	.dz-cat-strip {
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		overflow-x: auto;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 16px)) !important;
		padding-inline: var(--wp--style--root--padding-left, 16px);
		scrollbar-width: none;
	}

	.dz-cat-strip::-webkit-scrollbar {
		display: none;
	}

	.dz-cat-pill {
		flex: none;
	}

	.dz-advice {
		padding: var(--wp--preset--spacing--50) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-card__image img {
		transition: none;
	}

	.dz-card:hover .dz-card__image img {
		transform: none;
	}
}

/* ---------- Úvod: štýl „Vidieť. Rozhodnúť. Uloviť!“ ---------- */

.dz-hero .dz-hero__title {
	font-size: clamp(2.1rem, 1rem + 3vw, 3.6rem) !important;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.dz-btn-gold .wp-block-button__link {
	padding: 0.85em 1.35em;
	white-space: nowrap;
	border: 0;
	border-radius: 2px;
	background: #c9a24d;
	color: #15120b;
	font-family: var(--wp--preset--font-family--wide);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: background-color 0.2s ease;
}

.dz-btn-gold .wp-block-button__link::after {
	content: "→";
	margin-left: 0.8em;
	transition: margin 0.2s ease;
}

.dz-btn-gold .wp-block-button__link:hover,
.dz-btn-gold .wp-block-button__link:focus-visible {
	background: #dbb661;
	color: #15120b;
}

.dz-btn-gold .wp-block-button__link:hover::after {
	margin-left: 1.1em;
}

/* Spôsoby lovu — 6 tmavých dlaždíc 2 × 3. */
.dz-hunts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-top: 7px !important;
}

.dz-hunts > .screen-reader-text {
	position: absolute;
}

.dz-hunt {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 230px;
	margin: 0 !important;
	overflow: hidden;
	background: #1d221d;
	isolation: isolate;
}

.dz-hunt__img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	margin: 0 !important;
}

.dz-hunt__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% center;
	transition: transform 0.6s ease;
}

/* Jemný tieň len pod textom — fotka ostáva celá viditeľná. */
.dz-hunt::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgb(10 14 11 / 0.55) 0%, rgb(10 14 11 / 0.28) 34%, rgb(10 14 11 / 0) 58%);
	pointer-events: none;
}

.dz-hunt__title,
.dz-hunt__text {
	text-shadow: 0 1px 3px rgb(0 0 0 / 0.55), 0 2px 18px rgb(0 0 0 / 0.45);
}

.dz-hunt:hover .dz-hunt__img img {
	transform: scale(1.06);
}

/* Pri myši (aj fokuse) sa dlaždica zdvihne, dostane zlatý rámik a teplý
 * nádych zdola — rovnaký jazyk ako karty blogu. Len transform, opacity, tieň. */
.dz-hunt {
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease;
}

.dz-hunt::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	background: linear-gradient(0deg, rgb(201 162 77 / 0.2) 0%, rgb(201 162 77 / 0) 55%);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--gold);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.dz-hunt:hover,
.dz-hunt:focus-within {
	z-index: 2;
	transform: translateY(-4px);
	box-shadow: 0 18px 36px -14px rgb(0 0 0 / 0.5);
}

.dz-hunt:hover::after,
.dz-hunt:focus-within::after {
	opacity: 1;
}

.dz-hunt__icon {
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.dz-hunt:hover .dz-hunt__icon {
	transform: translateY(-3px);
}

.dz-hunt:hover .dz-btn-gold .wp-block-button__link {
	background: #dbb661;
}

.dz-hunt:hover .dz-btn-gold .wp-block-button__link::after {
	margin-left: 1.1em;
}

@media (prefers-reduced-motion: reduce) {
	.dz-hunt,
	.dz-hunt__icon,
	.dz-hunt__img img {
		transition: none;
	}

	.dz-hunt:hover,
	.dz-hunt:focus-within,
	.dz-hunt:hover .dz-hunt__icon,
	.dz-hunt:hover .dz-hunt__img img {
		transform: none;
	}
}

.dz-hunt__body {
	max-width: 50%;
	padding: 1.75rem 2rem;
	color: #fff;
}

.dz-hunt__body > * {
	margin-block: 0;
}

.dz-hunt__icon {
	margin-bottom: 0.6rem !important;
}

.dz-hunt__icon img {
	width: 46px;
	height: 46px;
}

.dz-hunt__title {
	color: #fff;
	font-size: clamp(1.35rem, 1rem + 1vw, 1.85rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.dz-hunt__text {
	margin-top: 0.35rem !important;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1.05rem;
	line-height: 1.35;
}

.dz-hunt .wp-block-buttons {
	margin-top: 1rem !important;
}

/* Celá dlaždica je klikateľná (odkaz tlačidla ju prekryje). */
.dz-hunt .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
}

@media (max-width: 781px) {
	.dz-hunts {
		grid-template-columns: minmax(0, 1fr);
	}

	.dz-hunt {
		min-height: 210px;
	}


	.dz-hunt__body {
		max-width: 74%;
		padding: 1.5rem 1.25rem;
	}

	.dz-hunt .dz-btn-gold .wp-block-button__link {
		letter-spacing: 0.1em;
	}

	.dz-hunt__text {
		font-size: 0.95rem;
	}
}

.dz-hunt--nocny-lov .dz-hunt__img img {
	object-position: right center;
}

/* Lišta a okno cookies (beart-cookies) — farby Divozoru cez role --beart-*. */
#bcc-banner,
#bcc-modal {
	--beart-surface-raised: var(--wp--preset--color--base);
	--beart-on-surface: var(--wp--preset--color--contrast);
	--beart-on-surface-soft: var(--wp--preset--color--muted);
	--beart-accent: var(--wp--preset--color--forest);
	--beart-accent-ink: #fff;
	--beart-accent-text: var(--dz-link-strong);
	--beart-line-strong: var(--wp--preset--color--line);
	--beart-line: var(--wp--preset--color--line);
	--beart-on-surface-strong: var(--wp--preset--color--contrast);
	--beart-panel-bg: var(--wp--preset--color--base);
	--beart-mark-soft: var(--wp--preset--color--sand);
	--beart-shadow-panel: 0 24px 60px rgba(0, 0, 0, 0.25);
}

/* Zaoblenie ako v téme aj pri pluginoch (chat, cookies, obľúbené). */
.beart-chat-launcher,
.bcc-btn,
.beart-wishlist-button,
.beart-wishlist-toggle {
	border-radius: var(--wp--custom--radius--pill) !important;
}

/* Chat (beart-chat): hranaté ako tlačidlá obchodu, hlavička v lesnej zelenej
 * ako tlačidlo „Poradíme“. CSS chatu sa načíta neskôr, preto vyššia
 * špecificita (.beart-chat …). */
.beart-chat .beart-chat-msg,
.beart-chat .beart-chat-link--human,
.beart-chat .beart-chat-chip,
.beart-chat .beart-chat-btn,
.beart-chat .beart-chat-send,
.beart-chat .beart-chat-panel,
.beart-chat .beart-chat-icon-btn,
.beart-chat .beart-chat-field :is(input, textarea),
.beart-chat .beart-chat-ask input {
	border-radius: var(--wp--custom--radius--pill);
}

.beart-chat .beart-chat-head {
	border-bottom: 0;
	background: var(--wp--preset--color--forest);
	color: #fff;
}

.beart-chat .beart-chat-head :is(.beart-chat-title, .beart-chat-icon-btn, .beart-chat-icon-btn:hover) {
	color: #fff;
}

.beart-chat .beart-chat-head :is(.beart-chat-eyebrow, .beart-chat-sub) {
	color: rgb(255 255 255 / 0.8);
}

.beart-chat .beart-chat-head .beart-chat-icon-btn:hover {
	background: rgb(255 255 255 / 0.14);
}

.beart-chat .beart-chat-head .beart-chat-title:focus-visible,
.beart-chat .beart-chat-head .beart-chat-icon-btn:focus-visible {
	outline-color: #fff;
}

@media (min-width: 768px) {
	dialog.beart-chat {
		border-radius: var(--wp--custom--radius--pill);
	}
}

.beart-chat .beart-chat-link--human {
	color: var(--dz-link-strong);
}

/* Rohová značka by na zelenej hlavičke zanikla. */
.beart-chat .beart-chat-frame::before {
	border-color: rgb(255 255 255 / 0.6);
}

/* Časté otázky ako tlačidlá kategórií: tenký rámik, pri prejdení zelené. */
.beart-chat .beart-chat-chip {
	border-color: var(--wp--preset--color--line);
	font-weight: 600;
}

.beart-chat .beart-chat-chip:hover {
	border-color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--forest);
	color: #fff;
}

/* ---------- Svetlý a tmavý režim ---------- */

:root {
	--dz-link-strong: var(--wp--preset--color--forest);
}

:root[data-theme="dark"] {
	color-scheme: dark;
	--wp--preset--color--base: #0e1210;
	--wp--preset--color--surface: #161b18;
	--wp--preset--color--sand: #1e2420;
	--wp--preset--color--line: #2c332e;
	--wp--preset--color--muted: #a3aba4;
	--wp--preset--color--contrast: #e9ece7;
	--wp--preset--color--forest: #2f5a3b;
	--wp--preset--color--forest-dark: #0a0e0b;
	--wp--preset--color--accent: #d2ad57;
	--wp--preset--color--gold: #c9a24d;
	--wp--preset--color--sale: #e0574f;
	--dz-link-strong: #d2ad57;
	--beart-shadow-card: 0 2px 14px rgb(0 0 0 / 0.45);
	--beart-shadow-panel: 0 12px 40px rgb(0 0 0 / 0.6);
}

/* Biely text na fotkách, v pätičke a v tmavých pásoch ostáva biely. */
:root[data-theme="dark"] .has-base-color {
	color: #fff !important;
}

:root[data-theme="dark"] a:where(:not(.wp-element-button)):hover {
	color: var(--dz-link-strong);
}

/* Logo: tmavé SVG na svetlom podklade, svetlé v tmavom režime. */
.dz-logo .dz-logo__dark,
:root[data-theme="dark"] .dz-logo .dz-logo__light {
	display: none;
}

:root[data-theme="dark"] .dz-logo .dz-logo__dark {
	display: block;
}

/* Produktové fotky: multiply len na svetlom podklade — v tmavom režime by
 * biele pozadie packshotu stmavlo aj s produktom. */
:root[data-theme="dark"] :is(.dz-card__image img, .dz-product__media .woocommerce-product-gallery__image img) {
	mix-blend-mode: normal;
}

/* Formuláre a WooCommerce bloky s pevnou bielou farbou. */
:root[data-theme="dark"] :is(input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="search"], [type="url"]), select, textarea) {
	border-color: var(--wp--preset--color--line);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}

:root[data-theme="dark"] :is(.wc-block-components-drawer, .wc-block-mini-cart__drawer .components-modal__frame, .wc-block-components-panel, .wc-block-components-dropdown-selector__list, .wc-block-components-combobox .components-form-token-field__suggestions-list) {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

:root[data-theme="dark"] :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-blocks-components-select) :is(input, select, .wc-blocks-components-select__select) {
	background-color: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--contrast) !important;
}

:root[data-theme="dark"] :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-blocks-components-select) label {
	color: var(--wp--preset--color--muted);
}

/* Zástupný obrázok produktu (svetlosivý) stmavíme. */
:root[data-theme="dark"] img[src*="woocommerce-placeholder"] {
	filter: invert(0.88) hue-rotate(180deg);
}

/* Prepínač režimu v hlavičke. */
.dz-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.dz-theme-toggle:hover {
	background: var(--wp--preset--color--surface);
}

.dz-theme-toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

.dz-theme-toggle__sun,
:root[data-theme="dark"] .dz-theme-toggle__moon {
	display: none;
}

:root[data-theme="dark"] .dz-theme-toggle__sun {
	display: block;
}

/* Plynulé prepnutie farieb (len pri kliknutí na prepínač). */
:root.is-theme-switching,
:root.is-theme-switching * {
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

@media (prefers-reduced-motion: reduce) {
	:root.is-theme-switching,
	:root.is-theme-switching * {
		transition: none !important;
	}
}

/* Kategórie obchodu: 3 × 2 vyššie dlaždice, text dole. */
.dz-hunts--shop {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--50) !important;
}

.dz-hunts--shop .dz-hunt {
	align-items: flex-end;
	min-height: 360px;
}

.dz-hunts--shop .dz-hunt::before {
	background: linear-gradient(0deg, rgb(10 14 11 / 0.62) 0%, rgb(10 14 11 / 0.3) 38%, rgb(10 14 11 / 0) 62%);
}

.dz-hunts--shop .dz-hunt__img img {
	object-position: center;
}

.dz-hunts--shop .dz-hunt__body {
	max-width: 100%;
}

.dz-hunt--oblecenie .dz-hunt__img img {
	object-position: 30% 40%;
}

.dz-hunt--pre-psov .dz-hunt__img img {
	object-position: 70% 30%;
}

@media (max-width: 1024px) {
	.dz-hunts--shop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.dz-hunts--shop {
		grid-template-columns: minmax(0, 1fr);
	}

	.dz-hunts--shop .dz-hunt {
		min-height: 300px;
	}
}

/* Úvodná fotka: pomalé priblíženie (Ken Burns), text pri načítaní vyjde zdola. */
.dz-hero {
	overflow: hidden;
}

.dz-hero .wp-block-cover__image-background {
	transform-origin: 42% 50%;
}

/* Zapne hero-slider.js po prvej interakcii (Speed Index meria pohyb v obraze). */
.dz-hero-slider.is-animated .dz-hero .wp-block-cover__image-background {
	animation: dz-hero-zoom 26s ease-in-out infinite alternate;
}

.dz-hero.is-active .wp-block-cover__inner-container > *,
.dz-hero:not(.dz-hero-slide) .wp-block-cover__inner-container > * {
	animation: dz-hero-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.dz-hero .wp-block-cover__inner-container > :nth-child(2) {
	animation-delay: 0.12s;
}

.dz-hero .wp-block-cover__inner-container > :nth-child(3) {
	animation-delay: 0.24s;
}

.dz-hero .wp-block-cover__inner-container > :nth-child(4) {
	animation-delay: 0.36s;
}

/* Slider v banneri: snímky v jednej bunke mriežky, prelínanie cez opacity. */
.dz-hero-slider {
	position: relative;
	display: grid;
	overflow: hidden;
}

.dz-hero-slider > .dz-hero-slide {
	grid-area: 1 / 1;
	margin: 0 !important;
	transition: opacity 1s ease, visibility 1s;
}

.dz-hero-slider > .dz-hero-slide:not(.is-active) {
	visibility: hidden;
	opacity: 0;
}

.dz-hero-dots {
	position: absolute;
	z-index: 3;
	align-items: center;
	right: clamp(1rem, 3vw, 2.5rem);
	bottom: clamp(1rem, 3vw, 2rem);
	display: flex;
	gap: 0.5rem;
}

.dz-hero-dot {
	position: relative;
	width: 44px;
	height: 28px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.dz-hero-dot::before,
.dz-hero-dot::after {
	position: absolute;
	top: 50%;
	left: 0;
	height: 3px;
	margin-top: -1.5px;
	border-radius: 2px;
	content: "";
}

.dz-hero-dot::before {
	width: 100%;
	background: rgb(255 255 255 / 0.4);
}

.dz-hero-dot::after {
	width: 0;
	background: var(--wp--preset--color--gold);
}

.dz-hero-dot[aria-current="true"]::after {
	width: 100%;
}

.dz-hero-slider.is-playing .dz-hero-dot[aria-current="true"]::after {
	animation: dz-hero-progress var(--dz-hero-interval, 7s) linear both;
}

.dz-hero-slider.is-paused .dz-hero-dot[aria-current="true"]::after {
	animation-play-state: paused;
}

.dz-hero-dot:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.dz-hero-pause {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-left: 0.25rem;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.5);
	border-radius: 50%;
	background: rgb(0 0 0 / 0.25);
	color: #fff;
	cursor: pointer;
}

.dz-hero-pause:hover,
.dz-hero-pause:focus-visible {
	border-color: #fff;
	outline: none;
	box-shadow: 0 0 0 2px var(--wp--preset--color--gold);
}

.dz-hero-pause .dz-hero-pause__play,
.dz-hero-pause[aria-pressed="true"] .dz-hero-pause__bars {
	display: none;
}

.dz-hero-pause[aria-pressed="true"] .dz-hero-pause__play {
	display: inline;
}

@keyframes dz-hero-progress {
	from {
		width: 0;
	}

	to {
		width: 100%;
	}
}

@media (max-width: 781px) {
	.dz-hero-dots {
		top: 1rem;
		bottom: auto;
	}
}

@keyframes dz-hero-zoom {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.08) translate(-1%, -0.5%);
	}
}

/* Bez opacity — text je viditeľný hneď (FCP/LCP), len jemne dosadne. */
@keyframes dz-hero-rise {
	from {
		transform: translateY(14px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-hero .wp-block-cover__image-background,
	.dz-hero .wp-block-cover__inner-container > * {
		animation: none !important;
	}

	.dz-hero-slider > .dz-hero-slide {
		transition: none;
	}
}

/* Banner poradne: pomer strán ako fotka z termovízie, aby boli vidieť údaje
 * displeja v rohoch; na mobile ho určuje text. */
.dz-advice {
	min-height: 360px;
}

@media (min-width: 1100px) {
	.dz-advice {
		aspect-ratio: 3724 / 1120;
		align-items: flex-end !important;
		padding-bottom: var(--wp--preset--spacing--40) !important;
	}
}

/* ---------- Pás značiek (pod bannerom) ----------
 * Dve rovnaké rady za sebou, posun o -50 % dokola — len transform, bez JS.
 * Logá sú masky, farbu berú z témy. Pri myši/fokuse stojí, pri
 * prefers-reduced-motion sa nehýbe vôbec.
 */
.dz-brands {
	margin-top: var(--wp--preset--spacing--40) !important;
	padding-block: var(--wp--preset--spacing--30);
	border-block: 1px solid var(--wp--preset--color--line);
}

.dz-brands__title {
	margin: 0 0 var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

.dz-brands__viewport {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.dz-brands__track {
	display: flex;
	width: max-content;
	animation: dz-brands var(--dz-brands-duration, 38s) linear infinite;
}

.dz-brands__viewport:hover .dz-brands__track,
.dz-brands__viewport:focus-within .dz-brands__track {
	animation-play-state: paused;
}

.dz-brands__row {
	display: flex;
	flex: none;
	align-items: center;
	gap: clamp(2.5rem, 6vw, 5.5rem);
	margin: 0;
	padding: 0 clamp(1.25rem, 3vw, 2.75rem);
	list-style: none;
}

.dz-brands__item {
	flex: none;
	margin: 0;
}

.dz-brands__logo {
	display: block;
	height: calc(clamp(26px, 2.6vw, 36px) * var(--dz-scale, 1));
	aspect-ratio: var(--dz-ratio);
	background-color: var(--wp--preset--color--muted);
	-webkit-mask: var(--dz-logo) center / contain no-repeat;
	mask: var(--dz-logo) center / contain no-repeat;
	opacity: 0.75;
	transition: background-color 0.25s, opacity 0.25s;
}

.dz-brands__item:hover .dz-brands__logo {
	background-color: var(--wp--preset--color--contrast);
	opacity: 1;
}

/* ---------- Filtre produktov (inc/product-filters.php) ----------
 * Bez JS: voľby sú odkazy, rozsah ceny GET formulár. Na mobile panel otvára tlačidlo
 * „Filtre“ (checkbox), „+ ďalšie“ značky rozbalí druhý checkbox. Farby len z presetov. */
.dz-filters {
	margin-block: var(--wp--preset--spacing--30) 0 !important;
}

.dz-filters__toggle {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.dz-filters__button {
	display: none;
}

.dz-filters__panel {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background-color: var(--wp--preset--color--surface);
}

.dz-filters__row {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.75rem 1rem;
	align-items: start;
	padding: 0.85rem 1rem;
}

.dz-filters__row + .dz-filters__row {
	border-top: 1px solid var(--wp--preset--color--line);
}

.dz-filters__label {
	margin: 0;
	padding-top: 0.7rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dz-filters__options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	min-width: 0;
}

.dz-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 40px;
	padding: 0 0.8rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.dz-chip:hover,
.dz-chip:focus-visible {
	border-color: var(--wp--preset--color--muted);
}

.dz-chip.is-active {
	border-color: var(--wp--preset--color--accent);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent);
}

/* Voľba bez produktov pri ostatných filtroch: text v čitateľnej farbe muted, stlmené len logo. */
.dz-chip.is-empty {
	color: var(--wp--preset--color--muted);
}

.dz-chip.is-empty .dz-chip__logo {
	opacity: 0.45;
}

.dz-chip__logo {
	display: block;
	height: 17px;
	aspect-ratio: var(--dz-ratio);
	max-width: 110px;
	background-color: currentColor;
	-webkit-mask: var(--dz-logo) center / contain no-repeat;
	mask: var(--dz-logo) center / contain no-repeat;
}

.dz-chip__count {
	color: var(--wp--preset--color--muted);
	font-size: 0.75rem;
	font-weight: 500;
}

/* Zaškrtávacie políčko pri „Len skladom“ (čisto CSS). */
.dz-chip__check {
	width: 1rem;
	height: 1rem;
	border: 1.5px solid var(--wp--preset--color--muted);
	border-radius: 2px;
}

.dz-chip.is-active .dz-chip__check {
	display: grid;
	place-items: center;
	border-color: var(--wp--preset--color--accent);
	background-color: var(--wp--preset--color--accent);
}

/* Fajka ako maska vo farbe pozadia stránky — kontrastná na zlatej v svetlom aj tmavom režime. */
.dz-chip.is-active .dz-chip__check::after {
	width: 0.7rem;
	height: 0.7rem;
	background-color: var(--wp--preset--color--base);
	content: "";
	-webkit-mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 5 9l5-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 5 9l5-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.dz-filters__toggle:focus-visible + .dz-filters__button {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Cena — teplomer: banka, sklenená trubica, zelená ortuť (preset forest, v tmavom režime
 * zosvetlená — inak by na tmavom pozadí zanikla) k jazdcu, stupnica
 * kvadratická (značky v --at = poloha 0–1). Dva jazdce (od – do): ortuť medzi nimi kreslí
 * .dz-thermo__track z --p1/--p2 (prepína oninput na formulári); banka je len dekorácia (prázdne sklo). */
.dz-thermo {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
	width: 100%;
	max-width: 820px;
	margin: 0;
}

.dz-thermo__gauge {
	--dz-thumb: 26px;
	--dz-tube: 12px;
	--dz-mercury: var(--wp--preset--color--forest);
	display: flex;
	flex: 1 1 340px;
	align-items: center;
	min-width: 240px;
	padding-bottom: 1.5rem;
}

:root[data-theme="dark"] .dz-thermo__gauge {
	--dz-mercury: color-mix(in srgb, var(--wp--preset--color--forest) 68%, var(--wp--preset--color--contrast));
}

/* Banka je vždy prázdne sklo (bez farby a lesku) — neprepína sa pri posune dolného jazdca. */
.dz-thermo__bulb {
	position: relative;
	z-index: 1;
	flex: none;
	width: 30px;
	height: 30px;
	margin-right: -10px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--line), 0 0 0 3px var(--wp--preset--color--base), 0 0 0 4px var(--wp--preset--color--line);
}

.dz-thermo__tube {
	position: relative;
	flex: 1;
	min-width: 0;
	height: var(--dz-thumb);
}

/* Trubica s ortuťou medzi jazdcami (--p1 dolný, --p2 horný; 0–1). Jazdec sa pohybuje od polovice
 * svojej šírky po druhý okraj — preto calc s --dz-thumb. */
.dz-thermo__track {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	box-sizing: border-box;
	height: var(--dz-tube);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background:
		linear-gradient(to bottom, rgb(255 255 255 / 0.28), transparent 55%),
		linear-gradient(
			to right,
			var(--wp--preset--color--base) 0 calc(var(--dz-thumb) / 2 + (100% - var(--dz-thumb)) * var(--p1, 0)),
			var(--dz-mercury) 0 calc(var(--dz-thumb) / 2 + (100% - var(--dz-thumb)) * var(--p2, 1)),
			var(--wp--preset--color--base) 0
		);
	box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.12);
	transform: translateY(-50%);
}

/* Dva posuvníky na sebe: klikateľné sú len jazdce, nie celá dráha. */
.dz-thermo__range {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: var(--dz-thumb);
	margin: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.dz-thermo__range--od {
	z-index: 1;
}

.dz-thermo__range::-webkit-slider-runnable-track {
	height: var(--dz-thumb);
	border: 0;
	background: none;
}

.dz-thermo__range::-webkit-slider-thumb {
	box-sizing: border-box;
	width: var(--dz-thumb);
	height: var(--dz-thumb);
	border: 4px solid var(--dz-mercury);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 4px rgb(0 0 0 / 0.3);
	cursor: grab;
	pointer-events: auto;
	-webkit-appearance: none;
	appearance: none;
}

.dz-thermo__range:active::-webkit-slider-thumb {
	cursor: grabbing;
}

.dz-thermo__range::-moz-range-track {
	height: var(--dz-thumb);
	border: 0;
	background: none;
}

.dz-thermo__range::-moz-range-progress {
	background: none;
}

.dz-thermo__range::-moz-range-thumb {
	box-sizing: border-box;
	width: var(--dz-thumb);
	height: var(--dz-thumb);
	border: 4px solid var(--dz-mercury);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 4px rgb(0 0 0 / 0.3);
	cursor: grab;
	pointer-events: auto;
}

.dz-thermo__range:focus-visible {
	outline: none;
}

.dz-thermo__range:focus-visible::-webkit-slider-thumb {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.dz-thermo__range:focus-visible::-moz-range-thumb {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Stupnica: drobné dieliky po 5 % a hlavné značky s cenou. */
.dz-thermo__scale {
	position: absolute;
	top: calc(100% + 3px);
	right: calc(var(--dz-thumb) / 2);
	left: calc(var(--dz-thumb) / 2);
	height: 5px;
	background: repeating-linear-gradient(to right, var(--wp--preset--color--line) 0 1px, transparent 1px 5%);
}

.dz-thermo__scale span {
	position: absolute;
	top: 0;
	left: calc(var(--at) * 100%);
	padding-top: 9px;
	color: var(--wp--preset--color--muted);
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transform: translateX(-50%);
}

.dz-thermo__scale span::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 7px;
	background: var(--wp--preset--color--muted);
	content: "";
}

.dz-thermo__value {
	min-width: 10rem;
	padding-bottom: 1.5rem;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	white-space: nowrap;
}

.dz-thermo .dz-price-form__submit {
	margin-bottom: 1.5rem;
}

.dz-price-form__submit {
	min-height: 40px;
	padding: 0 1rem;
	border: 0;
	border-radius: 2px;
	background-color: var(--wp--preset--color--forest);
	color: #fff;
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	cursor: pointer;
}

.dz-price-form__submit:hover,
.dz-price-form__submit:focus-visible {
	background-color: var(--wp--preset--color--forest-dark);
}

/* Aktívne filtre. */
.dz-filters__active {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-top: 0.75rem;
}

.dz-chip--remove {
	min-height: 34px;
	border-color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
}

.dz-chip__remove {
	color: var(--wp--preset--color--muted);
	font-size: 1.1rem;
	line-height: 0.6;
}

.dz-filters__reset {
	margin-left: 0.25rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
}

/* Záložky zoradenia (namiesto rozbaľovacieho zoznamu). */
.dz-sort__list {
	display: flex;
	gap: 0.25rem 1.25rem;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.dz-sort__list > li {
	flex: none;
	margin: 0;
}

.dz-sort__tab {
	display: block;
	padding: 0.55rem 0 0.45rem;
	border-bottom: 2px solid transparent;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.dz-sort__tab:hover,
.dz-sort__tab:focus-visible {
	color: var(--wp--preset--color--contrast);
}

.dz-sort__tab.is-active {
	border-bottom-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}

/* Na počítači je panel stále otvorený — prepínač „Filtre“ nesmie byť neviditeľnou zastávkou pri Tab. */
@media (min-width: 782px) {
	.dz-filters__toggle {
		display: none;
	}
}

/* Režim vynútených farieb (Windows): logá a ikony cez masku by inak zmizli. */
@media (forced-colors: active) {
	.dz-chip__logo,
	.dz-brands__logo,
	.dz-filters__button::before,
	.dz-chip.is-active .dz-chip__check::after,
	.dz-ico > a::before,
	.dz-ico > .wp-block-navigation-item__content::before,
	.dz-title-ico::before {
		forced-color-adjust: none;
		background-color: CanvasText;
	}
}

@media (max-width: 781px) {
	.dz-filters__button {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		min-height: 44px;
		padding: 0 1.1rem;
		border: 1px solid var(--wp--preset--color--line);
		border-radius: 2px;
		background-color: var(--wp--preset--color--base);
		color: var(--wp--preset--color--contrast);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 700;
		cursor: pointer;
	}

	.dz-filters__button::before {
		content: "";
		width: 1rem;
		height: 1rem;
		background-color: currentColor;
		-webkit-mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 3h14M4 8h8M6.5 13h3' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
		mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 3h14M4 8h8M6.5 13h3' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	}

	.dz-filters__badge {
		min-width: 1.4rem;
		padding: 0.2rem 0.35rem;
		border-radius: 999px;
		background-color: var(--wp--preset--color--accent);
		color: var(--wp--preset--color--base);
		font-size: 0.75rem;
		text-align: center;
	}

	.dz-filters__panel {
		display: none;
		margin-top: 0.75rem;
	}

	.dz-filters__toggle:checked ~ .dz-filters__panel {
		display: block;
	}

	.dz-filters__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.5rem;
	}

	.dz-filters__label {
		padding-top: 0;
	}

	/* Pod sebou bez zalamovania: pri flex-wrap by riadok dostal šírku všetkých záložiek zoradenia
	 * (≈ 720 px) a stránka by sa na mobile posúvala do strany. Záložky sa posúvajú vo vlastnom páse. */
	.dz-shop-bar {
		flex-direction: column;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0.5rem !important;
	}

	.dz-shop-bar > * {
		min-width: 0;
		max-width: 100%;
	}
}

/* ---------- Bežiaci pás produktov (Najpredávanejšie, assets/js/marquee.js) ----------
 * Bez JS: vodorovne posúvateľný pás. S JS: kópie zoznamu a animácia o šírku jednej sady. */
.dz-marquee {
	overflow-x: auto;
	scrollbar-width: none;
}

.dz-marquee.is-running {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}

.dz-marquee .wc-block-product-template,
.dz-marquee__track {
	display: flex !important;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--30);
	width: max-content;
	margin: 0;
	padding: 0;
}

.dz-marquee .wc-block-product {
	flex: 0 0 clamp(170px, 40vw, 250px);
	width: clamp(170px, 40vw, 250px) !important;
	max-width: none !important;
}

.dz-marquee .dz-card__button {
	display: none; /* Karty v páse vedú na produkt; kópie nemajú oživené tlačidlo. */
}

.dz-marquee__track {
	animation: dz-marquee var(--dz-duration, 40s) linear infinite;
	will-change: transform;
}

.dz-marquee:hover .dz-marquee__track,
.dz-marquee:focus-within .dz-marquee__track {
	animation-play-state: paused;
}

@keyframes dz-marquee {
	to {
		transform: translateX(calc(-1 * var(--dz-shift, 50%)));
	}
}

@keyframes dz-brands {
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-brands__track {
		width: auto;
		animation: none;
	}

	.dz-brands__viewport {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.dz-brands__row {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}

	.dz-brands__row[aria-hidden="true"],
	.dz-brands__item--copy {
		display: none;
	}
}

/* ---------- Kontakt ---------- */

.dz-contact__head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.dz-contact__head h1 {
	margin-block: 0.25rem 0.75rem;
	text-transform: uppercase;
}

.dz-contact__title {
	margin-bottom: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 800;
	text-transform: uppercase;
}

.dz-company-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.dz-company-table th,
.dz-company-table td {
	padding: 0.7rem 0.5rem 0.7rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.dz-company-table th {
	width: 40%;
	color: var(--wp--preset--color--muted);
	font-weight: 600;
}

.dz-company-table a {
	color: var(--dz-link-strong);
}

.dz-contact-form .wp-block-button__link {
	border: 0;
	cursor: pointer;
}

/* Tlačidlo Kontakt v pätičke. */
.dz-footer__contact {
	margin-top: 1.25rem !important;
}

.dz-footer__contact .wp-block-button__link {
	padding: 0.7rem 1.4rem;
	font-size: var(--wp--preset--font-size--x-small);
}

/* ---------- Blog ---------- */

.dz-blog__head {
	margin-bottom: var(--wp--preset--spacing--50);
}

.dz-blog__head h1 {
	margin-block: 0.25rem 0.75rem;
	text-transform: uppercase;
}

/* Novinky pod Poradňou na stránke Blog (1.26.0): oddelené čiarou, nadpis ako „Blog“, o stupeň menší. */
.dz-main > .dz-blog-news {
	margin-top: var(--wp--preset--spacing--70);
	padding-top: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--line);
}

.dz-blog-news .dz-blog__head h2 {
	margin-block: 0.25rem 0.75rem;
	font-size: var(--wp--preset--font-size--xx-large);
	text-transform: uppercase;
}

.dz-blog-news__all {
	margin-top: var(--wp--preset--spacing--40);
}

.dz-blog-grid {
	gap: var(--wp--preset--spacing--40) !important;
}

.dz-blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--base);
}

.dz-blog-card__img {
	margin: 0 !important;
	overflow: hidden;
}

.dz-blog-card__img img {
	transition: transform 0.6s ease;
}

.dz-blog-card:hover .dz-blog-card__img img {
	transform: scale(1.05);
}

/* Celá karta je klikateľná (roztiahnutý odkaz nadpisu) a pri myši sa jemne
 * zdvihne a zafarbí — je jasné, že sa dá otvoriť. Len transform, farby, tieň. */
.dz-blog-card {
	position: relative;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease, background-color 0.35s ease;
}

.dz-blog-card__title a::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
}

.dz-blog-card__cat {
	position: relative;
	z-index: 2;
}

.dz-blog-card:hover,
.dz-blog-card:focus-within {
	transform: translateY(-4px);
	border-color: var(--wp--preset--color--gold);
	background-color: color-mix(in srgb, var(--wp--preset--color--gold) 7%, var(--wp--preset--color--base));
	box-shadow: 0 16px 34px -12px rgb(19 36 26 / 0.28);
}

:root[data-theme="dark"] .dz-blog-card:hover,
:root[data-theme="dark"] .dz-blog-card:focus-within {
	box-shadow: 0 16px 34px -12px rgb(0 0 0 / 0.7);
}

.dz-blog-card:has(:focus-visible) {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

.dz-blog-card__title a:focus-visible {
	outline: none;
}

.dz-blog-card:hover .dz-blog-card__title a {
	color: var(--dz-link-strong);
}

.dz-blog-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.35s ease;
}

.dz-blog-card:hover .wp-block-post-excerpt__more-link {
	color: var(--wp--preset--color--accent);
	transform: translateX(6px);
}

@media (prefers-reduced-motion: reduce) {
	.dz-blog-card,
	.dz-blog-card .wp-block-post-excerpt__more-link,
	.dz-blog-card__img img {
		transition: none;
	}

	.dz-blog-card:hover,
	.dz-blog-card:focus-within,
	.dz-blog-card:hover .wp-block-post-excerpt__more-link,
	.dz-blog-card:hover .dz-blog-card__img img {
		transform: none;
	}
}

.dz-blog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.6rem;
	margin: 0 !important;
	padding: 1.25rem 1.5rem 1.5rem;
}

.dz-blog-card__body > * {
	margin: 0 !important;
}

.dz-blog-card__cat a,
.dz-article__cat a {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.dz-blog-card__title {
	font-family: var(--wp--preset--font-family--wide);
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.dz-blog-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.dz-blog-card__title a:hover {
	color: var(--dz-link-strong);
}

.dz-blog-card__excerpt {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: var(--wp--preset--color--muted);
}

.dz-blog-card__excerpt .wp-block-post-excerpt__more-text {
	margin-top: auto;
	padding-top: 0.75rem;
}

.dz-blog-card__excerpt .wp-block-post-excerpt__more-link {
	color: var(--dz-link-strong);
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.dz-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.dz-blog-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* ---------- Článok ---------- */

.dz-blog-card__img img,
.dz-related .dz-blog-card__img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 2;
	object-fit: cover;
}

/* Ukazovateľ čítania. */
.dz-progress {
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--wp--preset--color--gold);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

.admin-bar .dz-progress {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* Hlavička článku: text na tmavozelenej, fotka vpravo. */
.dz-article-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) !important;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--forest-dark);
	color: #fff;
}

.dz-article-hero__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.9rem;
	padding: clamp(1.75rem, 4vw, 3.5rem);
}

.dz-article-hero__body > * {
	margin: 0 !important;
}

.dz-article-hero__cat a {
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.dz-article-hero__title {
	color: #fff;
	font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-wrap: balance;
}

.dz-article-hero__lead {
	max-width: 34rem;
	color: rgb(255 255 255 / 0.82);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.55;
}

.dz-article-hero__lead p {
	margin: 0;
}

.dz-article-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-top: 0.9rem;
	border-top: 1px solid rgb(255 255 255 / 0.16);
	color: rgb(255 255 255 / 0.7);
	font-size: var(--wp--preset--font-size--small);
}

.dz-article-hero__img {
	position: relative;
	min-height: 320px;
	margin: 0 !important;
}

.dz-article-hero__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

/* Obsah vľavo (lepí sa), článok vpravo. */
.dz-article-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 760px);
	justify-content: center;
	gap: clamp(2rem, 5vw, 5rem);
}

.dz-article-aside {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
	align-self: start;
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.dz-toc__title,
.dz-share__title {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dz-toc__title {
	list-style: none;
	cursor: default;
}

.dz-article__content h2:focus {
	outline: none;
}

.dz-toc__title::-webkit-details-marker {
	display: none;
}

.dz-toc__list {
	counter-reset: dz-toc;
	margin: 0;
	padding: 0;
	border-left: 1px solid var(--wp--preset--color--line);
	list-style: none;
}

.dz-toc__list li {
	counter-increment: dz-toc;
}

.dz-toc__list a {
	display: flex;
	gap: 0.6rem;
	margin-left: -1px;
	padding: 0.45rem 0 0.45rem 1rem;
	border-left: 2px solid transparent;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.2s, border-color 0.2s;
}

.dz-toc__list a::before {
	content: counter(dz-toc, decimal-leading-zero);
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.dz-toc__list a:hover,
.dz-toc__list a.is-active {
	color: var(--wp--preset--color--contrast);
}

.dz-toc__list a.is-active {
	border-left-color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.dz-share__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}

.dz-share__btn[data-dz-share="copy"] {
	grid-column: 1 / -1;
}

.dz-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-width: 40px;
	height: 40px;
	padding: 0 0.7rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	background: none;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.dz-share__btn:hover,
.dz-share__btn.is-copied {
	border-color: var(--wp--preset--color--forest);
	background: var(--wp--preset--color--forest);
	color: #fff;
}

/* Text článku. */
.dz-article__content {
	counter-reset: dz-h2;
	font-size: 1.075rem;
	line-height: 1.75;
}

.dz-article__content > p:first-child {
	color: var(--wp--preset--color--contrast);
	font-size: 1.25rem;
	line-height: 1.6;
}

.dz-article__content h2 {
	counter-increment: dz-h2;
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	margin-top: var(--wp--preset--spacing--50);
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
	font-size: var(--wp--preset--font-size--x-large);
}

.dz-article__content h2::before {
	content: counter(dz-h2, decimal-leading-zero);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--wide);
	font-size: 0.6em;
	font-weight: 800;
}

.dz-article__content a {
	color: var(--dz-link-strong);
	font-weight: 600;
	text-decoration-color: var(--wp--preset--color--gold);
	text-underline-offset: 0.2em;
}

.dz-article__content ul:not(.dz-checklist) li::marker {
	color: var(--wp--preset--color--gold);
}

/* Odškrtávací zoznam. */
.dz-checklist.is-interactive {
	display: grid;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.dz-checklist.is-interactive label {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
	line-height: 1.45;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
}

.dz-checklist.is-interactive label:hover {
	border-color: var(--wp--preset--color--forest);
}

.dz-checklist input {
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	accent-color: var(--wp--preset--color--forest);
	cursor: pointer;
}

.dz-checklist input:checked + span {
	color: var(--wp--preset--color--muted);
	text-decoration: line-through;
	text-decoration-color: var(--wp--preset--color--gold);
}

.dz-checklist__count {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-top: 0.75rem !important;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.dz-checklist__bar {
	flex: 0 0 120px;
	height: 6px;
	overflow: hidden;
	border-radius: 3px;
	background: var(--wp--preset--color--line);
}

.dz-checklist__bar span {
	display: block;
	height: 100%;
	background: var(--wp--preset--color--gold);
	transition: width 0.3s ease;
}

.dz-checklist.is-done + .dz-checklist__count {
	color: var(--wp--preset--color--forest);
}

:root[data-theme="dark"] .dz-checklist.is-done + .dz-checklist__count {
	color: var(--dz-link-strong);
}

/* Objavovanie pri posúvaní (len keď ho zapne article.js). */
.dz-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.dz-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* Box s poradňou pod článkom. */
.dz-article-cta {
	position: relative;
	margin-top: var(--wp--preset--spacing--60) !important;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--forest-dark) url("../images/paticka-hory.svg") center bottom / max(100%, 900px) auto no-repeat;
	color: #fff;
}

.dz-article-cta > * {
	margin-block: 0 0.9rem !important;
}

.dz-article-cta .dz-kicker {
	color: var(--wp--preset--color--gold);
}

.dz-article-cta__title {
	color: #fff;
	font-size: clamp(1.4rem, 1rem + 1.4vw, 2rem);
	font-weight: 800;
	text-transform: uppercase;
}

.dz-article-cta .wp-block-buttons {
	margin-top: 1.25rem !important;
}

:root[data-theme="dark"] .dz-article-cta,
:root[data-theme="dark"] .dz-article-hero {
	background-color: #131d17;
}

/* Ďalšie články. */
.dz-related {
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--line);
}

.dz-related__title {
	margin: 0;
	font-weight: 800;
	text-transform: uppercase;
}

.dz-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
}

@media (max-width: 1024px) {
	.dz-article-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--40);
	}

	.dz-article-aside {
		position: static;
		grid-template-columns: minmax(0, 1fr);
	}

	.dz-toc {
		padding: 1rem 1.25rem;
		border: 1px solid var(--wp--preset--color--line);
		border-radius: var(--wp--custom--radius--card);
		background: var(--wp--preset--color--surface);
	}

	.dz-toc__title {
		display: flex;
		justify-content: space-between;
		margin: 0;
		cursor: pointer;
	}

	.dz-toc__title::after {
		content: "+";
		font-size: 1.1rem;
		line-height: 1;
	}

	.dz-toc[open] .dz-toc__title {
		margin-bottom: 0.75rem;
	}

	.dz-toc[open] .dz-toc__title::after {
		content: "–";
	}

	.dz-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.dz-article-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	.dz-article-hero__img {
		grid-row: 1;
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.dz-related__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dz-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Pruh kategórie: nadpis na tmavozelenej vľavo, fotka kategórie vpravo. */
.dz-cat-banner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	grid-template-rows: clamp(240px, 22vw, 320px);
	margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	overflow: hidden;
	background: var(--wp--preset--color--forest-dark);
	border-radius: var(--wp--custom--radius--sm, 2px);
}

.dz-cat-banner__body {
	display: flex;
	align-items: center;
	padding: var(--wp--preset--spacing--50);
}

.dz-cat-banner .wp-block-query-title {
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--wide);
	font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.dz-cat-banner .dz-title-ico::before {
	background-color: var(--wp--preset--color--gold);
}

.dz-cat-banner__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dz-cat-banner--oblecenie .dz-cat-banner__img {
	object-position: 30% 40%;
}

@media (max-width: 781px) {
	.dz-cat-banner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.dz-cat-banner__img {
		grid-row: 1;
		aspect-ratio: 16 / 9;
		height: auto;
	}

	.dz-cat-banner__body {
		padding: var(--wp--preset--spacing--40);
	}
}

/* ---------- Ikony v menu, štítkoch, pätičke a nadpisoch kategórií ----------
 * SVG v assets/images/ikony/ slúžia ako maska — farba ikony je --dz-ico-color
 * (zlatá), takže sedí vo svetlom aj tmavom režime.
 */
:root {
	--dz-ico-color: var(--wp--preset--color--accent);
}

.dz-ico > a,
.dz-ico > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
}

.dz-ico > a::before,
.dz-ico > .wp-block-navigation-item__content::before,
.dz-title-ico::before {
	content: "";
	flex: none;
	width: 1.25em;
	height: 1.25em;
	background-color: var(--dz-ico-color);
	-webkit-mask: var(--dz-ico) center / contain no-repeat;
	mask: var(--dz-ico) center / contain no-repeat;
}

.dz-nav-quick .dz-ico > .wp-block-navigation-item__content {
	gap: 0.4em;
}

.dz-nav-quick .dz-ico > .wp-block-navigation-item__content::before {
	width: 1.1em;
	height: 1.1em;
}

.dz-footer .dz-ico > a::before {
	background-color: var(--wp--preset--color--gold);
}

.dz-cat-pill a:hover::before,
.dz-cat-pill a:focus-visible::before {
	background-color: currentColor;
}

.dz-title-ico {
	display: flex;
	align-items: center;
	gap: 0.35em;
}

.dz-title-ico::before {
	width: 0.95em;
	height: 0.95em;
}

.dz-ico--cakana {
	--dz-ico: url("../images/ikony/cakana.svg");
}

.dz-ico--camping {
	--dz-ico: url("../images/ikony/camping.svg");
}

.dz-ico--doprava {
	--dz-ico: url("../images/ikony/doprava.svg");
}

.dz-ico--kontakt {
	--dz-ico: url("../images/ikony/kontakt.svg");
}

.dz-ico--lov-na-dialku {
	--dz-ico: url("../images/ikony/lov-na-dialku.svg");
}

.dz-ico--nahanka {
	--dz-ico: url("../images/ikony/nahanka.svg");
}

.dz-ico--nocny-lov {
	--dz-ico: url("../images/ikony/nocny-lov.svg");
}

.dz-ico--nocne-videnie {
	--dz-ico: url("../images/ikony/nocne-videnie.svg");
}

.dz-ico--drony {
	--dz-ico: url("../images/ikony/drony.svg");
}

.dz-ico--fotopasce {
	--dz-ico: url("../images/ikony/fotopasce.svg");
}

.dz-ico--o-nas {
	--dz-ico: url("../images/ikony/o-nas.svg");
}

.dz-ico--blog {
	--dz-ico: url("../images/ikony/blog.svg");
}

.dz-ico--otazky {
	--dz-ico: url("../images/ikony/otazky.svg");
}

.dz-ico--novinky {
	--dz-ico: url("../images/ikony/novinky.svg");
}

.dz-ico--obchod {
	--dz-ico: url("../images/ikony/obchod.svg");
}

.dz-ico--oblecenie {
	--dz-ico: url("../images/ikony/oblecenie.svg");
}

.dz-ico--ochrana {
	--dz-ico: url("../images/ikony/ochrana.svg");
}

.dz-ico--optika {
	--dz-ico: url("../images/ikony/optika.svg");
}

.dz-ico--podmienky {
	--dz-ico: url("../images/ikony/podmienky.svg");
}

.dz-ico--polovnicke-potreby {
	--dz-ico: url("../images/ikony/polovnicke-potreby.svg");
}

.dz-ico--predator {
	--dz-ico: url("../images/ikony/predator.svg");
}

.dz-ico--reklamacie {
	--dz-ico: url("../images/ikony/reklamacie.svg");
}

.dz-ico--soulacka {
	--dz-ico: url("../images/ikony/soulacka.svg");
}

.dz-ico--sposob-lovu {
	--dz-ico: url("../images/ikony/sposob-lovu.svg");
}

.dz-ico--termovizia {
	--dz-ico: url("../images/ikony/termovizia.svg");
}

.dz-ico--ucet {
	--dz-ico: url("../images/ikony/ucet.svg");
}

.dz-ico--vratenie {
	--dz-ico: url("../images/ikony/vratenie.svg");
}

.dz-ico--vypredaj {
	--dz-ico: url("../images/ikony/vypredaj.svg");
}

.dz-ico--doplnky-k-zbraniam {
	--dz-ico: url("../images/ikony/doplnky-k-zbraniam.svg");
}

.dz-ico--obuv {
	--dz-ico: url("../images/ikony/obuv.svg");
}

.dz-ico--pre-psov {
	--dz-ico: url("../images/ikony/pre-psov.svg");
}

/* ---------- Tlač ---------- */
@media print {
	.dz-reveal {
		opacity: 1 !important;
		transform: none !important;
	}

	.dz-progress,
	.dz-share,
	.dz-toc,
	.dz-usp-bar,
	.dz-hero-dots,
	.beart-chat-launcher,
	.dz-site-header .dz-header__tools {
		display: none !important;
	}

	.dz-footer::before,
	.dz-footer::after {
		display: none;
	}
}

/* Zatvorená zásuvka mini-košíka (WooCommerce) má aria-hidden, ale jej
 * tlačidlá ostávali dostupné klávesnicou — skryť ju úplne, s oneskorením
 * na čas animácie zatvorenia. */
.wc-block-mini-cart__drawer[aria-hidden="true"] {
	visibility: hidden;
	transition: visibility 0s 0.35s;
}
