/* Strona „Zdjęcie na pomnik w dużym rozmiarze” – wariant A (bloki Gutenberga, szablon page-szeroka.php).
 * Wczytywany przez dm_wydruk_a_assets() w functions.php tylko na stronach z sekcjami .dm-wa-sekcja.
 * Wszystkie selektory pod klasami .dm-wa-*, więc plik nie zmienia innych stron.
 * Ikony: zmienne --ik-* (SVG liniowe z projektu) + klasy .dm-wa-ik-<nazwa> na blokach. */

.dm-wa-sekcja {
	--ik-ogien: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.07-2.14-.22-4.05 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.15.43-2.29 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E");
	--ik-szklo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='12' height='15' rx='1'/%3E%3Cpath d='M8 21h11a1 1 0 0 0 1-1V7'/%3E%3C/svg%3E");
	--ik-zegar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	--ik-linijka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17 17 3l4 4L7 21z'/%3E%3Cpath d='m7 13 2 2M10 10l2 2M13 7l2 2'/%3E%3C/svg%3E");
	--ik-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--ik-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
	--ik-slonce: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");
	--ik-deszcz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 16.2A4.5 4.5 0 0 0 17.5 8h-1.8A7 7 0 1 0 4 14.9'/%3E%3Cpath d='M16 14v6M8 14v6M12 16v6'/%3E%3C/svg%3E");
	--ik-mroz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M3.34 7l17.32 10M3.34 17 20.66 7'/%3E%3Cpath d='m9 3.5 3 2 3-2M9 20.5l3-2 3 2'/%3E%3C/svg%3E");
	--ik-kropla: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
	--ik-klej: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Crect x='7' y='6.5' width='10' height='11' rx='1'/%3E%3C/svg%3E");
	--ik-cokol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='2.5' width='4' height='14' rx='1'/%3E%3Cpath d='M3 21h18M4.5 21v-7h4.5M15 14h4.5v7'/%3E%3C/svg%3E");
	--ik-otwory: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3Ccircle cx='16.5' cy='7.5' r='1.5'/%3E%3Ccircle cx='7.5' cy='16.5' r='1.5'/%3E%3Ccircle cx='16.5' cy='16.5' r='1.5'/%3E%3C/svg%3E");
	--ik-faza: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l5-5h11v16z'/%3E%3Cpath d='M4 9h5V4'/%3E%3C/svg%3E");
	--ik-gora: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E");
	--ik-dalej: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--ik-dymek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
	--ik-olowek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E");
	--ik-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");
	--ik-auto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 17V6H3v11h2M14 17H9M14 9h4l3 3.5V17h-2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E");
	--ik-paczka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5z'/%3E%3Cpath d='m3 8 9 5 9-5M12 13v8'/%3E%3C/svg%3E");
	--ik-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
	--ik-obraz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.1-3.1a2 2 0 0 0-2.8 0L6 21'/%3E%3C/svg%3E");
}

.dm-wa-ik-ogien { --ik: var(--ik-ogien); }
.dm-wa-ik-szklo { --ik: var(--ik-szklo); }
.dm-wa-ik-zegar { --ik: var(--ik-zegar); }
.dm-wa-ik-linijka { --ik: var(--ik-linijka); }
.dm-wa-ik-tel { --ik: var(--ik-tel); }
.dm-wa-ik-mail { --ik: var(--ik-mail); }
.dm-wa-ik-slonce { --ik: var(--ik-slonce); }
.dm-wa-ik-deszcz { --ik: var(--ik-deszcz); }
.dm-wa-ik-mroz { --ik: var(--ik-mroz); }
.dm-wa-ik-kropla { --ik: var(--ik-kropla); }
.dm-wa-ik-klej { --ik: var(--ik-klej); }
.dm-wa-ik-cokol { --ik: var(--ik-cokol); }
.dm-wa-ik-otwory { --ik: var(--ik-otwory); }
.dm-wa-ik-faza { --ik: var(--ik-faza); }
.dm-wa-ik-gora { --ik: var(--ik-gora); }
.dm-wa-ik-dalej { --ik: var(--ik-dalej); }
.dm-wa-ik-dymek { --ik: var(--ik-dymek); }
.dm-wa-ik-olowek { --ik: var(--ik-olowek); }
.dm-wa-ik-check { --ik: var(--ik-check); }
.dm-wa-ik-auto { --ik: var(--ik-auto); }
.dm-wa-ik-paczka { --ik: var(--ik-paczka); }
.dm-wa-ik-info { --ik: var(--ik-info); }
.dm-wa-ik-obraz { --ik: var(--ik-obraz); }

/* ── sekcje: tło na całą szerokość okna ─────────────────────────
   Cień o zasięgu 100vmax maluje tło poza kontenerem 1200 px, a clip-path
   ucina go w pionie. Cień nie liczy się do przewijanego obszaru, więc nie ma
   poziomego paska (w przeciwieństwie do 100vw i ujemnych marginesów). */
.dm-wa-sekcja {
	--wd-block-spacing: 0;
	--wd-tags-mb: 0;
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 88px 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
	color: #767676;
	font-size: 16px;
	line-height: 1.6;
}

.dm-wa-sekcja.dm-wa-szare {
	background: #f5f7f8;
	box-shadow: 0 0 0 100vmax #f5f7f8;
}

/* ── typografia i zerowanie odstępów motywu ───────────────────── */
.dm-wa-sekcja h1,
.dm-wa-sekcja h2,
.dm-wa-sekcja h3,
.dm-wa-sekcja p,
.dm-wa-sekcja ul,
.dm-wa-sekcja ol,
.dm-wa-sekcja li,
.dm-wa-sekcja figure { margin: 0; }

.dm-wa-sekcja ul,
.dm-wa-sekcja ol { padding: 0; list-style: none; }

.dm-wa-sekcja h1,
.dm-wa-sekcja h2,
.dm-wa-sekcja h3 { color: #242424; font-weight: 500; }

.dm-wa-sekcja h1 { font-size: 46px; line-height: 1.12; letter-spacing: -.015em; }
.dm-wa-sekcja h2 { font-size: 32px; line-height: 1.25; letter-spacing: -.01em; }
.dm-wa-sekcja h3 { font-size: 22px; line-height: 1.3; }
/* kalkulator StonePro (.stpro-calc-a) ma własne rozmiary akapitów — :where() nie podnosi specyficzności */
.dm-wa-sekcja p:where(:not(.stpro-calc-a p)) { font-size: 16px; line-height: 1.6; color: #767676; }

/* Woodmart dokłada w tym szablonie pływający przycisk paska bocznego (≤1024 px), który nic nie otwiera i zasłania h1 */
.page-template-page-szeroka-php .wd-sidebar-opener { display: none; }
.dm-wa-sekcja strong { font-weight: 700; color: #242424; }
.dm-wa-sekcja a { color: #000; }
.dm-wa-sekcja a:focus-visible { outline: 2px solid #242424; outline-offset: 2px; }

.dm-wa-sekcja p.dm-wa-maly { font-size: 13px; color: #767676; }

p.dm-wa-etykieta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #242424;
}

p.dm-wa-etykieta::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #8fa86a;
}

/* kolumny bloków jako stosy z odstępem */
.dm-wa-sekcja .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.dm-wa-sekcja .wp-block-column > ul,
.dm-wa-sekcja .wp-block-column > ol,
.dm-wa-sekcja .wp-block-column > .wp-block-buttons,
.dm-wa-sekcja .wp-block-column > ul + p { margin-top: 10px; }

/* ── ikony: maska SVG w kolorze tekstu ────────────────────────── */
.dm-wa-fakty li::after,
.dm-wa-ramka-tekst::before,
.dm-wa-kontakty a::before,
.dm-wa-odpornosc li::before,
.dm-wa-montaz-lista li::after,
.dm-wa-znaczek::after,
.dm-wa-check li::before,
.dm-wa-dostawa .dm-wa-karta::before,
.dm-wa-nota::before,
.dm-wa-poprawa-karta::after,
.dm-wa-sekcja .wp-block-button__link[href^="tel:"]::before,
.dm-wa-sekcja .wp-block-button__link[href^="mailto:"]::before,
.dm-wa-sekcja .wp-block-button__link[href="#kalkulator"]::after,
.dm-wa-sekcja .wp-block-button__link[href*="poprawa-jakosci"]::after {
	content: "";
	flex: none;
	background: currentColor;
	-webkit-mask: var(--ik) center / contain no-repeat;
	mask: var(--ik) center / contain no-repeat;
}

/* ── przyciski ────────────────────────────────────────────────── */
.dm-wa-sekcja .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dm-wa-sekcja .wp-block-button { margin: 0; }

.dm-wa-sekcja .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid #000;
	border-radius: 35px;
	background: #000;
	box-shadow: none;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
}

.dm-wa-sekcja .wp-block-button__link:hover,
.dm-wa-sekcja .wp-block-button__link:focus { background: #242424; border-color: #242424; color: #fff; }

.dm-wa-sekcja .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid #242424;
	color: #242424;
	padding: 0 24px;
}

.dm-wa-sekcja .is-style-outline .wp-block-button__link:hover,
.dm-wa-sekcja .is-style-outline .wp-block-button__link:focus { background: #242424; color: #fff; }

.dm-wa-sekcja .wp-block-button__link::before,
.dm-wa-sekcja .wp-block-button__link::after { width: 18px; height: 18px; }

.dm-wa-sekcja .wp-block-button__link[href^="tel:"] { --ik: var(--ik-tel); }
.dm-wa-sekcja .wp-block-button__link[href^="mailto:"] { --ik: var(--ik-mail); }
.dm-wa-sekcja .wp-block-button__link[href="#kalkulator"] { --ik: var(--ik-gora); }
.dm-wa-sekcja .wp-block-button__link[href*="poprawa-jakosci"] { --ik: var(--ik-dalej); }

/* ── HERO ─────────────────────────────────────────────────────── */
.dm-wa-sekcja.dm-wa-hero { gap: 40px; padding-top: 0; }

.dm-wa-sekcja .dm-wa-hero-kol {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 500px;
	grid-template-rows: auto 1fr;
	gap: 28px 48px;
	margin: 0;
}

/* lewa kolumna znika z układu, jej grupy trafiają wprost do siatki —
   dzięki temu na telefonie kalkulator wchodzi między opis a galerię */
.dm-wa-sekcja .dm-wa-hero-lewa { display: contents; }

.dm-wa-hero-intro {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.dm-wa-galeria {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dm-wa-sekcja .dm-wa-hero-kalk {
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: start;
}

.dm-wa-hero .rank-math-breadcrumb { margin-bottom: 12px; }
.dm-wa-hero .rank-math-breadcrumb p { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; font-size: 13px; color: #666; }
.dm-wa-hero .rank-math-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: #666; }
.dm-wa-hero .rank-math-breadcrumb .last { color: #242424; }

.dm-wa-sekcja p.dm-wa-plakietka {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border-radius: 35px;
	background: #c2d197;
	color: #242424;
	font-size: 13px;
	line-height: 1;
}

.dm-wa-sekcja p.dm-wa-lead { max-width: 640px; font-size: 17px; color: #666; }

.dm-wa-fakty {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	width: 100%;
	margin-top: 12px;
}

.dm-wa-fakty li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	min-height: 48px;
	padding-left: 60px;
	font-size: 14px;
	line-height: 1.4;
	color: #666;
}

.dm-wa-fakty strong { font-size: 15px; }

.dm-wa-fakty li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	box-sizing: border-box;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	background: #fff;
}

.dm-wa-fakty li::after {
	position: absolute;
	left: 12px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	color: #242424;
}

/* galeria: duże zdjęcie + miniatury (podmiana w assets/wydruk-a.js) */
.dm-wa-sekcja .dm-wa-foto-znaczek {
	position: relative;
	overflow: hidden;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	background: #fff;
}

.dm-wa-sekcja .dm-wa-foto-znaczek img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.dm-wa-sekcja .dm-wa-foto-znaczek figcaption {
	position: absolute;
	z-index: 1;
	left: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	height: 30px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #e5e7eb;
	border-radius: 35px;
	background: #fff;
	color: #242424;
	font-size: 13px;
	line-height: 1;
}

.dm-wa-miniatury {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.dm-wa-sekcja .dm-wa-miniatury figure {
	height: 96px;
	overflow: hidden;
	box-sizing: border-box;
	border: 2px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	transition: border-color .2s ease;
}

.dm-wa-sekcja .dm-wa-miniatury figure.is-aktywna,
.dm-wa-sekcja .dm-wa-miniatury figure:hover { border-color: #242424; }

.dm-wa-miniatury a { display: block; height: 100%; }

.dm-wa-sekcja .dm-wa-miniatury img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.35);
}

.dm-wa-sekcja .dm-wa-miniatury figure:nth-child(4) img { transform: scale(1.2); }

/* ramka przerywana pod hero */
.dm-wa-ramka {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 40px;
	align-items: center;
	padding: 24px 32px;
	border: 2px dashed #000;
	border-radius: 15px;
	background: #fff;
}

.dm-wa-sekcja p.dm-wa-ramka-tekst {
	--ik: var(--ik-linijka);
	position: relative;
	padding-left: 44px;
	font-size: 18px;
	line-height: 1.5;
	color: #242424;
}

.dm-wa-ramka-tekst::before {
	position: absolute;
	left: 0;
	top: 50%;
	width: 28px;
	height: 28px;
	margin-top: -14px;
}

.dm-wa-ramka-kontakt {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-left: 32px;
	border-left: 1px solid #e5e7eb;
}

.dm-wa-kontakty { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }

.dm-wa-sekcja .dm-wa-kontakty a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	color: #000;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.dm-wa-kontakty a::before { width: 18px; height: 18px; color: #242424; }
.dm-wa-kontakty a[href^="tel:"] { --ik: var(--ik-tel); }
.dm-wa-kontakty a[href^="mailto:"] { --ik: var(--ik-mail); }

/* ── dwie kolumny: technologia, montaż ────────────────────────── */
.dm-wa-sekcja .dm-wa-2kol {
	display: grid;
	gap: 64px;
	margin: 0;
}

.dm-wa-sekcja .dm-wa-2kol > .wp-block-column { align-self: center; }
.dm-wa-technologia .dm-wa-2kol { grid-template-columns: 520px minmax(0, 1fr); }
.dm-wa-montaz .dm-wa-2kol { grid-template-columns: minmax(0, 1fr) 580px; gap: 56px; }

.dm-wa-sekcja .dm-wa-foto-krawedz img { transform: scale(1.36); transform-origin: 30% 100%; }

.dm-wa-odpornosc {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.dm-wa-odpornosc li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	color: #242424;
	font-size: 14px;
	line-height: 1.4;
}

.dm-wa-odpornosc li::before { width: 22px; height: 22px; }

.dm-wa-warstwy {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.dm-wa-warstwy li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	border-radius: 10px;
	background: #f5f7f8;
	color: #666;
	font-size: 14px;
	line-height: 1.5;
}

.dm-wa-warstwy strong { font-size: 16px; }

.dm-wa-montaz-lista { display: flex; flex-direction: column; gap: 10px; }

.dm-wa-montaz-lista li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	box-sizing: border-box;
	min-height: 76px;
	padding: 16px 18px 16px 78px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	color: #767676;
	font-size: 14px;
	line-height: 1.5;
}

.dm-wa-montaz-lista strong { font-size: 16px; }

.dm-wa-montaz-lista li::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	background: #f5f7f8;
}

.dm-wa-montaz-lista li::after {
	position: absolute;
	left: 29px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	color: #242424;
}

.dm-wa-montaz .wp-block-buttons { align-self: flex-start; }

.dm-wa-sekcja .dm-wa-schemat {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}

.dm-wa-sekcja .dm-wa-schemat img { display: block; width: 100%; height: auto; }
.dm-wa-sekcja .dm-wa-schemat figcaption { margin: 0; color: #767676; font-size: 13px; text-align: center; }

/* ── trzy kolumny: wsparcie, dostawa ──────────────────────────── */
.dm-wa-sekcja .dm-wa-3kol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

.dm-wa-sekcja .dm-wa-wsparcie-intro { padding-right: 24px; }
.dm-wa-wsparcie .wp-block-buttons { align-self: flex-start; }

.dm-wa-sekcja .dm-wa-karta {
	box-sizing: border-box;
	padding: 28px;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	background: #fff;
}

.dm-wa-sekcja.dm-wa-wsparcie .dm-wa-karta { gap: 18px; box-shadow: 0 8px 24px rgba(0, 0, 0, .06); }
.dm-wa-sekcja .dm-wa-karta p { font-size: 15px; }
.dm-wa-sekcja .dm-wa-karta p.dm-wa-maly { font-size: 14px; }
.dm-wa-sekcja .dm-wa-karta h3 + p { margin-top: -10px; }

.dm-wa-sekcja p.dm-wa-znaczek {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.dm-wa-znaczek::before {
	content: "";
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #f5f7f8;
}

.dm-wa-znaczek::after {
	position: absolute;
	left: 12px;
	top: 50%;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	color: #242424;
}

.dm-wa-sekcja .dm-wa-znaczek strong {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	border: 1px solid #242424;
	border-radius: 35px;
	color: #242424;
	font-size: 13px;
	font-weight: 500;
}

.dm-wa-sekcja .dm-wa-znaczek-ciemny strong { background: #242424; color: #fff; }

.dm-wa-sekcja .dm-wa-karta > .dm-wa-check { display: flex; flex: 1; flex-direction: column; gap: 10px; margin-top: 0; }

.dm-wa-check li {
	--ik: var(--ik-check);
	display: flex;
	align-items: center;
	gap: 10px;
	color: #333;
	font-size: 15px;
}

.dm-wa-check li::before { width: 18px; height: 18px; color: #8fa86a; }

.dm-wa-sekcja .dm-wa-karta > .dm-wa-ceny {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 0;
	padding-top: 16px;
	border-top: 1px solid #e5e7eb;
}

.dm-wa-ceny li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #333;
	font-size: 14px;
}

.dm-wa-ceny strong { font-size: 16px; white-space: nowrap; }

.dm-wa-sekcja.dm-wa-dostawa > .dm-wa-3kol,
.dm-wa-sekcja.dm-wa-dostawa > .dm-wa-nota { margin-top: 22px; }

.dm-wa-dostawa .dm-wa-karta::before { width: 28px; height: 28px; color: #242424; }
.dm-wa-sekcja.dm-wa-dostawa .dm-wa-karta h3 { font-size: 28px; line-height: 1.2; font-weight: 700; }

.dm-wa-sekcja p.dm-wa-nota {
	position: relative;
	padding: 18px 24px 18px 60px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	color: #333;
	font-size: 15px;
}

.dm-wa-nota::before {
	position: absolute;
	left: 24px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	color: #242424;
}

/* ── zamówienie ───────────────────────────────────────────────── */
.dm-wa-sekcja.dm-wa-zamowienie { gap: 40px; }

.dm-wa-sekcja .dm-wa-zam-naglowek {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	margin: 0;
}

.dm-wa-sekcja .dm-wa-zam-naglowek > .wp-block-column { align-self: end; }

.dm-wa-sekcja .dm-wa-kroki {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	counter-reset: dmwakrok;
}

.dm-wa-kroki li {
	position: relative;
	padding-top: 62px;
	color: #767676;
	font-size: 15px;
	line-height: 1.6;
	counter-increment: dmwakrok;
}

.dm-wa-kroki li::before {
	content: counter(dmwakrok);
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px;
	height: 48px;
	border: 1px solid #242424;
	border-radius: 50%;
	background: #fff;
	color: #242424;
	font-size: 18px;
	font-weight: 700;
}

.dm-wa-kroki li:first-child::before { background: #242424; color: #fff; }

.dm-wa-kroki li::after {
	content: "";
	position: absolute;
	left: 60px;
	right: 0;
	top: 24px;
	height: 1px;
	background: #d1d5db;
}

.dm-wa-kroki li:last-child::after { display: none; }
.dm-wa-kroki strong { display: block; margin-bottom: 14px; font-size: 18px; line-height: 1.35; }
.dm-wa-sekcja .dm-wa-kroki a { text-decoration: underline; text-underline-offset: 3px; }

.dm-wa-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 28px 32px;
	border-radius: 16px;
	background: #f5f7f8;
}

.dm-wa-cta-tekst { display: flex; flex-direction: column; gap: 6px; }
.dm-wa-sekcja .dm-wa-cta-tekst p { color: #666; font-size: 15px; }
.dm-wa-cta .wp-block-buttons { flex: none; }
.dm-wa-sekcja .dm-wa-cta .is-style-outline .wp-block-button__link { background: #fff; }
.dm-wa-sekcja .dm-wa-cta .is-style-outline .wp-block-button__link:hover { background: #242424; color: #fff; }

/* ── poprawa jakości zdjęć ────────────────────────────────────── */
.dm-wa-sekcja.dm-wa-poprawa { padding: 72px 0; }

.dm-wa-poprawa-karta {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding: 32px 36px;
	border: 2px dashed #b9c9a0;
	border-radius: 16px;
	background: #fff;
}

.dm-wa-poprawa-karta::before {
	content: "";
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #c2d197;
}

.dm-wa-poprawa-karta::after {
	position: absolute;
	left: 54px;
	top: 50%;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	color: #242424;
}

.dm-wa-poprawa-tekst { display: flex; flex-direction: column; gap: 6px; }
.dm-wa-sekcja.dm-wa-poprawa h2 { font-size: 24px; line-height: 1.3; letter-spacing: 0; }
.dm-wa-poprawa p.dm-wa-etykieta::before { display: none; }

/* ── tablet ───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.dm-wa-sekcja { padding: 72px 0; }
	.dm-wa-sekcja h1 { font-size: 38px; }

	.dm-wa-sekcja .dm-wa-hero-kol { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	.dm-wa-hero-intro { grid-row: 1; }
	.dm-wa-sekcja .dm-wa-hero-kalk { grid-column: 1; grid-row: 2; }
	.dm-wa-galeria { grid-row: 3; }
	.dm-wa-sekcja .dm-wa-galeria-glowne img { aspect-ratio: 4 / 3; }
	.dm-wa-sekcja .dm-wa-foto-krawedz img { aspect-ratio: 16 / 9; transform: scale(1.2); transform-origin: 0 60%; }

	.dm-wa-ramka { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.dm-wa-ramka-kontakt { padding: 16px 0 0; border-left: 0; border-top: 1px solid #e5e7eb; }

	.dm-wa-technologia .dm-wa-2kol,
	.dm-wa-montaz .dm-wa-2kol { grid-template-columns: minmax(0, 1fr); gap: 40px; }

	.dm-wa-sekcja .dm-wa-3kol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-wa-sekcja .dm-wa-wsparcie-intro { grid-column: 1 / -1; padding-right: 0; }
	.dm-wa-dostawa .dm-wa-3kol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.dm-wa-sekcja .dm-wa-zam-naglowek { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.dm-wa-sekcja .dm-wa-kroki { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
	.dm-wa-kroki li:nth-child(2)::after { display: none; }
	.dm-wa-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 900px) {
	.dm-wa-dostawa .dm-wa-3kol { grid-template-columns: minmax(0, 1fr); }
}

/* ── telefon ──────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.dm-wa-sekcja,
	.dm-wa-sekcja.dm-wa-poprawa { padding: 56px 0; }
	.dm-wa-sekcja.dm-wa-hero { gap: 28px; padding-top: 0; }
	.dm-wa-sekcja h1 { font-size: 32px; }
	.dm-wa-sekcja h2 { font-size: 26px; }
	.dm-wa-sekcja p.dm-wa-lead { font-size: 16px; }

	.dm-wa-fakty { flex-direction: column; gap: 12px; }
	.dm-wa-sekcja .dm-wa-miniatury { gap: 8px; }
	.dm-wa-sekcja .dm-wa-miniatury figure { height: 72px; }

	.dm-wa-ramka { padding: 20px; }
	.dm-wa-sekcja p.dm-wa-ramka-tekst { font-size: 16px; }

	.dm-wa-odpornosc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-wa-warstwy { grid-template-columns: minmax(0, 1fr); }
	.dm-wa-sekcja .dm-wa-schemat { padding: 12px; }

	.dm-wa-sekcja .dm-wa-3kol { grid-template-columns: minmax(0, 1fr); }
	.dm-wa-sekcja .dm-wa-karta { padding: 24px 20px; }
	.dm-wa-sekcja.dm-wa-dostawa .dm-wa-karta h3 { font-size: 24px; }

	.dm-wa-sekcja .dm-wa-kroki { grid-template-columns: minmax(0, 1fr); }
	.dm-wa-kroki li::after { display: none; }
	.dm-wa-cta { padding: 24px 20px; }

	.dm-wa-sekcja .wp-block-buttons,
	.dm-wa-sekcja .wp-block-button,
	.dm-wa-sekcja .wp-block-button__link { width: 100%; }
	.dm-wa-sekcja .wp-block-buttons { align-self: stretch; }

	.dm-wa-poprawa-karta { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 24px 20px; }
	.dm-wa-poprawa-karta::after { left: 38px; top: 42px; margin-top: 0; }
	.dm-wa-sekcja.dm-wa-poprawa h2 { font-size: 22px; }
}
