/**
 * v15.61 — Visual fixes batch
 * Adam's feedback: skalowanie zoom, czcionki za małe, słaby kontrast,
 *                  certyfikaty malutkie, sekcje nieciekawe.
 *
 * Philosophy: NIE łamiemy istniejącego layoutu — punktowe poprawki rozmiarów,
 * kontrastu, line-height, max-width, responsive breakpoints.
 */

/* =====================================================
   1) HERO scaling — moved to v15.65 section near bottom
   2) HEADER — REMOVED (incorrect classes .site-header/.adb-burger
      didn't exist in theme; real classes are .nav/.nav__burger;
      original CSS in header.php handles it correctly).
   ===================================================== */

/* =====================================================
   3) KICKERS — większe + lepszy kontrast (było bardzo cienkie)
   ===================================================== */

.kicker {
	font-size: 11.5px !important;
	letter-spacing: .14em !important;
	color: #6b6356 !important;            /* było #999, słaby kontrast */
	font-weight: 600 !important;          /* było 400 */
	text-transform: uppercase;
	line-height: 1.5;
}

/* "ECHTES KUNDENPROJEKT · X BEISPIELE IN ATLAS" — pasek pod hero photo */
.fp-hero-photo-wrap .kicker {
	color: var(--ink) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
}

/* "ATLAS ANSEHEN →" link — pogrub */
.fp-hero-photo-wrap a[href*="referenzen"] {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .15em !important;
	border-bottom-width: 2px !important;
}

/* "54 GESAMT · 6 FAMILIEN…" + "KOLLEKTIONS­BUCH ÖFFNEN" + meta nad sekcjami */
.section-meta-line,
.fp-collection-meta,
[class*="-meta-line"] {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #6b6356 !important;
	letter-spacing: .12em !important;
}

/* eyebrow — większy bo on jest wszędzie */
.eyebrow {
	font-size: 12px !important;
	letter-spacing: .22em !important;
	font-weight: 700 !important;
	color: #8a7a52 !important;            /* gold-mute, więcej kontrastu */
}

/* =====================================================
   4) CERT BADGES — POWIĘKSZONE + boldniejsze
   ===================================================== */

.cert-badge {
	min-width: 200px !important;          /* było 180 */
	padding: 32px 24px !important;        /* było 24/20 */
	background: rgba(255,255,255,.04) !important;
	border-width: 1.5px !important;
	border-color: rgba(212,175,55,.32) !important;
}

.cert-badge__seal { width: 120px !important; height: 120px !important; }
.cert-badge__seal svg { width: 110px !important; height: 110px !important; }

.cert-badge__name {
	font-size: 20px !important;           /* było 17 */
	font-weight: 600 !important;
	letter-spacing: -.005em !important;
}
.cert-badge__id {
	font-size: 12px !important;           /* było 10.5 */
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	color: #e0c065 !important;            /* gold light, więcej blasku */
	margin-top: 6px !important;
}

/* Verifizierbar pasek pod certyfikatami */
section[aria-label*="Zertif"] + div [style*="Verifizierbar"],
.cert-strip + div,
.cert-strip ~ div {
	font-size: 13px !important;
	letter-spacing: .12em !important;
	font-weight: 600 !important;
}

@media (max-width: 980px) {
	.cert-badge { min-width: 170px !important; padding: 24px 16px !important; }
	.cert-badge__seal { width: 96px !important; height: 96px !important; }
	.cert-badge__seal svg { width: 88px !important; height: 88px !important; }
	.cert-badge__name { font-size: 17px !important; }
}

@media (max-width: 540px) {
	.cert-strip { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
	.cert-badge { min-width: 0 !important; padding: 18px 12px !important; }
	.cert-badge__name { font-size: 15px !important; }
	.cert-badge__id { font-size: 10.5px !important; }
}

/* =====================================================
   5) "Sechs Schritte" — bardziej premium wizualnie
   ===================================================== */

/* OL z krokami — separatory bardziej widoczne, padding większy */
.section ol[style*="counter-reset:step"] > li {
	border-top-width: 2px !important;
	border-color: rgba(212,175,55,.18) !important;
	transition: background .25s;
	padding: 56px 0 !important;
}
.section ol[style*="counter-reset:step"] > li:hover {
	background: linear-gradient(90deg, rgba(212,175,55,.025) 0%, rgba(212,175,55,0) 60%);
}

/* Numerki kroków 01-06 — większe + glow */
.section ol[style*="counter-reset:step"] [style*="font-size:64px"] {
	font-size: 88px !important;
	font-weight: 600 !important;
	line-height: .95 !important;
	letter-spacing: -.04em !important;
	background: linear-gradient(180deg, #e8c668 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	filter: drop-shadow(0 2px 12px rgba(212,175,55,.25));
}

/* Schritt headers — większe */
.section ol[style*="counter-reset:step"] .display-3 {
	font-size: clamp(22px, 2.4vw, 30px) !important;
	font-weight: 500;
}

/* SVG ikony kroków — większe + wyraźniejsze */
.section ol[style*="counter-reset:step"] svg {
	opacity: .75 !important;
	transition: opacity .25s;
	width: 52px !important;
	height: 52px !important;
}
.section ol[style*="counter-reset:step"] li:hover svg { opacity: 1 !important; }

/* Timeline horizontal — kropki większe + animacja */
.section [style*="grid-template-columns:repeat(6,1fr)"] [style*="border-radius:50%"] {
	width: 16px !important;
	height: 16px !important;
	transition: transform .2s;
}
.section [style*="grid-template-columns:repeat(6,1fr)"] [style*="border-radius:50%"]:hover {
	transform: scale(1.4);
}

/* "14 Wochen Ø · 0 € bis zur Abnahme · Schriftliche Freigabe" */
.section [style*="grid-template-columns: 1fr 1fr"] [style*="font-size:11px"][style*="letter-spacing:.18em"] {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #6b6356 !important;
}

/* =====================================================
   6) "0€ Anzahlung" Section — ulepszenia
   ===================================================== */

/* Big "0" number — better visual */
section [style*="font-size:48px"][style*="counter-num"],
.counter-num {
	font-size: clamp(42px, 5.5vw, 64px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
}

/* "Was Sie NICHT zahlen" lista X-marków */
section [style*="✕"] {
	font-size: 15.5px !important;
	font-weight: 500;
}

/* =====================================================
   7) Drei Ideen — fix tile background images
   ===================================================== */

/* Tła kafelków — wyraźniejsze + zoom on hover */
.fp-garten__card { transition: transform .35s ease, box-shadow .35s; }
.fp-garten__card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px -20px rgba(20,17,11,.18); }
.fp-garten__img {
	background-size: cover !important;
	background-position: center !important;
	transition: transform .55s ease;
	min-height: 280px;
}
.fp-garten__card:hover .fp-garten__img { transform: scale(1.04); }

/* Numerki 01/02/03 — większe + bardziej prominent */
.fp-garten__num {
	font-size: clamp(48px, 6vw, 72px) !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-shadow: 0 4px 20px rgba(0,0,0,.5) !important;
	letter-spacing: -.04em !important;
}

/* =====================================================
   8) Body/section meta-info — całogeneralny size up
   ===================================================== */

/* Mono-text labels w sekcjach (pillar tags, cert tags etc.) */
[class*="__tag"],
[class*="-card__tag"],
.sv-card__tag,
.pillar__tag {
	font-size: 11.5px !important;
	letter-spacing: .15em !important;
	font-weight: 700 !important;
}

/* =====================================================
   9) Container max-widths — żeby nic się za bardzo nie rozjechało
   ===================================================== */

@media (min-width: 1600px) {
	.container { max-width: 1480px !important; }
}

/* =====================================================
   10) ZOOM stabilizacja — root font-size przy bardzo małych widthach
   ===================================================== */

@media (max-width: 380px) {
	html { font-size: 15px; }
	.fp-hero-photo { min-height: 380px !important; }
}

/* =====================================================
   11) Hero "Trust row" — siatka 4-stat się rozjeżdża, fix grid auto
   ===================================================== */

.fp-hero-trust-row,
.section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
	gap: clamp(16px, 2vw, 32px) !important;
}

@media (max-width: 720px) {
	.section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
		gap: 24px 20px !important;
	}
}

@media (max-width: 380px) {
	.section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
		gap: 20px 12px !important;
	}
	.section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] [style*="font-size:42px"] {
		font-size: 30px !important;
	}
}

/* =====================================================
   v15.62 — Sechs Schritte VISUAL UPGRADE (markup unchanged)
   ===================================================== */

/* Wrapper z subtle pattern background dla całej sekcji */
.section[style*="background: var(--bg-2)"] .container > div[style*="grid-template-columns: 1fr 1fr"]:has(.eyebrow) ~ div[style*="position:relative"] {
	position: relative;
}

/* Phase pill BEFORE każdego li — wskazuje fazę procesu */
.section ol[style*="counter-reset:step"] > li {
	position: relative;
	overflow: visible;
}
.section ol[style*="counter-reset:step"] > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: -2px;
	width: 4px;
	height: 100%;
	background: linear-gradient(180deg, transparent 0%, var(--gold) 50%, transparent 100%);
	opacity: 0;
	transition: opacity .35s ease;
	border-radius: 2px;
}
.section ol[style*="counter-reset:step"] > li:hover::before { opacity: .55; }

/* Pulse animation dla numerków przy hoverze całego li */
@keyframes adb-step-glow {
	0%, 100% { filter: drop-shadow(0 2px 12px rgba(212,175,55,.25)); }
	50%      { filter: drop-shadow(0 4px 20px rgba(212,175,55,.55)); }
}
.section ol[style*="counter-reset:step"] > li:hover [style*="font-size:64px"] {
	animation: adb-step-glow 1.5s ease-in-out infinite;
}

/* "0 € bis hier" floating tracker — wizualizuje że nic nie płacisz do końca */
.section ol[style*="counter-reset:step"] > li:not(:last-child)::after {
	content: '0 € bisher';
	position: absolute;
	right: -8px;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	transform-origin: right center;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 9.5px;
	letter-spacing: .25em;
	font-weight: 700;
	color: var(--gold-dark, #9d6e1f);
	background: rgba(212,175,55,.08);
	padding: 4px 10px;
	border-radius: 12px;
	border: 1px solid rgba(212,175,55,.3);
	white-space: nowrap;
	opacity: 0;
	transition: opacity .35s, transform .35s;
	pointer-events: none;
}
.section ol[style*="counter-reset:step"] > li:hover::after { opacity: 1; }

/* Last li (06 Zahlung) special treatment */
.section ol[style*="counter-reset:step"] > li:last-child {
	background: linear-gradient(135deg, rgba(212,175,55,.06) 0%, rgba(212,175,55,.02) 100%) !important;
	border-radius: 8px;
	padding-left: 16px !important;
	padding-right: 16px !important;
}
.section ol[style*="counter-reset:step"] > li:last-child [style*="font-size:64px"] {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	filter: drop-shadow(0 4px 16px rgba(212,175,55,.45)) !important;
}

/* Mobile-fix dla ::after labelek (na mobile chowamy) */
@media (max-width: 880px) {
	.section ol[style*="counter-reset:step"] > li::after { display: none !important; }
}

/* =====================================================
   v15.62 — 0€ Anzahlung VISUAL UPGRADE
   ===================================================== */

/* "0" w bloku VERTRAGLICH §I.1 — ogromne, dramatyczne */
section [style*="VERTRAGLICH"] [style*="font-size:48px"],
section [style*="font-family:var(--serif);font-size:120px"],
section .display-1[style*="font-size:120"] {
	font-size: clamp(80px, 14vw, 180px) !important;
	line-height: .85 !important;
	font-weight: 600 !important;
	letter-spacing: -.05em !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 40%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	filter: drop-shadow(0 6px 24px rgba(212,175,55,.35));
	display: inline-block;
}

/* Cross-marks (×) w "Was Sie NICHT zahlen" — większe, czerwonawe */
section .display-2 + p:has(+ p:first-letter:matches('✕')) ~ p:first-letter,
section [style*="✕"]::first-letter,
section *:has(> :first-child:matches('✕')) {
	color: #c2410c !important;
	font-weight: 700 !important;
}

/* Counter num animation — pulse */
@keyframes adb-counter-pulse {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.02); }
}
.counter-num,
section [style*="counter-num"] {
	display: inline-block;
	animation: adb-counter-pulse 4s ease-in-out infinite;
}

/* "Drei Einwände" blocks — większe nagłówki */
section [style*="Einwand 0"] {
	font-size: 14px !important;
	letter-spacing: .14em !important;
	font-weight: 700 !important;
}

/* Big numbers (25+, –15 %, 0 €) w einwand-bloks */
section [style*="font-size:64px"][style*="color:var(--gold-dark"],
section .display-1[style*="font-size:64"] {
	font-size: clamp(48px, 6.5vw, 80px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
}

/* =====================================================
   v15.62 — Hover micro-interactions (across all cards)
   ===================================================== */

/* Cert badges — subtle glow on hover */
.cert-badge:hover {
	box-shadow: 0 16px 40px -12px rgba(212,175,55,.4) !important;
}
.cert-badge:hover .cert-badge__seal svg {
	filter: drop-shadow(0 6px 20px rgba(212,175,55,.55)) !important;
}

/* Drei Ideen card stronger lift on hover */
.fp-garten__card { transition: transform .35s ease, box-shadow .35s !important; }
.fp-garten__card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 28px 64px -28px rgba(20,17,11,.25) !important;
}

/* =====================================================
   v15.63 — STANDORTE photo upgrade (Adam: "dawaj zdjecia, dla oka")
   ===================================================== */

/* Hero atmosfera — collage tiles z zoom on hover */
.st-landing-hero { min-height: 480px; }
.st-landing-hero > div[aria-hidden] > div {
	transition: transform 6s ease, filter 6s ease;
}
.st-landing-hero:hover > div[aria-hidden] > div {
	transform: scale(1.05);
	filter: brightness(1.15);
}

/* Photo cards w regional clusters — flagship visual */
.st-cities-grid--photo {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 22px;
}

.st-city-photo-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	transition: transform .35s ease, box-shadow .35s ease, border-color .25s;
	box-shadow: 0 4px 14px rgba(20,17,11,.04);
}

.st-city-photo-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px -16px rgba(20,17,11,.18);
	border-color: var(--gold-dark, #9d6e1f);
}

.st-city-photo-card__img {
	position: relative;
	aspect-ratio: 16/10;
	background-size: cover;
	background-position: center;
	transition: transform .55s ease;
	overflow: hidden;
}
.st-city-photo-card__img::before {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20,17,11,0) 35%, rgba(20,17,11,.85) 100%);
	pointer-events: none;
}
.st-city-photo-card:hover .st-city-photo-card__img { transform: scale(1.05); }

.st-city-photo-card__flag {
	position: absolute;
	top: 14px;
	left: 14px;
	font-size: 22px;
	background: rgba(255,255,255,.92);
	width: 42px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
	z-index: 2;
}

.st-city-photo-card__name {
	position: absolute;
	bottom: 14px;
	left: 16px;
	right: 16px;
	color: #fff5e1;
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.005em;
	text-shadow: 0 2px 12px rgba(0,0,0,.6);
	z-index: 2;
}

.st-city-photo-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.st-city-photo-card__sub {
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--ink-soft, #555);
}
.st-city-photo-card__meta {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gold-dark, #9d6e1f);
	font-weight: 700;
}

/* =====================================================
   v15.63 — CITY HERO (per Stadt) — photo background dramatic
   ===================================================== */

/* Dramatic photo backdrop dla hero każdego miasta */
.section.st-hero {
	position: relative;
	color: #f5f0e1 !important;
	overflow: hidden;
	min-height: 540px;
	padding: 96px 0 80px !important;
}

.section.st-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--st-hero-bg, none);
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.section.st-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		120deg,
		rgba(20,17,11,.92) 0%,
		rgba(20,17,11,.78) 35%,
		rgba(20,17,11,.45) 70%,
		rgba(20,17,11,.25) 100%
	);
	z-index: 1;
}

.section.st-hero > .container { position: relative; z-index: 2; }

/* Hero text colors override w trybie photo bg */
.section.st-hero .display-1,
.section.st-hero h1 {
	color: #fff5e1 !important;
}
.section.st-hero .display-1 em { color: #e8c668 !important; }
.section.st-hero .lede,
.section.st-hero p { color: rgba(255,245,225,.85) !important; }
.section.st-hero .eyebrow {
	color: #e8c668 !important;
	font-weight: 700 !important;
	letter-spacing: .22em !important;
}

/* CTA buttons w hero */
.section.st-hero .btn--filled {
	background: #d4af37 !important;
	color: #1a1612 !important;
	border-color: #d4af37 !important;
	font-weight: 600 !important;
}
.section.st-hero .btn--filled:hover { background: #e8c668 !important; }
.section.st-hero .btn:not(.btn--filled) {
	background: rgba(255,245,225,.08) !important;
	color: #fff5e1 !important;
	border: 1.5px solid rgba(255,245,225,.4) !important;
}
.section.st-hero .btn:not(.btn--filled):hover {
	background: rgba(255,245,225,.16) !important;
	border-color: rgba(255,245,225,.7) !important;
}

/* Stats row w hero — light text */
.section.st-hero .st-stats { padding-top: 32px; border-top: 1px solid rgba(212,175,55,.25); margin-top: 48px; }
.section.st-hero .st-stat__num { color: #fff5e1 !important; }
.section.st-hero .st-stat__num em,
.section.st-hero .st-stat__num strong { color: #e8c668 !important; }
.section.st-hero .st-stat__lbl { color: rgba(255,245,225,.65) !important; }

/* Hero collage img (right side) — frame z gold border */
.section.st-hero .st-hero-collage {
	position: relative;
}
.section.st-hero .st-hero-collage img {
	border-radius: 12px;
	border: 2px solid rgba(212,175,55,.35);
	box-shadow: 0 24px 64px -20px rgba(0,0,0,.6);
	transition: transform .35s ease;
}
.section.st-hero .st-hero-collage:hover img { transform: scale(1.02); }
.section.st-hero .st-hero-badge {
	position: absolute;
	bottom: -16px;
	right: -16px;
	background: #d4af37;
	color: #1a1612;
	padding: 14px 20px;
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(0,0,0,.4);
}
.section.st-hero .st-hero-badge span {
	display: block;
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
}
.section.st-hero .st-hero-badge small {
	display: block;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-top: 4px;
	opacity: .8;
}

/* =====================================================
   v15.63 — KONTAKT city banner photo (gdy stadt= set)
   ===================================================== */

.kt-city-banner {
	position: relative;
	overflow: hidden;
}
.kt-city-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--kt-city-bg, none);
	background-size: cover;
	background-position: center;
	opacity: .15;
	z-index: 0;
}
.kt-city-banner > .container { position: relative; z-index: 1; }

/* =====================================================
   v15.63 — RESPONSIVE photo cards
   ===================================================== */

@media (max-width: 880px) {
	.st-landing-hero { padding: 56px 0 48px !important; }
	.st-landing-hero > .container > div[style*="grid-template-columns:1.4fr"] { grid-template-columns: 1fr !important; gap: 32px !important; }
	.st-cities-grid--photo { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 16px; }
	.st-city-photo-card__name { font-size: 22px; }
	.section.st-hero { min-height: auto; padding: 56px 0 40px !important; }
	.section.st-hero .st-hero-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
	.st-region__head { grid-template-columns: 1fr !important; gap: 16px !important; }
}

@media (max-width: 540px) {
	.st-cities-grid--photo { grid-template-columns: 1fr 1fr !important; gap: 12px; }
	.st-city-photo-card__name { font-size: 18px; bottom: 10px; left: 12px; right: 12px; }
	.st-city-photo-card__flag { width: 34px; height: 24px; font-size: 17px; top: 10px; left: 10px; }
	.st-city-photo-card__body { padding: 12px 14px 14px; }
	.st-city-photo-card__sub { font-size: 12.5px; }
	.st-city-photo-card__meta { font-size: 10px; }
}

@media (max-width: 380px) {
	.st-cities-grid--photo { grid-template-columns: 1fr !important; }
	.st-city-photo-card__name { font-size: 22px; }
}

/* =====================================================
   v15.64 — STIMMEN testimonials cards (city-specific)
   ===================================================== */

.st-voices-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 48px;
}

.st-voice-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 28px 24px;
	background: var(--bg-2, #faf6ec);
	border: 1px solid rgba(212,175,55,.18);
	border-left: 3px solid #d4af37;
	border-radius: 8px;
	transition: transform .25s ease, box-shadow .25s, border-color .25s;
}

.st-voice-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px -8px rgba(20,17,11,.12);
	border-color: var(--gold-dark, #9d6e1f);
}

.st-voice-card__rating {
	font-size: 18px;
	letter-spacing: 2px;
	color: #f4b400;
	line-height: 1;
}

.st-voice-card__quote {
	margin: 0;
	font-family: var(--serif, Georgia, serif);
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink, #14110b);
	font-style: italic;
	flex: 1;
	border-left: none;
	padding: 0;
}

.st-voice-card__author {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-top: 14px;
	border-top: 1px solid rgba(20,17,11,.08);
}
.st-voice-card__author strong {
	font-family: var(--serif, Georgia, serif);
	font-size: 17px;
	color: var(--ink, #14110b);
	font-weight: 500;
}
.st-voice-card__author span {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-mute, #6b6356);
	font-weight: 600;
}

.st-voice-card__project {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .08em;
	color: var(--gold-dark, #9d6e1f);
	font-weight: 700;
}

/* Inline CTA pod testimonialsami */
.st-voices-cta {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 28px;
	align-items: center;
	padding: 28px 32px;
	background: var(--bg-2, #faf6ec);
	border-radius: 10px;
	border: 1px solid var(--line);
}
.st-voices-cta strong {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: 20px;
	font-weight: 500;
	color: var(--ink);
	margin-bottom: 4px;
}
.st-voices-cta span {
	display: block;
	font-size: 14px;
	color: var(--ink-mute);
}

/* =====================================================
   v15.64 — KONFIGURATOR CTA BANNER (post-hero, dark)
   ===================================================== */

.st-konf-banner__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	align-items: center;
}

.st-konf-banner__btn {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 22px 28px;
	background: #d4af37;
	color: #1a1612;
	border-radius: 10px;
	text-decoration: none;
	box-shadow: 0 16px 40px -10px rgba(212,175,55,.4);
	transition: transform .2s ease, box-shadow .2s ease, background .2s;
	border: 2px solid #d4af37;
}
.st-konf-banner__btn:hover {
	background: #e8c668;
	transform: translateY(-2px);
	box-shadow: 0 24px 56px -10px rgba(212,175,55,.55);
}

.st-konf-banner__btn-icon {
	font-size: 32px;
	line-height: 1;
}

.st-konf-banner__btn-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
}
.st-konf-banner__btn-text strong {
	font-family: var(--serif, Georgia, serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.005em;
	line-height: 1.1;
}
.st-konf-banner__btn-text small {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	opacity: .7;
}

.st-konf-banner__btn-arrow {
	font-size: 24px;
	font-weight: 300;
	transition: transform .2s ease;
}
.st-konf-banner__btn:hover .st-konf-banner__btn-arrow { transform: translateX(4px); }

/* =====================================================
   v15.64 — STICKY FLOATING CTA BAR (mobile + desktop)
   ===================================================== */

.st-sticky-cta {
	position: fixed;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%) translateY(120%);
	width: calc(100% - 24px);
	max-width: 720px;
	background: rgba(20,17,11,.96);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: #f5f0e1;
	border-radius: 14px;
	box-shadow: 0 24px 60px -12px rgba(0,0,0,.45);
	border: 1px solid rgba(212,175,55,.3);
	padding: 14px 18px;
	z-index: 9990;
	transition: transform .35s cubic-bezier(.4, 0, .2, 1), opacity .25s;
	opacity: 0;
}
.st-sticky-cta.is-visible {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
}

.st-sticky-cta__inner {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: center;
}

.st-sticky-cta__city-eye {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #e8c668;
	font-weight: 700;
	margin-bottom: 2px;
}
.st-sticky-cta__city-text {
	font-size: 12.5px;
	line-height: 1.3;
	color: rgba(255,245,225,.75);
}

.st-sticky-cta__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.st-sticky-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 8px;
	text-decoration: none;
	font-family: var(--sans, system-ui, sans-serif);
	font-size: 13px;
	font-weight: 600;
	transition: transform .15s, background .15s, box-shadow .15s;
	white-space: nowrap;
}
.st-sticky-cta__btn:hover { transform: translateY(-1px); }

.st-sticky-cta__btn--ghost {
	background: rgba(255,245,225,.08);
	color: #fff5e1;
	border: 1px solid rgba(255,245,225,.18);
}
.st-sticky-cta__btn--ghost:hover { background: rgba(255,245,225,.16); }

.st-sticky-cta__btn--wa {
	background: #25d366;
	color: #fff;
}
.st-sticky-cta__btn--wa:hover { background: #1ebe5a; box-shadow: 0 8px 20px -4px rgba(37,211,102,.5); }

.st-sticky-cta__btn--primary {
	background: #d4af37;
	color: #1a1612;
}
.st-sticky-cta__btn--primary:hover { background: #e8c668; box-shadow: 0 8px 20px -4px rgba(212,175,55,.5); }

/* =====================================================
   v15.64 — RESPONSIVE
   ===================================================== */

@media (max-width: 880px) {
	.st-voices-grid { grid-template-columns: 1fr; gap: 18px; }
	.st-voices-cta { grid-template-columns: 1fr; gap: 18px; padding: 22px 20px; text-align: left; }
	.st-konf-banner__grid { grid-template-columns: 1fr; gap: 24px; }
	.st-konf-banner__btn { padding: 18px 22px; }
	.st-sticky-cta { width: calc(100% - 16px); bottom: 8px; padding: 10px 14px; }
	.st-sticky-cta__inner { grid-template-columns: 1fr; gap: 10px; }
	.st-sticky-cta__city { display: none; }  /* Mobile: tylko buttony */
	.st-sticky-cta__actions { justify-content: stretch; gap: 6px; }
	.st-sticky-cta__btn { flex: 1; justify-content: center; padding: 10px 8px; font-size: 12.5px; }
	.st-sticky-cta__btn-text {
		display: none;
	}
}

@media (max-width: 540px) {
	.st-voice-card { padding: 22px 18px; }
	.st-voice-card__quote { font-size: 14.5px; }
	.st-konf-banner__btn-text strong { font-size: 18px; }
	.st-konf-banner__btn-icon { font-size: 28px; }
	.st-sticky-cta__btn { font-size: 11.5px; padding: 9px 6px; }
	.st-sticky-cta__btn svg { width: 18px; height: 18px; }
}

@media (max-width: 380px) {
	.st-sticky-cta__btn span { display: none !important; }
	.st-sticky-cta__btn { padding: 12px; }
}

/* =====================================================
   v15.65 — HERO scaling fix (NIE rusza nav, tylko hero)
   Adam screenshot: header się rozjechał — wycofałem wszystkie nav overrides.
   Zachowuję TYLKO bezpieczne hero fixy.
   ===================================================== */

/* Hero photo wrap — bez forsowanego aspect-ratio (Adam: zdjęcie z kwadratu na pionowe) */
.fp-hero-photo {
	min-height: clamp(420px, 56vh, 620px);
	max-height: 720px;
	/* aspect-ratio usunięte — niech grow naturalnie do treści */
}

/* Hero buttons — flex row z wrap */
.fp-hero-section .flex.gap-4 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px;
}

/* Trust row — auto-fit zamiast fixed 4 columns (na mid-width nie ścieśnia liczb) */
.fp-hero-section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
	gap: clamp(20px, 2.4vw, 32px) !important;
}

/* Hero photo caption — lepsza czytelność */
.fp-hero-photo > div[style*="position:absolute;left:24px;bottom:24px"] > div:first-child {
	font-size: clamp(22px, 2.8vw, 36px) !important;
	line-height: 1.05 !important;
}

@media (max-width: 1100px) {
	.fp-hero-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
	.fp-hero-photo { min-height: 440px; max-height: 580px; }
}

@media (max-width: 540px) {
	.fp-hero-photo { min-height: 320px; max-height: 460px; }
	.fp-hero-section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
		gap: 24px 16px !important;
	}
	.fp-hero-section .flex.gap-4 .btn { flex: 1; min-width: 0; justify-content: center; }
}

/* =====================================================
   v15.66 — KOMPLEKSOWY HOME OVERHAUL
   Adam: zle sie rozmieszcza, nieczytelne ciemno, rozowy AI brzydki,
         rozszerza w nieskonczonosc, malutkie nie widac
   ===================================================== */

/* 1) HERO PHOTO — fix rozszerzania w nieskonczonosc */
.fp-hero-photo {
	min-height: 460px !important;
	max-height: 640px !important;
	height: 56vh !important;
	max-width: 100% !important;
}
.fp-hero-photo img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.fp-hero-photo-wrap {
	max-width: 100% !important;
	min-width: 0 !important;
}

/* 2) TRUST ROW (33000m+ etc.) — fix grid */
.fp-hero-section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: clamp(16px, 2vw, 32px) !important;
	padding-top: clamp(28px, 3vw, 40px) !important;
}
.fp-hero-section .mt-16 > div {
	min-width: 0 !important;
}
.fp-hero-section .mt-16 > div > div:first-child {
	font-size: clamp(28px, 3.2vw, 42px) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

@media (max-width: 880px) {
	.fp-hero-section .mt-16[style*="grid-template-columns:repeat(4,1fr)"] {
		grid-template-columns: 1fr 1fr !important;
		gap: 24px 16px !important;
	}
}

/* 3) MINI-KALKULATOR (czarna sekcja) — czytelnosc */
section[style*="background: var(--ink)"] [style*="color:#c4bba7"],
section[style*="background:var(--ink)"] [style*="color:#c4bba7"] {
	color: #e8dfc8 !important;
	font-size: 16px !important;
}
section[style*="background: var(--ink)"] h2,
section[style*="background:var(--ink)"] h2 {
	font-size: clamp(34px, 3.8vw, 52px) !important;
	color: #fff5e1 !important;
	line-height: 1.1 !important;
}
section[style*="background: var(--ink)"] input,
section[style*="background:var(--ink)"] input,
section[style*="background: var(--ink)"] select,
section[style*="background:var(--ink)"] select {
	border-bottom-color: #d4af37 !important;
	border-bottom-width: 2px !important;
	color: #fff5e1 !important;
	font-size: clamp(28px, 3vw, 38px) !important;
}
section[style*="background: var(--ink)"] label,
section[style*="background:var(--ink)"] label {
	font-size: 11.5px !important;
	color: #e8c668 !important;
	font-weight: 700 !important;
	letter-spacing: .22em !important;
}
section[style*="background: var(--ink)"] [style*="color:#8a7f6b"],
section[style*="background:var(--ink)"] [style*="color:#8a7f6b"] {
	color: #b5a577 !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	letter-spacing: .2em !important;
}
section[style*="background: var(--ink)"] [style*="font-family:var(--serif);font-size:44px"],
section[style*="background:var(--ink)"] [style*="font-family:var(--serif);font-size:44px"] {
	font-size: clamp(36px, 4.5vw, 56px) !important;
	color: #f0d68c !important;
}
section[style*="background: var(--ink)"] [style*="background:#0e0b07;border:1px solid #2a241a"],
section[style*="background:var(--ink)"] [style*="background:#0e0b07;border:1px solid #2a241a"] {
	background: linear-gradient(145deg, #0e0b07 0%, #1a1410 100%) !important;
	border: 1.5px solid rgba(212,175,55,.35) !important;
	border-radius: 12px !important;
}

/* 4) MANIFEST HERO QUOTE — premium dark, no pink */
.manifest__hero-quote-text {
	color: #fff5e1 !important;
	font-size: clamp(26px, 3.2vw, 44px) !important;
	font-weight: 400 !important;
	line-height: 1.18 !important;
	font-family: var(--serif, Georgia, serif) !important;
	font-style: italic !important;
	text-shadow: 0 2px 16px rgba(0,0,0,.7) !important;
}
.manifest__hero-quote-text em {
	color: #e8c668 !important;
	font-style: italic !important;
	background: none !important;
	-webkit-text-fill-color: #e8c668 !important;
}
.manifest__hero-quote-mark {
	color: #d4af37 !important;
	font-size: clamp(60px, 8vw, 120px) !important;
	font-family: var(--serif, Georgia, serif) !important;
	line-height: .8 !important;
	opacity: .9 !important;
}
.manifest__hero-quote-author strong {
	color: #fff5e1 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
}
.manifest__hero-quote-author span {
	color: rgba(255,245,225,.75) !important;
	font-size: 12px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
}
.manifest__hero-shade {
	background: linear-gradient(180deg, rgba(20,17,11,.15) 0%, rgba(20,17,11,.55) 45%, rgba(20,17,11,.92) 100%) !important;
}
.manifest__hero-corner {
	border-color: #d4af37 !important;
	opacity: .8 !important;
}
.manifest__bottom-quote .manifest__bottom-text em,
.manifest__bottom-text em {
	color: #9d6e1f !important;
	background: none !important;
	-webkit-text-fill-color: #9d6e1f !important;
}

/* 5) FAMILY CARDS (Sicherheit/Privatsphaere/Wertsteigerung) */
.fp-family__card {
	padding: clamp(28px, 3.5vw, 44px) clamp(22px, 2.5vw, 32px) !important;
	background: #fff !important;
	border: 1px solid rgba(0,0,0,.06) !important;
	border-top: 3px solid #d4af37 !important;
	border-radius: 8px !important;
}
.fp-family__card--sage,
.fp-family__card--rose,
.fp-family__card--cream {
	border-top-color: #d4af37 !important;
}
.fp-family__icon {
	color: #9d6e1f !important;
	margin-bottom: 18px !important;
}
.fp-family__icon svg {
	width: 44px !important;
	height: 44px !important;
}
.fp-family__h {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(22px, 2.4vw, 30px) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	color: var(--ink, #14110b) !important;
	margin: 0 0 14px !important;
}
.fp-family__txt {
	font-size: 15.5px !important;
	line-height: 1.65 !important;
	color: var(--ink-soft, #444) !important;
	margin: 0 0 24px !important;
}
.fp-family__txt strong {
	color: var(--ink, #14110b) !important;
	font-weight: 600 !important;
}
.fp-family__stat {
	padding-top: 18px !important;
	border-top: 1px solid rgba(212,175,55,.25) !important;
	display: flex !important;
	align-items: baseline !important;
	gap: 14px !important;
}
.fp-family__stat-num {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(28px, 3.2vw, 42px) !important;
	font-weight: 600 !important;
	color: #9d6e1f !important;
	line-height: 1 !important;
	white-space: nowrap !important;
}
.fp-family__stat-lbl {
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11px !important;
	letter-spacing: .14em !important;
	color: var(--ink-mute, #6b6356) !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

/* 6) SECHS SCHRITTE — wieksze fonty + lepsza struktura */
.section ol[style*="counter-reset:step"] {
	margin: 0 !important;
	padding: 0 !important;
}
.section ol[style*="counter-reset:step"] > li {
	display: grid !important;
	grid-template-columns: clamp(72px, 8vw, 110px) 1.1fr 1.4fr clamp(140px, 14vw, 200px) !important;
	gap: clamp(20px, 3vw, 48px) !important;
	padding: clamp(36px, 4vw, 56px) 0 !important;
	border-top: 1px solid rgba(212,175,55,.2) !important;
	align-items: start !important;
}
.section ol[style*="counter-reset:step"] > li > div:first-child > div:first-child {
	font-size: clamp(56px, 7.5vw, 96px) !important;
	font-weight: 600 !important;
	line-height: .9 !important;
	letter-spacing: -.04em !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent !important;
}
.section ol[style*="counter-reset:step"] > li > div:first-child svg {
	width: 44px !important;
	height: 44px !important;
	margin-top: 14px !important;
	opacity: .85 !important;
	color: #9d6e1f !important;
}
.section ol[style*="counter-reset:step"] > li .kicker {
	font-size: 11.5px !important;
	color: #9d6e1f !important;
	font-weight: 700 !important;
	letter-spacing: .22em !important;
}
.section ol[style*="counter-reset:step"] > li .display-3 {
	font-size: clamp(22px, 2.4vw, 30px) !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	color: var(--ink, #14110b) !important;
	margin: 4px 0 12px !important;
}
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > div:last-child {
	margin-top: 14px !important;
	font-size: 11px !important;
	letter-spacing: .15em !important;
	color: var(--ink-mute, #6b6356) !important;
	font-weight: 700 !important;
}
.section ol[style*="counter-reset:step"] > li > p {
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: var(--ink-soft, #444) !important;
	margin: 0 !important;
}
.section ol[style*="counter-reset:step"] > li > div:last-child {
	font-size: 11px !important;
	letter-spacing: .18em !important;
	font-weight: 700 !important;
	color: var(--ink-mute, #6b6356) !important;
	text-align: right !important;
}
.section ol[style*="counter-reset:step"] > li > div:last-child > div:first-child {
	color: #9d6e1f !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	margin-bottom: 4px !important;
}
.section ol[style*="counter-reset:step"] > li:last-child {
	background: linear-gradient(135deg, rgba(212,175,55,.06) 0%, rgba(212,175,55,.02) 100%) !important;
	border-top: 2px solid #d4af37 !important;
	border-bottom: 2px solid #d4af37 !important;
	margin: 8px 0 !important;
	padding-left: clamp(16px, 2vw, 24px) !important;
	padding-right: clamp(16px, 2vw, 24px) !important;
	border-radius: 8px !important;
}

/* Timeline horizontal pasek */
.section [style*="grid-template-columns:repeat(6,1fr)"] {
	gap: clamp(8px, 1.5vw, 18px) !important;
}
.section [style*="grid-template-columns:repeat(6,1fr)"] > div .kicker {
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	color: #9d6e1f !important;
}
.section [style*="grid-template-columns:repeat(6,1fr)"] > div > div:last-child {
	font-size: 14px !important;
	font-weight: 500 !important;
}

.section[style*="background: var(--bg-2)"] .display-2,
.section[style*="background:var(--bg-2)"] .display-2 {
	font-size: clamp(36px, 4.5vw, 56px) !important;
}
.section [style*="font-family:var(--mono);font-size:11px;letter-spacing:.18em"] {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #9d6e1f !important;
}

/* 7) SECHS SCHRITTE responsive */
@media (max-width: 880px) {
	.section ol[style*="counter-reset:step"] > li {
		grid-template-columns: 80px 1fr !important;
		grid-template-rows: auto auto !important;
		gap: 16px 24px !important;
		padding: 32px 0 !important;
	}
	.section ol[style*="counter-reset:step"] > li > p {
		grid-column: 2 !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:last-child {
		grid-column: 2 !important;
		text-align: left !important;
		margin-top: 8px !important;
	}
	.section ol[style*="counter-reset:step"] > li .display-3 {
		font-size: 22px !important;
	}
	.section [style*="grid-template-columns:repeat(6,1fr)"] {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 14px 8px !important;
	}
}
@media (max-width: 540px) {
	.section ol[style*="counter-reset:step"] > li {
		grid-template-columns: 56px 1fr !important;
		gap: 12px 16px !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:first-child > div:first-child {
		font-size: 44px !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:first-child svg {
		width: 30px !important;
		height: 30px !important;
	}
	.section [style*="grid-template-columns:repeat(6,1fr)"] {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* 8) MINI-KALKULATOR responsive */
@media (max-width: 1100px) {
	section[style*="background: var(--ink)"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"],
	section[style*="background:var(--ink)"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"] {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
}
@media (max-width: 600px) {
	section[style*="background: var(--ink)"] [style*="grid-template-columns: 1fr 1fr 1fr"],
	section[style*="background:var(--ink)"] [style*="grid-template-columns: 1fr 1fr 1fr"] {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* 9) FAMILY CARDS responsive */
.fp-family__grid {
	grid-template-columns: repeat(3, 1fr) !important;
	gap: clamp(16px, 2.4vw, 32px) !important;
}
@media (max-width: 880px) {
	.fp-family__grid { grid-template-columns: 1fr !important; gap: 18px !important; }
	.fp-family__card { padding: 28px 24px !important; }
	.fp-family__h { font-size: 22px !important; }
	.fp-family__stat-num { font-size: 30px !important; }
}


/* =====================================================
   v15.67 — SECHS SCHRITTE markup-free overhaul (2-col layout)
   Adam screenshot: 4-col layout rozjezdza sie, nieczytelne na ~1100px
   Strategia: NUMER (left) | WSZYSTKO (right) — content stackuje sie pionowo
   ===================================================== */

/* Override 4-col grid → 2-col z stack content w prawej kolumnie */
.section ol[style*="counter-reset:step"] > li {
	display: grid !important;
	grid-template-columns: clamp(80px, 9vw, 140px) 1fr !important;
	grid-template-rows: auto !important;
	gap: 0 clamp(28px, 4vw, 56px) !important;
	padding: clamp(40px, 4.5vw, 64px) 0 !important;
	border-top: 1px solid rgba(212,175,55,.22) !important;
	align-items: start !important;
}

/* Numer + ikona — sticky vertical */
.section ol[style*="counter-reset:step"] > li > div:first-child {
	grid-column: 1 !important;
	grid-row: 1 / span 4 !important;
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	align-items: flex-start !important;
}

/* Numer 01-06 — duzy gold gradient */
.section ol[style*="counter-reset:step"] > li > div:first-child > div:first-child {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(64px, 8vw, 104px) !important;
	font-weight: 600 !important;
	line-height: .85 !important;
	letter-spacing: -.04em !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	margin: 0 !important;
}

/* SVG ikona pod numerem */
.section ol[style*="counter-reset:step"] > li > div:first-child svg {
	width: clamp(32px, 3.5vw, 48px) !important;
	height: clamp(32px, 3.5vw, 48px) !important;
	margin: 0 !important;
	opacity: .7 !important;
	color: #9d6e1f !important;
}

/* HEADER (kicker + H3 + meta tags) — Schritt Eins / Konfigurator online / 5 Modelle · 30 Farben */
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
}

/* Kicker "Schritt Eins" */
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > .kicker,
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > div:first-child {
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11.5px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	color: #9d6e1f !important;
	font-weight: 700 !important;
	margin-bottom: 6px !important;
}

/* H3 "Konfigurator online" */
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > .display-3,
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > h3 {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	font-weight: 500 !important;
	line-height: 1.12 !important;
	color: var(--ink, #14110b) !important;
	margin: 4px 0 12px !important;
	letter-spacing: -.005em !important;
}

/* Meta tags row "64 Modelle · 30 Farben · Sofort-Preis" */
.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > div:last-child {
	display: flex !important;
	gap: 14px !important;
	flex-wrap: wrap !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11.5px !important;
	letter-spacing: .15em !important;
	color: var(--ink-mute, #6b6356) !important;
	text-transform: uppercase !important;
	font-weight: 700 !important;
	margin-top: 10px !important;
}

/* DESCRIPTION paragraph "Modell wählen..." */
.section ol[style*="counter-reset:step"] > li > p {
	grid-column: 2 !important;
	grid-row: 2 !important;
	margin: 18px 0 0 !important;
	font-size: 15.5px !important;
	line-height: 1.65 !important;
	color: var(--ink-soft, #444) !important;
	max-width: 680px !important;
}

/* RIGHT BADGE (TAG 1 / 0 € · ONLINE) — staje sie inline pod paragraphem */
.section ol[style*="counter-reset:step"] > li > div:last-child {
	grid-column: 2 !important;
	grid-row: 3 !important;
	margin: 18px 0 0 !important;
	padding: 12px 0 0 !important;
	border-top: 1px solid rgba(212,175,55,.22) !important;
	display: flex !important;
	gap: 16px !important;
	align-items: baseline !important;
	text-align: left !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11.5px !important;
	letter-spacing: .15em !important;
	color: var(--ink-mute, #6b6356) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	max-width: 680px !important;
}

/* "TAG 1" / "WOCHE 14" — gold accent */
.section ol[style*="counter-reset:step"] > li > div:last-child > div:first-child {
	color: #9d6e1f !important;
	font-size: 12.5px !important;
	font-weight: 800 !important;
	letter-spacing: .18em !important;
	margin: 0 !important;
}

/* "0 € · ONLINE" / "Ø 38 MIN" — meta value */
.section ol[style*="counter-reset:step"] > li > div:last-child {
	color: var(--ink, #14110b) !important;
}

/* Last step (06) — premium gold panel */
.section ol[style*="counter-reset:step"] > li:last-child {
	background: linear-gradient(135deg, rgba(212,175,55,.08) 0%, rgba(212,175,55,.02) 100%) !important;
	border-top: 2px solid #d4af37 !important;
	border-bottom: 2px solid #d4af37 !important;
	margin: 12px 0 !important;
	padding-left: clamp(16px, 2vw, 28px) !important;
	padding-right: clamp(16px, 2vw, 28px) !important;
	border-radius: 10px !important;
}

/* Mobile: 1 col (numer + content stacked) */
@media (max-width: 720px) {
	.section ol[style*="counter-reset:step"] > li {
		grid-template-columns: 1fr !important;
		gap: 14px 0 !important;
		padding: 36px 0 !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:first-child {
		grid-column: 1 !important;
		grid-row: 1 !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 18px !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:first-child > div:first-child {
		font-size: 56px !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:first-child svg {
		width: 32px !important;
		height: 32px !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:nth-child(2) {
		grid-row: 2 !important;
	}
	.section ol[style*="counter-reset:step"] > li > p {
		grid-row: 3 !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:last-child {
		grid-row: 4 !important;
	}
	.section ol[style*="counter-reset:step"] > li > div:nth-child(2) > .display-3 {
		font-size: 22px !important;
	}
}

/* Timeline horizontal (Tag 1 → Woche 14) — wieksze fonty */
.section [style*="grid-template-columns:repeat(6,1fr)"] > div .kicker {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	color: #9d6e1f !important;
}
.section [style*="grid-template-columns:repeat(6,1fr)"] > div > div:last-child {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(13px, 1.4vw, 16px) !important;
	font-weight: 500 !important;
	color: var(--ink, #14110b) !important;
}

@media (max-width: 720px) {
	.section [style*="grid-template-columns:repeat(6,1fr)"] {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 18px 8px !important;
	}
	.section [style*="grid-template-columns:repeat(6,1fr)"] > div > div:last-child {
		font-size: 12.5px !important;
	}
}

@media (max-width: 460px) {
	.section [style*="grid-template-columns:repeat(6,1fr)"] {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px 8px !important;
	}
}


/* =====================================================
   v15.68 — PROCESS STUDIO premium markup overhaul
   Adam: nikt nie czyta, dodaj widzety, nowoczesne, czytelne
   ===================================================== */

.fp-process-section {
	padding: clamp(72px, 9vw, 120px) 0 clamp(80px, 10vw, 140px);
	background: linear-gradient(180deg, #faf6ec 0%, #fff 70%);
	position: relative;
	overflow: hidden;
}
.fp-process-section::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(212,175,55,.4), transparent);
}

/* HEADER */
.fp-process-head { margin-bottom: clamp(48px, 5vw, 80px); }
.fp-process-head__top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: end;
	margin-bottom: clamp(40px, 4vw, 64px);
}
.fp-process-head__h {
	font-size: clamp(36px, 5vw, 64px) !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}
.fp-process-head__h em {
	color: #9d6e1f !important;
	font-style: italic !important;
}

/* 4 STAT WIDGETS */
.fp-process-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(12px, 1.6vw, 20px);
	padding: clamp(24px, 3vw, 36px);
	background: #fff;
	border: 1px solid rgba(212,175,55,.18);
	border-radius: 14px;
	box-shadow: 0 4px 20px rgba(20,17,11,.04);
}
.fp-process-stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 6px;
	border-right: 1px solid rgba(212,175,55,.12);
}
.fp-process-stat:last-child { border-right: 0; }
.fp-process-stat--gold {
	background: linear-gradient(135deg, rgba(212,175,55,.08) 0%, rgba(212,175,55,0) 100%);
	border-radius: 8px;
	border-right-color: rgba(212,175,55,.25);
	padding: 14px 16px;
}
.fp-process-stat__num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 600;
	color: #14110b;
	line-height: 1;
	letter-spacing: -.02em;
	white-space: nowrap;
}
.fp-process-stat--gold .fp-process-stat__num {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-process-stat__num small {
	font-size: .55em;
	font-weight: 500;
	color: #d4af37;
	margin-left: 2px;
}
.fp-process-stat__lbl {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6b6356;
	font-weight: 700;
	line-height: 1.45;
}

/* ANIMATED PROGRESS TIMELINE */
.fp-process-timeline {
	position: relative;
	margin: 0 0 clamp(48px, 5vw, 80px);
	padding: 36px clamp(20px, 3vw, 40px) 24px;
	background: #fff;
	border: 1px solid rgba(212,175,55,.18);
	border-radius: 14px;
}
.fp-process-timeline__line {
	position: absolute;
	top: 64px;
	left: clamp(40px, 6vw, 80px);
	right: clamp(40px, 6vw, 80px);
	height: 2px;
	background: linear-gradient(90deg, #d4af37 0%, #d4af37 80%, #14110b 100%);
	border-radius: 1px;
}
.fp-process-timeline__steps {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: clamp(8px, 1vw, 16px);
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}
.fp-process-timeline__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
	transition: transform .25s ease;
}
.fp-process-timeline__step:hover { transform: translateY(-3px); }
.fp-process-timeline__dot {
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	background: #fff;
	border: 2px solid #d4af37;
	border-radius: 50%;
	font-family: var(--serif, Georgia, serif);
	font-size: 18px;
	font-weight: 600;
	color: #9d6e1f;
	box-shadow: 0 4px 12px rgba(212,175,55,.2);
	z-index: 2;
	transition: all .25s ease;
}
.fp-process-timeline__step:hover .fp-process-timeline__dot {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%);
	color: #1a1612;
	box-shadow: 0 8px 20px rgba(212,175,55,.4);
	transform: scale(1.1);
}
.fp-process-timeline__step--final .fp-process-timeline__dot {
	background: #14110b;
	color: #d4af37;
	border-color: #14110b;
}
.fp-process-timeline__step--final:hover .fp-process-timeline__dot {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%);
	color: #14110b;
	border-color: #d4af37;
}
.fp-process-timeline__when {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9d6e1f;
	font-weight: 700;
	margin-top: 4px;
}
.fp-process-timeline__title {
	font-family: var(--serif, Georgia, serif);
	font-size: 14px;
	font-weight: 500;
	color: #14110b;
}
.fp-process-timeline__step--final .fp-process-timeline__when,
.fp-process-timeline__step--final .fp-process-timeline__title {
	color: #14110b;
	font-weight: 700;
}

/* 6 CARDS GRID (3 col) */
.fp-process-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 28px);
	margin-bottom: clamp(40px, 5vw, 64px);
}

.fp-process-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(212,175,55,.16);
	border-radius: 14px;
	padding: clamp(22px, 2.4vw, 32px);
	gap: 12px;
	transition: transform .35s ease, box-shadow .35s, border-color .25s;
	position: relative;
	overflow: hidden;
}
.fp-process-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
	opacity: 0;
	transition: opacity .25s ease;
}
.fp-process-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 56px -16px rgba(20,17,11,.12);
	border-color: rgba(212,175,55,.4);
}
.fp-process-card:hover::before { opacity: 1; }

.fp-process-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 4px;
}
.fp-process-card__num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(48px, 5vw, 64px);
	font-weight: 600;
	line-height: .9;
	letter-spacing: -.04em;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-process-card__pill {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	background: rgba(212,175,55,.08);
	border: 1px solid rgba(212,175,55,.25);
	padding: 6px 12px;
	border-radius: 999px;
	white-space: nowrap;
	margin-top: 8px;
}
.fp-process-card__pill--ghost {
	background: transparent;
	color: #6b6356;
	border-color: rgba(20,17,11,.18);
}
.fp-process-card__icon {
	color: #9d6e1f;
	margin: 4px 0 8px;
	opacity: .85;
}
.fp-process-card__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
}
.fp-process-card__title {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 500;
	line-height: 1.15;
	color: #14110b;
	margin: 0;
	letter-spacing: -.005em;
}
.fp-process-card__desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: #4a4438;
	margin: 4px 0 8px;
	flex: 1;
}
.fp-process-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px 0 0;
	border-top: 1px solid rgba(212,175,55,.18);
	margin-top: 8px;
}
.fp-process-card__meta span {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6b6356;
	background: #faf6ec;
	padding: 5px 10px;
	border-radius: 4px;
}
.fp-process-card__foot {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 12px 0 0;
	margin-top: auto;
}
.fp-process-card__cost {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 600;
	line-height: 1;
	color: #d4af37;
	letter-spacing: -.02em;
}
.fp-process-card__cost-lbl {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6b6356;
}

/* "+ DETAILS" linkout card */
.fp-process-card--linkout {
	background: linear-gradient(135deg, #1a1612 0%, #2a2218 100%);
	color: #f5f0e1;
	border-color: rgba(212,175,55,.3);
	cursor: pointer;
}
.fp-process-card__linkout-cover {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.fp-process-card--linkout > * { position: relative; z-index: 2; }
.fp-process-card--linkout::before {
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
	opacity: 1;
}
.fp-process-card--linkout .fp-process-card__num {
	font-size: 64px;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-process-card--linkout .fp-process-card__pill {
	background: rgba(212,175,55,.15);
	border-color: rgba(212,175,55,.4);
	color: #e8c668;
}
.fp-process-card--linkout .fp-process-card__icon { color: #d4af37; opacity: 1; }
.fp-process-card--linkout .fp-process-card__eyebrow { color: #e8c668; }
.fp-process-card--linkout .fp-process-card__title { color: #fff5e1; }
.fp-process-card--linkout .fp-process-card__desc { color: rgba(255,245,225,.8); }
.fp-process-card--linkout .fp-process-card__meta {
	border-top-color: rgba(212,175,55,.25);
}
.fp-process-card--linkout .fp-process-card__meta span {
	background: rgba(255,245,225,.06);
	color: rgba(255,245,225,.7);
}
.fp-process-card__foot--cta {
	border-top: 1px solid rgba(212,175,55,.25);
}
.fp-process-card__cta {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 13px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 700;
	color: #d4af37;
	transition: transform .2s;
}
.fp-process-card--linkout:hover .fp-process-card__cta {
	transform: translateX(6px);
}

/* 06 — FULL-WIDTH PREMIUM FINAL BANNER */
.fp-process-final {
	position: relative;
	background: linear-gradient(135deg, #1a1612 0%, #14110b 60%, #2a2218 100%);
	color: #f5f0e1;
	border-radius: 20px;
	padding: clamp(40px, 5vw, 72px);
	overflow: hidden;
	box-shadow: 0 24px 64px -16px rgba(20,17,11,.4);
}
.fp-process-final::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 0% 0%, rgba(212,175,55,.18) 0%, transparent 50%),
		radial-gradient(ellipse at 100% 100%, rgba(212,175,55,.12) 0%, transparent 50%);
	pointer-events: none;
}

/* Progress bar */
.fp-process-final__bar {
	position: relative;
	margin-bottom: clamp(32px, 4vw, 48px);
}
.fp-process-final__bar-fill {
	height: 6px;
	background: linear-gradient(90deg, #9d6e1f 0%, #d4af37 50%, #f0d68c 100%);
	border-radius: 3px;
	box-shadow: 0 2px 12px rgba(212,175,55,.5);
	position: relative;
}
.fp-process-final__bar-fill::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: #f0d68c;
	border: 3px solid #fff5e1;
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(240,214,140,.2), 0 4px 16px rgba(212,175,55,.6);
}
.fp-process-final__bar-points {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 14px;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: rgba(255,245,225,.55);
}
.fp-process-final__bar-points > span:last-child,
.fp-process-final__bar-points--end {
	color: #f0d68c;
	text-align: right;
}

.fp-process-final__inner {
	display: grid;
	grid-template-columns: clamp(120px, 12vw, 200px) 1fr;
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
	position: relative;
	z-index: 2;
}
.fp-process-final__num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(96px, 12vw, 180px);
	font-weight: 600;
	line-height: .85;
	letter-spacing: -.04em;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-process-final__num-line {
	width: 56px;
	height: 3px;
	background: #d4af37;
	margin-top: 18px;
	border-radius: 2px;
}
.fp-process-final__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #e8c668;
	margin-bottom: 14px;
}
.fp-process-final__h {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(32px, 4.5vw, 56px);
	font-weight: 500;
	line-height: 1.05;
	color: #fff5e1;
	margin: 0 0 18px;
	letter-spacing: -.01em;
}
.fp-process-final__lede {
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.55;
	color: rgba(255,245,225,.82);
	margin: 0 0 32px;
	max-width: 720px;
}
.fp-process-final__lede strong {
	color: #f0d68c;
	font-weight: 600;
}

/* Payment methods grid */
.fp-process-final__methods {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.fp-process-final__method {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px 20px;
	background: rgba(255,245,225,.05);
	border: 1px solid rgba(212,175,55,.2);
	border-radius: 10px;
	transition: background .2s, border-color .2s, transform .2s;
}
.fp-process-final__method:hover {
	background: rgba(255,245,225,.08);
	border-color: rgba(212,175,55,.4);
	transform: translateY(-2px);
}
.fp-process-final__method-icon {
	color: #d4af37;
	flex-shrink: 0;
	margin-top: 2px;
}
.fp-process-final__method strong {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: 17px;
	font-weight: 500;
	color: #fff5e1;
	margin-bottom: 2px;
}
.fp-process-final__method span {
	display: block;
	font-size: 12.5px;
	color: rgba(255,245,225,.65);
	line-height: 1.4;
}

/* =====================================================
   v15.68 — RESPONSIVE
   ===================================================== */

@media (max-width: 1100px) {
	.fp-process-head__top {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.fp-process-stats { grid-template-columns: repeat(2, 1fr); }
	.fp-process-stat:nth-child(2) { border-right: 0; }
	.fp-process-grid { grid-template-columns: repeat(2, 1fr); }
	.fp-process-final__inner { grid-template-columns: 1fr; gap: 20px; }
	.fp-process-final__num-line { display: none; }
	.fp-process-final__methods { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
	.fp-process-stats { grid-template-columns: 1fr 1fr; gap: 8px; padding: 18px; }
	.fp-process-stat { padding: 12px 8px; border-right: 0; border-bottom: 1px solid rgba(212,175,55,.12); }
	.fp-process-stat:nth-child(3),
	.fp-process-stat:nth-child(4) { border-bottom: 0; }
	.fp-process-stat__num { font-size: 32px; }

	.fp-process-timeline { padding: 24px 16px 18px; }
	.fp-process-timeline__line { display: none; }
	.fp-process-timeline__steps {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px 8px;
	}
	.fp-process-timeline__dot { width: 44px; height: 44px; font-size: 14px; }
	.fp-process-timeline__title { font-size: 12.5px; }
	.fp-process-timeline__when { font-size: 9.5px; }

	.fp-process-grid { grid-template-columns: 1fr; }
	.fp-process-card { padding: 22px 20px; }

	.fp-process-final { padding: 32px 22px; }
	.fp-process-final__num { font-size: 80px; }
	.fp-process-final__h { font-size: 28px; }
	.fp-process-final__bar-points { grid-template-columns: 1fr 1fr; gap: 8px; }
	.fp-process-final__bar-points > span:nth-child(3) { display: none; }
}

@media (max-width: 460px) {
	.fp-process-timeline__steps { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
	.fp-process-card__num { font-size: 44px; }
	.fp-process-card__title { font-size: 19px; }
	.fp-process-card__pill { font-size: 9.5px; padding: 4px 10px; }
}


/* =====================================================
   v15.69 — BESTSELLER CARDS (bs-card) overhaul
   Adam: produkty nieczytelne, fragmentaryczne, image rozjeza sie
   Strategia: 1 separator, image cover, meta jako chips, premium CTA
   ===================================================== */

/* Card overall — premium look */
.bs-card {
	background: #fff !important;
	border: 1px solid rgba(212,175,55,.18) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	transition: transform .35s ease, box-shadow .35s, border-color .25s !important;
	display: flex !important;
	flex-direction: column !important;
}
.bs-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 28px 64px -20px rgba(20,17,11,.18) !important;
	border-color: #d4af37 !important;
}

/* RANK badge "#2" — premium gold instead of dark grey square */
.bs-card__rank {
	top: 14px !important;
	right: 14px !important;
	background: rgba(20,17,11,.85) !important;
	color: #f0d68c !important;
	font-size: 10.5px !important;
	letter-spacing: .2em !important;
	font-weight: 700 !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(212,175,55,.4) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
}

/* IMAGE container — pelna powierzchnia, gradient bg */
.bs-card__img {
	aspect-ratio: 4 / 3 !important;
	padding: 0 !important;
	background: linear-gradient(135deg, #f4ede0 0%, #faf6ec 100%) !important;
	border-bottom: 1px solid rgba(212,175,55,.12) !important;
	position: relative !important;
}
.bs-card__img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;        /* COVER zamiast contain — wypelnia karte */
	object-position: center !important;
	transition: transform .55s cubic-bezier(.2,.7,.2,1) !important;
}
.bs-card:hover .bs-card__img img {
	transform: scale(1.06) !important;
}

/* NL gradient overlay (delikatny gold tint) */
.bs-card--nl .bs-card__img {
	background: linear-gradient(135deg, #fffbef 0%, #faf2dc 100%) !important;
}
.bs-card--nl .bs-card__img::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(212,175,55,.05) 100%);
	pointer-events: none;
	z-index: 1;
}

/* BADGE "Neue Linie" — pill, gold, top-left */
.bs-card__badge {
	top: 14px !important;
	left: 14px !important;
	background: #d4af37 !important;
	color: #1a1612 !important;
	border: none !important;
	font-size: 10px !important;
	letter-spacing: .2em !important;
	font-weight: 700 !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 14px rgba(212,175,55,.4) !important;
	z-index: 2 !important;
}

/* BODY — kompaktowe, mniej separatorow */
.bs-card__body {
	padding: 22px 22px 20px !important;
	gap: 14px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* HEAD — N°ML2 + Neue Linie 2 razem (no separator) */
.bs-card__head {
	flex-direction: column !important;
	gap: 4px !important;
}
.bs-card__head > div:first-child {
	margin-bottom: 0 !important;
}
.bs-card__num {
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11px !important;
	letter-spacing: .2em !important;
	font-weight: 700 !important;
	color: #9d6e1f !important;
	text-transform: uppercase !important;
	margin: 0 0 6px !important;
}
.bs-card__name {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(22px, 2.2vw, 28px) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	color: #14110b !important;
	margin: 0 !important;
	letter-spacing: -.01em !important;
}

/* PRICE — duzy, zaden border-top, naturalny inline z label */
.bs-card__price {
	display: flex !important;
	align-items: baseline !important;
	gap: 10px !important;
	padding: 0 !important;
	border-top: 0 !important;
	margin-top: 4px !important;
	white-space: nowrap !important;
}
.bs-card__price-num {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(30px, 3vw, 42px) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: -.025em !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}
.bs-card__price-num em {
	font-size: .65em !important;
	font-style: normal !important;
	margin-left: 2px !important;
}
.bs-card__price-unit {
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 10.5px !important;
	letter-spacing: .14em !important;
	font-weight: 700 !important;
	color: #6b6356 !important;
	text-transform: uppercase !important;
	margin-left: auto !important;
	flex-shrink: 0 !important;
}

/* META — jako chip-pills (200 cm | 6 Farben | ★5,0) */
.bs-card__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	padding: 0 !important;
	border-top: 0 !important;            /* USUWAM separator */
	margin-top: 2px !important;
}
.bs-card__meta > span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 10.5px !important;
	letter-spacing: .1em !important;
	font-weight: 700 !important;
	color: #6b6356 !important;
	text-transform: uppercase !important;
	background: #faf6ec !important;
	border: 1px solid rgba(212,175,55,.15) !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	white-space: nowrap !important;
}
.bs-card__meta strong {
	color: #14110b !important;
	font-family: var(--serif, Georgia, serif) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	margin-right: 2px !important;
}
.bs-card__rating {
	color: #d4af37 !important;
	background: rgba(212,175,55,.1) !important;
	border-color: rgba(212,175,55,.3) !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
}

/* CTA — premium gold button, pelna szerokosc, hover fill */
.bs-card__cta {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-top: auto !important;
	padding: 14px 18px !important;
	border-top: 1px solid rgba(212,175,55,.18) !important;
	background: #faf6ec !important;
	margin: auto -22px -20px !important;     /* full-width fill bottom */
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 11.5px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: #14110b !important;
	font-weight: 700 !important;
	transition: background .25s, color .25s !important;
}
.bs-card:hover .bs-card__cta {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%) !important;
	color: #1a1612 !important;
}
.bs-card__arrow {
	font-size: 18px !important;
	color: #9d6e1f !important;
	transition: transform .2s ease !important;
	letter-spacing: 0 !important;
}
.bs-card:hover .bs-card__arrow {
	transform: translateX(6px) !important;
	color: #1a1612 !important;
}

/* NL card — gold border emphasis */
.bs-card--nl {
	border: 1.5px solid #d4af37 !important;
	box-shadow: 0 0 0 4px rgba(212,175,55,.06) !important;
}
.bs-card--nl:hover {
	border-color: #9d6e1f !important;
	box-shadow: 0 28px 64px -20px rgba(212,175,55,.35), 0 0 0 4px rgba(212,175,55,.1) !important;
}

/* =====================================================
   v15.69 — RESPONSIVE
   ===================================================== */

@media (max-width: 1100px) {
	.bs-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}

@media (max-width: 720px) {
	.bs-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
	.bs-card__body { padding: 20px 20px 18px !important; gap: 12px !important; }
	.bs-card__name { font-size: 22px !important; }
	.bs-card__price-num { font-size: 30px !important; }
	.bs-card__cta { margin: auto -20px -18px !important; padding: 12px 18px !important; }
	.bs-card__img { aspect-ratio: 16/10 !important; }
}

@media (max-width: 460px) {
	.bs-card__body { padding: 18px 18px 16px !important; }
	.bs-card__cta { margin: auto -18px -16px !important; padding: 12px 16px !important; font-size: 10.5px !important; }
	.bs-card__name { font-size: 20px !important; }
	.bs-card__price { flex-wrap: wrap; }
	.bs-card__price-unit { margin-left: 0 !important; flex-basis: 100% !important; }
	.bs-card__meta > span { font-size: 10px !important; padding: 4px 8px !important; }
}


/* =====================================================
   v15.70 — HERO STATS BANNER (pelna szerokosc, gold premium)
   Adam: cyfry zajmuja niepotrzebne miejsce w left column
   Strategia: oddzielna sekcja pod hero, full-width, premium dark
   ===================================================== */

.fp-hero-stats {
	padding: clamp(40px, 5vw, 64px) 0;
	background: linear-gradient(135deg, #1a1612 0%, #14110b 50%, #2a2218 100%);
	color: #f5f0e1;
	border-top: 1px solid rgba(212,175,55,.25);
	border-bottom: 1px solid rgba(212,175,55,.25);
	position: relative;
	overflow: hidden;
}
.fp-hero-stats::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 50%, rgba(212,175,55,.1) 0%, transparent 40%),
		radial-gradient(circle at 80% 50%, rgba(212,175,55,.08) 0%, transparent 40%);
	pointer-events: none;
}
.fp-hero-stats > .container {
	position: relative;
	z-index: 2;
}

.fp-hero-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(8px, 1.5vw, 24px);
	align-items: stretch;
}

.fp-hero-stat {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: clamp(16px, 2vw, 28px) clamp(14px, 1.6vw, 24px);
	border-right: 1px solid rgba(212,175,55,.15);
	transition: background .25s ease;
	position: relative;
}
.fp-hero-stat:last-child { border-right: 0; }
.fp-hero-stat:hover {
	background: rgba(255,245,225,.04);
}

/* Gold-highlight stat (0 €) */
.fp-hero-stat--gold {
	background: linear-gradient(135deg, rgba(212,175,55,.08) 0%, rgba(212,175,55,.02) 100%);
	border-radius: 8px;
	border-right-color: rgba(212,175,55,.3);
}

.fp-hero-stat__num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(32px, 4vw, 56px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.02em;
	color: #fff5e1;
	white-space: nowrap;
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}
.fp-hero-stat__num small {
	font-size: .5em;
	font-weight: 500;
	color: #d4af37;
	margin-left: 2px;
}

/* Gold gradient na "0 €" */
.fp-hero-stat--gold .fp-hero-stat__num {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-hero-stat--gold .fp-hero-stat__num small {
	color: #f0d68c;
	-webkit-text-fill-color: #f0d68c;
}

.fp-hero-stat__lbl {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: rgba(255,245,225,.7);
	line-height: 1.45;
}

/* =====================================================
   v15.70 — RESPONSIVE
   ===================================================== */

@media (max-width: 880px) {
	.fp-hero-stats { padding: 32px 0; }
	.fp-hero-stats__grid {
		grid-template-columns: 1fr 1fr;
		gap: 4px;
	}
	.fp-hero-stat {
		padding: 18px 16px;
		border-right: 0;
		border-bottom: 1px solid rgba(212,175,55,.15);
	}
	.fp-hero-stat:nth-child(3),
	.fp-hero-stat:nth-child(4) { border-bottom: 0; }
	.fp-hero-stat:nth-child(odd) { border-right: 1px solid rgba(212,175,55,.15); }
	.fp-hero-stat__num { font-size: 32px; }
	.fp-hero-stat__lbl { font-size: 10.5px; }
}

@media (max-width: 460px) {
	.fp-hero-stat__num { font-size: 28px; }
}


/* =====================================================
   v15.71 — bs-card SPACING FIX (Adam: wielkie odstepy przy zoom)
   Root cause: flex:1 + margin-top:auto na CTA rozpychalo content
   Strategia: kompakt, naturalne sasiedztwo, bez forced-bottom
   ===================================================== */

/* Body — KOMPAKT, brak flex:1 (nie pchamy CTA do dna sztucznie) */
.bs-card__body {
	padding: clamp(14px, 1.6vw, 20px) clamp(14px, 1.6vw, 20px) 0 !important;
	gap: clamp(8px, 1vw, 12px) !important;
	flex: 1 1 auto !important;
}

/* HEAD — bez margin-bottom (gap robi swoje) */
.bs-card__head {
	gap: 2px !important;
	margin: 0 !important;
}
.bs-card__num {
	margin: 0 0 4px !important;
	font-size: 10.5px !important;
	letter-spacing: .18em !important;
}
.bs-card__name {
	font-size: clamp(20px, 2vw, 26px) !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}

/* PRICE — bezposrednio pod tytulem, bez border-top */
.bs-card__price {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.bs-card__price-num {
	font-size: clamp(26px, 2.6vw, 36px) !important;
}

/* META pills — bezposrednio pod cena */
.bs-card__meta {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	gap: 5px !important;
}
.bs-card__meta > span {
	padding: 4px 9px !important;
	font-size: 10px !important;
}
.bs-card__meta strong { font-size: 12px !important; }

/* CTA — bez margin-top:auto (kasuje sztuczne luki przy zoom) */
.bs-card__cta {
	margin: clamp(10px, 1.2vw, 14px) calc(-1 * clamp(14px, 1.6vw, 20px)) 0 !important;
	padding: clamp(11px, 1.3vw, 14px) clamp(14px, 1.6vw, 20px) !important;
	font-size: 11px !important;
	letter-spacing: .16em !important;
}

/* Image — zoom-proof: cap aspect-ratio i max-height */
.bs-card__img {
	aspect-ratio: 4/3 !important;
	max-height: clamp(180px, 22vw, 280px) !important;
	min-height: 160px !important;
}

/* Card container — height auto (nie forsuj wysokosci) */
.bs-card {
	height: auto !important;
}

/* RANK + BADGE — kompakt na zoomie */
.bs-card__rank {
	top: 12px !important;
	right: 12px !important;
	padding: 4px 9px !important;
	font-size: 10px !important;
}
.bs-card__badge {
	top: 12px !important;
	left: 12px !important;
	padding: 5px 11px !important;
	font-size: 9.5px !important;
}

/* RESPONSIVE compact */
@media (max-width: 1100px) {
	.bs-card__body { padding: 16px 16px 0 !important; gap: 10px !important; }
	.bs-card__cta { margin: 12px -16px 0 !important; padding: 12px 16px !important; }
	.bs-card__img { max-height: 240px !important; }
}

@media (max-width: 720px) {
	.bs-card__body { padding: 14px 14px 0 !important; gap: 8px !important; }
	.bs-card__cta { margin: 10px -14px 0 !important; padding: 11px 14px !important; }
	.bs-card__name { font-size: 19px !important; }
	.bs-card__price-num { font-size: 26px !important; }
	.bs-card__img { aspect-ratio: 16/10 !important; max-height: 220px !important; }
}

@media (max-width: 460px) {
	.bs-card__body { padding: 12px 12px 0 !important; }
	.bs-card__cta { margin: 8px -12px 0 !important; padding: 10px 12px !important; font-size: 10px !important; }
	.bs-card__meta > span { font-size: 9.5px !important; padding: 3px 7px !important; }
}


/* =====================================================
   v15.72 — MANIFEST EDITORIAL spread (premium continuation)
   Adam: kontynuacja stylu z fp-process-section + bs-card
   ===================================================== */

.manifest__editorial {
	padding: clamp(56px, 7vw, 96px) 0 clamp(64px, 8vw, 112px);
	background: linear-gradient(180deg, #f4ede0 0%, #faf6ec 70%, #fff 100%);
	position: relative;
}

/* MAGAZINE-STYLE QUOTE SPREAD */
.me-quote {
	max-width: 920px;
	margin: 0 auto clamp(56px, 6vw, 88px);
	padding: clamp(28px, 4vw, 56px);
	background: #fff;
	border: 1px solid rgba(212,175,55,.18);
	border-radius: 16px;
	box-shadow: 0 16px 48px -16px rgba(20,17,11,.08);
	position: relative;
	overflow: visible;
}
.me-quote::before {
	content: '';
	position: absolute;
	top: 0; left: clamp(28px, 4vw, 56px); right: clamp(28px, 4vw, 56px);
	height: 4px;
	background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f0d68c 50%, #d4af37 70%, transparent 100%);
	border-radius: 2px;
}

.me-quote__mark {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(80px, 9vw, 140px);
	line-height: .7;
	color: #d4af37;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	margin: 0 0 -20px;
	font-weight: 600;
	letter-spacing: -.04em;
}

.me-quote__text {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(22px, 2.6vw, 36px);
	line-height: 1.32;
	font-weight: 400;
	color: #14110b;
	margin: 0 0 clamp(28px, 4vw, 48px);
	letter-spacing: -.005em;
}
.me-quote__text em {
	font-style: italic;
	color: #9d6e1f;
	font-weight: 500;
}

.me-quote__cite {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(20px, 2.4vw, 32px);
	align-items: center;
	padding-top: clamp(24px, 3vw, 36px);
	border-top: 1px solid rgba(212,175,55,.18);
}
.me-quote__seal {
	flex-shrink: 0;
}
.me-quote__seal svg {
	display: block;
	filter: drop-shadow(0 4px 16px rgba(212,175,55,.25));
}

.me-quote__cite-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.me-quote__cite-text strong {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 600;
	color: #14110b;
	line-height: 1.1;
}
.me-quote__cite-role {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin-top: 2px;
}
.me-quote__cite-loc {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: #6b6356;
	margin-top: 6px;
}
.me-quote__cite-loc svg {
	color: #9d6e1f;
	flex-shrink: 0;
}

/* PROOFS SECTION HEADER */
.me-proofs {
	max-width: 1200px;
	margin: 0 auto;
}
.me-proofs__head {
	text-align: center;
	margin-bottom: clamp(32px, 4vw, 48px);
}
.me-proofs__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .25em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin-bottom: 12px;
}
.me-proofs__h {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 500;
	line-height: 1.15;
	color: #14110b;
	margin: 0;
	letter-spacing: -.005em;
}
.me-proofs__h em {
	font-style: italic;
	color: #9d6e1f;
}

/* PREMIUM PROOF CARDS — 3-col grid */
.me-proofs__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(14px, 2vw, 24px);
}

.me-proof {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: clamp(28px, 3vw, 40px) clamp(22px, 2.4vw, 32px);
	background: #fff;
	border: 1px solid rgba(212,175,55,.18);
	border-radius: 14px;
	transition: transform .35s ease, box-shadow .35s, border-color .25s;
	position: relative;
	overflow: hidden;
}
.me-proof::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
	opacity: 0;
	transition: opacity .25s ease;
}
.me-proof:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 56px -16px rgba(20,17,11,.12);
	border-color: rgba(212,175,55,.4);
}
.me-proof:hover::before { opacity: 1; }

/* Big number — gold gradient text */
.me-proof__num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(56px, 6vw, 88px);
	font-weight: 600;
	line-height: .9;
	letter-spacing: -.03em;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	margin: 0 0 4px;
}
.me-proof__num sup {
	font-size: .42em;
	font-weight: 500;
	vertical-align: 0.4em;
	margin-left: 2px;
}

/* Gold accent bar pod liczba */
.me-proof__bar {
	width: 56px;
	height: 3px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 100%);
	border-radius: 2px;
	margin: 4px 0 12px;
}

.me-proof__h {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(20px, 2vw, 24px);
	font-weight: 600;
	line-height: 1.2;
	color: #14110b;
	margin: 0;
	letter-spacing: -.005em;
}

.me-proof__desc {
	font-size: 14.5px;
	line-height: 1.55;
	color: #4a4438;
	margin: 0;
	flex: 1;
}

/* Verification pill na dole karty */
.me-proof__pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 7px 12px;
	background: #faf6ec;
	border: 1px solid rgba(212,175,55,.25);
	border-radius: 999px;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	align-self: flex-start;
}
.me-proof__pill svg {
	color: #d4af37;
	flex-shrink: 0;
}

/* Gold-highlighted card (0 €) */
.me-proof--gold {
	background: linear-gradient(135deg, #fffbef 0%, #faf2dc 100%);
	border-color: #d4af37;
	box-shadow: 0 4px 24px rgba(212,175,55,.12);
}
.me-proof--gold::before { opacity: 1; }
.me-proof--gold:hover {
	border-color: #9d6e1f;
	box-shadow: 0 28px 64px -16px rgba(212,175,55,.3);
}

/* =====================================================
   v15.72 — RESPONSIVE
   ===================================================== */

@media (max-width: 900px) {
	.me-quote__cite { grid-template-columns: 1fr; gap: 16px; text-align: center; }
	.me-quote__seal { margin: 0 auto; }
	.me-quote__cite-loc { justify-content: center; }
	.me-proofs__grid { grid-template-columns: 1fr; gap: 14px; }
	.me-proof { padding: 28px 24px; }
}

@media (max-width: 540px) {
	.me-quote { padding: 24px 20px; border-radius: 12px; }
	.me-quote__text { font-size: 19px; }
	.me-quote__cite-text strong { font-size: 18px; }
	.me-proof__num { font-size: 52px; }
	.me-proof__h { font-size: 19px; }
}


/* =====================================================
   v15.73 — SECTION SPACING global cleanup
   Adam screenshot: bs-section -> fp-process-section luka ~200px
   Root cause: .section { padding: 128px 0 } + nowa .fp-process-section
   takze ma duzy padding-top
   ===================================================== */

/* Bestseller section bottom — TNIE z 128 do 56-72px */
.bs-section {
	padding-top: clamp(56px, 6.5vw, 88px) !important;
	padding-bottom: clamp(48px, 5vw, 64px) !important;
	border-top: 0 !important;       /* usun border-top z section base */
}
.bs-bottom {
	margin-top: clamp(28px, 3vw, 40px) !important;     /* bylo 40px */
	padding-top: clamp(18px, 2vw, 24px) !important;     /* bylo 24px */
}

/* Process section top — z 72-120 na 48-72px */
.fp-process-section {
	padding-top: clamp(48px, 5.5vw, 80px) !important;
	padding-bottom: clamp(56px, 7vw, 100px) !important;
	border-top: 0 !important;
}

/* Process header bottom margin — kompakt */
.fp-process-head {
	margin-bottom: clamp(32px, 3.5vw, 56px) !important;
}
.fp-process-head__top {
	margin-bottom: clamp(28px, 3vw, 48px) !important;
}

/* Wszystkie .section zachowuja sensowny padding (clamp zamiast 128px stale) */
section.section {
	padding-top: clamp(56px, 6.5vw, 96px);
	padding-bottom: clamp(56px, 6.5vw, 96px);
}

/* Hero stats banner padding — kompakt */
.fp-hero-stats {
	padding: clamp(32px, 4vw, 56px) 0 !important;
}

/* Manifest editorial padding — kompakt */
.manifest__editorial {
	padding: clamp(48px, 6vw, 80px) 0 clamp(56px, 7vw, 96px) !important;
}


/* =====================================================
   v15.74 — ZERO-STRIP BANNER premium rebuild (zs-banner)
   Adam: kontynuacja stylu, "0 € seit 2015" jest sercem oferty
   Layout: HERO (big 0€ + seal + lede) | NOT-LIST (4 cards) | TIMELINE (4 steps + bar)
   ===================================================== */

.zs-banner {
	background: linear-gradient(135deg, #1a1612 0%, #14110b 50%, #2a2218 100%);
	color: #f5f0e1;
	border-radius: 20px;
	padding: clamp(36px, 4.5vw, 64px) clamp(28px, 3.5vw, 56px);
	margin: clamp(40px, 5vw, 64px) 0 0;
	box-shadow: 0 24px 64px -16px rgba(20,17,11,.4);
	position: relative;
	overflow: hidden;
}
.zs-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 0% 0%, rgba(212,175,55,.18) 0%, transparent 50%),
		radial-gradient(ellipse at 100% 100%, rgba(212,175,55,.12) 0%, transparent 50%);
	pointer-events: none;
}
.zs-banner > * { position: relative; z-index: 2; }

/* HERO — big 0€ + seal */
.zs-banner__hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-bottom: clamp(36px, 4vw, 56px);
	padding-bottom: clamp(28px, 3.5vw, 44px);
	border-bottom: 1px solid rgba(212,175,55,.25);
}

.zs-banner__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .25em;
	text-transform: uppercase;
	font-weight: 700;
	color: #e8c668;
}

.zs-banner__num-row {
	display: flex;
	align-items: center;
	gap: clamp(20px, 3vw, 48px);
	flex-wrap: wrap;
}

.zs-banner__num {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	line-height: .85;
}
.zs-banner__num-zero {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(120px, 18vw, 240px);
	font-weight: 600;
	letter-spacing: -.05em;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	filter: drop-shadow(0 8px 32px rgba(212,175,55,.35));
}
.zs-banner__num-cur {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(60px, 9vw, 120px);
	font-weight: 500;
	color: #e8c668;
	letter-spacing: -.02em;
}

.zs-banner__seal svg {
	display: block;
	filter: drop-shadow(0 4px 16px rgba(212,175,55,.35));
}

.zs-banner__lede {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.4;
	color: #fff5e1;
	margin: 8px 0 0;
	font-weight: 400;
	max-width: 720px;
}
.zs-banner__lede strong {
	color: #f0d68c;
	font-weight: 600;
}

/* NOT LIST — 4 cards */
.zs-not {
	margin-bottom: clamp(36px, 4vw, 56px);
}
.zs-not__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: clamp(18px, 2vw, 28px);
}
.zs-not__head::after {
	content: '';
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(212,175,55,.4) 0%, transparent 100%);
}
.zs-not__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #e8c668;
}

.zs-not__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.zs-not__item {
	display: flex;
	gap: 12px;
	padding: 18px 18px;
	background: rgba(255,245,225,.04);
	border: 1px solid rgba(212,175,55,.18);
	border-radius: 10px;
	transition: background .25s, border-color .25s, transform .25s;
}
.zs-not__item:hover {
	background: rgba(255,245,225,.08);
	border-color: rgba(212,175,55,.4);
	transform: translateY(-2px);
}

.zs-not__x {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	flex-shrink: 0;
	border-radius: 50%;
	background: rgba(220,38,38,.15);
	color: #f87171;
	border: 1px solid rgba(220,38,38,.3);
}

.zs-not__txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.zs-not__txt strong {
	font-family: var(--serif, Georgia, serif);
	font-size: 16px;
	font-weight: 600;
	color: #fff5e1;
	line-height: 1.2;
}
.zs-not__txt span {
	font-size: 12.5px;
	color: rgba(255,245,225,.65);
	line-height: 1.4;
}

/* TIMELINE — 4 steps with progress bar */
.zs-time {
	background: rgba(255,245,225,.04);
	border: 1px solid rgba(212,175,55,.2);
	border-radius: 14px;
	padding: clamp(24px, 3vw, 36px);
}

.zs-time__head {
	margin-bottom: 22px;
}
.zs-time__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #e8c668;
}

/* Progress bar */
.zs-time__bar {
	position: relative;
	height: 6px;
	background: rgba(255,245,225,.08);
	border-radius: 3px;
	margin-bottom: 22px;
	overflow: hidden;
}
.zs-time__bar-fill {
	height: 100%;
	width: 100%;
	background: linear-gradient(90deg, #9d6e1f 0%, #d4af37 50%, #f0d68c 100%);
	border-radius: 3px;
	box-shadow: 0 1px 8px rgba(212,175,55,.5);
	position: relative;
}
.zs-time__bar-fill::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	background: #f0d68c;
	border: 2.5px solid #fff5e1;
	border-radius: 50%;
	box-shadow: 0 0 0 4px rgba(240,214,140,.2);
}

/* Steps row */
.zs-time__steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.zs-time__step {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: left;
}

.zs-time__dot {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: 600;
	color: rgba(255,245,225,.55);
	line-height: 1;
	letter-spacing: -.02em;
	margin-bottom: 4px;
}
.zs-time__dot--pay {
	color: transparent;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.zs-time__dot--pay small {
	font-size: .55em;
	font-weight: 500;
}

.zs-time__when {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
}
.zs-time__when--final { color: #f0d68c; }

.zs-time__lbl {
	font-family: var(--serif, Georgia, serif);
	font-size: 14.5px;
	font-weight: 500;
	color: #fff5e1;
	line-height: 1.3;
}

/* =====================================================
   v15.74 — RESPONSIVE
   ===================================================== */

@media (max-width: 1100px) {
	.zs-not__list { grid-template-columns: 1fr 1fr; gap: 10px; }
	.zs-time__steps { grid-template-columns: 1fr 1fr; gap: 18px 12px; }
	.zs-time__bar { display: none; }
}

@media (max-width: 720px) {
	.zs-banner { padding: 28px 22px; border-radius: 14px; margin-top: 32px; }
	.zs-banner__num-zero { font-size: 100px; }
	.zs-banner__num-cur { font-size: 56px; }
	.zs-banner__seal svg { width: 80px; height: 80px; }
	.zs-banner__lede { font-size: 16px; }
	.zs-not__list { grid-template-columns: 1fr; }
	.zs-not__item { padding: 14px 16px; }
	.zs-time { padding: 22px 18px; }
	.zs-time__dot { font-size: 22px; }
}

@media (max-width: 460px) {
	.zs-banner__num-row { gap: 16px; }
	.zs-banner__num-zero { font-size: 90px; }
	.zs-banner__num-cur { font-size: 48px; }
	.zs-time__steps { grid-template-columns: 1fr; gap: 14px; }
}

/* Hide stary zero-strip (unused after rebuild) */
.zero-strip { display: none !important; }


/* =====================================================
   v15.75 — GLOBALNY OVERHAUL: bialy bg + kontrast + czytelne fonty
   Adam: "bardziej biale tlo, czytelniej kontrasty czcionki calosc"
   ===================================================== */

/* ---- BIALE TLA na sekcjach (zamiast bezowych pastel --bg-2) ---- */
body {
	background: #ffffff !important;
}

/* Body font size up — czytelnosc */
html { font-size: 16px; }
body {
	font-size: 16px;
	line-height: 1.62;
	color: #14110b;
}

/* Section domyslne tlo bialymi gdzie nie ma override */
section.section:not([style*="background"]):not(.fp-process-section):not(.manifest__editorial):not(.fp-hero-stats):not(.fp-trust-strip):not(.on-dark) {
	background: #ffffff !important;
}

/* --bg-2 staje sie subtelniejsze (z #faf6ec na #fafaf7) — bardziej bialy feel */
section[style*="var(--bg-2)"],
section[style*="background: var(--bg-2)"],
section[style*="background:var(--bg-2)"] {
	background: #fafaf7 !important;
}

/* ---- KONTRAST tekstu — wszystkie warianty szarego mocniejsze ---- */

/* Default body text — ink ciemniejszy */
body, p, li, span, div {
	color-scheme: light;
}

/* paragraph + lede default */
p, .lede {
	color: #2a2418;
}
.lede {
	font-size: clamp(16px, 1.4vw, 19px) !important;
	line-height: 1.6 !important;
	color: #3a3220 !important;
}

/* Mute/dim text — z --ink-mute (#999/szary) na bardziej kontrast */
[style*="color:var(--ink-mute)"],
[style*="color: var(--ink-mute)"] {
	color: #5a5240 !important;
}
[style*="color:var(--ink-dim)"],
[style*="color: var(--ink-dim)"] {
	color: #3a3220 !important;
}
[style*="color:#c4bba7"],
[style*="color: #c4bba7"] {
	color: #e8dfc8 !important;
}
[style*="color:#8a7f6b"],
[style*="color: #8a7f6b"] {
	color: #b5a577 !important;
}

/* CSS variables override (gdzie sie da, dziedziczy w child elementach) */
:root {
	--ink-mute: #5a5240;
	--ink-dim: #3a3220;
	--ink-soft: #2a2418;
}

/* ---- HEADINGS — czytelnosc + kontrast ---- */

h1, .display-1 {
	color: #14110b;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.05;
}
h2, .display-2 {
	color: #14110b;
	font-weight: 500;
	letter-spacing: -.01em;
	line-height: 1.1;
}
h3, .display-3 {
	color: #14110b;
	font-weight: 500;
	letter-spacing: -.005em;
}
h4 { color: #14110b; }

em, .display-1 em, .display-2 em, .display-3 em {
	color: #9d6e1f;
	font-style: italic;
	font-weight: inherit;
}

strong { color: #14110b; font-weight: 600; }

/* ---- LINKS — czytelne gold ---- */

a:not(.btn):not([class*="card"]):not([class*="cta"]):not([class*="koll-"]):not([class*="bs-"]):not([class*="fp-"]):not([class*="me-"]):not([class*="zs-"]):not([class*="st-"]):not([class*="kt-"]):not([class*="manifest"]):not([class*="nav"]) {
	color: #9d6e1f;
	text-decoration-color: rgba(212,175,55,.4);
	text-underline-offset: 3px;
}
a:not(.btn):hover {
	color: #14110b;
	text-decoration-color: #d4af37;
}

/* ---- KICKERS / EYEBROWS — bardziej widoczne ---- */
.kicker, .eyebrow {
	font-weight: 700 !important;
	letter-spacing: .18em !important;
}

.kicker {
	color: #6b6356 !important;
	font-size: 11.5px !important;
}

.eyebrow {
	color: #9d6e1f !important;
	font-size: 12px !important;
	letter-spacing: .22em !important;
}

/* ---- BUTTONS — wieksze tap-target + kontrast ---- */

.btn {
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	transition: all .25s ease !important;
}

.btn--filled {
	background: #14110b !important;
	color: #fff5e1 !important;
	border-color: #14110b !important;
}
.btn--filled:hover {
	background: #d4af37 !important;
	border-color: #d4af37 !important;
	color: #14110b !important;
}

.btn:not(.btn--filled) {
	background: transparent !important;
	color: #14110b !important;
	border: 1.5px solid #14110b !important;
}
.btn:not(.btn--filled):hover {
	background: #14110b !important;
	color: #fff5e1 !important;
}

.btn--lg {
	padding: 16px 28px !important;
	font-size: 12.5px !important;
}

/* Wszystkie strony main content — bialy bg */
main, #main, .site-main, [role="main"] {
	background: #ffffff;
}

/* Trust-strip section domyslne (ciemne) trzymamy */
.fp-trust-strip { background: #14110b !important; color: #f5f0e1 !important; }

/* Versprech section bialy */
.section[style*="padding: 72px 0 88px"] { background: #ffffff !important; }

/* Sekcje pages (kollektion, modern-line, manufaktur, garantien etc.) — bialy */
body.page-template-page-kollektion main,
body.page-template-page-modern-line main,
body.page-template-page-manufaktur main,
body.page-template-page-garantien main,
body.page-template-page-faq main,
body.page-template-page-kontakt main,
body.page-template-page-finanzierung main,
body.page-template-page-3d-planung main,
body.page-template-page-ar-preview main,
body.page-template-page-ueber-uns main,
body.page-template-page-ratgeber main,
body.page-template-page-farben main,
body.page-template-page-referenzen main {
	background: #ffffff;
}

/* Family taxonomy (/stil/X/) sekcje bialy */
.koll-section:not(.koll-process):not(.koll-faq) { background: #ffffff; }
.koll-section.koll-process,
.koll-section.koll-faq { background: var(--ink, #14110b) !important; }
.koll-characteristics { background: #fafaf7 !important; }
.koll-cross { background: #fafaf7 !important; }

/* Standorte sekcje */
.st-region:not(.st-region--ost-mitte):not(.st-region--sued) {
	background: #ffffff !important;
}

/* ---- FORMS — kontrast + czytelnosc ---- */

input, select, textarea {
	font-size: 15px;
	color: #14110b;
}
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
	border: 1.5px solid rgba(20,17,11,.18);
	border-radius: 6px;
	padding: 12px 14px;
	background: #ffffff;
	transition: border-color .2s;
}
input:focus, select:focus, textarea:focus {
	border-color: #d4af37;
	outline: 3px solid rgba(212,175,55,.15);
}

label {
	font-weight: 600;
	color: #14110b;
}

/* ---- TABLES — czytelne ---- */
table {
	border-collapse: collapse;
	width: 100%;
}
th { font-weight: 700; color: #14110b; background: #fafaf7; }
td { color: #2a2418; }
th, td { padding: 12px 14px; border-bottom: 1px solid rgba(20,17,11,.08); }

/* ---- SCROLLBARS — gold accent ---- */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #fafaf7; }
::-webkit-scrollbar-thumb { background: #c9b985; border-radius: 6px; border: 2px solid #fafaf7; }
::-webkit-scrollbar-thumb:hover { background: #9d6e1f; }

/* ---- SELECTION ---- */
::selection {
	background: rgba(212,175,55,.3);
	color: #14110b;
}

/* ---- LOAD ANIMATION reduce — Adam: maluktie nie widac przy zoom ---- */
.section, section { transition: none; }

/* ---- IMAGES — default rounded corners + smooth ---- */
img { max-width: 100%; height: auto; }

/* ---- SVG icons — domyslnie czytelny stroke ---- */
svg { display: inline-block; vertical-align: middle; }

/* ---- FOCUS visible (a11y) ---- */
*:focus-visible {
	outline: 2.5px solid #d4af37;
	outline-offset: 3px;
	border-radius: 4px;
}


/* =====================================================
   v15.76 — MINI-KALKULATOR rebuild + TRUST BADGES fonty min 14px
   Adam: "rozwala dziwnie", "przycisk nie czytelny", "min 14px wszedzie"
   ===================================================== */

/* ---- TRUST BADGES font-size up (Adam: malutkie) ---- */

.fp-trust-strip__head { margin-bottom: clamp(20px, 2.4vw, 32px) !important; }
.fp-trust-strip__eyebrow {
	font-size: 13px !important;
	letter-spacing: .22em !important;
	font-weight: 700 !important;
	padding: 8px 22px !important;
	border-color: rgba(212,175,55,.35) !important;
}

.fp-trust-strip__grid {
	gap: clamp(10px, 1.4vw, 18px) !important;
}

.fp-trust-badge {
	background: #fff !important;
	border-radius: 12px !important;
	padding: clamp(20px, 2.2vw, 28px) clamp(14px, 1.6vw, 20px) !important;
	transition: transform .25s ease, box-shadow .25s !important;
	cursor: default;
}
.fp-trust-badge:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px -12px rgba(0,0,0,.35);
}

.fp-trust-badge__seal {
	width: clamp(56px, 6.5vw, 80px) !important;
	height: auto !important;
	margin-bottom: 12px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.fp-trust-badge__body {
	text-align: center;
}
.fp-trust-badge__body b {
	display: block;
	font-family: var(--serif, Georgia, serif) !important;
	font-size: 16px !important;       /* min 14px wymagane, 16px premium */
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: #14110b !important;
	margin-bottom: 6px !important;
}
.fp-trust-badge__body span {
	display: block;
	font-size: 13.5px !important;     /* min 14px */
	line-height: 1.45 !important;
	color: #4a4438 !important;        /* mocniejszy kontrast */
	font-weight: 500 !important;
}

/* Trust strip foot — czytelniejszy */
.fp-trust-strip__foot {
	margin-top: clamp(20px, 2.4vw, 32px) !important;
	padding-top: clamp(16px, 2vw, 24px) !important;
	border-top-color: rgba(212,175,55,.2) !important;
	font-size: 13.5px !important;
	color: rgba(255,245,225,.75) !important;
}
.fp-trust-strip__link {
	color: #e8c668 !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
	border-bottom: 1px solid rgba(232,198,104,.4) !important;
	padding-bottom: 2px;
}
.fp-trust-strip__link:hover { color: #f0d68c !important; border-bottom-color: #f0d68c !important; }

/* ---- MINI-KALKULATOR sekcja (czarna) — rebuild premium ---- */

/* Sekcja overall — gradient ink + radial gold accent */
section[style*="background: var(--ink)"][style*="padding: 72px 0"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] {
	background: linear-gradient(135deg, #1a1612 0%, #14110b 50%, #2a2218 100%) !important;
	padding: clamp(56px, 7vw, 96px) 0 !important;
	position: relative;
	overflow: hidden;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"]::before,
section[style*="background:var(--ink)"][style*="padding: 72px 0"]::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 20% 30%, rgba(212,175,55,.12) 0%, transparent 50%),
		radial-gradient(ellipse at 80% 70%, rgba(212,175,55,.08) 0%, transparent 50%);
	pointer-events: none;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"] > .container,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] > .container {
	position: relative;
	z-index: 2;
}

/* Layout grid — graceful collapse */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"] {
	grid-template-columns: 1fr 1.5fr !important;
	gap: clamp(28px, 4vw, 64px) !important;
	align-items: stretch !important;
}

/* Lewa kolumna: Eyebrow + H2 + lede */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] .eyebrow,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] .eyebrow {
	color: #e8c668 !important;
	font-size: 13px !important;
	letter-spacing: .25em !important;
	font-weight: 700 !important;
}

section[style*="background: var(--ink)"][style*="padding: 72px 0"] h2,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] h2 {
	font-size: clamp(34px, 4vw, 56px) !important;
	line-height: 1.05 !important;
	margin: 18px 0 22px !important;
	color: #fff5e1 !important;
	font-weight: 500;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"] h2 em,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] h2 em {
	color: transparent !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-style: italic;
}

section[style*="background: var(--ink)"][style*="padding: 72px 0"] p[style*="color:#c4bba7"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] p[style*="color: #c4bba7"] {
	font-size: 16px !important;       /* było 15, teraz 16 */
	line-height: 1.6 !important;
	color: rgba(255,245,225,.75) !important;
	max-width: none !important;
}

/* Prawa: Container kalkulatora — premium card */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="background:#0e0b07"][style*="border:1px solid #2a241a"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="background:#0e0b07"][style*="border:1px solid #2a241a"] {
	background: linear-gradient(145deg, rgba(255,245,225,.04) 0%, rgba(20,17,11,.6) 100%) !important;
	border: 1.5px solid rgba(212,175,55,.35) !important;
	border-radius: 14px !important;
	padding: clamp(24px, 3vw, 40px) !important;
	box-shadow: 0 24px 56px -16px rgba(0,0,0,.4), 0 0 0 1px rgba(212,175,55,.08) inset;
	position: relative;
}

/* Inputs row — auto-fit minmax — wraps gracefully */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="grid-template-columns: 1fr 1fr 1fr"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="grid-template-columns: 1fr 1fr 1fr"] {
	grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr)) !important;
	gap: clamp(18px, 2.4vw, 28px) !important;
}

/* Labels (Länge / Höhe / Stil) */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] label,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] label {
	font-size: 12px !important;        /* min 12 dla labels (uppercase mono — czytelne)  */
	letter-spacing: .22em !important;
	color: #e8c668 !important;
	font-weight: 700 !important;
	display: block;
	margin-bottom: 10px !important;
}

/* Inputs + selects — duzy serif font, gold underline */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] input[type="number"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] input[type="number"],
section[style*="background: var(--ink)"][style*="padding: 72px 0"] select,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] select {
	color: #fff5e1 !important;
	border-bottom: 2px solid #d4af37 !important;
	font-size: clamp(28px, 3vw, 36px) !important;
	font-weight: 500 !important;
	font-family: var(--serif, Georgia, serif) !important;
	width: 100% !important;
	max-width: 100% !important;
	background: transparent !important;
	padding: 4px 24px 6px 0 !important;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"] input[type="number"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] input[type="number"] {
	max-width: 100px !important;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"] select option {
	background: #1a1612 !important;
	color: #fff5e1 !important;
}

/* "m" suffix obok input */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--mono);color:#c4bba7;font-size:14px"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--mono);color: #c4bba7;font-size:14px"] {
	color: #e8c668 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

/* Stepper buttons (+/-) */
.stepper button {
	background: rgba(232,198,104,.1) !important;
	border: 1px solid rgba(232,198,104,.3) !important;
	color: #e8c668 !important;
	width: 28px !important;
	height: 22px !important;
	border-radius: 4px !important;
	display: grid !important;
	place-items: center !important;
	cursor: pointer;
	transition: all .2s;
}
.stepper button:hover {
	background: rgba(232,198,104,.25) !important;
	border-color: #d4af37 !important;
}

/* Bottom row — price + CTA */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"] {
	border-top: 1px solid rgba(212,175,55,.2) !important;
	padding-top: clamp(20px, 2.5vw, 28px) !important;
	gap: clamp(20px, 2.5vw, 32px) !important;
	flex-wrap: wrap !important;
}

/* Preisspanne label */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="color:#8a7f6b"][style*="text-transform:uppercase"][style*="margin-bottom:8px"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="color: #8a7f6b"][style*="text-transform:uppercase"][style*="margin-bottom:8px"] {
	color: #b5a577 !important;
	font-size: 12px !important;        /* mono uppercase OK przy 12 */
	letter-spacing: .22em !important;
	font-weight: 700 !important;
	margin-bottom: 10px !important;
}

/* Cena 3.290-3.610€ — mega gold gradient */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--serif);font-size:44px"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--serif);font-size:44px"] {
	font-size: clamp(36px, 4.5vw, 56px) !important;
	font-weight: 600 !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	filter: drop-shadow(0 4px 16px rgba(212,175,55,.25));
	letter-spacing: -.02em;
}

/* Sub-text "brutto · inkl 19% MwSt." */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--mono);font-size:11px;color:#8a7f6b"],
section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="font-family:var(--mono);font-size:11px;color: #8a7f6b"] {
	color: #b5a577 !important;
	font-size: 13px !important;        /* min 13 dla legal mono */
	margin-top: 8px !important;
	letter-spacing: .04em !important;
}

/* CTA "Genauer Preis → Konfigurator" — premium gold button */
section[style*="background: var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled {
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 60%, #9d6e1f 100%) !important;
	color: #14110b !important;
	border: 0 !important;
	padding: 16px 28px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 32px -8px rgba(212,175,55,.5);
	white-space: nowrap;
	transition: transform .25s, box-shadow .25s, background .25s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
section[style*="background: var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled:hover,
section[style*="background:var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled:hover {
	background: linear-gradient(180deg, #fff5e1 0%, #f0d68c 60%, #d4af37 100%) !important;
	transform: translateY(-2px);
	box-shadow: 0 20px 48px -8px rgba(212,175,55,.7);
}

/* RESPONSIVE */
@media (max-width: 1100px) {
	section[style*="background: var(--ink)"][style*="padding: 72px 0"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"],
	section[style*="background:var(--ink)"][style*="padding: 72px 0"] > .container > div[style*="grid-template-columns: 1fr 1.4fr"] {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
}

@media (max-width: 720px) {
	section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="grid-template-columns: 1fr 1fr 1fr"],
	section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="grid-template-columns: 1fr 1fr 1fr"] {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}
	section[style*="background: var(--ink)"][style*="padding: 72px 0"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"],
	section[style*="background:var(--ink)"][style*="padding: 72px 0"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"] {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	section[style*="background: var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled,
	section[style*="background:var(--ink)"][style*="padding: 72px 0"] a.btn.btn--filled {
		width: 100% !important;
		justify-content: center !important;
		font-size: 13px !important;
		padding: 16px 18px !important;
	}
}

/* Trust badges responsive */
@media (max-width: 1100px) {
	.fp-trust-strip__grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 720px) {
	.fp-trust-strip__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
	.fp-trust-badge { padding: 16px 12px !important; }
	.fp-trust-badge__body b { font-size: 14.5px !important; }
	.fp-trust-badge__body span { font-size: 12.5px !important; }
}
@media (max-width: 460px) {
	.fp-trust-strip__grid { grid-template-columns: 1fr 1fr !important; }
	.fp-trust-strip__foot { flex-direction: column; gap: 14px; align-items: flex-start; }
}

/* ---- GLOBAL min font 14px reinforcement (Adam: czcionki min 14) ---- */
body p,
body li,
body div:not([class*="kicker"]):not([class*="eyebrow"]):not([class*="num"]):not([class*="-pill"]):not([class*="-meta"]):not([class*="badge"]):not([class*="rank"]) {
	/* nie wymuszamy globalnie bo by zlamalo design — punktowo gdzie potrzeba */
}

/* Specifically targets Adam's complaint: "duzo teksto malej" */
.lede { font-size: clamp(16px, 1.5vw, 20px) !important; line-height: 1.55 !important; }
.koll-section__sub { font-size: 16px !important; line-height: 1.55 !important; }
.koll-faq-item__a > div { font-size: 15.5px !important; }
.koll-char-card__t { font-size: 15.5px !important; }
.koll-uc-card__t { font-size: 15.5px !important; }
.koll-process-step__t { font-size: 15.5px !important; }
.bs-card__price-unit { font-size: 11.5px !important; }   /* mono uppercase OK */


/* =====================================================
   v15.77 — REAL FIXES (Adam: "wkolo o tym samym a nie poprawiasz")
   1. manifest hero photo - max-height cap
   2. fp-family - new premium white design (no rose AI)
   3. trust badges fonty min 14
   4. me-quote/me-proofs fonty up
   5. global font sizes min 14px enforced
   ===================================================== */

/* ---- 1) MANIFEST HERO PHOTO — fix rozszerzania ---- */

.manifest__hero {
	position: relative;
	max-height: 78vh;
	min-height: 480px;
	overflow: hidden;
}
.manifest__hero img {
	width: 100% !important;
	height: 100% !important;
	max-height: 78vh !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

@media (min-width: 1400px) {
	.manifest__hero { max-height: 720px; }
	.manifest__hero img { max-height: 720px !important; }
}

/* ---- 2) FP-FAMILY V2 — white premium (kasujemy rose/sage AI) ---- */

.fp-family--v2 {
	padding: clamp(64px, 8vw, 112px) 0 !important;
	background: #ffffff !important;
	position: relative;
}
.fp-family--v2::before {
	content: '';
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%);
	width: 200px; height: 4px;
	background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f0d68c 50%, #d4af37 70%, transparent 100%);
}

.fp-family__head {
	max-width: 800px;
	margin: 0 auto clamp(48px, 6vw, 72px);
	text-align: center;
}
.fp-family--v2 .fp-family__head .eyebrow {
	color: #9d6e1f !important;
	font-size: 13px !important;
	letter-spacing: .25em !important;
	font-weight: 700 !important;
	margin-bottom: 16px;
	display: block;
}
.fp-family--v2 .fp-family__head .display-2 {
	font-size: clamp(34px, 4vw, 52px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	color: #14110b !important;
	margin: 0 0 20px !important;
	letter-spacing: -.01em;
}
.fp-family--v2 .fp-family__head .display-2 em {
	color: #9d6e1f !important;
	font-style: italic !important;
	font-weight: 500;
}
.fp-family--v2 .fp-family__head .lede {
	font-size: clamp(16px, 1.5vw, 19px) !important;
	color: #3a3220 !important;
	line-height: 1.55 !important;
	margin: 0;
}

.fp-family--v2 .fp-family__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(18px, 2.4vw, 28px);
	max-width: 1240px;
	margin: 0 auto;
}

.fp-family--v2 .fp-family__card {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	padding: clamp(28px, 3vw, 40px) clamp(24px, 2.6vw, 32px) clamp(28px, 3vw, 36px) !important;
	background: #ffffff !important;
	border: 1px solid rgba(212,175,55,.18) !important;
	border-radius: 16px !important;
	transition: transform .35s ease, box-shadow .35s, border-color .25s !important;
	position: relative;
	overflow: hidden;
}
.fp-family--v2 .fp-family__card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
	border-radius: 16px 16px 0 0;
}
.fp-family--v2 .fp-family__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 32px 64px -20px rgba(20,17,11,.18);
	border-color: rgba(212,175,55,.45);
}

.fp-family--v2 .fp-family__icon {
	width: 60px; height: 60px;
	background: linear-gradient(135deg, #fffbef 0%, #faf2dc 100%);
	border: 1.5px solid rgba(212,175,55,.3);
	border-radius: 12px;
	display: grid;
	place-items: center;
	color: #9d6e1f !important;
	margin: 0 0 6px !important;
	transition: all .3s;
}
.fp-family--v2 .fp-family__card:hover .fp-family__icon {
	background: linear-gradient(135deg, #d4af37 0%, #9d6e1f 100%);
	color: #fff5e1 !important;
	transform: scale(1.05);
}

.fp-family--v2 .fp-family__pill {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin: 0;
}

.fp-family--v2 .fp-family__h {
	font-family: var(--serif, Georgia, serif) !important;
	font-size: clamp(24px, 2.4vw, 32px) !important;
	font-weight: 600 !important;
	line-height: 1.12 !important;
	color: #14110b !important;
	margin: 0 0 4px !important;
	letter-spacing: -.005em;
}

.fp-family--v2 .fp-family__txt {
	font-size: 15.5px !important;
	line-height: 1.6 !important;
	color: #3a3220 !important;
	margin: 0 0 8px !important;
}
.fp-family--v2 .fp-family__txt strong {
	color: #14110b !important;
	font-weight: 600 !important;
}

/* Stat */
.fp-family--v2 .fp-family__stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 0 14px;
	border-top: 1px solid rgba(212,175,55,.2);
	margin-top: 4px;
}
.fp-family--v2 .fp-family__stat-num {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.025em;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 50%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-family--v2 .fp-family__stat-num small {
	font-size: .55em;
	font-weight: 500;
	margin-left: 4px;
}
.fp-family--v2 .fp-family__stat-lbl {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
	color: #6b6356;
	line-height: 1.45;
}

/* Check list — bonus features */
.fp-family--v2 .fp-family__check {
	list-style: none;
	margin: 0;
	padding: 14px 0 0;
	border-top: 1px dashed rgba(212,175,55,.25);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fp-family--v2 .fp-family__check li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #2a2418;
	font-weight: 500;
	line-height: 1.4;
}
.fp-family--v2 .fp-family__check li svg {
	color: #d4af37;
	flex-shrink: 0;
}

/* CTA */
.fp-family__cta {
	text-align: center;
	margin-top: clamp(40px, 5vw, 64px);
}
.fp-family__cta-meta {
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 12px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: #6b6356 !important;
	font-weight: 700 !important;
	margin: 16px 0 0 !important;
}

@media (max-width: 1100px) {
	.fp-family--v2 .fp-family__grid { grid-template-columns: 1fr 1fr; }
	.fp-family--v2 .fp-family__card:nth-child(3) { grid-column: 1 / -1; max-width: 600px; margin: 0 auto; }
}
@media (max-width: 720px) {
	.fp-family--v2 .fp-family__grid { grid-template-columns: 1fr; }
	.fp-family--v2 .fp-family__card { max-width: 100%; }
	.fp-family--v2 .fp-family__card:nth-child(3) { grid-column: auto; max-width: 100%; }
	.fp-family--v2 .fp-family__h { font-size: 22px !important; }
}

/* ---- 3) TRUST BADGES — czytelnosc fontow ---- */

.fp-trust-badge__body b {
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}
.fp-trust-badge__body span {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #3a3220 !important;
	font-weight: 500 !important;
}
.fp-trust-badge__seal {
	width: clamp(72px, 7vw, 92px) !important;
	height: auto !important;
}

.fp-trust-strip__eyebrow {
	font-size: 14px !important;
	letter-spacing: .2em !important;
	font-weight: 700 !important;
}

.fp-trust-strip__foot span,
.fp-trust-strip__foot {
	font-size: 14.5px !important;
	color: rgba(255,245,225,.85) !important;
}
.fp-trust-strip__link {
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* ---- 4) ME-QUOTE / ME-PROOFS fonty up ---- */

.me-quote__text {
	font-size: clamp(20px, 2.4vw, 32px) !important;
	line-height: 1.35 !important;
}
.me-quote__cite-text strong { font-size: 19px !important; }
.me-quote__cite-role { font-size: 12.5px !important; }
.me-quote__cite-loc { font-size: 14px !important; }

.me-proofs__h { font-size: clamp(28px, 3.4vw, 42px) !important; }
.me-proofs__eyebrow { font-size: 13px !important; }

.me-proof__h { font-size: clamp(20px, 2vw, 24px) !important; }
.me-proof__desc { font-size: 15px !important; line-height: 1.6 !important; color: #3a3220 !important; }
.me-proof__pill { font-size: 11.5px !important; padding: 8px 14px !important; }

/* ---- 5) GLOBAL min 14px enforcement ---- */

p, .lede, .me-quote__cite-loc, .fp-trust-badge__body span,
.koll-faq-item__a > div, .koll-char-card__t, .koll-uc-card__t,
.koll-process-step__t, .me-proof__desc, .fp-family__txt,
.bs-card__desc, .fp-process-card__desc {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Ale mono-uppercase labels mogą być 11-12 (nadal czytelne) */
.kicker, .eyebrow, [class*="-eyebrow"], [class*="-pill"], [class*="-meta"] {
	/* zachowujemy obecne małe rozmiary 11-13px ze zwiększonym kontrastem + bold */
}


/* =====================================================
   v15.78 — UNIFIED WIDTH + FORCE MIN 14px
   Adam: "WSZYSTKIE SEKCJE I OBRAZKI MAJA BYC TAK SAMO SZEROKIE"
         "min 14px wszedzie" "rozwala dziwnie"
   ===================================================== */

/* === 1) JEDNOLITA SZEROKOSC dla wszystkich containerow === */

/* MASTER container width — 1280px (jak header trustbar) */
.container,
.adb-trustbar__inner,
.nav__inner {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(20px, 3vw, 40px) !important;
	padding-right: clamp(20px, 3vw, 40px) !important;
	box-sizing: border-box !important;
}

/* Override inline max-width na sekcjach — wszedzie 1280 */
section .container[style*="max-width:1180px"],
section .container[style*="max-width: 1180px"],
section .container[style*="max-width:1080px"],
section .container[style*="max-width: 1080px"],
section .container[style*="max-width:1140px"],
section .container[style*="max-width: 1140px"],
section .container[style*="max-width:1240px"],
section .container[style*="max-width: 1240px"],
section .container[style*="max-width:1200px"],
section .container[style*="max-width: 1200px"] {
	max-width: 1280px !important;
}

/* Header trustbar i nav — taka sama szerokosc */
.adb-trustbar__inner,
.nav__inner {
	max-width: 1280px !important;
}

/* Wewnetrzne wrappery (zero-strip, trust-strip, fp-tco, etc.) */
.fp-trust-strip__wrap,
.zs-banner,
.me-quote,
.me-proofs,
.fp-process-grid,
.fp-process-final,
.fp-tco__head,
.fp-rg__grid,
.bs-grid,
.cert-strip {
	max-width: 100% !important;
	width: 100%;
}

/* === 2) FORCE MIN 14px na wszystkim co nie jest mono uppercase === */

/* Body domyslny */
html, body {
	font-size: 16px !important;
}

/* Wszystkie p, li, span, blockquote, dd, dt — min 14px */
p, li, dd, dt, blockquote, td, th, label, button, input, select, textarea, summary,
.lede, .fp-family__txt, .fp-process-card__desc, .me-proof__desc, .me-quote__cite-loc,
.fp-trust-badge__body span, .review-card__text, .fp-tco-card__sub, .fp-tco-card__breakdown,
.koll-faq-item__a > div, .koll-char-card__t, .koll-uc-card__t, .koll-process-step__t,
.fp-rg__hero-lede, .pillar__body, .einwand-card__a, .sv-card__body,
.fp-garten__txt, .versprech-head__lede p, .versprech-head__bullets li,
.adb-grw__text, .seo-footer__top p, .seo-footer__top ul li {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Wieksze paragrafy "lede" */
.lede {
	font-size: clamp(16px, 1.4vw, 18px) !important;
	line-height: 1.6 !important;
}

/* Section descriptions */
[class*="__desc"],
[class*="__txt"]:not([class*="__txt-num"]),
[class*="-desc"]:not([class*="-desc-meta"]) {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Card body texts */
.bs-card__body p,
.fp-process-card p,
.me-proof p,
.fp-family__card p,
.adb-grw__card p,
.review-card p {
	font-size: 14.5px !important;
	line-height: 1.6 !important;
}

/* === 3) MONO uppercase labels — moga byc 12-13px (czytelne przy CAPS) === */

.kicker, .eyebrow,
[class*="__eyebrow"], [class*="-eyebrow"],
[class*="__pill"], [class*="-pill"]:not([class*="-pill__"]),
[class*="__meta"]:not([class*="__meta-"]) {
	font-size: 12.5px !important;
	letter-spacing: .15em !important;
	font-weight: 700 !important;
}

/* === 4) HEADINGS sizing — premium scale === */

h1, .display-1 {
	font-size: clamp(40px, 5.5vw, 72px) !important;
	font-weight: 600 !important;
	line-height: 1.05 !important;
	letter-spacing: -.015em !important;
}

h2, .display-2 {
	font-size: clamp(32px, 4.2vw, 56px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	letter-spacing: -.01em !important;
}

h3, .display-3 {
	font-size: clamp(22px, 2.4vw, 32px) !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
}

h4 {
	font-size: clamp(18px, 1.8vw, 22px) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

/* === 5) BUTTONS larger tap target + min 14px === */

.btn {
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	padding: 14px 24px !important;
	min-height: 48px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
}
.btn--lg {
	font-size: 14.5px !important;
	padding: 16px 28px !important;
	min-height: 52px !important;
}
.btn--filled {
	background: #14110b !important;
	color: #fff5e1 !important;
	border: 1.5px solid #14110b !important;
}
.btn--filled:hover {
	background: #d4af37 !important;
	border-color: #d4af37 !important;
	color: #14110b !important;
}

/* === 6) HEADER fonty up === */

.adb-trustbar { font-size: 13px !important; }
.adb-trustbar__phone b { font-size: 14px !important; }
.adb-trustbar__phone em { font-size: 11.5px !important; }
.adb-trustbar__signal { font-size: 12.5px !important; }
.adb-trustbar__hours { font-size: 12.5px !important; }
.adb-trustbar__cta a { font-size: 13px !important; padding: 7px 14px !important; }

.nav__link { font-size: 13.5px !important; letter-spacing: .06em !important; font-weight: 500 !important; }

/* === 7) FOOTER fonty up === */

.seo-footer__top h4 { font-size: 14.5px !important; }
.seo-footer__top ul li a,
.seo-footer__top ul li { font-size: 14px !important; line-height: 1.7 !important; }
.seo-footer__top p { font-size: 14.5px !important; line-height: 1.65 !important; }
.seo-footer__seo-strip h5 { font-size: 14px !important; }
.seo-footer__seo-strip .tags a { font-size: 13.5px !important; }
.seo-footer__bottom { font-size: 13px !important; }

/* === 8) MINI-KALKULATOR (czarna sekcja) — przycisk widoczny === */

section[style*="background: var(--ink)"] a.btn,
section[style*="background:var(--ink)"] a.btn {
	font-size: 14px !important;
	padding: 16px 26px !important;
	white-space: nowrap !important;
	background: linear-gradient(180deg, #f0d68c 0%, #d4af37 60%, #9d6e1f 100%) !important;
	color: #14110b !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	box-shadow: 0 8px 24px -6px rgba(212,175,55,.5) !important;
}

@media (max-width: 720px) {
	section[style*="background: var(--ink)"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"],
	section[style*="background:var(--ink)"] [style*="display:flex"][style*="justify-content:space-between"][style*="align-items:end"] {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	section[style*="background: var(--ink)"] a.btn,
	section[style*="background:var(--ink)"] a.btn {
		width: 100% !important;
	}
}

/* === 9) TRUST BADGES fonty up === */

.fp-trust-badge__body b { font-size: 15.5px !important; }
.fp-trust-badge__body span { font-size: 13.5px !important; line-height: 1.5 !important; color: #3a3220 !important; }
.fp-trust-strip__eyebrow { font-size: 13px !important; }
.fp-trust-strip__foot,
.fp-trust-strip__foot span { font-size: 13.5px !important; }
.fp-trust-strip__link { font-size: 13.5px !important; font-weight: 700 !important; }

/* === 10) FAMILY cards (Sicherheit/Privatsphäre/Wertsteigerung) === */

.fp-family--v2 .fp-family__txt { font-size: 15px !important; line-height: 1.6 !important; }
.fp-family--v2 .fp-family__check li { font-size: 14px !important; line-height: 1.5 !important; }
.fp-family--v2 .fp-family__stat-lbl { font-size: 12px !important; }

/* === 11) ME-PROOFS / ME-QUOTE czytelne === */

.me-quote__text { font-size: clamp(20px, 2.4vw, 30px) !important; line-height: 1.4 !important; }
.me-quote__cite-text strong { font-size: 18px !important; }
.me-quote__cite-role { font-size: 12.5px !important; }
.me-quote__cite-loc { font-size: 14px !important; }
.me-proof__desc { font-size: 15px !important; line-height: 1.6 !important; }
.me-proof__h { font-size: clamp(20px, 2vw, 24px) !important; }

/* === 12) BS-CARD (bestseller) — pelne fonty === */

.bs-card__name { font-size: clamp(20px, 2vw, 26px) !important; }
.bs-card__price-num { font-size: clamp(28px, 3vw, 40px) !important; }
.bs-card__price-unit { font-size: 12px !important; font-weight: 700 !important; }
.bs-card__num { font-size: 12px !important; }
.bs-card__meta strong { font-size: 13px !important; }
.bs-card__meta { font-size: 12px !important; }
.bs-card__cta { font-size: 12.5px !important; }

/* === 13) MANIFEST hero photo MAX HEIGHT === */

.manifest__hero { max-height: 78vh !important; min-height: 480px !important; overflow: hidden !important; }
.manifest__hero img { max-height: 78vh !important; height: 100% !important; object-fit: cover !important; }
@media (min-width: 1400px) { .manifest__hero { max-height: 720px !important; } .manifest__hero img { max-height: 720px !important; } }

/* === 14) HERO photo MAX === */

.fp-hero-photo { max-height: 640px !important; min-height: 460px !important; height: 56vh !important; }
.fp-hero-photo img { max-height: 100% !important; object-fit: cover !important; }

/* === 15) TCO cards fonty === */

.fp-tco-card__name { font-size: clamp(18px, 1.8vw, 22px) !important; }
.fp-tco-card__sub { font-size: 14px !important; line-height: 1.5 !important; color: #3a3220 !important; }
.fp-tco-card__breakdown { font-size: 14px !important; }
.fp-tco-card__total span { font-size: 11px !important; }
.fp-tco-card__total strong { font-size: clamp(24px, 2.6vw, 32px) !important; }

/* === 16) Reviews cards (review-card / adb-grw__card) === */

.review-card__text { font-size: 14.5px !important; line-height: 1.65 !important; }
.review-card__name { font-size: 14.5px !important; }
.review-card__meta { font-size: 12.5px !important; }
.review-card__project { font-size: 12px !important; }

.adb-grw__text { font-size: 14.5px !important; line-height: 1.65 !important; }
.adb-grw__author b { font-size: 14.5px !important; }
.adb-grw__author span { font-size: 12.5px !important; }
.adb-grw__date { font-size: 12px !important; }
.adb-grw__rating-num b { font-size: 44px !important; }
.adb-grw__rating-meta { font-size: 12px !important; }

/* === 17) RATGEBER cards === */

.fp-rg__hero-title { font-size: clamp(22px, 2.4vw, 30px) !important; }
.fp-rg__hero-lede { font-size: 14.5px !important; line-height: 1.6 !important; }
.fp-rg__item-title { font-size: 16px !important; line-height: 1.4 !important; }
.fp-rg__author b { font-size: 14px !important; }
.fp-rg__author span { font-size: 12px !important; }
.fp-rg__cat { font-size: 11.5px !important; }
.fp-rg__min { font-size: 12px !important; }

/* === 18) FAQ peek section === */

.faq-peek__q { font-size: clamp(18px, 1.8vw, 22px) !important; }
.faq-peek__a { font-size: 14.5px !important; line-height: 1.65 !important; }
.faq-peek-side__title { font-size: clamp(28px, 3vw, 38px) !important; }
.faq-peek-side__sub { font-size: 14px !important; }
.faq-peek-side__phone-num { font-size: 18px !important; }
.faq-peek-side__phone-meta { font-size: 12px !important; }

/* === 19) Einwand cards === */

.einwand-card__q { font-size: clamp(20px, 2.2vw, 26px) !important; }
.einwand-card__a { font-size: 15px !important; line-height: 1.65 !important; }
.einwand-card__stat-txt { font-size: 13.5px !important; line-height: 1.55 !important; }
.einwand-card__stat-src { font-size: 11.5px !important; }

/* === 20) PILLAR cards (4 versprechen) === */

.pillar__title { font-size: clamp(20px, 2.2vw, 28px) !important; }
.pillar__body { font-size: 14.5px !important; line-height: 1.6 !important; }
.pillar__foot { font-size: 11.5px !important; }

/* === 21) SV-CARD (acht versprechen) === */

.sv-card__title { font-size: clamp(20px, 2.2vw, 26px) !important; }
.sv-card__body { font-size: 14.5px !important; line-height: 1.6 !important; }
.sv-card__tag { font-size: 11.5px !important; }
.sv-card__num { font-size: clamp(40px, 5vw, 64px) !important; }

/* === 22) FP-GARTEN cards === */

.fp-garten__h { font-size: clamp(20px, 2.2vw, 26px) !important; }
.fp-garten__txt { font-size: 14.5px !important; line-height: 1.65 !important; }
.fp-garten__tag { font-size: 11.5px !important; }
.fp-garten__meta { font-size: 12px !important; }

/* === 23) FORMS — czytelne === */

input, select, textarea {
	font-size: 15px !important;
	padding: 12px 14px !important;
	min-height: 44px !important;
}
label {
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* === 24) Final CTA paths === */

.final-cta__path-label { font-size: 16.5px !important; }
.final-cta__path-sub { font-size: 13px !important; }
.final-cta__path-n { font-size: 22px !important; }

/* === 25) Cert badges === */

.cert-badge__name { font-size: 16px !important; }
.cert-badge__id { font-size: 12px !important; }

/* === FORCE: usun bardzo male inline fonty === */

[style*="font-size:9px"], [style*="font-size: 9px"],
[style*="font-size:9.5px"], [style*="font-size: 9.5px"],
[style*="font-size:10px"], [style*="font-size: 10px"],
[style*="font-size:10.5px"], [style*="font-size: 10.5px"],
[style*="font-size:11px"], [style*="font-size: 11px"],
[style*="font-size:11.5px"], [style*="font-size: 11.5px"] {
	font-size: 12.5px !important;
}

/* Ale mono uppercase mogą zostać 12px gdy są w label-style */
.kicker[style*="font-size:10px"],
.eyebrow[style*="font-size:10px"],
.kicker[style*="font-size:11px"],
.eyebrow[style*="font-size:11px"] {
	font-size: 12px !important;
}

/* === RESPONSIVE === */

@media (max-width: 768px) {
	.container,
	.adb-trustbar__inner,
	.nav__inner {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}


/* =====================================================
   v15.79 — NAV OVERFLOW FIX + NO HORIZONTAL SCROLL
   Przyczyna: v15.78 nadpisał nav__inner na max-width:1280px
   ale nav items (logo 222 + links 895 + actions 212 = 1329px)
   nie mieszcza sie w 1200px content area → overflow + scrollbar
   Naprawa: przywroc nav__inner do var(--w-full) = 1480px
   ===================================================== */

/* Przywroc oryginalne nav__inner (bylo var(--w-full) = 1480px) */
.nav__inner {
	max-width: var(--w-full, 1480px) !important;
}

/* Bezpiecznik: nav nie scrolluje poziomo
   v15.88c — `clip` zamiast `hidden` — `hidden` ucinał mega-menu (dropdown
   pozycjonowany absolute poza nav). `clip` zapobiega horizontal scroll
   ale pozwala absolute dzieciom wychodzić poza container. */
.nav {
	overflow-x: clip !important;
}

/* Bezpiecznik globalny: brak poziomego scrollbara
   v15.87e — `overflow-x: clip` zamiast `hidden`.
   `hidden` wymusza computed overflow:hidden+auto na body co tworzy
   nowy scroll-container i zabija `position: sticky` w dzieciach
   (np. .sp-gallery__stage). `clip` daje ten sam efekt UI bez breakania
   sticky behavior. Supported: Chrome 90+, FF 81+, Safari 16+. */
html, body {
	overflow-x: clip !important;
	max-width: 100vw !important;
}

/* Na mobile nav padding juz ustawiony powyzej (18px) */
@media (min-width: 769px) {
	.nav__inner {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}
}


/* =====================================================
   v15.80 — MANIFEST HERO MAX-WIDTH + WIEKSZE FONTY
   Adam: "zdjecie sekcja rozszerza sie na cala szerokosc storny"
         "wieksze szcionki" (me-quote, me-quote-cite, versprechen)
   ===================================================== */

/* === 1) MANIFEST__HERO — ogranicz do 1280px jak inne sekcje === */

/* Outer section — align z containerami reszty strony */
section.manifest,
.manifest--cinematic {
	max-width: 1280px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

/* Figure i img wewnatrz — pelna szerokosc sekcji */
.manifest__hero {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Zachowaj max-height cap (z v15.77) */
.manifest__hero {
	max-height: 78vh !important;
	min-height: 380px !important;
	position: relative !important;
	overflow: hidden !important;
}
.manifest__hero img {
	width: 100% !important;
	height: 100% !important;
	max-height: 78vh !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
}
@media (min-width: 1400px) {
	.manifest__hero { max-height: 680px !important; }
	.manifest__hero img { max-height: 680px !important; }
}

/* === 2) ME-QUOTE — wieksze fonty === */

.me-quote__text {
	font-size: clamp(22px, 2.8vw, 38px) !important;
	line-height: 1.32 !important;
	font-weight: 400 !important;
}
.me-quote__cite-text strong {
	font-size: 20px !important;
	font-weight: 600 !important;
}
.me-quote__cite-role {
	font-size: 14px !important;
	letter-spacing: .18em !important;
}
.me-quote__cite-loc {
	font-size: 15px !important;
}

/* === 3) ME-PROOFS head — wieksze === */

.me-proofs__h {
	font-size: clamp(30px, 3.8vw, 48px) !important;
	line-height: 1.1 !important;
}
.me-proofs__eyebrow {
	font-size: 14px !important;
	letter-spacing: .22em !important;
}

/* ME-PROOF cards — wieksze liczby i teksty */
.me-proof__num {
	font-size: clamp(52px, 6vw, 80px) !important;
}
.me-proof__h {
	font-size: clamp(20px, 2.2vw, 26px) !important;
}
.me-proof__desc {
	font-size: 15.5px !important;
	line-height: 1.65 !important;
	color: #3a3220 !important;
}
.me-proof__pill {
	font-size: 12px !important;
	padding: 8px 14px !important;
}

/* === 4) VERSPRECHEN / VIER PUNKTE — wieksze === */

/* Lede pod headingiem versprechen */
.versprech-head__lede,
.versprech-head__lede p {
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: #3a3220 !important;
}
.versprech-head__bullets li {
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* === 5) SECTION HEADERS — globalne wieksze === */

.fp-section-h,
[class*="__section-h"],
[class*="__eyebrow"] {
	font-size: 14px !important;
	letter-spacing: .2em !important;
}

/* Trustbar — wieksze bo malo czytelne === */
.adb-trustbar__signals span,
.adb-trustbar__signals {
	font-size: 14px !important;
}
.adb-trustbar__phone b {
	font-size: 15px !important;
}

@media (max-width: 720px) {
	section.manifest,
	.manifest--cinematic {
		max-width: 100% !important;
		margin: 0 !important;
	}
}


/* =====================================================
   v15.81 — ON-DARK SECTIONS: przywroc ciemne tlo
   Przyczyna: v15.75 nadpisal tlo section.section na white
   Sekcje z klasa on-dark nie maja background w inline-style
   → lapaly sie na regule "wszystko bez background = biale"
   → bialy tekst na bialym tle = niewidoczny
   ===================================================== */

/* Przywroc ciemne tlo dla wszystkich on-dark sections */
section.section.on-dark,
.section.on-dark {
	background: var(--bg-dark, #14110b) !important;
	color: rgb(240, 234, 217) !important;
}

/* Naglowki on-dark — jasne na ciemnym */
.section.on-dark h1,
.section.on-dark h2,
.section.on-dark h3,
.section.on-dark h4,
.section.on-dark .display-1,
.section.on-dark .display-2,
.section.on-dark .display-3 {
	color: rgb(240, 234, 217) !important;
}
.section.on-dark em,
.section.on-dark .eyebrow,
.section.on-dark [class*="-eyebrow"] {
	color: var(--gold-light, #e8c668) !important;
}
.section.on-dark .lede,
.section.on-dark p {
	color: rgba(240, 234, 217, 0.82) !important;
}

/* Statystyki na dark (2200+, 33000, itp.) */
.section.on-dark [class*="__stat"],
.section.on-dark [class*="__num"],
.section.on-dark [class*="__figure"],
.section.on-dark [class*="__value"] {
	color: rgb(240, 234, 217) !important;
}
.section.on-dark [class*="__label"],
.section.on-dark [class*="__sub"],
.section.on-dark [class*="__caption"] {
	color: rgba(240, 234, 217, 0.65) !important;
	font-size: 13px !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
}

/* Home final CTA on dark */
.section.on-dark.home-final-cta h2,
.section.on-dark.home-final-cta .display-2 {
	color: rgb(240, 234, 217) !important;
}

/* Ref stats strip (25+ Jahre / 2200 / itp.) */
.section.on-dark [style*="font-family:var(--serif)"][style*="font-size:52px"],
.section.on-dark [style*="font-family:var(--serif)"][style*="font-size:48px"],
.section.on-dark [style*="font-family:var(--serif)"][style*="font-size:44px"] {
	color: rgb(240, 234, 217) !important;
}

/* =====================================================
   v15.82 — COUNTER RESPONSIVE + MAPA + VISUAL POLISH
   1. counter-strip: 6→3→2 col, white-space nowrap, font scaling
   2. mapa Leaflet: responsive section + #de-map height
   3. Visual: button pulse, depot marker animation, font min
   ===================================================== */

/* ---- 1) COUNTER STRIP — responsive grid ---- */

.counter-strip {
	/* desktop: 6 columns — override inline style */
	grid-template-columns: repeat(6, 1fr) !important;
}

/* Number cells: nie łam tekstu, skaluj font */
.counter-val {
	white-space: nowrap !important;
	font-size: clamp(26px, 3.8vw, 48px) !important;
	line-height: 1 !important;
}

/* Tablet: 3 kolumny */
@media (max-width: 1080px) {
	.counter-strip {
		grid-template-columns: repeat(3, 1fr) !important;
	}
	.counter-cell:nth-child(3n) {
		border-right: none !important;
	}
	.counter-cell:nth-child(-n+3) {
		border-bottom: 1px solid rgba(255,255,255,.08) !important;
	}
}

/* Mobile: 2 kolumny */
@media (max-width: 600px) {
	.counter-strip {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.counter-cell {
		border-bottom: 1px solid rgba(255,255,255,.08) !important;
		padding: 20px 16px !important;
	}
	.counter-cell:nth-child(even) {
		border-right: none !important;
	}
	.counter-val {
		font-size: clamp(24px, 7vw, 34px) !important;
	}
}

/* ---- 2) MAPA LEAFLET — responsive section + styling ---- */

/* Sekcja Liefergebiet */
.liefergebiet-section {
	padding: clamp(64px, 8vw, 120px) 0 !important;
}

/* Grid: 2 kolumny desktop → 1 kolumna mobile */
.liefergebiet-grid {
	display: grid !important;
	grid-template-columns: 1fr 1.2fr !important;
	gap: 80px !important;
	align-items: start !important;
}

@media (max-width: 900px) {
	.liefergebiet-grid {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}
}

/* Mapa: pełna szerokość kolumny, ciekawa wizualnie */
#de-map {
	width: 100% !important;
	height: clamp(300px, 50vw, 560px) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 24px 64px -16px rgba(20,17,11,.18) !important;
	border: 1px solid rgba(212,175,55,.25) !important;
}

/* Złoty "ramowy" akcent nad mapą */
.liefergebiet-grid > div:last-child {
	position: relative;
}
.liefergebiet-grid > div:last-child::before {
	content: '';
	position: absolute;
	top: -6px; left: 16px; right: 16px;
	height: 3px;
	background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f0d68c 50%, #d4af37 70%, transparent 100%);
	border-radius: 2px;
	z-index: 402;
}

/* Mapa na mobile: mniejszy border-radius */
@media (max-width: 600px) {
	#de-map {
		height: clamp(240px, 75vw, 340px) !important;
		border-radius: 10px !important;
	}
}

/* Depot marker — animowany puls */
.ad-depot-home {
	width: 18px;
	height: 18px;
	background: var(--ink, #14110b);
	border: 2px solid #d4af37;
	border-radius: 50%;
	position: relative;
}
.ad-depot-home::after {
	content: '';
	position: absolute;
	inset: -6px;
	border: 2px solid rgba(212,175,55,.5);
	border-radius: 50%;
	animation: depot-pulse 2s ease-out infinite;
}

@keyframes depot-pulse {
	0%   { transform: scale(1); opacity: .7; }
	70%  { transform: scale(1.8); opacity: 0; }
	100% { transform: scale(1.8); opacity: 0; }
}

.ad-pin-home {
	width: 10px;
	height: 10px;
	background: #d4af37;
	border: 2px solid #fff;
	border-radius: 50%;
}

/* ---- 3) VISUAL POLISH — strona zyje ---- */

/* CTA primary button: subtelny shimmer na hover */
.btn--primary,
.btn--filled,
a.btn--filled {
	position: relative;
	overflow: hidden;
}
.btn--primary::after,
.btn--filled::after,
a.btn--filled::after {
	content: '';
	position: absolute;
	top: 0; left: -100%;
	width: 60%;
	height: 100%;
	background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.15) 50%, transparent 100%);
	transform: skewX(-15deg);
	transition: left .5s ease;
	pointer-events: none;
}
.btn--primary:hover::after,
.btn--filled:hover::after,
a.btn--filled:hover::after {
	left: 150%;
}

/* Fonty min 14px enforcement — uzupelnienie */
.counter-cell .kicker,
.liefergebiet-grid .kicker {
	font-size: 12px !important;
	letter-spacing: .18em !important;
}

/* me-quote citation */
.me-quote__cite-text strong {
	font-size: 16px !important;
}
.me-quote__cite-role {
	font-size: 12px !important;
	letter-spacing: .16em !important;
}

/* Stats numbers in on-dark section: gold light */
.counter-num {
	color: var(--gold-light, #e8c668) !important;
}

/* Karty produktow: mocniejszy hover lift */
.koll-model-card,
.bs-card,
[class*="model-card"],
[class*="-card"]:not([class*="nav"]):not([class*="badge"]) {
	transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease !important;
}
.koll-model-card:hover,
.bs-card:hover {
	transform: translateY(-8px) !important;
	box-shadow: 0 28px 56px -12px rgba(20,17,11,.16) !important;
}

/* =====================================================
   v15.83 — FONTY + MANIFEST HERO + TRUST BADGES
   1. manifest__hero: aspect-ratio stabilne (bez vh-cut)
   2. trust badges: b→18px, span→15px
   3. me-proofs: desc 17px, heading większy
   4. p/lede: min 16px globalne
   ===================================================== */

/* ---- 1) MANIFEST HERO — stabilne proporcje (fix zoom-cut) ---- */

/* Kasujemy poprzednie vh-based reguły i zastępujemy aspect-ratio */
.manifest__hero {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	min-height: 320px !important;
	max-height: 720px !important;
	overflow: hidden !important;
}
.manifest__hero img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center 30% !important;
	display: block !important;
}
@media (max-width: 600px) {
	.manifest__hero {
		aspect-ratio: 4 / 3 !important;
		min-height: 260px !important;
		max-height: 460px !important;
	}
}

/* ---- 2) TRUST BADGES — czytelne fonty ---- */

.fp-trust-badge__body b {
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}
.fp-trust-badge__body span {
	font-size: 15px !important;
	line-height: 1.55 !important;
	font-weight: 500 !important;
}
.fp-trust-badge__seal {
	width: clamp(76px, 10vw, 100px) !important;
	height: auto !important;
}
.fp-trust-strip__eyebrow {
	font-size: 14px !important;
	letter-spacing: .22em !important;
}

@media (max-width: 720px) {
	.fp-trust-badge {
		padding: 22px 14px !important;
		gap: 14px !important;
	}
	.fp-trust-badge__body b { font-size: 17px !important; }
	.fp-trust-badge__body span { font-size: 14px !important; }
	.fp-trust-badge__seal { width: 68px !important; }
}

/* ---- 3) ME-PROOFS — większe fonty ---- */
/* UWAGA: .me-proof p { 14.5px !important } ma specificity (0,1,1)
   więc muszę używać .me-proof .me-proof__desc (0,2,0) żeby wygrać */

.me-proofs__eyebrow {
	font-size: 14px !important;
	letter-spacing: .22em !important;
}
.me-proofs__h {
	font-size: clamp(30px, 4.5vw, 52px) !important;
	line-height: 1.1 !important;
}
.me-proof .me-proof__num {
	font-size: clamp(58px, 8vw, 92px) !important;
	line-height: .92 !important;
}
.me-proof .me-proof__h {
	font-size: clamp(21px, 2.4vw, 28px) !important;
	font-weight: 600 !important;
}
.me-proof .me-proof__desc {
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: #3a3220 !important;
}
.me-proof .me-proof__pill {
	font-size: 12.5px !important;
	padding: 9px 16px !important;
}

@media (max-width: 600px) {
	.me-proof .me-proof__num  { font-size: clamp(54px, 15vw, 72px) !important; }
	.me-proof .me-proof__h    { font-size: 22px !important; }
	.me-proof .me-proof__desc { font-size: 16.5px !important; }
}

/* ---- 4) GLOBAL — min 16px dla tekstu paragrafowego ---- */

p,
.lede,
.pillar__body,
.fp-process-card__desc,
.einwand-card__body,
.versprech-head__lede p,
.koll-faq-item__a > div,
.koll-uc-card__t,
.koll-process-step__t {
	font-size: 16px !important;
	line-height: 1.65 !important;
}

/* me-quote: text main */
.me-quote__text {
	font-size: clamp(22px, 3vw, 40px) !important;
	line-height: 1.35 !important;
}
.me-quote__cite-text strong {
	font-size: 17px !important;
}

/* Versprechen lede */
.versprech-head__lede p {
	font-size: 17px !important;
}

/* =====================================================
   v15.84 — SINGLE PRODUCT PAGE — responsive / zoom fix
   Adam: "strona produktu się źle skaluje jak robię zoom
   to zostaje samo wielkie zdjęcie produktu reszta ucieka na dół"
   Root cause: .sp-hero__grid has no breakpoints, .sp-gallery
   is sticky with aspect-ratio:4/5 — at narrow viewport / high
   zoom the image becomes unbounded and right column escapes below.
   ===================================================== */

/* Cap gallery stage so it never takes over the viewport */
.sp-gallery__stage {
	max-height: clamp(320px, 65vw, 680px) !important;
}

/* ---- Tablet / medium zoom (≤1100px) — narrow the gap ---- */
@media (max-width: 1100px) {
	.sp-hero__grid {
		gap: 40px !important;
	}
}

/* ---- Mobile / heavy zoom (≤900px) — single column ---- */
@media (max-width: 900px) {
	.sp-hero__grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}

	/* Gallery no longer sticky on single-column layout */
	.sp-gallery {
		position: static !important;
		top: auto !important;
	}

	/* Cap gallery stage height on mobile */
	.sp-gallery__stage {
		max-height: clamp(260px, 80vw, 480px) !important;
		aspect-ratio: 4 / 3 !important; /* wider on mobile, less tall */
	}

	/* Thumbnails: tighter on mobile */
	.sp-gallery__thumbs {
		grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)) !important;
		gap: 8px !important;
	}

	/* sp-hero padding smaller */
	.sp-hero {
		padding: 32px 0 56px !important;
	}
}

/* ---- Small mobile (≤480px) ---- */
@media (max-width: 480px) {
	.sp-gallery__stage {
		aspect-ratio: 3 / 2 !important;
		max-height: 280px !important;
	}
	.sp-hero {
		padding: 24px 0 40px !important;
	}
}

/* =====================================================
   v15.87 — SINGLE PRODUCT — thumbnail bug + sticky reinforce
   Adam: "dwa zdjecia jedno pod drugim dziwnie wyglada, zle, tyle miejsca zajmuje
          zmniejsz jako jedno duze normalne a pod nim jesli jest wiecej zdjec
          to jako maly kafelek"
   Adam: "prawa strona ma byc w stylu scrolowania aby widziec zawsze
          zdjecie z lewej strony"

   Root cause #1: .sp-gallery__thumbs używał repeat(auto-fit, minmax(70px, 1fr))
   Przy 1 thumbie 1fr = 100% szerokości galerii → wygląda jak drugie pełne zdjęcie.
   Fix: thumby mają FIXED max width 80px, justify-start, flex zamiast 1fr.

   Root cause #2: sticky był OK na desktop ale Adam scrolluje na ≤900px
   gdzie sticky było wyłączone v15.84. Decyzja: rozszerzyć sticky do ≤720px.
   ===================================================== */

/* ---- THUMBNAILS — fixed size, never rozciągnięte ---- */
.sp-gallery__thumbs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 14px !important;
	justify-content: flex-start !important;
}
.sp-gallery__thumb {
	width: 80px !important;
	height: 80px !important;
	flex: 0 0 80px !important;
	aspect-ratio: 1 !important;
	padding: 0 !important;
	background-size: cover !important;
	background-position: center !important;
}

/* ---- STICKY na wrapper STAGE + THUMBS razem ----
   v15.94b — Adam: "thumb zanika pod główny — ma się trzymać".
   .sp-gallery__sticky (wrapper stage + thumbs) jest sticky przez całą wysokość
   aside. sp-fill scrolluje normal flow pod wrapperem (sp-fill już NIE
   przyklejony do dna gallery — to było blokowało sticky-budget wrappera).
*/
@media (min-width: 721px) {
	/* v15.95 — sp-fill PRZENIESIONE do osobnej sekcji <section class="sp-trust">
	   ponizej sp-hero. Lewa kolumna gallery teraz CZYSTA — tylko sticky wrapper.
	   Gallery STRETCH do wysokości aside zeby sticky mialo budget przez cala prawa kolumna. */
	.sp-gallery {
		position: relative !important;
		align-self: stretch !important;
		display: block !important;
		padding-bottom: 0 !important;
	}
	.sp-gallery__sticky {
		position: sticky !important;
		top: 100px !important;
		z-index: 2;
		display: block;
	}
	.sp-gallery__stage {
		position: relative !important;
		top: auto !important;
	}
	/* sp-fill — staraly element, schowany (przeniesiony do <section class="sp-trust">) */
	.sp-fill {
		display: none !important;
	}
}

/* ===== sp-trust — pelnoszerokosciowa sekcja TRUST pod sp-hero ===== */
.sp-trust {
	padding: 32px 0;
	background: linear-gradient(180deg, #fafaf7 0%, #fff 100%);
	border-top: 1px solid rgba(212, 175, 55, .15);
	border-bottom: 1px solid rgba(212, 175, 55, .15);
}
.sp-trust__inner {
	/* v15.99 — 2 kolumny (rating + 3 stats), bez certs (przeniesione do sp-facts) */
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 28px;
	align-items: stretch;
}
.sp-trust__stats {
	grid-template-columns: repeat(3, 1fr) !important;
}
/* Rating */
.sp-trust__rating {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	background: #fff;
	border: 1px solid rgba(212, 175, 55, .25);
	border-left: 3px solid #d4af37;
	border-radius: 6px;
}
.sp-trust__rating-body { flex: 1; min-width: 0; }
.sp-trust__rating-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 2px;
}
.sp-trust__stars { color: #f4b400; font-size: 18px; letter-spacing: 1px; line-height: 1; }
.sp-trust__num {
	font-family: var(--serif, Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	color: #14110b;
	line-height: 1;
}
.sp-trust__source {
	font-size: 13px;
	color: #5a5240;
	line-height: 1.4;
}
.sp-trust__rating-link {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	text-decoration: none;
	border: 1px solid rgba(212, 175, 55, .35);
	padding: 7px 12px;
	border-radius: 4px;
	white-space: nowrap;
	transition: all .2s;
}
.sp-trust__rating-link:hover {
	background: #d4af37;
	color: #14110b;
	border-color: #d4af37;
}

/* Stats */
.sp-trust__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.sp-trust__stat {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 12px;
	background: #fff;
	border: 1px solid rgba(212, 175, 55, .2);
	border-radius: 6px;
}
.sp-trust__stat svg { color: #9d6e1f; flex-shrink: 0; }
.sp-trust__stat strong {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: 19px;
	color: #14110b;
	line-height: 1.1;
	font-weight: 600;
}
.sp-trust__stat span {
	display: block;
	font-size: 12px;
	color: #5a5240;
	line-height: 1.3;
	margin-top: 2px;
}

/* Certs */
.sp-trust__certs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
.sp-trust__cert {
	background: #14110b;
	color: #f0e8d4;
	padding: 12px 10px;
	border-radius: 4px;
	text-align: center;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.3;
}
.sp-trust__cert span {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: 14px;
	color: #d4af37;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	margin-bottom: 2px;
}

/* Foot — pelna szerokosc poniżej grid */
.sp-trust__foot {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 4px 0;
	margin-top: 8px;
	border-top: 1px dashed rgba(212, 175, 55, .25);
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #6b6356;
}
.sp-trust__foot a {
	color: #9d6e1f;
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid rgba(157, 110, 31, .3);
	padding-bottom: 2px;
	transition: border-color .2s;
}
.sp-trust__foot a:hover {
	border-bottom-color: #9d6e1f;
}

@media (max-width: 1100px) {
	.sp-trust__inner { grid-template-columns: 1fr; }
	.sp-trust__stats { grid-template-columns: repeat(2, 1fr); }
	.sp-trust__certs { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.sp-trust__stats { grid-template-columns: 1fr 1fr; gap: 8px; }
	.sp-trust__foot { flex-direction: column; gap: 10px; text-align: center; }
}

/* =====================================================
   v15.97 — FORMULARZ WROCIL do aside (sciezka zakupowa)
   Adam: "klient zaznacza dlugosc szerokosc i co dalej nic nie ma...
          ta opcja formularza ze te dane od razu sie wgrywaja"
   sp-form-wide UKRYTE (zachowane HTML do ewentualnego rollback)
   ===================================================== */
.sp-form-wide { display: none !important; }

/* Strzalka wizualna laczaca VORKALKULATION z formularzem (UX flow) */
.sp-flow-arrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 18px;
	padding: 0 4px;
}
.sp-flow-arrow__line {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(212,175,55,.4) 50%, transparent 100%);
}
.sp-flow-arrow__text {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	white-space: nowrap;
	animation: sp-flow-pulse 2s ease-in-out infinite;
}
@keyframes sp-flow-pulse {
	0%, 100% { opacity: .75; }
	50% { opacity: 1; }
}

/* Stary blok (zachowany ale ukryty) */
.sp-form-wide-old-keep {
	padding: clamp(56px, 7vw, 96px) 0;
	background: linear-gradient(180deg, #fff 0%, #fafaf7 100%);
	border-top: 1px solid rgba(212, 175, 55, .18);
	position: relative;
}
.sp-form-wide::before {
	content: '';
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%);
	width: 280px; height: 4px;
	background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f0d68c 50%, #d4af37 70%, transparent 100%);
}

/* ---- HEADER sekcji ---- */
.sp-fw__head {
	max-width: 780px;
	margin: 0 auto clamp(40px, 5vw, 60px);
	text-align: center;
}
.sp-fw__eyebrow {
	display: inline-block;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	padding: 8px 18px;
	border: 1px solid rgba(212, 175, 55, .35);
	border-radius: 30px;
	background: rgba(212, 175, 55, .08);
	margin-bottom: 18px;
}
.sp-fw__title {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(30px, 3.8vw, 44px);
	font-weight: 500;
	line-height: 1.1;
	color: #14110b;
	margin: 0 0 16px;
	letter-spacing: -.01em;
}
.sp-fw__title em {
	font-style: italic;
	color: #9d6e1f;
	font-weight: 500;
}
.sp-fw__lede {
	font-size: clamp(15px, 1.4vw, 17px) !important;
	line-height: 1.6 !important;
	color: #3a3220 !important;
	margin: 0 !important;
	max-width: 700px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.sp-fw__lede strong {
	color: #14110b;
	font-weight: 600;
}

/* ---- GRID 2-kolumny ---- */
.sp-fw__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: clamp(32px, 4vw, 56px);
	max-width: 1280px;
	margin: 0 auto;
	align-items: start;
}

/* ---- LEWA KOLUMNA — form container ---- */
.sp-fw__form-col {
	background: #fff;
	border: 1.5px solid rgba(212, 175, 55, .25);
	border-radius: 14px;
	padding: clamp(28px, 3vw, 40px);
	box-shadow: 0 24px 56px -24px rgba(20, 17, 11, .12);
}

/* ---- PRAWA KOLUMNA — side info ---- */
.sp-fw__side {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: sticky;
	top: 100px;
}

/* Benefits box */
.sp-fw__benefits {
	background: linear-gradient(160deg, #fffbef 0%, #faf2dc 100%);
	border: 1px solid rgba(212, 175, 55, .4);
	border-radius: 12px;
	padding: 24px 22px;
}
.sp-fw__benefits-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px dashed rgba(212, 175, 55, .35);
	color: #9d6e1f;
}
.sp-fw__benefits-head strong {
	font-family: var(--serif, Georgia, serif);
	font-size: 17px;
	font-weight: 600;
	color: #14110b;
}
.sp-fw__benefits-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.sp-fw__benefits-list li {
	position: relative;
	padding-left: 24px;
	font-size: 14.5px;
	line-height: 1.5;
	color: #2a2418;
}
.sp-fw__benefits-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 14px;
	height: 14px;
	background: linear-gradient(135deg, #d4af37 0%, #9d6e1f 100%);
	border-radius: 50%;
}
.sp-fw__benefits-list li::after {
	content: '';
	position: absolute;
	left: 3.5px;
	top: 7px;
	width: 4px;
	height: 7px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.sp-fw__benefits-list li strong {
	color: #14110b;
	font-weight: 700;
}

/* Contact box */
.sp-fw__contact {
	background: #14110b;
	color: #f0e8d4;
	border-radius: 12px;
	padding: 22px;
}
.sp-fw__contact-head {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 700;
	color: #d4af37;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(212, 175, 55, .25);
}
.sp-fw__contact-phone,
.sp-fw__contact-mail {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	color: #f0e8d4;
	text-decoration: none;
	transition: color .2s;
}
.sp-fw__contact-phone svg,
.sp-fw__contact-mail svg {
	color: #d4af37;
	flex-shrink: 0;
}
.sp-fw__contact-phone:hover,
.sp-fw__contact-mail:hover {
	color: #d4af37;
}
.sp-fw__contact-phone span {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}
.sp-fw__contact-phone b {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .01em;
}
.sp-fw__contact-phone em {
	font-style: normal;
	font-size: 11px;
	color: #9d9180;
	margin-top: 2px;
}
.sp-fw__contact-mail span {
	font-size: 14px;
	word-break: break-all;
}

/* Trust mini stats */
.sp-fw__trust-mini {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 18px;
	background: #fff;
	border: 1px solid rgba(212, 175, 55, .25);
	border-radius: 12px;
}
.sp-fw__trust-item {
	text-align: center;
}
.sp-fw__trust-item strong {
	display: block;
	font-family: var(--serif, Georgia, serif);
	font-size: 20px;
	font-weight: 600;
	color: #9d6e1f;
	line-height: 1;
	margin-bottom: 4px;
}
.sp-fw__trust-item span {
	display: block;
	font-size: 11px;
	color: #5a5240;
	line-height: 1.3;
	letter-spacing: .02em;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 980px) {
	.sp-fw__grid {
		grid-template-columns: 1fr !important;
	}
	.sp-fw__side {
		position: static !important;
		top: auto !important;
		order: 2; /* benefits + contact pod formularzem */
	}
	.sp-fw__form-col {
		order: 1;
	}
}
@media (max-width: 600px) {
	.sp-fw__form-col {
		padding: 22px 18px !important;
	}
	.sp-fw__trust-mini {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.sp-fw__trust-item {
		display: flex;
		align-items: baseline;
		justify-content: center;
		gap: 8px;
		text-align: left;
	}
	.sp-fw__trust-item strong { font-size: 22px; margin-bottom: 0; }
}

/* ---- ULEPSZONY GAP TABLET ≤1100px ---- */
@media (max-width: 1100px) and (min-width: 721px) {
	.sp-gallery__stage {
		max-height: 500px !important;
	}
}

/* ---- BREAKPOINT ZMIENIONY z 900px na 720px — wcześniej sticky pozostaje ---- */
@media (max-width: 720px) {
	.sp-hero__grid {
		grid-template-columns: 1fr !important;
		gap: 32px !important;
	}
	.sp-gallery {
		position: static !important;
		top: auto !important;
	}
	.sp-gallery__stage {
		max-height: clamp(260px, 80vw, 460px) !important;
		aspect-ratio: 4 / 3 !important;
	}
	/* Thumbnails na mobile lekko mniejsze */
	.sp-gallery__thumb {
		width: 64px !important;
		height: 64px !important;
		flex: 0 0 64px !important;
	}
	.sp-hero {
		padding: 32px 0 56px !important;
	}
}

/* =====================================================
   v15.88 — MEGA-MENU REDESIGN
   - thumbnails w mega-list (visual anchor)
   - feature card z dużym img
   - widoczny numer telefonu w nav (nie tylko ikona)
   - CTA → /kontakt/#aufmass (zamiast /konfigurator/)
   - REDUKCJA 39 → 18 linków w mega
   ===================================================== */

/* ---- Mega-link z thumbnaila ---- */
.nav__mega-link--with-img {
	display: grid !important;
	grid-template-columns: 48px 1fr !important;
	gap: 12px !important;
	align-items: center !important;
	padding: 8px !important;
	border-radius: 6px !important;
	transition: background .15s ease !important;
}
.nav__mega-link--with-img:hover {
	background: rgba(212,175,55,.08) !important;
}
.nav__mega-link-thumb {
	display: block;
	width: 48px;
	height: 48px;
	background-size: cover;
	background-position: center;
	border-radius: 4px;
	background-color: #2a241a;
	border: 1px solid rgba(212,175,55,.25);
	flex-shrink: 0;
}
.nav__mega-link-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* ---- Feature card z img ---- */
.nav__mega-feature--img {
	padding: 0 !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 280px !important;
}
.nav__mega-feature-img {
	display: block;
	width: 100%;
	height: 160px;
	background-size: cover;
	background-position: center;
	background-color: #2a241a;
	flex-shrink: 0;
}
.nav__mega-feature-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px 18px;
	flex-grow: 1;
}
.nav__mega-feature--img .nav__mega-feature-badge {
	margin: 0 0 4px;
}
.nav__mega-feature--img .nav__mega-feature-cta {
	margin-top: auto;
}

/* ---- Widoczny numer telefonu w nav ----
   v15.88: tylko gdy >1280px (numer juz w trustbar nad nav).
   Poniżej 1280 → ikona tylko (nav__cta zajmuje miejsce). */
.nav__phone-cta--text {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 7px 10px !important;
	border: 1px solid rgba(212,175,55,.4) !important;
	border-radius: 6px !important;
	color: #14110b !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all .2s ease !important;
	white-space: nowrap;
}
.nav__phone-cta--text:hover {
	background: #d4af37 !important;
	color: #14110b !important;
	border-color: #d4af37 !important;
}
.nav__phone-cta--text svg { flex-shrink: 0; }
.nav__phone-num {
	letter-spacing: .01em;
	white-space: nowrap;
}

/* =====================================================
   v15.89 — BURGER — większy + przy krawędzi
   Adam: "burger powinien być trochę większy i zawsze przy krawędzi"
   - Burger 40×40 → 48×48 (touch target standard)
   - Większe ikonki paski (18px → 22px szerokość, 2px → 2.5px grubość)
   - Większy border + lekki gold accent
   - Na szerokości gdzie burger aktywny (≤1100px): padding nav__inner 40 → 16px
   - Wynik: burger przy samej prawej krawędzi viewportu, łatwiejszy do tapnięcia
   ===================================================== */
.nav__burger {
	width: 48px !important;
	height: 48px !important;
	border: 1.5px solid rgba(212, 175, 55, 0.5) !important;
	border-radius: 8px !important;
	background: rgba(255, 251, 239, 0.6) !important;
	gap: 5px !important;
	transition: all .2s ease !important;
	/* nav__inner ma display:flex — bez margin-left:auto burger klei sie do logo */
	margin-left: auto !important;
}
.nav__burger:hover {
	background: #d4af37 !important;
	border-color: #d4af37 !important;
}
.nav__burger:hover span {
	background: #14110b !important;
}
.nav__burger span {
	width: 22px !important;
	height: 2.5px !important;
	border-radius: 2px !important;
}

/* Padding nav__inner mniejszy gdy burger aktywny (≤1100px) */
@media (max-width: 1100px) {
	.nav__inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	/* trustbar też dla spójności */
	.adb-trustbar__inner {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* Bardzo małe ekrany (≤480px) — burger trochę mniejszy żeby zostawić logo place */
@media (max-width: 480px) {
	.nav__burger {
		width: 44px !important;
		height: 44px !important;
	}
	.nav__inner {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

/* nav__phone-cta — UKRYTE w nav (numer JUŻ jest w adb-trustbar nad navem)
   v15.88b: po analizie — duplikat z trustbar nie ma sensu, miejsce potrzebne
   dla głównych linków nav. Zostaje tylko nav__cta "Aufmaß sichern". */
.nav__phone-cta,
.nav__phone-cta--text {
	display: none !important;
}

/* nav__cta — kompaktowy główny CTA */
.nav__cta {
	padding: 9px 16px !important;
	font-size: 12.5px !important;
	letter-spacing: .04em !important;
	white-space: nowrap !important;
}

/* Sticky shrunk nav: numer schowany dla oszczędności miejsca */
.nav[data-sticky="true"] .nav__phone-num {
	display: none;
}

/* Better grid distribution gdy mamy 2 lub 3 kolumny w mega */
.nav__mega-grid {
	display: grid !important;
	gap: 32px !important;
}
.nav__mega-inner:has(.nav__mega-col:nth-child(2):last-of-type) .nav__mega-grid,
.nav__mega-inner:has(.nav__mega-col + .nav__mega-feature) .nav__mega-grid {
	/* 2 columns + feature = 3 equal */
	grid-template-columns: 1fr 1fr 1fr !important;
}
.nav__mega-inner:has(.nav__mega-col:nth-child(3)) .nav__mega-grid {
	/* 3 columns + feature = 4 columns */
	grid-template-columns: 1fr 1fr 1fr 1.1fr !important;
}

/* Mega-menu anchoring — fix dla pierwszego i ostatniego mega
   (centrowanie wystaje poza viewport dla skrajnych itemów).
   1st item "Betonzaun" → wyrównaj do left
   Last item "Metall · Tore" → wyrównaj do right
   Środkowy "Neue Linie" → zostaw centered (default) */
.nav__item--has-mega:first-of-type .nav__mega {
	left: 0 !important;
	right: auto !important;
	transform: translateY(8px) !important;
}
.nav__item--has-mega:first-of-type:hover > .nav__mega,
.nav__item--has-mega:first-of-type:focus-within > .nav__mega {
	transform: translateY(0) !important;
}
.nav__item--has-mega:last-of-type .nav__mega {
	left: auto !important;
	right: 0 !important;
	transform: translateY(8px) !important;
}
.nav__item--has-mega:last-of-type:hover > .nav__mega,
.nav__item--has-mega:last-of-type:focus-within > .nav__mega {
	transform: translateY(0) !important;
}

/* =====================================================
   v15.91 — TRUST PILLARS — przebudowane z badges na rozbudowane karty
   Adam: "bardziej nowoczesnie i czytelniej, bardziej rozbudowane, lepsza grafika"
   - 6 kart z grid 3×2 (zamiast 6 w rzędzie)
   - 2 najważniejsze (30 J. Garantie, 0€ Anzahlung) z FEATURED variant
   - Bullet points z konkretami (DIN normy, ceny, terminy)
   - Senior-friendly: 16-18px body, 22-26px h3
   - Hover lift, fade-up animation
   ===================================================== */

.fp-trust-pillars {
	background: linear-gradient(180deg, #fafaf7 0%, #fff 100%);
	padding: clamp(64px, 8vw, 120px) 0;
	position: relative;
}
.fp-trust-pillars::before {
	content: '';
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%);
	width: 280px; height: 4px;
	background: linear-gradient(90deg, transparent 0%, #d4af37 30%, #f0d68c 50%, #d4af37 70%, transparent 100%);
}

/* ---- HEADER ---- */
.fp-tp__head {
	max-width: 820px;
	margin: 0 auto clamp(48px, 6vw, 72px);
	text-align: center;
}
.fp-tp__eyebrow {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 12.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin-bottom: 18px;
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid rgba(212, 175, 55, .35);
	border-radius: 30px;
	background: rgba(212, 175, 55, .08);
}
.fp-tp__title {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(34px, 4.5vw, 56px);
	font-weight: 500;
	line-height: 1.08;
	color: #14110b;
	margin: 0 0 20px;
	letter-spacing: -.015em;
}
.fp-tp__title em {
	font-style: italic;
	color: #9d6e1f;
	font-weight: 500;
}
.fp-tp__lede {
	font-size: clamp(16px, 1.6vw, 18.5px) !important;
	line-height: 1.65 !important;
	color: #3a3220 !important;
	margin: 0 !important;
	max-width: 720px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.fp-tp__lede strong {
	color: #14110b;
	font-weight: 600;
}

/* ---- GRID ---- */
.fp-tp__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 2.2vw, 28px);
	max-width: 1320px;
	margin: 0 auto;
}

/* ---- KARTA ---- */
.fp-tp__card {
	background: #ffffff;
	border: 1px solid rgba(212, 175, 55, .18);
	border-radius: 14px;
	padding: 0 0 clamp(28px, 2.8vw, 36px);
	display: flex;
	flex-direction: column;
	gap: 0;
	transition: transform .35s cubic-bezier(.2,.8,.2,1),
	            box-shadow .35s,
	            border-color .25s;
	position: relative;
	overflow: hidden;
}
/* ---- HERO — czysty spójny design (v15.93) ----
   Wszystkie 6 kart maja TEN SAM template:
   - Tlo: gradient (jasny lub ciemny)
   - Centered: BIG NUMBER/WORD (cormorant 72px) + unit (mono)
   - Pod tym: maly accent line icon
   - Na dole: pills z konkretami
   Konsystencja = wyglądają jak rodzina, nie AI chaos. */
.fp-tp__hero {
	position: relative;
	width: 100%;
	min-height: 200px;
	padding: 28px 24px 20px;
	background: linear-gradient(160deg, #fffbef 0%, #faf2dc 100%);
	border-radius: 14px 14px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	overflow: hidden;
	color: #9d6e1f;
}
/* Subtle radial glow w tle */
.fp-tp__hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 40%, rgba(212, 175, 55, .18) 0%, transparent 60%);
	pointer-events: none;
}
/* Subtle pattern (diagonal lines) */
.fp-tp__hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(212, 175, 55, .04) 14px, rgba(212, 175, 55, .04) 15px);
	pointer-events: none;
}

/* Wariant DARK dla FEATURED kart */
.fp-tp__hero--dark {
	background: linear-gradient(160deg, #1f1810 0%, #14110b 100%);
	color: #d4af37;
}
.fp-tp__hero--dark::before {
	background: radial-gradient(circle at 50% 40%, rgba(212, 175, 55, .25) 0%, transparent 65%);
}
.fp-tp__hero--dark::after {
	background-image: repeating-linear-gradient(45deg, transparent, transparent 14px, rgba(212, 175, 55, .06) 14px, rgba(212, 175, 55, .06) 15px);
}

/* ---- BIG NUMBER w środku ---- */
.fp-tp__bignum {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
}
.fp-tp__bignum-val {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(56px, 7vw, 80px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.02em;
	color: #14110b;
	display: inline-flex;
	align-items: baseline;
}
.fp-tp__hero--dark .fp-tp__bignum-val {
	background: linear-gradient(180deg, #f5d572 0%, #d4af37 60%, #9d6e1f 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.fp-tp__bignum-val sup {
	font-size: .55em;
	font-weight: 500;
	color: #9d6e1f;
	-webkit-text-fill-color: #9d6e1f;
	margin-left: 2px;
	vertical-align: super;
	line-height: 1;
}
.fp-tp__hero--dark .fp-tp__bignum-val sup {
	color: #d4af37;
	-webkit-text-fill-color: #d4af37;
}
/* Word-style (TÜV, DIN) */
.fp-tp__bignum-val--word {
	font-family: 'Inter', sans-serif;
	font-weight: 900;
	font-size: clamp(44px, 5.5vw, 62px);
	letter-spacing: .04em;
}
.fp-tp__bignum-unit {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin-top: 2px;
}
.fp-tp__hero--dark .fp-tp__bignum-unit {
	color: #f0d68c;
}

/* ---- v15.115 — Lucide ikona (profesjonalna, wyrazistsza niż blady akcent) ---- */
.fp-tp__hero-ico {
	position: relative;
	z-index: 2;
	width: 34px;
	height: 34px;
	opacity: .9;
	color: #b8860b;
	margin-top: 2px;
	stroke-width: 2;
}
.fp-tp__hero--dark .fp-tp__hero-ico {
	color: #e8c45a;
	opacity: .95;
}

/* ---- Pills z konkretami ---- */
.fp-tp__pills {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin-top: 4px;
	max-width: 100%;
}
.fp-tp__pills span {
	display: inline-block;
	padding: 4px 9px;
	background: rgba(20, 17, 11, .08);
	border: 1px solid rgba(20, 17, 11, .12);
	border-radius: 20px;
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #14110b;
	white-space: nowrap;
}
.fp-tp__hero--dark .fp-tp__pills span {
	background: rgba(212, 175, 55, .1);
	border-color: rgba(212, 175, 55, .25);
	color: #f0d68c;
}

/* ---- Body ---- */
.fp-tp__body {
	padding: clamp(24px, 2.4vw, 32px) clamp(24px, 2.4vw, 32px) 0;
}

/* Card hover - subtle lift, hero pulsuje */
.fp-tp__card:hover .fp-tp__hero::before {
	background: radial-gradient(circle at 50% 40%, rgba(212, 175, 55, .28) 0%, transparent 60%);
}
.fp-tp__card--featured:hover .fp-tp__hero::before {
	background: radial-gradient(circle at 50% 40%, rgba(212, 175, 55, .38) 0%, transparent 65%);
}
.fp-tp__card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
}
.fp-tp__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 32px 64px -20px rgba(20, 17, 11, .15);
	border-color: rgba(212, 175, 55, .45);
}

/* ---- FEATURED VARIANT (30 J. Garantie + 0 € Anzahlung) ---- */
.fp-tp__card--featured {
	background: linear-gradient(160deg, #fffbef 0%, #faf2dc 100%);
	border-color: rgba(212, 175, 55, .4);
	border-width: 1.5px;
}
.fp-tp__card--featured::before {
	height: 5px;
}

/* ---- BODY ---- */
.fp-tp__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fp-tp__sub {
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-weight: 700;
	color: #9d6e1f;
	margin-top: 4px;
}
.fp-tp__h {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(20px, 2vw, 24px);
	font-weight: 600;
	line-height: 1.2;
	color: #14110b;
	margin: 0 0 4px;
	letter-spacing: -.005em;
}
.fp-tp__h em {
	font-style: italic;
	color: #9d6e1f;
}

/* ---- LISTA bullets ---- */
.fp-tp__list {
	list-style: none;
	margin: 6px 0 0;
	padding: 14px 0 0;
	border-top: 1px dashed rgba(212, 175, 55, .3);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fp-tp__list li {
	position: relative;
	padding-left: 26px;
	font-size: 15.5px;
	line-height: 1.55;
	color: #2a2418;
	font-weight: 500;
}
.fp-tp__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 16px;
	height: 16px;
	background: linear-gradient(135deg, #d4af37 0%, #9d6e1f 100%);
	border-radius: 50%;
	box-shadow: 0 2px 6px -2px rgba(212, 175, 55, .5);
}
.fp-tp__list li::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 9px;
	width: 5px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.fp-tp__list li strong {
	color: #14110b;
	font-weight: 700;
}

/* ---- FOOTER ---- */
.fp-tp__foot {
	max-width: 1100px;
	margin: clamp(48px, 5vw, 72px) auto 0;
	padding: clamp(28px, 3vw, 40px);
	background: #14110b;
	border-radius: 16px;
	display: grid;
	grid-template-columns: 1.4fr auto;
	gap: 32px;
	align-items: center;
	color: #f0e8d4;
	position: relative;
	overflow: hidden;
}
.fp-tp__foot::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #d4af37 0%, #f0d68c 50%, #d4af37 100%);
}
.fp-tp__foot-text {
	font-size: 16.5px;
	line-height: 1.55;
}
.fp-tp__foot-text strong {
	display: block;
	color: #d4af37;
	font-family: var(--serif, Georgia, serif);
	font-size: 22px;
	font-weight: 500;
	font-style: italic;
	margin-bottom: 8px;
}
.fp-tp__foot-cta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 280px;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1100px) {
	.fp-trust-pillars .fp-tp__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 720px) {
	.fp-trust-pillars .fp-tp__grid {
		grid-template-columns: 1fr !important;
	}
	.fp-tp__foot {
		grid-template-columns: 1fr !important;
		text-align: center;
	}
	.fp-tp__foot-cta {
		min-width: auto;
	}
}
@media (max-width: 480px) {
	.fp-tp__card {
		padding: 24px 20px !important;
	}
	.fp-tp__icon-wrap {
		width: 72px;
		height: 72px;
	}
	.fp-tp__icon {
		width: 36px;
		height: 36px;
	}
}

/* ---- Animacja entry (fade-up) ---- */
@media (prefers-reduced-motion: no-preference) {
	.fp-tp__card {
		opacity: 0;
		transform: translateY(20px);
		animation: fp-tp-fadeup .6s cubic-bezier(.2,.8,.2,1) forwards;
	}
	.fp-tp__card:nth-child(1) { animation-delay: .05s; }
	.fp-tp__card:nth-child(2) { animation-delay: .12s; }
	.fp-tp__card:nth-child(3) { animation-delay: .19s; }
	.fp-tp__card:nth-child(4) { animation-delay: .26s; }
	.fp-tp__card:nth-child(5) { animation-delay: .33s; }
	.fp-tp__card:nth-child(6) { animation-delay: .40s; }
}
@keyframes fp-tp-fadeup {
	to { opacity: 1; transform: translateY(0); }
}

/* ---- Ukryj starą sekcję jeśli została w cache ---- */
.fp-trust-strip { display: none !important; }

/* =====================================================
   v15.101 — MODELL HERO (mockup Adama) — nowa architektura
   Adam: "zobacz i wdroz to wlasnie tak"
   Plik źródłowy: C:\Users\User\Downloads\modell-22-section.html
   Cele: sticky media + clean panel, zero duplikatów, czysta hierarchia.
   ===================================================== */

/* TOKENS lokalne (nie nadpisują globalnych vars motywu) */
.modell-hero {
	--mh-bg-cream:     #f7f1e6;
	--mh-bg-page:      #fbf7ef;
	--mh-surface:      #ffffff;
	--mh-surface-soft: #fbf6ec;
	--mh-border:       #e7dcc4;
	--mh-border-str:   #c9b88f;
	--mh-ink:          #1a1410;
	--mh-ink-soft:     #5a4f3e;
	--mh-ink-mute:     #8a7e6a;
	--mh-gold:         #b8893a;
	--mh-gold-deep:    #8d6822;
	--mh-gold-tint:    #f4ead2;
	--mh-radius-sm:    4px;
	--mh-radius:       8px;
	--mh-radius-lg:    14px;

	padding: 48px 24px 72px !important;
	background:
		radial-gradient(1200px 600px at 80% -10%, rgba(184,137,58,.06), transparent 60%),
		var(--mh-bg-page);
}
.modell-hero__inner {
	max-width: 1240px;
	margin: 0 auto;
}
.modell-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
@media (max-width: 980px) {
	.modell-hero { padding: 24px 16px 48px !important; }
	.modell-hero__grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ============ LEFT · MEDIA ============ */
.modell-hero .media {
	position: sticky;
	top: 24px;
}
@media (max-width: 980px) {
	.modell-hero .media { position: static; }
}
.modell-hero .media__frame {
	position: relative;
	aspect-ratio: 4/5;
	background: #ddd;
	border-radius: var(--mh-radius-lg);
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(26,20,16,.10);
}
.modell-hero .media__frame img {
	width: 100%; height: 100%; object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.modell-hero .media__frame:hover img { transform: scale(1.02); }
.modell-hero .media__badge {
	position: absolute;
	top: 18px; left: 18px;
	background: rgba(26,20,16,.85);
	color: #fff;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 8px 12px;
	border-radius: 999px;
	backdrop-filter: blur(6px);
	font-family: var(--mono, ui-monospace, monospace);
	font-weight: 700;
}
.modell-hero .media__caption {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	padding: 48px 20px 18px;
	background: linear-gradient(to top, rgba(26,20,16,.7), transparent);
	color: #fff;
	font-size: 12.5px;
	letter-spacing: .06em;
	display: flex; justify-content: space-between; gap: 8px;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .media__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 10px;
}
.modell-hero .media__thumbs button {
	aspect-ratio: 1;
	border: 1px solid var(--mh-border);
	background: #ccc center/cover no-repeat;
	border-radius: var(--mh-radius-sm);
	padding: 0; cursor: pointer;
	transition: border-color .2s, transform .2s;
}
.modell-hero .media__thumbs button:hover { transform: translateY(-2px); }
.modell-hero .media__thumbs button[aria-current="true"],
.modell-hero .media__thumbs button.is-active {
	border-color: var(--mh-ink);
	border-width: 2px;
}

/* Tech strip pod galerią */
.modell-hero .tech-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 18px 0 0;
	padding: 0;
	border: 1px solid var(--mh-border);
	border-radius: var(--mh-radius);
	background: var(--mh-surface);
	overflow: hidden;
}
.modell-hero .tech-strip > div {
	padding: 14px 10px;
	text-align: center;
	border-right: 1px solid var(--mh-border);
}
.modell-hero .tech-strip > div:last-child { border-right: none; }
.modell-hero .tech-strip dt {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--mh-ink);
	margin: 0;
	line-height: 1;
}
.modell-hero .tech-strip dd {
	margin: 4px 0 0;
	font-size: 10.5px;
	letter-spacing: .10em;
	text-transform: uppercase;
	color: var(--mh-ink-mute);
	font-family: var(--mono, ui-monospace, monospace);
}
@media (max-width: 560px) {
	.modell-hero .tech-strip { grid-template-columns: repeat(2, 1fr); }
	.modell-hero .tech-strip > div:nth-child(2) { border-right: none; }
	.modell-hero .tech-strip > div:nth-child(1),
	.modell-hero .tech-strip > div:nth-child(2) { border-bottom: 1px solid var(--mh-border); }
}

/* ============ RIGHT · PANEL ============ */
.modell-hero .panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.modell-hero .panel .eyebrow {
	font-size: 11px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	color: var(--mh-gold-deep) !important;
	font-weight: 600 !important;
	margin: 0 !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
}
.modell-hero .panel h1 {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif) !important;
	font-weight: 500 !important;
	font-size: clamp(36px, 4.4vw, 56px) !important;
	line-height: 1.02 !important;
	letter-spacing: -.01em !important;
	margin: 6px 0 0 !important;
	color: var(--mh-ink) !important;
}
.modell-hero .panel h1 .period { color: var(--mh-gold); }
.modell-hero .panel__sub {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-style: italic;
	font-size: 18px;
	color: var(--mh-ink-soft);
	margin: 4px 0 0;
	font-weight: 400;
}
.modell-hero .panel__lead {
	font-size: 15.5px !important;
	color: var(--mh-ink-soft) !important;
	margin: 14px 0 0 !important;
	max-width: 46ch;
	line-height: 1.55 !important;
}
.modell-hero .panel__nl-badge {
	margin: 8px 0 0;
	padding: 12px 16px;
	background: var(--mh-ink);
	color: var(--mh-gold-tint);
	font-family: var(--mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	border-radius: var(--mh-radius-sm);
	font-weight: 600;
}

/* ---- PRICE BAR ---- */
.modell-hero .price-bar {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 20px 0;
	border-top: 1px solid var(--mh-border);
	border-bottom: 1px solid var(--mh-border);
	margin-top: 8px;
	flex-wrap: wrap;
}
.modell-hero .price-bar__from {
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mh-ink-mute);
	font-weight: 600;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .price-bar__amount {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 42px;
	font-weight: 600;
	color: var(--mh-ink);
	line-height: 1;
}
.modell-hero .price-bar__unit {
	font-size: 13px;
	color: var(--mh-ink-soft);
}
.modell-hero .price-bar__meta {
	margin-left: auto;
	font-size: 11.5px;
	color: var(--mh-ink-mute);
	text-align: right;
	line-height: 1.4;
}

/* ---- KONFIGURATOR (cfg) ---- */
.modell-hero .cfg {
	display: flex; flex-direction: column;
	gap: 18px;
	margin: 0 !important;
	padding: 0 !important;
}
.modell-hero .cfg__row { display: flex; flex-direction: column; gap: 8px; }
.modell-hero .cfg__label {
	display: flex; justify-content: space-between; align-items: baseline;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mh-ink-mute);
	font-weight: 600;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .cfg__label small {
	font-size: 10.5px;
	letter-spacing: .10em;
	text-transform: none;
	color: var(--mh-ink-mute);
	font-weight: 500;
}

/* Pills (Höhe + Länge szybkie) */
.modell-hero .pills {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 6px;
}
.modell-hero .pills--len { grid-template-columns: repeat(3, 1fr); }
.modell-hero .pills button {
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	padding: 11px 4px;
	background: var(--mh-surface);
	border: 1px solid var(--mh-border);
	color: var(--mh-ink-soft);
	border-radius: var(--mh-radius-sm);
	cursor: pointer;
	transition: all .15s;
	min-height: auto;
	letter-spacing: 0;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .pills button:hover {
	border-color: var(--mh-ink-soft);
	color: var(--mh-ink);
}
.modell-hero .pills button[aria-pressed="true"],
.modell-hero .pills button.is-active {
	background: var(--mh-ink) !important;
	border-color: var(--mh-ink) !important;
	color: #fff !important;
}
@media (max-width: 520px) {
	.modell-hero .pills { grid-template-columns: repeat(3, 1fr); }
	.modell-hero .pills--len { grid-template-columns: repeat(3, 1fr); }
}

/* Len input (stepper) */
.modell-hero .len-wrap {
	display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
}
.modell-hero .len-input {
	display: flex; align-items: center;
	gap: 8px;
	background: var(--mh-surface);
	border: 1px solid var(--mh-border);
	border-radius: var(--mh-radius-sm);
	padding: 4px;
	width: fit-content;
	min-height: auto;
}
.modell-hero .len-input button {
	width: 34px !important; height: 34px !important;
	background: transparent !important;
	border: none !important;
	font-size: 18px !important;
	color: var(--mh-ink-soft) !important;
	cursor: pointer;
	border-radius: var(--mh-radius-sm) !important;
	font-family: var(--mono, ui-monospace, monospace);
	padding: 0 !important;
	font-weight: 600 !important;
}
.modell-hero .len-input button:hover { background: var(--mh-bg-cream) !important; }
.modell-hero .len-input input {
	width: 62px !important;
	text-align: center !important;
	border: none !important;
	background: transparent !important;
	font: inherit !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	color: var(--mh-ink) !important;
	padding: 0 !important;
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif) !important;
}
.modell-hero .len-input input:focus { outline: none; }
.modell-hero .len-input span {
	font-size: 12px !important;
	color: var(--mh-ink-mute) !important;
	padding-right: 6px !important;
	font-family: var(--mono, ui-monospace, monospace);
}

/* ---- CALC (Vorkalkulation) ---- */
.modell-hero .calc {
	background: linear-gradient(135deg, var(--mh-gold-tint) 0%, var(--mh-surface-soft) 100%) !important;
	border: 1px solid var(--mh-border-str) !important;
	border-radius: var(--mh-radius) !important;
	padding: 18px 20px !important;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 16px;
	align-items: center;
	margin: 0 !important;
}
.modell-hero .calc__label {
	font-size: 10.5px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--mh-gold-deep) !important;
	font-weight: 700 !important;
	grid-column: 1/-1;
	font-family: var(--mono, ui-monospace, monospace) !important;
}
.modell-hero .calc__value {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif) !important;
	font-size: 38px !important;
	font-weight: 600 !important;
	color: var(--mh-ink) !important;
	line-height: 1 !important;
	display: inline-flex;
	align-items: baseline;
	letter-spacing: -.01em !important;
}
.modell-hero .calc__value .sp-calc-result__total,
.modell-hero .calc__value .sp-calc-result__cur {
	font-size: inherit !important;
	color: inherit !important;
	font-family: inherit !important;
}
.modell-hero .calc__per {
	text-align: right;
	font-size: 13px;
	color: var(--mh-ink-soft);
}
.modell-hero .calc__per strong {
	display: block;
	font-size: 11px;
	color: var(--mh-ink-mute);
	font-weight: 600;
	letter-spacing: .10em;
	text-transform: uppercase;
	margin-bottom: 2px;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .calc__hint {
	grid-column: 1/-1;
	font-size: 11.5px;
	color: var(--mh-ink-mute);
	border-top: 1px dashed var(--mh-border-str);
	padding-top: 10px;
	margin: 4px 0 0;
	line-height: 1.45;
}

/* ---- FORM wrapper (mockup style) ---- */
.modell-hero .form {
	background: var(--mh-surface);
	border: 1px solid var(--mh-border);
	border-radius: var(--mh-radius-lg);
	padding: 24px;
	box-shadow: 0 1px 2px rgba(26,20,16,.04), 0 8px 30px rgba(26,20,16,.06);
}
.modell-hero .form__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--mh-border);
}
.modell-hero .form__head h2 {
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 24px;
	font-weight: 600;
	margin: 0;
	color: var(--mh-ink);
	letter-spacing: -.01em;
}
.modell-hero .form__head small {
	font-size: 11px;
	color: var(--mh-ink-mute);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	white-space: nowrap;
	font-family: var(--mono, ui-monospace, monospace);
}

/* Form fields styling — override defaults adb-form żeby pasowały do mockupu */
.modell-hero .form .adb-form__grid,
.modell-hero .form fieldset.adb-form__section > .adb-form__grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 12px !important;
}
@media (max-width: 560px) {
	.modell-hero .form .adb-form__grid { grid-template-columns: 1fr !important; }
}
.modell-hero .form .adb-form__section { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.modell-hero .form .adb-form__section legend { display: none !important; }
.modell-hero .form .adb-form__field { display: flex; flex-direction: column; gap: 5px; }
.modell-hero .form .adb-form__field--full { grid-column: 1/-1; }
.modell-hero .form .adb-form__field > span {
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .06em !important;
	color: var(--mh-ink-soft) !important;
	text-transform: uppercase !important;
}
.modell-hero .form input[type="text"],
.modell-hero .form input[type="email"],
.modell-hero .form input[type="tel"],
.modell-hero .form textarea {
	font: inherit !important;
	font-size: 14.5px !important;
	padding: 10px 12px !important;
	border: 1px solid var(--mh-border) !important;
	border-radius: var(--mh-radius-sm) !important;
	background: var(--mh-surface) !important;
	color: var(--mh-ink) !important;
	width: 100% !important;
	transition: border-color .15s, box-shadow .15s !important;
}
.modell-hero .form input:focus,
.modell-hero .form textarea:focus {
	outline: none !important;
	border-color: var(--mh-gold) !important;
	box-shadow: 0 0 0 3px var(--mh-gold-tint) !important;
}
.modell-hero .form textarea { resize: vertical; min-height: 64px; }
.modell-hero .form__consent,
.modell-hero .form .adb-form__consent {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin-top: 14px !important;
	font-size: 12.5px !important;
	color: var(--mh-ink-soft) !important;
	line-height: 1.45 !important;
}
.modell-hero .form .adb-form__consent input { margin-top: 3px; accent-color: var(--mh-gold-deep); }
.modell-hero .form .adb-form__submit {
	width: 100% !important;
	margin-top: 16px !important;
	padding: 16px 20px !important;
	background: var(--mh-ink) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--mh-radius-sm) !important;
	font: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	cursor: pointer !important;
	transition: background .15s, transform .1s !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
}
.modell-hero .form .adb-form__submit:hover { background: var(--mh-gold-deep) !important; }
.modell-hero .form .adb-form__submit:active { transform: translateY(1px); }
.modell-hero .form .adb-form__privacy {
	font-size: 11px !important;
	color: var(--mh-ink-mute) !important;
	margin-top: 8px !important;
	text-align: center;
}

/* File upload */
.modell-hero .form .adb-form__file-zone {
	border: 1px dashed var(--mh-border-str) !important;
	border-radius: var(--mh-radius) !important;
	padding: 12px 14px !important;
	background: var(--mh-surface-soft) !important;
	transition: background .15s !important;
}
.modell-hero .form .adb-form__file-zone:hover { background: var(--mh-gold-tint) !important; }
.modell-hero .form .adb-form__file-cta { gap: 12px !important; }
.modell-hero .form .adb-form__file-cta svg { color: var(--mh-gold-deep) !important; }

/* ---- TRUST row (kompaktowy, jeden raz) ---- */
.modell-hero .trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	font-size: 12px;
	color: var(--mh-ink-mute);
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--mono, ui-monospace, monospace);
}
.modell-hero .trust li {
	display: flex; align-items: center; gap: 6px;
	list-style: none;
}
.modell-hero .trust li::before {
	content: "✓";
	color: var(--mh-gold-deep);
	font-weight: 700;
}
.modell-hero .trust li.trust__rating::before { content: ""; }
.modell-hero .trust__sep {
	width: 1px; height: 14px; background: var(--mh-border-str);
	margin: 0 4px;
	display: inline-block;
}
.modell-hero .trust__rating {
	font-weight: 600;
	color: var(--mh-ink-soft);
}
.modell-hero .trust__rating .stars { letter-spacing: 1px; color: #e0a72d; }

/* ---- UKRYJ stare sp-hero elementy w razie cache ---- */
.sp-hero { display: none !important; }
.sp-flow-arrow { display: none !important; }
.sp-hero-form { display: none !important; }
.sp-hero-trust { display: none !important; }

/* v15.103 — Adb-google-reviews (footer.php globalne) UKRYTE na karcie produktu.
   Powod: opinie ogolne nie sa o tym konkretnym modelu = social proof osłabiony.
   Globalnie zostaje (home, kollektion, kontakt itd. dalej wyswietlaja). */
body.single-product .adb-google-reviews {
	display: none !important;
}

/* v15.115 — Home ma WŁASNĄ sekcję opinii (.review-card ze zdjęciami realizacji
   w front-page.php). Globalna adb-google-reviews z footer.php = duplikat.
   Adam: "na głównej są dwa razy opinie Google". Ukrywamy globalną na home,
   zostaje lepsza (ze zdjęciami) z front-page.php. */
body.home .adb-google-reviews,
body.page-template-front-page .adb-google-reviews {
	display: none !important;
}

/* =====================================================
   v15.98 — SINGLE PRODUCT — KOMPRESJA SCALE & HIERARCHY
   Adam: "tych elementów jest tutaj za dużo, ile treści, niespójne,
          literki za małe, cyfry za duże, za duże odstępy, źle skaluje"
   Cel: czytelne, kompaktowe, spójne fonty/spacings na całej karcie.
   ===================================================== */

/* ----- 1) ASIDE — kompresja tytułu + sub-h1 + lede ----- */
.sp-hero aside .display-2 {
	font-size: clamp(28px, 3.2vw, 40px) !important;
	line-height: 1.1 !important;
	margin-top: 16px !important;
	margin-bottom: 0 !important;
	letter-spacing: -.015em !important;
}
.sp-hero aside .display-2 + div[style*="border-top"] {
	font-size: 15px !important;
	padding: 10px 0 !important;
	margin-top: 10px !important;
}
.sp-hero aside .lede {
	font-size: 15px !important;
	line-height: 1.5 !important;
	margin-top: 14px !important;
	color: #2a2418 !important;
}

/* ----- 2) ASIDE — Box ceny (Ab-Preis) kompaktowy ----- */
.sp-hero aside > div[style*="background:var(--bg-2)"][style*="border-left"] {
	margin-top: 24px !important;
	padding: 18px 22px 16px !important;
}
.sp-hero aside > div[style*="background:var(--bg-2)"][style*="border-left"] .kicker {
	font-size: 10.5px !important;
	letter-spacing: .15em !important;
}
.sp-hero aside > div[style*="background:var(--bg-2)"][style*="border-left"] span[style*="font-size:64px"] {
	font-size: 38px !important;
	font-weight: 600 !important;
}
.sp-hero aside > div[style*="background:var(--bg-2)"][style*="border-left"] span[style*="font-size:42px"] {
	font-size: 22px !important;
	margin-left: 4px !important;
}
.sp-hero aside > div[style*="background:var(--bg-2)"][style*="border-left"] div[style*="font-size:14px"] {
	font-size: 13px !important;
	margin-top: 12px !important;
	padding-top: 10px !important;
	line-height: 1.5 !important;
}

/* ----- 3) KALKULATOR — Höhe buttons (touch-friendly + większy font) ----- */
.sp-config {
	margin-top: 24px !important;
}
.sp-h-btn {
	padding: 14px 8px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	min-height: 48px !important;
	border-radius: 6px !important;
	transition: all .15s !important;
}
.sp-h-btn.is-active {
	font-size: 16px !important;
}
.sp-h-step {
	width: 26px !important;
	height: 26px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

/* ----- 4) KALKULATOR — Länge stepper (BIG input) ----- */
.sp-stepper {
	min-height: 56px !important;
}
.sp-stepper__btn {
	width: 48px !important;
	height: 48px !important;
	font-size: 22px !important;
	font-weight: 600 !important;
}
.sp-stepper__input {
	font-size: 24px !important;
	font-weight: 600 !important;
	font-family: var(--serif, Georgia, serif) !important;
	text-align: center !important;
	padding: 0 !important;
	color: #14110b !important;
}
.sp-stepper__unit {
	font-size: 16px !important;
	font-weight: 600 !important;
	padding-right: 8px !important;
}

/* ----- 5) KALKULATOR — Quick length buttons ----- */
.sp-len-quick__btn {
	padding: 12px 6px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-family: var(--mono, ui-monospace, monospace) !important;
	min-height: 42px !important;
}
.sp-len-quick__btn.is-active {
	font-size: 15px !important;
}

/* ----- 6) VORKALKULATION — kompaktowy box ----- */
.sp-calc-result {
	margin-top: 24px !important;
	padding: 20px 22px !important;
	border-radius: 8px !important;
}
.sp-calc-result__head {
	margin-bottom: 8px !important;
}
.sp-calc-result__label {
	font-size: 11px !important;
	letter-spacing: .15em !important;
	font-weight: 700 !important;
}
.sp-calc-result__sub {
	font-size: 11.5px !important;
	margin-top: 2px !important;
}
.sp-calc-result__num {
	margin: 10px 0 8px !important;
}
.sp-calc-result__total {
	font-size: 42px !important;
	font-weight: 600 !important;
	letter-spacing: -.015em !important;
}
.sp-calc-result__cur {
	font-size: 26px !important;
	margin-left: 4px !important;
}
.sp-calc-result__foot {
	font-size: 12.5px !important;
	margin-top: 6px !important;
	padding-top: 8px !important;
}

/* ----- 7) ODER divider + Konfigurator CTA ----- */
.sp-or-divider {
	margin: 20px 0 !important;
}
.sp-or-divider span {
	font-size: 11px !important;
	padding: 5px 14px !important;
}
.sp-konfig-cta {
	padding: 14px 18px !important;
	gap: 14px !important;
	border-radius: 8px !important;
}
.sp-konfig-cta__title {
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}
.sp-konfig-cta__sub {
	font-size: 11.5px !important;
	line-height: 1.4 !important;
	margin-top: 2px !important;
}
.sp-konfig-cta__icon {
	width: 40px !important;
	height: 40px !important;
}

/* ----- 8) Flow arrow — kompaktowy ----- */
.sp-flow-arrow {
	margin: 18px 0 12px !important;
}
.sp-flow-arrow__text {
	font-size: 10.5px !important;
	letter-spacing: .12em !important;
}

/* ----- 9) sp-hero-form header — kompaktowy ----- */
.sp-hero-form {
	padding: 0 !important;
}
.sp-hero-form__head {
	padding: 14px 18px !important;
	gap: 12px !important;
}
.sp-hero-form__icon {
	width: 36px !important;
	height: 36px !important;
	font-size: 18px !important;
}
.sp-hero-form__title {
	font-size: 16px !important;
	font-weight: 600 !important;
}
.sp-hero-form__sub {
	font-size: 11.5px !important;
	margin-top: 2px !important;
}

/* ----- 10) sp-hero-trust pills — kompaktowe ----- */
.sp-hero-trust {
	margin-top: 14px !important;
	gap: 10px !important;
	font-size: 11.5px !important;
}
.sp-hero-trust span {
	padding: 4px 0 !important;
}

/* ----- 11) sp-trust — pełnoszerokościowa kompresja ----- */
.sp-trust {
	padding: 24px 0 !important;
}
.sp-trust__inner {
	gap: 20px !important;
}
.sp-trust__rating {
	padding: 14px 18px !important;
}
.sp-trust__num { font-size: 24px !important; }
.sp-trust__source { font-size: 12px !important; }
.sp-trust__stats { gap: 10px !important; }
.sp-trust__stat {
	padding: 12px 10px !important;
}
.sp-trust__stat strong { font-size: 20px !important; }
.sp-trust__stat span { font-size: 11.5px !important; }
.sp-trust__certs { gap: 6px !important; }
.sp-trust__cert {
	padding: 10px 8px !important;
	font-size: 10.5px !important;
}
.sp-trust__cert span {
	font-size: 13px !important;
}
.sp-trust__foot {
	font-size: 11px !important;
	padding-top: 12px !important;
	margin-top: 6px !important;
}

/* ----- 12) sp-facts (dark stats sekcja) — kompresja ----- */
.sp-facts {
	padding: 36px 0 !important;
}
.sp-facts__grid {
	gap: 20px !important;
}
.sp-facts__num {
	font-size: 38px !important;
}
.sp-facts__num small {
	font-size: 18px !important;
}
.sp-facts__label {
	font-size: 11px !important;
	letter-spacing: .12em !important;
	margin-top: 6px !important;
}

/* ----- 13) RESPONSIVE — mobile zostaje czytelne ----- */
@media (max-width: 600px) {
	.sp-hero aside .display-2 {
		font-size: 26px !important;
	}
	.sp-h-btn { font-size: 14px !important; padding: 12px 4px !important; }
	.sp-stepper__input { font-size: 22px !important; }
	.sp-stepper__btn { width: 44px !important; height: 44px !important; }
	.sp-calc-result__total { font-size: 36px !important; }
	.sp-facts__num { font-size: 32px !important; }
}

/* ============================================================
 * v15.106 — MOBILE FIX dla .modell-hero (raport Adama 2026-05-20)
 *
 * Problemy:
 *   1. "zdjęcie za ogromne" — aspect-ratio 4/5 (portret) na zdjęciu
 *      1000×1500 daje 521px wys. na 460px viewport = za dużo.
 *   2. Tech-strip na tabletach (561-980px) ma ciągle 4 kolumny —
 *      tekst per komórka się składa pionowo → wygląda jak
 *      ściana powtórzeń ("C35/45 Struktur­beton XF4 Frost...
 *       C35/45 Struktur­beton XF4...").
 *   3. Soft hyphens ­ w tytule "Sicht­beton" robią dziwne łamanie.
 * ============================================================ */

/* 1) Hero img — krótszy aspect na mobile + clampowane max-height */
@media (max-width: 760px) {
	.modell-hero .media__frame {
		aspect-ratio: 4/3 !important;
		max-height: 56vh;
	}
}
@media (max-width: 480px) {
	.modell-hero .media__frame {
		aspect-ratio: 3/2 !important;
		max-height: 50vh;
	}
	.modell-hero .media__badge {
		font-size: 10px;
		padding: 6px 10px;
		top: 12px; left: 12px;
	}
	.modell-hero .media__caption {
		font-size: 11px;
		padding: 32px 14px 12px;
	}
}

/* 2) Tech-strip — auto-fit grid (sam wybiera 4/3/2 kolumny w/g szer.) */
.modell-hero .tech-strip {
	grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
}
@media (max-width: 760px) {
	.modell-hero .tech-strip dt {
		font-size: 18px;
	}
	.modell-hero .tech-strip dd {
		font-size: 9.5px;
	}
	.modell-hero .tech-strip > div {
		padding: 10px 6px;
	}
	/* Auto-fit dba o kolumny — resetujemy stałe bordery z desktop */
	.modell-hero .tech-strip > div { border-right: 1px solid var(--mh-border); border-bottom: 1px solid var(--mh-border); }
	.modell-hero .tech-strip > div:last-child { border-right: 1px solid var(--mh-border); }
}

/* 3) Tytuły hero — ignoruj soft-hyphens (psują układ na mobile) */
.modell-hero h1,
.modell-hero .panel .display-1,
.modell-hero .panel .sub,
.modell-hero .panel .lead {
	hyphens: none !important;
	-webkit-hyphens: none !important;
	overflow-wrap: break-word;
	word-break: normal;
}

/* 4) Padding sekcji na mobile (było za luźno) */
@media (max-width: 760px) {
	.modell-hero {
		padding: 18px 0;
	}
	.modell-hero__inner {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* ============================================================
 * v15.107 — SPEC-GRID (zamiast surowego .tech-strip)
 *
 * Adam: "to powinna być jakaś infografika a nie byle co".
 * Nowy układ: 2×2 kafelki z ikoną SVG, dużą wartością, etykietą
 * i krótkim opisem pomocniczym. Tekst już się nie łamie ani
 * nie wystaje poza ramki.
 * ============================================================ */
.modell-hero .spec-grid {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.modell-hero .spec-card {
	background: var(--mh-surface, #fdfcfa);
	border: 1px solid var(--mh-border, #e8e4dc);
	border-radius: var(--mh-radius, 10px);
	padding: 16px 14px 14px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	position: relative;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.modell-hero .spec-card:hover {
	border-color: var(--mh-ink, #1a1410);
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(26,20,16,.06);
}

.modell-hero .spec-card__icon {
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--mh-gold, #b8954a);
	margin-bottom: 6px;
}
.modell-hero .spec-card__icon svg {
	width: 100%;
	height: 100%;
	display: block;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.modell-hero .spec-card__val {
	display: block;
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.05;
	color: var(--mh-ink, #1a1410);
	letter-spacing: -.01em;
	font-style: normal;
}
.modell-hero .spec-card__val sub {
	font-size: 0.55em;
	vertical-align: sub;
	font-weight: 500;
}

.modell-hero .spec-card__lbl {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--mh-ink, #1a1410);
	margin-top: 4px;
	letter-spacing: 0;
	text-transform: none;
}

.modell-hero .spec-card__hint {
	display: block;
	font-size: 11px;
	color: var(--mh-ink-mute, #6b6358);
	margin-top: 2px;
	font-family: var(--mono, ui-monospace, monospace);
	letter-spacing: .02em;
	line-height: 1.35;
}

/* Desktop (≥980px) — 4 w rzędzie, mniejsze, gęstsze */
@media (min-width: 980px) {
	.modell-hero .spec-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
	}
	.modell-hero .spec-card {
		padding: 14px 12px 12px;
	}
	.modell-hero .spec-card__val {
		font-size: 22px;
	}
	.modell-hero .spec-card__hint {
		font-size: 10px;
	}
}

/* Bardzo wąskie (≤360px) — kafelki nadal 2×2 ale ciaśniejsze */
@media (max-width: 380px) {
	.modell-hero .spec-grid {
		gap: 8px;
	}
	.modell-hero .spec-card {
		padding: 12px 10px 10px;
	}
	.modell-hero .spec-card__val {
		font-size: 22px;
	}
	.modell-hero .spec-card__icon {
		width: 22px;
		height: 22px;
		margin-bottom: 4px;
	}
}

/* Wyłączenie starego .tech-strip styling (jakby ktoś jeszcze go używał) — neutralizacja */
.modell-hero .tech-strip {
	display: none !important;
}

/* ============================================================
 * v15.108 — KONFIGURATOR: większe liczby, mniej powietrza
 * Adam: "za małe metry, ledwo widać czcionka, za duże odstępy"
 *
 * Naprawa:
 *  1. Pillsy Höhe/Länge — większa liczba (13.5px → 18px), mniej padding
 *  2. Stepper Länge — większa liczba (16px → 26px), wyraźniejsze "m"
 *  3. Mniejsze gapy między elementami konfiguratora
 * ============================================================ */

/* 1) Pillsy (Höhe + quick-Länge) — większe liczby, mniej powietrza */
.modell-hero .pills button {
	font-size: 18px !important;
	padding: 13px 6px !important;
	font-weight: 700 !important;
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif) !important;
	letter-spacing: -.01em !important;
}
.modell-hero .pills button[aria-pressed="true"],
.modell-hero .pills button.is-active {
	font-size: 19px !important;
}
@media (max-width: 480px) {
	.modell-hero .pills button {
		font-size: 16px !important;
		padding: 11px 4px !important;
	}
}

/* 2) Stepper Länge — duża liczba, czytelne "m" */
.modell-hero .len-input {
	padding: 6px 8px !important;
}
.modell-hero .len-input input {
	width: 86px !important;
	font-size: 26px !important;
	font-weight: 700 !important;
}
.modell-hero .len-input span {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--mh-ink, #1a1410) !important;
	padding-right: 8px !important;
	letter-spacing: .05em !important;
}
.modell-hero .len-input button {
	width: 40px !important;
	height: 40px !important;
	font-size: 22px !important;
	color: var(--mh-ink, #1a1410) !important;
}

/* 3) Etykiety sekcji konfiguratora — większe i czytelne */
.modell-hero .cfg__label {
	font-size: 12px !important;
}

/* 4) Mniejsze gapy konfiguratora — zwarcie */
.modell-hero .cfg__row {
	gap: 10px !important;
}
.modell-hero .pills {
	gap: 6px !important;
}
.modell-hero .len-wrap {
	gap: 12px !important;
}

/* 5) Quick pills długości (.pills--len 20/40/80) — kompaktowo, w 1 rzędzie z input */
@media (min-width: 520px) {
	.modell-hero .len-wrap .pills--len {
		flex: 1;
		min-width: 0;
	}
}

/* ============================================================
 * v15.109 — CTA "Festpreis kalkulieren" + LIGHTBOX MODAL z formularzem
 *
 * Adam: "klik Oblicz → blokada/popup jak na gadzetysklep"
 * Zastępuje inline form w hero — kalkulator zostaje widoczny,
 * pod nim duży CTA "Festpreis kalkulieren" otwiera modal z form.
 * ============================================================ */

/* --- CTA pod kalkulatorem --- */
.modell-hero .cta-zone {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

.modell-hero .adb-cta-btn,
.adb-cta-btn--primary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	padding: 18px 24px;
	background: var(--mh-ink, #1a1410);
	color: #fff;
	border: 1.5px solid var(--mh-ink, #1a1410);
	border-radius: var(--mh-radius, 10px);
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.01em;
	cursor: pointer;
	transition: all .2s ease;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}
.modell-hero .adb-cta-btn:hover,
.adb-cta-btn--primary:hover {
	background: var(--mh-gold, #b8954a);
	border-color: var(--mh-gold, #b8954a);
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(26,20,16,.25);
}
.modell-hero .adb-cta-btn__arrow,
.adb-cta-btn--primary .adb-cta-btn__arrow {
	font-size: 22px;
	transition: transform .2s ease;
}
.modell-hero .adb-cta-btn:hover .adb-cta-btn__arrow,
.adb-cta-btn--primary:hover .adb-cta-btn__arrow {
	transform: translateX(4px);
}
.modell-hero .cta-zone__hint {
	text-align: center;
	font-size: 12px;
	color: var(--mh-ink-mute, #6b6358);
	font-family: var(--mono, ui-monospace, monospace);
	letter-spacing: .04em;
	margin: 0;
}
.modell-hero .cta-zone__hint strong {
	color: var(--mh-ink, #1a1410);
}

/* --- LIGHTBOX MODAL --- */
.adb-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: adb-modal-fade .25s ease;
}
.adb-modal[hidden] { display: none !important; }

@keyframes adb-modal-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.adb-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(26,20,16,.82);
	cursor: pointer;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.adb-modal__card {
	position: relative;
	background: #fff;
	width: 100%;
	max-width: 640px;
	max-height: 92vh;
	overflow-y: auto;
	border-radius: 14px;
	box-shadow: 0 24px 80px rgba(0,0,0,.5);
	animation: adb-modal-zoom .3s cubic-bezier(.16,1,.3,1);
}

@keyframes adb-modal-zoom {
	from { transform: scale(.92); opacity: 0; }
	to   { transform: scale(1);   opacity: 1; }
}

.adb-modal__close {
	position: absolute;
	top: 14px; right: 14px;
	width: 38px;
	height: 38px;
	background: rgba(26,20,16,.06);
	border: none;
	border-radius: 50%;
	font-size: 18px;
	font-weight: 600;
	color: var(--mh-ink, #1a1410);
	cursor: pointer;
	transition: all .2s ease;
	z-index: 2;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	font-family: inherit;
}
.adb-modal__close:hover {
	background: var(--mh-ink, #1a1410);
	color: #fff;
	transform: rotate(90deg);
}

.adb-modal__head {
	padding: 36px 36px 18px;
	border-bottom: 1px solid var(--mh-border, #e8e4dc);
	text-align: center;
}
.adb-modal__eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--mh-gold, #b8954a);
	font-weight: 700;
	font-family: var(--mono, ui-monospace, monospace);
	margin-bottom: 8px;
}
.adb-modal__title {
	margin: 0 0 8px;
	font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--mh-ink, #1a1410);
	letter-spacing: -.01em;
}
.adb-modal__sub {
	margin: 0;
	font-size: 13px;
	color: var(--mh-ink-mute, #6b6358);
	font-family: var(--mono, ui-monospace, monospace);
	letter-spacing: .02em;
}
.adb-modal__sub strong {
	color: var(--mh-ink, #1a1410);
}

.adb-modal__body {
	padding: 24px 36px 32px;
}

/* Mobile dopasowanie */
@media (max-width: 480px) {
	.adb-modal { padding: 0; align-items: stretch; }
	.adb-modal__card {
		max-width: 100%;
		max-height: 100vh;
		border-radius: 0;
	}
	.adb-modal__head {
		padding: 48px 20px 16px;
	}
	.adb-modal__title { font-size: 22px; }
	.adb-modal__body  { padding: 20px 20px 24px; }
	.adb-modal__close {
		top: 10px; right: 10px;
		width: 36px; height: 36px;
	}
	.modell-hero .adb-cta-btn { font-size: 17px; padding: 16px 20px; }
}

/* Body scroll-lock helper (JS dodaje overflow:hidden, ale dla pewności) */
body:has(.adb-modal:not([hidden])) {
	overflow: hidden;
}

/* ============================================================
 * v15.114 — GLOBAL KONTRAST DLA HERO + ON-DARK SECTIONS
 *
 * Adam: "upewnij się że wszystkie teksty mają właściwe tła
 * i kontrasty wszędzie aby były widoczne". Zasada na PRZYSZŁOŚĆ.
 *
 * Reguła: każda sekcja z ciemnym tłem (hero, on-dark, dark gradient)
 * — tekst MUSI mieć minimum text-shadow + min lightness 90%.
 * ============================================================ */

/* Globalna ochrona dla hero text na każdej stronie z ciemnym tłem */
section[class*="hero"][style*="background-image"] h1,
section[class*="hero"][style*="background-image"] h2,
section[class*="hero"][style*="background-image"] p,
section[class*="hero"][style*="background:url"] h1,
section[class*="hero"][style*="background:url"] h2,
section[class*="hero"][style*="background:url"] p,
.on-dark h1,
.on-dark h2,
.on-dark h3,
.on-dark p,
.on-dark li {
	text-shadow: 0 2px 12px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .7);
}

/* Standardowe hero (ts-hero) — text-shadow + min białość */
section.ts-hero .ts-hero__title,
section.ts-hero .ts-hero__sub,
section.ts-hero .ts-hero__lede,
section.ts-hero .ts-crumbs,
section.ts-hero .ts-hero__chip {
	text-shadow: 0 2px 14px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.75);
}

/* Sekcje on-dark — minimum kontrast white */
section.on-dark,
section.section.on-dark {
	color: #fff !important;
}
section.on-dark .ts-h2,
section.on-dark h2,
section.on-dark h3 {
	color: #fff !important;
	text-shadow: 0 1px 8px rgba(0,0,0,.4);
}
section.on-dark .ts-eyebrow,
section.on-dark .eyebrow {
	color: #d4af37 !important;
	text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
section.on-dark p,
section.on-dark li,
section.on-dark span {
	color: rgba(255,255,255,.94) !important;
}

/* Final CTA on-dark — zawsze biały + shadow */
.ts-final-cta h2 {
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

/* v15.117 — Kollektion "Sechs Familien": lede pod h1 był #c4bba7 (przygaszony beż)
   na bg-dark = za niski kontrast (Adam: "nie widać tekstów trochę"). Rozjaśniam + shadow.
   UWAGA: tylko .koll-families-section (ciemne tło). .koll-hero ma JASNE tło — NIE ruszać. */
.koll-families-section__head .lede,
.koll-families-section .lede {
	color: #ece4d3 !important;
	text-shadow: 0 1px 6px rgba(0,0,0,.4);
}
.koll-families-section__head .lede strong {
	color: #f5d473 !important;
}

/* ============================================================
 * v15.118 — Kontrast: reset-link + on-dark buttony niewidoczne
 * ============================================================ */

/* 1) "↺ Alle Filter zurücksetzen" — używał var(--gold) #9d6e1f (ciemny gold
   dla JASNYCH teł) na ciemnym sidebarze = ginął. Jasny gold + ciemny tekst. */
.koll-sidebar__reset a {
	background: #d4af37 !important;
	color: #14110b !important;
	font-weight: 700 !important;
}
.koll-sidebar__reset a:hover {
	background: #f5d473 !important;
	color: #14110b !important;
}

/* 2) Buttony .btn--filled na ciemnym tle (single-product final CTA "Konfigurator
   öffnen") — .btn--filled ma background:var(--ink) ciemny → niewidoczny na on-dark.
   Gold filled. */
.on-dark .btn--filled,
section.on-dark .btn--filled {
	background: #d4af37 !important;
	border: 1.5px solid #d4af37 !important;
	color: #14110b !important;
	font-weight: 700 !important;
}
.on-dark .btn--filled:hover,
section.on-dark .btn--filled:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #14110b !important;
}

/* 3) Goły .btn na ciemnym tle (single-product "Angebot anfragen") — outline gold. */
.on-dark .btn:not(.btn--filled):not(.btn--gold):not(.btn--ghost),
section.on-dark .btn:not(.btn--filled):not(.btn--gold):not(.btn--ghost) {
	border: 1.5px solid #d4af37 !important;
	background: rgba(255,255,255,.06) !important;
	color: #f5d473 !important;
	font-weight: 600 !important;
}
.on-dark .btn:not(.btn--filled):not(.btn--gold):not(.btn--ghost):hover,
section.on-dark .btn:not(.btn--filled):not(.btn--gold):not(.btn--ghost):hover {
	background: #d4af37 !important;
	color: #14110b !important;
	border-color: #d4af37 !important;
}

/* v15.119 — Konfigurator-hint pod price-bar (lekka alternatywa do formularza) */
.modell-hero .sp-konfig-hint {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 4px;
	padding: 10px 14px;
	background: var(--mh-gold-tint, rgba(184,148,74,.08));
	border: 1px dashed var(--mh-gold, #b8954a);
	border-radius: var(--mh-radius-sm, 8px);
	text-decoration: none;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--mh-ink-soft, #4a4034);
	transition: background .2s ease, border-color .2s ease;
}
.modell-hero .sp-konfig-hint svg {
	flex-shrink: 0;
	color: var(--mh-gold-dark, #9d6e1f);
}
.modell-hero .sp-konfig-hint strong {
	color: var(--mh-gold-dark, #9d6e1f);
	font-weight: 700;
	white-space: nowrap;
}
.modell-hero .sp-konfig-hint:hover {
	background: var(--mh-gold-tint, rgba(184,148,74,.16));
	border-color: var(--mh-gold-dark, #9d6e1f);
	border-style: solid;
}
@media (max-width: 480px) {
	.modell-hero .sp-konfig-hint { font-size: 12.5px; }
	.modell-hero .sp-konfig-hint strong { white-space: normal; }
}

/* ============================================================
 * v15.121 — Kollektion: redesign filtrów/sortowania
 * Adam: "profesjonalniej, współcześniej, a nie tak porozrzucane twardo"
 * Override (pages.css nietknięty). + płynna podmiana grida (AJAX).
 * ============================================================ */

/* Sidebar jako spójny panel (nie luźne grupy) */
.koll-sidebar {
	background: #fff;
	border: 1px solid var(--line, #e5e1d6);
	border-radius: 14px;
	padding: 8px 20px;
	box-shadow: 0 2px 16px rgba(20,17,11,.04);
}
@media (max-width: 900px) {
	.koll-sidebar { padding: 8px 18px; }
}

/* Sort jako segmented control (zbiera "porozrzucane" linki w 1 widget) */
.koll-sort {
	display: inline-flex !important;
	gap: 2px !important;
	background: var(--bg-2, #f7f5ef);
	border: 1px solid var(--line, #e5e1d6);
	border-radius: 999px;
	padding: 4px !important;
	letter-spacing: .04em !important;
}
.koll-sort a {
	padding: 7px 14px;
	border-radius: 999px;
	color: var(--ink-mute, #8a7f6b) !important;
	transition: all .18s ease;
	white-space: nowrap;
	font-weight: 600;
}
.koll-sort a:hover {
	color: var(--ink, #14110b) !important;
	background: rgba(212,175,55,.12);
}
.koll-sort a.active {
	background: #d4af37 !important;
	color: #14110b !important;
}
@media (max-width: 600px) {
	.koll-sort { flex-wrap: wrap; }
	.koll-top { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* Höhe chips — jaśniejszy active gold (był ciemny #9d6e1f = słaby kontrast) */
.koll-chip--active {
	background: #d4af37 !important;
	color: #14110b !important;
	border-color: #d4af37 !important;
	font-weight: 700 !important;
}
.koll-chip {
	border-radius: 999px !important;
	transition: all .18s ease !important;
}

/* filter-item active — jaśniejszy gold accent, spójny z resztą */
.filter-item--active {
	background: rgba(212,175,55,.12) !important;
	border-left-color: #d4af37 !important;
}
.filter-item--active .filter-item__count {
	color: #9d6e1f !important;
	border-color: #d4af37 !important;
	background: #fff7e6 !important;
}

/* Grid — płynna podmiana (AJAX swap) */
.koll-grid-full {
	transition: opacity .2s ease;
}

/* ============================================================
 * v15.122 — /metall/ hero: brak widocznego zdjęcia + nieczytelny lede
 * Adam: "brakuje zdjęcia w tle, nieczytelne treści"
 * ============================================================ */

/* v15.125 — PRAWDZIWA PRZYCZYNA braku banera: pages.css ma url('../img/metal/dsm-1.jpg')
   co z /assets/monolith/pages.css rozwiązuje się do /assets/img/ = 404 (obrazy są
   w /assets/monolith/img/). Zdjęcie NIGDY się nie ładowało. opacity/overlay były bez
   znaczenia. Fix: ABSOLUTNA ścieżka. */
.mt-hero--v2 .mt-hero__bg {
	background-image:
		url('/wp-content/themes/ad-betonzaun/assets/monolith/img/metal/dsm-1.jpg'),
		url('/wp-content/themes/ad-betonzaun/assets/monolith/img/hero-main.jpg') !important;
	background-size: cover !important;
	background-position: center !important;
	opacity: 1 !important;
	filter: none !important;
}

/* Overlay: lewa ciemna (tekst czytelny), prawa odsłania zdjęcie (baner widoczny). */
.mt-hero--v2 .mt-hero__overlay {
	background: linear-gradient(100deg,
		rgba(14,11,7,.92) 0%,
		rgba(14,11,7,.82) 40%,
		rgba(14,11,7,.30) 68%,
		rgba(14,11,7,.42) 100%) !important;
}

/* Facts-cards: glass na zdjęciu (ciemne półprzezroczyste + blur) = czytelne. */
.mt-hero--v2 .mt-fact {
	background: rgba(16,13,8,.66) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	border: 1px solid rgba(212,175,55,.25) !important;
}

/* Lede + tytuł — czytelne na (teraz widocznym) tle. */
.mt-hero--v2 .mt-hero__lede {
	color: #ece4d3 !important;
	text-shadow: 0 1px 8px rgba(0,0,0,.8) !important;
}
.mt-hero--v2 .mt-hero__lede strong { color: #f5d473 !important; }
.mt-hero--v2 .mt-hero__title { text-shadow: 0 2px 14px rgba(0,0,0,.8), 0 1px 3px rgba(0,0,0,.9); }
.mt-hero--v2 .mt-hero__eyebrow { text-shadow: 0 1px 6px rgba(0,0,0,.7); }
.mt-hero--v2 .mt-hero__price-num { text-shadow: 0 1px 8px rgba(0,0,0,.6); }

/* BUTTONY hero — mt-hero NIE ma klasy .on-dark, więc moje globalne reguły on-dark
   ich nie złapały. btn--filled ma bg var(--ink) ciemny → NIEWIDOCZNY na ciemnym hero.
   Adam: "nieczytelne przyciski". Primary = gold, secondary = gold outline. */
.mt-hero--v2 .btn--filled {
	background: #d4af37 !important;
	border: 1.5px solid #d4af37 !important;
	color: #14110b !important;
	font-weight: 700 !important;
}
.mt-hero--v2 .btn--filled:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #14110b !important;
}
.mt-hero--v2 .btn--ghost-light,
.btn--ghost-light {
	border: 1.5px solid #f5d473 !important;
	background: rgba(255,255,255,.08) !important;
	color: #f5efe0 !important;
	font-weight: 600 !important;
	backdrop-filter: blur(4px);
}
.mt-hero--v2 .btn--ghost-light:hover,
.btn--ghost-light:hover {
	background: #f5efe0 !important;
	color: #14110b !important;
	border-color: #f5efe0 !important;
}

/* Mobile (≤900px, 1-kolumna): overlay równomiernie ciemny dla czytelności. */
@media (max-width: 900px) {
	.mt-hero--v2 .mt-hero__overlay {
		background: linear-gradient(180deg, rgba(14,11,7,.80) 0%, rgba(14,11,7,.9) 100%) !important;
	}
}

/* ============================================================
 * v15.126 — /referenzen/ hero był 855px CZARNEJ pustki (brak zdjęcia).
 * Adam: "za ciemno na górze gdzie baner nie widać". To strona realizacji —
 * baner dostaje prawdziwe zdjęcie realizacji (real-9a: płot+niebo+trawnik)
 * + overlay dla czytelności tekstu. Absolutna ścieżka (nauka z metall 404).
 * ============================================================ */
.rf-hero {
	background-image:
		linear-gradient(100deg, rgba(14,11,7,.68) 0%, rgba(14,11,7,.30) 35%, rgba(14,11,7,0) 60%, rgba(14,11,7,0) 100%),
		url('/wp-content/themes/ad-betonzaun/assets/monolith/img/real/real-9a.jpg') !important;
	background-size: cover !important;
	background-position: center 22% !important;
	background-repeat: no-repeat !important;
}
/* Stats-bar na dole — własne ciemne glass-tło, czytelne niezależnie od jaśniejszego overlay */
.rf-hero [class*="stat"],
.rf-hero [class*="__stats"] > * {
	background: rgba(16,13,8,.55);
	backdrop-filter: blur(6px);
}

/* Buttony rf-hero (na zdjęciu) — "Galerie" gold filled, "Eigenes Projekt" gold outline.
   btn--ghost-light miał color #14110b (ciemny na ciemnym = niewidoczny). */
.rf-hero .btn--filled {
	background: #d4af37 !important;
	border: 1.5px solid #d4af37 !important;
	color: #14110b !important;
	font-weight: 700 !important;
}
.rf-hero .btn--filled:hover {
	background: #fff !important; border-color: #fff !important; color: #14110b !important;
}
.rf-hero .btn--ghost-light {
	background: rgba(255,255,255,.08) !important;
	border: 1.5px solid #f5d473 !important;
	color: #f5efe0 !important;
	font-weight: 600 !important;
	backdrop-filter: blur(4px);
}
.rf-hero .btn--ghost-light:hover {
	background: #f5efe0 !important; border-color: #f5efe0 !important; color: #14110b !important;
}
/* text-shadow dla pewnej czytelności na zdjęciu */
.rf-hero h1,
.rf-hero .display-1,
.rf-hero .display-2,
.rf-hero p,
.rf-hero .rf-hero__lede {
	text-shadow: 0 2px 12px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.7);
}
/* mobile: overlay mocniej (1 kolumna, zdjęcie jako subtelne tło) */
@media (max-width: 900px) {
	.rf-hero {
		background-image:
			linear-gradient(180deg, rgba(14,11,7,.74) 0%, rgba(14,11,7,.40) 50%, rgba(14,11,7,.66) 100%),
			url('/wp-content/themes/ad-betonzaun/assets/monolith/img/real/real-9a.jpg') !important;
		background-position: center 25% !important;
	}
}

/* ============================================================
 * v15.124 — Audyt kontrastu: PUNKTOWE bezpieczne naprawy
 *
 * UWAGA: pierwotny globalny `--gold` override COFNIĘTY — var(--gold) jest
 * tłem w 10+ miejscach (buttony/badge), więc przyciemnienie zmiennej psuło
 * gold-tła (regresja). Borderline gold-eyebrow (4.05:1 na kremowym) ZOSTAWIONE
 * świadomie: czytelne, Adam nie zgłaszał, a globalna zmiana = regresja.
 * Naprawiam tylko JEDNOZNACZNE, pewne przypadki (oba kolory + tło pewne).
 * ============================================================ */

/* 1) Link gold-dark na Google-blue (#4285f4) = nieczytelny (ueber-uns
   "Alle Bewertungen auf Google ansehen"). Biały tekst. */
.ub-grevs__link,
a[href*="google.com"][class*="grev"] {
	color: #fff !important;
}

/* 2) Link gold-dark na WhatsApp-green (#25d366) = nieczytelny. Biały tekst. */
.faq-peek-side__wa,
a[href*="wa.me"][class*="wa"],
a[class*="__wa"] {
	color: #fff !important;
}

/* 3) Kicker ciemnoszary (#6b6356) na CIEMNYM tle (2.6:1) — wąsko, tylko on-dark
   sekcje (nie ruszamy kickerów na jasnym tle). */
.on-dark .kicker,
section.on-dark .kicker {
	color: #b8ad97 !important;
}

/* v15.114a — Buttony na ciemnym tle (Adam: "kiepsko" — buttony niewidoczne)
   Gold border + gold tekst + lekko białe tło — WIDOCZNE na każdym dark bg. */
.on-dark .btn--ghost,
section[class*="hero"] .btn--ghost,
.ts-final-cta .btn--ghost {
	border: 1.5px solid #d4af37 !important;
	background: rgba(255,255,255,.06) !important;
	color: #f5d473 !important;
	font-weight: 600;
	padding: 14px 24px;
	backdrop-filter: blur(4px);
}
.on-dark .btn--ghost:hover,
section[class*="hero"] .btn--ghost:hover,
.ts-final-cta .btn--ghost:hover {
	background: #d4af37 !important;
	color: #14110b !important;
	border-color: #d4af37 !important;
}

/* v15.114a — .btn--gold w on-dark — explicit colors (bo var(--gold) bywa transparent) */
.on-dark .btn--gold,
.ts-final-cta .btn--gold {
	background: #d4af37 !important;
	border: 1.5px solid #d4af37 !important;
	color: #14110b !important;
	padding: 14px 28px !important;
	font-weight: 700;
	box-shadow: 0 4px 18px rgba(212,175,55,.25);
}
.on-dark .btn--gold:hover,
.ts-final-cta .btn--gold:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #14110b !important;
}

/* Final CTA — sekcja layout */
.ts-final-cta {
	padding: 80px 0 !important;
}
.ts-final-cta__inner {
	padding: 0 24px;
}
.ts-final-cta__inner h2 {
	font-size: clamp(28px, 4vw, 44px) !important;
	margin-bottom: 12px !important;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0,0,0,.6) !important;
}
.ts-final-cta__sub {
	font-size: 13px !important;
	color: #f5e0a3 !important;
	letter-spacing: .14em !important;
	margin: 0 0 32px !important;
	opacity: 1 !important;
	text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.ts-final-cta__btns {
	display: flex !important;
	gap: 14px !important;
	justify-content: center !important;
	flex-wrap: wrap;
}
.ts-final-cta__btns .btn {
	min-width: 200px;
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
@media (max-width: 600px) {
	.ts-final-cta__btns {
		flex-direction: column;
		align-items: stretch;
	}
	.ts-final-cta__btns .btn {
		width: 100%;
	}
}


/* ============================================================
 * v15.128 — /konfigurator/ prawy sidebar (.k3-side): czytelnosc + responsywnosc
 * Adam: "male litery duze odstpy czytelniej ... zrob responsywnie aby sie skalowal".
 * Etykiety JetBrains Mono UPPERCASE 9-11px / letter-spacing .15-.2em byly za male
 * i za rozstrzelone dla grupy 35-60. Powiekszam + mniejszy tracking + clamp().
 * ============================================================ */
.k3-side { padding: clamp(20px, 1.6vw, 30px) !important; }
.k3-side__title { font-size: clamp(11px, 0.82vw, 13px) !important; letter-spacing: .1em !important; }
.k3-side__subtitle { font-size: clamp(21px, 1.7vw, 28px) !important; line-height: 1.15 !important; }
.k3-sum__row { font-size: clamp(14px, 1.05vw, 16px) !important; padding: 11px 0 !important; gap: 14px; }
.k3-sum__l { font-size: clamp(11px, 0.85vw, 13px) !important; letter-spacing: .06em !important; color: #a99a7a !important; line-height: 1.4 !important; }
.k3-sum__v { font-size: clamp(14px, 1.05vw, 16px) !important; line-height: 1.4 !important; }
.k3-price { padding: clamp(18px, 1.4vw, 24px) !important; }
.k3-price__label { font-size: clamp(11px, 0.82vw, 13px) !important; letter-spacing: .08em !important; }
.k3-price__empty { font-size: clamp(16px, 1.25vw, 19px) !important; line-height: 1.4 !important; }
.k3-price__v { font-size: clamp(38px, 3.2vw, 50px) !important; }
.k3-price__sub { font-size: clamp(11px, 0.82vw, 13px) !important; letter-spacing: .07em !important; }
.k3-price__disclaimer { font-size: clamp(11px, 0.82vw, 12.5px) !important; line-height: 1.55 !important; letter-spacing: 0 !important; }
.k3-zero__m { font-size: clamp(30px, 2.4vw, 38px) !important; }
.k3-zero__t { font-size: clamp(11px, 0.82vw, 12.5px) !important; letter-spacing: .07em !important; line-height: 1.45 !important; }
.k3-live__l { font-size: clamp(10px, 0.8vw, 12px) !important; letter-spacing: .1em !important; }
.k3-live__t { font-size: clamp(13px, 1vw, 15px) !important; line-height: 1.4 !important; }
.k3-preview__label { font-size: clamp(16px, 1.25vw, 19px) !important; }
.k3-fence-placeholder { font-size: clamp(15px, 1.2vw, 18px) !important; }
@media (max-width: 1100px) {
  .k3-sum__row { font-size: 15px !important; }
  .k3-sum__l   { font-size: 12px !important; }
  .k3-sum__v   { font-size: 15px !important; }
  .k3-price__v { font-size: 44px !important; }
}


/* ============================================================
 * v15.129 — AUDYT KONTRASTU (skaner WCAG). Adam: "sa momenty ze nie widac
 * tekstow, slabe kontrasty, przeanalizuj wszedzie, male czcionki wieksze".
 * Brand-gold #9d6e1f na bialym (4.48) zostaje (regresja jak v124).
 * ============================================================ */
body section.on-dark .counter-strip .counter-cell .kicker { color: #cdbfa0 !important; }
.koll-faq .lede { color: #d8cfba !important; }
.koll-faq .lede strong { color: #f0e6cf !important; }
.koll-faq .eyebrow { color: #e8c45a !important; }
.koll-faq h2, .koll-faq .display-2 { color: #fff5e1 !important; }
.koll-faq h2 em { color: #e8c45a !important; }
.ml-promo h3 { color: #fff5e1 !important; }
.ml-promo p, .ml-promo li { color: #d8cfba !important; }
.koll-trust-strip__label { color: #b8ab8a !important; font-size: 12px !important; }
.koll-seo__no { color: #9d6e1f !important; }
.fp-process-card__cost { color: #9d6e1f !important; }


/* ============================================================
 * v15.130 — borderline kontrast (sweep). modern-line/garantien/ueber-uns/faq/produkt = czyste.
 * ============================================================ */
.mt-calc__lbl .kicker { color: #cdbfa0 !important; }
.kt-tile__badge { background: #1c7d3e !important; }


/* ============================================================
 * v15.133 — /konfigurator/: token --k-gold #c9a961 za jasny jako TEKST/BADGE
 * na bialym (2.25-2.66). Tekst→brand-gold #9d6e1f; badge→ciemniejsze tlo.
 * ============================================================ */
.k3-intro__eyebrow,
.k3-step__num,
.k3-step__val,
.k3-howto__title { color: #9d6e1f !important; }
.k3-card__badge { background: #9d6e1f !important; color: #fff !important; }


/* ============================================================
 * v15.138 — /referenzen/: aktywny filtr-chip "Alle 106" — liczba em gold-na-gold (1.31).
 * ============================================================ */
.rf-chip.is-active em { color: #14110b !important; }

/* v15.140 — /manufaktur/ adres Werks-Besichtigung: <strong> ink-na-ciemnym (1.05) → inherit cream */
.mf-visit__addr strong { color: inherit !important; }

/* v-overlap 2026-06-04 — Konfigurator: Neu-starten + Cookie-Button nicht ueber Sticky-CTA */
.k3-reset-btn { bottom: 96px; }
@media (max-width: 540px){ .k3-reset-btn { bottom: 112px; } }
body:has(#k3-cta) .adb-cc__reopen, body:has(#k3-cta) #adbCcReopen { bottom: 104px; }

/* v-home-declutter 2026-06-04 — Adam: za duzo info, uprosc. Ukryte 4 redundantne sekcje (odwracalne). */
.manifest--cinematic { display: none !important; }
.fp-tco { display: none !important; }
.sv-grid-section { display: none !important; }
.fp-garten { display: none !important; }


/* adbh-css-home 2026-06-04 (min) */
.adbh{--navy:#0f172a;--navy2:#16213e;--navy3:#1e293b;--orange:#f59e0b;--orange2:#ea7c1f;--ink:#1f2937;--mute:#5b6473;--line:#e6e9ef;--bg:#f7f8fb;--white:#fff; font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;} .adbh *{box-sizing:border-box;} .adbh img{max-width:100%;display:block;} .adbh-wrap{max-width:1200px;margin:0 auto;padding:0 24px;} .adbh-center{text-align:center;} .adbh-accent{color:var(--orange);} .adbh-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;} .adbh-eyebrow--orange{color:var(--orange2);} .adbh-eyebrow--light{color:#fbbf6b;} .adbh-h2{font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--navy);margin:0 0 16px;} .adbh-h2--light{color:#fff;} .adbh-lede{font-size:clamp(17px,2vw,20px);color:var(--mute);line-height:1.6;} .adbh-lede--light{color:rgba(255,255,255,.82);} .adbh-head{max-width:720px;margin:0 auto 48px;text-align:center;} .adbh-head .adbh-lede{margin:0 auto;} .adbh-btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:16px 28px;border-radius:100px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;line-height:1;} .adbh-btn--primary{background:linear-gradient(180deg,var(--orange) 0%,var(--orange2) 100%);color:#fff;box-shadow:0 10px 24px -8px rgba(234,124,31,.6);} .adbh-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -8px rgba(234,124,31,.7);} .adbh-btn--dark{background:var(--navy);color:#fff;} .adbh-btn--dark:hover{background:var(--navy3);transform:translateY(-2px);} .adbh-btn--ghost-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28);} .adbh-btn--ghost-light:hover{background:rgba(255,255,255,.16);} .adbh-hero{background:radial-gradient(1200px 600px at 80% -10%,#1c2c52 0%,var(--navy) 55%);color:#fff;padding:72px 0 84px;overflow:hidden;} .adbh-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;} .adbh-hero__h1{font-size:clamp(40px,6vw,68px);font-weight:800;line-height:1.04;letter-spacing:-.03em;margin:0 0 22px;color:#fff;} .adbh-hero__lede{font-size:clamp(17px,2vw,20px);color:rgba(255,255,255,.82);max-width:480px;margin:0 0 30px;} .adbh-hero__stats{display:flex;gap:34px;margin:0 0 32px;flex-wrap:wrap;} .adbh-hero__stats b{display:block;font-size:30px;font-weight:800;color:var(--orange);line-height:1;} .adbh-hero__stats span{font-size:13px;color:rgba(255,255,255,.7);} .adbh-hero__cta{display:flex;gap:14px;flex-wrap:wrap;} .adbh-hero__media{position:relative;} .adbh-hero__media>img{width:100%;height:clamp(340px,42vw,500px);object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);} .adbh-hero__chip{position:absolute;left:-18px;bottom:28px;background:#fff;color:var(--ink);border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 40px -12px rgba(0,0,0,.35);} .adbh-hero__chip-ico{width:38px;height:38px;border-radius:50%;background:#e9f8ef;color:#16a34a;display:grid;place-items:center;font-weight:800;font-size:18px;} .adbh-hero__chip b{display:block;font-size:15px;} .adbh-hero__chip small{color:var(--mute);font-size:12.5px;} .adbh-trust{background:#fff;border-bottom:1px solid var(--line);} .adbh-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 24px;} .adbh-trust__item{display:flex;align-items:center;gap:14px;} .adbh-trust__ico{width:46px;height:46px;flex:none;border-radius:14px;background:#fff7ec;color:var(--orange2);display:grid;place-items:center;} .adbh-trust__ico svg{width:24px;height:24px;} .adbh-trust__item b{display:block;font-size:15.5px;color:var(--navy);} .adbh-trust__item span{font-size:13px;color:var(--mute);} .adbh-nl{background:var(--bg);padding:88px 0;} .adbh-nl__head{max-width:760px;margin:0 auto 44px;text-align:center;} .adbh-nl__head .adbh-lede{margin:0 auto;} .adbh-nl__gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px;} .adbh-nl__tile{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;box-shadow:0 14px 32px -16px rgba(15,23,42,.35);} .adbh-nl__tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;} .adbh-nl__tile:hover img{transform:scale(1.05);} .adbh-nl__feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px;} .adbh-nl__feat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;} .adbh-nl__feat b{display:block;font-size:19px;font-weight:800;color:var(--orange2);margin-bottom:6px;} .adbh-nl__feat span{font-size:14.5px;color:var(--mute);} .adbh-models{background:#fff;padding:88px 0;} .adbh-models__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:44px;} .adbh-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .25s ease;} .adbh-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(15,23,42,.4);} .adbh-card__img{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--bg);} .adbh-card__img img{width:100%;height:100%;object-fit:cover;} .adbh-card__badge{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;padding:5px 10px;border-radius:100px;} .adbh-card__body{padding:16px 18px 20px;} .adbh-card__body small{font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--orange2);text-transform:uppercase;} .adbh-card__body b{display:block;font-size:16px;color:var(--navy);margin-top:3px;} .adbh-about{background:var(--bg);padding:88px 0;} .adbh-about__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;} .adbh-about__media{position:relative;} .adbh-about__media img{width:100%;border-radius:24px;box-shadow:0 26px 54px -24px rgba(15,23,42,.45);} .adbh-about__badge{position:absolute;top:-16px;left:-16px;background:var(--orange);color:#fff;border-radius:18px;padding:14px 20px;font-size:13px;font-weight:600;line-height:1.2;box-shadow:0 14px 30px -10px rgba(234,124,31,.6);} .adbh-about__badge b{display:block;font-size:26px;font-weight:800;} .adbh-about__copy p{color:var(--mute);margin:0 0 16px;} .adbh-about__list{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;} .adbh-about__list li{position:relative;padding-left:30px;font-weight:600;color:var(--navy);} .adbh-about__list li::before{content:'✓';position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;background:#e9f8ef;color:#16a34a;display:grid;place-items:center;font-size:13px;font-weight:800;} .adbh-steps{background:linear-gradient(180deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:88px 0;} .adbh-steps .adbh-head{margin-bottom:48px;} .adbh-steps__row{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;} .adbh-steps__item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:26px 20px;} .adbh-steps__num{display:inline-block;font-size:30px;font-weight:800;color:var(--orange);line-height:1;margin-bottom:14px;} .adbh-steps__item b{display:block;font-size:17px;margin-bottom:8px;color:#fff;} .adbh-steps__item span{font-size:14px;color:rgba(255,255,255,.72);} .adbh-reviews{background:#fff;padding:88px 0;} .adbh-reviews__score{display:inline-flex;flex-direction:column;align-items:center;margin-bottom:14px;} .adbh-reviews__score b{font-size:48px;font-weight:800;color:var(--navy);line-height:1;} .adbh-stars{color:var(--orange);letter-spacing:2px;font-size:18px;} .adbh-reviews__score small{color:var(--mute);font-size:14px;margin-top:4px;} .adbh-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;} .adbh-rev{margin:0;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:28px;} .adbh-rev blockquote{margin:12px 0 18px;font-size:16px;line-height:1.6;color:var(--ink);} .adbh-rev figcaption{font-size:14px;color:var(--mute);} .adbh-rev figcaption b{color:var(--navy);} .adbh-liefer{background:var(--bg);padding:88px 0;} .adbh-liefer__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;} .adbh-liefer__map img{width:100%;max-width:480px;margin:0 auto;filter:drop-shadow(0 18px 30px rgba(15,23,42,.12));} .adbh-final{background:radial-gradient(1000px 500px at 50% 120%,#1c2c52 0%,var(--navy) 60%);color:#fff;padding:96px 0;} .adbh-final .adbh-lede{margin:0 auto 32px;max-width:560px;} .adbh-final__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;} @media(max-width:960px){ .adbh-hero__grid,.adbh-about__grid,.adbh-liefer__grid{grid-template-columns:1fr;gap:36px;} .adbh-hero__media{order:-1;} .adbh-trust__grid{grid-template-columns:1fr 1fr;} .adbh-nl__gallery,.adbh-nl__feats,.adbh-models__grid{grid-template-columns:1fr 1fr;} .adbh-steps__row{grid-template-columns:1fr 1fr;} .adbh-reviews__grid{grid-template-columns:1fr;} } @media(max-width:540px){ .adbh{font-size:16px;} .adbh-wrap{padding:0 18px;} .adbh-hero{padding:48px 0 60px;} .adbh-hero__stats{gap:22px;} .adbh-trust__grid{grid-template-columns:1fr;} .adbh-nl__gallery{grid-template-columns:1fr 1fr;} .adbh-nl__feats,.adbh-models__grid{grid-template-columns:1fr;} .adbh-steps__row{grid-template-columns:1fr;} .adbh-about__list{grid-template-columns:1fr;} .adbh-btn{width:100%;} .adbh-hero__cta,.adbh-final__cta{flex-direction:column;} }

/* adbh-css-home-v2 */
.adbh-styles{background:#fff;padding:88px 0;} .adbh-styles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:44px;} .adbh-style{position:relative;display:block;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 14px 32px -18px rgba(15,23,42,.4);aspect-ratio:4/3;} .adbh-style__img{display:block;width:100%;height:100%;} .adbh-style__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;} .adbh-style:hover .adbh-style__img img{transform:scale(1.06);} .adbh-style__cap{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(0deg,rgba(15,23,42,.88) 0%,rgba(15,23,42,0) 100%);color:#fff;} .adbh-style__cap b{display:block;font-size:20px;font-weight:800;} .adbh-style__cap small{color:rgba(255,255,255,.82);font-size:13px;} .adbh-why{background:var(--bg);padding:88px 0;} .adbh-why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;} .adbh-why__card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 28px;text-align:center;} .adbh-why__ico{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#fff7ec;color:var(--orange2);font-size:24px;font-weight:800;margin-bottom:16px;} .adbh-why__card b{display:block;font-size:20px;font-weight:800;color:var(--navy);margin-bottom:10px;} .adbh-why__card p{color:var(--mute);font-size:15px;margin:0;line-height:1.6;} .adbh-faq{background:#fff;padding:88px 0;} .adbh-faq__list{max-width:760px;margin:0 auto;} .adbh-faq__item{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;background:var(--bg);overflow:hidden;} .adbh-faq__item summary{cursor:pointer;padding:20px 24px;font-weight:700;font-size:17px;color:var(--navy);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;} .adbh-faq__item summary::-webkit-details-marker{display:none;} .adbh-faq__item summary::after{content:'+';color:var(--orange2);font-size:24px;font-weight:700;line-height:1;} .adbh-faq__item[open] summary::after{content:'-';} .adbh-faq__item p{margin:0;padding:0 24px 22px;color:var(--mute);font-size:15.5px;line-height:1.6;} .adbh-callbtn{display:none;} @media(max-width:960px){.adbh-styles__grid,.adbh-why__grid{grid-template-columns:1fr 1fr;}} @media(max-width:768px){.adbh-callbtn{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:90;align-items:center;justify-content:center;gap:10px;padding:16px;border-radius:100px;background:linear-gradient(180deg,var(--orange) 0%,var(--orange2) 100%);color:#fff;font-weight:800;font-size:17px;text-decoration:none;box-shadow:0 12px 30px -8px rgba(234,124,31,.7);} .adbh-callbtn span{font-size:20px;} .adbh-final{padding-bottom:120px;}} @media(max-width:540px){.adbh-styles__grid,.adbh-why__grid{grid-template-columns:1fr;}}
