/**
 * HW Widgets — konsolidované štýly v1.4.0
 * Hodnoty prevzaté 1:1 zo standalone návrhu (premium.css).
 * Konvencie: --hw-* tokeny, dvojtriedne selektory kvôli špecificite
 * voči Elementor kit global styles, inline premenné cez "-base" pattern.
 */

:root {
	/* Podklady / neutrály */
	--hw-color-papier: #f7f3ea;
	--hw-color-papier-2: #f1ebde;
	--hw-color-ivory: #fbf8f1;
	--hw-color-line: #dfd6c2;
	--hw-color-line-2: #cfc4ab;

	/* Text */
	--hw-color-ink: #16180f;
	--hw-color-ink-2: #34362b;
	--hw-color-soft: #74705f;

	/* Zelená */
	--hw-color-forest: #1e3528;
	--hw-color-forest-2: #16271d;
	--hw-color-forest-soft: #2c4a38;
	--hw-color-green: #3c6b4d;

	/* Mosadz */
	--hw-color-brass: #a9824e;
	--hw-color-brass-2: #9a7140;
	--hw-color-brass-soft: #e7d8be;

	/* Stavové */
	--hw-color-error: #b1492c;

	/* Aliasy */
	--hw-color-dark: var(--hw-color-forest);
	--hw-color-light: var(--hw-color-papier);
	--hw-color-text: var(--hw-color-ink);
	--hw-color-muted: var(--hw-color-soft);

	/* Typografia */
	--hw-font-display: 'Spectral', Georgia, serif;
	--hw-font-heading: var(--hw-font-display);
	--hw-font-sans: 'Archivo', system-ui, sans-serif;
	--hw-font-body: 'Hanken Grotesk', system-ui, sans-serif;
	--hw-display-weight: 600;
	--hw-display-tracking: -0.012em;

	/* Layout */
	--hw-transition: 0.25s ease;
	--hw-rule: 1px solid var(--hw-color-line);
}

/* =========================================================
   Zdieľané prvky
   ========================================================= */

/* Kicker (eyebrow s linkou) — font-sans, .28em tracking */
.hw-kicker {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--hw-color-brass-2);
}

.hw-kicker .hw-kicker__bar {
	width: 30px;
	height: 1px;
	background: var(--hw-color-brass);
	display: block;
	flex: none;
}

.hw-kicker--on-dark {
	color: var(--hw-color-brass-soft);
}

.hw-kicker--on-dark .hw-kicker__bar {
	background: var(--hw-color-brass-soft);
}

/* =========================================================
   HW Sekcia — nadpis
   ========================================================= */
.hw-heading.hw-heading--block {
	font-family: var(--hw-font-body);
}

.hw-heading.hw-heading--block .hw-heading__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--hw-color-brass-2);
	font-family: var(--hw-font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.hw-heading.hw-heading--block .hw-heading__eyebrow::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 1px;
	background: var(--hw-color-brass);
}

.hw-heading.hw-heading--block .hw-heading__title {
	color: var(--hw-color-ink);
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	margin: 0;
	line-height: 1.1;
}

/* =========================================================
   HW Hero podstránky — mapa + tmavá karta (map-hero / map-panel)
   ========================================================= */
.hw-hero-wrap.hw-hero-wrap--bg {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--hw-color-forest-2);
	border-bottom: var(--hw-rule);
	min-height: clamp(520px, 64vh, 700px);
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	pointer-events: none;
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__bg iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	pointer-events: none;
}

/* Posúvateľná mapa */
.hw-hero-wrap.hw-hero-wrap--interactive .hw-hero-wrap__bg,
.hw-hero-wrap.hw-hero-wrap--interactive .hw-hero-wrap__bg iframe {
	pointer-events: auto;
}

/* Tint mapy podľa návrhu: jemný filter na iframe… */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__bg--tint iframe {
	filter: grayscale(0.55) saturate(0.85) brightness(1.03);
}

/* …plus farebná vrstva mix-blend-mode: color (forest-soft) — vnútri __bg */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__bg .hw-hero-wrap__tint {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: var(--hw-color-forest-soft);
	mix-blend-mode: color;
	opacity: 0.7;
}

/* Veil — jemný gradient zľava, vnútri __bg */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__bg .hw-hero-wrap__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(95deg, rgba(22, 39, 29, 0.34) 0%, rgba(22, 39, 29, 0.16) 45%, rgba(22, 39, 29, 0.06) 100%);
}

/* Breadcrumb nad kartou, absolútne na mape */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__crumb {
	position: absolute;
	z-index: 4;
	top: clamp(24px, 4vw, 40px);
	left: 0;
	right: 0;
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--hw-hero-container, var(--theme-normal-container-max-width, 1290px));
	margin: 0 auto;
	padding: 0;
	pointer-events: none;
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__crumb .hw-crumb {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(247, 243, 234, 0.75);
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__crumb .hw-crumb a {
	color: inherit;
	text-decoration: none;
	pointer-events: auto;
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__crumb .hw-crumb a:hover {
	color: var(--hw-color-papier);
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__crumb .hw-crumb svg {
	width: 12px;
	height: 12px;
}

/* Obsahová vrstva */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__content {
	position: relative;
	z-index: 2;
	/* Preberá kontajner z Blocksy (.ct-container): 90vw edge spacing, max 1290px.
	   --hw-hero-container (control vo widgete) má prednosť ako ručný override. */
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--hw-hero-container, var(--theme-normal-container-max-width, 1290px));
	margin: 0 auto;
	padding: clamp(56px, 8vw, 88px) 0 clamp(48px, 6vw, 72px);
}

.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__content {
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

/* Tmavá karta (map-panel) */
.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero__card {
	pointer-events: auto;
	max-width: 600px;
	width: 100%;
	color: var(--hw-color-papier);
	background: var(--hw-color-forest);
	border-top: 3px solid var(--hw-color-brass);
	padding: clamp(30px, 3.4vw, 48px);
	box-shadow: 0 40px 90px -46px rgba(11, 22, 15, 0.9);
}

/* Súradnicový chip — paper, zelená linka, pulzujúca bodka */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__chip {
	position: absolute;
	z-index: 3;
	right: clamp(22px, 5vw, 56px);
	top: clamp(24px, 5vw, 48px);
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--hw-color-papier);
	border-top: 2px solid var(--hw-color-green);
	padding: 11px 15px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-ink-2);
	box-shadow: 0 20px 44px -26px rgba(13, 20, 14, 0.8);
	pointer-events: none;
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__chip-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--hw-color-green);
	flex: none;
	box-shadow: 0 0 0 4px rgba(60, 107, 77, 0.22);
	animation: hwChipPulse 2.4s ease-in-out infinite;
}

@keyframes hwChipPulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(60, 107, 77, 0.22); }
	50% { box-shadow: 0 0 0 7px rgba(60, 107, 77, 0.1); }
}

/* Otvoriť v Mapách (voliteľné) */
.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__open-maps {
	position: absolute;
	top: clamp(24px, 5vw, 48px);
	left: clamp(22px, 5vw, 56px);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background: var(--hw-color-papier);
	color: var(--hw-color-ink-2);
	border-top: 2px solid var(--hw-color-brass);
	padding: 11px 15px;
	font-family: var(--hw-font-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 20px 44px -26px rgba(13, 20, 14, 0.8);
	transition: color var(--hw-transition);
}

.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__open-maps:hover {
	color: var(--hw-color-forest);
}

/* Obsah hero (v karte aj mimo nej) */
.hw-hero.hw-hero--page {
	font-family: var(--hw-font-body);
	color: var(--hw-color-papier);
}

.hw-hero.hw-hero--page .hw-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--hw-color-brass-2);
	font-family: var(--hw-font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.hw-hero.hw-hero--page .hw-hero__eyebrow::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 1px;
	background: var(--hw-color-brass-soft);
}

.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero.hw-hero--page .hw-hero__eyebrow {
	color: var(--hw-color-brass-soft);
}

.hw-hero.hw-hero--page .hw-hero__title {
	color: var(--hw-color-papier);
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1.08;
	margin: 0 0 18px;
}

.hw-hero.hw-hero--page .hw-hero__title-accent {
	font-style: italic;
	font-weight: 500;
	color: var(--hw-color-brass-soft);
}

.hw-hero.hw-hero--page .hw-hero__description {
	font-size: 18px;
	line-height: 1.7;
	color: rgba(247, 243, 234, 0.88);
	margin: 0;
	max-width: 48ch;
}

/* Foot karty — adresa + Navigovať */
.hw-hero.hw-hero--page .hw-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 32px;
	margin-top: clamp(28px, 3vw, 38px);
	padding-top: 26px;
	border-top: 1px solid rgba(247, 243, 234, 0.18);
}

.hw-hero.hw-hero--page .hw-hero__meta-address {
	display: flex;
	align-items: center;
	gap: 13px;
	font-family: var(--hw-font-sans);
	font-size: 15px;
	color: var(--hw-color-papier);
}

.hw-hero.hw-hero--page .hw-hero__meta-icon {
	width: 40px;
	height: 40px;
	flex: none;
	border: 1px solid rgba(247, 243, 234, 0.28);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-color-brass-soft);
}

.hw-hero.hw-hero--page .hw-hero__meta-icon svg {
	width: 19px;
	height: 19px;
}

.hw-hero.hw-hero--page .hw-hero__meta-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-brass-soft);
	text-decoration: none;
	border-bottom: 1px solid rgba(169, 130, 78, 0.7);
	padding-bottom: 5px;
	transition: gap 0.22s ease, color 0.22s ease;
}

.hw-hero.hw-hero--page .hw-hero__meta-link:hover {
	gap: 16px;
	color: var(--hw-color-papier);
}

/* Breadcrumb v obsahu (mimo card layoutu) */
.hw-hero.hw-hero--page .hw-hero__breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(247, 243, 234, 0.75);
	margin-bottom: 26px;
}

.hw-hero.hw-hero--page .hw-hero__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.hw-hero.hw-hero--page .hw-hero__breadcrumb a:hover {
	color: var(--hw-color-papier);
}

/* Tablet a nižšie: mapa hore, karta pod ňou v plnej šírke */
@media (max-width: 1024px) {
	.hw-hero-wrap.hw-hero-wrap--card-layout {
		display: block;
		min-height: 0;
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__bg {
		position: relative;
		inset: auto;
		height: clamp(300px, 44vw, 420px);
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__bg iframe {
		position: absolute;
		inset: 0;
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__bg .hw-hero-wrap__overlay {
		background: linear-gradient(180deg, rgba(22, 39, 29, 0.18) 0%, rgba(22, 39, 29, 0.02) 60%, rgba(22, 39, 29, 0.25) 100%);
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__content {
		display: block;
		width: 100%;
		max-width: none;
		padding: 0;
		pointer-events: auto;
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero__card {
		max-width: none;
	}
	/* Chip a breadcrumb sedia na mapovej časti */
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__chip {
		top: 18px;
		right: 18px;
	}
	.hw-hero-wrap.hw-hero-wrap--card-layout .hw-hero-wrap__crumb {
		top: 18px;
	}
}

/* Mobil */
@media (max-width: 767px) {
	.hw-hero-wrap.hw-hero-wrap--bg {
		min-height: 0;
	}
	.hw-hero-wrap.hw-hero-wrap--bg:not(.hw-hero-wrap--card-layout) .hw-hero-wrap__bg .hw-hero-wrap__overlay {
		background: linear-gradient(180deg, rgba(22, 39, 29, 0.94) 0%, rgba(22, 39, 29, 0.86) 55%, rgba(22, 39, 29, 0.45) 100%);
	}
	.hw-hero-wrap.hw-hero-wrap--bg .hw-hero-wrap__chip {
		display: none;
	}
}

/* =========================================================
   HW Kontaktné karty (qa-grid)
   ========================================================= */
.hw-ccards.hw-ccards--grid {
	--hw-ccards-cols-base: var(--hw-ccards-cols, 3);
	display: grid;
	grid-template-columns: repeat(var(--hw-ccards-cols-base), 1fr);
	gap: 0;
	border: 1px solid var(--hw-color-line);
	background: var(--hw-color-ivory);
	font-family: var(--hw-font-body);
}

.hw-ccards.hw-ccards--grid .hw-ccards__item {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: clamp(24px, 2.6vw, 34px) clamp(20px, 2.2vw, 30px);
	border-right: 1px solid var(--hw-color-line);
	color: inherit;
	text-decoration: none;
	transition: background 0.28s ease;
}

.hw-ccards.hw-ccards--grid .hw-ccards__item:last-child {
	border-right: none;
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover {
	background: var(--hw-color-papier);
}

.hw-ccards.hw-ccards--grid .hw-ccards__icon {
	width: 52px;
	height: 52px;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--hw-color-line-2);
	color: var(--hw-color-green);
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease, transform 0.28s ease;
}

.hw-ccards.hw-ccards--grid .hw-ccards__icon svg {
	width: 24px;
	height: 24px;
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__icon {
	background: var(--hw-color-green);
	border-color: var(--hw-color-green);
	color: var(--hw-color-papier);
	transform: translateY(-2px);
}

.hw-ccards.hw-ccards--grid .hw-ccards__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.hw-ccards.hw-ccards--grid .hw-ccards__label {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
}

.hw-ccards.hw-ccards--grid .hw-ccards__value {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(17px, 1.5vw, 21px);
	letter-spacing: -0.01em;
	color: var(--hw-color-ink);
	transition: color 0.28s ease;
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__value {
	color: var(--hw-color-forest);
}

.hw-ccards.hw-ccards--grid .hw-ccards__note {
	color: var(--hw-color-soft);
	font-size: 13px;
}

.hw-ccards.hw-ccards--grid .hw-ccards__note--link {
	color: var(--hw-color-brass-2);
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.hw-ccards.hw-ccards--grid {
		--hw-ccards-cols-base: var(--hw-ccards-cols-tablet, var(--hw-ccards-cols, 3));
	}
}

@media (max-width: 767px) {
	.hw-ccards.hw-ccards--grid {
		--hw-ccards-cols-base: var(--hw-ccards-cols-mobile, 1);
	}
	.hw-ccards.hw-ccards--grid .hw-ccards__item {
		border-right: none;
		border-bottom: 1px solid var(--hw-color-line);
	}
	.hw-ccards.hw-ccards--grid .hw-ccards__item:last-child {
		border-bottom: none;
	}
}

/* =========================================================
   HW Dopytový formulár (form-card)
   ========================================================= */
.hw-form.hw-form--panel {
	background: var(--hw-color-ivory);
	border: 1px solid var(--hw-color-line);
	padding: clamp(30px, 3.5vw, 52px);
	font-family: var(--hw-font-body);
}

.hw-form.hw-form--panel .hw-form__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--hw-color-brass-2);
	font-family: var(--hw-font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.hw-form.hw-form--panel .hw-form__eyebrow::before {
	content: "";
	width: 30px;
	height: 1px;
	background: var(--hw-color-brass);
}

.hw-form.hw-form--panel .hw-form__title {
	color: var(--hw-color-ink);
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.05;
	margin: 16px 0 0;
}

.hw-form.hw-form--panel .hw-form__description {
	margin: 14px 0 0;
	color: var(--hw-color-soft);
	font-size: 15.5px;
	line-height: 1.65;
	max-width: 44ch;
}

.hw-form.hw-form--panel .hw-form__form {
	margin-top: clamp(22px, 2.4vw, 30px);
}

.hw-form.hw-form--panel .hw-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 18px;
}

.hw-form.hw-form--panel .hw-form__field {
	margin-bottom: 18px;
}

.hw-form.hw-form--panel .hw-form__field label {
	display: block;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hw-color-ink-2);
	margin-bottom: 8px;
}

.hw-form.hw-form--panel .hw-form__req {
	color: var(--hw-color-brass-2);
}

.hw-form.hw-form--panel .hw-form__field input,
.hw-form.hw-form--panel .hw-form__field select,
.hw-form.hw-form--panel .hw-form__field textarea {
	font-family: var(--hw-font-body);
	font-size: 16px;
	color: var(--hw-color-ink);
	padding: 14px 16px;
	border: 1px solid var(--hw-color-line-2);
	background: var(--hw-color-papier);
	border-radius: 0;
	width: 100%;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.hw-form.hw-form--panel .hw-form__field input:focus,
.hw-form.hw-form--panel .hw-form__field select:focus,
.hw-form.hw-form--panel .hw-form__field textarea:focus {
	outline: none;
	border-color: var(--hw-color-brass);
	box-shadow: 0 0 0 3px rgba(169, 130, 78, 0.16);
}

.hw-form.hw-form--panel .hw-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.hw-form.hw-form--panel .hw-form__consent {
	color: var(--hw-color-soft);
	font-size: 13px;
	line-height: 1.6;
	margin: 4px 0 18px;
	max-width: 40ch;
}

.hw-form.hw-form--panel .hw-form__submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	border: 1px solid var(--hw-color-forest);
	border-radius: 0;
	padding: 15px 26px;
	font-family: var(--hw-font-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.28s ease, box-shadow 0.28s ease;
}

.hw-form.hw-form--panel .hw-form__submit svg {
	width: 15px;
	height: 15px;
}

.hw-form.hw-form--panel .hw-form__submit:hover {
	background: var(--hw-color-forest-2);
	box-shadow: 0 14px 30px -16px rgba(30, 53, 40, 0.7);
}

.hw-form.hw-form--panel .hw-form__submit:disabled {
	opacity: 0.6;
	cursor: wait;
}

.hw-form.hw-form--panel .hw-form__status {
	margin-top: 14px;
	font-size: 13px;
	line-height: 1.6;
}

.hw-form.hw-form--panel .hw-form__status.is-error {
	color: var(--hw-color-error);
}

.hw-form.hw-form--panel .hw-form__status.is-success {
	color: var(--hw-color-green);
}

/* Success stav — nahradí formulár */
.hw-form.hw-form--panel .hw-form__success {
	display: none;
	text-align: center;
	padding: 36px 12px;
}

.hw-form.hw-form--panel .hw-form__success.is-visible {
	display: block;
}

.hw-form.hw-form--panel.is-sent .hw-form__form {
	display: none;
}

.hw-form.hw-form--panel .hw-form__success-icon {
	width: 66px;
	height: 66px;
	border: 1px solid var(--hw-color-brass);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	color: var(--hw-color-forest);
}

.hw-form.hw-form--panel .hw-form__success-icon svg {
	width: 28px;
	height: 28px;
}

.hw-form.hw-form--panel .hw-form__success h3 {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	color: var(--hw-color-ink);
	font-size: 24px;
	margin: 0 0 8px;
}

.hw-form.hw-form--panel .hw-form__success p {
	color: var(--hw-color-soft);
	font-size: 15px;
	margin: 0;
}

@media (max-width: 640px) {
	.hw-form.hw-form--panel .hw-form__row {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HW Kontaktný panel (ci-card)
   ========================================================= */
.hw-cpanel.hw-cpanel--dark {
	position: relative;
	overflow: hidden;
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	padding: clamp(28px, 3vw, 42px);
	border-top: 3px solid var(--hw-color-brass);
	font-family: var(--hw-font-body);
}

/* Zelený radiálny glow vpravo dole */
.hw-cpanel.hw-cpanel--dark::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -90px;
	width: 240px;
	height: 240px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(60, 107, 77, 0.85), transparent 68%);
	pointer-events: none;
}

.hw-cpanel.hw-cpanel--dark > * {
	position: relative;
	z-index: 1;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--hw-color-brass-soft);
	font-family: var(--hw-font-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__eyebrow::before {
	content: "";
	width: 30px;
	height: 1px;
	background: var(--hw-color-brass-soft);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__title {
	color: var(--hw-color-papier);
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(22px, 2vw, 27px);
	line-height: 1.2;
	margin: 16px 0 22px;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__rows {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(247, 243, 234, 0.12);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__row:last-child {
	border-bottom: 0;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__icon {
	width: 44px;
	height: 44px;
	flex: none;
	border: 1px solid rgba(247, 243, 234, 0.24);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-color-brass-soft);
	transition: background var(--hw-transition), color var(--hw-transition), border-color var(--hw-transition);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__icon svg {
	width: 20px;
	height: 20px;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__row:hover .hw-cpanel__icon {
	background: rgba(247, 243, 234, 0.1);
	border-color: rgba(247, 243, 234, 0.4);
	color: var(--hw-color-papier);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__row-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__label {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 10.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hw-color-brass-soft);
	margin-bottom: 4px;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__value {
	color: var(--hw-color-papier);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
}

.hw-cpanel.hw-cpanel--dark a.hw-cpanel__value:hover {
	color: var(--hw-color-brass-soft);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__note {
	color: rgba(247, 243, 234, 0.62);
	font-size: 13px;
	line-height: 1.6;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__highlight {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-top: 26px;
	background: rgba(60, 107, 77, 0.34);
	border: 1px solid rgba(247, 243, 234, 0.14);
	padding: 13px 16px;
	font-family: var(--hw-font-sans);
	font-size: 13px;
	color: rgba(247, 243, 234, 0.9);
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__highlight-icon {
	color: var(--hw-color-brass-soft);
	flex: none;
	display: inline-flex;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__highlight-icon svg {
	width: 17px;
	height: 17px;
}

/* =========================================================
   Fixy v1.4.2 — karty na užších šírkach, select formulára
   ========================================================= */

/* Karty: na stredných šírkach menšie odsadenie, nech sa labely nelámu */
@media (max-width: 1200px) {
	.hw-ccards.hw-ccards--grid .hw-ccards__item {
		padding: 20px 18px;
		gap: 14px;
	}
	.hw-ccards.hw-ccards--grid .hw-ccards__icon {
		width: 44px;
		height: 44px;
	}
	.hw-ccards.hw-ccards--grid .hw-ccards__icon svg {
		width: 20px;
		height: 20px;
	}
}

/* Pri 1 stĺpci (tablet default) — oddelenie riadkov spodnou linkou */
@media (max-width: 1024px) {
	.hw-ccards.hw-ccards--grid .hw-ccards__item {
		border-right: none;
		border-bottom: 1px solid var(--hw-color-line);
	}
	.hw-ccards.hw-ccards--grid .hw-ccards__item:last-child {
		border-bottom: none;
	}
}

/* Select — rovnaký vzhľad ako inputy + vlastná šípka */
.hw-form.hw-form--panel .hw-form__field select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2374705f' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 42px;
	cursor: pointer;
	line-height: 1.4;
}

.hw-form.hw-form--panel .hw-form__field select:invalid,
.hw-form.hw-form--panel .hw-form__field select option[value=""] {
	color: var(--hw-color-soft);
}

/* Textarea — konzistentná minimálna výška */
.hw-form.hw-form--panel .hw-form__field textarea {
	min-height: 140px;
	resize: vertical;
}

/* =========================================================
   Contact Form 7 vo widgete (v1.5.0)
   Štruktúru dodáva CF7 template (hw-form__row / hw-form__field),
   tu sa štýlujú CF7 elementy a stavy.
   ========================================================= */
.hw-form.hw-form--panel .hw-form__cf7 {
	margin-top: clamp(22px, 2.4vw, 30px);
}

.hw-form.hw-form--panel .hw-form__cf7 .wpcf7-form-control-wrap {
	display: block;
}

.hw-form.hw-form--panel .hw-form__cf7 input[type="text"],
.hw-form.hw-form--panel .hw-form__cf7 input[type="email"],
.hw-form.hw-form--panel .hw-form__cf7 input[type="tel"],
.hw-form.hw-form--panel .hw-form__cf7 select,
.hw-form.hw-form--panel .hw-form__cf7 textarea {
	font-family: var(--hw-font-body);
	font-size: 16px;
	color: var(--hw-color-ink);
	padding: 14px 16px;
	border: 1px solid var(--hw-color-line-2);
	background: var(--hw-color-papier);
	border-radius: 0;
	width: 100%;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.hw-form.hw-form--panel .hw-form__cf7 input:focus,
.hw-form.hw-form--panel .hw-form__cf7 select:focus,
.hw-form.hw-form--panel .hw-form__cf7 textarea:focus {
	outline: none;
	border-color: var(--hw-color-brass);
	box-shadow: 0 0 0 3px rgba(169, 130, 78, 0.16);
}

.hw-form.hw-form--panel .hw-form__cf7 select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2374705f' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 42px;
	cursor: pointer;
}

.hw-form.hw-form--panel .hw-form__cf7 textarea {
	min-height: 140px;
	resize: vertical;
}

/* Submit — CF7 renderuje input[type=submit] */
.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
	display: inline-flex;
	align-items: center;
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	border: 1px solid var(--hw-color-forest);
	border-radius: 0;
	padding: 15px 26px;
	font-family: var(--hw-font-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.28s ease, box-shadow 0.28s ease;
}

.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"]:hover,
.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"]:hover {
	background: var(--hw-color-forest-2);
	box-shadow: 0 14px 30px -16px rgba(30, 53, 40, 0.7);
}

.hw-form.hw-form--panel .hw-form__cf7 .wpcf7-spinner {
	margin: 0 0 0 12px;
}

/* Validácia polí */
.hw-form.hw-form--panel .hw-form__cf7 .wpcf7-not-valid {
	border-color: var(--hw-color-error);
}

.hw-form.hw-form--panel .hw-form__cf7 .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: var(--hw-color-error);
}

/* Response output — namiesto defaultneho oranžového rámu */
.hw-form.hw-form--panel .hw-form__cf7 .wpcf7-response-output {
	margin: 18px 0 0;
	padding: 13px 16px;
	border: 1px solid var(--hw-color-line);
	background: var(--hw-color-papier);
	font-size: 14px;
	color: var(--hw-color-ink-2);
}

.hw-form.hw-form--panel .hw-form__cf7 .wpcf7 form.sent .wpcf7-response-output,
.hw-form.hw-form--panel .hw-form__cf7 form.sent .wpcf7-response-output {
	border-color: var(--hw-color-green);
	background: rgba(60, 107, 77, 0.08);
	color: var(--hw-color-forest);
}

.hw-form.hw-form--panel .hw-form__cf7 form.invalid .wpcf7-response-output,
.hw-form.hw-form--panel .hw-form__cf7 form.failed .wpcf7-response-output,
.hw-form.hw-form--panel .hw-form__cf7 form.aborted .wpcf7-response-output {
	border-color: var(--hw-color-error);
	background: rgba(177, 73, 44, 0.07);
	color: var(--hw-color-error);
}

/* GDPR / consent riadok v CF7 template */
.hw-form.hw-form--panel .hw-form__cf7 .hw-form__consent {
	color: var(--hw-color-soft);
	font-size: 13px;
	line-height: 1.6;
	margin: 4px 0 18px;
	max-width: 40ch;
}

/* CF7 fix (v1.5.1): wpautop vklada <br> medzi label a pole — skryt */
.hw-form.hw-form--panel .hw-form__cf7 .hw-form__field > br,
.hw-form.hw-form--panel .hw-form__cf7 p > br {
	display: none;
}

/* CF7 obaluje template do <p> — vynulovat marginy, nech grid drzi */
.hw-form.hw-form--panel .hw-form__cf7 form > p {
	margin: 0;
}

.hw-form.hw-form--panel .hw-form__cf7 .hw-form__field label {
	margin-bottom: 8px;
}

/* =========================================================
   HW Intro podstránky (v1.6.0)
   ========================================================= */
.hw-intro.hw-intro--dark,
.hw-intro.hw-intro--light {
	font-family: var(--hw-font-body);
	padding: clamp(56px, 8vw, 96px) 0 clamp(48px, 7vw, 84px);
}

.hw-intro.hw-intro--dark {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
}

.hw-intro.hw-intro--light {
	background: var(--hw-color-papier);
	color: var(--hw-color-ink);
	border-bottom: var(--hw-rule);
}

.hw-intro .hw-intro__container {
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
}

.hw-intro .hw-intro__crumb {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 22px;
}

.hw-intro.hw-intro--dark .hw-intro__crumb {
	color: var(--hw-color-brass-soft);
}

.hw-intro.hw-intro--dark .hw-intro__crumb a {
	color: var(--hw-color-brass);
	text-decoration: none;
}

.hw-intro.hw-intro--dark .hw-intro__crumb a:hover {
	color: var(--hw-color-papier);
}

.hw-intro.hw-intro--light .hw-intro__crumb {
	color: var(--hw-color-soft);
}

.hw-intro.hw-intro--light .hw-intro__crumb a {
	color: var(--hw-color-brass-2);
	text-decoration: none;
}

.hw-intro.hw-intro--light .hw-intro__crumb a:hover {
	color: var(--hw-color-ink);
}

.hw-intro .hw-intro__crumb svg {
	width: 12px;
	height: 12px;
}

.hw-intro .hw-intro__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(40px, 5.4vw, 64px);
	line-height: 1.05;
	margin: 0;
}

.hw-intro.hw-intro--dark .hw-intro__title {
	color: var(--hw-color-papier);
}

.hw-intro.hw-intro--light .hw-intro__title {
	color: var(--hw-color-ink);
}

.hw-intro .hw-intro__lead {
	margin: 18px 0 0;
	font-size: 18px;
	line-height: 1.7;
	max-width: 52ch;
}

.hw-intro.hw-intro--dark .hw-intro__lead {
	color: rgba(247, 243, 234, 0.82);
}

.hw-intro.hw-intro--light .hw-intro__lead {
	color: var(--hw-color-soft);
}

/* =========================================================
   HW Dokumenty (v1.6.0)
   ========================================================= */
.hw-docs.hw-docs--grid {
	--hw-docs-cols-base: var(--hw-docs-cols, 2);
	display: grid;
	grid-template-columns: repeat(var(--hw-docs-cols-base), 1fr);
	gap: 26px;
	font-family: var(--hw-font-body);
}

.hw-docs.hw-docs--grid .hw-docs__item {
	background: var(--hw-color-ivory);
	border: 1px solid var(--hw-color-line);
	border-top: 2px solid var(--hw-color-forest);
	padding: clamp(24px, 2.6vw, 34px) clamp(22px, 2.4vw, 32px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.hw-docs.hw-docs--grid .hw-docs__item--wide {
	grid-column: 1 / -1;
}

.hw-docs.hw-docs--grid .hw-docs__meta {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
	margin-bottom: 12px;
}

.hw-docs.hw-docs--grid .hw-docs__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(20px, 1.9vw, 25px);
	line-height: 1.25;
	color: var(--hw-color-ink);
	margin: 0;
}

.hw-docs.hw-docs--grid .hw-docs__description {
	margin: 12px 0 0;
	color: var(--hw-color-soft);
	font-size: 14.5px;
	line-height: 1.65;
}

.hw-docs.hw-docs--grid .hw-docs__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
	margin-top: auto;
	padding-top: 20px;
	width: 100%;
	border-top: 1px solid var(--hw-color-line);
	margin-top: 22px;
}

.hw-docs.hw-docs--grid .hw-docs__title + .hw-docs__links,
.hw-docs.hw-docs--grid .hw-docs__description + .hw-docs__links {
	margin-top: 22px;
}

.hw-docs.hw-docs--grid .hw-docs__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-ink-2);
	text-decoration: none;
	transition: color var(--hw-transition);
}

.hw-docs.hw-docs--grid .hw-docs__link svg {
	width: 15px;
	height: 15px;
	color: var(--hw-color-brass-2);
	transition: transform var(--hw-transition);
}

.hw-docs.hw-docs--grid .hw-docs__link:hover {
	color: var(--hw-color-brass-2);
}

.hw-docs.hw-docs--grid .hw-docs__link:hover svg {
	transform: translateY(2px);
}

@media (max-width: 1024px) {
	.hw-docs.hw-docs--grid {
		--hw-docs-cols-base: var(--hw-docs-cols-tablet, var(--hw-docs-cols, 2));
	}
}

@media (max-width: 767px) {
	.hw-docs.hw-docs--grid {
		--hw-docs-cols-base: var(--hw-docs-cols-mobile, 1);
	}
}

/* =========================================================
   HW Intro — split layout, akcent, tlačidlá (v1.7.0)
   ========================================================= */
.hw-intro .hw-intro__title-accent {
	font-style: italic;
	font-weight: 500;
}

.hw-intro.hw-intro--dark .hw-intro__title-accent {
	color: var(--hw-color-brass-soft);
}

.hw-intro.hw-intro--light .hw-intro__title-accent {
	color: var(--hw-color-forest);
}

/* Split: text vľavo, obrázok vpravo */
.hw-intro.hw-intro--split .hw-intro__container {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}

.hw-intro.hw-intro--split .hw-intro__lead {
	max-width: 46ch;
}

/* Tlačidlá */
.hw-intro .hw-intro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: clamp(24px, 3vw, 34px);
}

.hw-intro .hw-intro__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none;
	border-radius: 0;
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.hw-intro .hw-intro__btn svg {
	width: 15px;
	height: 15px;
}

/* Plné tlačidlo */
.hw-intro.hw-intro--light .hw-intro__btn--solid {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	border: 1px solid var(--hw-color-forest);
}

.hw-intro.hw-intro--light .hw-intro__btn--solid:hover {
	background: var(--hw-color-forest-2);
	box-shadow: 0 14px 30px -16px rgba(30, 53, 40, 0.7);
}

.hw-intro.hw-intro--dark .hw-intro__btn--solid {
	background: var(--hw-color-papier);
	color: var(--hw-color-forest);
	border: 1px solid var(--hw-color-papier);
}

.hw-intro.hw-intro--dark .hw-intro__btn--solid:hover {
	background: var(--hw-color-ivory);
}

/* Obrysové tlačidlo */
.hw-intro.hw-intro--light .hw-intro__btn--line {
	background: transparent;
	color: var(--hw-color-ink);
	border: 1px solid var(--hw-color-line-2);
}

.hw-intro.hw-intro--light .hw-intro__btn--line:hover {
	border-color: var(--hw-color-brass);
	color: var(--hw-color-brass-2);
}

.hw-intro.hw-intro--dark .hw-intro__btn--line {
	background: transparent;
	color: var(--hw-color-papier);
	border: 1px solid rgba(247, 243, 234, 0.35);
}

.hw-intro.hw-intro--dark .hw-intro__btn--line:hover {
	border-color: var(--hw-color-brass-soft);
	color: var(--hw-color-brass-soft);
}

/* Rám obrázka: vonkajší box + vnútorná linka */
.hw-intro .hw-intro__media-frame {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: 10px;
}

.hw-intro .hw-intro__media-frame img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--hw-color-line-2);
}

@media (max-width: 1024px) {
	.hw-intro.hw-intro--split .hw-intro__container {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.hw-intro.hw-intro--split .hw-intro__media {
		order: -1; /* obrázok nad textom pôsobí na mobile prirodzenejšie? nie — text prvý */
		order: 2;
	}
}

/* =========================================================
   v1.8.0 — Rank Math breadcrumb + reveal animácia obrázka
   ========================================================= */

/* Rank Math výstup (<nav class="rank-math-breadcrumb"><p>…) v našom crumb obale */
.hw-intro .hw-intro__crumb--dynamic .rank-math-breadcrumb p {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.hw-intro .hw-intro__crumb--dynamic .rank-math-breadcrumb a {
	text-decoration: none;
	color: inherit;
	transition: color var(--hw-transition);
}

.hw-intro.hw-intro--dark .hw-intro__crumb--dynamic .rank-math-breadcrumb a {
	color: var(--hw-color-brass);
}

.hw-intro.hw-intro--dark .hw-intro__crumb--dynamic .rank-math-breadcrumb a:hover {
	color: var(--hw-color-papier);
}

.hw-intro.hw-intro--light .hw-intro__crumb--dynamic .rank-math-breadcrumb a {
	color: var(--hw-color-brass-2);
}

.hw-intro.hw-intro--light .hw-intro__crumb--dynamic .rank-math-breadcrumb a:hover {
	color: var(--hw-color-ink);
}

.hw-intro .hw-intro__crumb--dynamic .rank-math-breadcrumb .separator {
	opacity: 0.6;
}

/* --- Reveal animácia obrázka v split intre --- */
/* Aktívne len keď JS pridá .hw-anim na <html>; bez JS je obrázok viditeľný */
.hw-anim .hw-intro .hw-intro__media-frame {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hw-anim .hw-intro .hw-intro__media-frame img {
	clip-path: inset(0 100% 0 0);
	transform: scale(1.08);
	transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.15s, transform 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s;
}

.hw-anim .hw-intro .hw-intro__media-frame.is-inview {
	opacity: 1;
	transform: translateY(0);
}

.hw-anim .hw-intro .hw-intro__media-frame.is-inview img {
	clip-path: inset(0 0 0 0);
	transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
	.hw-anim .hw-intro .hw-intro__media-frame,
	.hw-anim .hw-intro .hw-intro__media-frame img {
		opacity: 1;
		transform: none;
		clip-path: none;
		transition: none;
	}
}

/* =========================================================
   HW Obsah + galéria (v1.9.0)
   ========================================================= */
.hw-kicker .hw-kicker__idx {
	color: var(--hw-color-ink-2);
}

.hw-story.hw-story--split {
	display: grid;
	grid-template-columns: 1.02fr 0.98fr;
	gap: clamp(36px, 5vw, 80px);
	align-items: center;
	font-family: var(--hw-font-body);
}

.hw-story.hw-story--reverse .hw-story__main {
	order: 2;
}

.hw-story.hw-story--reverse .hw-story__gallery {
	order: 1;
}

.hw-story.hw-story--split .hw-story__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.1;
	color: var(--hw-color-forest);
	margin: 18px 0 0;
}

.hw-story.hw-story--split .hw-story__content {
	margin-top: 18px;
	color: var(--hw-color-ink-2);
	font-size: 15.5px;
	line-height: 1.7;
	max-width: 52ch;
}

.hw-story.hw-story--split .hw-story__content p {
	margin: 0 0 14px;
}

.hw-story.hw-story--split .hw-story__content p:last-child {
	margin-bottom: 0;
}

/* Odrážky s brass bodkami — 2 stĺpce tokom */
.hw-story.hw-story--split .hw-story__list {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
}

.hw-story.hw-story--split .hw-story__list li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-size: 12.5px;
	color: var(--hw-color-ink-2);
}

.hw-story.hw-story--split .hw-story__list li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--hw-color-brass);
	flex: none;
}

/* Textový odkaz s podčiarknutím */
.hw-story.hw-story--split .hw-story__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-ink);
	text-decoration: none;
	border-bottom: 1px solid rgba(169, 130, 78, 0.7);
	padding-bottom: 5px;
	transition: gap 0.22s ease, color 0.22s ease;
}

.hw-story.hw-story--split .hw-story__link svg {
	width: 15px;
	height: 15px;
	color: var(--hw-color-brass-2);
}

.hw-story.hw-story--split .hw-story__link:hover {
	gap: 16px;
	color: var(--hw-color-brass-2);
}

/* Mozaika: veľká vľavo cez 2 riadky, 2 menšie vpravo */
.hw-story.hw-story--split .hw-story__gallery {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	grid-auto-rows: 1fr;
	gap: 14px;
}

.hw-story.hw-story--split .hw-story__gallery--single {
	grid-template-columns: 1fr;
}

.hw-story.hw-story--split .hw-story__img {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: 10px;
}

.hw-story.hw-story--split .hw-story__img--main {
	grid-row: span 2;
}

.hw-story.hw-story--split .hw-story__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid var(--hw-color-line-2);
}

.hw-story.hw-story--split .hw-story__img--main img {
	aspect-ratio: 3 / 4;
}

.hw-story.hw-story--split .hw-story__img--small img {
	aspect-ratio: 4 / 3;
}

.hw-story.hw-story--split .hw-story__gallery--single .hw-story__img--main {
	grid-row: auto;
}

.hw-story.hw-story--split .hw-story__gallery--single .hw-story__img--main img {
	aspect-ratio: 4 / 3;
}

@media (max-width: 1024px) {
	.hw-story.hw-story--split {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.hw-story.hw-story--reverse .hw-story__main {
		order: 1;
	}
	.hw-story.hw-story--reverse .hw-story__gallery {
		order: 2;
	}
}

@media (max-width: 640px) {
	.hw-story.hw-story--split .hw-story__gallery {
		grid-template-columns: 1fr;
	}
	.hw-story.hw-story--split .hw-story__img--main {
		grid-row: auto;
	}
	.hw-story.hw-story--split .hw-story__img--main img {
		aspect-ratio: 4 / 3;
	}
}

/* --- Generický reveal (.hw-reveal) + stagger v galérii --- */
.hw-anim .hw-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hw-anim .hw-reveal img {
	clip-path: inset(0 100% 0 0);
	transform: scale(1.08);
	transition: clip-path 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.15s, transform 1.4s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s;
}

.hw-anim .hw-reveal.is-inview {
	opacity: 1;
	transform: translateY(0);
}

.hw-anim .hw-reveal.is-inview img {
	clip-path: inset(0 0 0 0);
	transform: scale(1);
}

.hw-anim .hw-story__gallery .hw-reveal:nth-child(2),
.hw-anim .hw-story__gallery .hw-reveal:nth-child(2) img {
	transition-delay: 0.12s, 0.27s;
}

.hw-anim .hw-story__gallery .hw-reveal:nth-child(3),
.hw-anim .hw-story__gallery .hw-reveal:nth-child(3) img {
	transition-delay: 0.24s, 0.39s;
}

@media (prefers-reduced-motion: reduce) {
	.hw-anim .hw-reveal,
	.hw-anim .hw-reveal img {
		opacity: 1;
		transform: none;
		clip-path: none;
		transition: none;
	}
}

/* =========================================================
   HW Čísla (v1.10.0)
   ========================================================= */
.hw-stats.hw-stats--dark,
.hw-stats.hw-stats--light {
	font-family: var(--hw-font-body);
	padding: clamp(48px, 6.5vw, 84px) 0;
}

.hw-stats.hw-stats--dark {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
}

.hw-stats.hw-stats--light {
	background: var(--hw-color-papier);
	color: var(--hw-color-ink);
	border-top: var(--hw-rule);
	border-bottom: var(--hw-rule);
}

.hw-stats .hw-stats__container {
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
}

.hw-stats .hw-stats__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.1;
	margin: 16px 0 0;
}

.hw-stats.hw-stats--dark .hw-stats__title {
	color: var(--hw-color-papier);
}

.hw-stats.hw-stats--light .hw-stats__title {
	color: var(--hw-color-forest);
}

/* Grid so zvislými oddeľovačmi */
.hw-stats .hw-stats__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin-top: clamp(28px, 3.4vw, 44px);
}

.hw-stats .hw-stats__item {
	padding: 6px clamp(20px, 2.4vw, 34px) 6px 0;
}

.hw-stats .hw-stats__item + .hw-stats__item {
	padding-left: clamp(20px, 2.4vw, 34px);
}

.hw-stats.hw-stats--dark .hw-stats__item + .hw-stats__item {
	border-left: 1px solid rgba(247, 243, 234, 0.16);
}

.hw-stats.hw-stats--light .hw-stats__item + .hw-stats__item {
	border-left: 1px solid var(--hw-color-line);
}

/* Brass tick nad číslom */
.hw-stats .hw-stats__tick {
	display: block;
	width: 26px;
	height: 2px;
	background: var(--hw-color-brass);
	margin-bottom: 16px;
}

.hw-stats .hw-stats__value {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.hw-stats .hw-stats__num {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(40px, 4vw, 58px);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.hw-stats.hw-stats--dark .hw-stats__num {
	color: var(--hw-color-papier);
}

.hw-stats.hw-stats--light .hw-stats__num {
	color: var(--hw-color-forest);
}

.hw-stats .hw-stats__unit {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 14px;
	color: var(--hw-color-brass);
}

.hw-stats .hw-stats__desc {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.6;
	max-width: 24ch;
}

.hw-stats.hw-stats--dark .hw-stats__desc {
	color: rgba(247, 243, 234, 0.72);
}

.hw-stats.hw-stats--light .hw-stats__desc {
	color: var(--hw-color-soft);
}

/* Poznámka pod čiarou */
.hw-stats .hw-stats__footnote {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: clamp(26px, 3vw, 38px);
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.hw-stats.hw-stats--dark .hw-stats__footnote {
	color: var(--hw-color-brass-soft);
}

.hw-stats.hw-stats--light .hw-stats__footnote {
	color: var(--hw-color-soft);
}

.hw-stats .hw-stats__footnote-dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--hw-color-brass);
	flex: none;
}

@media (max-width: 900px) {
	.hw-stats .hw-stats__grid {
		grid-template-columns: 1fr 1fr;
		gap: 26px 0;
	}
	/* Oddelovac len medzi dvojicami v riadku */
	.hw-stats .hw-stats__item:nth-child(odd),
	.hw-stats .hw-stats__item + .hw-stats__item:nth-child(odd),
	.hw-stats.hw-stats--dark .hw-stats__item + .hw-stats__item:nth-child(odd),
	.hw-stats.hw-stats--light .hw-stats__item + .hw-stats__item:nth-child(odd) {
		border-left: none;
		padding-left: 0;
	}
}

@media (max-width: 480px) {
	.hw-stats .hw-stats__grid {
		grid-template-columns: 1fr;
		gap: 30px 0;
	}
	/* Reset musí prebiť aj schémové selektory (--dark/--light majú vyššiu špecificitu) */
	.hw-stats .hw-stats__item,
	.hw-stats .hw-stats__item + .hw-stats__item,
	.hw-stats.hw-stats--dark .hw-stats__item + .hw-stats__item,
	.hw-stats.hw-stats--light .hw-stats__item + .hw-stats__item {
		border-left: none;
		padding-left: 0;
		padding-right: 0;
	}
}

/* =========================================================
   HW Uhlíková stopa (v1.11.0)
   ========================================================= */
.hw-carbon {
	font-family: var(--hw-font-body);
}

.hw-carbon .hw-carbon__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: clamp(24px, 3vw, 36px);
}

.hw-carbon .hw-carbon__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1.1;
	color: var(--hw-color-ink);
	margin: 16px 0 0;
}

/* Prehrať znova — pill */
.hw-carbon .hw-carbon__replay {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: transparent;
	border: 1px solid var(--hw-color-forest);
	border-radius: 999px;
	color: var(--hw-color-forest);
	padding: 11px 20px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}

.hw-carbon .hw-carbon__replay svg {
	width: 14px;
	height: 14px;
	transition: transform 0.4s ease;
}

.hw-carbon .hw-carbon__replay:hover {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
}

.hw-carbon .hw-carbon__replay:hover svg {
	transform: rotate(90deg);
}

/* Riadky porovnania */
.hw-carbon .hw-carbon__row {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: clamp(22px, 2.4vw, 32px) clamp(22px, 2.4vw, 32px) clamp(18px, 2vw, 26px);
}

.hw-carbon .hw-carbon__row + .hw-carbon__row {
	margin-top: 26px;
}

.hw-carbon .hw-carbon__row-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.hw-carbon .hw-carbon__row-label {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(17px, 1.6vw, 21px);
	color: var(--hw-color-ink);
}

.hw-carbon .hw-carbon__row-distance {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
}

/* Dráha s kamiónom */
.hw-carbon .hw-carbon__track {
	position: relative;
	height: 44px;
	margin-top: 14px;
	display: flex;
	align-items: center;
}

.hw-carbon .hw-carbon__line {
	position: absolute;
	left: 0;
	top: 50%;
	height: 3px;
	width: 0%;
	transform: translateY(-50%);
	border-radius: 2px;
}

.hw-carbon .hw-carbon__row--home .hw-carbon__line {
	background: var(--hw-color-forest);
}

.hw-carbon .hw-carbon__row--import .hw-carbon__line {
	background: var(--hw-color-brass-2);
}

.hw-carbon .hw-carbon__truck {
	position: absolute;
	left: 0%;
	top: 50%;
	transform: translate(-40%, -50%);
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: var(--hw-color-papier);
	border: 1px solid var(--hw-color-line-2);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-color-ink-2);
	box-shadow: 0 8px 18px -10px rgba(22, 24, 15, 0.4);
	z-index: 1;
}

.hw-carbon .hw-carbon__truck svg {
	width: 19px;
	height: 19px;
}

/* Hodnota CO2 */
.hw-carbon .hw-carbon__value {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: 8px;
}

.hw-carbon .hw-carbon__num {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: clamp(32px, 3vw, 42px);
	line-height: 1;
	color: var(--hw-color-forest);
	font-variant-numeric: tabular-nums;
}

.hw-carbon .hw-carbon__unit {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
}

/* Výsledok s lístkom */
.hw-carbon .hw-carbon__result {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: clamp(26px, 3vw, 38px);
}

.hw-carbon .hw-carbon__leaf {
	display: inline-flex;
	color: var(--hw-color-green);
	transform: scale(0) rotate(-30deg);
	transform-origin: bottom center;
	transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hw-carbon.is-done .hw-carbon__leaf {
	transform: scale(1) rotate(0deg);
}

.hw-carbon .hw-carbon__leaf svg {
	width: 34px;
	height: 34px;
}

.hw-carbon .hw-carbon__result-value {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: clamp(44px, 4.4vw, 62px);
	line-height: 1;
	color: var(--hw-color-ink);
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.5s ease 0.1s, transform 0.5s ease 0.1s;
}

.hw-carbon .hw-carbon__result-text {
	margin: 0;
	max-width: 48ch;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--hw-color-ink-2);
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.5s ease 0.25s, transform 0.5s ease 0.25s;
}

.hw-carbon.is-done .hw-carbon__result-value,
.hw-carbon.is-done .hw-carbon__result-text {
	opacity: 1;
	transform: translateY(0);
}

/* Poznámka */
.hw-carbon .hw-carbon__footnote {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: clamp(22px, 2.6vw, 32px);
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
}

.hw-carbon .hw-carbon__footnote-dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--hw-color-brass);
	flex: none;
}

/* Bez JS / reduced motion: plné dráhy a viditeľný výsledok */
.hw-carbon.is-static .hw-carbon__line {
	width: var(--hw-carbon-target, 100%);
}

.hw-carbon.is-static .hw-carbon__truck {
	left: var(--hw-carbon-target, 100%);
}

.hw-carbon.is-static .hw-carbon__leaf,
.hw-carbon.is-static .hw-carbon__result-value,
.hw-carbon.is-static .hw-carbon__result-text {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.hw-carbon .hw-carbon__leaf,
	.hw-carbon .hw-carbon__result-value,
	.hw-carbon .hw-carbon__result-text {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (max-width: 640px) {
	.hw-carbon .hw-carbon__head {
		align-items: flex-start;
	}
	.hw-carbon .hw-carbon__truck {
		width: 32px;
		height: 32px;
	}
}

/* =========================================================
   HW Uhlíková stopa — kompaktný variant pre HP (v1.12.0)
   ========================================================= */
.hw-carbon.hw-carbon--compact {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	border-top: 2px solid var(--hw-color-forest);
	padding: clamp(22px, 2.6vw, 34px) clamp(22px, 2.6vw, 34px) clamp(18px, 2.2vw, 28px);
}

.hw-carbon.hw-carbon--compact .hw-carbon__head {
	margin-bottom: 18px;
	align-items: center;
}

.hw-carbon.hw-carbon--compact .hw-carbon__title {
	font-size: clamp(21px, 2vw, 26px);
	margin-top: 10px;
}

.hw-carbon.hw-carbon--compact .hw-kicker {
	font-size: 11px;
	letter-spacing: 0.22em;
}

.hw-carbon.hw-carbon--compact .hw-carbon__replay {
	padding: 8px 15px;
	font-size: 10.5px;
}

/* Riadky bez vlastnej karty — oddelené linkou */
.hw-carbon.hw-carbon--compact .hw-carbon__row {
	background: transparent;
	border: none;
	padding: 14px 0;
}

.hw-carbon.hw-carbon--compact .hw-carbon__row + .hw-carbon__row {
	margin-top: 0;
	border-top: 1px solid var(--hw-color-line);
}

.hw-carbon.hw-carbon--compact .hw-carbon__row-label {
	font-size: 15px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__row-distance {
	font-size: 10px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__track {
	height: 32px;
	margin-top: 8px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__line {
	height: 2px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__truck {
	width: 28px;
	height: 28px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__truck svg {
	width: 14px;
	height: 14px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__value {
	margin-top: 2px;
	gap: 8px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__num {
	font-size: clamp(22px, 2vw, 28px);
}

.hw-carbon.hw-carbon--compact .hw-carbon__unit {
	font-size: 10px;
}

/* Výsledok v jednom riadku nad hornou linkou */
.hw-carbon.hw-carbon--compact .hw-carbon__result {
	margin-top: 14px;
	padding-top: 18px;
	border-top: 1px solid var(--hw-color-line);
	gap: 14px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__leaf svg {
	width: 26px;
	height: 26px;
}

.hw-carbon.hw-carbon--compact .hw-carbon__result-value {
	font-size: clamp(30px, 2.8vw, 40px);
}

.hw-carbon.hw-carbon--compact .hw-carbon__result-text {
	font-size: 13px;
	max-width: 52ch;
}

.hw-carbon.hw-carbon--compact .hw-carbon__footnote {
	margin-top: 16px;
	font-size: 10px;
}

/* =========================================================
   v1.13.0 — Kroky, CTA pás, Proces, Služby
   ========================================================= */

/* Bodkovaný pattern pre tmavé pásy */
.hw-ctab,
.hw-process {
	font-family: var(--hw-font-body);
	background-color: var(--hw-color-forest-2);
	background-image: radial-gradient(rgba(247, 243, 234, 0.05) 1px, transparent 1px);
	background-size: 26px 26px;
	color: var(--hw-color-papier);
	padding: clamp(56px, 8vw, 100px) 0;
}

.hw-ctab .hw-ctab__container,
.hw-process .hw-process__container {
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(36px, 5vw, 80px);
	align-items: center;
}

/* ---------- HW Kroky ---------- */
.hw-steps {
	font-family: var(--hw-font-body);
}

.hw-steps .hw-steps__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1.1;
	color: var(--hw-color-ink);
	margin: 16px 0 clamp(26px, 3vw, 40px);
}

.hw-steps .hw-steps__grid {
	display: flex;
	align-items: stretch;
	gap: 14px;
}

.hw-steps .hw-steps__card {
	flex: 1;
	background: var(--hw-color-ivory);
	border: 1px solid var(--hw-color-line);
	padding: clamp(22px, 2.4vw, 32px);
}

.hw-steps .hw-steps__card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.hw-steps .hw-steps__num {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1;
	color: var(--hw-color-brass-2);
}

.hw-steps .hw-steps__icon {
	width: var(--hw-icon-box, 40px);
	height: var(--hw-icon-box, 40px);
	flex: none;
	border: 1px solid var(--hw-color-line-2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-color-ink-2);
}

.hw-steps .hw-steps__icon svg {
	width: var(--hw-icon-size, 18px);
	height: var(--hw-icon-size, 18px);
}

.hw-steps .hw-steps__card-title {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(18px, 1.7vw, 22px);
	color: var(--hw-color-ink);
	margin: 0 0 10px;
}

.hw-steps .hw-steps__card-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--hw-color-soft);
}

.hw-steps .hw-steps__arrow {
	align-self: center;
	color: var(--hw-color-brass-2);
	flex: none;
}

.hw-steps .hw-steps__arrow svg {
	width: 18px;
	height: 18px;
}

@media (max-width: 900px) {
	.hw-steps .hw-steps__grid {
		flex-direction: column;
	}
	.hw-steps .hw-steps__arrow svg {
		transform: rotate(90deg);
	}
}

/* ---------- HW CTA pás ---------- */
.hw-ctab .hw-ctab__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(247, 243, 234, 0.3);
	padding: 9px 15px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hw-color-papier);
	margin-bottom: 20px;
}

.hw-ctab .hw-ctab__badge svg {
	width: 13px;
	height: 13px;
	color: var(--hw-color-brass);
}

.hw-ctab .hw-kicker {
	display: flex;
}

.hw-ctab .hw-ctab__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(32px, 3.8vw, 52px);
	line-height: 1.08;
	color: var(--hw-color-papier);
	margin: 16px 0 0;
}

.hw-ctab .hw-ctab__lead {
	font-family: var(--hw-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(17px, 1.7vw, 21px);
	line-height: 1.55;
	color: rgba(247, 243, 234, 0.85);
	margin: 18px 0 0;
	max-width: 44ch;
}

.hw-ctab .hw-ctab__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: clamp(24px, 3vw, 34px);
}

.hw-ctab .hw-ctab__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 24px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease;
}

.hw-ctab .hw-ctab__btn svg {
	width: 15px;
	height: 15px;
}

.hw-ctab .hw-ctab__btn--solid {
	background: var(--hw-color-papier);
	color: var(--hw-color-forest);
	border: 1px solid var(--hw-color-papier);
}

.hw-ctab .hw-ctab__btn--solid:hover {
	background: var(--hw-color-ivory);
}

.hw-ctab .hw-ctab__btn--line {
	background: transparent;
	color: var(--hw-color-papier);
	border: 1px solid rgba(247, 243, 234, 0.35);
}

.hw-ctab .hw-ctab__btn--line:hover {
	border-color: var(--hw-color-brass-soft);
	color: var(--hw-color-brass-soft);
}

/* Zoznam vpravo */
.hw-ctab .hw-ctab__list {
	border: 1px solid rgba(247, 243, 234, 0.18);
}

.hw-ctab .hw-ctab__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: clamp(18px, 2vw, 26px) clamp(18px, 2.2vw, 28px);
}

.hw-ctab .hw-ctab__row + .hw-ctab__row {
	border-top: 1px solid rgba(247, 243, 234, 0.14);
}

.hw-ctab .hw-ctab__row-icon {
	flex: none;
	width: var(--hw-icon-size, 20px);
	color: var(--hw-color-brass);
	margin-top: 2px;
}

.hw-ctab .hw-ctab__row-icon svg {
	width: var(--hw-icon-size, 20px);
	height: var(--hw-icon-size, 20px);
}

.hw-ctab .hw-ctab__row-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hw-ctab .hw-ctab__row-body b {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(16px, 1.4vw, 18px);
	color: var(--hw-color-papier);
}

.hw-ctab .hw-ctab__row-body span {
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(247, 243, 234, 0.65);
}

/* ---------- HW Proces ---------- */
.hw-process .hw-process__container {
	align-items: start;
}

.hw-process .hw-process__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(32px, 3.8vw, 52px);
	line-height: 1.08;
	color: var(--hw-color-papier);
	margin: 16px 0 0;
}

.hw-process .hw-process__lead {
	margin: 18px 0 0;
	font-size: 18px;
	line-height: 1.7;
	color: rgba(247, 243, 234, 0.78);
	max-width: 48ch;
}

/* Fotka v tmavom ráme s popiskom */
.hw-process .hw-process__media {
	margin-top: clamp(28px, 4vw, 56px);
	background: rgba(247, 243, 234, 0.04);
	border: 1px solid rgba(247, 243, 234, 0.18);
	padding: 10px;
	max-width: 440px;
}

.hw-process .hw-process__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border: 1px solid rgba(247, 243, 234, 0.14);
}

.hw-process .hw-process__media-label {
	display: block;
	text-align: center;
	padding: 12px 6px 4px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 10.5px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hw-color-brass-soft);
}

/* Kroky vpravo */
.hw-process .hw-process__steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hw-process .hw-process__step {
	display: flex;
	align-items: flex-start;
	gap: clamp(18px, 2.4vw, 34px);
	padding: clamp(20px, 2.4vw, 32px) 0;
}

.hw-process .hw-process__step + .hw-process__step {
	border-top: 1px solid rgba(247, 243, 234, 0.14);
}

.hw-process .hw-process__step-num {
	flex: none;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--hw-color-brass);
	margin-top: 6px;
}

.hw-process .hw-process__step-title {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(19px, 1.8vw, 23px);
	color: var(--hw-color-papier);
	margin: 0 0 8px;
}

.hw-process .hw-process__step-text {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: rgba(247, 243, 234, 0.75);
	max-width: 54ch;
}

.hw-process .hw-process__step-note {
	display: block;
	margin-top: 10px;
	font-family: var(--hw-font-sans);
	font-size: 11.5px;
	letter-spacing: 0.04em;
	color: rgba(247, 243, 234, 0.45);
}

/* ---------- HW Služby — karty ---------- */
.hw-services {
	font-family: var(--hw-font-body);
}

.hw-services .hw-services__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1.1;
	color: var(--hw-color-ink);
	margin: 16px 0 clamp(26px, 3vw, 40px);
}

.hw-services .hw-services__grid {
	--hw-services-cols-base: var(--hw-services-cols, 2);
	display: grid;
	grid-template-columns: repeat(var(--hw-services-cols-base), 1fr);
	background: transparent;
	border: 0;
}

.hw-services .hw-services__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: clamp(24px, 2.8vw, 38px) clamp(22px, 2.6vw, 36px);
	color: inherit;
	text-decoration: none;
	transition: background 0.28s ease;
}

/* Rám aj deliace linky kreslí outline každej karty — nezaberá miesto,
   susedné linky sa prekryjú a prázdna bunka v neúplnom riadku ostane
   bez pozadia aj bez rámu. */
.hw-services .hw-services__item {
	background: var(--hw-services-bg, var(--hw-color-papier-2));
	outline: 1px solid var(--hw-services-line, var(--hw-color-line));
	outline-offset: 0;
}

.hw-services.hw-services--nolines .hw-services__item {
	outline: 0;
}

.hw-services a.hw-services__item:hover {
	background: var(--hw-color-ivory);
}

.hw-services .hw-services__icon {
	width: var(--hw-icon-box, 46px);
	height: var(--hw-icon-box, 46px);
	flex: none;
	border: 1px solid var(--hw-color-line-2);
	background: var(--hw-color-papier);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-color-forest);
}

.hw-services .hw-services__icon svg {
	width: var(--hw-icon-size, 21px);
	height: var(--hw-icon-size, 21px);
}

.hw-services .hw-services__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.hw-services .hw-services__item-title {
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(17px, 1.6vw, 20px);
	color: var(--hw-color-ink);
}

.hw-services .hw-services__item-text {
	font-size: 14px;
	line-height: 1.65;
	color: var(--hw-color-soft);
}

/* Tmavé pásy — responzívne stohovanie */
@media (max-width: 1024px) {
	.hw-ctab .hw-ctab__container,
	.hw-process .hw-process__container {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.hw-process .hw-process__media {
		max-width: none;
	}
	.hw-process .hw-process__media img {
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 767px) {
	.hw-services .hw-services__item + .hw-services__item {
		border-left: none;
		border-top: 1px solid var(--hw-color-line);
	}
}

/* =========================================================
   HW CTA box (v1.14.0)
   ========================================================= */
.hw-ctabox {
	font-family: var(--hw-font-body);
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(24px, 4vw, 56px);
	flex-wrap: wrap;
	padding: clamp(32px, 4vw, 56px) clamp(28px, 4vw, 56px);
}

.hw-ctabox .hw-ctabox__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.1;
	color: var(--hw-color-papier);
	margin: 0 0 12px;
}

.hw-ctabox .hw-ctabox__text {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: rgba(247, 243, 234, 0.78);
	max-width: 54ch;
}

.hw-ctabox .hw-ctabox__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: none;
	background: transparent;
	color: var(--hw-color-papier);
	border: 1px solid rgba(247, 243, 234, 0.4);
	padding: 14px 24px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease, gap 0.22s ease;
}

.hw-ctabox .hw-ctabox__btn svg {
	width: 15px;
	height: 15px;
}

.hw-ctabox .hw-ctabox__btn:hover {
	background: var(--hw-color-papier);
	color: var(--hw-color-forest);
	border-color: var(--hw-color-papier);
	gap: 14px;
}

@media (max-width: 640px) {
	.hw-ctabox {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* =========================================================
   v1.15.1 — tlačidlá: radius 3px, na mobile 100 % šírka
   ========================================================= */
.hw-intro .hw-intro__btn,
.hw-ctab .hw-ctab__btn,
.hw-ctabox .hw-ctabox__btn,
.hw-form.hw-form--panel .hw-form__submit,
.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
	border-radius: 3px;
}

@media (max-width: 640px) {
	.hw-intro .hw-intro__actions,
	.hw-ctab .hw-ctab__actions {
		width: 100%;
		flex-direction: column;
	}

	.hw-intro .hw-intro__btn,
	.hw-ctab .hw-ctab__btn,
	.hw-ctabox .hw-ctabox__btn,
	.hw-form.hw-form--panel .hw-form__submit,
	.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
	.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

/* v1.15.2 — menší padding tlačidiel */
.hw-intro .hw-intro__btn,
.hw-ctab .hw-ctab__btn,
.hw-ctabox .hw-ctabox__btn,
.hw-form.hw-form--panel .hw-form__submit,
.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
	padding: 11px 18px;
}

@media (max-width: 640px) {
	.hw-intro .hw-intro__btn,
	.hw-ctab .hw-ctab__btn,
	.hw-ctabox .hw-ctabox__btn,
	.hw-form.hw-form--panel .hw-form__submit,
	.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
	.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
		padding: 11px 16px;
	}
}

/* =========================================================
   HW Hero služby — 3 varianty (v1.16.0)
   ========================================================= */
.hw-shero {
	font-family: var(--hw-font-body);
}

/* --- Zdieľané prvky --- */
.hw-shero .hw-shero__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(34px, 4.2vw, 58px);
	line-height: 1.06;
	color: var(--hw-color-ink);
	margin: 14px 0 0;
}

.hw-shero .hw-shero__title-accent {
	font-style: italic;
	font-weight: 500;
	color: var(--hw-color-brass-2);
}

.hw-shero .hw-shero__lead {
	margin: 16px 0 0;
	font-size: 18px;
	line-height: 1.7;
	color: var(--hw-color-ink-2);
	max-width: 48ch;
}

.hw-shero .hw-shero__crumb {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hw-color-soft);
	margin-bottom: 18px;
}

.hw-shero .hw-shero__crumb a {
	color: var(--hw-color-brass-2);
	text-decoration: none;
}

.hw-shero .hw-shero__crumb a:hover {
	color: var(--hw-color-ink);
}

.hw-shero .hw-shero__crumb--dynamic .rank-math-breadcrumb p {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.hw-shero .hw-shero__crumb--dynamic .rank-math-breadcrumb a {
	color: var(--hw-color-brass-2);
	text-decoration: none;
}

.hw-shero .hw-shero__crumb--dynamic .rank-math-breadcrumb a:hover {
	color: var(--hw-color-ink);
}

.hw-shero .hw-shero__crumb--dynamic .rank-math-breadcrumb .separator {
	opacity: 0.6;
}

.hw-shero .hw-shero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: clamp(22px, 2.6vw, 30px);
}

.hw-shero .hw-shero__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 18px;
	border-radius: 3px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background 0.28s ease, color 0.28s ease, border-color 0.28s ease;
}

.hw-shero .hw-shero__btn svg {
	width: 15px;
	height: 15px;
}

.hw-shero .hw-shero__btn--solid {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	border: 1px solid var(--hw-color-forest);
}

.hw-shero .hw-shero__btn--solid:hover {
	background: var(--hw-color-forest-2);
}

.hw-shero .hw-shero__btn--line {
	background: transparent;
	color: var(--hw-color-ink);
	border: 1px solid var(--hw-color-line-2);
}

.hw-shero .hw-shero__btn--line:hover {
	border-color: var(--hw-color-brass);
	color: var(--hw-color-brass-2);
}

.hw-shero .hw-shero__textlink {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hw-color-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--hw-color-brass);
	padding-bottom: 6px;
	transition: gap 0.22s ease, color 0.22s ease;
}

.hw-shero .hw-shero__textlink svg {
	width: 14px;
	height: 14px;
	color: var(--hw-color-brass-2);
}

.hw-shero .hw-shero__textlink:hover {
	gap: 15px;
	color: var(--hw-color-brass-2);
}

/* --- Variant: stats (karta + fotka na celú výšku) --- */
.hw-shero.hw-shero--stats-base {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--hw-color-ivory);
	border: 1px solid var(--hw-color-line);
	overflow: hidden;
}

.hw-shero.hw-shero--stats-base .hw-shero__panel {
	padding: clamp(32px, 4vw, 64px) clamp(28px, 3.6vw, 56px);
}

.hw-shero.hw-shero--stats-base .hw-shero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 40px;
	margin-top: clamp(26px, 3vw, 38px);
	padding-top: clamp(20px, 2.4vw, 28px);
	border-top: 1px solid var(--hw-color-line);
}

.hw-shero.hw-shero--stats-base .hw-shero__stat b {
	display: block;
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: clamp(19px, 1.8vw, 23px);
	color: var(--hw-color-ink);
}

.hw-shero.hw-shero--stats-base .hw-shero__stat span {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--hw-color-soft);
}

.hw-shero.hw-shero--stats-base .hw-shero__media {
	position: relative;
	min-height: 380px;
}

.hw-shero.hw-shero--stats-base .hw-shero__img-cover {
	position: absolute;
	inset: 0;
}

.hw-shero.hw-shero--stats-base .hw-shero__img-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hw-shero.hw-shero--stats-base .hw-shero__chip {
	position: absolute;
	left: 0;
	bottom: clamp(16px, 2vw, 26px);
	z-index: 1;
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	padding: 12px 18px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* --- Variant: boxed --- */
.hw-shero.hw-shero--boxed .hw-shero__box {
	background: var(--hw-color-papier);
	border: 1px solid var(--hw-color-line);
	padding: clamp(28px, 3.6vw, 56px);
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(30px, 4vw, 64px);
	align-items: center;
}

.hw-shero.hw-shero--boxed .hw-shero__title {
	font-size: clamp(32px, 3.6vw, 50px);
}

.hw-shero.hw-shero--boxed .hw-shero__checks {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.hw-shero.hw-shero--boxed .hw-shero__checks li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--hw-color-ink-2);
}

.hw-shero.hw-shero--boxed .hw-shero__checks svg {
	width: 15px;
	height: 15px;
	flex: none;
	margin-top: 3px;
	color: var(--hw-color-brass-2);
}

.hw-shero.hw-shero--boxed .hw-shero__media {
	position: relative;
	padding: 14px 0 0 14px;
}

.hw-shero .hw-shero__img-frame {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: 10px;
}

.hw-shero .hw-shero__img-frame img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border: 1px solid var(--hw-color-line-2);
}

.hw-shero .hw-shero__img-frame--wide img {
	aspect-ratio: 3 / 2;
}

.hw-shero.hw-shero--boxed .hw-shero__badge {
	position: absolute;
	top: -8px;
	left: -8px;
	z-index: 1;
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
	padding: 16px 20px;
	text-align: center;
}

.hw-shero.hw-shero--boxed .hw-shero__badge b {
	display: block;
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: 26px;
	line-height: 1;
}

.hw-shero.hw-shero--boxed .hw-shero__badge span {
	display: block;
	margin-top: 6px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 9.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hw-color-brass-soft);
}

/* --- Variant: editorial --- */
.hw-shero.hw-shero--editorial {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(36px, 5vw, 80px);
	align-items: center;
}

.hw-shero.hw-shero--editorial .hw-shero__title {
	font-size: clamp(38px, 4.6vw, 64px);
}

.hw-shero.hw-shero--editorial .hw-shero__media {
	position: relative;
	padding: 0 0 clamp(36px, 4vw, 56px) clamp(36px, 4vw, 64px);
}

.hw-shero.hw-shero--editorial .hw-shero__img-frame--main img {
	aspect-ratio: 4 / 3;
}

.hw-shero.hw-shero--editorial .hw-shero__img-frame--detail {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 46%;
	box-shadow: 0 26px 50px -30px rgba(22, 24, 15, 0.45);
}

.hw-shero.hw-shero--editorial .hw-shero__img-frame--detail img {
	aspect-ratio: 1 / 1;
}

.hw-shero.hw-shero--editorial .hw-shero__round {
	position: absolute;
	top: -22px;
	right: -14px;
	z-index: 2;
	width: 96px;
	height: 96px;
	border-radius: 999px;
	background: var(--hw-color-forest);
	border: 4px solid var(--hw-color-papier);
	color: var(--hw-color-brass-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 12px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.5;
	transform: rotate(8deg);
	box-shadow: 0 18px 36px -20px rgba(22, 24, 15, 0.5);
}

/* Stagger prekrytej fotky */
.hw-anim .hw-shero--editorial .hw-shero__img-frame--detail,
.hw-anim .hw-shero--editorial .hw-shero__img-frame--detail img {
	transition-delay: 0.18s, 0.33s;
}

/* --- Responzívne --- */
@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats-base,
	.hw-shero.hw-shero--boxed .hw-shero__box,
	.hw-shero.hw-shero--editorial {
		grid-template-columns: 1fr;
	}
	.hw-shero.hw-shero--stats-base .hw-shero__media {
		order: -1;
		min-height: 0;
		height: clamp(240px, 44vw, 380px);
	}
	.hw-shero.hw-shero--boxed .hw-shero__media {
		padding: 14px 0 0 14px;
		max-width: 560px;
	}
}

@media (max-width: 640px) {
	.hw-shero .hw-shero__actions {
		width: 100%;
		flex-direction: column;
	}
	.hw-shero .hw-shero__btn {
		width: 100%;
		justify-content: center;
	}
	.hw-shero.hw-shero--editorial .hw-shero__media {
		padding-left: 0;
		padding-bottom: 0;
	}
	.hw-shero.hw-shero--editorial .hw-shero__img-frame--detail {
		position: relative;
		width: 62%;
		margin: -48px 0 0 18px;
	}
	.hw-shero.hw-shero--editorial .hw-shero__round {
		width: 78px;
		height: 78px;
		font-size: 8px;
		top: -14px;
		right: 0;
	}
}

/* =========================================================
   v1.16.2 — Hero služby (stats) na celú šírku obrazovky
   Pozadie pásu ide po okraje obrazovky, obsah (text aj fotka)
   ostáva v šírke Blocksy kontajnera.
   ========================================================= */
.hw-shero.hw-shero--stats-base.hw-shero--fw {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	border-left: none;
	border-right: none;
	/* obsah zarovnaný na kontajner cez padding pásu */
	padding-inline: max(
		24px,
		calc((100vw - min(var(--theme-container-width, 90vw), var(--theme-normal-container-max-width, 1290px))) / 2)
	);
}

/* Text začína priamo na hrane kontajnera */
.hw-shero.hw-shero--stats-base.hw-shero--fw .hw-shero__panel {
	padding-left: 0;
	padding-right: clamp(28px, 3.6vw, 64px);
}

@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats-base.hw-shero--fw {
		padding-inline: max(
			20px,
			calc((100vw - var(--theme-container-width, 90vw)) / 2)
		);
	}
	.hw-shero.hw-shero--stats-base.hw-shero--fw .hw-shero__panel {
		padding-left: 0;
		padding-right: 0;
	}
}

/* =========================================================
   Hero služby — variant Karta + fotka II (v1.17.0)
   ========================================================= */
/* Breadcrumb pruh cez celú šírku karty */
.hw-shero.hw-shero--stats2 .hw-shero__crumbbar {
	grid-column: 1 / -1;
	padding: 16px clamp(28px, 3.6vw, 56px);
	border-bottom: 1px solid var(--hw-color-line);
}

.hw-shero.hw-shero--stats2 .hw-shero__crumbbar .hw-shero__crumb {
	margin-bottom: 0;
}

.hw-shero.hw-shero--stats2.hw-shero--fw .hw-shero__crumbbar {
	padding-left: 0;
	padding-right: 0;
}

/* Akcent na samostatnom riadku */
.hw-shero.hw-shero--stats2 .hw-shero__title-accent {
	display: block;
}

/* Chip vysunutý cez ľavý dolný roh fotky */
.hw-shero.hw-shero--stats2 {
	overflow: visible;
}

.hw-shero.hw-shero--stats2 .hw-shero__chip {
	left: -34px;
	bottom: -24px;
	padding: 16px 22px;
	font-size: 12px;
	box-shadow: 0 18px 36px -20px rgba(22, 24, 15, 0.45);
}

/* Rezerva pod widgetom, nech chip neprekrýva ďalšiu sekciu */
.hw-shero.hw-shero--stats2 {
	margin-bottom: 24px;
}

@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats2 .hw-shero__crumbbar {
		order: -2;
	}
	.hw-shero.hw-shero--stats2 .hw-shero__media {
		order: -1;
	}
	.hw-shero.hw-shero--stats2 .hw-shero__chip {
		left: 0;
		bottom: 0;
		box-shadow: none;
	}
	.hw-shero.hw-shero--stats2 {
		margin-bottom: 0;
	}
}

/* =========================================================
   v1.17.1 — Hero služby: výraznejší servisný charakter
   ========================================================= */
/* Brass linka hore — rovnaký podpis ako ostatné brand panely */
.hw-shero.hw-shero--stats-base {
	border-top: 3px solid var(--hw-color-brass);
}

/* Väčší titulok + väčší perex */
.hw-shero.hw-shero--stats-base .hw-shero__title {
	font-size: clamp(40px, 5vw, 72px);
}

.hw-shero.hw-shero--stats-base .hw-shero__lead {
	max-width: 46ch;
}

/* Vyšší hero — viac vzduchu v paneli aj vyššia fotka */
.hw-shero.hw-shero--stats-base .hw-shero__panel {
	padding-top: clamp(44px, 5vw, 80px);
	padding-bottom: clamp(44px, 5vw, 80px);
}

.hw-shero.hw-shero--stats-base .hw-shero__media {
	min-height: 460px;
}

/* Kicker o stupeň výraznejší */
.hw-shero.hw-shero--stats-base .hw-kicker {
	font-size: 13px;
}

@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats-base .hw-shero__media {
		min-height: 0;
	}
}

/* =========================================================
   v1.17.2 — druhý štýl reveal animácie: „vynorenie"
   (fade + zdvih + jemné usadenie mierky, bez clip opony)
   ========================================================= */
.hw-anim .hw-reveal.hw-reveal--rise {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hw-anim .hw-reveal.hw-reveal--rise img {
	clip-path: none;
	transform: scale(1.05);
	transition: transform 1.6s cubic-bezier(0.22, 0.61, 0.36, 1) 0.1s;
}

.hw-anim .hw-reveal.hw-reveal--rise.is-inview {
	opacity: 1;
	transform: translateY(0);
}

.hw-anim .hw-reveal.hw-reveal--rise.is-inview img {
	clip-path: none;
	transform: scale(1);
}

/* Stagger v galérii pre rise variant */
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(2) {
	transition-delay: 0.14s;
}

.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(2) img {
	transition-delay: 0.24s;
}

.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(3) {
	transition-delay: 0.28s;
}

.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(3) img {
	transition-delay: 0.38s;
}

/* =========================================================
   v1.17.3 — FW hero na tablete/mobile: fotka od okraja po okraj
   ========================================================= */
@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats-base.hw-shero--fw {
		--hw-shero-pad: max(20px, calc((100vw - var(--theme-container-width, 90vw)) / 2));
		padding-inline: var(--hw-shero-pad);
	}

	/* Fotka: deterministický full-bleed — šírka gridovej stopy + oba
	   paddingy pásu, posunutá o padding doľava. Žiadne vw, žiadny drift. */
	.hw-shero.hw-shero--stats-base.hw-shero--fw {
		overflow-x: clip; /* poistka proti horizontálnemu scrollu stránky */
	}

	.hw-shero.hw-shero--stats-base.hw-shero--fw .hw-shero__media {
		width: calc(100% + var(--hw-shero-pad) * 2);
		margin-left: calc(var(--hw-shero-pad) * -1);
		margin-right: 0;
	}

	/* Chip pri full-bleed fotke drží na hrane kontajnera, nie obrazovky */
	.hw-shero.hw-shero--stats-base.hw-shero--fw .hw-shero__chip {
		left: var(--hw-shero-pad);
	}

	.hw-shero.hw-shero--stats2.hw-shero--fw .hw-shero__chip {
		left: var(--hw-shero-pad);
		bottom: 0;
	}
}

/* =========================================================
   v1.17.6 — kontaktné karty: hover do forest zelenej
   (ladí s tmavým panelom Kontaktné údaje)
   ========================================================= */
.hw-ccards.hw-ccards--grid a.hw-ccards__item {
	transition: background 0.28s ease;
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover {
	background: var(--hw-color-forest);
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__label {
	color: var(--hw-color-brass-soft);
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__value {
	color: var(--hw-color-papier);
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__note {
	color: rgba(247, 243, 234, 0.72);
}

.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__note--link {
	color: var(--hw-color-brass-soft);
}

/* Plynulé prefarbenie textov a ikony */
.hw-ccards.hw-ccards--grid .hw-ccards__label,
.hw-ccards.hw-ccards--grid .hw-ccards__note {
	transition: color 0.28s ease;
}

/* Ikona na forest hoveri — rovnaký štýl ako ikony v tmavom paneli:
   priesvitný rámik, žiadna zelená výplň */
.hw-ccards.hw-ccards--grid a.hw-ccards__item:hover .hw-ccards__icon {
	background: rgba(247, 243, 234, 0.08);
	border-color: rgba(247, 243, 234, 0.28);
	color: var(--hw-color-brass-soft);
	transform: none;
}

/* =========================================================
   HW Hero služby — gradient overlay varianty (v1.18.0)
   ========================================================= */
.hw-shero.hw-shero--overlay {
	position: relative;
	overflow: hidden;
	display: flex;
	background: var(--hw-color-forest-2);
	color: var(--hw-color-papier);
	min-height: clamp(460px, 58vh, 640px);
}

/* Foto / video pozadie */
.hw-shero.hw-shero--overlay .hw-shero__bg {
	position: absolute;
	inset: 0;
}

.hw-shero.hw-shero--overlay .hw-shero__bg img,
.hw-shero.hw-shero--overlay .hw-shero__bg video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Gradientový závoj */
.hw-shero.hw-shero--overlay .hw-shero__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* A — diagonálny prechod (bez linkového rastra) */
.hw-shero.hw-shero--overlay-diag .hw-shero__shade {
	background: linear-gradient(105deg,
		rgba(22, 39, 29, 0.96) 0%,
		rgba(30, 53, 40, 0.86) 36%,
		rgba(44, 74, 56, 0.55) 68%,
		rgba(60, 107, 77, 0.3) 100%);
}

/* B — rovnomerný zelený závoj */
.hw-shero.hw-shero--overlay-veil .hw-shero__shade {
	background: linear-gradient(180deg, rgba(22, 39, 29, 0.9) 0%, rgba(30, 53, 40, 0.88) 100%);
}

/* Obsah */
.hw-shero.hw-shero--overlay .hw-shero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 56px);
}

.hw-shero.hw-shero--overlay.hw-shero--fw {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.hw-shero.hw-shero--overlay.hw-shero--fw .hw-shero__inner {
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}

.hw-shero.hw-shero--overlay .hw-shero__main {
	max-width: 640px;
}

.hw-shero.hw-shero--overlay .hw-shero__crumb {
	color: rgba(247, 243, 234, 0.75);
	margin-bottom: 16px;
}

.hw-shero.hw-shero--overlay .hw-shero__crumb a,
.hw-shero.hw-shero--overlay .hw-shero__crumb--dynamic .rank-math-breadcrumb a {
	color: var(--hw-color-brass);
}

.hw-shero.hw-shero--overlay .hw-shero__crumb a:hover,
.hw-shero.hw-shero--overlay .hw-shero__crumb--dynamic .rank-math-breadcrumb a:hover {
	color: var(--hw-color-papier);
}

.hw-shero.hw-shero--overlay .hw-shero__title {
	color: var(--hw-color-papier);
	font-size: clamp(36px, 4.4vw, 60px);
}

.hw-shero.hw-shero--overlay .hw-shero__title-accent {
	color: var(--hw-color-brass-soft);
}

.hw-shero.hw-shero--overlay .hw-shero__lead {
	color: rgba(247, 243, 234, 0.85);
}

/* Tlačidlá na tmavom podklade */
.hw-shero.hw-shero--overlay .hw-shero__btn--solid {
	background: var(--hw-color-papier);
	color: var(--hw-color-forest);
	border-color: var(--hw-color-papier);
}

.hw-shero.hw-shero--overlay .hw-shero__btn--solid:hover {
	background: var(--hw-color-ivory);
}

.hw-shero.hw-shero--overlay .hw-shero__btn--line {
	color: var(--hw-color-papier);
	border-color: rgba(247, 243, 234, 0.4);
}

.hw-shero.hw-shero--overlay .hw-shero__btn--line:hover {
	border-color: var(--hw-color-brass-soft);
	color: var(--hw-color-brass-soft);
}

/* Pás služieb (variant B) */
.hw-shero.hw-shero--overlay .hw-shero__strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	margin-top: clamp(36px, 5vw, 64px);
	border-top: 1px solid rgba(247, 243, 234, 0.25);
}

.hw-shero.hw-shero--overlay .hw-shero__strip-item {
	padding: 20px clamp(16px, 2vw, 28px) 4px 0;
}

.hw-shero.hw-shero--overlay .hw-shero__strip-item + .hw-shero__strip-item {
	border-left: 1px solid rgba(247, 243, 234, 0.18);
	padding-left: clamp(16px, 2vw, 28px);
}

.hw-shero.hw-shero--overlay .hw-shero__strip-item b {
	display: block;
	font-family: var(--hw-font-display);
	font-weight: 600;
	font-size: clamp(17px, 1.6vw, 21px);
	color: var(--hw-color-papier);
}

.hw-shero.hw-shero--overlay .hw-shero__strip-item span {
	display: block;
	margin-top: 5px;
	font-size: 12.5px;
	color: rgba(247, 243, 234, 0.55);
}

@media (max-width: 767px) {
	.hw-shero.hw-shero--overlay .hw-shero__strip {
		grid-template-columns: 1fr 1fr;
		gap: 8px 0;
	}
	.hw-shero.hw-shero--overlay .hw-shero__strip-item:nth-child(odd) {
		border-left: none;
		padding-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hw-shero.hw-shero--overlay .hw-shero__bg video {
		display: none;
	}
}

/* Video leží nad fotkou (fotka = fallback/poster) */
.hw-shero.hw-shero--overlay .hw-shero__bg .hw-shero__bg-video {
	position: absolute;
	inset: 0;
}

/* =========================================================
   v1.19.0 — overlay doplnky: trust riadok, Ken Burns,
   scroll indikátor, prechod do svetlej sekcie
   ========================================================= */

/* Dôveryhodnostný riadok pod tlačidlami */
.hw-shero.hw-shero--overlay .hw-shero__trust {
	list-style: none;
	margin: clamp(20px, 2.4vw, 28px) 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
}

.hw-shero.hw-shero--overlay .hw-shero__trust li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(247, 243, 234, 0.75);
}

.hw-shero.hw-shero--overlay .hw-shero__trust li::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: var(--hw-color-brass);
	flex: none;
}

/* Ken Burns — pomalý zoom fotky (len bez videa) */
@keyframes hwKenBurns {
	from { transform: scale(1); }
	to { transform: scale(1.08); }
}

.hw-shero.hw-shero--overlay .hw-shero__bg img.hw-shero__bg-kb {
	animation: hwKenBurns 26s ease-in-out infinite alternate;
	will-change: transform;
}

/* Scroll indikátor — línia s putujúcou bodkou */
.hw-shero.hw-shero--overlay .hw-shero__scroll {
	position: absolute;
	left: 50%;
	bottom: 22px;
	transform: translateX(-50%);
	z-index: 2;
	width: 1px;
	height: 44px;
	background: rgba(247, 243, 234, 0.35);
	overflow: hidden;
	pointer-events: none;
}

.hw-shero.hw-shero--overlay .hw-shero__scroll-dot {
	position: absolute;
	left: -1px;
	top: -8px;
	width: 3px;
	height: 8px;
	border-radius: 2px;
	background: var(--hw-color-brass-soft);
	animation: hwScrollDot 2.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes hwScrollDot {
	0%   { top: -8px; opacity: 0; }
	25%  { opacity: 1; }
	75%  { opacity: 1; }
	100% { top: 44px; opacity: 0; }
}

/* Pri fade prechode je spodok svetlý — indikátor stmavne */
.hw-shero.hw-shero--overlay.hw-shero--has-fade .hw-shero__scroll {
	background: rgba(22, 24, 15, 0.25);
}

.hw-shero.hw-shero--overlay.hw-shero--has-fade .hw-shero__scroll-dot {
	background: var(--hw-color-brass-2);
}

/* Prechod do papier podkladu — spodných ~130px */
.hw-shero.hw-shero--overlay .hw-shero__fade {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 130px;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(247, 243, 234, 0) 0%, var(--hw-color-papier) 100%);
}

/* Pás služieb musí ležať nad fade vrstvou a texty stmavnúť netreba —
   pri veil variante s pásom odporúčame fade vypnúť, ale keby boli spolu: */
.hw-shero.hw-shero--overlay .hw-shero__inner {
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.hw-shero.hw-shero--overlay .hw-shero__bg img.hw-shero__bg-kb {
		animation: none;
	}
	.hw-shero.hw-shero--overlay .hw-shero__scroll {
		display: none;
	}
}

/* =========================================================
   v1.19.2 — tlačidlá zjednotené s globálnym button systémom
   (Hanken Grotesk, normálny rez, väčší padding, šípka 18px)
   ========================================================= */
.hw-intro .hw-intro__btn,
.hw-ctab .hw-ctab__btn,
.hw-ctabox .hw-ctabox__btn,
.hw-shero .hw-shero__btn,
.hw-dfeature .hw-dfeature__btn,
.hw-form.hw-form--panel .hw-form__submit,
.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
	font-family: var(--hw-font-body);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	padding: 12px 22px;
	gap: 10px;
	border-radius: 3px;
}

.hw-intro .hw-intro__btn svg,
.hw-ctab .hw-ctab__btn svg,
.hw-ctabox .hw-ctabox__btn svg,
.hw-shero .hw-shero__btn svg,
.hw-dfeature .hw-dfeature__btn svg,
.hw-form.hw-form--panel .hw-form__submit svg {
	width: 16px;
	height: 16px;
}

@media (max-width: 640px) {
	.hw-intro .hw-intro__btn,
	.hw-ctab .hw-ctab__btn,
	.hw-ctabox .hw-ctabox__btn,
	.hw-shero .hw-shero__btn,
	.hw-dfeature .hw-dfeature__btn,
	.hw-form.hw-form--panel .hw-form__submit,
	.hw-form.hw-form--panel .hw-form__cf7 input[type="submit"],
	.hw-form.hw-form--panel .hw-form__cf7 button[type="submit"] {
		padding: 12px 18px;
	}
}

/* =========================================================
   HW Služba — editorial (tmavá) (v1.20.0)
   ========================================================= */
.hw-dfeature {
	font-family: var(--hw-font-body);
	background: var(--hw-color-forest-2);
	color: var(--hw-color-papier);
	padding: clamp(56px, 8vw, 110px) 0;
}

.hw-dfeature .hw-dfeature__container {
	width: var(--theme-container-width, calc(100% - clamp(40px, 8vw, 80px)));
	max-width: var(--theme-normal-container-max-width, 1290px);
	margin: 0 auto;
}

.hw-dfeature .hw-dfeature__top {
	display: grid;
	grid-template-columns: 1fr 0.95fr;
	gap: clamp(40px, 6vw, 100px);
	align-items: center;
}

.hw-dfeature .hw-dfeature__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(38px, 4.8vw, 68px);
	line-height: 1.1;
	color: var(--hw-color-papier);
	margin: 18px 0 0;
}

.hw-dfeature .hw-dfeature__title em {
	font-style: italic;
	font-weight: 500;
	color: var(--hw-color-brass-soft);
}

.hw-dfeature .hw-dfeature__lead {
	font-family: var(--hw-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(17px, 1.7vw, 21px);
	line-height: 1.55;
	color: rgba(247, 243, 234, 0.85);
	margin: 18px 0 0;
	max-width: 44ch;
}

.hw-dfeature .hw-dfeature__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: clamp(24px, 3vw, 34px);
	background: var(--hw-color-papier);
	color: var(--hw-color-forest);
	border: 1px solid var(--hw-color-papier);
	border-radius: 3px;
	padding: 14px 26px;
	font-family: var(--hw-font-body);
	font-weight: 600;
	font-size: 15.5px;
	text-decoration: none;
	transition: background 0.28s ease;
}

.hw-dfeature .hw-dfeature__btn svg {
	width: 18px;
	height: 18px;
}

.hw-dfeature .hw-dfeature__btn:hover {
	background: var(--hw-color-ivory);
}

/* Médium s odsadeným mosadzným rámom */
.hw-dfeature .hw-dfeature__media {
	position: relative;
	margin: 0;
	padding: 0 0 clamp(40px, 4vw, 64px) clamp(40px, 4vw, 72px);
}

.hw-dfeature .hw-dfeature__media::before {
	content: "";
	position: absolute;
	left: 0;
	top: clamp(40px, 4vw, 72px);
	right: clamp(40px, 4vw, 72px);
	bottom: 0;
	border: 1px solid rgba(169, 130, 78, 0.65);
	pointer-events: none;
}

.hw-dfeature .hw-dfeature__frame img,
.hw-dfeature .hw-dfeature__frame video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	position: relative;
	z-index: 1;
	box-shadow: 0 34px 70px -40px rgba(11, 22, 15, 0.9);
}

.hw-dfeature .hw-dfeature__caption {
	position: absolute;
	left: clamp(20px, 2.4vw, 34px);
	bottom: clamp(10px, 1.4vw, 20px);
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(247, 243, 234, 0.6);
}

/* Spodok: linka, countre, text */
.hw-dfeature .hw-dfeature__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(32px, 5vw, 88px);
	margin-top: clamp(40px, 5vw, 72px);
	padding-top: clamp(32px, 4vw, 52px);
	border-top: 1px solid rgba(247, 243, 234, 0.16);
}

.hw-dfeature .hw-dfeature__stat-value {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.hw-dfeature .hw-dfeature__stat-value .hw-stats__num {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	font-size: clamp(52px, 5.6vw, 84px);
	line-height: 1;
	color: var(--hw-color-papier);
	font-variant-numeric: tabular-nums;
}

.hw-dfeature .hw-dfeature__stat-unit {
	font-family: var(--hw-font-display);
	font-weight: 500;
	font-size: clamp(20px, 2vw, 28px);
	color: var(--hw-color-brass-soft);
}

.hw-dfeature .hw-dfeature__stat-label {
	display: block;
	margin-top: 12px;
	font-size: 13px;
	color: rgba(247, 243, 234, 0.65);
}

.hw-dfeature .hw-dfeature__text {
	margin: 6px 0 0 auto;
	max-width: 44ch;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(247, 243, 234, 0.75);
}

@media (max-width: 1024px) {
	.hw-dfeature .hw-dfeature__top {
		grid-template-columns: 1fr;
	}
	.hw-dfeature .hw-dfeature__text {
		margin-left: 0;
		flex-basis: 100%;
	}
}

@media (max-width: 640px) {
	.hw-dfeature .hw-dfeature__media {
		padding-left: 20px;
		padding-bottom: 34px;
	}
	.hw-dfeature .hw-dfeature__media::before {
		top: 20px;
		right: 20px;
	}
	.hw-dfeature .hw-dfeature__btn {
		width: 100%;
		justify-content: center;
	}
	.hw-dfeature .hw-dfeature__bottom {
		gap: 28px;
	}
}

/* =========================================================
   v1.21.0 — story galéria: variabilný počet + lightbox
   ========================================================= */
/* Dve fotky vedľa seba v rovnakom pomere */
.hw-story.hw-story--split .hw-story__gallery--pair {
	grid-template-columns: 1fr 1fr;
}

.hw-story.hw-story--split .hw-story__gallery--pair .hw-story__img--small img {
	aspect-ratio: 3 / 4;
}

/* Lightbox odkaz — vyplní rám, kurzor lupa, jemný zoom fotky */
.hw-story.hw-story--split .hw-story__img a {
	display: block;
	height: 100%;
	cursor: zoom-in;
	overflow: hidden;
}

.hw-story.hw-story--split .hw-story__img a img {
	transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hw-story.hw-story--split .hw-story__img a:hover img {
	transform: scale(1.03);
}

/* Stagger pre viac fotiek (2.–6.) */
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(4) { transition-delay: 0.42s; }
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(4) img { transition-delay: 0.52s; }
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(5) { transition-delay: 0.56s; }
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(5) img { transition-delay: 0.66s; }
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(6) { transition-delay: 0.7s; }
.hw-anim .hw-story__gallery .hw-reveal--rise:nth-child(6) img { transition-delay: 0.8s; }

/* v1.22.0 — YouTube video v editorial sekcii */
.hw-dfeature .hw-dfeature__frame--yt iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	position: relative;
	z-index: 1;
	box-shadow: 0 34px 70px -40px rgba(11, 22, 15, 0.9);
	background: #000;
}

/* v1.22.1 — index kickera čitateľný na tmavom podklade */
.hw-kicker.hw-kicker--on-dark .hw-kicker__idx {
	color: rgba(247, 243, 234, 0.55);
}

/* =========================================================
   HW Galéria — samostatný widget (v1.23.0)
   ========================================================= */
.hw-gal {
	font-family: var(--hw-font-body);
}

.hw-gal.hw-gal--fw {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* --- Hlavička --- */
.hw-gal .hw-gal__head {
	max-width: 62ch;
	margin: 0 0 clamp(24px, 3vw, 40px);
}

.hw-gal.hw-gal--center .hw-gal__head {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.hw-gal.hw-gal--center .hw-gal__head .hw-kicker {
	justify-content: center;
}

.hw-gal .hw-gal__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
	color: var(--hw-color-forest);
	margin: 16px 0 0;
}

.hw-gal .hw-gal__text {
	margin: 14px 0 0;
	color: var(--hw-color-ink-2);
	font-size: 15.5px;
	line-height: 1.7;
}

/* --- Mriežka / mozaika --- */
.hw-gal .hw-gal__grid {
	display: grid;
	grid-template-columns: repeat(var(--hw-gal-cols, 3), minmax(0, 1fr));
	gap: var(--hw-gal-gap, 14px);
}

.hw-gal .hw-gal__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
}

.hw-gal.hw-gal--framed .hw-gal__item {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: 10px;
}

.hw-gal .hw-gal__frame {
	display: block;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	aspect-ratio: var(--hw-gal-ratio, 4 / 3);
}

.hw-gal .hw-gal__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hw-gal.hw-gal--framed .hw-gal__item img {
	border: 1px solid var(--hw-color-line-2);
}

.hw-gal a.hw-gal__frame {
	cursor: zoom-in;
}

.hw-gal a.hw-gal__frame:hover img {
	transform: scale(1.03);
}

.hw-gal .hw-gal__cap {
	font-family: var(--hw-font-sans);
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: var(--hw-color-soft);
	margin-top: 10px;
}

/* Mozaika: prvá fotka cez 2 stĺpce a 2 riadky */
.hw-gal.hw-gal--mosaic .hw-gal__item--main {
	grid-column: span 2;
	grid-row: span 2;
}

.hw-gal.hw-gal--mosaic .hw-gal__item--main .hw-gal__frame {
	aspect-ratio: auto;
	height: 100%;
}

/* Pôvodný pomer fotky (ratio = auto) */
.hw-gal.hw-gal--auto .hw-gal__frame {
	aspect-ratio: auto;
}

.hw-gal.hw-gal--auto .hw-gal__item img {
	height: auto;
}

.hw-gal.hw-gal--auto.hw-gal--grid .hw-gal__item,
.hw-gal.hw-gal--auto.hw-gal--mosaic .hw-gal__item {
	align-self: start;
}

/* Masonry cez CSS stĺpce — bez JS, prirodzené výšky */
.hw-gal.hw-gal--masonry .hw-gal__grid {
	display: block;
	column-count: var(--hw-gal-cols, 3);
	column-gap: var(--hw-gal-gap, 14px);
}

.hw-gal.hw-gal--masonry .hw-gal__item {
	display: block;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	margin-bottom: var(--hw-gal-gap, 14px);
}

/* Stagger animácia — index nesie inline --hw-i */
.hw-anim .hw-gal .hw-gal__grid .hw-reveal {
	transition-delay: calc(var(--hw-i, 0) * 0.08s);
}

.hw-anim .hw-gal .hw-gal__grid .hw-reveal img {
	transition-delay: calc(var(--hw-i, 0) * 0.08s + 0.12s);
}

/* Editor: prázdny stav */
.hw-gal.hw-gal--empty {
	padding: 28px;
	border: 1px dashed var(--hw-color-line-2);
	background: var(--hw-color-papier);
	color: var(--hw-color-soft);
	font-family: var(--hw-font-sans);
	font-size: 13px;
	text-align: center;
}

@media (max-width: 767px) {
	/* Na mobile mozaiku nerozťahujeme — inak by pretiekla pri 1 stĺpci */
	.hw-gal.hw-gal--mosaic .hw-gal__item--main {
		grid-column: auto;
		grid-row: auto;
	}
	.hw-gal.hw-gal--mosaic .hw-gal__item--main .hw-gal__frame {
		aspect-ratio: var(--hw-gal-ratio, 4 / 3);
	}
	.hw-gal.hw-gal--auto.hw-gal--mosaic .hw-gal__item--main .hw-gal__frame {
		aspect-ratio: auto;
	}
}

/* =========================================================
   HW Dôveryhodnostný riadok — samostatný widget (v1.24.0)
   ========================================================= */
.hw-trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px var(--hw-trust-gap, 22px);
	--hw-trust-marker: var(--hw-color-brass);
}

.hw-trust .hw-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.hw-trust.hw-trust--upper .hw-trust__item {
	text-transform: uppercase;
}

.hw-trust.hw-trust--on-light .hw-trust__item {
	color: var(--hw-color-ink-2);
}

.hw-trust.hw-trust--on-dark .hw-trust__item {
	color: rgba(247, 243, 234, 0.75);
}

.hw-trust.hw-trust--dot .hw-trust__item::before,
.hw-trust.hw-trust--dash .hw-trust__item::before {
	content: "";
	background: var(--hw-trust-marker);
	flex: none;
}

.hw-trust.hw-trust--dot .hw-trust__item::before {
	width: 5px;
	height: 5px;
	border-radius: 999px;
}

.hw-trust.hw-trust--dash .hw-trust__item::before {
	width: 16px;
	height: 1px;
}

/* =========================================================
   HW Galéria — rozloženie "Mozaika 1 + 2" (v1.25.0)
   Vysoká fotka vľavo cez dva riadky, menšie stĺpcom vedľa.
   ========================================================= */
.hw-gal.hw-gal--split .hw-gal__grid {
	grid-template-columns: var(--hw-gal-split, 52%) minmax(0, 1fr);
	grid-auto-rows: 1fr;
}

.hw-gal.hw-gal--split .hw-gal__item--main {
	grid-row: span 2;
}

.hw-gal.hw-gal--split .hw-gal__item .hw-gal__frame {
	aspect-ratio: var(--hw-gal-ratio, 4 / 3);
}

.hw-gal.hw-gal--split .hw-gal__item--main .hw-gal__frame {
	aspect-ratio: var(--hw-gal-ratio-main, 3 / 4);
}

/* Vysoká fotka vpravo */
.hw-gal.hw-gal--split-rev .hw-gal__item--main {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.hw-gal.hw-gal--split-rev .hw-gal__item:not(.hw-gal__item--main) {
	grid-column: 1;
}

/* Jedna fotka = plná šírka, dve = rovnaké dlaždice na výšku */
.hw-gal.hw-gal--split-single .hw-gal__grid {
	grid-template-columns: minmax(0, 1fr);
}

.hw-gal.hw-gal--split-single .hw-gal__item--main {
	grid-row: auto;
}

.hw-gal.hw-gal--split-pair .hw-gal__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hw-gal.hw-gal--split-pair .hw-gal__item--main {
	grid-row: auto;
}

.hw-gal.hw-gal--split-pair .hw-gal__item .hw-gal__frame {
	aspect-ratio: var(--hw-gal-ratio-main, 3 / 4);
}

@media (max-width: 767px) {
	.hw-gal.hw-gal--split .hw-gal__grid,
	.hw-gal.hw-gal--split-pair .hw-gal__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.hw-gal.hw-gal--split .hw-gal__item--main,
	.hw-gal.hw-gal--split-rev .hw-gal__item--main {
		grid-column: auto;
		grid-row: auto;
	}
	.hw-gal.hw-gal--split-rev .hw-gal__item:not(.hw-gal__item--main) {
		grid-column: auto;
	}
	.hw-gal.hw-gal--split .hw-gal__item--main .hw-gal__frame,
	.hw-gal.hw-gal--split-pair .hw-gal__item .hw-gal__frame {
		aspect-ratio: var(--hw-gal-ratio, 4 / 3);
	}
}

/* =========================================================
   HW Galéria — carousel (v1.26.0)
   ========================================================= */
.hw-car {
	font-family: var(--hw-font-body);
	--hw-car-per: 3;
	--hw-car-gap: 14px;
	--hw-car-ratio: 4 / 3;
	--hw-car-accent: var(--hw-color-brass);
}

.hw-car.hw-car--fw {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* --- Hlavička s nadpisom a šípkami --- */
.hw-car .hw-car__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: clamp(22px, 2.8vw, 36px);
}

.hw-car .hw-car__headtext {
	max-width: 60ch;
}

.hw-car .hw-car__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.12;
	color: var(--hw-color-forest);
	margin: 16px 0 0;
}

.hw-car.hw-car--on-dark .hw-car__title {
	color: var(--hw-color-papier);
}

.hw-car .hw-car__text {
	margin: 14px 0 0;
	color: var(--hw-color-ink-2);
	font-size: 15.5px;
	line-height: 1.7;
}

.hw-car.hw-car--on-dark .hw-car__text,
.hw-car.hw-car--on-dark .hw-car__cap {
	color: rgba(247, 243, 234, 0.72);
}

/* --- Dráha --- */
.hw-car .hw-car__viewport {
	position: relative;
}

.hw-car .hw-car__track {
	display: flex;
	gap: var(--hw-car-gap, 14px);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 2px;
}

.hw-car .hw-car__track::-webkit-scrollbar {
	display: none;
}

.hw-car .hw-car__track:focus-visible {
	outline: 2px solid var(--hw-car-accent);
	outline-offset: 4px;
}

.hw-car .hw-car__item {
	flex: 0 0 calc((100% - (var(--hw-car-per) - 1) * var(--hw-car-gap, 14px)) / var(--hw-car-per));
	margin: 0;
	min-width: 0;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
}

.hw-car.hw-car--framed .hw-car__item {
	background: var(--hw-color-papier-2);
	border: 1px solid var(--hw-color-line);
	padding: 10px;
}

.hw-car.hw-car--on-dark.hw-car--framed .hw-car__item {
	background: rgba(247, 243, 234, 0.06);
	border-color: rgba(247, 243, 234, 0.16);
}

.hw-car .hw-car__frame {
	display: block;
	overflow: hidden;
	aspect-ratio: var(--hw-car-ratio, 4 / 3);
}

.hw-car .hw-car__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
	user-select: none;
}

.hw-car.hw-car--framed .hw-car__item img {
	border: 1px solid var(--hw-color-line-2);
}

.hw-car.hw-car--on-dark.hw-car--framed .hw-car__item img {
	border-color: rgba(247, 243, 234, 0.12);
}

.hw-car a.hw-car__frame {
	cursor: zoom-in;
}

.hw-car a.hw-car__frame:hover img {
	transform: scale(1.03);
}

.hw-car .hw-car__cap {
	font-family: var(--hw-font-sans);
	font-size: 12px;
	line-height: 1.5;
	color: var(--hw-color-soft);
	margin-top: 10px;
}

/* Počas ťahania myšou vypneme plynulý scroll (klik rieši JS) */
.hw-car.is-dragging .hw-car__track {
	scroll-behavior: auto;
	cursor: grabbing;
	user-select: none;
}

/* --- Šípky --- */
.hw-car .hw-car__nav {
	display: flex;
	gap: 8px;
	flex: none;
}

.hw-car .hw-car__arrow {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid var(--hw-color-line-2);
	color: var(--hw-color-forest);
	cursor: pointer;
	padding: 0;
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, opacity 0.22s ease;
}

.hw-car .hw-car__arrow svg {
	width: 18px;
	height: 18px;
}

.hw-car .hw-car__arrow:hover:not([disabled]) {
	background: var(--hw-car-accent);
	border-color: var(--hw-car-accent);
	color: var(--hw-color-ivory);
}

.hw-car .hw-car__arrow[disabled] {
	opacity: 0.32;
	cursor: default;
}

.hw-car.hw-car--on-dark .hw-car__arrow {
	border-color: rgba(247, 243, 234, 0.24);
	color: var(--hw-color-papier);
}

/* Šípky po stranách fotiek */
.hw-car.hw-car--arrows-sides .hw-car__viewport .hw-car__nav {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
}

.hw-car.hw-car--arrows-sides .hw-car__viewport .hw-car__arrow {
	pointer-events: auto;
	background: var(--hw-color-ivory);
	border-color: var(--hw-color-line);
	box-shadow: 0 18px 40px -28px rgba(11, 22, 15, 0.8);
	transform: translateX(-50%);
}

.hw-car.hw-car--arrows-sides .hw-car__viewport .hw-car__arrow--next {
	transform: translateX(50%);
}

/* --- Pätička: progress + počítadlo --- */
.hw-car .hw-car__foot {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: clamp(18px, 2.2vw, 28px);
}

.hw-car .hw-car__progress {
	flex: 1 1 auto;
	height: 1px;
	background: var(--hw-color-line-2);
	position: relative;
	overflow: hidden;
}

.hw-car.hw-car--on-dark .hw-car__progress {
	background: rgba(247, 243, 234, 0.2);
}

.hw-car .hw-car__progress-bar {
	position: absolute;
	inset: 0 auto 0 0;
	width: 20%;
	background: var(--hw-car-accent);
	transition: width 0.3s ease, left 0.3s ease;
}

.hw-car .hw-car__count {
	flex: none;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.14em;
	color: var(--hw-color-soft);
}

.hw-car .hw-car__count-now {
	color: var(--hw-car-accent);
	font-weight: 700;
}

.hw-car .hw-car__count-sep {
	margin: 0 4px;
	opacity: 0.5;
}

.hw-car.hw-car--on-dark .hw-car__count {
	color: rgba(247, 243, 234, 0.6);
}

@media (max-width: 767px) {
	.hw-car .hw-car__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}
	.hw-car.hw-car--arrows-sides .hw-car__viewport .hw-car__nav {
		display: none;
	}
	.hw-car .hw-car__arrow {
		width: 42px;
		height: 42px;
	}
}

/* =========================================================
   Odseky vo viacriadkových textoch (v1.27.0)
   Prázdny riadok v poli = nový odsek, jednoduchý zlom = <br>.
   ========================================================= */
.hw-rte > p {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	margin: 0 0 0.85em;
}

.hw-rte > p:last-child {
	margin-bottom: 0;
}

.hw-rte > p:first-child {
	margin-top: 0;
}

/* =========================================================
   Vlastné ikony z knižnice Elementor (v1.28.0)
   Icons_Manager vykreslí <i> (font) alebo <svg> (nahraté SVG) —
   obe zarovnáme a nafarbíme rovnako ako vstavané ikony.
   ========================================================= */
.hw-steps .hw-steps__icon i,
.hw-services .hw-services__icon i,
.hw-ctab .hw-ctab__row-icon i {
	line-height: 1;
	font-style: normal;
	color: inherit;
}

.hw-steps .hw-steps__icon i {
	font-size: var(--hw-icon-size, 18px);
}

.hw-services .hw-services__icon i {
	font-size: var(--hw-icon-size, 21px);
}

.hw-ctab .hw-ctab__row-icon i {
	font-size: var(--hw-icon-size, 20px);
}

/* Nahraté SVG môže niesť vlastné fill/stroke — zjednotíme na currentColor */
.hw-steps .hw-steps__icon svg,
.hw-services .hw-services__icon svg,
.hw-ctab .hw-ctab__row-icon svg {
	display: block;
	fill: currentColor;
}

.hw-steps .hw-steps__icon svg[stroke],
.hw-services .hw-services__icon svg[stroke],
.hw-ctab .hw-ctab__row-icon svg[stroke] {
	fill: none;
	stroke: currentColor;
}

/* =========================================================
   Service hero — prispôsobenie fotky (v1.29.0)
   Výška, výrez, posun výrezu, priblíženie a farebná úprava.
   ========================================================= */
.hw-shero.hw-shero--stats-base .hw-shero__media {
	min-height: var(--hw-shero-media-h, 460px);
}

.hw-shero .hw-shero__img-cover,
.hw-shero .hw-shero__img-frame {
	overflow: hidden;
}

.hw-shero .hw-shero__img-cover img,
.hw-shero .hw-shero__img-frame img,
.hw-shero .hw-shero__bg img:not(.hw-shero__bg-kb) {
	object-fit: var(--hw-shero-img-fit, cover);
	object-position: var(--hw-shero-img-x, 50%) var(--hw-shero-img-y, 50%);
	transform: scale(var(--hw-shero-img-zoom, 1));
	transition: transform 0.4s ease;
}

/* Ken Burns si riadi transform sám — meníme mu len výrez a farby */
.hw-shero .hw-shero__bg img.hw-shero__bg-kb {
	object-position: var(--hw-shero-img-x, 50%) var(--hw-shero-img-y, 50%);
}

.hw-shero .hw-shero__img-cover img,
.hw-shero .hw-shero__img-frame img,
.hw-shero .hw-shero__bg img {
	filter: brightness(var(--hw-shero-img-bright, 1)) saturate(var(--hw-shero-img-sat, 1));
}

/* Tablet/mobil: výšku drží clamp, hornú hranicu určuje nastavená hodnota */
@media (max-width: 1024px) {
	.hw-shero.hw-shero--stats-base .hw-shero__media {
		min-height: 0;
		height: clamp(240px, 44vw, var(--hw-shero-media-h, 380px));
	}
}

/* =========================================================
   Dekor pozadia — letokruhy (v1.32.0)
   ========================================================= */
.hw-ctabox,
.hw-ctab {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.hw-decor {
	position: absolute;
	top: 50%;
	z-index: -1;
	pointer-events: none;
	line-height: 0;
	color: var(--hw-decor-color, var(--hw-color-brass));
	opacity: var(--hw-decor-opacity, 0.16);
}

.hw-decor svg {
	display: block;
	width: var(--hw-decor-size, 720px);
	height: auto;
}

.hw-decor.hw-decor--right {
	right: 0;
	transform: translate(calc(var(--hw-decor-x, 8%) + 0px), calc(-50% + var(--hw-decor-y, 0%)));
}

.hw-decor.hw-decor--left {
	left: 0;
	transform: translate(calc(var(--hw-decor-x, 8%) * -1), calc(-50% + var(--hw-decor-y, 0%)));
}

.hw-decor.hw-decor--center {
	left: 50%;
	transform: translate(calc(-50% + var(--hw-decor-x, 0%)), calc(-50% + var(--hw-decor-y, 0%)));
}

/* Obsah nad dekorom */
.hw-ctabox .hw-ctabox__main,
.hw-ctabox .hw-ctabox__btn,
.hw-ctab .hw-ctab__container {
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.hw-decor-hide-mobile .hw-decor {
		display: none;
	}
}

/* =========================================================
   Kontaktný panel + formulár (v1.33.0)
   1) Tesnejší riadok: label a hodnota bez zdedeného line-heightu témy
   2) Rovnaká výška oboch widgetov vedľa seba
   ========================================================= */
.hw-cpanel.hw-cpanel--dark .hw-cpanel__row {
	padding: 12px 0;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__row-body {
	gap: 0;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__label {
	line-height: 1.2;
	margin-bottom: 6px;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__value {
	line-height: 1.25;
	display: block;
}

.hw-cpanel.hw-cpanel--dark .hw-cpanel__note {
	line-height: 1.5;
	margin-top: 5px;
}

/* Panel aj formulár vyplnia výšku stĺpca, nech sedia na rovnakej linke */
.elementor-widget-hw-contact-info,
.elementor-widget-hw-contact-info > .elementor-widget-container,
.elementor-widget-hw-contact-form,
.elementor-widget-hw-contact-form > .elementor-widget-container {
	height: 100%;
}

.hw-cpanel.hw-cpanel--dark,
.hw-form.hw-form--panel {
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Zoznam kontaktov a telo formulára naberú zvyšný priestor,
   takže spodné prvky (highlight, tlačidlo) sedia pri spodnej hrane */
.hw-cpanel.hw-cpanel--dark .hw-cpanel__rows {
	flex: 1 1 auto;
}

.hw-form.hw-form--panel .hw-form__cf7,
.hw-form.hw-form--panel form {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

/* =========================================================
   HW Značkový pás (v1.34.0)
   Desktop: logo | text | odkaz. Tablet: odkaz pod text.
   Mobil: všetko pod sebou, odkaz na plnú šírku.
   ========================================================= */
.hw-brand {
	--hw-brand-gap: 36px;
	--hw-brand-pad: 40px;
	--hw-brand-logo: 190px;
	--hw-brand-accent: var(--hw-color-brass);
	font-family: var(--hw-font-body);
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "logo body action";
	align-items: center;
	gap: var(--hw-brand-gap);
	padding: var(--hw-brand-pad);
	background: var(--hw-brand-bg, var(--hw-color-ivory));
	border: 1px solid var(--hw-brand-line, var(--hw-color-line));
}

.hw-brand.hw-brand--paper {
	--hw-brand-bg: var(--hw-color-papier-2);
}

.hw-brand.hw-brand--dark {
	--hw-brand-bg: var(--hw-color-forest);
	--hw-brand-line: rgba(247, 243, 234, 0.16);
	color: var(--hw-color-papier);
}

/* --- Logo --- */
.hw-brand .hw-brand__logo {
	grid-area: logo;
	flex: none;
	width: var(--hw-brand-logo);
	max-width: 100%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hw-brand.hw-brand--framed .hw-brand__logo {
	background: var(--hw-color-papier);
	border: 1px solid var(--hw-brand-line, var(--hw-color-line));
	padding: 14px;
}

.hw-brand.hw-brand--dark.hw-brand--framed .hw-brand__logo {
	background: rgba(247, 243, 234, 0.06);
}

.hw-brand .hw-brand__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* --- Text --- */
.hw-brand .hw-brand__body {
	grid-area: body;
	min-width: 0;
}

.hw-brand .hw-brand__kicker {
	display: block;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--hw-brand-accent);
}

.hw-brand .hw-brand__title {
	font-family: var(--hw-font-display);
	font-weight: var(--hw-display-weight);
	letter-spacing: var(--hw-display-tracking);
	font-size: clamp(24px, 2.8vw, 40px);
	line-height: 1.14;
	color: var(--hw-color-ink);
	margin: 12px 0 0;
}

.hw-brand.hw-brand--dark .hw-brand__title {
	color: var(--hw-color-papier);
}

.hw-brand .hw-brand__text {
	margin: 12px 0 0;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--hw-color-ink-2);
	max-width: 68ch;
}

.hw-brand.hw-brand--dark .hw-brand__text {
	color: rgba(247, 243, 234, 0.75);
}

/* --- Odkaz --- */
.hw-brand .hw-brand__action {
	grid-area: action;
	flex: none;
}

.hw-brand .hw-brand__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: gap 0.22s ease, background 0.24s ease, color 0.24s ease, border-color 0.24s ease;
}

.hw-brand .hw-brand__link svg {
	width: 17px;
	height: 17px;
	flex: none;
}

.hw-brand .hw-brand__link:hover {
	gap: 16px;
}

.hw-brand .hw-brand__link--underline {
	color: var(--hw-color-ink);
	border-bottom: 1px solid var(--hw-brand-accent);
	padding-bottom: 9px;
}

.hw-brand.hw-brand--dark .hw-brand__link--underline {
	color: var(--hw-color-papier);
}

.hw-brand .hw-brand__link--solid {
	background: var(--hw-brand-accent);
	color: var(--hw-color-ivory);
	padding: 14px 24px;
	border-radius: 3px;
}

.hw-brand .hw-brand__link--outline {
	color: var(--hw-color-ink);
	border: 1px solid var(--hw-brand-line, var(--hw-color-line-2));
	padding: 13px 23px;
	border-radius: 3px;
}

.hw-brand.hw-brand--dark .hw-brand__link--outline {
	color: var(--hw-color-papier);
}

.hw-brand .hw-brand__link--outline:hover {
	background: var(--hw-brand-accent);
	border-color: var(--hw-brand-accent);
	color: var(--hw-color-ivory);
}

/* Klikateľný celý pás */
.hw-brand .hw-brand__link--stretched::after {
	content: "";
	position: absolute;
	inset: 0;
}

.hw-brand.hw-brand--clickable {
	transition: border-color 0.24s ease;
}

.hw-brand.hw-brand--clickable:hover {
	border-color: var(--hw-brand-accent);
}

/* --- Tablet: odkaz sa presunie pod text --- */
@media (max-width: 1024px) {
	.hw-brand {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"logo body"
			"logo action";
		align-content: center;
		row-gap: 20px;
	}

	.hw-brand .hw-brand__action {
		align-self: start;
	}

	.hw-brand .hw-brand__title {
		font-size: clamp(22px, 3.4vw, 32px);
	}
}

/* --- Mobil: jeden stĺpec --- */
@media (max-width: 640px) {
	.hw-brand {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"logo"
			"body"
			"action";
		row-gap: 20px;
	}

	.hw-brand.hw-brand--m-center {
		justify-items: center;
		text-align: center;
	}

	.hw-brand.hw-brand--m-center .hw-brand__text {
		margin-left: auto;
		margin-right: auto;
	}

	.hw-brand .hw-brand__action {
		width: 100%;
	}

	.hw-brand .hw-brand__link {
		width: 100%;
	}

	.hw-brand .hw-brand__link--underline {
		justify-content: space-between;
	}

	.hw-brand.hw-brand--m-center .hw-brand__link--underline {
		justify-content: center;
	}

	.hw-brand .hw-brand__title {
		font-size: clamp(21px, 6vw, 28px);
	}

	.hw-brand .hw-brand__text {
		font-size: 15px;
	}
}

/* =========================================================
   HW Rýchly kontakt — pätička (v1.35.0)
   ========================================================= */
.hw-fcontact {
	--hw-fc-gap: 14px;
	--hw-fc-size: 16px;
	--hw-fc-accent: var(--hw-color-brass-soft);
	--hw-fc-value: rgba(247, 243, 234, 0.88);
	--hw-icon-size: 17px;
	font-family: var(--hw-font-body);
	display: flex;
	flex-direction: column;
	gap: var(--hw-fc-gap);
	align-items: flex-start;
}

.hw-fcontact.hw-fcontact--on-light {
	--hw-fc-accent: var(--hw-color-brass);
	--hw-fc-value: var(--hw-color-ink);
}

.hw-fcontact.hw-fcontact--inline {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--hw-fc-gap) calc(var(--hw-fc-gap) * 2);
}

.hw-fcontact.hw-fcontact--divided {
	border-top: 1px solid rgba(247, 243, 234, 0.14);
	padding-top: clamp(18px, 2vw, 26px);
	margin-top: clamp(18px, 2vw, 26px);
	align-self: stretch;
}

.hw-fcontact.hw-fcontact--divided.hw-fcontact--on-light {
	border-top-color: var(--hw-color-line);
}

.hw-fcontact .hw-fcontact__item {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	transition: color 0.24s ease;
}

.hw-fcontact .hw-fcontact__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hw-fc-accent);
	transition: background 0.24s ease, border-color 0.24s ease, color 0.24s ease;
}

.hw-fcontact .hw-fcontact__icon svg {
	width: var(--hw-icon-size, 17px);
	height: var(--hw-icon-size, 17px);
	display: block;
}

.hw-fcontact .hw-fcontact__icon i {
	font-size: var(--hw-icon-size, 17px);
	line-height: 1;
	font-style: normal;
}

.hw-fcontact.hw-fcontact--icon-box .hw-fcontact__icon {
	width: calc(var(--hw-icon-size, 17px) * 2.2);
	height: calc(var(--hw-icon-size, 17px) * 2.2);
	border: 1px solid rgba(247, 243, 234, 0.22);
}

.hw-fcontact.hw-fcontact--icon-box.hw-fcontact--on-light .hw-fcontact__icon {
	border-color: var(--hw-color-line-2);
}

.hw-fcontact .hw-fcontact__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.hw-fcontact .hw-fcontact__label {
	font-family: var(--hw-font-sans);
	font-weight: 600;
	font-size: 10.5px;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hw-fc-accent);
	margin-bottom: 5px;
}

.hw-fcontact .hw-fcontact__value {
	font-size: var(--hw-fc-size, 16px);
	line-height: 1.25;
	color: var(--hw-fc-value);
	word-break: break-word;
}

.hw-fcontact a.hw-fcontact__item:hover .hw-fcontact__value {
	color: var(--hw-fc-accent);
}

.hw-fcontact.hw-fcontact--icon-box a.hw-fcontact__item:hover .hw-fcontact__icon {
	background: rgba(247, 243, 234, 0.08);
	border-color: var(--hw-fc-accent);
}

@media (max-width: 640px) {
	.hw-fcontact.hw-fcontact--inline {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* =========================================================
   Značkový pás — hover odkazu (v1.35.1)
   Bez explicitného pravidla preberal odkaz hover farbu z Elementor
   kitu / Blocksy (biela), čo na svetlom páse zmizlo.
   Dvojitá trieda kvôli špecificite.
   ========================================================= */
.hw-brand a.hw-brand__link.hw-brand__link--underline,
.hw-brand a.hw-brand__link.hw-brand__link--outline {
	color: var(--hw-color-ink);
}

.hw-brand a.hw-brand__link.hw-brand__link--underline:hover,
.hw-brand a.hw-brand__link.hw-brand__link--underline:focus-visible {
	color: var(--hw-brand-accent);
	border-bottom-color: var(--hw-brand-accent);
}

.hw-brand a.hw-brand__link.hw-brand__link--solid {
	color: var(--hw-color-ivory);
}

.hw-brand a.hw-brand__link.hw-brand__link--solid:hover,
.hw-brand a.hw-brand__link.hw-brand__link--solid:focus-visible {
	background: var(--hw-color-forest);
	color: var(--hw-color-papier);
}

.hw-brand a.hw-brand__link.hw-brand__link--outline:hover,
.hw-brand a.hw-brand__link.hw-brand__link--outline:focus-visible {
	background: var(--hw-brand-accent);
	border-color: var(--hw-brand-accent);
	color: var(--hw-color-ivory);
}

/* Na tmavom páse ostáva text papierový, hover ide do mosadze */
.hw-brand.hw-brand--dark a.hw-brand__link.hw-brand__link--underline,
.hw-brand.hw-brand--dark a.hw-brand__link.hw-brand__link--outline {
	color: var(--hw-color-papier);
}

.hw-brand.hw-brand--dark a.hw-brand__link.hw-brand__link--underline:hover,
.hw-brand.hw-brand--dark a.hw-brand__link.hw-brand__link--underline:focus-visible {
	color: var(--hw-color-brass-soft);
	border-bottom-color: var(--hw-color-brass-soft);
}

.hw-brand a.hw-brand__link:focus-visible {
	outline: 2px solid var(--hw-brand-accent);
	outline-offset: 3px;
}

/* =========================================================
   Letokruhy na mobile (v1.35.2)
   Menšie a bližšie ku stredu, aby z nich nebol vidieť len okraj.
   ========================================================= */
@media (max-width: 767px) {
	.hw-decor svg {
		width: var(--hw-decor-size, 420px);
	}

	/* Pás je na mobile nižší — kruhy posúvame k hornej hrane,
	   nech neprekrývajú tlačidlo */
	.hw-ctabox .hw-decor,
	.hw-ctab .hw-decor {
		top: 34%;
	}
}
