/**
 * Motyw Podłogi Outlet — główne style (mobile first).
 */

:root {
	--color-bg: #f4efe6;
	--color-bg-deep: #ebe4d6;
	--color-surface: #faf6ef;
	--color-surface-2: #f3ece1;
	--color-surface-warm: #e8dfd0;
	--color-elevated: #fffdf9;
	--color-text: #2f2c28;
	--color-text-muted: #6a645c;
	--color-line: rgba(47, 44, 40, 0.07);
	--color-line-strong: rgba(47, 44, 40, 0.11);
	--color-charcoal: #3a3632;
	--color-oak: #a67c52;
	--color-oak-light: #c9a87a;
	--color-oak-deep: #7d5c3d;
	--color-honey: #8b6f4a;
	--color-champagne: #ebe4d9;
	--color-accent: #5c5348;
	--color-pj: #004731;
	--color-warm-glow: rgba(201, 168, 122, 0.22);
	--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* Ceny i metraż — sans z wyrównanymi cyframi (czytelniejsze niż szeryf na liczbach). */
	--font-figures: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 1.5rem;
	--space-lg: 2.5rem;
	--space-xl: 4rem;
	--space-2xl: clamp(3.5rem, 8vw, 7rem);
	--radius-sm: 10px;
	--radius-md: 18px;
	--radius-lg: 24px;
	--shadow-soft: 0 24px 60px rgba(44, 41, 37, 0.08);
	--shadow-card: 0 4px 24px rgba(44, 41, 37, 0.06), 0 1px 3px rgba(44, 41, 37, 0.04);
	--shadow-float: 0 20px 50px rgba(44, 41, 37, 0.1);
	--header-h: 68px;
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--duration: 0.55s;
	/* Wejście sekcji (scroll) — dłuższy, „premium” easing */
	--reveal-section-duration: 0.9s;
	--reveal-section-ease: cubic-bezier(0.16, 1, 0.3, 1);
	/* Logo — lockup w menu; nadpisuje Customizer → Logo — rozmiar */
	--logo-header-max-h: 44px;
	--logo-header-max-w: 220px;
	--logo-header-mark: 38px;
	--logo-footer-max-h: 40px;
	--logo-footer-max-w: 200px;
	--logo-hero-max-h: 92px;
	--logo-hero-max-w: 360px;
	--logo-hero-mark: 112px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	font-synthesis: none;
	font-synthesis-weight: none;
	font-synthesis-style: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

body {
	margin: 0 0 0.2rem;
	font-family: var(--font-sans);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--color-text);
	background-color: var(--color-bg);
	background-image:
		radial-gradient(ellipse 120% 90% at 50% -20%, rgba(255, 252, 248, 0.98) 0%, transparent 55%),
		radial-gradient(ellipse 80% 50% at 100% 0%, var(--color-warm-glow), transparent 50%),
		radial-gradient(ellipse 70% 45% at 0% 100%, rgba(232, 223, 208, 0.75), transparent 50%),
		linear-gradient(180deg, #fbf8f2 0%, var(--color-bg) 38%, #efe8dc 100%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-synthesis: none;
}

@media (max-width: 767px) {
	body {
		background-attachment: scroll;
		background-image: linear-gradient(180deg, #fbf8f2 0%, var(--color-bg) 45%, #efe8dc 100%);
	}

	.site-header {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

a {
	color: var(--color-oak-deep);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color 0.2s var(--ease-out), opacity 0.2s;
}

a:hover {
	color: var(--color-oak);
}

.skip-link:focus {
	position: fixed;
	top: var(--space-sm);
	left: var(--space-sm);
	z-index: 1000;
	padding: 0.75rem 1rem;
	background: var(--color-charcoal);
	color: var(--color-bg);
	clip: auto;
	width: auto;
	height: auto;
	margin: 0 0 0.45rem;
	overflow: visible;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.container {
	width: min(1120px, 100% - 2 * var(--space-md));
	margin-inline: auto;
}

.container.narrow {
	width: min(760px, 100% - 2 * var(--space-md));
}

.center {
	text-align: center;
}

.sr-only,
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ——— Nagłówek ——— */
.site-header {
	position: sticky;
	top: 0;
	z-index: 900;
	height: var(--header-h);
	border-bottom: 1px solid transparent;
	border-bottom-color: rgba(
		calc(201 + (47 - 201) * var(--header-progress, 0)),
		calc(168 + (44 - 168) * var(--header-progress, 0)),
		calc(122 + (40 - 122) * var(--header-progress, 0)),
		calc(0.14 - 0.07 * var(--header-progress, 0))
	);
	background: linear-gradient(
		180deg,
		rgba(255, 254, 252, calc(0.99 - 0.51 * var(--header-progress, 0))) 0%,
		rgba(252, 248, 240, calc(0.98 - 0.5 * var(--header-progress, 0))) 42%,
		rgba(248, 242, 232, calc(0.97 - 0.49 * var(--header-progress, 0))) 100%
	);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, calc(0.75 * (1 - var(--header-progress, 0)))),
		0 calc(12px - 2px * var(--header-progress, 0)) calc(40px - 4px * var(--header-progress, 0))
			rgba(44, 41, 37, calc(0.05 + 0.02 * var(--header-progress, 0)));
	backdrop-filter: blur(calc(12px + 10px * var(--header-progress, 0)))
		saturate(calc(1.12 + 0.1 * var(--header-progress, 0)));
	-webkit-backdrop-filter: blur(calc(12px + 10px * var(--header-progress, 0)))
		saturate(calc(1.12 + 0.1 * var(--header-progress, 0)));
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(var(--space-md) * (1 - 0.12 * var(--header-progress, 0)));
	height: 100%;
	width: min(1200px, 100% - 2 * var(--space-md));
	margin-inline: auto;
}

.site-branding {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.site-branding--lockup {
	flex-shrink: 0;
}

.site-branding .custom-logo-link {
	display: flex;
	align-items: center;
	line-height: 0;
}

.site-branding .custom-logo {
	max-height: calc(var(--logo-header-max-h) - 2px * var(--header-progress, 0));
	max-width: var(--logo-header-max-w);
	width: auto;
	height: auto;
	object-fit: contain;
}

.site-title {
	font-family: var(--font-serif);
	font-size: calc(0.92rem + 0.12rem * (1 - var(--header-progress, 0)));
	font-weight: 500;
	letter-spacing: calc(0.04em + 0.01em * var(--header-progress, 0));
	text-transform: uppercase;
	color: var(--color-text);
	text-decoration: none;
}

.site-title:hover {
	color: var(--color-oak);
}

.site-tagline {
	margin: 0;
	font-size: calc(0.58rem + 0.05rem * (1 - var(--header-progress, 0)));
	color: var(--color-text-muted);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: calc(1 - 0.18 * var(--header-progress, 0));
}

/* ——— Menu (desktop inline, mobile dropdown) ——— */
.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 0.3rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.nav-toggle__bars {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
}

.nav-toggle__bars span {
	position: absolute;
	left: 0;
	width: 22px;
	height: 1.5px;
	background: var(--color-charcoal);
	border-radius: 1px;
	transform-origin: center;
	transition:
		top 0.34s var(--ease-out),
		transform 0.34s var(--ease-out),
		opacity 0.2s ease,
		background 0.2s ease;
}

.nav-toggle__bars span:nth-child(1) {
	top: 5px;
}

.nav-toggle__bars span:nth-child(2) {
	top: 10.25px;
}

.nav-toggle__bars span:nth-child(3) {
	top: 15.5px;
}

.site-header.is-open .nav-toggle__bars span:nth-child(1),
.site-header.is-open .nav-toggle__bars span:nth-child(3) {
	top: 10.25px;
}

.site-header.is-open .nav-toggle__bars span:nth-child(1) {
	transform: rotate(45deg);
}

.site-header.is-open .nav-toggle__bars span:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.site-header.is-open .nav-toggle__bars span:nth-child(3) {
	transform: rotate(-45deg);
}

.site-nav {
	display: flex;
	align-items: center;
}

.site-nav__overlay,
.site-nav__drawer-head,
.site-nav__drawer-foot,
.site-nav__drawer-intro,
.site-nav__close {
	display: none;
}

.site-nav__drawer {
	display: flex;
	align-items: center;
}

.site-nav__drawer-menu {
	display: flex;
	align-items: center;
}

.site-header__cta--desktop {
	display: inline-flex;
}

.site-header__kontakt.btn--primary {
	flex-shrink: 0;
	min-height: 2.45rem;
	padding: 0.5rem 1.15rem;
	font-family: var(--font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fffdfb;
	background: var(--color-pj);
	border: 1px solid rgba(0, 71, 49, 0.45);
	box-shadow: 0 2px 12px rgba(0, 71, 49, 0.28);
}

.site-header__kontakt.btn--primary:hover,
.site-header__kontakt.btn--primary:focus-visible {
	color: #fffdfb;
	background: #003d2a;
	border-color: rgba(0, 71, 49, 0.65);
	box-shadow: 0 4px 16px rgba(0, 71, 49, 0.34);
}

.site-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: calc(0.25rem - 0.05rem * var(--header-progress, 0))
		calc(1.5rem - 0.35rem * var(--header-progress, 0));
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav__list > li,
.site-nav__list .menu-item {
	margin: 0;
}

.site-nav__link {
	font-size: calc(0.72rem + 0.05rem * (1 - var(--header-progress, 0)));
	font-weight: 500;
	letter-spacing: calc(0.06em + 0.005em * var(--header-progress, 0));
	text-transform: uppercase;
	color: var(--color-text-muted);
	text-decoration: none;
	position: relative;
	transition: color 0.25s var(--ease-out);
}

.site-nav__link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--color-oak), var(--color-oak-light));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s var(--ease-out);
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
	color: var(--color-text);
}

.site-nav__link-main {
	display: inline;
}

.site-nav__link-hint {
	display: none;
}

.site-nav__link:hover::after,
.site-nav__link:focus-visible::after {
	transform: scaleX(1);
}

.site-header__cta {
	white-space: nowrap;
	font-size: calc(0.7rem + 0.03rem * (1 - var(--header-progress, 0)));
	padding: calc(0.38rem + 0.06rem * (1 - var(--header-progress, 0)))
		calc(0.72rem + 0.1rem * (1 - var(--header-progress, 0)));
	transition: border-color 0.25s, color 0.25s, background 0.25s;
}

@media (max-width: 900px) {
	.site-header__inner {
		justify-content: space-between;
		gap: 0.75rem;
	}

	.site-branding--lockup {
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
	}

	.brand-logo--lockup {
		gap: 0.5rem;
		max-width: min(200px, 62vw);
	}

	.brand-logo__mark {
		width: 32px;
		height: 32px;
	}

	.brand-logo__name {
		font-size: 0.78rem;
		letter-spacing: 0.1em;
	}

	.brand-logo__sub {
		font-size: 0.52rem;
		letter-spacing: 0.22em;
	}

	.site-header__cta--desktop {
		display: none !important;
	}

	.site-header__kontakt.btn--primary {
		order: 2;
		margin-left: auto;
		margin-right: 0.35rem;
		min-height: 2.15rem;
		padding: 0.42rem 0.85rem;
		font-size: 0.66rem;
		letter-spacing: 0.12em;
	}

	.nav-toggle {
		order: 3;
		display: inline-flex;
		flex-shrink: 0;
		margin-left: auto;
		position: relative;
		z-index: 1002;
	}

	.site-header.is-open .nav-toggle__bars span {
		background: var(--color-oak-deep);
	}

	.site-nav {
		position: fixed;
		top: calc(var(--header-h) + env(safe-area-inset-top, 0px));
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1001;
		display: block;
		visibility: hidden;
		pointer-events: none;
	}

	.site-header.is-open .site-nav {
		visibility: visible;
		pointer-events: auto;
	}

	.site-nav__overlay {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 1;
		margin: 0;
		padding: 0;
		border: 0;
		background: rgba(20, 18, 16, 0.22);
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
		cursor: pointer;
		opacity: 0;
		transition: opacity 0.28s var(--ease-out);
	}

	.site-header.is-open .site-nav__overlay {
		opacity: 1;
	}

	.site-nav__drawer {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: none;
		max-height: none;
		background: linear-gradient(180deg, #fffdf9 0%, #f7f1e8 100%);
		border-bottom: 1px solid rgba(74, 69, 64, 0.08);
		box-shadow: 0 10px 28px rgba(44, 41, 37, 0.08);
		transform: translateY(calc(-100% - 1px));
		transition: transform 0.36s var(--ease-out);
		overflow: visible;
	}

	.site-header.is-open .site-nav__drawer {
		transform: translateY(0);
	}

	.site-nav__drawer-intro {
		display: block;
		flex-shrink: 0;
		padding: 0.75rem 1.35rem 0.55rem;
		border-bottom: 1px solid rgba(74, 69, 64, 0.06);
	}

	.site-nav__intro-eyebrow {
		margin: 0 0 0.2rem;
		font-size: 0.54rem;
		font-weight: 600;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: rgba(125, 92, 61, 0.58);
	}

	.site-nav__intro-title {
		margin: 0;
		font-family: var(--font-serif);
		font-size: 1.12rem;
		font-weight: 500;
		line-height: 1.2;
		color: var(--color-charcoal);
	}

	.site-nav__drawer-menu {
		display: block;
		flex: 0 0 auto;
		overflow: visible;
		padding: 0.2rem 1.35rem 0.35rem;
	}

	.site-nav__drawer-menu .site-nav__list {
		counter-reset: mpo-nav;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.site-nav__list > li,
	.site-nav__list .menu-item {
		margin: 0;
		counter-increment: mpo-nav;
	}

	.site-nav__link {
		display: flex;
		align-items: flex-start;
		gap: 0.7rem;
		width: 100%;
		min-height: 0;
		padding: 0.58rem 0;
		font-family: var(--font-serif);
		font-size: 1.05rem;
		font-weight: 500;
		letter-spacing: 0.01em;
		line-height: 1.2;
		text-transform: none;
		color: rgba(44, 41, 37, 0.9);
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(74, 69, 64, 0.06);
		border-radius: 0;
		box-shadow: none;
		transition: color 0.2s var(--ease-out), background 0.2s var(--ease-out);
		-webkit-tap-highlight-color: transparent;
	}

	.site-nav__link::before {
		content: counter(mpo-nav, decimal-leading-zero);
		flex-shrink: 0;
		min-width: 1.25rem;
		margin-top: 0.12rem;
		font-family: var(--font-sans);
		font-size: 0.6rem;
		font-weight: 600;
		letter-spacing: 0.08em;
		line-height: 1.3;
		color: rgba(125, 92, 61, 0.48);
	}

	.site-nav__link-main {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.08rem;
		min-width: 0;
		flex: 1;
	}

	.site-nav__link-label {
		font-size: 1.02rem;
		line-height: 1.2;
	}

	.site-nav__link-hint {
		display: block;
		font-family: var(--font-sans);
		font-size: 0.66rem;
		font-weight: 400;
		line-height: 1.25;
		letter-spacing: 0;
		color: rgba(74, 69, 64, 0.5);
	}

	.site-nav__link::after {
		content: none;
	}

	.site-nav__link.is-current::before {
		color: var(--color-oak-deep);
	}

	.site-nav__list > li:last-child .site-nav__link,
	.site-nav__list .menu-item:last-child .site-nav__link,
	.site-nav__list > li:last-child > a,
	.site-nav__list .menu-item:last-child > a {
		border-bottom: 0;
	}

	.site-nav__link:hover,
	.site-nav__link:focus-visible {
		color: var(--color-charcoal);
	}

	.site-nav__link.is-current {
		color: var(--color-charcoal);
		background: rgba(248, 242, 232, 0.45);
		margin: 0 -0.35rem;
		padding-left: 0.35rem;
		padding-right: 0.35rem;
		border-radius: 6px;
		border-bottom-color: transparent;
	}

	.site-nav__link:active {
		opacity: 1;
		background: rgba(248, 242, 232, 0.65);
		margin: 0 -0.35rem;
		padding-left: 0.35rem;
		padding-right: 0.35rem;
		border-radius: 6px;
	}

	.site-nav__list > li .site-nav__link,
	.site-nav__list .menu-item > a {
		cursor: pointer;
	}

	#hero,
	#produkty,
	#realizacje,
	#dlaczego-warto,
	#kontakt {
		scroll-margin-top: calc(var(--header-h, 68px) + 14px);
	}

	.site-nav__drawer-foot {
		display: block;
		flex-shrink: 0;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 0 0 calc(env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(74, 69, 64, 0.08);
		background: rgba(247, 241, 232, 0.95);
	}

	.site-nav__foot-label {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 0.7rem 1.25rem 0.45rem;
		font-size: 0.54rem;
		font-weight: 600;
		letter-spacing: 0.22em;
		text-transform: uppercase;
		color: rgba(125, 92, 61, 0.55);
		text-align: left;
	}

	.site-nav__foot-call {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 0.8rem 1.25rem;
		text-align: center;
		text-decoration: none;
		color: #fffdf9;
		background: linear-gradient(135deg, #3a3632 0%, #2a2724 100%);
		border: 0;
		border-radius: 0;
		box-shadow: none;
		transition: background 0.2s var(--ease-out), opacity 0.2s var(--ease-out);
		-webkit-tap-highlight-color: transparent;
	}

	.site-nav__foot-call:hover,
	.site-nav__foot-call:focus-visible {
		color: #fffdf9;
		background: linear-gradient(135deg, #45403b 0%, #322f2b 100%);
	}

	.site-nav__foot-call:active {
		opacity: 0.92;
	}

	.site-nav__foot-call-text {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.2rem;
	}

	.site-nav__foot-call-label {
		display: block;
		font-family: var(--font-sans);
		font-size: 0.65rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: none;
		color: rgba(255, 253, 250, 0.82);
		line-height: 1.2;
	}

	.site-nav__foot-call-number {
		display: block;
		font-family: var(--font-sans);
		font-size: 1.05rem;
		font-weight: 600;
		letter-spacing: 0.05em;
		font-variant-numeric: tabular-nums;
		color: #fffdf9;
		line-height: 1.2;
		white-space: nowrap;
	}

	.site-nav__foot-link {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0;
		padding: 0.7rem 1.25rem 0.75rem;
		font-size: 0.66rem;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		text-align: center;
		color: rgba(74, 69, 64, 0.55);
		text-decoration: none;
		border-top: 1px solid rgba(74, 69, 64, 0.06);
		background: rgba(255, 253, 250, 0.65);
		transition: color 0.2s var(--ease-out), background 0.2s var(--ease-out);
	}

	.site-nav__foot-link:hover,
	.site-nav__foot-link:focus-visible {
		color: var(--color-oak-deep);
	}

	@media (max-height: 620px) {
		.site-nav__intro-eyebrow,
		.site-nav__link-hint {
			display: none;
		}

		.site-nav__drawer-intro {
			padding-bottom: 0.4rem;
		}

		.site-nav__link {
			padding: 0.5rem 0;
		}
	}
}


@media (min-width: 901px) {
	.site-nav {
		margin-left: auto;
	}

	.site-header__kontakt {
		margin-left: 0.65rem;
	}

	.site-nav__overlay,
	.site-nav__drawer-head,
	.site-nav__drawer-foot,
.site-nav__drawer-intro,
	.site-nav__drawer-intro,
	.site-nav__close {
		display: none !important;
	}

	.site-nav__link-main {
		display: inline;
	}

	.site-nav__link-hint {
		display: none;
	}

	.site-nav__link-label {
		display: inline;
	}

	.site-nav__drawer {
		display: contents;
	}

	.site-nav__drawer-menu {
		display: contents;
	}
}

body.mpo-nav-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.nav-toggle__bars span,
	.site-nav__overlay,
	.site-nav__drawer {
		transition: none;
	}
}

/* ——— Przyciski ——— */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.35rem;
	font-family: var(--font-sans);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 999px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.25s var(--ease-out), box-shadow 0.25s, background 0.25s, border-color 0.25s, color 0.25s;
}

.btn:hover {
	transform: translateY(-1px);
}

.btn:active {
	transform: translateY(0);
}

.btn--primary {
	background: var(--color-charcoal);
	color: #fff;
	box-shadow: var(--shadow-card);
}

.btn--primary:hover {
	color: #fff;
	background: #4a4540;
	box-shadow: var(--shadow-float);
}

.btn--secondary {
	background: var(--color-elevated);
	border-color: rgba(166, 124, 82, 0.45);
	color: var(--color-charcoal);
	box-shadow: var(--shadow-card);
}

.btn--secondary:hover {
	border-color: var(--color-oak);
	color: var(--color-oak-deep);
	background: #fffdf9;
	box-shadow: var(--shadow-float);
}

.btn--ghost {
	background: rgba(255, 255, 255, 0.9);
	border-color: var(--color-line-strong);
	color: var(--color-text);
}

.btn--ghost:hover {
	border-color: var(--color-oak);
	color: var(--color-oak-deep);
}

.btn--lg {
	padding: 1rem 1.75rem;
	font-size: 0.9rem;
}

.btn--block {
	width: 100%;
}

.btn--sm {
	padding: 0.45rem 0.9rem;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
}

#hero {
	scroll-margin-top: calc(var(--header-h) + 12px);
}

/* ——— Hero — pełna szerokość, rozmyte tło, link dystrybutora (tekst) ——— */
.hero--lux {
	--lux-ink: #faf9f6;
	--lux-muted: rgba(250, 248, 244, 0.88);
	--lux-line: rgba(255, 255, 255, 0.22);
	--lux-accent: #d4c4a4;
	--lux-panel: #141210;
	--color-pj-hero: #b8e8d0;
	--color-pj-hero-strong: #e2f8ec;
	--color-pj-hero-glow: rgba(120, 210, 165, 0.45);

	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	min-height: 100svh;
	margin-top: calc(-1 * var(--header-h));
	padding-top: calc(var(--header-h) + env(safe-area-inset-top, 0px));
	display: flex;
	flex-direction: column;
	align-items: stretch;
	overflow: clip;
	color: var(--lux-ink);
	background: var(--lux-panel);
}

.hero-lux__backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.hero-lux__backdrop-blur {
	position: absolute;
	inset: 0;
	overflow: hidden;
	filter: blur(6px) saturate(1.03);
	transform: scale(1.04);
	opacity: 0.92;
}

.hero-lux__backdrop-img {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media (max-width: 767px) {
	.hero-lux__backdrop-blur {
		inset: 0;
		filter: none;
		transform: none;
		opacity: 1;
	}

	.hero-lux__backdrop-img {
		object-position: center center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-lux__backdrop-blur {
		filter: none;
		transform: none;
		inset: 0;
		opacity: 1;
	}
}

/* Hero above the fold — bez czekania na JS (reveal) */
#hero .reveal,
.hero-lux__inner > .reveal {
	opacity: 1;
	transform: none;
}

.hero-lux__backdrop-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(10, 9, 8, 0.5) 0%,
		rgba(8, 7, 6, 0.58) 42%,
		rgba(5, 4, 4, 0.68) 100%
	);
}

.hero-lux__inner {
	position: relative;
	z-index: 1;
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	max-width: min(62rem, 100%);
	margin-inline: auto;
	row-gap: clamp(0.7rem, 1.8vh, 1.2rem);
	padding: clamp(0.9rem, 2.4vh, 1.7rem) clamp(1.2rem, 5.2vw, 3rem) clamp(1.6rem, 3.4vh, 2.4rem);
}

.hero-lux__partner {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	max-width: min(56rem, 100%);
	width: auto;
	text-decoration: none;
	color: inherit;
	transition:
		border-color 0.25s var(--ease-out),
		background 0.25s var(--ease-out),
		box-shadow 0.25s var(--ease-out),
		transform 0.25s var(--ease-out);
}

/* Link dystrybutora — premium, minimal (cieńka linia, bez „pastylki”) */
.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min {
	margin: 0;
	padding: 0.5rem 0.25rem 0.65rem;
	border-radius: 0;
	border: none;
	border-bottom: 1px solid rgba(212, 196, 164, 0.22);
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
	max-width: min(48rem, 100%);
	transition:
		border-color 0.35s var(--ease-out),
		color 0.35s var(--ease-out),
		opacity 0.35s var(--ease-out);
}

.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min:hover,
.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min:focus-visible {
	border-bottom-color: rgba(212, 196, 164, 0.48);
	background: transparent;
	box-shadow: none;
	transform: none;
}

.hero-lux__partner--text-only.hero-lux__partner--lux-min .hero-lux__partner-eyebrow .hero-lux__pj-name--partner {
	color: var(--color-pj-hero-strong);
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.hero-lux__partner--text-only.hero-lux__partner--lux-min .hero-lux__partner-eyebrow {
	display: block;
	margin: 0;
	max-width: 48rem;
	font-family: var(--font-serif);
	font-size: clamp(0.6rem, calc(0.44rem + 0.9vw), 0.72rem);
	font-weight: 400;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	line-height: 1.5;
	text-align: center;
	text-wrap: balance;
	color: rgba(250, 249, 246, 0.62);
	text-shadow: none;
}

.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min:hover .hero-lux__partner-eyebrow,
.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min:focus-visible .hero-lux__partner-eyebrow {
	color: rgba(250, 249, 246, 0.9);
}

.hero-lux__partner--lux-min:focus-visible {
	outline: 1px solid rgba(212, 196, 164, 0.45);
	outline-offset: 8px;
	border-bottom-color: rgba(212, 196, 164, 0.55);
	box-shadow: none;
	border-radius: 0;
}

.hero-lux__display {
	margin: 0;
	padding: 0;
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.35);
}

.hero-lux__display-line {
	display: block;
}

.hero-lux__display-line--ink {
	font-size: clamp(2.75rem, calc(0.78rem + 9.5vw), 7.1rem);
	color: #fff;
}

.hero-lux__display-line--accent {
	margin-top: 0.055em;
	font-size: clamp(2.28rem, calc(0.52rem + 7.75vw), 5.55rem);
	font-weight: 500;
	color: var(--lux-accent);
	letter-spacing: -0.01em;
}

.hero-lux__caps {
	margin: 0;
	max-width: 40rem;
	font-family: var(--font-sans);
	font-size: clamp(0.72rem, calc(0.52rem + 1.4vw), 1rem);
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	line-height: 1.58;
	color: var(--lux-muted);
}

.hero-lux__outlet {
	margin: 0;
	max-width: 48rem;
}

.hero-lux__outlet-word {
	margin: 0 0 0.52rem;
	font-family: var(--font-serif);
	font-size: clamp(1.48rem, calc(0.6rem + 3.25vw), 2.55rem);
	font-weight: 500;
	letter-spacing: 0.23em;
	text-transform: uppercase;
	color: var(--lux-ink);
}

.hero-lux__outlet-desc {
	margin: 0;
	font-family: var(--font-sans);
	font-size: clamp(1.02rem, calc(0.58rem + 1.4vw), 1.28rem);
	font-weight: 400;
	line-height: 1.64;
	color: var(--lux-muted);
}

.hero-lux__gold {
	color: #fff;
	font-weight: 600;
	border-bottom: 1px solid rgba(212, 196, 164, 0.55);
	padding-bottom: 0.05em;
}

.hero-lux__ctas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.08rem 2.25rem;
	margin: 0;
}

.hero--lux .btn.btn--lux-primary {
	padding: 1.05rem 2.28rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.23em;
	text-transform: uppercase;
	border-radius: 0;
	background: #faf9f6;
	border: 1px solid #faf9f6;
	color: #141210;
	box-shadow: none;
	transition: background 0.25s var(--ease-out), color 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.hero--lux .btn.btn--lux-primary:hover {
	background: transparent;
	color: #faf9f6;
	border-color: rgba(250, 249, 246, 0.85);
	transform: none;
	box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
	.hero--lux .btn.btn--lux-primary:hover {
		transform: none;
	}
}

.hero--lux .btn.btn--lux-primary:focus-visible {
	outline: 2px solid var(--lux-accent);
	outline-offset: 3px;
}

.hero--lux .btn.btn--lux-secondary {
	padding: 1.05rem 2.28rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.23em;
	text-transform: uppercase;
	border-radius: 0;
	background: transparent;
	border: 1px solid rgba(250, 249, 246, 0.72);
	color: #faf9f6;
	box-shadow: none;
	transition:
		background 0.25s var(--ease-out),
		color 0.25s var(--ease-out),
		border-color 0.25s var(--ease-out);
}

.hero--lux .btn.btn--lux-secondary:hover {
	background: rgba(250, 249, 246, 0.14);
	color: #fff;
	border-color: #faf9f6;
	transform: none;
	box-shadow: none;
}

.hero--lux .btn.btn--lux-secondary:focus-visible {
	outline: 2px solid var(--lux-accent);
	outline-offset: 3px;
}

.hero-lux__cta-link {
	font-family: var(--font-sans);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(250, 249, 246, 0.92);
	border-bottom: 1px solid rgba(250, 249, 246, 0.45);
	padding-bottom: 0.15em;
	transition: color 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}

.hero-lux__cta-link:hover {
	color: var(--lux-accent);
	border-bottom-color: var(--lux-accent);
}

.hero-lux__facts {
	list-style: none;
	margin: 0;
	padding: clamp(0.68rem, 1.65vh, 1.05rem) 0 0;
	border-top: 1px solid var(--lux-line);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.68rem 0.55rem;
	width: 100%;
}

.hero-lux__fact {
	font-family: var(--font-sans);
	font-size: clamp(0.7rem, calc(0.52rem + 1.1vw), 0.86rem);
	font-weight: 500;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	line-height: 1.48;
	color: var(--lux-muted);
}

@media (min-width: 640px) {
	.hero-lux__fact:not(:last-child) {
		padding-right: 1.75rem;
		margin-right: 1.75rem;
		border-right: 1px solid var(--lux-line);
	}
}

@media (max-width: 639px) {
	.hero--compact.hero--lux {
		--hero-content-scale: 0.9;
		--hero-content-gutter: clamp(0.85rem, 4vw, 1.35rem);
	}

	.hero--compact .hero-lux__ctas {
		grid-template-columns: 1fr;
		max-width: min(20rem, 100%);
	}

	.hero--compact .hero-lux__stack {
		--hero-optical-shift-x: 0.4rem;
	}

	.hero-lux__fact {
		flex: 1 1 45%;
		min-width: 10rem;
	}
}

/* Bardzo niski viewport — dociśnięcie, żeby zmieścić hero */
@media (max-height: 620px) {
	.hero--compact.hero--lux {
		--hero-content-scale: 0.88;
	}

	.hero--compact .hero-lux__stack {
		row-gap: clamp(0.25rem, 1vh, 0.55rem);
	}

	.hero--compact .hero-lux__inner {
		padding-top: clamp(0.35rem, 1vh, 0.65rem);
		padding-bottom: clamp(0.45rem, 1.2vh, 0.75rem);
	}

	.brand-logo--hero .brand-logo__mark {
		width: calc(var(--logo-hero-mark) * 0.82);
		height: calc(var(--logo-hero-mark) * 0.82);
	}

	.brand-logo--hero .brand-logo__name {
		font-size: clamp(0.92rem, 2.2vw, 1.05rem);
	}

	.hero-lux__display-line--ink {
		font-size: clamp(2rem, calc(0.75rem + 7vw), 4.25rem);
	}

	.hero-lux__display-line--accent {
		font-size: clamp(1.65rem, calc(0.5rem + 5.5vw), 3.35rem);
	}

	.hero-lux__outlet-desc {
		line-height: 1.42;
	}

	.hero-lux__partner--minimal.hero-lux__partner--text-only.hero-lux__partner--lux-min {
		padding: 0.35rem 0.15rem 0.5rem;
	}
}

/* ——— Sekcje ——— */
.section {
	padding-block: var(--section-space, clamp(2rem, 4vw, 2.8rem));
}

.section[id] {
	scroll-margin-top: calc(var(--header-h) + 12px);
}

.site-main > .section:first-of-type {
	padding-top: calc(var(--section-space, clamp(2rem, 4vw, 2.8rem)) + 4px);
}

.section--worth.section--worth-min {
	background: linear-gradient(
		180deg,
		var(--color-bg) 0%,
		rgba(252, 250, 246, 0.55) 42%,
		var(--color-bg) 100%
	);
}

/* ——— Dlaczego warto — minimal + UX ——— */
.worth-min {
	width: min(36rem, 100% - 2 * var(--space-md));
	margin-inline: auto;
	text-align: center;
}

.worth-min--ux {
	width: min(46rem, 100% - 2 * var(--space-md));
}

.worth-min__head {
	margin-bottom: clamp(1.65rem, 3vw, 2.35rem);
}

.worth-min__eyebrow {
	margin: 0 0 0.8rem;
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.35);
}

.worth-min__rule {
	display: block;
	width: 2.65rem;
	height: 1px;
	margin: 0 auto 1.2rem;
	background: linear-gradient(90deg, rgba(166, 124, 82, 0.5), rgba(201, 168, 122, 0.12) 100%);
}

.worth-min__title {
	margin: 0 0 0.95rem;
	font-family: var(--font-serif);
	font-size: clamp(1.45rem, 2.85vw, 2.05rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: rgba(42, 39, 36, 0.94);
	text-wrap: balance;
}

.worth-min__lede {
	margin: 0 auto;
	max-width: 42ch;
	font-size: 0.96rem;
	line-height: 1.65;
	color: var(--color-text-muted);
}

.worth-min__spotlight {
	margin: clamp(1.5rem, 2.8vw, 2rem) 0 clamp(1.35rem, 2.4vw, 1.85rem);
	display: flex;
	justify-content: center;
}

.worth-min__metric {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	padding: 1rem 1.5rem 1.1rem;
	border-radius: 0.75rem;
	border: 1px solid rgba(74, 69, 64, 0.1);
	background: rgba(255, 255, 255, 0.65);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 12px 36px rgba(44, 40, 36, 0.05);
	max-width: 100%;
}

.worth-min__metric-value {
	font-family: var(--font-serif);
	font-size: clamp(2.05rem, 4.2vw, 2.75rem);
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
	color: rgba(42, 39, 36, 0.94);
}

.worth-min__metric-label {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.4);
	text-align: center;
	max-width: 32ch;
	line-height: 1.45;
}

.worth-min__list-shell {
	border: 1px solid rgba(74, 69, 64, 0.08);
	border-radius: 0.85rem;
	background: rgba(255, 255, 255, 0.5);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
	padding: 0.35rem 0.4rem;
	margin: 0 auto;
	text-align: left;
}

.worth-min__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.worth-min__item {
	position: relative;
}

.worth-min__item + .worth-min__item .worth-min__item-inner {
	border-top: 1px solid rgba(74, 69, 64, 0.07);
}

.worth-min__item-inner {
	position: relative;
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 0.75rem 1rem;
	align-items: start;
	padding: 1.2rem 1rem 1.2rem 0.75rem;
	border-radius: 0.5rem;
	box-shadow: inset 0 0 0 0 rgba(166, 124, 82, 0);
	transition:
		background 0.22s var(--ease-out),
		box-shadow 0.22s var(--ease-out);
}

@media (hover: hover) {
	.worth-min__item-inner:hover {
		background: rgba(255, 255, 255, 0.88);
		box-shadow: inset 3px 0 0 0 rgba(166, 124, 82, 0.82);
	}
}

.worth-min__item-idx {
	display: block;
	padding-top: 0.22rem;
	font-family: var(--font-serif);
	font-size: 0.92rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	color: rgba(166, 124, 82, 0.45);
	text-align: right;
	line-height: 1.2;
}

.worth-min__item-copy {
	min-width: 0;
}

.worth-min__item-title {
	margin: 0 0 0.38rem;
	font-family: var(--font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(42, 39, 36, 0.58);
}

.worth-min__item-text {
	margin: 0;
	font-size: 0.93rem;
	line-height: 1.62;
	color: var(--color-text-muted);
}

.worth-min__item.reveal:nth-child(1) {
	--delay: 0.04s;
}

.worth-min__item.reveal:nth-child(2) {
	--delay: 0.08s;
}

.worth-min__item.reveal:nth-child(3) {
	--delay: 0.12s;
}

.worth-min__item.reveal:nth-child(4) {
	--delay: 0.16s;
}

.worth-min__item.reveal:nth-child(5) {
	--delay: 0.2s;
}

.worth-min__item.reveal:nth-child(6) {
	--delay: 0.24s;
}

.worth-min__item.reveal:nth-child(7) {
	--delay: 0.28s;
}

@media (prefers-reduced-motion: reduce) {
	.worth-min__item-inner {
		transition: none;
	}
}

.worth-min__fine {
	margin: 1.5rem auto 0;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(74, 69, 64, 0.06);
	font-size: 0.76rem;
	line-height: 1.58;
	color: rgba(74, 69, 64, 0.4);
	text-align: center;
	max-width: 48ch;
}

.worth-min__nav {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.95rem;
	margin-top: 2rem;
	max-width: 20.5rem;
	margin-left: auto;
	margin-right: auto;
}

.worth-min__btn {
	min-height: 3.05rem;
	justify-content: center;
}

.worth-min__link {
	display: block;
	text-align: center;
	font-size: 0.86rem;
	font-weight: 600;
	color: rgba(125, 92, 61, 0.95);
	text-decoration: none;
	padding: 0.62rem 0.55rem;
	border-radius: 0.35rem;
	transition: color 0.18s ease, background 0.18s ease;
}

.worth-min__link:hover {
	color: rgba(42, 39, 36, 0.92);
	background: rgba(74, 69, 64, 0.04);
}

.worth-min__link:focus-visible {
	outline: 2px solid rgba(166, 124, 82, 0.45);
	outline-offset: 2px;
}

@media (min-width: 480px) {
	.worth-min__nav {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		max-width: none;
		gap: 1rem 1.25rem;
	}

	.worth-min__btn {
		min-width: 12.75rem;
		width: auto;
	}

.worth-min__link {
		display: inline-block;
		padding: 0.62rem 0.45rem;
	}
}

.worth-min__learn {
	margin: clamp(1.5rem, 3.5vw, 2.25rem) auto 0;
	text-align: center;
	max-width: 28rem;
}

.worth-min__learn-link {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	padding: 1rem 1.25rem;
	text-decoration: none;
	color: var(--color-charcoal);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line-strong);
	background: linear-gradient(180deg, var(--color-elevated) 0%, rgba(201, 168, 122, 0.1) 100%);
	box-shadow: var(--shadow-card);
	transition: border-color 0.25s var(--ease-out), box-shadow 0.3s var(--ease-out), transform 0.25s var(--ease-out);
}

.worth-min__learn-link:hover {
	border-color: rgba(166, 124, 82, 0.45);
	box-shadow: var(--shadow-float);
	transform: translateY(-2px);
}

.worth-min__learn-link:focus-visible {
	outline: 2px solid rgba(166, 124, 82, 0.55);
	outline-offset: 3px;
}

.worth-min__learn-kicker {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-oak-deep);
}

.worth-min__learn-sub {
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--color-text-muted);
}

.section--gallery {
	background: var(--color-bg);
}

.section--faq {
	background: var(--color-surface);
}

.section--contact {
	background: linear-gradient(180deg, var(--color-champagne) 0%, #f5f0e8 100%);
}

.section--dark {
	background: linear-gradient(180deg, var(--color-champagne) 0%, var(--color-bg-deep) 100%);
}

.section--muted {
	background: linear-gradient(180deg, #f5f2ec 0%, #ebe6de 100%);
}

.section--catalog {
	position: relative;
	background: var(--color-bg);
}

.section--catalog::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.55;
	background-image: radial-gradient(circle at 50% 0%, rgba(201, 168, 122, 0.06) 0%, transparent 55%);
}

.section--catalog > .container {
	position: relative;
	z-index: 1;
}

.section--process {
	background: var(--color-surface);
	border-block: 1px solid var(--color-line);
}

.section__head--center {
	text-align: center;
	margin-inline: auto;
	max-width: 56ch;
}

.section__head--center .section__lead {
	margin-inline: auto;
	max-width: 48ch;
}

.section__head--center.section__head--catalog {
	max-width: min(44rem, 100%);
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.section__head--catalog .section__eyebrow {
	margin-bottom: clamp(0.85rem, 2vw, 1.15rem);
	font-weight: 500;
	letter-spacing: 0.32em;
	color: rgba(74, 69, 64, 0.42);
}

.section__head--center.section__head--catalog .section__lead--catalog {
	max-width: 32rem;
}

.catalog-official {
	margin: 0 auto var(--space-md);
	max-width: 52rem;
	padding: 0.85rem 1.1rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-text-muted);
	text-align: center;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line-strong);
	background: linear-gradient(135deg, var(--color-elevated) 0%, rgba(201, 168, 122, 0.12) 100%);
	box-shadow: var(--shadow-card);
}

.catalog-official__badge {
	display: inline-block;
	margin-right: 0.35rem;
	padding: 0.2rem 0.55rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-charcoal);
	background: rgba(201, 168, 122, 0.35);
	border-radius: 999px;
	vertical-align: middle;
}

.catalog-official__link {
	color: var(--color-oak-deep);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.12em;
}

.catalog-official__link:hover {
	color: var(--color-oak);
}

/* Premium: blok dystrybucji — quiet luxury */
.catalog-official.catalog-official--lux {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(0.85rem, 2vh, 1.15rem);
	margin: 0 auto clamp(1.75rem, 4vw, 2.5rem);
	max-width: min(36rem, 100%);
	padding: clamp(0.5rem, 1.5vw, 1rem) 0 clamp(1.25rem, 3vw, 1.75rem);
	text-align: center;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.06);
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.catalog-official--lux .catalog-official__badge {
	margin: 0;
	padding: 0;
	font-family: var(--font-sans);
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
	background: transparent;
	border: none;
	border-radius: 0;
	vertical-align: baseline;
}

.catalog-official--lux .catalog-official__kicker {
	margin: 0;
	max-width: 34rem;
	font-family: var(--font-serif);
	font-size: clamp(0.98rem, 1.85vw, 1.15rem);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0.015em;
	color: rgba(42, 39, 36, 0.88);
}

.catalog-official--lux .catalog-official__link {
	font-weight: 400;
	color: var(--color-charcoal);
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.14);
	padding-bottom: 0.08em;
	transition: color 0.25s ease, border-color 0.25s ease;
}

.catalog-official--lux .catalog-official__link:focus-visible {
	outline: 1px solid rgba(74, 69, 64, 0.25);
	outline-offset: 6px;
	border-radius: 0;
}

.catalog-official--lux .catalog-official__link:hover,
.catalog-official--lux .catalog-official__link:focus-visible {
	color: var(--color-oak-deep);
	border-bottom-color: rgba(166, 124, 82, 0.35);
}

.catalog-official--lux .catalog-official__note {
	margin: 0;
	max-width: 34rem;
	font-family: var(--font-sans);
	font-size: clamp(0.82rem, 1.2vw, 0.92rem);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.03em;
	color: rgba(74, 69, 64, 0.52);
}

.catalog-official--lux .catalog-official__badge-line {
	margin: 0;
}

.section__head {
	margin-bottom: var(--space-xl);
	max-width: 52ch;
}

.section__eyebrow {
	margin: 0 0 var(--space-sm);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--color-oak);
}

.section__title {
	margin: 0 0 var(--space-md);
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.1;
	color: var(--color-charcoal);
}

.section__lead {
	margin: 0;
	color: var(--color-text-muted);
	font-size: 1.05rem;
}

.section__lead--muted {
	margin-top: 0.5rem;
	font-size: 0.88rem;
	line-height: 1.55;
	opacity: 0.82;
}
.section__head--catalog .section__title--catalog {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	margin: clamp(0.65rem, 1.8vw, 1.1rem) auto var(--space-md);
	padding-top: 0;
	max-width: min(36rem, 100%);
	text-align: center;
}

.section__head--catalog .section__title-main {
	font-size: clamp(1.45rem, 3vw, 2.35rem);
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: -0.016em;
	text-wrap: balance;
	color: rgba(42, 39, 36, 0.92);
}

.section__head--catalog .section__title-rest {
	display: block;
	max-width: 28rem;
	font-family: var(--font-sans);
	font-size: clamp(0.58rem, 1.05vw, 0.68rem);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
}

.section__head--catalog .section__lead--catalog {
	margin: 0 auto;
	max-width: min(36rem, 100%);
	font-size: clamp(0.84rem, 1.2vw, 0.94rem);
	line-height: 1.72;
	letter-spacing: 0.01em;
	color: rgba(74, 69, 64, 0.5);
}

.section__lead--catalog strong {
	font-weight: 500;
	color: rgba(42, 39, 36, 0.62);
}

.section__hint-cta {
	display: inline;
	padding: 0;
	margin: 0;
	vertical-align: baseline;
	font-family: var(--font-sans);
	font-size: 0.88em;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(42, 39, 36, 0.68);
	background: none;
	border: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: 0;
	box-shadow: none;
	padding-bottom: 0.06em;
}

.section--catalog .product-grid {
	gap: clamp(1.25rem, 3vw, 1.85rem);
}

/* ——— Karta produktu: skrót z magazynu + katalog (#produkty) ——— */
.product-card__snapshot {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
}

.product-card__snapshot li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	padding: 0.42rem 0;
	border-bottom: 1px solid rgba(74, 69, 64, 0.08);
	font-size: 0.88rem;
	line-height: 1.45;
}

.product-card__snapshot-row--price {
	margin-top: 0.45rem;
	padding-top: 0.45rem;
	border-bottom: none;
	border-top: 1px solid rgba(74, 69, 64, 0.1);
}

.product-card__snapshot-label {
	flex-shrink: 0;
	max-width: 46%;
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.78);
}

.product-card__snapshot-val {
	text-align: right;
	font-weight: 600;
	color: var(--color-charcoal);
	min-width: 0;
	word-break: break-word;
}

.product-card__snapshot-val--price {
	font-family: var(--font-serif);
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--color-charcoal);
}

.product-card__meta {
	margin: 0.2rem 0 0.35rem;
	font-size: 0.86rem;
	line-height: 1.45;
	font-weight: 600;
	color: var(--color-text-muted);
}

.section--catalog .product-card {
	border: 1px solid rgba(74, 69, 64, 0.06);
	background: rgba(255, 255, 255, 0.45);
	box-shadow: none;
	transition:
		border-color 0.35s var(--ease-out),
		transform 0.35s var(--ease-out),
		background 0.35s ease;
}

.section--catalog .product-card:hover {
	transform: translateY(-2px);
	border-color: rgba(166, 124, 82, 0.14);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.035);
	background: rgba(255, 255, 255, 0.82);
}

.section--catalog .product-card__actions {
	border-top-color: rgba(74, 69, 64, 0.06);
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-top: 0.45rem;
}
.section--catalog .product-card__viz {
	min-height: 132px;
	aspect-ratio: 16 / 9;
}

.section--catalog .product-card__body {
	padding: var(--space-sm) var(--space-md) var(--space-xs);
}

.section--catalog .product-card__stock-badge {
	margin-bottom: 0.45rem;
}

.product-card__price-highlight {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	margin-bottom: 0.5rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--radius-md, 10px);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 246, 0.92));
	border: 1px solid rgba(0, 71, 49, 0.2);
}

.product-card__price-highlight-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.75);
}

.product-card__price-highlight-val {
	font-family: var(--font-sans);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--color-charcoal);
	font-variant-numeric: tabular-nums;
}

.product-card__price-highlight-val .mpo-price-line {
	font-size: 1.08rem;
}

.product-card__price-highlight-val .mpo-price-line__amount {
	font-size: 1.42rem;
}

.product-card__price-highlight--quote .product-card__price-highlight-val {
	font-family: var(--font-sans);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.01em;
	font-variant-numeric: normal;
	color: var(--color-pj);
}

.product-card__snapshot-row--stock {
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-top: 0;
	padding: 0.42rem 0;
	border: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.08);
	border-radius: 0;
	background: none;
}

.product-card__snapshot-row--stock .product-card__snapshot-label {
	max-width: 54%;
	font-size: 0.72rem;
	color: rgba(74, 69, 64, 0.78);
}

.product-card__snapshot-row--stock .product-card__snapshot-val--stock {
	width: auto;
	text-align: right;
	font-family: var(--font-sans);
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--color-charcoal);
	white-space: nowrap;
}

.product-card__snapshot-row--stock .mpo-stock-qty {
	font-size: 1.05rem;
}

.product-card__snapshot-row--stock .mpo-stock-qty__amount {
	font-size: 1.18rem;
}

/* Cena i metraż — wspólna typografia (karta + modal) */
.mpo-price-line,
.mpo-stock-qty {
	display: inline;
	font-family: var(--font-figures);
	font-variant-numeric: tabular-nums lining-nums;
	font-feature-settings: "tnum" 1, "lnum" 1;
	letter-spacing: -0.02em;
	line-height: 1.28;
}

.mpo-price-line {
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--color-charcoal);
}

.mpo-price-line__prefix {
	font-size: 0.82em;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: rgba(74, 69, 64, 0.72);
}

.mpo-price-line__amount,
.mpo-stock-qty__amount {
	font-family: inherit;
	font-weight: 700;
	letter-spacing: -0.04em;
	color: var(--color-pj);
}

.mpo-price-line__amount {
	font-size: 1.22em;
}

.mpo-stock-qty__amount {
	font-size: 1.35em;
}

.mpo-price-line__unit,
.mpo-stock-qty__unit {
	font-size: 0.86em;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(58, 54, 50, 0.88);
}

.mpo-price-line__suffix {
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.55);
}

.mpo-stock-lead {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.45;
}

.mpo-stock-lead__label {
	font-weight: 500;
	color: rgba(74, 69, 64, 0.78);
}

.mpo-stock-lead__value {
	font-weight: 500;
	color: var(--color-charcoal);
}

.mpo-stock-lead__approx {
	font-weight: 600;
	color: rgba(74, 69, 64, 0.72);
}

.mpo-stock-lead__note {
	font-size: 0.92em;
	font-weight: 500;
	color: rgba(74, 69, 64, 0.62);
}

.section--catalog .product-card__title {
	margin-bottom: 0.3rem;
	font-size: 1.34rem;
	line-height: 1.2;
	min-height: calc(1.2em * 2);
}

.section--catalog .product-card__snapshot {
	margin-top: 0.7rem;
}

.section--catalog .product-card__snapshot li {
	padding: 0.34rem 0;
	font-size: 0.86rem;
	line-height: 1.42;
}

.section--catalog .product-card__snapshot-row--stock {
	padding: 0.34rem 0;
}

.section--catalog .product-card__snapshot-row--price {
	margin-top: 0.12rem;
	padding-top: 0.32rem;
}

.section--catalog .product-card__open {
	padding: 0.48rem 0;
	font-size: 0.74rem;
}

.section--catalog .product-card__producer-link {
	padding: 0.38rem 0.65rem;
	font-size: 0.68rem;
}

.product-card__stock-badge {
	margin: 0 0 0.45rem;
	padding: 0.28rem 0.55rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-oak-deep);
	background: rgba(201, 168, 122, 0.2);
	border-radius: 999px;
}

.product-card__viz {
	position: relative;
	overflow: hidden;
}

.product-card__viz--photo {
	background-color: #ebe6de;
	background-image: none;
}

.product-card__viz--photo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(20, 18, 16, 0.1) 100%);
	pointer-events: none;
}

.product-card__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: #ebe6de;
}

.product-card__thermo-badge {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.22rem 0.45rem 0.22rem 0.28rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(53, 107, 98, 0.28);
	box-shadow: 0 4px 14px rgba(22, 48, 44, 0.12);
	pointer-events: none;
}

.product-card__thermo-badge img {
	display: block;
	width: 1.45rem;
	height: 1.45rem;
	flex-shrink: 0;
}

.product-card__thermo-badge-label {
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #356b62;
	line-height: 1;
}

.product-card__stock-empty {
	margin: 0 0 0.45rem;
	padding: 0.35rem 0.65rem;
	font-size: 0.78rem;
	line-height: 1.45;
	font-weight: 600;
	color: var(--color-text-muted);
	background: rgba(74, 69, 64, 0.06);
	border: 1px dashed rgba(74, 69, 64, 0.14);
	border-radius: var(--radius-sm);
}

.product-card__producer-link {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.75rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-oak-deep);
	background: rgba(255, 253, 248, 0.75);
	border: 1px solid rgba(166, 124, 82, 0.28);
	border-radius: 999px;
}

.product-card__producer-link:hover {
	background: #fffdf9;
	border-color: rgba(166, 124, 82, 0.45);
}

.product-modal__grade-intro {
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--color-text-muted);
}

.product-modal__grade-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0 0 0.5rem;
}

.product-modal__grade-item {
	padding: 0.75rem 0.85rem;
	border-radius: var(--radius-md);
	border: 1px solid rgba(74, 69, 64, 0.08);
	background: rgba(255, 253, 248, 0.55);
}

.product-modal__grade-item-title {
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--color-oak-deep);
}

.product-modal__grade-item-text {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.55;
	color: var(--color-charcoal);
}

.product-modal__grade-foot {
	margin: 0.75rem 0 0;
	font-size: 0.78rem;
	line-height: 1.55;
	color: var(--color-text-muted);
}

.product-modal__finish-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--color-charcoal);
	white-space: pre-line;
}

/* ——— Katalog produktów + finish ——— */
.catalog-usp {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
	margin-bottom: var(--space-xl);
}

@media (max-width: 768px) {
	.catalog-usp {
		grid-template-columns: 1fr;
	}
}

.catalog-usp__item {
	padding: var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + 3px);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	box-shadow: var(--shadow-card);
	border-left: 3px solid var(--color-oak-light);
	transition: border-color 0.3s var(--ease-out), transform 0.3s var(--ease-out), box-shadow 0.3s;
}

.catalog-usp__item:hover {
	border-color: var(--color-line-strong);
	transform: translateY(-2px);
	box-shadow: var(--shadow-float);
}

.catalog-usp__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin-bottom: var(--space-sm);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #fff;
	background: linear-gradient(135deg, var(--color-oak), var(--color-oak-deep));
}

.catalog-usp__title {
	margin: 0 0 0.4rem;
	font-family: var(--font-serif);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--color-charcoal);
}

.catalog-usp__text {
	margin: 0;
	font-size: 0.92rem;
	color: var(--color-text-muted);
	line-height: 1.55;
}

.catalog-tagline {
	margin: 0 0 var(--space-xl);
	padding: var(--space-md) var(--space-lg);
	text-align: center;
	font-size: 0.98rem;
	color: var(--color-text-muted);
	line-height: 1.6;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line);
	background: rgba(255, 255, 255, 0.75);
	max-width: 62ch;
	margin-inline: auto;
	box-shadow: var(--shadow-card);
}

.product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-md);
	margin-bottom: var(--space-xl);
}

@media (max-width: 1100px) {
	.product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.product-grid {
		grid-template-columns: 1fr;
	}
}

.product-card {
	display: flex;
	flex-direction: column;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: border-color 0.35s var(--ease-out), transform 0.35s var(--ease-out), box-shadow 0.35s;
}

.product-card:hover {
	border-color: rgba(166, 124, 82, 0.25);
	transform: translateY(-4px);
	box-shadow: var(--shadow-float);
}

.product-card__viz {
	position: relative;
	min-height: 168px;
	aspect-ratio: 16 / 10;
	background-color: #ebe4d9;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.product-card__viz::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(253, 250, 245, 0.42) 100%);
	pointer-events: none;
}

/* Zdjęcia z zestawu motywu — ta sama estetyka co hero / outlet (slug = klasa --slug) */
.product-card__viz--deska-podlogowa-lite {
	background-image: url("../images/mpo-card-deska-lite.jpg");
	background-image: image-set(
		url("../images/mpo-card-deska-lite.webp") type("image/webp"),
		url("../images/mpo-card-deska-lite.jpg") type("image/jpeg")
	);
}

.product-card__viz--jodelka-klasyczna-90 {
	background-image: url("../images/mpo-card-jodelka-klasyczna.jpg");
	background-image: image-set(
		url("../images/mpo-card-jodelka-klasyczna.webp") type("image/webp"),
		url("../images/mpo-card-jodelka-klasyczna.jpg") type("image/jpeg")
	);
}

.product-card__viz--jodelka-francuska-45 {
	background-image: url("../images/mpo-card-jodelka-francuska.jpg");
	background-image: image-set(
		url("../images/mpo-card-jodelka-francuska.webp") type("image/webp"),
		url("../images/mpo-card-jodelka-francuska.jpg") type("image/jpeg")
	);
}

.product-card__viz--jodelka-wegierska-60 {
	background-image: url("../images/mpo-card-jodelka-klasyczna.jpg");
	background-image: image-set(
		url("../images/mpo-card-jodelka-klasyczna.webp") type("image/webp"),
		url("../images/mpo-card-jodelka-klasyczna.jpg") type("image/jpeg")
	);
}

.product-card__viz--wzory-ozdobne {
	background-image: url("../images/mpo-card-lamana-francuska.jpg");
	background-image: image-set(
		url("../images/mpo-card-lamana-francuska.webp") type("image/webp"),
		url("../images/mpo-card-lamana-francuska.jpg") type("image/jpeg")
	);
}

.product-card__viz--listwa {
	background-image: url("../images/mpo-card-schody.jpg");
	background-image: image-set(
		url("../images/mpo-card-schody.webp") type("image/webp"),
		url("../images/mpo-card-schody.jpg") type("image/jpeg")
	);
}

.product-card__viz--cokol {
	background-image: url("../images/mpo-card-schody.jpg");
	background-image: image-set(
		url("../images/mpo-card-schody.webp") type("image/webp"),
		url("../images/mpo-card-schody.jpg") type("image/jpeg")
	);
}

.product-card__viz--default {
	background-image: url("../images/mpo-card-deska-lite.jpg");
	background-image: image-set(
		url("../images/mpo-card-deska-lite.webp") type("image/webp"),
		url("../images/mpo-card-deska-lite.jpg") type("image/jpeg")
	);
}

.product-card__body {
	padding: var(--space-md) var(--space-md) var(--space-sm);
	flex: 1;
	display: flex;
	flex-direction: column;
}

.product-card__title {
	display: flex;
	flex-direction: column;
	gap: 0.14rem;
	margin: 0 0 0.35rem;
	min-height: calc(1.2em * 2 + 0.14rem);
	font-family: var(--font-serif);
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--color-charcoal);
}

.product-card__title-name {
	display: block;
	line-height: 1.2;
}

.product-card__title-grade {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.76em;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.25;
	color: rgba(74, 69, 64, 0.75);
}

.product-card__lead {
	margin: 0 0 var(--space-sm);
	font-size: 0.88rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	flex: 1;
}

.product-card__actions {
	margin-top: auto;
	padding-top: var(--space-sm);
	border-top: 1px solid var(--color-line);
}

.product-card__open {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	padding: 0.65rem 0;
	margin: 0;
	border: none;
	background: none;
	cursor: pointer;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-oak-deep);
	transition: color 0.2s ease;
	text-align: left;
}

.product-card__open::after {
	content: "⊕";
	font-size: 0.95rem;
	font-weight: 500;
	opacity: 0.5;
	transition: transform 0.3s var(--ease-out), opacity 0.2s ease;
}

.product-card__open:hover {
	color: var(--color-oak);
}

.product-card__open:hover::after {
	opacity: 0.85;
	transform: translate(2px, -2px);
}

.product-card__open:focus {
	outline: 2px solid var(--color-oak-light);
	outline-offset: 3px;
	border-radius: var(--radius-sm);
}

/* ——— Modal produktu ——— */
.product-modal {
	position: fixed;
	inset: 0;
	z-index: 3200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-md);
	padding-top: max(var(--space-md), env(safe-area-inset-top, 0px));
	padding-bottom: max(var(--space-md), env(safe-area-inset-bottom, 0px));
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.28s var(--ease-out);
}

.product-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.product-modal[hidden] {
	display: none !important;
}

.product-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(35, 32, 28, 0.45);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	-webkit-tap-highlight-color: transparent;
}

.product-modal__dialog {
	position: relative;
	width: min(500px, 100%);
	max-height: min(88vh, calc(100dvh - 2 * var(--space-md)));
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scroll-padding-block: 1rem;
	scroll-padding-inline: 0.25rem;
	padding: var(--space-xl) var(--space-lg) var(--space-lg);
	padding-top: max(3rem, var(--space-xl));
	border-radius: var(--radius-lg);
	background: var(--color-elevated);
	border: 1px solid var(--color-line);
	box-shadow: var(--shadow-card);
	transform: translate3d(0, 12px, 0);
	transition: transform 0.32s var(--ease-out);
}

.product-modal.is-open .product-modal__dialog {
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.product-modal {
		transition: none;
	}

	.product-modal__dialog {
		transition: none !important;
		transform: none !important;
	}
}

.product-modal__close {
	position: absolute;
	top: 0.55rem;
	right: 0.55rem;
	z-index: 2;
	min-width: 2.75rem;
	min-height: 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, 0.92);
	font-size: 1.45rem;
	line-height: 1;
	font-weight: 300;
	color: var(--color-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.product-modal__close:active {
	transform: scale(0.94);
}

@media (prefers-reduced-motion: reduce) {
	.product-modal__close:active {
		transform: none;
	}
}

.product-modal__close:hover {
	background: #fff;
	color: var(--color-charcoal);
	border-color: rgba(74, 69, 64, 0.2);
}

.product-modal__close:focus-visible {
	outline: 2px solid var(--color-oak-light);
	outline-offset: 2px;
}

.product-modal__hero {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: var(--space-md);
	align-items: start;
	margin-bottom: var(--space-md);
}

.product-modal__viz {
	min-width: 0;
}

.product-modal__viz .product-card__viz {
	min-height: 100px;
	width: 100%;
	border-radius: var(--radius-md);
}

.product-modal .product-card__viz::after {
	display: none;
}

@media (max-width: 480px) {
	.product-modal__hero {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.product-modal__viz {
		width: 100%;
		max-width: 180px;
	}
}

.product-modal__hero-text {
	min-width: 0;
}

.product-modal__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.38);
}

.product-modal__title {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0 0 0.65rem;
	font-family: var(--font-serif);
	font-size: clamp(1.35rem, 3.2vw, 1.75rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--color-charcoal);
}

.product-modal__title-name {
	display: block;
	line-height: 1.18;
}

.product-modal__title-grade {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.72em;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
	color: rgba(74, 69, 64, 0.72);
}

.product-modal__lead {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(74, 69, 64, 0.5);
	line-height: 1.58;
}

.product-modal__price-block {
	margin: 0 0 var(--space-md);
	padding: var(--space-md);
	border-radius: var(--radius-md);
	border: 1px solid rgba(74, 69, 64, 0.06);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(248, 244, 236, 0.65) 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.product-modal__price-label {
	display: block;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
	margin-bottom: 0.4rem;
}

.product-modal__price {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(1.45rem, 3.5vw, 1.85rem);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.03em;
	color: rgba(42, 39, 36, 0.96);
}

.product-modal__trust {
	margin: 0 0 var(--space-md);
	padding: 0.75rem 1rem;
	font-size: 0.62rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: center;
	color: rgba(74, 69, 64, 0.42);
	border: none;
	border-radius: var(--radius-sm);
	background: rgba(74, 69, 64, 0.035);
}

.product-modal__outlet {
	margin: 0 0 var(--space-md);
	padding: 0.85rem 1rem;
	border-radius: var(--radius-md);
	border: none;
	background: rgba(74, 69, 64, 0.04);
	font-size: 0.82rem;
	line-height: 1.65;
	color: rgba(74, 69, 64, 0.48);
}

.product-modal__section--specs {
	margin-bottom: var(--space-md);
}

.product-modal__specs {
	display: grid;
	grid-template-columns: minmax(5.5rem, 32%) 1fr;
	gap: 0.4rem 0.85rem;
	margin: 0;
	align-items: baseline;
}

.product-modal__specs dt {
	margin: 0;
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.48);
	line-height: 1.35;
}

.product-modal__specs dd {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.48;
	color: var(--color-text);
}

.product-modal__includes {
	margin: 0 0 var(--space-md);
	padding: 0 0 0 0.85rem;
	border-left: 2px solid rgba(201, 168, 122, 0.65);
	font-size: 0.82rem;
	line-height: 1.58;
	color: var(--color-text);
}

.product-modal__includes[hidden] {
	display: none !important;
}

.product-modal__section--faq {
	margin-bottom: var(--space-sm);
}

.product-modal__faq {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-radius: var(--radius-md);
	border: 1px solid rgba(74, 69, 64, 0.07);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.42);
}

.product-modal__faq-item {
	border-bottom: 1px solid rgba(74, 69, 64, 0.07);
}

.product-modal__faq-item:last-child {
	border-bottom: none;
}

.product-modal__faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 2.75rem;
	cursor: pointer;
	list-style: none;
	padding: 0.65rem var(--space-md);
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--color-charcoal);
	transition: background 0.2s ease;
}

.product-modal__faq-item summary::-webkit-details-marker {
	display: none;
}

.product-modal__faq-item summary::after {
	content: "";
	flex-shrink: 0;
	width: 0.45rem;
	height: 0.45rem;
	margin-top: 0.28em;
	border-right: 1px solid rgba(74, 69, 64, 0.35);
	border-bottom: 1px solid rgba(74, 69, 64, 0.35);
	transform: rotate(45deg);
	transition: transform 0.2s var(--ease-out);
}

.product-modal__faq-item[open] summary::after {
	transform: rotate(-135deg);
	margin-top: 0.2em;
}

.product-modal__faq-item[open] summary {
	background: rgba(201, 168, 122, 0.07);
	border-bottom: 1px solid rgba(74, 69, 64, 0.06);
}

.product-modal__faq-item summary:hover {
	background: rgba(201, 168, 122, 0.06);
}

.product-modal__faq-answer {
	padding: 0 var(--space-md) 0.9rem;
	font-size: 0.84rem;
	line-height: 1.62;
	color: var(--color-text-muted);
}

.product-modal__producer {
	margin: 0 0 var(--space-sm);
	text-align: center;
}

.product-modal__producer-link {
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(42, 39, 36, 0.72);
	border-bottom: 1px solid rgba(74, 69, 64, 0.12);
	padding-bottom: 0.12em;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.product-modal__producer-link:hover {
	color: var(--color-oak-deep);
	border-bottom-color: rgba(201, 168, 122, 0.55);
}

.product-modal__legal {
	margin: 0 0 var(--space-md);
	font-size: 0.65rem;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: rgba(74, 69, 64, 0.42);
	text-align: center;
}

.product-modal__footer-actions {
	display: grid;
	gap: 0.65rem;
}

.product-modal__footer-actions.is-dual {
	grid-template-columns: 1fr 1fr;
}

@media (max-width: 420px) {
	.product-modal__footer-actions.is-dual {
		grid-template-columns: 1fr;
	}
}

.product-modal__footer .btn {
	width: 100%;
	justify-content: center;
}

.product-modal__tel {
	min-height: 2.85rem;
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.product-modal__section {
	padding: 0;
	margin-bottom: var(--space-md);
}

.product-modal__section-title {
	margin: 0 0 var(--space-sm);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.38);
}

.product-modal__detail p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--color-text-muted);
}

.product-modal__part-detail p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.62;
	color: var(--color-text-muted);
}

.product-modal__adv {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.5rem;
}

.product-modal__adv li {
	position: relative;
	padding-left: 1.65rem;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--color-text);
}

.product-modal__adv li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 50%;
	border: 1px solid rgba(52, 112, 78, 0.22);
	background-color: rgba(236, 248, 240, 0.95);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.25 6.1 4.9 8.75 9.75 3.5' stroke='%2334704e' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.62rem;
	box-shadow: 0 1px 4px rgba(52, 112, 78, 0.1);
}

.product-modal__footer {
	margin-top: var(--space-md);
	padding-top: var(--space-md);
	border-top: 1px solid rgba(74, 69, 64, 0.08);
}

.catalog-cta-band {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	padding: var(--space-lg) var(--space-xl);
	margin-bottom: var(--space-xl);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-line);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), var(--color-champagne));
	box-shadow: var(--shadow-card);
}

.catalog-cta-band__title {
	margin: 0 0 0.35rem;
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--color-charcoal);
}

.catalog-cta-band__lead {
	margin: 0;
	max-width: 46ch;
	color: var(--color-text-muted);
	font-size: 0.95rem;
	line-height: 1.55;
}

.catalog-cta-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	flex-shrink: 0;
}

.finish-block {
	padding-top: var(--space-lg);
	border-top: 1px solid var(--color-line);
}

.finish-block__heading {
	margin: 0 0 0.35rem;
	font-family: var(--font-serif);
	font-size: 1.65rem;
	text-align: center;
	color: var(--color-charcoal);
}

.finish-block__intro {
	margin: 0 auto var(--space-lg);
	text-align: center;
	max-width: 44ch;
	color: var(--color-text-muted);
	font-size: 0.95rem;
}

.finish-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
}

@media (max-width: 900px) {
	.finish-strip {
		grid-template-columns: 1fr;
	}
}

.finish-card {
	position: relative;
	padding: var(--space-md);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	transition: border-color 0.25s, box-shadow 0.25s;
}

.finish-card:hover {
	border-color: rgba(166, 124, 82, 0.28);
	box-shadow: var(--shadow-card);
}

.finish-card__badge {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.2rem 0.55rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 999px;
	background: rgba(201, 168, 122, 0.2);
	color: var(--color-oak-deep);
}

.finish-card__title {
	margin: 0 0 0.25rem;
	font-family: var(--font-serif);
	font-size: 1.2rem;
	color: var(--color-charcoal);
}

.finish-card__subtitle {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	color: var(--color-text-muted);
}

.finish-card__text {
	margin: 0 0 var(--space-sm);
	font-size: 0.88rem;
	color: var(--color-text-muted);
	line-height: 1.5;
}

.finish-card__link {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-oak-deep);
}

/* ——— Proces (kroki) ——— */
.process-steps {
	list-style: none;
	margin: 0 0 var(--space-lg);
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-md);
	counter-reset: none;
}

@media (max-width: 900px) {
	.process-steps {
		grid-template-columns: 1fr;
	}
}

.process-step {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--space-md);
	align-items: start;
	padding: var(--space-lg);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-line);
	background: var(--color-surface);
	box-shadow: var(--shadow-card);
}

.process-step__num {
	font-family: var(--font-serif);
	font-size: 2rem;
	line-height: 1;
	color: rgba(166, 124, 82, 0.35);
	font-weight: 500;
}

.process-step__title {
	margin: 0 0 0.4rem;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--color-charcoal);
}

.process-step__text {
	margin: 0;
	font-size: 0.92rem;
	color: var(--color-text-muted);
	line-height: 1.55;
}

.process-note {
	margin: 0 auto;
	max-width: 52ch;
	text-align: center;
	font-size: 0.9rem;
	color: var(--color-text-muted);
	line-height: 1.55;
	padding: var(--space-md);
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.7);
	border: 1px dashed var(--color-line-strong);
}

/* ——— Galeria ——— */
.gallery-mosaic {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-sm);
}

.gallery-tile {
	position: relative;
	grid-column: span 4;
	border-radius: var(--radius-md);
	overflow: hidden;
	min-height: 200px;
	border: 1px solid var(--color-line);
	color: inherit;
	text-decoration: none;
}

.gallery-tile--wide {
	grid-column: span 8;
	min-height: 260px;
}

@media (max-width: 900px) {
	.gallery-tile,
	.gallery-tile--wide {
		grid-column: span 12;
		min-height: 220px;
	}
}

.gallery-tile__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--ease-out);
}

.gallery-tile:hover .gallery-tile__img {
	transform: scale(1.05);
}

.gallery-tile__cap {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--space-md);
	background: linear-gradient(180deg, transparent 35%, rgba(255, 255, 255, 0.92) 100%);
	opacity: 0;
	transition: opacity 0.4s var(--ease-out);
}

.gallery-tile:hover .gallery-tile__cap {
	opacity: 1;
}

.gallery-tile__title {
	font-family: var(--font-serif);
	font-size: 1.25rem;
	margin-bottom: 0.25rem;
	color: var(--color-charcoal);
}

.gallery-tile__ex {
	font-size: 0.85rem;
	color: var(--color-text-muted);
}

.gallery-placeholder {
	padding: var(--space-lg);
	border: 1px dashed var(--color-line);
	border-radius: var(--radius-md);
	color: var(--color-text-muted);
	text-align: center;
}

.gallery-actions {
	margin: clamp(1.75rem, 4vw, 2.75rem) 0 0;
	text-align: center;
}

/* ——— Opinie ——— */
.testimonial-track {
	overflow: hidden;
}

.testimonial-track__inner {
	display: flex;
	gap: var(--space-md);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: var(--space-sm);
	scrollbar-width: thin;
}

.testimonial-card {
	flex: 0 0 min(420px, 85vw);
	scroll-snap-align: start;
	margin: 0;
	padding: var(--space-lg);
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.testimonial-card__quote {
	font-family: var(--font-serif);
	font-size: 3rem;
	line-height: 0.8;
	color: rgba(166, 124, 82, 0.2);
}

.testimonial-card__content {
	font-size: 1rem;
	color: var(--color-text-muted);
}

.testimonial-card__content p:first-child {
	margin-top: 0;
}

.testimonial-card__author {
	font-style: normal;
	font-weight: 600;
	color: var(--color-charcoal);
}

/* ——— FAQ ——— */
.faq-item {
	border-bottom: 1px solid var(--color-line);
}

.faq-item__btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding: var(--space-md) 0;
	background: none;
	border: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 1.25rem;
	text-align: left;
	cursor: pointer;
}

.faq-item__icon {
	width: 14px;
	height: 14px;
	border-right: 2px solid var(--color-oak);
	border-bottom: 2px solid var(--color-oak);
	transform: rotate(45deg);
	transition: transform 0.35s var(--ease-out);
	flex-shrink: 0;
}

.faq-item__btn[aria-expanded="true"] .faq-item__icon {
	transform: rotate(225deg);
}

.faq-item__panel {
	overflow: hidden;
}

.faq-item__content {
	padding-bottom: var(--space-md);
	color: var(--color-text-muted);
}

.faq-item__content p:first-child {
	margin-top: 0;
}


.contact-simple {
	max-width: min(980px, 100%);
}

.contact-simple__intro {
	margin: 0 auto clamp(1rem, 2.3vw, 1.5rem);
	text-align: center;
	max-width: 68ch;
}

.contact-simple__eyebrow {
	margin: 0 0 0.45rem;
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.contact-simple__title {
	margin: 0 0 0.5rem;
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 500;
	line-height: 1.2;
	color: var(--color-charcoal);
}

.contact-simple__lead {
	margin: 0 auto;
	max-width: 62ch;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--color-text-muted);
}

.contact-simple__channels {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem;
	margin: 0.85rem auto 0;
	max-width: 42rem;
}

.contact-simple__channel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	min-width: min(100%, 14rem);
	padding: 0.65rem 1rem;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-line);
	background: rgba(255, 253, 249, 0.72);
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-simple__channel:hover,
.contact-simple__channel:focus-visible {
	border-color: rgba(201, 168, 122, 0.55);
	transform: translateY(-1px);
	box-shadow: var(--shadow-card);
}

.contact-simple__channel-label {
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.55);
}

.contact-simple__channel-value {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-charcoal);
}

.contact-simple__config-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: 0.45rem;
	font-weight: 600;
	color: var(--color-oak-deep);
	text-decoration: none;
	border-bottom: 1px solid rgba(125, 93, 55, 0.34);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.contact-simple__config-link::after {
	content: "↗";
	font-size: 0.8em;
	line-height: 1;
}

.contact-simple__config-link:hover,
.contact-simple__config-link:focus-visible {
	color: var(--color-charcoal);
	border-bottom-color: rgba(44, 41, 37, 0.45);
}

.contact-simple__panel {
	max-width: min(980px, 100%);
	margin: 0 auto;
}

.section--contact.section--contact-premium {
	background: linear-gradient(
		168deg,
		rgba(252, 248, 241, 0.98) 0%,
		#f5f0e8 38%,
		rgba(245, 240, 232, 0.96) 100%
	);
}

/* ——— Kontakt — premium UX ——— */
.contact-premium {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4.5vw, 3.5rem);
}

.contact-premium__grid {
	--contact-form-pad-y: clamp(1.35rem, 2.8vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, min(100%, 28rem));
	gap: clamp(1.75rem, 4vw, 3.25rem);
	align-items: start;
}

@media (max-width: 960px) {
	.contact-premium__grid {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 5vw, 2.75rem);
	}
}

.contact-premium__aside {
	position: relative;
	padding: clamp(0.25rem, 1vw, 0.5rem) 0;
}

@media (min-width: 961px) {
	.contact-premium__aside {
		padding-top: calc(1px + var(--contact-form-pad-y, clamp(1.35rem, 2.8vw, 2rem)));
		padding-bottom: 0;
	}
}

.contact-premium__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.56rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.36);
}

.contact-premium__rule {
	display: block;
	width: 2.5rem;
	height: 1px;
	margin: 0 0 0.65rem;
	background: linear-gradient(90deg, rgba(166, 124, 82, 0.55), rgba(201, 168, 122, 0.12) 100%);
}

.contact-premium__title {
	margin: 0 0 0.85rem;
	font-family: var(--font-serif);
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: rgba(42, 39, 36, 0.95);
	max-width: 22ch;
}

.contact-premium__lead {
	margin: 0;
	max-width: 36ch;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--color-text-muted);
}

.contact-premium__channels {
	list-style: none;
	margin: clamp(1.35rem, 2.5vw, 1.85rem) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.contact-premium__channel {
	display: grid;
	grid-template-columns: 2.65rem minmax(0, 1fr);
	gap: 0.75rem 1rem;
	align-items: start;
	padding: 0.85rem 0.85rem 0.85rem 0.65rem;
	border-radius: 0.65rem;
	border: 1px solid rgba(74, 69, 64, 0.08);
	background: rgba(255, 255, 255, 0.45);
	transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

@media (hover: hover) {
	.contact-premium__channel:hover {
		border-color: rgba(166, 124, 82, 0.22);
		background: rgba(255, 255, 255, 0.72);
		box-shadow: 0 8px 28px rgba(44, 40, 36, 0.05);
	}
}

.contact-premium__channel-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 999px;
	color: rgba(125, 92, 61, 0.85);
	background: linear-gradient(145deg, rgba(255, 253, 250, 0.95) 0%, rgba(232, 220, 204, 0.45) 100%);
	border: 1px solid rgba(74, 69, 64, 0.06);
}

.contact-premium__channel-icon svg {
	display: block;
}

.contact-premium__channel-label {
	display: block;
	font-size: 0.58rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
	margin-bottom: 0.2rem;
}

.contact-premium__channel-value {
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.45;
	color: rgba(42, 39, 36, 0.92);
	text-decoration: none;
	word-break: break-word;
	transition: color 0.18s ease;
}

a.contact-premium__channel-value:hover {
	color: var(--color-oak-deep);
}

.contact-premium__channel-value--multiline {
	display: block;
	font-weight: 400;
	color: var(--color-text-muted);
}

.contact-premium__channel-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
}

.contact-premium__channel-row .contact-premium__channel-value {
	flex: 1 1 12rem;
	min-width: 0;
}

.contact-premium__copy {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0.35rem 0.65rem;
	font-family: var(--font-sans, inherit);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(42, 39, 36, 0.72);
	background: rgba(255, 253, 250, 0.92);
	border: 1px solid rgba(74, 69, 64, 0.12);
	border-radius: 999px;
	cursor: pointer;
	transition:
		color 0.2s ease,
		border-color 0.2s ease,
		background 0.2s ease,
		box-shadow 0.2s ease;
}

.contact-premium__copy:hover {
	color: var(--color-oak-deep);
	border-color: rgba(166, 124, 82, 0.35);
	box-shadow: 0 0 0 1px rgba(201, 168, 122, 0.12);
}

.contact-premium__copy:focus-visible {
	outline: 2px solid rgba(166, 124, 82, 0.55);
	outline-offset: 2px;
}

.contact-premium__copy.is-done {
	color: rgba(58, 110, 78, 0.95);
	border-color: rgba(58, 110, 78, 0.28);
	background: rgba(236, 248, 240, 0.85);
}

.contact-premium__copy-icon {
	display: flex;
	line-height: 0;
	opacity: 0.85;
}

.contact-premium__copy-icon svg {
	display: block;
}

.contact-call-benefits {
	width: 100%;
}

.contact-call-benefits__shell {
	padding: clamp(1.35rem, 3vw, 2.1rem) clamp(1.15rem, 2.8vw, 2rem);
	background: linear-gradient(
		145deg,
		rgba(255, 253, 250, 0.55) 0%,
		rgba(248, 243, 236, 0.88) 48%,
		rgba(242, 236, 228, 0.92) 100%
	);
	border: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: clamp(0.9rem, 1.6vw, 1.25rem);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.75) inset,
		0 18px 48px rgba(44, 40, 36, 0.06);
}

.contact-call-benefits__intro {
	max-width: 52ch;
	margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.contact-call-benefits__eyebrow {
	margin: 0 0 0.45rem;
	font-size: 0.56rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.38);
}

.contact-call-benefits__title {
	margin: 0 0 0.55rem;
	font-family: var(--font-serif, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(1.35rem, 2.4vw, 1.75rem);
	font-weight: 500;
	line-height: 1.22;
	color: rgba(32, 29, 26, 0.94);
}

.contact-call-benefits__sub {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.58;
	color: rgba(74, 69, 64, 0.55);
}

.contact-call-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.65rem, 1.5vw, 1rem);
	margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	padding: 0;
	list-style: none;
}

@media (max-width: 1100px) {
	.contact-call-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.contact-call-benefits__grid {
		grid-template-columns: 1fr;
	}
}

.contact-call-benefits__card {
	position: relative;
	margin: 0;
	padding: 1rem 1rem 1rem 2.35rem;
	background: rgba(255, 253, 250, 0.72);
	border: 1px solid rgba(74, 69, 64, 0.08);
	border-radius: 0.75rem;
	transition:
		transform 0.25s var(--ease-out, ease-out),
		box-shadow 0.25s var(--ease-out, ease-out),
		border-color 0.25s ease;
}

@media (hover: hover) {
	.contact-call-benefits__card:hover {
		transform: translateY(-2px);
		border-color: rgba(166, 124, 82, 0.22);
		box-shadow: 0 10px 28px rgba(44, 40, 36, 0.07);
	}
}

.contact-call-benefits__num {
	position: absolute;
	left: 0.65rem;
	top: 0.85rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: rgba(42, 39, 36, 0.88);
	background: rgba(201, 168, 122, 0.22);
	border-radius: 50%;
}

.contact-call-benefits__card-title {
	margin: 0 0 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(32, 29, 26, 0.94);
}

.contact-call-benefits__card-text {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.55;
	color: rgba(74, 69, 64, 0.58);
}

.contact-call-benefits__cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 0.75rem;
}

.contact-call-benefits__cta {
	min-height: 2.75rem;
	padding-left: 1.15rem;
	padding-right: 1.15rem;
}

@media (prefers-reduced-motion: reduce) {
	.contact-call-benefits__card {
		transition: none;
	}

	.contact-call-benefits__card:hover {
		transform: none;
	}
}

/* „Dlaczego zadzwonić” — w tej samej kolumnie co e-mail (nie pełna szerokość pod sekcją) */
.contact-premium__channel.contact-premium__channel--benefits-wrap {
	display: block;
	width: 100%;
	margin: 0.2rem 0 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

@media (hover: hover) {
	.contact-premium__channel.contact-premium__channel--benefits-wrap:hover {
		border-color: transparent;
		background: transparent;
		box-shadow: none;
	}
}

.contact-call-benefits--aside {
	width: 100%;
}

.contact-call-benefits__shell--aside {
	padding: 0.85rem 0.85rem 0.95rem;
	border-radius: 0.75rem;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.65) inset,
		0 10px 28px rgba(44, 40, 36, 0.05);
}

.contact-call-benefits--aside .contact-call-benefits__intro {
	max-width: none;
	margin-bottom: 0.75rem;
}

.contact-call-benefits__title--aside {
	margin: 0 0 0.4rem;
	font-family: var(--font-serif, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(1.02rem, 2.2vw, 1.18rem);
	font-weight: 600;
	line-height: 1.28;
	color: rgba(32, 29, 26, 0.94);
}

.contact-call-benefits__sub--aside {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.52;
	color: rgba(74, 69, 64, 0.55);
}

.contact-call-benefits__grid.contact-call-benefits__grid--aside {
	grid-template-columns: 1fr;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.contact-call-benefits--aside .contact-call-benefits__card {
	padding: 0.72rem 0.72rem 0.72rem 2rem;
}

.contact-call-benefits--aside .contact-call-benefits__num {
	width: 1.2rem;
	height: 1.2rem;
	font-size: 0.58rem;
	left: 0.52rem;
	top: 0.72rem;
}

.contact-call-benefits--aside .contact-call-benefits__card-title {
	font-size: 0.76rem;
	margin-bottom: 0.28rem;
}

.contact-call-benefits--aside .contact-call-benefits__card-text {
	font-size: 0.72rem;
	line-height: 1.48;
}

.contact-call-benefits__cta-row--aside {
	flex-direction: column;
	align-items: stretch;
	gap: 0.45rem;
}

.contact-call-benefits__cta-row--aside .contact-call-benefits__cta {
	min-height: 2.45rem;
	width: 100%;
	justify-content: center;
	text-align: center;
}

.contact-premium__panel {
	position: relative;
}

.contact-form.contact-form--premium {
	position: relative;
	padding: var(--contact-form-pad-y, clamp(1.35rem, 2.8vw, 2rem)) clamp(1.15rem, 2.5vw, 1.85rem) clamp(1.5rem, 2.8vw, 2.1rem);
	background: linear-gradient(180deg, rgba(255, 253, 250, 0.99) 0%, rgba(252, 249, 244, 0.96) 100%);
	border: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: clamp(0.85rem, 1.5vw, 1.15rem);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 22px 56px rgba(44, 40, 36, 0.07),
		0 3px 12px rgba(44, 40, 36, 0.04);
	transition: border-color 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}

.contact-form--premium:focus-within {
	border-color: rgba(166, 124, 82, 0.22);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 26px 64px rgba(44, 40, 36, 0.08),
		0 0 0 1px rgba(201, 168, 122, 0.12);
}

.contact-form__head {
	margin-bottom: clamp(1.15rem, 2.2vw, 1.5rem);
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(74, 69, 64, 0.07);
}

.contact-form__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.56rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.36);
}

.contact-form__intro {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.55;
	color: rgba(74, 69, 64, 0.52);
	max-width: 48ch;
}

.contact-form__intro br {
	display: block;
	content: '';
	margin-top: 0.35rem;
}

.contact-form__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem 1.1rem;
	margin-top: 0.25rem;
}

@media (max-width: 640px) {
	.contact-form__fields {
		grid-template-columns: 1fr;
	}
}

.contact-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
	margin-bottom: 0.15rem;
}

.contact-field--full {
	grid-column: 1 / -1;
}

.contact-field__label {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.5rem;
	margin: 0;
	cursor: pointer;
}

.contact-field__label--textarea {
	width: 100%;
}

.contact-field__label-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
}

.contact-field__text {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(42, 39, 36, 0.62);
}

.contact-field__req {
	font-size: 0.72rem;
	font-weight: 700;
	color: rgba(166, 124, 82, 0.95);
}

.contact-field__optional {
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.35);
}

.contact-field__counter {
	font-size: 0.65rem;
	font-variant-numeric: tabular-nums;
	color: rgba(74, 69, 64, 0.38);
}

.contact-field__hint {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.45;
	color: rgba(74, 69, 64, 0.42);
	order: 3;
}

.contact-product-summary {
	padding: 0.85rem 1rem;
	border-radius: var(--radius-md, 10px);
	background: rgba(201, 168, 122, 0.1);
	border: 1px solid rgba(201, 168, 122, 0.32);
}

.contact-product-summary[hidden] {
	display: none !important;
}

.contact-product-summary__title {
	margin: 0 0 0.55rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.62);
}

.contact-product-summary__list {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(7.5rem, 38%) 1fr;
	gap: 0.28rem 0.75rem;
	font-size: 0.86rem;
	line-height: 1.45;
}

.contact-product-summary__list dt {
	margin: 0;
	font-weight: 600;
	color: rgba(74, 69, 64, 0.72);
}

.contact-product-summary__list dd {
	margin: 0;
	color: var(--color-charcoal, #2a2621);
}

.contact-field:focus-within .contact-field__text {
	color: rgba(125, 92, 61, 0.88);
}

.contact-field__control.input {
	min-height: 3rem;
	padding: 0.9rem 1.05rem;
	font-size: 0.95rem;
	border-radius: 0.5rem;
	border: 1px solid rgba(74, 69, 64, 0.14);
	background: rgba(255, 255, 255, 0.88);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
	transition:
		border-color 0.22s var(--ease-out),
		box-shadow 0.22s var(--ease-out),
		background 0.22s ease;
}

.contact-field__control.input:focus {
	outline: none;
	border-color: rgba(166, 124, 82, 0.55);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 0 0 3px rgba(201, 168, 122, 0.22);
	background: #fffefc;
}

.contact-field__control.input--area {
	min-height: 9.5rem;
	resize: vertical;
	line-height: 1.55;
}

.contact-field.is-topic-prefill .contact-field__control.input {
	animation: mpo-topic-glow 1.6s ease-out 1;
}

@keyframes mpo-topic-glow {
	0% {
		box-shadow:
			0 0 0 0 rgba(201, 168, 122, 0.45),
			0 1px 0 rgba(255, 255, 255, 0.9) inset;
	}
	100% {
		box-shadow:
			0 0 0 0 transparent,
			0 1px 0 rgba(255, 255, 255, 0.9) inset;
	}
}

@media (prefers-reduced-motion: reduce) {
	.contact-field.is-topic-prefill .contact-field__control.input {
		animation: none;
	}
}

.contact-form__footer {
	margin-top: clamp(1.25rem, 2.5vw, 1.65rem);
	padding-top: 1.15rem;
	border-top: 1px solid rgba(74, 69, 64, 0.07);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: stretch;
}

.contact-form__trust {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.55;
	color: rgba(74, 69, 64, 0.45);
	max-width: 52ch;
}

.contact-form__submit {
	position: relative;
	min-height: 3.15rem;
	width: 100%;
	justify-content: center;
	overflow: hidden;
}

.contact-form__submit-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
}

.contact-form__spinner {
	display: none;
	width: 1.1rem;
	height: 1.1rem;
	border: 2px solid rgba(255, 255, 255, 0.28);
	border-top-color: rgba(255, 255, 255, 0.95);
	border-radius: 50%;
	animation: mpo-spin 0.65s linear infinite;
}

.contact-form__submit.is-loading {
	pointer-events: none;
	opacity: 0.92;
}

.contact-form__submit.is-loading [data-submit-text] {
	opacity: 0.88;
}

.contact-form__submit.is-loading .contact-form__spinner {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.contact-form__spinner {
		animation: none;
		border-top-color: rgba(255, 255, 255, 0.55);
	}
}

@keyframes mpo-spin {
	to {
		transform: rotate(360deg);
	}
}

.contact-form__status:not(:empty):not(.screen-reader-text) {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	font-size: 0.88rem;
	line-height: 1.45;
	font-weight: 500;
}

.contact-form.is-success {
	border-color: rgba(61, 115, 83, 0.32);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 22px 56px rgba(44, 40, 36, 0.06),
		0 0 0 1px rgba(61, 115, 83, 0.12);
}

.contact-form.is-success .contact-form__status {
	background: rgba(61, 115, 83, 0.1);
	color: #2a4834;
	border: 1px solid rgba(61, 115, 83, 0.22);
}

.contact-form.is-error {
	border-color: rgba(140, 60, 60, 0.3);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 22px 56px rgba(44, 40, 36, 0.06),
		0 0 0 1px rgba(140, 60, 60, 0.1);
}

.contact-form.is-error .contact-form__status {
	background: rgba(140, 60, 60, 0.09);
	color: #5c2a2a;
	border: 1px solid rgba(140, 60, 60, 0.22);
}

.contact-form.is-shake {
	animation: mpo-shake 0.48s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@media (prefers-reduced-motion: reduce) {
	.contact-form.is-shake {
		animation: none;
	}
}

@keyframes mpo-shake {
	0%,
	100% {
		transform: translateX(0);
	}
	15% {
		transform: translateX(-10px);
	}
	30% {
		transform: translateX(8px);
	}
	45% {
		transform: translateX(-6px);
	}
	60% {
		transform: translateX(4px);
	}
	75% {
		transform: translateX(-2px);
	}
}

.hp-field {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.input {
	width: 100%;
	padding: 0.85rem 1rem;
	font-family: var(--font-sans);
	font-size: 1rem;
	color: var(--color-text);
	background: var(--color-elevated);
	border: 1px solid var(--color-line-strong);
	border-radius: var(--radius-sm);
	transition: border-color 0.25s, box-shadow 0.25s;
}

.input:focus {
	outline: none;
	border-color: var(--color-oak);
	box-shadow: 0 0 0 3px rgba(201, 168, 122, 0.25);
}

.input--area {
	resize: vertical;
	min-height: 120px;
}

/* ——— CTA końcowe ——— */
.section--cta-final {
	padding-block: var(--space-2xl);
	background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-champagne) 100%);
}

.cta-final__inner {
	text-align: center;
	padding: var(--space-xl);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.85);
	box-shadow: var(--shadow-card);
	backdrop-filter: blur(8px);
}

.cta-final__title {
	margin: 0 0 var(--space-sm);
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4vw, 2.75rem);
	color: var(--color-charcoal);
}

.cta-final__text {
	margin: 0 auto var(--space-lg);
	max-width: 44ch;
	color: var(--color-text-muted);
}

.cta-final__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-sm);
}

/* ——— Stopka ——— */
.site-footer {
	position: relative;
	color: rgba(255, 253, 248, 0.88);
	background: linear-gradient(165deg, #2a2623 0%, #1c1a18 42%, #141211 100%);
	border-top: 1px solid rgba(201, 168, 122, 0.28);
	overflow: hidden;
}

.site-footer a {
	color: var(--color-oak-light);
	text-decoration: none;
	text-underline-offset: 0.18em;
}

.site-footer a:hover {
	color: #e8d4b8;
}

.site-footer a:focus-visible {
	outline: 2px solid rgba(201, 168, 122, 0.85);
	outline-offset: 3px;
	border-radius: 4px;
}

.site-footer .custom-logo-link:focus-visible {
	border-radius: 6px;
}

.site-footer__accent {
	position: absolute;
	inset: 0 0 auto 0;
	height: 5px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(201, 168, 122, 0.45) 22%,
		rgba(232, 212, 184, 0.55) 50%,
		rgba(201, 168, 122, 0.45) 78%,
		transparent 100%
	);
	pointer-events: none;
}

.site-footer__accent::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 5px;
	transform: translateX(-50%);
	width: min(720px, 90%);
	height: 120px;
	background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(201, 168, 122, 0.12), transparent 70%);
	pointer-events: none;
}

.site-footer__upper {
	position: relative;
	z-index: 1;
	padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 4vw, 3rem);
}

.site-footer__shell {
	position: relative;
}

.site-footer__cols {
	display: grid;
	gap: clamp(1.75rem, 4vw, 2.75rem);
	grid-template-columns: 1fr;
}

@media (min-width: 720px) {
	.site-footer__cols {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		grid-template-areas:
			"brand brand"
			"shortcuts contact";
	}

	.site-footer__col--brand {
		grid-area: brand;
	}

	.site-footer__col--shortcuts {
		grid-area: shortcuts;
	}

	.site-footer__col--contact {
		grid-area: contact;
	}

	.site-footer__cols--with-menu {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.1fr);
		grid-template-areas:
			"brand brand brand"
			"shortcuts menu contact";
	}

	.site-footer__cols--with-menu .site-footer__col--shortcuts {
		grid-area: shortcuts;
	}

	.site-footer__cols--with-menu .site-footer__col--menu {
		grid-area: menu;
	}

	.site-footer__cols--with-menu .site-footer__col--contact {
		grid-area: contact;
	}
}

@media (min-width: 1080px) {
	.site-footer__cols {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr) minmax(0, 1.05fr);
		grid-template-areas: "brand shortcuts contact";
		align-items: start;
	}

	.site-footer__cols--with-menu {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.72fr) minmax(0, 0.72fr) minmax(0, 1.05fr);
		grid-template-areas: "brand shortcuts menu contact";
	}
}

.site-footer__heading {
	margin: 0 0 1rem;
	font-family: var(--font-serif);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(232, 212, 184, 0.72);
}

.site-footer__sitename {
	display: inline-block;
	font-family: var(--font-serif);
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fffdf9;
	text-decoration: none;
	line-height: 1.2;
}

.site-footer__sitename:hover {
	color: #fff;
}

.site-footer__logo--custom .custom-logo-link {
	display: inline-block;
	line-height: 0;
}

.site-footer__logo--custom .custom-logo {
	max-height: var(--logo-footer-max-h);
	max-width: var(--logo-footer-max-w);
	width: auto;
	height: auto;
	object-fit: contain;
	filter: brightness(1.08) contrast(1.02);
}

.site-footer__logo--hero .brand-logo--hero {
	display: inline-flex;
	max-width: min(272px, 100%);
	margin: 0;
}

.site-footer__logo--hero .brand-logo--hero .brand-logo__img {
	width: 100%;
	max-width: 272px;
	max-height: 72px;
}

.site-footer__tagline {
	margin: 0.65rem 0 0;
	max-width: 38ch;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 253, 248, 0.62);
}

.site-footer__trust {
	margin: 1.35rem 0 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(255, 253, 248, 0.55);
}

.site-footer__trust-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	border: 1px solid rgba(201, 168, 122, 0.35);
	background: rgba(255, 253, 248, 0.04);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(232, 212, 184, 0.88);
}

.site-footer__trust-link {
	display: inline-flex;
	flex-direction: column;
	gap: 0.14rem;
	padding: 0.5rem 0.75rem;
	border-radius: 0.6rem;
	border: 1px solid rgba(201, 168, 122, 0.28);
	background: rgba(255, 253, 248, 0.04);
	font-weight: 500;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.site-footer__trust-name {
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: rgba(255, 253, 248, 0.94);
}

.site-footer__trust-cta {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(232, 212, 184, 0.86);
}

.site-footer__trust-link:hover,
.site-footer__trust-link:focus-visible {
	border-color: rgba(232, 212, 184, 0.52);
	background: rgba(255, 253, 248, 0.08);
	transform: translateY(-1px);
}

.site-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.site-footer__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.95rem;
	color: rgba(255, 253, 248, 0.82);
	text-decoration: none;
	padding: 0.15rem 0;
	transition: color 0.2s var(--ease-out), transform 0.2s var(--ease-out);
}

.site-footer__link::before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background: rgba(201, 168, 122, 0.55);
	opacity: 0.7;
	transition: transform 0.2s var(--ease-out), opacity 0.2s;
}

.site-footer__link:hover {
	color: #fffdf9;
	transform: translateX(2px);
}

.site-footer__link:hover::before {
	opacity: 1;
	transform: scale(1.15);
}

.site-footer__list--menu .menu-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__list--menu {
	gap: 0.45rem;
}

.site-footer__list--menu a {
	display: inline-block;
	font-size: 0.95rem;
	padding: 0.15rem 0;
	color: rgba(255, 253, 248, 0.82);
}

.site-footer__list--menu a:hover {
	color: #fffdf9;
}

.site-footer__contact-card {
	padding: 1.1rem 1.15rem;
	border-radius: var(--radius-md);
	border: 1px solid rgba(201, 168, 122, 0.22);
	background: linear-gradient(145deg, rgba(255, 253, 248, 0.06) 0%, rgba(20, 18, 17, 0.35) 100%);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
}

.site-footer__contact-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(255, 253, 248, 0.07);
	color: inherit;
	text-decoration: none;
	transition: background 0.2s var(--ease-out);
	border-radius: var(--radius-sm);
	margin-inline: -0.35rem;
	padding-inline: 0.35rem;
}

.site-footer__contact-row:last-child {
	border-bottom: 0;
}

.site-footer__contact-row--action:hover,
.site-footer__contact-row:not(.site-footer__contact-row--block):hover {
	background: rgba(255, 253, 248, 0.05);
}

.site-footer__contact-row--block {
	padding-bottom: 0.35rem;
}

.site-footer__icon {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(201, 168, 122, 0.12);
	color: rgba(232, 212, 184, 0.95);
}

.site-footer__icon svg {
	display: block;
}

.site-footer__contact-body {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.site-footer__contact-label {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(232, 212, 184, 0.55);
}

.site-footer__contact-value {
	font-size: 0.95rem;
	font-weight: 500;
	color: rgba(255, 253, 248, 0.92);
	word-break: break-word;
}

.site-footer__contact-value--multiline {
	font-weight: 400;
	line-height: 1.55;
	color: rgba(255, 253, 248, 0.78);
}

.site-footer__legal-strip {
	margin-top: clamp(1.35rem, 3vw, 2rem);
	padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1rem, 3vw, 1.5rem);
	border-top: 1px solid rgba(255, 253, 248, 0.14);
	border-radius: var(--radius-md);
	background: rgba(0, 0, 0, 0.2);
	box-shadow: inset 0 1px 0 rgba(255, 253, 248, 0.06);
}

.site-footer__legal-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.45rem;
	row-gap: 0.55rem;
}

@media (min-width: 900px) {
	.site-footer__legal-nav {
		justify-content: flex-start;
	}
}

.site-footer__legal-sep {
	color: rgba(255, 253, 248, 0.38);
	font-weight: 600;
	user-select: none;
	padding-inline: 0.25rem;
}

.site-footer__legal-link {
	font-size: 1rem;
	font-weight: 600;
	color: #f5ead8;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.site-footer__legal-link:hover {
	color: #fffdf9;
	text-decoration-thickness: 2px;
}

.site-footer__lower {
	position: relative;
	z-index: 1;
	border-top: 1px solid rgba(255, 253, 248, 0.08);
	background: rgba(0, 0, 0, 0.22);
	padding: 1rem 0 1.25rem;
}

.site-footer__lower-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
}

.site-footer__copy {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: rgba(255, 253, 248, 0.45);
	flex: 1 1 12rem;
}

.site-footer__copy-sep {
	margin: 0 0.35rem;
	opacity: 0.5;
}

.site-footer__copy-note {
	white-space: nowrap;
}

@media (max-width: 520px) {
	.site-footer__copy-note {
		display: block;
		margin-top: 0.2rem;
		white-space: normal;
	}

	.site-footer__copy-sep {
		display: none;
	}
}

.site-footer__toplink {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(232, 212, 184, 0.85);
	padding: 0.4rem 0.65rem;
	border-radius: 999px;
	border: 1px solid rgba(201, 168, 122, 0.28);
	background: rgba(255, 253, 248, 0.04);
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.site-footer__toplink:hover {
	color: #fffdf9;
	border-color: rgba(201, 168, 122, 0.5);
	background: rgba(255, 253, 248, 0.07);
}

.site-footer__toplink svg {
	opacity: 0.85;
}

/* ——— Podstrony / pętla ——— */
.page-hero {
	padding-block: var(--space-2xl);
	background: linear-gradient(180deg, #ffffff 0%, var(--color-surface-2) 100%);
}

.page-hero--compact {
	padding-block: var(--space-xl);
}

.page-title {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--color-charcoal);
}

.page-content {
	padding-block: var(--space-xl);
}

.page-content .alignwide {
	margin-left: calc(50% - 50vw + var(--space-md));
	margin-right: calc(50% - 50vw + var(--space-md));
	max-width: none;
	width: auto;
}

.lead {
	font-size: 1.1rem;
	color: var(--color-text-muted);
}

/* ——— Podstrony prawne (polityka, cookies) ——— */
.legal-page__hero {
	text-align: center;
}

.legal-page__eyebrow {
	margin: 0 0 0.5rem;
	font-family: var(--font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.legal-page__title {
	text-wrap: balance;
}

.legal-page__updated {
	margin: 0.65rem 0 0;
	font-size: 0.88rem;
	color: var(--color-text-muted);
}

.legal-page__related {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 1rem;
	margin-top: 1.1rem;
}

.legal-page__related-link {
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--color-accent);
	text-decoration: none;
	border-bottom: 1px solid rgba(125, 92, 61, 0.35);
}

.legal-page__related-link:hover {
	color: var(--color-charcoal);
}

.legal-page__body {
	padding-bottom: var(--space-2xl);
}

.legal-page__prose,
.legal-page__entry {
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--color-text);
}

.legal-page__lead {
	margin: 0 0 1.5rem;
	font-size: 1.05rem;
	color: var(--color-text-muted);
}

.legal-page__prose h2,
.legal-page__entry h2 {
	margin: 2rem 0 0.75rem;
	font-family: var(--font-serif);
	font-size: clamp(1.25rem, 2.4vw, 1.55rem);
	font-weight: 600;
	color: var(--color-charcoal);
}

.legal-page__prose h3,
.legal-page__entry h3 {
	margin: 1.35rem 0 0.5rem;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-charcoal);
}

.legal-page__prose p,
.legal-page__entry p {
	margin: 0 0 0.85rem;
}

.legal-page__prose ul,
.legal-page__entry ul {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.legal-page__prose li + li,
.legal-page__entry li + li {
	margin-top: 0.35rem;
}

.legal-page__prose a,
.legal-page__entry a {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.legal-page__prose a:hover,
.legal-page__entry a:hover {
	color: var(--color-charcoal);
}

.loop-grid {
	display: grid;
	gap: var(--space-md);
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	padding-block: var(--space-xl);
}

.loop-card {
	padding: var(--space-md);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: var(--shadow-card);
}

.loop-card__title a {
	color: var(--color-text);
	text-decoration: none;
}

.single-post__meta {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
	color: var(--color-text-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
/* ——— Reveal + lightbox ——— */
.reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);
	transition-delay: var(--delay, 0s);
}

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

.product-card.reveal {
	transition-delay: var(--delay, 0s);
}

/* Sekcje poniżej hero: mocniejsze wejście (blur tylko desktop — wydajność na mobile) */
.section .reveal {
	opacity: 0;
	transform: translateY(32px) scale(0.985);
	filter: blur(10px);
	will-change: opacity, transform, filter;
	transition:
		opacity var(--reveal-section-duration) var(--reveal-section-ease),
		transform var(--reveal-section-duration) var(--reveal-section-ease),
		filter var(--reveal-section-duration) var(--reveal-section-ease);
	transition-delay: var(--delay, 0s);
}

.section .reveal.is-visible {
	opacity: 1;
	transform: none;
	filter: blur(0);
	will-change: auto;
}

@media (max-width: 767px) {
	.section .reveal {
		filter: none;
		transform: translateY(26px) scale(0.99);
	}
}

/* Galeria: stagger kafelków */
.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(1) {
	--delay: 0.04s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(2) {
	--delay: 0.09s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(3) {
	--delay: 0.14s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(4) {
	--delay: 0.19s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(5) {
	--delay: 0.24s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(6) {
	--delay: 0.29s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(7) {
	--delay: 0.34s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(8) {
	--delay: 0.39s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(9) {
	--delay: 0.44s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(10) {
	--delay: 0.49s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(11) {
	--delay: 0.54s;
}

.section--gallery .gallery-mosaic > .gallery-tile.reveal:nth-child(12) {
	--delay: 0.59s;
}

.section--gallery .gallery-tile.reveal .gallery-tile__img {
	transform: scale(1.07);
	transition: transform 1.05s var(--reveal-section-ease);
	transition-delay: var(--delay, 0s);
}

.section--gallery .gallery-tile.reveal.is-visible .gallery-tile__img {
	transform: scale(1);
}

.section--gallery .gallery-tile.is-visible:hover .gallery-tile__img {
	transform: scale(1.05);
}

.section--gallery .section__head.reveal {
	--delay: 0s;
}

.section--gallery .gallery-actions.reveal {
	--delay: 0.08s;
}

/* Kontakt: aside → blok korzyści → formularz */
.section--contact .contact-premium__aside.reveal {
	--delay: 0s;
}

.section--contact .contact-premium__channel--benefits-wrap.reveal {
	--delay: 0.1s;
}

.section--contact .contact-premium__panel.reveal {
	--delay: 0.18s;
}

/* „Dlaczego warto”: kolejność większych bloków (karty listy mają własne opóźnienia nth-child) */
.section--worth .worth-min__head.reveal {
	--delay: 0s;
}

.section--worth .worth-min__spotlight.reveal {
	--delay: 0.06s;
}

.section--worth .worth-min__list-shell.reveal {
	--delay: 0.1s;
}

.section--worth .worth-min__learn.reveal {
	--delay: 0.14s;
}

.section--worth .worth-min__fine.reveal {
	--delay: 0.17s;
}

.section--worth .worth-min__nav.reveal {
	--delay: 0.2s;
}

/* Katalog: lekkie opóźnienie taśmy pod kartami (gdy wchodzi w kadr razem z nagłówkiem) */
.section--catalog .product-contact-strip.reveal {
	--delay: 0.1s;
}

@media (prefers-reduced-motion: reduce) {
	.reveal,
	.section .reveal,
	.section .reveal.is-visible {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
		will-change: auto;
	}

	.section--gallery .gallery-tile.reveal .gallery-tile__img,
	.section--gallery .gallery-tile.reveal.is-visible .gallery-tile__img,
	.section--gallery .gallery-tile.is-visible:hover .gallery-tile__img {
		transform: none;
		transition: none;
	}
}

.mp-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(44, 41, 37, 0.45);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-md);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s;
}

.mp-lightbox.is-open {
	opacity: 1;
	pointer-events: auto;
}

.mp-lightbox__img {
	max-width: min(1100px, 100%);
	max-height: 90vh;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
}

.mp-lightbox__close {
	position: absolute;
	top: var(--space-md);
	right: var(--space-md);
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--color-line);
	background: var(--color-elevated);
	color: var(--color-charcoal);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

/* ——— Modal: podziękowanie po wysłaniu formularza ——— */
.mpo-thank-modal {
	position: fixed;
	inset: 0;
	z-index: 2100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 2rem);
	background: rgba(28, 26, 24, 0.44);
	backdrop-filter: blur(11px);
	-webkit-backdrop-filter: blur(11px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.32s ease;
}

.mpo-thank-modal.is-open {
	opacity: 1;
	pointer-events: auto;
}

.mpo-thank-modal__panel {
	position: relative;
	width: 100%;
	max-width: min(26.5rem, 100%);
	padding: clamp(1.85rem, 4.2vw, 2.45rem) clamp(1.35rem, 3.2vw, 2rem);
	border-radius: clamp(1rem, 2vw, 1.28rem);
	background: linear-gradient(
		162deg,
		rgba(255, 253, 250, 0.99) 0%,
		rgba(252, 247, 240, 0.98) 42%,
		rgba(244, 237, 228, 0.97) 100%
	);
	border: 1px solid rgba(74, 69, 64, 0.1);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.92) inset,
		0 28px 72px rgba(44, 40, 36, 0.14),
		0 0 0 1px rgba(201, 168, 122, 0.1);
	transform: translateY(14px) scale(0.97);
	opacity: 0;
	transition:
		transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.34s ease;
	text-align: center;
}

.mpo-thank-modal.is-open .mpo-thank-modal__panel {
	transform: translateY(0) scale(1);
	opacity: 1;
}

.mpo-thank-modal__check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	margin: 0 auto 1.1rem;
	border-radius: 50%;
	color: rgba(52, 112, 78, 0.96);
	background: linear-gradient(145deg, rgba(236, 248, 240, 0.98) 0%, rgba(218, 236, 224, 0.75) 100%);
	border: 1px solid rgba(52, 112, 78, 0.22);
	box-shadow: 0 6px 20px rgba(52, 112, 78, 0.12);
}

.mpo-thank-modal__check svg {
	display: block;
}

.mpo-thank-modal__title {
	margin: 0 0 0.7rem;
	font-family: var(--font-serif, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(1.5rem, 3.8vw, 1.95rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: rgba(32, 29, 26, 0.96);
}

.mpo-thank-modal__text {
	margin: 0 auto 1.55rem;
	font-size: 0.94rem;
	line-height: 1.62;
	color: rgba(74, 69, 64, 0.6);
	max-width: 38ch;
}

.mpo-thank-modal__ref {
	margin: -0.35rem auto 1.35rem;
	padding: 0.55rem 0.85rem;
	max-width: 22rem;
	font-size: 0.88rem;
	line-height: 1.45;
	color: rgba(32, 29, 26, 0.88);
	background: rgba(201, 168, 122, 0.14);
	border: 1px solid rgba(201, 168, 122, 0.35);
	border-radius: var(--radius-md, 10px);
}

.mpo-thank-modal__ref-label {
	font-weight: 600;
}

.mpo-thank-modal__ref-num {
	font-family: var(--font-mono, ui-monospace, Consolas, monospace);
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.mpo-thank-modal__close {
	min-width: 10.5rem;
}

@media (prefers-reduced-motion: reduce) {
	.mpo-thank-modal,
	.mpo-thank-modal__panel {
		transition: none;
	}

	.mpo-thank-modal.is-open .mpo-thank-modal__panel {
		transform: none;
		opacity: 1;
	}
}

/* ——— Pasek kontaktu pod katalogiem (#produkty) ——— */
.product-contact-strip--lux {
	position: relative;
	margin-top: clamp(2.5rem, 5vw, 4rem);
}

.product-contact-strip__board {
	position: relative;
	overflow: hidden;
	padding: clamp(1.85rem, 3.5vw, 2.85rem) clamp(1.35rem, 3vw, 2.25rem);
	border-radius: clamp(1.1rem, 2vw, 1.5rem);
	background: linear-gradient(
		155deg,
		rgba(255, 253, 250, 1) 0%,
		rgba(250, 245, 237, 0.98) 48%,
		rgba(241, 232, 218, 0.95) 100%
	);
	border: 1px solid rgba(74, 69, 64, 0.1);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 22px 56px rgba(44, 41, 37, 0.07);
}

.product-contact-strip__board::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: min(42%, 280px);
	height: 100%;
	background: radial-gradient(ellipse at 100% 0%, rgba(201, 168, 122, 0.14), transparent 68%);
	pointer-events: none;
}

.product-contact-strip--lux .product-contact-strip__inner {
	position: relative;
	z-index: 1;
	display: grid;
	align-items: stretch;
	gap: clamp(1.75rem, 3.5vw, 2.5rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 24rem);
}

@media (max-width: 900px) {
	.product-contact-strip--lux .product-contact-strip__inner {
		grid-template-columns: 1fr;
	}
}

.product-contact-strip__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.product-contact-strip__eyebrow {
	margin: 0 0 0.85rem;
	font-size: 0.58rem;
	font-weight: 600;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(125, 92, 61, 0.72);
}

.product-contact-strip__rule {
	display: block;
	width: 3rem;
	height: 2px;
	margin: 0 0 1.25rem;
	border-radius: 2px;
	background: linear-gradient(90deg, rgba(166, 124, 82, 0.7), rgba(201, 168, 122, 0.2) 70%, transparent);
}

.product-contact-strip__title {
	margin: 0 0 1rem;
	max-width: 20ch;
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 2.8vw, 2.05rem);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--color-charcoal);
	text-wrap: balance;
}

.product-contact-strip__lead {
	margin: 0 0 1.25rem;
	max-width: 42ch;
	font-size: clamp(0.9rem, 1.2vw, 1rem);
	line-height: 1.7;
	color: var(--color-text-muted);
	text-wrap: pretty;
}

.product-contact-strip__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-contact-strip__tag {
	padding: 0.38rem 0.7rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(74, 69, 64, 0.62);
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: 999px;
}

.product-contact-strip__panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.15rem, 2.5vw, 1.45rem);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(74, 69, 64, 0.08);
	box-shadow: 0 10px 28px rgba(44, 41, 37, 0.05);
}

@media (min-width: 901px) {
	.product-contact-strip__panel {
		align-self: center;
	}
}

.product-contact-strip__panel-label {
	margin: 0 0 1rem;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.4);
}

.product-contact-strip__cards {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.product-contact-strip__li {
	margin: 0;
}

.product-contact-strip__card {
	display: grid;
	grid-template-columns: 2.25rem 1fr;
	gap: 0.75rem 1rem;
	align-items: start;
	padding: 0.85rem 0.9rem;
	border-radius: 12px;
	border: 1px solid transparent;
	text-decoration: none;
	color: inherit;
	background: rgba(255, 255, 255, 0.5);
	transition:
		background 0.22s var(--ease-out),
		border-color 0.22s var(--ease-out),
		transform 0.22s var(--ease-out),
		box-shadow 0.22s var(--ease-out);
	-webkit-tap-highlight-color: transparent;
}

.product-contact-strip__card:hover {
	background: #fff;
	border-color: rgba(166, 124, 82, 0.22);
	box-shadow: 0 8px 22px rgba(44, 41, 37, 0.06);
	transform: translateY(-2px);
}

.product-contact-strip__card:focus-visible {
	outline: 2px solid rgba(166, 124, 82, 0.45);
	outline-offset: 2px;
}

.product-contact-strip__card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	background: rgba(236, 228, 216, 0.55);
	color: rgba(125, 92, 61, 0.75);
	transition: background 0.2s ease, color 0.2s ease;
}

.product-contact-strip__card:hover .product-contact-strip__card-icon {
	background: rgba(201, 168, 122, 0.22);
	color: rgba(92, 62, 38, 0.95);
}

.product-contact-strip__card-icon svg {
	display: block;
}

.product-contact-strip__card-main {
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
	min-width: 0;
}

.product-contact-strip__card .product-contact-strip__label {
	margin: 0;
	font-size: 0.56rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
}

.product-contact-strip__value-display {
	display: inline-block;
	margin-top: 0.1rem;
	padding: 0.4rem 0.6rem;
	max-width: 100%;
	font-size: clamp(0.82rem, 1.1vw, 0.92rem);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	line-height: 1.35;
	color: var(--color-charcoal);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: 8px;
	word-break: break-all;
	transition: border-color 0.2s ease;
}

.product-contact-strip__card:hover .product-contact-strip__value-display {
	border-color: rgba(166, 124, 82, 0.35);
}

.product-contact-strip__card-hint {
	margin: 0.15rem 0 0;
	font-size: 0.72rem;
	line-height: 1.45;
	color: rgba(74, 69, 64, 0.5);
}

.product-contact-strip__cta {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 1.15rem;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(74, 69, 64, 0.08);
}

.product-contact-strip__btn {
	width: 100%;
	justify-content: center;
	min-height: 3rem;
	padding: 0.85rem 1.25rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	border-radius: 10px;
}

.product-contact-strip__hint {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.5;
	text-align: center;
	color: rgba(74, 69, 64, 0.48);
	text-wrap: balance;
}

@media (max-width: 900px) {
	.product-contact-strip__intro {
		align-items: center;
		text-align: center;
	}

	.product-contact-strip__rule {
		margin-left: auto;
		margin-right: auto;
	}

	.product-contact-strip__title {
		max-width: none;
	}

	.product-contact-strip__tags {
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-contact-strip__card:hover {
		transform: none;
	}
}

/* Pasek kontaktu — wariant minimalny (sekcja na zamówienie) */
.product-contact-strip--minimal {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.product-contact-strip--minimal .product-contact-strip__board {
	padding: clamp(1.25rem, 2.5vw, 1.65rem) clamp(1.15rem, 2.5vw, 1.5rem);
	background: rgba(255, 253, 250, 0.92);
	border-color: rgba(74, 69, 64, 0.08);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

.product-contact-strip--minimal .product-contact-strip__board::before {
	display: none;
}

.product-contact-strip__inner--minimal {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.65rem 1.5rem;
	grid-template-columns: none;
}

.product-contact-strip--minimal .product-contact-strip__intro {
	flex: 1 1 14rem;
	min-width: 0;
}

.product-contact-strip--minimal .product-contact-strip__title {
	margin: 0 0 0.35rem;
	max-width: none;
	font-size: clamp(1.15rem, 2vw, 1.35rem);
}

.product-contact-strip--minimal .product-contact-strip__lead {
	margin: 0;
	max-width: 36ch;
	font-size: 0.88rem;
	line-height: 1.55;
}

.product-contact-strip__minimal-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.65rem;
}

.product-contact-strip__minimal-link {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--color-charcoal);
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.22);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.product-contact-strip__minimal-link:hover {
	color: rgba(125, 92, 61, 0.95);
	border-color: rgba(125, 92, 61, 0.45);
}

.product-contact-strip__minimal-sep {
	font-size: 0.85rem;
	color: rgba(74, 69, 64, 0.28);
	user-select: none;
}

.product-contact-strip__minimal-form {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(125, 92, 61, 0.88);
	text-decoration: none;
}

.product-contact-strip__minimal-form:hover {
	color: var(--color-charcoal);
}

.product-contact-strip__hint--minimal {
	flex: 1 1 100%;
	margin: 0;
	text-align: left;
	font-size: 0.68rem;
	color: rgba(74, 69, 64, 0.42);
}

@media (max-width: 640px) {
	.product-contact-strip__inner--minimal {
		flex-direction: column;
		align-items: flex-start;
	}

	.product-contact-strip--minimal .product-contact-strip__intro {
		flex-basis: auto;
	}
}

/* ——— Logo marki — lockup (ikona SVG + typografia) ——— */
.brand-logo {
	text-decoration: none;
	color: inherit;
}

.brand-logo--lockup {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	max-width: min(var(--logo-header-max-w), 42vw);
	flex-shrink: 0;
	transition: opacity 0.25s var(--ease-out), transform 0.3s var(--ease-out);
}

.brand-logo--lockup:hover {
	opacity: 0.92;
}

.brand-logo--lockup:focus-visible {
	outline: 2px solid var(--color-oak-light);
	outline-offset: 4px;
	border-radius: var(--radius-sm);
}

.brand-logo__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--logo-header-mark);
	height: var(--logo-header-mark);
	color: var(--color-charcoal);
}

.brand-logo__mark svg,
.brand-logo__mark .brand-logo__svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.brand-logo__type {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.12rem;
	min-width: 0;
	line-height: 1.1;
}

.brand-logo__name {
	font-family: var(--font-serif);
	font-size: clamp(0.88rem, 1.6vw, 1.02rem);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-charcoal);
	white-space: nowrap;
}

.brand-logo__sub {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-family: var(--font-sans);
	font-size: 0.58rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--color-oak-deep);
}

.brand-logo__sub-line {
	display: block;
	width: 0.85rem;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--color-oak-light) 35%, var(--color-oak-light) 65%, transparent);
	opacity: 0.85;
}

.brand-logo--header.brand-logo--lockup {
	max-height: var(--logo-header-max-h);
}

.brand-logo--header .brand-logo__mark {
	width: calc(var(--logo-header-mark) - 2px * var(--header-progress, 0));
	height: calc(var(--logo-header-mark) - 2px * var(--header-progress, 0));
}

.brand-logo--header .brand-logo__name {
	font-size: calc(clamp(0.84rem, 1.5vw, 0.98rem) - 0.04rem * var(--header-progress, 0));
}

.brand-logo--footer.brand-logo--lockup {
	max-width: var(--logo-footer-max-w);
}

.brand-logo--footer .brand-logo__mark {
	width: calc(var(--logo-header-mark) - 4px);
	height: calc(var(--logo-header-mark) - 4px);
}

.brand-logo--footer .brand-logo__name {
	font-size: 0.92rem;
}

.brand-logo--hero.brand-logo--lockup {
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: clamp(0.9rem, 2.6vw, 1.35rem);
	max-width: min(var(--logo-hero-max-w), 94vw);
	margin-inline: auto;
}

.brand-logo--hero .brand-logo__mark {
	width: var(--logo-hero-mark);
	height: var(--logo-hero-mark);
	color: var(--lux-ink);
}

.brand-logo--hero .brand-logo__name {
	font-size: clamp(0.98rem, 2.6vw, 1.28rem);
	letter-spacing: 0.15em;
	color: var(--lux-ink);
}

.brand-logo--hero .brand-logo__sub {
	font-size: clamp(0.62rem, 1.45vw, 0.76rem);
	letter-spacing: 0.3em;
	color: rgba(212, 196, 164, 0.92);
}

.brand-logo--hero .brand-logo__sub-line {
	width: 1.1rem;
	background: linear-gradient(
		90deg,
		transparent,
		var(--color-oak-light) 30%,
		var(--color-oak-light) 70%,
		transparent
	);
}

.brand-logo--hero .brand-logo__type {
	align-items: center;
	text-align: center;
}

.brand-logo--hero .brand-logo__img {
	display: block;
	max-height: none;
	max-width: min(380px, 54vw);
	width: min(1200px, 92vw);
	height: auto;
	object-fit: contain;
	filter: brightness(0) invert(1);
	transform: none;
	transform-origin: center center;
}

.site-branding .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

/* ——— Hero — pełny ekran, powiększona treść wyśrodkowana ——— */
.hero--compact.hero--lux {
	--hero-content-scale: 1;
	--hero-content-gutter: clamp(0.65rem, 2.8vw, 2.25rem);
	min-height: 100svh;
	min-height: 100dvh;
	height: 100svh;
	height: 100dvh;
	max-height: 100svh;
	max-height: 100dvh;
	justify-content: center;
	align-items: center;
}

.hero--compact .hero-lux__inner {
	flex: 0 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: none;
	min-height: calc(100svh - var(--header-h) - env(safe-area-inset-top, 0px));
	min-height: calc(100dvh - var(--header-h) - env(safe-area-inset-top, 0px));
	margin-inline: auto;
	padding-block: calc(clamp(1rem, 3vh, 2rem) * var(--hero-content-scale));
	padding-inline: max(
		var(--hero-content-gutter),
		env(safe-area-inset-left, 0px),
		env(safe-area-inset-right, 0px)
	);
	box-sizing: border-box;
}

.hero--compact .hero-lux__stack {
	--hero-optical-shift-x: 0.65rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(40rem, 100%);
	margin-inline: auto;
	row-gap: calc(clamp(0.95rem, 2.6vh, 1.75rem) * var(--hero-content-scale));
	text-align: center;
	box-sizing: border-box;
	transform: translateX(var(--hero-optical-shift-x));
}

.hero--compact .hero-lux__stack > * {
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.hero-lux__brand {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 100%;
	max-width: 100%;
	overflow: visible;
	line-height: 0;
}

.hero--compact .hero-lux__brand .brand-logo,
.hero--compact .hero-lux__brand .brand-logo--lockup,
.hero-lux__brand .brand-logo,
.hero-lux__brand .brand-logo--lockup {
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
}

.hero--lux .hero-lux__display--single {
	margin: 0;
	font-family: var(--font-serif);
	font-size: clamp(1.42rem, 3.4vw, 2.05rem);
	font-weight: 500;
	line-height: 1.16;
	letter-spacing: -0.02em;
	color: var(--lux-ink);
	text-wrap: balance;
}

.hero--compact .hero-lux__display--single {
	font-size: calc(clamp(1.72rem, 4.6vw, 2.85rem) * var(--hero-content-scale, 1));
	line-height: 1.14;
	max-width: min(32rem, 100%);
	margin-inline: auto;
	text-align: center;
}

.hero-lux__display-prefix {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.36em;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(250, 249, 246, 0.9);
	margin-bottom: 0.22em;
}

.hero--compact .hero-lux__display-prefix {
	padding-inline-end: 0.18em;
	text-align: center;
}

.hero--compact .hero-lux__pj-name,
.hero--compact a.hero-lux__pj-name--link {
	display: block;
	margin-inline: auto;
	text-align: center;
}

.hero-lux__pj-name {
	display: block;
	font-family: var(--font-serif);
	font-size: 1.02em;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.02em;
	color: var(--color-pj-hero);
	text-shadow:
		0 1px 3px rgba(0, 0, 0, 0.55),
		0 0 28px var(--color-pj-hero-glow),
		0 2px 16px rgba(0, 71, 49, 0.35);
}

a.hero-lux__pj-name--link,
a.hero-lux__pj-name--link:visited {
	text-decoration: none;
	color: var(--color-pj-hero);
	transition:
		color 0.2s var(--ease-out),
		text-shadow 0.2s var(--ease-out);
}

a.hero-lux__pj-name--link:hover,
a.hero-lux__pj-name--link:focus-visible {
	color: var(--color-pj-hero-strong);
	text-decoration: underline;
	text-underline-offset: 0.14em;
	text-decoration-color: rgba(184, 232, 208, 0.65);
}

a.hero-lux__pj-name--link:focus-visible {
	outline: 2px solid var(--lux-accent);
	outline-offset: 4px;
	border-radius: 2px;
}

.hero--lux .hero-lux__lede {
	margin: 0;
	max-width: 40ch;
	font-size: clamp(0.8rem, 1.65vw, 0.9rem);
	line-height: 1.55;
	color: var(--lux-muted);
	text-wrap: balance;
}

.hero--compact .hero-lux__lede {
	max-width: min(52ch, 100%);
	font-size: calc(clamp(0.92rem, 2vw, 1.12rem) * var(--hero-content-scale, 1));
	line-height: 1.58;
	margin: 0;
	text-align: center;
}

.hero--compact .brand-logo--hero.brand-logo--lockup {
	gap: calc(clamp(1rem, 2.8vw, 1.55rem) * var(--hero-content-scale, 1));
	max-width: min(calc(var(--logo-hero-max-w) * 1.18), 96vw);
}

.hero--compact .brand-logo--hero .brand-logo__mark {
	width: calc(var(--logo-hero-mark) * 1.18 * var(--hero-content-scale, 1));
	height: calc(var(--logo-hero-mark) * 1.18 * var(--hero-content-scale, 1));
}

.hero--compact .brand-logo--hero .brand-logo__name {
	font-size: calc(clamp(1.08rem, 2.9vw, 1.45rem) * var(--hero-content-scale, 1));
	letter-spacing: 0.16em;
}

.hero--compact .brand-logo--hero .brand-logo__sub {
	font-size: calc(clamp(0.68rem, 1.55vw, 0.86rem) * var(--hero-content-scale, 1));
	letter-spacing: 0.32em;
}

.hero--compact .brand-logo--hero.brand-logo--lockup,
.hero--compact a.brand-logo--hero {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
}

.hero--compact .brand-logo--hero .brand-logo__img {
	display: block;
	width: min(520px, 78vw);
	max-width: min(480px, 72vw);
	height: auto;
	margin-inline: auto;
	object-fit: contain;
	object-position: center center;
}

.hero--compact .hero-lux__ctas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	justify-items: stretch;
	width: 100%;
	max-width: min(36rem, 100%);
	margin: 0;
	gap: calc(0.85rem * var(--hero-content-scale, 1));
}

.hero--compact.hero--lux .btn.btn--lux-primary,
.hero--compact.hero--lux .btn.btn--lux-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.1rem;
	padding: calc(1.05rem * var(--hero-content-scale, 1)) calc(1.15rem * var(--hero-content-scale, 1));
	font-size: calc(0.82rem * var(--hero-content-scale, 1));
	letter-spacing: 0.16em;
	text-align: center;
	white-space: normal;
}

.hero-lux__ctas + .hero-lux__partner {
	margin-top: clamp(1.35rem, 3.5vh, 2.15rem);
}

.hero--compact .hero-lux__partner {
	margin-inline: auto;
}

/* Plakietka dystrybutora w hero */
.hero-lux__partner--badge {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	max-width: min(36rem, 100%);
}

.hero-lux__partner-badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	padding: 0.7rem 1.35rem 0.75rem;
	border-radius: var(--radius-sm);
	border: 1px solid rgba(140, 210, 175, 0.5);
	background: linear-gradient(
		145deg,
		rgba(184, 232, 208, 0.12) 0%,
		rgba(0, 71, 49, 0.28) 100%
	);
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition:
		border-color 0.25s var(--ease-out),
		background 0.25s var(--ease-out),
		box-shadow 0.25s var(--ease-out),
		transform 0.25s var(--ease-out);
}

.hero-lux__partner--badge:hover .hero-lux__partner-badge,
.hero-lux__partner--badge:focus-visible .hero-lux__partner-badge {
	border-color: rgba(184, 232, 208, 0.75);
	background: linear-gradient(
		145deg,
		rgba(184, 232, 208, 0.18) 0%,
		rgba(0, 71, 49, 0.38) 100%
	);
	box-shadow:
		0 8px 32px rgba(0, 0, 0, 0.32),
		inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transform: translateY(-1px);
}

.hero-lux__partner-label {
	font-family: var(--font-sans);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(250, 249, 246, 0.82);
	line-height: 1.35;
}

.hero-lux__partner-brand {
	font-family: var(--font-serif);
	font-size: clamp(1rem, 2.2vw, 1.22rem);
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--color-pj-hero-strong);
	text-shadow:
		0 1px 3px rgba(0, 0, 0, 0.45),
		0 0 20px var(--color-pj-hero-glow);
	line-height: 1.2;
}

.hero-lux__partner--badge:focus-visible {
	outline: 2px solid var(--lux-accent);
	outline-offset: 4px;
	border-radius: var(--radius-sm);
}

/* Mniejszy odstęp hero → katalog */
.section--catalog-stock {
	padding-block: var(--section-space, clamp(2rem, 4vw, 2.8rem));
}

.section--catalog-order {
	padding-block: var(--section-space, clamp(2rem, 4vw, 2.8rem));
}

.catalog-empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: var(--space-lg);
	text-align: center;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	border: 1px dashed var(--color-line-strong);
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.45);
}

.section--catalog-order + .section--discover {
	padding-block: var(--section-space, clamp(2rem, 4vw, 2.8rem));
}

/* Kafelki — zapytanie + szczegóły */
.section--catalog .product-card__actions {
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
}

.product-card__inquire {
	width: 100%;
	justify-content: center;
	padding: 0.55rem 0.85rem;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
}

.product-card__stock-badge--order {
	color: var(--color-charcoal);
	background: rgba(166, 124, 82, 0.14);
}

.product-card__promo-note {
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--color-text-muted);
}

/* Panel „pełna oferta” */
.section--discover {
	background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-surface-2) 100%);
}

.discover-panel {
	text-align: center;
	padding: clamp(2rem, 5vw, 3rem) var(--space-lg);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-line);
	background: rgba(255, 255, 255, 0.55);
	box-shadow: var(--shadow-card);
}

.discover-panel__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

.discover-panel__title {
	margin: 0 0 var(--space-sm);
	font-family: var(--font-serif);
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
	font-weight: 500;
	line-height: 1.15;
	color: var(--color-charcoal);
	text-wrap: balance;
}

.discover-panel__lead {
	margin: 0 auto var(--space-md);
	max-width: 52ch;
	font-size: 0.98rem;
	line-height: 1.65;
	color: var(--color-text-muted);
}

.discover-panel__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	justify-content: center;
}

.discover-panel__actions .btn--primary {
	color: #fffdf9;
	background: var(--color-charcoal);
	border-color: transparent;
}

.discover-panel__actions .btn--primary:hover,
.discover-panel__actions .btn--primary:focus-visible {
	color: #fffdf9;
	background: #4a4540;
}

/* ——— Modal produktu — układ premium (rich) + UX ——— */
body.mpo-modal-open {
	overflow: hidden;
}

.product-modal--rich {
	align-items: center;
	padding: clamp(0.5rem, 2vw, 1rem);
}

.product-modal--rich .product-modal__backdrop {
	background: rgba(22, 20, 18, 0.52);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: background 0.35s var(--ease-out);
}

.product-modal.is-open.product-modal--rich .product-modal__backdrop {
	background: rgba(18, 16, 14, 0.62);
}

.product-modal--rich .product-modal__dialog {
	display: flex;
	flex-direction: column;
	width: min(1120px, calc(100vw - 1.5rem));
	max-height: min(92vh, calc(100dvh - 1.5rem));
	padding: 0;
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: 0 28px 80px rgba(30, 26, 22, 0.22);
	transform: translate3d(0, 18px, 0) scale(0.985);
	opacity: 0.92;
	transition:
		transform 0.38s var(--ease-out),
		opacity 0.32s var(--ease-out);
}

.product-modal.is-open.product-modal--rich .product-modal__dialog {
	transform: translate3d(0, 0, 0) scale(1);
	opacity: 1;
}

.product-modal--rich .product-modal__dialog.is-switching {
	opacity: 0.55;
	transform: translate3d(12px, 0, 0) scale(0.99);
}

.product-modal--rich .product-modal__dialog.is-switching-back {
	transform: translate3d(-12px, 0, 0) scale(0.99);
}

.product-modal__chrome {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-shrink: 0;
	padding: 0.55rem 0.65rem 0.55rem 0.75rem;
	border-bottom: 1px solid var(--color-line);
	background: rgba(255, 253, 249, 0.94);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	z-index: 3;
}

.product-modal__chrome-start {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	min-width: 0;
	flex: 1;
}

.product-modal__chrome-title {
	margin: 0;
	min-width: 0;
	flex: 1;
	font-family: var(--font-serif);
	font-size: 0.92rem;
	line-height: 1.25;
	color: var(--color-charcoal);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-modal__nav-btn {
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	background: var(--color-elevated);
	color: var(--color-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s, color 0.2s, background 0.2s, opacity 0.2s;
}

.product-modal__nav-btn:hover:not(:disabled) {
	border-color: var(--color-oak-light);
	color: var(--color-charcoal);
	background: #fff;
}

.product-modal__nav-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.product-modal--rich .product-modal__close {
	position: static;
	flex-shrink: 0;
	min-width: 2.5rem;
	min-height: 2.5rem;
	width: 2.5rem;
	height: 2.5rem;
}

.product-modal__loader {
	flex-shrink: 0;
	padding: var(--space-lg);
}

.product-modal__loader[aria-hidden='true'] {
	display: none;
}

.product-modal__loader-grid {
	display: grid;
	gap: 0.65rem;
}

.product-modal__sk {
	display: block;
	border-radius: var(--radius-sm);
	background: linear-gradient(
		90deg,
		rgba(74, 69, 64, 0.06) 0%,
		rgba(74, 69, 64, 0.12) 45%,
		rgba(74, 69, 64, 0.06) 90%
	);
	background-size: 200% 100%;
	animation: mpo-modal-shimmer 1.1s ease-in-out infinite;
}

.product-modal__sk--viz {
	min-height: 200px;
}

.product-modal__sk--line {
	height: 0.85rem;
}

.product-modal__sk--short {
	width: 62%;
}

.product-modal__sk--price {
	height: 2.25rem;
	width: 48%;
}

@keyframes mpo-modal-shimmer {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

.product-modal__scroll {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scroll-padding-bottom: 5rem;
}

.product-modal__content {
	padding: clamp(1rem, 2.5vw, 1.5rem) clamp(1rem, 2.5vw, 1.75rem) clamp(1rem, 2vw, 1.25rem);
}

.product-modal__content.is-revealed .product-modal__top > * {
	animation: mpo-modal-rise 0.55s var(--ease-out) both;
}

.product-modal__content.is-revealed .product-modal__summary {
	animation-delay: 0.05s;
}

.product-modal__content.is-revealed .product-modal__aside {
	animation-delay: 0.1s;
}

.product-modal__content.is-revealed .product-modal__mid {
	animation: mpo-modal-rise 0.55s var(--ease-out) 0.12s both;
}

@keyframes mpo-modal-rise {
	from {
		opacity: 0;
		transform: translate3d(0, 10px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.product-modal__viz-main.is-fading {
	opacity: 0.35;
	transition: opacity 0.14s ease;
}

.product-modal__viz-main {
	transition: opacity 0.2s ease;
}

.product-modal__thumb:focus-visible {
	outline: 2px solid var(--color-oak-light);
	outline-offset: 2px;
}

.product-modal__dock {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-shrink: 0;
	padding: 0.65rem 0.85rem;
	padding-bottom: max(0.65rem, env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--color-line);
	background: rgba(255, 253, 249, 0.97);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 -8px 28px rgba(44, 41, 37, 0.08);
	transform: translate3d(0, 100%, 0);
	transition: transform 0.32s var(--ease-out), opacity 0.25s ease;
	z-index: 4;
}

.product-modal__dock[hidden] {
	display: none !important;
}

.product-modal__dock.is-visible {
	transform: translate3d(0, 0, 0);
}

.product-modal__dock-meta {
	min-width: 0;
}

.product-modal__dock-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--color-charcoal);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-modal__dock-price {
	margin: 0.1rem 0 0;
	font-family: var(--font-figures);
	font-size: 0.95rem;
	font-variant-numeric: tabular-nums lining-nums;
	color: var(--color-charcoal);
}

.product-modal__dock-price .mpo-price-line__amount {
	font-size: 1.22rem;
}

.product-modal__dock-cta {
	flex-shrink: 0;
	min-width: 8.5rem;
	justify-content: center;
	min-height: 2.65rem;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
}

.product-card__open.is-busy {
	opacity: 0.55;
	pointer-events: none;
}

.product-modal--rich .product-modal__top {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 0.82fr);
	gap: clamp(1rem, 2.5vw, 1.75rem);
	align-items: start;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	padding-bottom: clamp(1rem, 2vw, 1.35rem);
	border-bottom: 1px solid var(--color-line);
}

.product-modal__gallery {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-width: 0;
}

.product-modal__viz-main {
	position: relative;
	min-height: clamp(180px, 28vw, 260px);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--color-line);
	background: var(--color-surface-2);
}

.product-modal__viz-media {
	display: block;
	min-height: inherit;
	width: 100%;
	height: 100%;
}

.product-modal__gallery.has-photos .product-modal__viz-main {
	min-height: clamp(200px, 32vw, 300px);
}

.product-modal__gallery-nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 999px;
	background: rgba(250, 248, 244, 0.92);
	color: var(--color-charcoal);
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
	transform: translateY(-50%);
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.product-modal__gallery-nav:hover,
.product-modal__gallery-nav:focus-visible {
	background: #fff;
	border-color: var(--color-oak-light);
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.22);
}

.product-modal__gallery-nav--prev {
	left: 0.55rem;
}

.product-modal__gallery-nav--next {
	right: 0.55rem;
}

.product-modal__gallery-counter {
	position: absolute;
	right: 0.55rem;
	bottom: 0.5rem;
	z-index: 3;
	margin: 0;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	font-family: var(--font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
	color: #fff;
	background: rgba(45, 42, 38, 0.72);
}

.product-modal__gallery-counter[hidden],
.product-modal__gallery-nav[hidden] {
	display: none !important;
}

.product-modal__viz-main.has-photo,
.product-modal__inspire.has-photo {
	background: #ebe6de;
}

.product-modal__inspire-img,
.product-modal__viz-main.has-photo .product-modal__inspire-img,
.product-modal__viz-media .product-modal__inspire-img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: center;
}

.product-modal__viz-main.has-product-photo .product-modal__inspire-img,
.product-modal__viz-media .product-modal__inspire-img {
	object-fit: contain;
	background: #f3efe8;
}

.product-modal__thumb .product-modal__inspire-img {
	min-height: 3.25rem;
}

.product-modal__thermo-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 0.35rem;
	padding: 0.28rem 0.55rem 0.28rem 0.35rem;
	border-radius: 999px;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #356b62;
	background: rgba(236, 248, 244, 0.95);
	border: 1px solid rgba(53, 107, 98, 0.24);
}

.product-modal__thermo-badge[hidden] {
	display: none;
}

.product-modal__thermo-badge img {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
}

.product-modal__viz-main .product-card__viz,
.product-modal__inspire .product-card__viz,
.product-modal__thumb .product-card__viz {
	min-height: 100%;
	width: 100%;
	border-radius: inherit;
}

.product-modal__viz-main .product-card__viz::after,
.product-modal__inspire .product-card__viz::after {
	display: none;
}

.product-modal__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4.75rem, 1fr));
	gap: 0.45rem;
	max-width: 100%;
}

.product-modal__thumb {
	padding: 0;
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	overflow: hidden;
	cursor: pointer;
	min-height: 3.25rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-modal__thumb.is-active,
.product-modal__thumb:hover {
	border-color: var(--color-oak-light);
	box-shadow: 0 0 0 1px rgba(201, 168, 122, 0.35);
}

.product-modal__thumb .product-card__viz {
	min-height: 3.25rem;
}

.product-modal__summary {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.product-modal__badge {
	margin: 0;
	align-self: flex-start;
	padding: 0.35rem 0.65rem;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-oak-deep);
	background: rgba(201, 168, 122, 0.16);
	border: 1px solid rgba(201, 168, 122, 0.35);
	border-radius: 999px;
}

.product-modal__badge[hidden] {
	display: none !important;
}

.product-modal--rich .product-modal__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.8vw, 1.85rem);
	line-height: 1.18;
	white-space: pre-line;
}

.product-modal--rich .product-modal__lead {
	font-size: 0.9rem;
	line-height: 1.58;
	color: var(--color-text-muted);
}

.product-modal--rich .product-modal__price-block {
	margin: 0.15rem 0 0;
}

.product-modal__price-gross {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	color: var(--color-text-muted);
	letter-spacing: 0.02em;
}

.product-modal__price-gross[hidden] {
	display: none !important;
}

.product-modal__trust-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.45rem;
}

.product-modal__trust-item {
	position: relative;
	padding-left: 1.15rem;
	font-size: 0.72rem;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: var(--color-text-muted);
}

.product-modal__trust-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.42em;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: var(--color-oak-light);
	opacity: 0.85;
}

.product-modal__summary-cta {
	margin-top: 0.25rem;
}

.product-modal__cta-main {
	width: 100%;
	justify-content: center;
	min-height: 2.85rem;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
}

.product-modal__price-disclaimer {
	margin: 0.55rem 0 0;
	font-size: 0.72rem;
	line-height: 1.45;
	color: rgba(74, 69, 64, 0.72);
}

.product-card__price-disclaimer {
	margin: 0.45rem 0 0;
	font-size: 0.68rem;
	line-height: 1.4;
	color: rgba(74, 69, 64, 0.7);
}

.product-modal__outlet[hidden] {
	display: none !important;
}

.product-modal__aside {
	min-width: 0;
	padding: 0.85rem 0.95rem;
	border-radius: var(--radius-md);
	background: rgba(74, 69, 64, 0.03);
	border: 1px solid var(--color-line);
}

.product-modal__aside-title {
	margin: 0 0 0.65rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.45);
}

.product-modal--rich .product-modal__specs {
	grid-template-columns: minmax(5.2rem, 38%) 1fr;
	gap: 0.35rem 0.65rem;
}

.product-modal--rich .product-modal__specs dt {
	font-size: 0.58rem;
	letter-spacing: 0.08em;
}

.product-modal--rich .product-modal__specs dd {
	font-size: 0.8rem;
}

.product-modal__mid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.9fr) minmax(0, 1fr);
	gap: clamp(0.85rem, 2vw, 1.35rem);
	margin-bottom: clamp(0.85rem, 1.8vw, 1.15rem);
}

.product-modal__section--nested {
	margin-top: var(--space-md);
	padding-top: var(--space-md);
	border-top: 1px solid var(--color-line);
}

.product-modal__inspire {
	min-height: 140px;
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--color-line);
	margin-bottom: 0.5rem;
}

.product-modal__inspire-note {
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: var(--color-text-muted);
}

.product-modal__bar {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: var(--space-md);
	align-items: start;
	padding: var(--space-md) var(--space-md);
	border-radius: var(--radius-md);
	background: rgba(74, 69, 64, 0.04);
	border: 1px solid var(--color-line);
}

.product-modal__bar-col--end {
	text-align: right;
}

.product-modal__bar-label {
	margin: 0 0 0.4rem;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
}

.product-modal__bar-link--tel {
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.product-modal__bar-link {
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--color-charcoal);
	text-decoration: none;
}

.product-modal__bar-link:hover {
	color: var(--color-oak-deep);
}

.product-modal__bar-link--mail {
	font-size: 0.82rem;
	color: var(--color-text-muted);
}

.product-modal__bar-btn {
	width: auto;
	min-width: 10rem;
}

.product-modal__bar-doc {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--color-charcoal);
	text-decoration: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.15);
	padding-bottom: 0.1em;
}

.product-modal__bar-doc:hover {
	color: var(--color-oak-deep);
	border-bottom-color: var(--color-oak-light);
}

.product-modal__bar-doc-icon {
	font-size: 0.9em;
	opacity: 0.55;
}

.product-modal--rich .product-modal__legal {
	margin: 0.75rem 0 0;
	text-align: left;
}

/* ——— Modal studio (jak w projekcie graficznym) ——— */
.product-modal--studio .product-modal__dialog {
	width: min(1180px, calc(100vw - 2rem));
	background: #faf8f5;
}

.product-modal--studio .product-modal__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 0.65rem 0.45rem 0.75rem;
	border-bottom: 1px solid rgba(74, 69, 64, 0.08);
	background: #faf8f5;
}

.product-modal--studio .product-modal__toolbar-nav {
	display: flex;
	gap: 0.35rem;
}

.product-modal--studio .product-modal__scroll {
	scrollbar-color: rgba(74, 69, 64, 0.25) transparent;
	scrollbar-width: thin;
}

.product-modal--studio .product-modal__content {
	padding: 1.15rem 1.35rem 1rem;
}

.product-modal--studio .product-modal__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 0.88fr);
	gap: 1.35rem 1.5rem;
	align-items: start;
	padding-bottom: 1.15rem;
	margin-bottom: 1.15rem;
	border-bottom: 1px solid rgba(74, 69, 64, 0.1);
}

.product-modal--studio .product-modal__viz-main {
	min-height: 220px;
	border: 1px solid rgba(74, 69, 64, 0.1);
	background: #f3efe8;
}

.product-modal--studio .product-modal__gallery.has-photos .product-modal__viz-main {
	min-height: clamp(220px, 34vw, 320px);
}

.product-modal--studio .product-modal__thumb {
	min-height: 3.5rem;
	border-radius: 8px;
}

.product-modal--studio .product-modal__buybox {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.product-modal--studio .product-modal__badge {
	padding: 0.4rem 0.75rem;
	font-size: 0.6rem;
	letter-spacing: 0.16em;
	background: rgba(201, 168, 122, 0.2);
	border: 1px solid rgba(201, 168, 122, 0.4);
	color: var(--color-oak-deep);
}

.product-modal--studio .product-modal__title {
	font-family: var(--font-serif);
	font-size: clamp(1.55rem, 2.5vw, 2.05rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: var(--color-charcoal);
}

.product-modal--studio .product-modal__title-grade {
	font-size: 0.68em;
}

.product-modal--studio .product-modal__stock-lead {
	margin: 0 0 0.65rem;
	padding: 0 0 0.65rem;
	max-width: none;
	font-family: var(--font-sans);
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0;
	color: var(--color-text-muted);
	background: none;
	border: none;
	border-bottom: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: 0;
}

.product-modal--studio .product-modal__stock-lead .mpo-stock-lead__label {
	font-size: inherit;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-charcoal);
}

.product-modal--studio .product-modal__stock-lead .mpo-stock-lead__value {
	color: var(--color-charcoal);
}

.product-modal--studio .product-modal__stock-lead .mpo-stock-qty {
	font-size: 1.05rem;
}

.product-modal--studio .product-modal__stock-lead .mpo-stock-qty__amount {
	font-size: 1.18rem;
}

.product-modal--studio .product-modal__stock-lead .mpo-stock-lead__note {
	font-size: 0.92em;
	color: rgba(74, 69, 64, 0.62);
}

.product-modal--studio .product-modal__stock-lead[hidden] {
	display: none !important;
}

.product-modal--studio .product-modal__lead {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--color-text-muted);
	max-width: 38ch;
}

.product-modal--studio .product-modal__lead[hidden] {
	display: none !important;
}

.product-modal--studio .product-modal__price-panel {
	padding: 0.9rem 1.05rem;
	border-radius: 12px;
	border: 1px solid rgba(0, 71, 49, 0.16);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 246, 0.9));
}

.product-modal--studio .product-modal__price {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--color-charcoal);
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
}

.product-modal--studio .product-modal__price .mpo-price-line {
	font-size: 1.1rem;
}

.product-modal--studio .product-modal__price .mpo-price-line__amount {
	font-size: 1.58rem;
}

.product-modal--studio .product-modal__price--quote {
	font-family: var(--font-sans);
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.01em;
	font-variant-numeric: normal;
	color: var(--color-pj);
}

.product-modal__dock-price.product-modal__dock-price--quote {
	font-family: var(--font-sans);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-pj);
}

.product-modal__price-panel:has(.product-modal__price--quote) {
	padding: 0.65rem 0.85rem;
}

.product-modal--studio .product-modal__cta-main {
	min-height: 3rem;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: var(--color-charcoal);
	border-color: var(--color-charcoal);
	color: #fffdf9;
	transition: transform 0.18s ease;
}

.product-modal--studio .product-modal__cta-main:hover {
	transform: translateY(-2px);
}

.product-modal--studio .product-modal__trust-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.65rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-modal--studio .product-modal__trust-grid.is-single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 18rem;
	margin-inline: auto;
}

.product-modal--studio .product-modal__trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.35rem;
	padding: 0;
}

.product-modal--studio .product-modal__trust-item::before {
	display: none;
}

.product-modal--studio .product-modal__trust-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: rgba(201, 168, 122, 0.18);
	color: var(--color-oak-deep);
	font-size: 0.75rem;
	line-height: 1;
}

.product-modal--studio .product-modal__trust-text {
	font-size: 0.62rem;
	line-height: 1.35;
	letter-spacing: 0.03em;
	color: var(--color-text-muted);
}

.product-modal--studio .product-modal__spec-panel {
	padding: 0;
	background: transparent;
	border: none;
}

.product-modal--studio .product-modal__spec-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.42rem 0;
	border-bottom: 1px solid rgba(74, 69, 64, 0.08);
}

.product-modal--studio .product-modal__spec-row:last-child {
	border-bottom: none;
}

.product-modal--studio .product-modal__spec-label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
	color: rgba(74, 69, 64, 0.78);
	flex-shrink: 0;
}

.product-modal--studio .product-modal__spec-value {
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.38;
	color: var(--color-charcoal);
	text-align: right;
}

.product-modal--studio .product-modal__panels {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem 1.35rem;
	margin-bottom: 1.15rem;
}

.product-modal--studio .product-modal__panel-title {
	margin: 0 0 0.65rem;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(74, 69, 64, 0.42);
}

.product-modal--studio .product-modal__panel-title--sub {
	margin-top: 1rem;
}

.product-modal--studio .product-modal__detail p {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.62;
	color: var(--color-text-muted);
}

.product-modal--studio .product-modal__panel--stack {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.product-modal--studio .product-modal__part-intro.is-empty {
	display: none;
}

.product-modal--studio .product-modal__part-detail p {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.58;
	color: var(--color-text-muted);
}

.product-modal--studio .product-modal__adv-block .product-modal__panel-title {
	margin-bottom: 0.45rem;
}

.product-modal--studio .product-modal__adv {
	gap: 0.45rem;
}

.product-modal--studio .product-modal__adv li {
	padding-left: 1.55rem;
	font-size: 0.84rem;
	line-height: 1.45;
}

.product-modal--studio .product-modal__adv li::before {
	width: 0.95rem;
	height: 0.95rem;
	top: 0.15em;
	background-size: 0.56rem;
}

.product-modal--studio .product-modal__inspire-carousel {
	position: relative;
}

.product-modal--studio .product-modal__inspire {
	min-height: 168px;
	margin: 0;
	border: 1px solid rgba(74, 69, 64, 0.1);
	background: #f3efe8;
}

.product-modal--studio .product-modal__inspire-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 2rem;
	height: 2rem;
	border: 1px solid rgba(74, 69, 64, 0.12);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: var(--color-charcoal);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	line-height: 1;
	transition: border-color 0.2s, background 0.2s;
}

.product-modal--studio .product-modal__inspire-nav:hover {
	border-color: var(--color-oak-light);
	background: #fff;
}

.product-modal--studio .product-modal__inspire-nav--prev {
	left: 0.45rem;
}

.product-modal--studio .product-modal__inspire-nav--next {
	right: 0.45rem;
}

.product-modal--studio .product-modal__inspire-note {
	margin-top: 0.45rem;
	font-size: 0.72rem;
}

.product-modal--studio .product-modal__faq {
	border: 1px solid rgba(74, 69, 64, 0.1);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.55);
}

.product-modal--studio .product-modal__faq-item summary {
	font-size: 0.8rem;
	padding: 0.6rem 0.75rem;
}

.product-modal--studio .product-modal__faq-answer {
	font-size: 0.78rem;
	padding: 0 0.75rem 0.75rem;
}

.product-modal--studio .product-modal__bar {
	padding: 0.9rem 1rem;
	border-radius: 12px;
	background: rgba(74, 69, 64, 0.05);
	border: 1px solid rgba(74, 69, 64, 0.08);
	align-items: center;
}

.product-modal--studio .product-modal__bar-note {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--color-text-muted);
}

.product-modal--studio .product-modal__bar-btn {
	background: var(--color-charcoal);
	border-color: var(--color-charcoal);
	color: #fff;
}

.product-modal--studio .product-modal__legal {
	margin: 0.65rem 0 0;
	text-align: center;
	font-size: 0.62rem;
	opacity: 0.7;
}

.product-modal--studio .product-modal__content.is-revealed .product-modal__hero,
.product-modal--studio .product-modal__content.is-revealed .product-modal__panels,
.product-modal--studio .product-modal__content.is-revealed .product-modal__bar {
	animation: mpo-modal-rise 0.5s var(--ease-out) both;
}

.product-modal--studio .product-modal__content.is-revealed .product-modal__panels {
	animation-delay: 0.06s;
}

.product-modal--studio .product-modal__content.is-revealed .product-modal__bar {
	animation-delay: 0.1s;
}

@media (max-width: 960px) {
	.product-modal--studio .product-modal__hero {
		grid-template-columns: 1fr 1fr;
	}

	.product-modal--studio .product-modal__spec-panel {
		grid-column: 1 / -1;
	}

	.product-modal--studio .product-modal__panels {
		grid-template-columns: 1fr 1fr;
	}

	.product-modal--studio .product-modal__panel--stack {
		grid-column: 1 / -1;
	}

	.product-modal--studio .product-modal__panel--faq {
		grid-column: 1 / -1;
	}

	.product-modal__mid {
		grid-template-columns: 1fr 1fr;
	}

	.product-modal__section--faq {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.product-modal--rich {
		align-items: flex-end;
		padding: 0;
	}

	.product-modal--rich .product-modal__dialog {
		width: 100%;
		max-height: min(94dvh, 94svh);
		border-radius: var(--radius-lg) var(--radius-lg) 0 0;
		transform: translate3d(0, 100%, 0);
	}

	.product-modal.is-open.product-modal--rich .product-modal__dialog {
		transform: translate3d(0, 0, 0);
	}

	.product-modal--studio .product-modal__hero,
	.product-modal--studio .product-modal__panels,
	.product-modal--studio .product-modal__bar {
		grid-template-columns: 1fr;
	}

	.product-modal--studio .product-modal__trust-grid {
		grid-template-columns: 1fr;
	}

	.product-modal__bar-col--end {
		text-align: left;
	}

	.product-modal__bar-btn {
		width: 100%;
	}

	.product-modal__dock {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-modal__content.is-revealed .product-modal__hero,
	.product-modal__content.is-revealed .product-modal__panels,
	.product-modal__content.is-revealed .product-modal__bar {
		animation: none;
	}

	.product-modal__sk {
		animation: none;
	}

	.product-modal--rich .product-modal__dialog,
	.product-modal__dock {
		transition: none;
	}
}

.contact-form__legal {
	margin: 0 0 var(--space-sm);
	font-size: 0.82rem;
}

.contact-form__legal-link {
	color: var(--color-oak-deep);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.contact-form__legal-link:hover {
	color: var(--color-oak);
}
