/*
 * Small, deliberately narrow polish on top of Oigny Lite's own CSS.
 * Everything that could be changed globally through theme.json (colors,
 * fonts) was — this file only covers the few things theme.json can't
 * reach: shape (border-radius) and a couple of small UX details.
 *
 * Kept short on purpose. Oigny's block-specific CSS classes aren't all
 * known ahead of time, so rather than guess at selectors that might not
 * exist, this sticks to element-level rules that are safe everywhere.
 * If a specific card/button still looks visually "off" after switching
 * themes, that's exactly the kind of thing to fix per-block from the
 * editor (see README-INSTALACJA.txt) rather than here.
 */

/* DJ Wouzek used sharp, close-to-square corners (2px) throughout,
   instead of Oigny's default pill/rounded shapes. */
.wp-block-button__link,
.wp-block-search__button,
input[type="submit"],
input[type="button"],
button {
	border-radius: 2px !important;
}

/* Selection + focus ring in the DJ Wouzek gold, instead of the
   parent theme's purple. */
::selection {
	background: var( --wp--preset--color--gv-color-accent );
	color: #151210;
}
:focus-visible {
	outline: 2px solid var( --wp--preset--color--gv-color-accent );
	outline-offset: 2px;
}


/* =====================================================================
 * WERSJA 2 — Hero + „O mnie” w stylu djwouzek.pl
 * Wszystko poniżej jest ograniczone do klas .dw-* (nie rusza reszty
 * strony). Sekcje są zwykłymi blokami — tekst, zdjęcie i liczby
 * edytujesz w edytorze; ten plik odpowiada tylko za wygląd.
 * ===================================================================== */

:root {
	--dw-bg: #121216;
	--dw-cream: #f4efe4;
	--dw-gold: #edc057;       /* przyciski + „z klasą.” */
	--dw-accent: #cd9a52;     /* liczby w „O mnie” */
	--dw-text: #aaa59b;       /* tekst akapitów */
	--dw-dim: #77746c;        /* podpisy, „01 / Poznajmy się” */
	--dw-line: #2b2a27;       /* linie oddzielające */
	--dw-bg-glow:
		radial-gradient(70vw 70vh at 6% 0%, rgba(237, 192, 87, .06) 0%, rgba(237, 192, 87, 0) 60%) fixed,
		radial-gradient(65vw 65vh at 100% 100%, rgba(237, 192, 87, .045) 0%, rgba(237, 192, 87, 0) 60%) fixed,
		var(--dw-bg);
		/* attachment „fixed”: pozycja poświaty liczy się względem CAŁEGO
		   okna przeglądarki, nie względem każdej sekcji z osobna — dzięki
		   temu wygląda jak JEDEN gradient na całej długości strony, a nie
		   osobny, powtarzający się rozjaśniony róg przy każdej sekcji. */
	--dw-display: 'Big Shoulders Display', 'Arial Narrow', Impact, sans-serif;
	--dw-body: 'Work Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--dw-script: 'Caveat', 'Segoe Script', 'Brush Script MT', cursive;
}

/* ---------- HERO ---------- */

.dw-hero {
	min-height: 100vh;
	min-height: 100svh;
	background-color: var(--dw-bg);
}

/* Przyciemnienie zdjęcia (ciemniej po lewej, gdzie jest tekst, plus
   zanik do tła strony na dole) — zmiana zdjęcia w bloku Okładka
   nie ruszy tego efektu. */
.dw-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(0deg, rgba(18, 18, 22, .70) 0%, rgba(18, 18, 22, 0) 32%),
		linear-gradient(90deg, rgba(18, 8, 10, .86) 0%, rgba(18, 8, 10, .62) 40%, rgba(18, 8, 10, .34) 100%);
}

.dw-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.dw-hero .dw-hero__inner {
	width: min(1112px, calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
}

.dw-hero .dw-hero__inner > * {
	margin-block: 0;
}

.dw-hero .dw-hero__eyebrow {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: .08em;
	color: var(--dw-gold);
	margin-bottom: 22px;
}

.dw-hero .dw-hero__title {
	font-family: var(--dw-display);
	font-weight: 900;
	font-size: clamp(64px, 7.3vw, 144px);
	line-height: .82;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--dw-cream);
	margin-bottom: 40px;
}

.dw-hero .dw-hero__lead {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(244, 239, 228, .68);
	max-width: 420px;
}

.dw-hero .dw-hero__buttons {
	margin-top: 44px;
	gap: 16px;
}

/* Przyciski: Work Sans, kwadratowe, złote (jak na djwouzek.pl) */
.dw-btn .wp-block-button__link {
	font-family: var(--dw-body) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 20px !important;
	letter-spacing: .05em;
	text-transform: none !important;
	text-decoration: none !important;
	padding: 13px 22px !important;
	border: 1px solid var(--dw-gold) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.dw-btn--gold .wp-block-button__link {
	background: var(--dw-gold) !important;
	color: #15110b !important;
}
.dw-btn--gold .wp-block-button__link:hover {
	background: #f6d27f !important;
	border-color: #f6d27f !important;
}
.dw-btn--outline .wp-block-button__link {
	background: transparent !important;
	color: var(--dw-gold) !important;
}
.dw-btn--outline .wp-block-button__link:hover {
	background: rgba(237, 192, 87, .12) !important;
}

/* ---------- SEKCJA „O MNIE” ---------- */

.dw-about, .dw-offer, .dw-contact {
	background: var(--dw-bg-glow);
	padding-top: clamp(72px, 9vw, 120px);
	padding-bottom: clamp(72px, 9vw, 120px);
}

.dw-about > *, .dw-offer > *, .dw-contact > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.dw-about .dw-section-head, .dw-offer .dw-section-head, .dw-contact .dw-section-head {
	align-items: baseline !important;
	gap: 24px;
	margin-block: 0;
}

.dw-about .dw-section-title, .dw-offer .dw-section-title, .dw-contact .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}

.dw-about .dw-section-kicker, .dw-offer .dw-section-kicker, .dw-contact .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}

/* Cienka linia oddzielająca (zamiast domyślnej, grubej z Oigny) */
.dw-rule {
	border: 0 !important;
	height: 1px !important;
	background: var(--dw-line) !important;
	color: var(--dw-line) !important;
	opacity: 1 !important;
	max-width: none !important;
	margin-top: 32px !important;
	margin-bottom: 56px !important;
}
.dw-about > .dw-rule, .dw-offer > .dw-rule, .dw-contact > .dw-rule {
	width: min(1064px, calc(100% - 48px)) !important;
}

.dw-about .dw-about__cols {
	margin: 0;
	gap: 40px;
}

.dw-about .dw-about__photo {
	margin: 0;
}
.dw-about .dw-about__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid #3a3631;
	border-radius: 0;
}

.dw-about .dw-about__text > p {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.85;
	color: var(--dw-text);
	margin: 0 0 19px;
}
.dw-about .dw-about__text > p:first-child {
	margin-top: 0;
}

.dw-about .dw-about__text .dw-rule--stats {
	width: 100% !important;
	margin-top: 44px !important;
	margin-bottom: 0 !important;
}

/* Liczby (10+ / 158 / 4.9) — w jednej linii także na telefonie */
.dw-about .dw-stats {
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: clamp(18px, 4.5vw, 48px);
	padding-top: 32px;
	margin: 0;
}
.dw-about .dw-stat {
	margin: 0;
	min-width: 0;
}
.dw-about .dw-stat > * {
	margin: 0;
}
.dw-about .dw-stat__num {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(34px, 9vw, 48px);
	line-height: 1;
	color: var(--dw-accent);
}
.dw-about .dw-stat__label {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 13px;
	line-height: 1.4;
	color: var(--dw-dim);
	margin-top: 6px;
	white-space: nowrap;
}

/* Komputer / tablet poziomo: zdjęcie po lewej, tekst po prawej
   (proporcje jak na djwouzek.pl: 1.1fr / 1fr, odstęp 72 px).
   Poniżej 782 px kolumny układają się jedna pod drugą. */
@media (min-width: 782px) {
	.dw-about .dw-about__cols {
		display: grid !important;
		grid-template-columns: 1.1fr 1fr;
		gap: 72px !important;
		align-items: start;
	}
	.dw-about .dw-about__cols > .wp-block-column {
		flex-basis: auto !important;
		width: auto;
		min-width: 0;
		margin: 0;
	}
}

@media (max-width: 600px) {
	.dw-hero .dw-hero__lead { font-size: 15px; }
	.dw-about .dw-stat__label { font-size: 12px; }
	.dw-rule { margin-bottom: 36px !important; }
}


/* ---------- SEKCJA „OFERTA” — karuzela kart ---------- */

.dw-offer {
	--dw-offer-gap: 16px;
	--dw-offer-visible: 4.4;
	--dw-offer-gaps: 4;      /* ile odstępów mieści się w widoku */
}

.dw-offer .dw-offer-carousel {
	margin-block: 0;
}

/* pasek z kartami przewija się poziomo (palcem / strzałkami / kropkami) */
.dw-offer .dw-offer-track {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--dw-offer-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	margin: 0;
}
.dw-offer .dw-offer-track::-webkit-scrollbar { display: none; }

.dw-offer .dw-offer-card {
	flex: 0 0 calc((100% - var(--dw-offer-gaps) * var(--dw-offer-gap)) / var(--dw-offer-visible));
	min-height: 0 !important;
	aspect-ratio: 72 / 100;
	padding: 0 !important;
	margin: 0 !important;
	align-items: flex-end;
	justify-content: flex-start;
	overflow: hidden;
	scroll-snap-align: start;
	border: 1px solid rgba(244, 239, 228, .6);
	border-radius: 0;
	background: var(--dw-bg-glow);
	color: var(--dw-cream);
}
.dw-offer .dw-offer-card .wp-block-cover__image-background {
	transition: transform .6s ease;
}
.dw-offer .dw-offer-card:hover .wp-block-cover__image-background {
	transform: scale(1.05);
}
/* ciemny gradient od dołu, żeby napisy były czytelne */
.dw-offer .dw-offer-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(18, 18, 22, .88) 0%, rgba(18, 18, 22, .45) 34%, rgba(18, 18, 22, 0) 62%);
}
.dw-offer .dw-offer-card .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
	box-sizing: border-box;
	padding: 0 16px 18px;
	text-align: left;
}
.dw-offer .dw-offer-card .wp-block-cover__inner-container > * {
	margin: 0;
}
.dw-offer .dw-offer-card__num {
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .06em;
	color: var(--dw-gold);
}
.dw-offer .dw-offer-card__title {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: clamp(14px, 1.15vw, 17px);
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dw-cream);
	margin: 4px 0 0;
}
.dw-offer .dw-offer-card__more {
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .02em;
	margin-top: 10px !important;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .25s ease, transform .25s ease;
}
.dw-offer .dw-offer-card__more a {
	color: var(--dw-accent) !important;
	text-decoration: none !important;
}
/* cała karta jest klikalna (link „Zobacz szczegóły”) */
.dw-offer .dw-offer-card__more a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
}
.dw-offer .dw-offer-card:hover .dw-offer-card__more,
.dw-offer .dw-offer-card:focus-within .dw-offer-card__more {
	opacity: 1;
	transform: none;
}
@media (hover: none) {
	.dw-offer .dw-offer-card__more { opacity: 1; transform: none; }
}

/* strzałki i kropki są dodawane skryptem assets/carousel.js */
.dw-offer-viewport {
	position: relative;
}
.dw-offer-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 32px;
	height: 32px;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	border: 1px solid #3a3631 !important;
	background: rgba(18, 18, 22, .9) !important;
	color: var(--dw-cream) !important;
	font-family: var(--dw-body);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease, opacity .2s ease;
}
.dw-offer-arrow--prev { left: 0;  transform: translate(-50%, -50%); }
.dw-offer-arrow--next { right: 0; transform: translate(50%, -50%); }
.dw-offer-arrow:hover:not(:disabled) { border-color: var(--dw-gold) !important; color: var(--dw-gold) !important; }
.dw-offer-arrow:disabled { opacity: .35; cursor: default; }

.dw-offer-dots {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin-top: 24px;
}
.dw-offer-dots button {
	width: 7px;
	height: 7px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #3a3631 !important;
	cursor: pointer;
	transition: background-color .2s ease;
}
.dw-offer-dots button.is-active { background: var(--dw-gold) !important; }

@media (max-width: 900px) {
	.dw-offer { --dw-offer-visible: 2.4; --dw-offer-gaps: 2; }
}
@media (max-width: 600px) {
	.dw-offer { --dw-offer-visible: 1.5; --dw-offer-gaps: 1; }
	.dw-offer .dw-offer-card__title { font-size: 16px; }
	.dw-offer-arrow--prev { left: 6px;  transform: translate(0, -50%); }
	.dw-offer-arrow--next { right: 6px; transform: translate(0, -50%); }
}


/* =====================================================================
 * WERSJA 4 — PODSTRONA OFERTY (single-oferta.html)
 * Nagłówek ze zdjęciem + tekst po lewej i karta „Zapytaj o termin” po
 * prawej + „Inne pakiety”. Klasy: .dw-single-hero / .dw-single-body /
 * .dw-cta-card / .dw-related / .dw-card
 * ===================================================================== */

/* ---------- Nagłówek (zdjęcie wyróżniające jako tło) ---------- */

.dw-single-hero {
	position: relative;
	display: flex !important;
	align-items: flex-end;
	min-height: clamp(380px, 46vw, 520px);
	padding: 72px 0 52px;
	overflow: hidden;
	background: var(--dw-bg-glow);
	margin-block-start: 0;
	margin-block-end: 0;
	box-sizing: border-box;
}

/* zdjęcie: rozmyte i przyciemnione, wypełnia cały nagłówek */
.dw-single-hero .dw-single-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0 !important;
}
.dw-single-hero .dw-single-hero__bg img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	filter: blur(3px) saturate(.9);
	transform: scale(1.05);
}

/* przyciemnienie: jasne u góry, gęstniejące ku dołowi (zanik do tła) */
.dw-single-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(18, 18, 22, .28) 0%, rgba(18, 18, 22, .5) 55%, rgba(18, 18, 22, .94) 100%),
		linear-gradient(90deg, rgba(18, 8, 10, .55) 0%, rgba(18, 8, 10, 0) 70%);
}

/* cienka złota linia na dole nagłówka, zanikająca po bokach */
.dw-single-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	z-index: 3;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(205, 154, 82, 0) 0%, rgba(205, 154, 82, .6) 50%, rgba(205, 154, 82, 0) 100%);
}

.dw-single-hero .dw-single-hero__inner {
	position: relative;
	z-index: 2;
	width: min(1064px, calc(100% - 48px));
	margin: 0 auto !important;
}
.dw-single-hero .dw-single-hero__inner > * {
	margin-block: 0 !important;
}

.dw-single-hero .dw-single-hero__back {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: .03em;
	margin-bottom: 18px !important;
}
.dw-single-hero .dw-single-hero__back a {
	color: var(--dw-dim) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-single-hero .dw-single-hero__back a:hover,
.dw-single-hero .dw-single-hero__back a:focus-visible {
	color: var(--dw-gold) !important;
}

.dw-single-hero .dw-single-hero__title {
	font-family: var(--dw-display);
	font-weight: 900;
	font-size: clamp(56px, 7vw, 104px);
	line-height: .9;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--dw-cream);
}

/* ---------- Treść + karta „Zapytaj o termin” ---------- */

.dw-single-body {
	background: var(--dw-bg-glow);
	padding: clamp(48px, 6vw, 84px) 0 clamp(64px, 8vw, 112px);
	margin-block: 0;
}

.dw-single-body .dw-single-body__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
	width: min(1064px, calc(100% - 48px));
	margin: 0 auto !important;
}
.dw-single-body .dw-single-body__grid > * {
	margin: 0 !important;
	min-width: 0;
}

/* tekst wpisu; pierwszy akapit = wyróżniony „lead” w złocie */
.dw-single-body__text .wp-block-post-content > * {
	margin-block: 0 19px !important;
	max-width: 640px;
}
.dw-single-body__text .wp-block-post-content p,
.dw-single-body__text .wp-block-post-content li {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.85;
	color: var(--dw-text);
}
.dw-single-body__text .wp-block-post-content > p:first-child {
	color: var(--dw-accent);
	font-weight: 600;
}
.dw-single-body__text .wp-block-post-content strong {
	color: var(--dw-cream);
	font-weight: 600;
}
.dw-single-body__text .wp-block-post-content > p:first-child strong {
	color: inherit;
}
.dw-single-body__text .wp-block-post-content :is(h2, h3, h4) {
	font-family: var(--dw-display);
	font-weight: 800;
	text-transform: none;
	color: var(--dw-cream);
	line-height: 1.05;
	margin-top: 40px !important;
}
.dw-single-body__text .wp-block-post-content h2 { font-size: clamp(30px, 3.4vw, 40px); }
.dw-single-body__text .wp-block-post-content h3 { font-size: clamp(24px, 2.6vw, 30px); }
.dw-single-body__text .wp-block-post-content :is(ul, ol) { padding-left: 20px; }
.dw-single-body__text .wp-block-post-content a {
	color: var(--dw-gold);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* karta po prawej — „przykleja się” przy przewijaniu */
.dw-cta-card {
	position: sticky;
	top: 120px;
	box-sizing: border-box;
	padding: 28px 28px 24px;
	background: #171614;
	border: 1px solid #34312c;
	border-radius: 0;
}
.dw-cta-card > * { margin-block: 0 !important; }

.dw-cta-card .dw-cta-card__text {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.7;
	color: var(--dw-text);
}
.dw-cta-card .dw-cta-card__buttons {
	margin-top: 22px !important;
}
.dw-cta-card .dw-cta-card__buttons .wp-block-button,
.dw-cta-card .dw-cta-card__buttons .wp-block-button__link {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}
.dw-cta-card .dw-cta-card__phone {
	margin-top: 18px !important;
	text-align: center;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	letter-spacing: .04em;
}
.dw-cta-card .dw-cta-card__phone a {
	color: var(--dw-dim) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-cta-card .dw-cta-card__phone a:hover,
.dw-cta-card .dw-cta-card__phone a:focus-visible {
	color: var(--dw-gold) !important;
}

/* ---------- „Inne pakiety” ---------- */

.dw-related {
	background: var(--dw-bg-glow);
	border-top: 1px solid var(--dw-line);
	padding: clamp(64px, 8vw, 104px) 0 clamp(72px, 9vw, 112px);
	margin-block: 0;
}
.dw-related > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-related .dw-section-head {
	align-items: baseline !important;
	gap: 24px;
	margin-block: 0;
}
.dw-related .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(40px, 4.4vw, 56px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}
.dw-related .dw-related__all {
	margin: 0;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	letter-spacing: .04em;
	white-space: nowrap;
}
.dw-related .dw-related__all a {
	color: var(--dw-dim) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-related .dw-related__all a:hover,
.dw-related .dw-related__all a:focus-visible {
	color: var(--dw-gold) !important;
}
.dw-related > .dw-rule {
	width: min(1064px, calc(100% - 48px)) !important;
	margin-top: 24px !important;
	margin-bottom: 48px !important;
}

/* siatka kart: 4 w rzędzie (jak w zrzucie), 2 na tablecie i telefonie */
.dw-related .dw-related__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dw-related .dw-related__list > li {
	margin: 0 !important;
	padding: 0;
}

.dw-related .dw-card {
	position: relative;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 72 / 100;
	overflow: hidden;
	box-sizing: border-box;
	border: 1px solid rgba(244, 239, 228, .85);
	border-radius: 0;
	background: var(--dw-bg-glow);
	color: var(--dw-cream);
	margin: 0 !important;
}
.dw-related .dw-card .dw-card__img {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0 !important;
}
.dw-related .dw-card .dw-card__img img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform .6s ease;
}
.dw-related .dw-card:hover .dw-card__img img,
.dw-related .dw-card:focus-within .dw-card__img img {
	transform: scale(1.05);
}
/* ciemny gradient od dołu — czytelność napisów */
.dw-related .dw-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(18, 18, 22, .9) 0%, rgba(18, 18, 22, .45) 34%, rgba(18, 18, 22, 0) 62%);
}
.dw-related .dw-card .dw-card__body {
	position: relative;
	z-index: 2;
	padding: 0 16px 18px;
	margin: 0 !important;
	text-align: left;
}
.dw-related .dw-card .dw-card__body > * { margin: 0 !important; }

.dw-related .dw-card .dw-card__title {
	font-family: var(--dw-body);
	font-weight: 700;
	font-size: clamp(14px, 1.15vw, 17px);
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dw-cream);
}
.dw-related .dw-card .dw-card__title a {
	color: var(--dw-cream) !important;
	text-decoration: none !important;
}
/* cała karta jest klikalna */
.dw-related .dw-card .dw-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
}
.dw-related .dw-card .dw-card__more {
	margin-top: 8px !important;
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .02em;
	color: var(--dw-accent);
	transition: color .2s ease;
}
.dw-related .dw-card:hover .dw-card__more { color: var(--dw-gold); }

/* ---------- Responsywność podstrony oferty ---------- */
@media (max-width: 900px) {
	.dw-single-body .dw-single-body__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.dw-single-body__text .wp-block-post-content > * { max-width: none; }
	.dw-cta-card { position: static; }
	.dw-related .dw-related__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.dw-single-hero { padding-top: 56px; padding-bottom: 40px; }
	.dw-related .dw-related__list { gap: 12px; }
	.dw-related .dw-card .dw-card__body { padding: 0 12px 14px; }
	.dw-related .dw-card .dw-card__title { font-size: 15px; }
}


/* =====================================================================
 * WERSJA 5 — stały pasek nagłówka
 * Ciemny pasek z logo i menu nad hero — taki sam w edytorze i na stronie
 * (wcześniej na stronie hero wsuwało się pod przezroczysty nagłówek).
 * ===================================================================== */
header.wp-block-template-part {
	background-color: var(--dw-bg);
}


/* =====================================================================
 * WERSJA 6 — poprawki
 *  1) HERO na telefonie: koniec z „rozszerzającym się” zdjęciem
 *  2) OFERTA: cała karta (zdjęcie, numer, tytuł) jest linkiem
 * ===================================================================== */

/* ---------- 1) HERO na telefonie / tablecie ----------
 * Zdjęcie hero ma w edytorze włączony „Stały układ tła” (parallax =
 * background-attachment: fixed). Na komputerze to działa, ale w
 * przeglądarkach mobilnych (Chrome/Opera na Androidzie, aplikacje z
 * wbudowaną przeglądarką) zdjęcie jest wtedy liczone względem okna,
 * którego wysokość zmienia się przy chowaniu i pokazywaniu paska adresu —
 * stąd „rozjeżdżanie” i skakanie zdjęcia podczas przewijania.
 * Na urządzeniach dotykowych i wąskich ekranach wyłączamy więc stałe tło,
 * a wysokość hero liczymy od stałego „small viewport” (svh), który się
 * nie zmienia przy przewijaniu. Na komputerze nic się nie zmienia. */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
	.dw-hero,
	.dw-hero.has-parallax,
	.dw-hero .wp-block-cover__image-background,
	.dw-hero .wp-block-cover__image-background.has-parallax {
		background-attachment: scroll !important;
	}
	.dw-hero .wp-block-cover__image-background {
		background-size: cover !important;
		background-repeat: no-repeat !important;
		/* (v2.9.1) bez „transform: none !important” — blokowało animację
		   powolnego przybliżania zdjęcia (assets/motion.css) */
	}
	.dw-hero {
		min-height: 100vh !important;  /* dla starszych przeglądarek */
		min-height: 100svh !important; /* stała wysokość, nie skacze przy przewijaniu */
	}
}

/* Zabezpieczenie: strona nie może być szersza niż ekran (przeglądarki
 * mobilne wtedy „oddalają” stronę i wszystko wygląda na rozciągnięte).
 * „clip” w przeciwieństwie do „hidden” nie psuje przyklejonej karty
 * „Zapytaj o termin” (position: sticky). */
@supports (overflow: clip) {
	html, body {
		overflow-x: clip;
	}
}

/* ---------- 2) OFERTA: cała karta klikalna ----------
 * Wcześniej niewidzialna warstwa linku (::after) rozciągała się tylko na
 * blok z napisami, bo to on był „punktem odniesienia” dla position:absolute.
 * Teraz blok z napisami wypełnia całą kartę (napisy nadal są przyklejone
 * do dołu), więc warstwa linku pokrywa całe zdjęcie. */

/* strona główna — karuzela */
.dw-offer .dw-offer-card {
	cursor: pointer;
}
.dw-offer .dw-offer-card .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-width: none;
}

/* podstrona oferty — „Inne pakiety” */
.dw-related .dw-card {
	cursor: pointer;
}
.dw-related .dw-card .dw-card__body {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
}

/* widoczny obrys przy nawigacji klawiaturą (Tab) */
.dw-offer .dw-offer-card__more a:focus-visible,
.dw-related .dw-card .dw-card__title a:focus-visible {
	outline: none;
}
.dw-offer .dw-offer-card__more a:focus-visible::after,
.dw-related .dw-card .dw-card__title a:focus-visible::after {
	outline: 2px solid var(--dw-gold);
	outline-offset: -6px;
}


/* =====================================================================
 * WERSJA 7 — nagłówek podstrony oferty
 *  • zdjęcie bez przybliżania (animacja usunięta w motion.css)
 *  • kadr (góra / środek / dół) z pola „Nagłówek podstrony” we wpisie
 *  • na komputerze mocniejsze rozmycie, gdy nagłówek używa pionowego
 *    obrazka wyróżniającego (przy małym rozmyciu widać rozciągnięcie
 *    zdjęcia); na telefonie zostaje jak było
 *  • własne zdjęcie nagłówka (pole we wpisie) jest ostre, bez rozmycia
 * ===================================================================== */
.dw-single-hero .dw-single-hero__bg img {
	object-position: var(--dw-hero-pos, 50% 50%);
}
@media (min-width: 901px) {
	.dw-single-hero .dw-single-hero__bg img {
		filter: blur(9px) saturate(.9);
		transform: scale(1.08);
	}
}


/* =====================================================================
 * WERSJA 8 — sekcja KONTAKT (formularz) + nowa STOPKA
 * Kontakt: .dw-contact / .dw-contact__card / .dw-form
 * Stopka:  .dw-footer (parts/footer.html)
 * ===================================================================== */

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* ---------- KONTAKT: karta z dwiema kolumnami ---------- */
.dw-contact .dw-contact__card {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	background: #1c1b19;
	border: 1px solid #3a3731;
	border-radius: 28px;
	overflow: hidden;
	scroll-margin-top: 24px;
}
.dw-contact .dw-contact__card > * {
	margin: 0 !important;
	min-width: 0;
	box-sizing: border-box;
}

/* lewa kolumna: tytuł, opis, dane kontaktowe */
.dw-contact .dw-contact__info {
	padding: 52px 48px 44px;
}
.dw-contact .dw-contact__title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(34px, 3.6vw, 44px);
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	color: var(--dw-cream);
	margin: 0 0 18px !important;
}
.dw-contact .dw-contact__lead {
	font-family: var(--dw-body);
	font-weight: 300;
	font-size: 15px;
	line-height: 1.7;
	color: var(--dw-text);
	max-width: 300px;
	margin: 0 !important;
}
.dw-contact .dw-contact__list {
	margin-top: 40px !important;
}
.dw-contact .dw-contact__item {
	padding: 18px 0 16px;
	border-bottom: 1px solid #34312c;
	margin: 0 !important;
}
.dw-contact .dw-contact__item > * {
	margin: 0 !important;
}
.dw-contact .dw-contact__label {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .08em;
	color: var(--dw-dim);
}
.dw-contact .dw-contact__value {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	color: var(--dw-cream);
	margin-top: 5px !important;
}
.dw-contact .dw-contact__value a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-contact .dw-contact__value a:hover,
.dw-contact .dw-contact__value a:focus-visible {
	color: var(--dw-gold) !important;
}

/* prawa kolumna: formularz */
.dw-contact .dw-contact__formwrap {
	padding: 44px 44px 44px;
	border-left: 1px solid #3a3731;
}
.dw-form {
	margin: 0;
	max-width: none;
}
.dw-form .dw-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}
.dw-form .dw-form__field {
	margin: 0 0 26px;
	min-width: 0;
}
.dw-form .dw-form__field label {
	display: block;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
}
.dw-form .dw-form__field :is(input, select, textarea) {
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	margin: 0 !important;
	padding: 12px 0 9px !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #3a3731 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	color: var(--dw-cream) !important;
	color-scheme: dark;
	transition: border-color .2s ease;
}
.dw-form .dw-form__field :is(input, select, textarea):focus {
	border-bottom-color: var(--dw-gold) !important;
}
.dw-form .dw-form__field select {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	padding-right: 26px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2377746c' stroke-width='1.4'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 4px center !important;
}
.dw-form .dw-form__field select option {
	background: #1c1b19;
	color: var(--dw-cream);
}
.dw-form .dw-form__field textarea {
	min-height: 96px;
	resize: vertical;
}

/* pole-pułapka na boty: niewidoczne dla ludzi */
.dw-form .dw-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.dw-form .dw-form__submit {
	display: block;
	width: 100%;
	margin: 10px 0 0 !important;
	padding: 15px 22px !important;
	background: var(--dw-gold) !important;
	color: #15110b !important;
	border: 1px solid var(--dw-gold) !important;
	border-radius: 2px !important;
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .05em;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, opacity .2s ease;
}
.dw-form .dw-form__submit:hover:not(:disabled),
.dw-form .dw-form__submit:focus-visible {
	background: #f6d27f !important;
	border-color: #f6d27f !important;
}
.dw-form .dw-form__submit:disabled {
	opacity: .6;
	cursor: default;
}

.dw-form .dw-form__msg {
	margin: 16px 0 0 !important;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 14px;
	line-height: 1.6;
}
.dw-form .dw-form__msg[hidden] { display: none; }
.dw-form .dw-form__msg.is-ok    { color: var(--dw-gold); }
.dw-form .dw-form__msg.is-error { color: #e58a7b; }

@media (max-width: 900px) {
	.dw-contact .dw-contact__card {
		grid-template-columns: minmax(0, 1fr);
	}
	.dw-contact .dw-contact__info {
		padding: 40px 28px 20px;
	}
	.dw-contact .dw-contact__formwrap {
		padding: 32px 28px 36px;
		border-left: 0;
		border-top: 1px solid #3a3731;
	}
}
@media (max-width: 600px) {
	.dw-form .dw-form__row {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- STOPKA ---------- */
.dw-footer {
	background: var(--dw-bg-glow);
	border-top: 1px solid var(--dw-line);
	padding: 64px 0 34px;
	margin-block: 0 !important;
}
.dw-footer > :not(.dw-totop) {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-footer .dw-footer__top,
.dw-footer .dw-footer__bottom {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px 40px;
}
.dw-footer .dw-footer__top > *,
.dw-footer .dw-footer__bottom > * {
	margin: 0 !important;
}

/* logo w stopce: ta sama, pogrubiona czcionka co „DJ Wouzek” w nagłówku i w menu */
.dw-footer .dw-footer__logo {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: 38px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}
.dw-footer .dw-footer__logo a {
	color: var(--dw-cream) !important;
	text-decoration: none !important;
}

.dw-footer .dw-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	line-height: 1.4;
}
.dw-footer .dw-footer__nav a,
.dw-footer .dw-footer__meta a {
	color: var(--dw-text) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-footer .dw-footer__nav a:hover,
.dw-footer .dw-footer__nav a:focus-visible,
.dw-footer .dw-footer__meta a:hover,
.dw-footer .dw-footer__meta a:focus-visible {
	color: var(--dw-gold) !important;
}

.dw-footer .dw-footer__rule {
	border: 0 !important;
	height: 1px !important;
	background: var(--dw-line) !important;
	color: var(--dw-line) !important;
	opacity: 1 !important;
	max-width: none !important;
	margin-top: 40px !important;
	margin-bottom: 24px !important;
}

.dw-footer .dw-footer__copy,
.dw-footer .dw-footer__meta {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .01em;
	color: var(--dw-dim);
}

/* „Do góry” — pionowy napis przy prawej krawędzi (pojawia się po przewinięciu) */
.dw-totop {
	position: fixed;
	right: 18px;
	bottom: 32px;
	z-index: 50;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: var(--dw-dim) !important;
	text-decoration: none !important;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s ease, color .2s ease;
}
.dw-totop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.dw-totop:hover,
.dw-totop:focus-visible {
	color: var(--dw-gold) !important;
}
.dw-totop .dw-totop__arrow {
	position: relative;
	display: block;
	width: 1px;
	height: 38px;
	background: currentColor;
}
.dw-totop .dw-totop__arrow::before {
	content: "";
	position: absolute;
	top: 0;
	left: -4px;
	width: 8px;
	height: 8px;
	border-top: 1px solid currentColor;
	border-left: 1px solid currentColor;
	transform: translateY(1px) rotate(45deg);
	transform-origin: 3px 3px;
}
.dw-totop .dw-totop__text {
	writing-mode: vertical-rl;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	line-height: 1;
}

@media (max-width: 782px) {
	.dw-footer { padding: 48px 0 28px; }
	.dw-footer .dw-footer__top,
	.dw-footer .dw-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
	.dw-footer .dw-footer__rule { margin-top: 28px !important; }
	.dw-totop { display: none; }
}



/* =====================================================================
 * WERSJA 9 — audyt UX: kontrast, sekcja „Pytania”, formularz, telefon
 *  1) czytelność: jaśniejsze podpisy i opis w hero, wyraźniejsze pola
 *  2) sekcja „Pytania” (FAQ), wzorce „Opinie” i „Wideo”
 *  3) formularz: zgoda RODO, nowe pola, widoczniejsze obramowania
 *  4) telefon: pasek „Zadzwoń / Sprawdź wolny termin”, mniejsze odstępy
 *  5) drobne poprawki: karty „Inne pakiety”, link „Wróć do oferty”, stopka
 * ===================================================================== */

/* ---------- 1) czytelność ---------- */
:root {
	--dw-dim: #98938a;   /* było #77746c — za słaby kontrast na czarnym tle */
	--dw-field-line: #5a564d;
}

.dw-hero .dw-hero__lead {
	font-weight: 400;
	color: rgba(244, 239, 228, .9);
	text-shadow: 0 1px 16px rgba(0, 0, 0, .6);
}
.dw-hero .dw-hero__eyebrow {
	text-shadow: 0 1px 14px rgba(0, 0, 0, .7);
}
@media (max-width: 782px) {
	/* na telefonie tekst zajmuje całą szerokość, więc przyciemniamy całe zdjęcie */
	.dw-hero::before {
		background:
			linear-gradient(0deg, rgba(18, 18, 22, .82) 0%, rgba(18, 18, 22, .6) 45%, rgba(18, 18, 22, .5) 100%),
			linear-gradient(90deg, rgba(18, 8, 10, .45) 0%, rgba(18, 8, 10, .2) 100%);
	}
	.dw-hero .dw-hero__eyebrow { letter-spacing: .05em; }
}

.dw-about .dw-about__text > p,
.dw-faq details > p {
	font-weight: 400;
}

/* ---------- 2a) wspólny wygląd nowych sekcji ---------- */
.dw-faq, .dw-reviews, .dw-video {
	background: var(--dw-bg-glow);
	padding-top: clamp(72px, 9vw, 120px);
	padding-bottom: clamp(72px, 9vw, 120px);
}
.dw-faq > *, .dw-reviews > *, .dw-video > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-faq .dw-section-head, .dw-reviews .dw-section-head, .dw-video .dw-section-head {
	align-items: baseline !important;
	gap: 24px;
	margin-block: 0;
}
.dw-faq .dw-section-title, .dw-reviews .dw-section-title, .dw-video .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}
.dw-faq .dw-section-kicker, .dw-reviews .dw-section-kicker, .dw-video .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}
.dw-faq > .dw-rule, .dw-reviews > .dw-rule, .dw-video > .dw-rule {
	width: min(1064px, calc(100% - 48px)) !important;
}

/* ---------- 2b) „Pytania” — rozwijane odpowiedzi ---------- */
.dw-faq .dw-faq__list {
	margin-top: 0;
	margin-bottom: 0;
}
.dw-faq .dw-faq__list > * { margin-block: 0; }
.dw-faq details.wp-block-details {
	margin: 0 !important;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--dw-line);
	background: transparent;
}
.dw-faq details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	list-style: none;
	cursor: pointer;
	padding: 22px 0;
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: clamp(16px, 1.5vw, 18px);
	line-height: 1.45;
	color: var(--dw-cream);
	transition: color .2s ease;
}
.dw-faq details > summary::-webkit-details-marker { display: none; }
.dw-faq details > summary::marker { content: ""; }
.dw-faq details > summary::after {
	content: "+";
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--dw-field-line);
	color: var(--dw-gold);
	font-family: var(--dw-body);
	font-size: 18px;
	line-height: 1;
	transition: background-color .2s ease, border-color .2s ease;
}
.dw-faq details[open] > summary { color: var(--dw-gold); }
.dw-faq details[open] > summary::after {
	content: "\2212";
	border-color: var(--dw-gold);
}
.dw-faq details > summary:hover::after { border-color: var(--dw-gold); }
.dw-faq details > p {
	margin: 0 0 26px;
	max-width: 720px;
	font-family: var(--dw-body);
	font-size: 15px;
	line-height: 1.85;
	color: var(--dw-text);
}

/* ---------- 2c) „Opinie” (wzorzec) ---------- */
.dw-reviews .dw-reviews__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 20px;
	margin: 0;
}
.dw-reviews .dw-review {
	position: relative;
	margin: 0 !important;
	padding: 34px 28px 28px;
	background: #1716149c;
	border: 1px solid #3a3731;
}
.dw-reviews .dw-review::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 28px;
	width: 56px;
	height: 2px;
	background: var(--dw-accent);
}
.dw-reviews .dw-review > * { margin-block: 0; }
.dw-reviews .dw-review__stars {
	font-size: 15px;
	letter-spacing: .2em;
	color: var(--dw-gold);
	margin-bottom: 16px !important;
}
.dw-reviews .dw-review__text {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.8;
	color: var(--dw-text);
	margin-bottom: 22px !important;
}
.dw-reviews .dw-review__name {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 15px;
	color: var(--dw-cream);
}
.dw-reviews .dw-review__meta {
	margin-top: 4px !important;
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--dw-dim);
}
.dw-reviews .dw-reviews__more {
	margin-top: 28px !important;
	font-family: var(--dw-body);
	font-size: 14px;
}
.dw-reviews .dw-reviews__more a {
	color: var(--dw-gold) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(237, 192, 87, .4);
}

/* ---------- 2d) „Wideo” (wzorzec) ---------- */
.dw-video .dw-video__player { margin-top: 0; margin-bottom: 0; }
.dw-video :is(.wp-block-video, .wp-block-embed) { margin: 0; }
.dw-video video,
.dw-video .wp-block-embed__wrapper iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 1px solid #3a3731;
	background: #000;
}
.dw-video .wp-block-embed__wrapper { position: relative; }

/* ---------- 3) formularz ---------- */
.dw-form .dw-form__field label {
	font-size: 12px;
	color: #b3aea3;
}
.dw-form .dw-form__opt {
	letter-spacing: 0;
	text-transform: none;
	opacity: .75;
}
.dw-form .dw-form__field :is(input, select, textarea) {
	border-bottom-color: var(--dw-field-line) !important;
}
.dw-form .dw-form__field input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}
.dw-form .dw-form__field input[type="number"]::-webkit-outer-spin-button,
.dw-form .dw-form__field input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.dw-form .dw-form__consent { margin: 2px 0 18px; }
.dw-form .dw-form__consent label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--dw-text);
	cursor: pointer;
}
.dw-form .dw-form__consent input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	flex: none;
	display: grid;
	place-content: center;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 1px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 1px solid #7a756a !important;
	border-radius: 2px !important;
	cursor: pointer;
}
.dw-form .dw-form__consent input[type="checkbox"]:checked {
	background: var(--dw-gold) !important;
	border-color: var(--dw-gold) !important;
}
.dw-form .dw-form__consent input[type="checkbox"]:checked::before {
	content: "";
	width: 10px;
	height: 5px;
	border-left: 2px solid #15110b;
	border-bottom: 2px solid #15110b;
	transform: rotate(-45deg) translate(1px, -1px);
}
.dw-form .dw-form__consent a {
	color: var(--dw-gold) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* ---------- 4) telefon ---------- */
.dw-mobilebar { display: none; }

@media (max-width: 782px) {
	.dw-footer > .dw-mobilebar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 60;
		width: auto !important;
		margin: 0 !important;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: #121216;
		border-top: 1px solid #3a3731;
		transform: translateY(110%);
		transition: transform .3s ease;
	}
	.dw-footer > .dw-mobilebar.is-visible { transform: none; }
	.dw-mobilebar a {
		flex: 1 1 0;
		display: block;
		padding: 15px 12px;
		text-align: center;
		font-family: var(--dw-body);
		font-weight: 600;
		font-size: 14px;
		line-height: 20px;
		letter-spacing: .04em;
		text-decoration: none !important;
	}
	.dw-mobilebar .dw-mobilebar__call { color: var(--dw-cream) !important; }
	.dw-mobilebar .dw-mobilebar__cta {
		flex: 1.5 1 0;
		background: var(--dw-gold);
		color: #15110b !important;
	}

	/* miejsce na pasek pod stopką, żeby nic nie było przykryte */
	.dw-footer { padding-bottom: calc(28px + 64px); }

	/* krótsze odstępy między sekcjami (mniej przewijania) */
	.dw-about, .dw-offer, .dw-contact, .dw-faq, .dw-reviews, .dw-video {
		padding-top: 56px;
		padding-bottom: 56px;
	}
	.dw-rule { margin-top: 24px !important; margin-bottom: 30px !important; }
	.dw-faq details > summary { padding: 18px 0; }
}

/* ---------- 5) drobne poprawki ---------- */
/* strzałka „→” zostaje w jednej linii z napisem */
.dw-offer .dw-offer-card__more,
.dw-offer .dw-offer-card__more a,
.dw-related .dw-card .dw-card__more {
	white-space: nowrap;
}
@media (max-width: 600px) {
	.dw-related .dw-card .dw-card__more { font-size: 11px; letter-spacing: 0; }
	.dw-related .dw-card .dw-card__body { padding: 0 12px 14px; }
}

/* „Wróć do oferty” — czytelniejsze na zdjęciu */
.dw-single-hero .dw-single-hero__back a {
	color: #d6d0c4 !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .7);
}

/* stopka: social media (pusty akapit = nic nie widać) */
.dw-footer > .dw-footer__social {
	margin: 26px auto 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	font-family: var(--dw-body);
	font-size: 13px;
}
.dw-footer > .dw-footer__social:empty { display: none; }
.dw-footer .dw-footer__social a {
	color: var(--dw-text) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-footer .dw-footer__social a:hover,
.dw-footer .dw-footer__social a:focus-visible { color: var(--dw-gold) !important; }

/* treść podstron oferty: lekki kroj 300 był za cienki na ciemnym tle */
.dw-single-body__text .wp-block-post-content p,
.dw-single-body__text .wp-block-post-content li {
	font-weight: 400;
}
.dw-single-body__text .wp-block-post-content li { margin-bottom: 8px; }

/* hero na wąskim telefonie: przyciski jeden pod drugim, na całą szerokość */
@media (max-width: 480px) {
	.dw-hero .dw-hero__buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.dw-hero .dw-hero__buttons .wp-block-button { width: 100%; }
	.dw-hero .dw-hero__buttons .wp-block-button__link {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}


/* =====================================================================
 * WERSJA 10 — zwykłe strony (Polityka prywatności itd.)
 * Ciemny nagłówek ze złotą linią (jak podstrony oferty, bez zdjęcia) i
 * czytelna, wąska kolumna tekstu wyrównana do tytułu. Szablon:
 * templates/page.html. Klasy: .dw-page-hero / .dw-page-body
 * ===================================================================== */

.dw-page-hero {
	position: relative;
	margin-block: 0;
	padding: clamp(56px, 8vw, 104px) 0 clamp(32px, 4.5vw, 52px);
	background:
		radial-gradient(90% 140% at 0% 0%, rgba(205, 154, 82, .10) 0%, rgba(18, 18, 22, 0) 60%),
		var(--dw-bg);
	box-sizing: border-box;
}
/* cienka złota linia na dole, zanikająca po bokach (jak na podstronie oferty) */
.dw-page-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(205, 154, 82, 0) 0%, rgba(205, 154, 82, .6) 50%, rgba(205, 154, 82, 0) 100%);
}
.dw-page-hero .dw-page-hero__inner {
	width: min(1064px, calc(100% - 48px));
	margin: 0 auto !important;
}
.dw-page-hero .dw-page-hero__inner > * { margin-block: 0 !important; }

.dw-page-hero .dw-page-hero__back {
	margin-bottom: 18px !important;
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: .03em;
}
.dw-page-hero .dw-page-hero__back a {
	color: var(--dw-text) !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.dw-page-hero .dw-page-hero__back a:hover,
.dw-page-hero .dw-page-hero__back a:focus-visible { color: var(--dw-gold) !important; }

.dw-page-hero .dw-page-hero__title {
	font-family: var(--dw-display);
	font-weight: 900;
	font-size: clamp(46px, 6vw, 88px);
	line-height: .95;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--dw-cream);
}

/* ---------- treść ---------- */
.dw-page-body {
	margin-block: 0;
	padding: clamp(40px, 6vw, 72px) 0 clamp(64px, 8vw, 112px);
	background: var(--dw-bg-glow);
}
.dw-page-body .wp-block-post-content { margin: 0; }

/* zwykły tekst: wąska kolumna (ok. 760 px) wyrównana do lewej krawędzi tytułu.
   Bloki szerokie i pełnej szerokości (np. sekcje z Gutenverse) zostają bez zmian. */
.dw-page-body .wp-block-post-content > :is(p, ul, ol, h2, h3, h4, h5, h6, blockquote, pre, hr, .wp-block-separator, .wp-block-table, .wp-block-list, .wp-block-details) {
	box-sizing: border-box;
	max-width: min(760px, calc(100% - 48px));
	margin-left: max(24px, calc((100% - 1064px) / 2)) !important;
	margin-right: auto !important;
}
.dw-page-body .wp-block-post-content > :is(p, ul, ol, blockquote, pre) {
	margin-top: 0;
	margin-bottom: 18px;
}
.dw-page-body .wp-block-post-content :is(p, li, td, th, blockquote) {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.8;
	color: #bdb8ad;
}
.dw-page-body .wp-block-post-content :is(strong, b) {
	color: var(--dw-cream);
	font-weight: 600;
}
.dw-page-body .wp-block-post-content :is(ul, ol) { padding-left: 1.4em; }
.dw-page-body .wp-block-post-content li { margin-bottom: 8px; }
.dw-page-body .wp-block-post-content li::marker { color: var(--dw-accent); }
.dw-page-body .wp-block-post-content a {
	color: var(--dw-gold);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.dw-page-body .wp-block-post-content a:hover { color: #f6d27f; }

.dw-page-body .wp-block-post-content > :is(h2, h3, h4, h5, h6) {
	font-family: var(--dw-display);
	font-weight: 800;
	line-height: 1.05;
	text-transform: none;
	color: var(--dw-cream);
	margin-top: 44px;
	margin-bottom: 16px;
}
.dw-page-body .wp-block-post-content > h2 { font-size: clamp(30px, 3.4vw, 40px); }
.dw-page-body .wp-block-post-content > h3 { font-size: clamp(24px, 2.6vw, 30px); }
.dw-page-body .wp-block-post-content > :is(h4, h5, h6) { font-size: 22px; }

/* akapity typu „§1. Informacje ogólne” wyglądają jak nagłówki
   (klasę dokłada assets/site.js; bez JS to zwykły akapit) */
.dw-page-body .wp-block-post-content > p.dw-legal-heading {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(24px, 2.6vw, 30px);
	line-height: 1.1;
	color: var(--dw-cream);
	margin-top: 44px;
	margin-bottom: 16px;
}
.dw-page-body .wp-block-post-content > p.dw-legal-heading:first-child { margin-top: 0; }

.dw-page-body .wp-block-post-content blockquote {
	padding: 4px 0 4px 20px;
	border-left: 2px solid var(--dw-accent);
}
.dw-page-body .wp-block-post-content :is(hr, .wp-block-separator) {
	border: 0 !important;
	height: 1px;
	background: var(--dw-line) !important;
	margin-top: 36px;
	margin-bottom: 36px;
}
.dw-page-body .wp-block-post-content table { border-collapse: collapse; width: 100%; }
.dw-page-body .wp-block-post-content :is(td, th) {
	padding: 10px 12px;
	border: 1px solid var(--dw-line);
	text-align: left;
}
.dw-page-body .wp-block-post-content th { color: var(--dw-cream); font-weight: 600; }

@media (max-width: 600px) {
	.dw-page-body .wp-block-post-content :is(p, li, td, th, blockquote) { font-size: 15px; }
}


/* ---------- WERSJA 10 — opinie: efekt po najechaniu ---------- */
.dw-reviews .dw-review {
	transition:
		transform .35s cubic-bezier(.22, .8, .3, 1),
		box-shadow .35s ease,
		border-color .35s ease,
		background-color .35s ease,
		border-radius .35s ease;
}
.dw-reviews .dw-review::before {
	transition: width .4s ease;
}
@media (hover: hover) {
	.dw-reviews .dw-review:hover {
		transform: translateY(-8px);
		border-radius: 16px;
		border-color: #edc057;
		background-color: #1e1c19;
		box-shadow:
			0 18px 40px rgba(0, 0, 0, .5),
			0 0 0 1px rgba(237, 192, 87, .35),
			0 0 32px rgba(237, 192, 87, .12);
	}
	/* złota kreska u góry wydłuża się na całą szerokość karty */
	.dw-reviews .dw-review:hover::before {
		width: calc(100% - 56px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.dw-reviews .dw-review,
	.dw-reviews .dw-review::before { transition: none; }
	.dw-reviews .dw-review:hover { transform: none; }
}

/* opinie na tablecie (2 kolumny): trzecia, samotna karta na całą szerokość */
@media (min-width: 640px) and (max-width: 987px) {
	.dw-reviews .dw-review:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}


/* =====================================================================
 * WERSJA 11 — telefon: hero mieści się na pierwszym ekranie,
 *             menu-hamburger z numerem, e-mailem i przyciskiem
 * ===================================================================== */

/* ---------- hero na telefonie: wszystko widać bez przewijania ---------- */
@media (max-width: 782px) {
	.dw-hero {
		/* wysokość ekranu minus nagłówek; treść centrowana w pionie */
		min-height: calc(100vh - 68px) !important;
		min-height: calc(100svh - 68px) !important;
		padding-top: 28px !important;
		padding-bottom: 28px !important;
		box-sizing: border-box;
	}
	.dw-hero .dw-hero__eyebrow { font-size: 12px; margin-bottom: 14px; }
	.dw-hero .dw-hero__title {
		font-size: clamp(54px, 15vw, 64px);
		margin-bottom: 22px;
	}
	.dw-hero .dw-hero__lead {
		font-size: 14.5px;
		line-height: 1.65;
		max-width: none;
	}
	.dw-hero .dw-hero__buttons { margin-top: 26px; gap: 12px; }
	.dw-hero .dw-hero__buttons .wp-block-button__link { padding: 15px 20px !important; }
}
/* niskie ekrany (małe telefony, poziomo): jeszcze ciaśniej */
@media (max-width: 782px) and (max-height: 680px) {
	.dw-hero { padding-top: 16px !important; padding-bottom: 16px !important; }
	.dw-hero .dw-hero__title { font-size: 50px; margin-bottom: 16px; }
	.dw-hero .dw-hero__lead { font-size: 13.5px; line-height: 1.55; }
	.dw-hero .dw-hero__buttons { margin-top: 18px; }
	.dw-hero .dw-hero__buttons .wp-block-button__link { padding: 13px 18px !important; }
}

/* ---------- menu-hamburger (nakładka na telefonie) ---------- */
.dw-menu {
	box-sizing: border-box;
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	padding: 18px 24px 32px;
	color: var(--dw-cream);
	background:
		radial-gradient(120% 55% at 100% 0%, rgba(205, 154, 82, .16) 0%, rgba(18, 18, 22, 0) 65%),
		var(--dw-bg);
}
.dw-menu > * { margin-block: 0; }

.dw-menu .dw-menu__top { margin-bottom: 26px; }
.dw-menu .dw-menu__logo,
.dw-menu .dw-menu__logo a {
	font-family: var(--dw-display) !important;
	font-weight: 800;
	font-size: 28px !important;
	line-height: 1;
	color: var(--dw-cream) !important;
	text-decoration: none !important;
	margin: 0;
}
.dw-menu .wp-block-navigation-overlay-close,
.dw-menu .wp-block-navigation__responsive-container-close {
	color: var(--dw-cream) !important;
}

.dw-menu .dw-menu__label {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .3em;
	color: var(--dw-gold);
	margin-bottom: 8px !important;
}

/* linki: duże, rozdzielone cienką linią */
.dw-menu .dw-menu__nav {
	display: block;
	width: 100%;
	font-size: inherit !important;
	text-transform: none !important;
}
.dw-menu .dw-menu__nav .wp-block-navigation__container {
	display: block !important;
	width: 100%;
	gap: 0 !important;
}
.dw-menu .dw-menu__nav .wp-block-navigation-item {
	display: block;
	width: 100%;
	border-top: 1px solid var(--dw-line);
}
.dw-menu .dw-menu__nav .wp-block-navigation-item:last-child { border-bottom: 1px solid var(--dw-line); }
.dw-menu .dw-menu__nav .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 11px 0;
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: 28px !important;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: none !important;
	color: var(--dw-cream) !important;
	text-decoration: none !important;
	transition: color .2s ease, padding-left .2s ease;
}
.dw-menu .dw-menu__nav .wp-block-navigation-item__content:hover,
.dw-menu .dw-menu__nav .wp-block-navigation-item__content:focus-visible,
.dw-menu .dw-menu__nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--dw-gold) !important;
	padding-left: 6px;
}

/* wiersze kontaktowe z ikonami */
.dw-menu .dw-menu__contact { margin-top: 26px; }
.dw-menu .dw-menu__row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 8px 0;
	text-decoration: none !important;
	color: var(--dw-cream) !important;
}
.dw-menu .dw-menu__icon {
	flex: none;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #1c1a16;
	border: 1px solid #34312b;
	color: var(--dw-gold);
	transition: border-color .2s ease, background-color .2s ease;
}
.dw-menu .dw-menu__row:hover .dw-menu__icon,
.dw-menu .dw-menu__row:focus-visible .dw-menu__icon {
	border-color: var(--dw-gold);
	background: #24211b;
}
.dw-menu .dw-menu__rowtext { display: flex; flex-direction: column; min-width: 0; }
.dw-menu .dw-menu__rowlabel {
	font-family: var(--dw-body);
	font-weight: 400;
	font-size: 13px;
	line-height: 1.3;
	color: var(--dw-dim);
}
.dw-menu .dw-menu__rowvalue {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.3;
	color: var(--dw-cream);
	overflow-wrap: anywhere;
}

/* przycisk + dopisek */
.dw-menu .dw-menu__cta { margin-top: 22px !important; width: 100%; }
.dw-menu .dw-menu__cta .wp-block-button { width: 100%; }
.dw-menu .dw-menu__cta .wp-block-button__link {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 17px 20px !important;
}
.dw-menu .dw-menu__note {
	margin-top: 14px !important;
	text-align: center;
	font-family: var(--dw-body);
	font-size: 13px;
	line-height: 1.5;
	color: var(--dw-dim);
}

/* niskie ekrany: mniejsze odstępy, żeby menu mieściło się bez przewijania */
@media (max-height: 820px) {
	.dw-menu { padding-top: 12px; padding-bottom: 20px; }
	.dw-menu .dw-menu__top { margin-bottom: 14px; }
	.dw-menu .dw-menu__nav .wp-block-navigation-item__content { padding: 8px 0; font-size: 25px !important; }
	.dw-menu .dw-menu__contact { margin-top: 16px; }
	.dw-menu .dw-menu__icon { width: 46px; height: 46px; }
	.dw-menu .dw-menu__cta { margin-top: 14px !important; }
}


/* =====================================================================
 * WERSJA 12 — komputer: cieńszy nagłówek, hero mieści się na ekranie,
 *             napisy i przyciski wyżej (od 783 px szerokości)
 * Wysokość nagłówka mierzy assets/site.js i zapisuje w --dw-header-h.
 * ===================================================================== */
:root { --dw-header-h: 64px; }

@media (min-width: 783px) {
	/* cieńszy pasek: bez górnego marginesu, wysokość ok. 60 px */
	header.wp-block-template-part .oigny-lite-z-index-10 > .wp-block-group {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		min-height: 60px;
		align-items: center;
	}
	header.wp-block-template-part .wp-block-site-title {
		margin: 0;
		line-height: 1;
	}
	header.wp-block-template-part .wp-block-button__link {
		padding: 9px 20px !important;
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	/* hero = dokładnie jeden ekran (ekran minus nagłówek), treść wyżej niż środek */
	.dw-hero {
		min-height: calc(100vh - var(--dw-header-h)) !important;
		min-height: calc(100svh - var(--dw-header-h)) !important;
		padding-top: 32px !important;
		padding-bottom: 64px !important;
		box-sizing: border-box;
	}
	.dw-hero .dw-hero__title {
		font-size: clamp(64px, min(7.3vw, 15vh), 144px);
		margin-bottom: 32px;
	}
	.dw-hero .dw-hero__lead { max-width: 480px; }
	.dw-hero .dw-hero__buttons { margin-top: 36px; }
}
/* niskie okna przeglądarki (małe laptopy): jeszcze ciaśniej */
@media (min-width: 783px) and (max-height: 700px) {
	.dw-hero { padding-top: 20px !important; padding-bottom: 40px !important; }
	.dw-hero .dw-hero__eyebrow { margin-bottom: 14px; }
	.dw-hero .dw-hero__title { margin-bottom: 20px; }
	.dw-hero .dw-hero__lead { font-size: 15px; line-height: 1.65; }
	.dw-hero .dw-hero__buttons { margin-top: 24px; }
}


/* =====================================================================
 * WERSJA 14 — audyt 2: obramowanie „Pytania”, zaokrąglone przyciski hero,
 *             rozwijane menu „Oferta” w nagłówku (desktop)
 * ===================================================================== */

/* ---------- 1) sekcja „Pytania” w złotej, zaokrąglonej ramce ---------- */
.dw-faq > .dw-faq__panel {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	padding: clamp(28px, 4vw, 48px) clamp(24px, 5vw, 56px) clamp(20px, 3vw, 36px);
	border-radius: clamp(28px, 4vw, 48px);
	border: 1px solid rgba(237, 192, 87, .38);
	background: rgba(237, 192, 87, .015);
}
/* poświata wędrująca po obwodzie ramki (włącza się przy najechaniu na kartę) */
.dw-faq > .dw-faq__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 2px;
	background: conic-gradient(from var(--dw-faq-angle, 0deg),
		transparent 0deg, transparent 300deg, #edc057 330deg, #fff2cc 345deg, #edc057 360deg);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	animation: dw-faq-spin 3.6s linear infinite;
	animation-play-state: paused;
	transition: opacity .35s ease;
	pointer-events: none;
}
.dw-faq > .dw-faq__panel:hover::before {
	opacity: 1;
	animation-play-state: running;
}
@property --dw-faq-angle {
	syntax: '<angle>';
	inherits: false;
	initial-value: 0deg;
}
@keyframes dw-faq-spin {
	to { --dw-faq-angle: 360deg; }
}
@media (prefers-reduced-motion: reduce) {
	.dw-faq > .dw-faq__panel::before { animation: none; }
}

/* panel jest teraz jedynym bezpośrednim dzieckiem sekcji — wyśrodkuj go tak
   samo jak wcześniej centrowaliśmy nagłówek/regułę/listę osobno */
.dw-faq .dw-faq__panel .dw-section-head,
.dw-faq .dw-faq__panel > .dw-rule,
.dw-faq .dw-faq__panel .dw-faq__list {
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.dw-faq .dw-faq__panel > .dw-rule { margin-top: 20px !important; margin-bottom: 8px !important; }
.dw-faq .dw-faq__panel .dw-faq__list details.wp-block-details:first-child { border-top: none; }

@media (max-width: 782px) {
	.dw-faq > .dw-faq__panel { border-radius: 28px; padding: 24px 20px 12px; }
}

/* ---------- 2) przyciski w hero: zaokrąglone, złota poświata przy najechaniu ---------- */
.dw-hero .dw-btn .wp-block-button__link {
	position: relative;
	border-radius: 999px !important;
	overflow: hidden;
	transition: color .3s cubic-bezier(.23, 1, .32, 1),
		background-color .3s cubic-bezier(.23, 1, .32, 1),
		border-color .3s cubic-bezier(.23, 1, .32, 1),
		box-shadow .3s cubic-bezier(.23, 1, .32, 1),
		transform .3s cubic-bezier(.23, 1, .32, 1);
}
.dw-hero .dw-btn .wp-block-button__link:hover {
	transform: scale(1.05);
}
.dw-hero .dw-btn .wp-block-button__link:active {
	transform: scale(1);
}

.dw-hero .dw-btn--gold .wp-block-button__link:hover {
	box-shadow: 0 0 24px rgba(237, 192, 87, .55);
}

.dw-hero .dw-btn--outline .wp-block-button__link {
	z-index: 0;
}
.dw-hero .dw-btn--outline .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 50px;
	height: 50px;
	border-radius: inherit;
	scale: 0;
	z-index: -1;
	background-color: var(--dw-gold);
	transition: scale .6s cubic-bezier(.23, 1, .32, 1);
}
.dw-hero .dw-btn--outline .wp-block-button__link:hover::before {
	scale: 4;
}
.dw-hero .dw-btn--outline .wp-block-button__link:hover {
	color: #15110b !important;
	box-shadow: 0 0 24px rgba(237, 192, 87, .4);
}
@media (prefers-reduced-motion: reduce) {
	.dw-hero .dw-btn .wp-block-button__link,
	.dw-hero .dw-btn--outline .wp-block-button__link::before { transition: none; }
	.dw-hero .dw-btn .wp-block-button__link:hover { transform: none; }
}

/* ---------- 3) nagłówek: rozwijane menu „Oferta” (tylko komputer) ---------- */
@media (min-width: 783px) {
	header .wp-block-navigation.is-style-customnav {
		position: relative;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child {
		position: static;
	}
	/* „mostek" bez wyglądu: wypełnia przerwę (18px) między napisem
	   „Oferta” a panelem, żeby przejazd myszką z jednego na drugie nie
	   gubił się w pustym miejscu — inaczej panel na chwilę tracił
	   „hover” w trakcie tego przejazdu i znikał, zanim zdążyło się do
	   niego dojechać. Nie zmienia wyglądu ani wysokości panelu. */
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 100%;
		transform: translateX(-50%);
		width: min(880px, 86vw);
		height: 18px;
		z-index: 59;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container {
		display: grid !important;
		position: absolute !important;
		left: 50%;
		top: calc(100% + 18px) !important;
		transform: translateX(-50%);
		z-index: 60;
		margin: 0 !important;
		grid-template-columns: repeat(5, minmax(150px, 1fr));
		gap: 0;
		width: min(880px, 86vw);
		padding: 28px 28px 20px;
		border-radius: 20px;
		background: #0f0d0b;
		border: 1px solid rgba(237, 192, 87, .28);
		box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
		top: calc(100% + 18px) !important;
	}
	/* 5 pierwszych pozycji: pakiety oferty, w rzędzie */
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost) {
		border-right: 1px solid rgba(237, 192, 87, .16);
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:nth-child(5):not(.dw-submenu-cta):not(.dw-submenu-cta--ghost) {
		border-right: 0;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost)
		> .wp-block-navigation-item__content {
		display: block;
		padding: 6px 20px 18px !important;
		font-family: var(--dw-body) !important;
		font-weight: 600 !important;
		font-size: 13px !important;
		letter-spacing: .12em !important;
		text-transform: uppercase !important;
		text-decoration: none !important;
		color: var(--dw-text) !important;
		white-space: normal;
		line-height: 1.4;
		transition: color .2s ease;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost)
		> .wp-block-navigation-item__content:hover {
		color: var(--dw-gold) !important;
	}

	/* dolny pasek CTA: dwie pozycje na pełną szerokość */
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container {
		padding-bottom: 76px;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta,
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta--ghost {
		position: absolute;
		bottom: 20px;
		width: calc(50% - 30px);
		border: 0 !important;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta { left: 20px; }
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta--ghost { right: 20px; }

	header .wp-block-navigation.is-style-customnav .dw-submenu-cta > .wp-block-navigation-item__content,
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta--ghost > .wp-block-navigation-item__content {
		display: block;
		box-sizing: border-box;
		width: 100%;
		text-align: center;
		text-decoration: none !important;
		padding: 13px 18px !important;
		border-radius: 999px !important;
		font-family: var(--dw-body) !important;
		font-weight: 600 !important;
		font-size: 13px !important;
		letter-spacing: .04em !important;
		text-transform: none !important;
		line-height: 1.4;
		transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
	}
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta > .wp-block-navigation-item__content {
		background: var(--dw-gold) !important;
		color: #15110b !important;
	}
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta > .wp-block-navigation-item__content:hover {
		box-shadow: 0 0 18px rgba(237, 192, 87, .5);
	}
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta--ghost > .wp-block-navigation-item__content {
		background: transparent !important;
		color: var(--dw-gold) !important;
		border: 1px solid rgba(237, 192, 87, .5) !important;
	}
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta--ghost > .wp-block-navigation-item__content:hover {
		background: rgba(237, 192, 87, .12) !important;
	}
}

/* wąskie okno na komputerze: panel nie chowa się poza prawą krawędź ekranu,
   a 5 pakietów łamie się do 2–3 kolumn zamiast być ściśniętych */
@media (min-width: 783px) and (max-width: 1180px) {
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container {
		width: min(640px, 92vw);
		grid-template-columns: repeat(3, minmax(120px, 1fr));
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost):nth-child(3) {
		border-right: 0;
	}
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta,
	header .wp-block-navigation.is-style-customnav .dw-submenu-cta--ghost {
		position: static !important;
		grid-column: 1 / -1;
		width: 100% !important;
		margin-top: 8px;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container {
		padding-bottom: 28px;
	}
}

/* panel „przypięty” kliknięciem w napis/strzałkę „Oferta” (patrz
   site.js) — zostaje widoczny, dopóki nie klikniesz jeszcze raz albo
   nie klikniesz gdzie indziej na stronie */
@media (min-width: 783px) {
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child.dw-pinned
		> .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		/* WordPress przy zjechaniu myszką potrafi od razu ściskać wysokość
		   tego panelu do zera (niezależnie od przezroczystości powyżej) —
		   dopóki panel jest „przypięty”, wymuszamy też pełną, naturalną
		   wysokość, żeby nie było widać tego ściskania. */
		max-height: none !important;
		height: auto !important;
		overflow: visible !important;
	}
}


/* =====================================================================
 * WERSJA 16 — audyt 3: menu mobilne (akordeon „Oferta”), spójne złote
 *             przyciski, niższe hero na podstronach oferty (komputer)
 * ===================================================================== */

/* ---------- 1) menu-hamburger: akordeon dla podmenu (zwinięte domyślnie) ----------
   Samo pokazywanie/ukrywanie i pozycję podmenu ustawia teraz site.js —
   bezpośrednio na elemencie (inline, z priorytetem „important”), żeby
   ZAWSZE wygrywało z tym, co WordPress próbowałby narzucić sam z siebie.
   Style poniżej odpowiadają tylko za wygląd (kolor, czcionka, odstępy). */
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container
	.wp-block-navigation-item {
	background: transparent !important;
}
/* podmenu ma węższy, jaśniejszy tekst niż pozycje główne — wyraźnie drugi poziom */
.dw-menu .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
	padding: 10px 0 10px 4px !important;
	font-family: var(--dw-body) !important;
	font-weight: 500 !important;
	font-size: 18px !important;
	color: var(--dw-text) !important;
	background: transparent !important;
	border-top: 0 !important;
}
.dw-menu .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:hover,
.dw-menu .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:focus-visible {
	color: var(--dw-gold) !important;
	padding-left: 10px !important;
}

/* przełącznik (+/−) przy pozycjach z podmenu — ten sam język co FAQ */
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation-item__content,
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
	position: relative;
	box-sizing: border-box !important;
	padding-right: 46px !important;
}
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
	position: absolute;
	inset: 0;
	width: 100%;
	background: none !important;
	border: 0 !important;
	color: transparent !important;
	cursor: pointer;
}
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle svg {
	display: none !important;
}
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation-item__content::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--dw-field-line, #5a564d);
	color: var(--dw-gold);
	font-family: var(--dw-body);
	font-size: 18px;
	line-height: 1;
	transition: transform .3s ease, border-color .2s ease;
}
.dw-menu .wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content::after {
	content: "\2212";
	border-color: var(--dw-gold);
}

/* ---------- 2) spójne złote przyciski: nagłówek „Formularz”, „Wyślij
   zapytanie” i „Zapytaj o termin” wyglądają i reagują tak jak „Sprawdź
   wolny termin” w hero ---------- */
header .wp-block-buttons.hide-in-tablet.hide-in-mobile .wp-block-button__link,
.dw-cta-card .dw-btn--gold .wp-block-button__link,
.dw-form .dw-form__submit {
	background: var(--dw-gold) !important;
	background-image: none !important;
	border-radius: 999px !important;
	transition: transform .3s cubic-bezier(.23, 1, .32, 1), box-shadow .3s cubic-bezier(.23, 1, .32, 1);
}
header .wp-block-buttons.hide-in-tablet.hide-in-mobile .wp-block-button__link:hover,
.dw-cta-card .dw-btn--gold .wp-block-button__link:hover,
.dw-form .dw-form__submit:hover:not(:disabled) {
	transform: scale(1.05);
	box-shadow: 0 0 24px rgba(237, 192, 87, .55);
}
.dw-form .dw-form__submit:active,
header .wp-block-buttons.hide-in-tablet.hide-in-mobile .wp-block-button__link:active,
.dw-cta-card .dw-btn--gold .wp-block-button__link:active {
	transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
	header .wp-block-buttons.hide-in-tablet.hide-in-mobile .wp-block-button__link,
	.dw-cta-card .dw-btn--gold .wp-block-button__link,
	.dw-form .dw-form__submit { transition: none; }
	header .wp-block-buttons.hide-in-tablet.hide-in-mobile .wp-block-button__link:hover,
	.dw-cta-card .dw-btn--gold .wp-block-button__link:hover,
	.dw-form .dw-form__submit:hover:not(:disabled) { transform: none; }
}

/* ---------- 3) podstrony oferty: niższe zdjęcie i tytuł wyżej (komputer) ---------- */
@media (min-width: 783px) {
	.dw-single-hero {
		min-height: clamp(280px, 32vw, 400px);
		padding-top: 44px;
		padding-bottom: 36px;
	}
}


/* =====================================================================
 * WERSJA 18 — poprawki po zgłoszeniu: czarne paski między sekcjami,
 *             menu mobilne „Oferta” (nowe podejście przez JS), karta
 *             formularza z zaokrąglonymi rogami
 * ===================================================================== */

/* ---------- 1) zero odstępów między głównymi sekcjami strony ----------
   WordPress/Gutenverse potrafi dopisać każdej sekcji własny odstęp
   (margin-top, czasem jako narzucony przez układ „flow”). Przy zwykłym,
   jednolitym czarnym tle taka szczelina była niewidoczna — przy naszym
   gradiencie (przyklejonym do okna, patrz --dw-bg-glow) robiła się z
   niej wyraźna, czarna kreska między sekcjami, bo w tym miejscu
   prześwitywało zwykłe, płaskie tło strony. Zerujemy to całkowicie. */
#home,
.dw-about,
.dw-offer,
.dw-reviews,
.dw-faq,
.dw-contact,
.dw-page-hero,
.dw-page-body {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}


/* =====================================================================
 * WERSJA 2.6 — opinie z okrągłym awatarem przy imieniu i rodzaju imprezy
 * Awatar może być: (a) inicjały w kółku (domyślnie), albo (b) zdjęcie —
 * blok „Obraz” z dodatkową klasą CSS: dw-review__avatar
 * ===================================================================== */
.dw-reviews .dw-review .dw-review__author {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: center;
	gap: 14px;
	margin-top: 4px !important;
}
.dw-reviews .dw-review .dw-review__who { min-width: 0; }
.dw-reviews .dw-review .dw-review__who > * { margin-block: 0 !important; }
.dw-reviews .dw-review .dw-review__who .dw-review__meta { margin-top: 4px !important; }

.dw-reviews .dw-review .dw-review__avatar {
	flex: none;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	margin: 0 !important;
	border-radius: 50%;
	overflow: hidden;
	background: #24211b;
	border: 1px solid rgba(237, 192, 87, .55);
	color: var(--dw-gold);
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: 20px;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: uppercase;
}
/* wersja ze zdjęciem (blok Obraz z klasą dw-review__avatar) */
.dw-reviews .dw-review figure.dw-review__avatar img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	border-radius: 50%;
}

/* autor (awatar + imię) przyklejony do dołu karty — w każdej karcie na tej samej wysokości */
.dw-reviews .dw-review {
	display: flex !important;
	flex-direction: column;
}
.dw-reviews .dw-review .dw-review__author {
	margin-top: auto !important;
}
.dw-reviews .dw-review .dw-review__text {
	margin-bottom: 24px !important;
}


/* =====================================================================
 * WERSJA 2.7 — jaśniejsza karta formularza, 5 kart oferty na komputerze,
 *               zawsze widoczne „Zobacz szczegóły”, Dodatki na
 *               podstronach oferty, logo zamiast napisu „DJ Wouzek”
 * ===================================================================== */

/* ---------- 1) karta formularza kontaktowego: jaśniejsza, ze złotą obwódką ----------
   Inny styl niż w „Pytaniach” (tam poświata krąży po ramce przy najechaniu):
   tu obwódka jest stała, złota w dwóch przeciwległych rogach i wygasa ku
   środkowi, a tło ma ciepły, jaśniejszy gradient z delikatnym blaskiem. */
.dw-contact .dw-contact__card {
	border: 1px solid transparent !important;
	background:
		radial-gradient(120% 85% at 0% 0%, rgba(237, 192, 87, .11) 0%, rgba(237, 192, 87, 0) 55%) padding-box,
		radial-gradient(90% 70% at 100% 100%, rgba(237, 192, 87, .06) 0%, rgba(237, 192, 87, 0) 60%) padding-box,
		linear-gradient(160deg, #2a2722 0%, #211f1c 48%, #1c1b19 100%) padding-box,
		linear-gradient(135deg,
			rgba(237, 192, 87, .85) 0%,
			rgba(237, 192, 87, .22) 26%,
			rgba(237, 192, 87, .07) 50%,
			rgba(237, 192, 87, .22) 74%,
			rgba(237, 192, 87, .75) 100%) border-box !important;
	box-shadow:
		0 30px 80px -24px rgba(0, 0, 0, .65),
		inset 0 1px 0 rgba(255, 244, 214, .07);
}
.dw-contact .dw-contact__formwrap {
	border-left-color: rgba(237, 192, 87, .18) !important;
	background: rgba(255, 248, 230, .018);
}
@media (max-width: 900px) {
	.dw-contact .dw-contact__formwrap {
		border-top-color: rgba(237, 192, 87, .18) !important;
	}
}

/* ---------- 2) Oferta na komputerze: wszystkie 5 kart widać w całości ----------
   (od 901 px; tablet pionowo i telefon zostają z przewijaniem jak dotąd — strzałki
   i kropki same się chowają, gdy wszystko mieści się na ekranie) */
@media (min-width: 901px) {
	.dw-offer {
		--dw-offer-visible: 5;
		--dw-offer-gaps: 4;
	}
	/* ramka karty (1 px) wliczona w szerokość — inaczej 5 kart wychodziło
	   o kilka pikseli za szeroko i ostatnia była ucięta */
	.dw-offer .dw-offer-card {
		box-sizing: border-box;
	}
}

/* ---------- 3) „Zobacz szczegóły →” widoczne zawsze, nie tylko po najechaniu ---------- */
.dw-offer .dw-offer-card__more {
	opacity: 1 !important;
	transform: none !important;
}
.dw-offer .dw-offer-card__more a {
	transition: color .2s ease;
}
.dw-offer .dw-offer-card:hover .dw-offer-card__more a,
.dw-offer .dw-offer-card:focus-within .dw-offer-card__more a {
	color: var(--dw-gold) !important;
}

/* ---------- 4) Dodatki na podstronie oferty (zdjęcia z pola „Dodatki”) ---------- */
.dw-addons {
	margin-top: 48px;
	max-width: 640px;
}
.dw-addons .dw-addons__title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(30px, 3.4vw, 40px);
	line-height: 1.05;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0 0 20px;
}
.dw-addons .dw-addons__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.dw-addons .dw-addon {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid rgba(237, 192, 87, .28);
	background: #1a1917;
}
.dw-addons .dw-addon__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform .6s ease;
}
.dw-addons .dw-addon:hover .dw-addon__img { transform: scale(1.05); }
.dw-addons .dw-addon::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(18, 18, 22, .9) 0%, rgba(18, 18, 22, .35) 38%, rgba(18, 18, 22, 0) 62%);
}
.dw-addons .dw-addon__caption {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 12px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.dw-addons .dw-addon__num {
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--dw-gold);
}
.dw-addons .dw-addon__name {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	color: var(--dw-cream);
}
@media (max-width: 600px) {
	.dw-addons .dw-addons__grid { grid-template-columns: minmax(0, 1fr); }
	.dw-addons .dw-addon { aspect-ratio: 16 / 10; }
}

/* ---------- 5) logo (SVG) zamiast napisu „DJ Wouzek” ----------
   Logo jest wstawiane przez functions.php w miejsce tytułu strony.
   Pliki: assets/logo-compact.svg (nagłówek, menu) i assets/logo-full.svg (stopka). */
.wp-block-site-title.dw-has-logo {
	line-height: 0 !important;
	font-size: 0 !important;
	margin: 0;
}
.wp-block-site-title.dw-has-logo a {
	display: inline-flex;
	align-items: center;
	color: #ffffff !important;
	text-decoration: none !important;
	line-height: 0;
}
.wp-block-site-title.dw-has-logo svg {
	display: block;
	width: auto;
	max-width: 100%;
	overflow: visible;
}
header.wp-block-template-part .wp-block-site-title.dw-has-logo svg { height: 34px; }
.dw-menu .dw-menu__logo.dw-has-logo svg { height: 30px; }
.dw-footer .dw-footer__logo.dw-has-logo a { color: var(--dw-cream) !important; }
.dw-footer .dw-footer__logo.dw-has-logo svg { height: 64px; }
/* węższe okno komputera: mniejsze logo, żeby zmieściło się obok menu */
@media (min-width: 783px) and (max-width: 1100px) {
	header.wp-block-template-part .wp-block-site-title.dw-has-logo svg { height: 26px; }
}
@media (max-width: 782px) {
	header.wp-block-template-part .wp-block-site-title.dw-has-logo svg { height: 28px; }
	.dw-footer .dw-footer__logo.dw-has-logo svg { height: 54px; }
}


/* =====================================================================
 * WERSJA 2.7.1 — poprawki: logo widoczne, karty poglądowe w Dodatkach,
 *                 karta „Sprawdź termin” jak formularz, formularz na
 *                 telefonie rozdzielony na dwie karty
 * ===================================================================== */

/* ---------- 1) logo: rozmiar ustawiony na samym <svg class="dw-logo"> ----------
   (wcześniej style zależały od klasy bloku, której WordPress na stronie nie
   dodawał na początku — przez to logo miało 0 × 0 px i było niewidoczne) */
svg.dw-logo {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	overflow: visible;
	flex: none;
	color: inherit;
}
.wp-block-site-title.dw-has-logo,
.wp-block-site-title.dw-has-logo a {
	display: inline-flex !important;
	align-items: center;
	line-height: 0 !important;
	width: auto !important;
	min-width: max-content;
	flex-shrink: 0;
}
header.wp-block-template-part svg.dw-logo { height: 34px !important; }
.dw-menu svg.dw-logo { height: 30px !important; }
.dw-footer svg.dw-logo { height: 64px !important; }
@media (min-width: 783px) and (max-width: 1100px) {
	header.wp-block-template-part svg.dw-logo { height: 26px !important; }
}
@media (max-width: 782px) {
	header.wp-block-template-part svg.dw-logo { height: 31px !important; } /* = wysokość nagłówka jak z napisem */
	.dw-footer svg.dw-logo { height: 54px !important; }
}

/* ---------- 2) Dodatki: karty poglądowe (miejsce z nazwą, jeszcze bez zdjęcia) ---------- */
.dw-addons .dw-addon--empty {
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(237, 192, 87, .16) 0%, rgba(237, 192, 87, 0) 60%),
		linear-gradient(170deg, #4a4334 0%, #2a2620 55%, #1b1a17 100%);
}
.dw-addons .dw-addon--empty:nth-child(2) {
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(255, 170, 70, .22) 0%, rgba(255, 170, 70, 0) 60%),
		linear-gradient(170deg, #5a3a26 0%, #2e2119 55%, #1b1716 100%);
}
.dw-addons .dw-addon--empty:nth-child(3) {
	background:
		radial-gradient(120% 80% at 50% 0%, rgba(214, 140, 190, .18) 0%, rgba(214, 140, 190, 0) 60%),
		linear-gradient(170deg, #4d3343 0%, #2a1f27 55%, #1a1719 100%);
}

/* ---------- 3) karta „Sprawdź, czy mam wolny termin” na podstronach oferty ----------
   w tym samym stylu co karta formularza na stronie głównej */
.dw-cta-card {
	border: 1px solid transparent !important;
	border-radius: 24px !important;
	padding: 30px 28px 26px !important;
	background:
		radial-gradient(120% 85% at 0% 0%, rgba(237, 192, 87, .12) 0%, rgba(237, 192, 87, 0) 55%) padding-box,
		radial-gradient(90% 70% at 100% 100%, rgba(237, 192, 87, .06) 0%, rgba(237, 192, 87, 0) 60%) padding-box,
		linear-gradient(160deg, #2a2722 0%, #211f1c 48%, #1c1b19 100%) padding-box,
		linear-gradient(135deg,
			rgba(237, 192, 87, .85) 0%,
			rgba(237, 192, 87, .22) 26%,
			rgba(237, 192, 87, .07) 50%,
			rgba(237, 192, 87, .22) 74%,
			rgba(237, 192, 87, .75) 100%) border-box !important;
	box-shadow:
		0 30px 80px -24px rgba(0, 0, 0, .65),
		inset 0 1px 0 rgba(255, 244, 214, .07);
}
.dw-cta-card .dw-cta-card__text {
	color: #c9c3b7 !important;
}

/* ---------- 4) formularz na telefonie: dwie osobne karty + nagłówek nad polami ---------- */
@media (max-width: 900px) {
	.dw-contact .dw-contact__card {
		display: grid !important;
		gap: 18px;
		background: none !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
		border-radius: 0 !important;
	}
	.dw-contact .dw-contact__info,
	.dw-contact .dw-contact__formwrap {
		border: 1px solid transparent !important;
		border-radius: 24px;
		overflow: hidden;
		background:
			radial-gradient(120% 85% at 0% 0%, rgba(237, 192, 87, .11) 0%, rgba(237, 192, 87, 0) 55%) padding-box,
			linear-gradient(160deg, #2a2722 0%, #211f1c 48%, #1c1b19 100%) padding-box,
			linear-gradient(135deg,
				rgba(237, 192, 87, .8) 0%,
				rgba(237, 192, 87, .18) 30%,
				rgba(237, 192, 87, .07) 55%,
				rgba(237, 192, 87, .6) 100%) border-box !important;
		box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .6);
	}
	.dw-contact .dw-contact__info { padding: 32px 24px 22px !important; }
	.dw-contact .dw-contact__formwrap { padding: 28px 24px 30px !important; }
	/* jasny sygnał, gdzie zacząć wypełnianie */
	.dw-contact .dw-contact__formwrap::before {
		content: "Wypełnij formularz";
		display: block;
		margin: 0 0 22px;
		padding-bottom: 14px;
		border-bottom: 1px solid rgba(237, 192, 87, .22);
		font-family: var(--dw-display);
		font-weight: 800;
		font-size: 30px;
		line-height: 1.05;
		letter-spacing: 0;
		color: var(--dw-cream);
	}
}


/* =====================================================================
 * WERSJA 2.7.2 — Oferta na komputerze: większe karty
 * Tytuł „Oferta” i linia zostają wyrównane z resztą strony (1064 px),
 * a sam rząd kart jest szerszy (do 1320 px) — karty rzucają się w oczy.
 * Telefon i tablet bez zmian.
 * ===================================================================== */
@media (min-width: 1101px) {
	.dw-offer {
		--dw-offer-gap: 20px;
	}
	.dw-offer > .dw-offer-carousel {
		width: min(1320px, calc(100% - 64px)) !important;
	}
	/* miejsce na uniesienie karty i cień przy najechaniu (pasek kart ucina to, co wystaje) */
	.dw-offer .dw-offer-track {
		padding: 10px 0 34px !important;
		margin: -10px 0 -34px !important;
	}
	/* ujemne marginesy paska zostają w środku — rząd kart ma dokładnie
	   wysokość kart (ważne dla równych odstępów do obu linii) */
	.dw-offer .dw-offer-viewport {
		display: flow-root;
	}
	.dw-offer .dw-offer-card__num { font-size: 13px; }
	.dw-offer .dw-offer-card__title { font-size: clamp(17px, 1.35vw, 21px); }
	.dw-offer .dw-offer-card__more { font-size: 13px; }
	.dw-offer .dw-offer-card .wp-block-cover__inner-container { padding: 0 20px 22px; }
	.dw-offer .dw-offer-card {
		transition: transform .35s cubic-bezier(.22, .8, .3, 1), border-color .35s ease, box-shadow .35s ease;
	}
	.dw-offer .dw-offer-card:hover {
		transform: translateY(-6px);
		border-color: var(--dw-gold) !important;
		box-shadow: 0 22px 50px -18px rgba(0, 0, 0, .7), 0 0 28px rgba(237, 192, 87, .14);
	}
}
@media (min-width: 1101px) and (prefers-reduced-motion: reduce) {
	.dw-offer .dw-offer-card:hover { transform: none; }
}

/* zdjęcie w opinii wstawione jako <img class="dw-review__avatar"> (np. w bloku HTML) */
.dw-reviews .dw-review img.dw-review__avatar {
	padding: 0;
	object-fit: cover;
}


/* =====================================================================
 * WERSJA 2.7.3 — mniejsze odstępy między sekcjami + dolna linia w Ofercie
 * ===================================================================== */

/* ---------- 1) odstępy między sekcjami: ok. o połowę mniejsze ----------
   (było do 120 px nad i pod każdą sekcją, czyli do 240 px przerwy) */
.dw-about, .dw-offer, .dw-reviews, .dw-faq, .dw-contact, .dw-video {
	padding-top: clamp(44px, 4.5vw, 64px) !important;
	padding-bottom: clamp(44px, 4.5vw, 64px) !important;
}
@media (max-width: 782px) {
	.dw-about, .dw-offer, .dw-reviews, .dw-faq, .dw-contact, .dw-video {
		padding-top: 36px !important;
		padding-bottom: 36px !important;
	}
}

/* ---------- 2) Oferta: druga linia pod kartami — symetrycznie do linii
   pod tytułem (ta sama szerokość, ten sam odstęp od kart) ---------- */
.dw-offer::after {
	content: "";
	display: block;
	box-sizing: border-box;
	width: min(1064px, calc(100% - 48px));
	height: 1px;
	margin: var(--dw-offer-rule-gap, 56px) auto 0;
	background: var(--dw-line);
}
@media (max-width: 782px) {
	.dw-offer { --dw-offer-rule-gap: 30px; }
}


/* =====================================================================
 * WERSJA 2.8 — nowy układ podstron oferty + mniejszy panel „Oferta”
 * ===================================================================== */

/* ---------- 1) Nagłówek podstrony: tytuł po lewej, ostre zdjęcie po prawej ---------- */
.dw-single-hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	align-items: center;
	gap: clamp(28px, 4vw, 56px);
	min-height: 0 !important;
	padding: clamp(40px, 5vw, 64px) max(24px, calc((100% - 1064px) / 2)) clamp(40px, 5vw, 64px) !important;
	background: var(--dw-bg-glow) !important;
	overflow: visible;
}
.dw-single-hero::before { display: none !important; }
.dw-single-hero .dw-single-hero__inner {
	width: auto !important;
	margin: 0 !important;
	z-index: 1;
}
.dw-single-hero .dw-single-hero__kicker {
	margin-top: 18px !important;
	font-family: var(--dw-body);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: .08em;
	color: var(--dw-gold);
}
.dw-single-hero .dw-single-hero__bg {
	position: relative !important;
	inset: auto !important;
	z-index: 1;
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 22px;
	border: 1px solid rgba(237, 192, 87, .4);
	box-shadow: 0 30px 70px -28px rgba(0, 0, 0, .75);
	background: #1c1b19;
}
.dw-single-hero .dw-single-hero__bg img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: var(--dw-hero-pos, 50% 50%);
	filter: none !important;
	transform: none !important;
}
@media (max-width: 782px) {
	.dw-single-hero {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding: 32px 24px 36px !important;
	}
	.dw-single-hero .dw-single-hero__bg { aspect-ratio: 16 / 10; border-radius: 18px; }
}

/* ---------- 2) Treść na całą szerokość (z marginesami jak reszta strony) ---------- */
.dw-single-body .dw-single-body__grid {
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
}
.dw-single-body__text .wp-block-post-content > * {
	max-width: none !important;
}
.dw-single-body__text .wp-block-post-content p,
.dw-single-body__text .wp-block-post-content li {
	font-size: 16px;
}

/* ---------- 3) Dodatki: linia oddzielająca, wyśrodkowane, duży format ---------- */
.dw-addons {
	max-width: none !important;
	margin-top: clamp(40px, 5vw, 64px) !important;
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--dw-line);
}
.dw-addons .dw-addons__title {
	text-align: center;
	font-size: clamp(34px, 4vw, 48px);
	margin-bottom: clamp(22px, 3vw, 32px);
}
.dw-addons .dw-addons__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
	max-width: 1064px;
	margin: 0 auto;
}
.dw-addons .dw-addon { border-radius: 20px; }
.dw-addons .dw-addon__caption { left: 20px; right: 20px; bottom: 18px; }
.dw-addons .dw-addon__num { font-size: 13px; }
.dw-addons .dw-addon__name { font-size: clamp(16px, 1.6vw, 20px); }
@media (max-width: 600px) {
	.dw-addons .dw-addons__grid { grid-template-columns: minmax(0, 1fr); }
	.dw-addons .dw-addon { aspect-ratio: 16 / 10; }
}

/* ---------- 4) Karta „Sprawdź, czy mam wolny termin” na końcu, na całą szerokość ---------- */
.dw-cta-card {
	position: static !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 20px 40px;
	margin-top: clamp(40px, 5vw, 64px) !important;
	padding: clamp(28px, 3.5vw, 44px) clamp(24px, 4vw, 52px) !important;
}
.dw-cta-card .dw-cta-card__copy > *,
.dw-cta-card .dw-cta-card__action > * { margin-block: 0 !important; }
.dw-cta-card .dw-cta-card__title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.05;
	color: var(--dw-cream);
	margin-bottom: 10px !important;
}
.dw-cta-card .dw-cta-card__text {
	font-size: 16px !important;
	line-height: 1.6;
}
.dw-cta-card .dw-cta-card__action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.dw-cta-card .dw-cta-card__buttons .wp-block-button__link {
	padding: 16px 40px !important;
	white-space: nowrap;
}
/* odstęp nad kartą (starsza reguła zerowała marginesy w tej kolumnie) */
.dw-single-body .dw-single-body__grid > .dw-cta-card {
	margin-top: clamp(40px, 5vw, 64px) !important;
}
@media (max-width: 782px) {
	.dw-cta-card { grid-template-columns: minmax(0, 1fr); text-align: center; }
	.dw-cta-card .dw-cta-card__buttons { justify-content: center !important; }
	.dw-cta-card .dw-cta-card__action,
	.dw-cta-card .dw-cta-card__buttons,
	.dw-cta-card .dw-cta-card__buttons .wp-block-button,
	.dw-cta-card .dw-cta-card__buttons .wp-block-button__link { width: 100%; }
}

/* ---------- 5) Panel „Oferta” w nagłówku: mniejszy, dopasowany do treści ---------- */
@media (min-width: 783px) {
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: row !important; /* WordPress domyślnie układa podmenu w kolumnie */
		flex-wrap: nowrap !important;
		align-items: stretch;
		width: max-content !important;
		max-width: calc(100vw - 48px);
		padding: 8px !important;
		top: calc(100% + 12px) !important;
		border-radius: 16px;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost) {
		border-right: 1px solid rgba(237, 192, 87, .16) !important;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		> .wp-block-navigation-item:last-child {
		border-right: 0 !important;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost)
		> .wp-block-navigation-item__content {
		padding: 12px 20px !important;
		font-size: 12px !important;
		letter-spacing: .1em !important;
		white-space: nowrap;
		border-radius: 10px;
		transition: color .2s ease, background-color .2s ease;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item:not(.dw-submenu-cta):not(.dw-submenu-cta--ghost)
		> .wp-block-navigation-item__content:hover {
		background: rgba(237, 192, 87, .08);
	}
	/* przyciski CTA w panelu (jeśli są) — w tym samym rzędzie, na końcu */
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta,
	header .wp-block-navigation.is-style-customnav .wp-block-navigation__submenu-container
		.wp-block-navigation-item.dw-submenu-cta--ghost {
		position: static !important;
		width: auto !important;
		margin: 0 0 0 8px !important;
		align-self: center;
	}
	/* niewidzialny „mostek” między napisem „Oferta” a panelem — teraz tylko
	   pod samym napisem (wcześniej 880 px szerokości łapał mysz także pod
	   innymi pozycjami menu i panel znikał za późno) */
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child::after {
		display: none !important;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content,
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle {
		position: relative;
	}
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content::after,
	header .wp-block-navigation.is-style-customnav .wp-block-navigation-item.has-child > .wp-block-navigation-submenu__toggle::after {
		content: "";
		position: absolute;
		left: -8px;
		right: -8px;
		top: 100%;
		height: 22px;
	}
}


/* =====================================================================
 * WERSJA 2.9 — Dodatki na stronie głównej, telefon w nagłówku,
 *               opinie jako przewijana karuzela na telefonie
 * ===================================================================== */

/* ---------- 1) sekcja „Dodatki” (pod Ofertą) ---------- */
.dw-home-addons {
	background: var(--dw-bg-glow);
	padding-top: clamp(44px, 4.5vw, 64px);
	padding-bottom: clamp(44px, 4.5vw, 64px);
	margin: 0 !important;
}
.dw-home-addons > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-home-addons .dw-section-head {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	margin-top: 0;
	margin-bottom: 0;
}
.dw-home-addons .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}
.dw-home-addons .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}
.dw-home-addons > .dw-rule { width: min(1064px, calc(100% - 48px)) !important; }
.dw-home-addons .dw-home-addons__lead {
	margin-top: 0;
	margin-bottom: clamp(22px, 3vw, 32px);
	font-family: var(--dw-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--dw-text);
}
.dw-addons.dw-addons--home {
	margin-top: 0 !important;
	padding-top: 0;
	border-top: 0;
}
.dw-addons.dw-addons--home .dw-addons__grid { max-width: none; }
.dw-home-addons .dw-home-addons__cta {
	margin-top: clamp(24px, 3vw, 36px);
	margin-bottom: 0;
	text-align: center;
}
.dw-home-addons .dw-home-addons__btn {
	display: inline-block;
	padding: 14px 34px;
	border: 1px solid var(--dw-gold);
	border-radius: 999px;
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .04em;
	color: var(--dw-gold) !important;
	text-decoration: none !important;
	transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.dw-home-addons .dw-home-addons__btn:hover,
.dw-home-addons .dw-home-addons__btn:focus-visible {
	background: var(--dw-gold);
	color: #15110b !important;
	box-shadow: 0 0 24px rgba(237, 192, 87, .4);
}
@media (max-width: 782px) {
	.dw-home-addons { padding-top: 36px; padding-bottom: 36px; }
	.dw-home-addons .dw-home-addons__btn { display: block; }
}

/* ---------- 2) telefon w nagłówku (komputer, od 1101 px) ---------- */
.dw-header-phone { display: none; }
@media (min-width: 1101px) {
	header .wp-block-buttons .dw-header-phone {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-right: 22px;
		font-family: var(--dw-body);
		font-weight: 600;
		font-size: 14px;
		letter-spacing: .02em;
		white-space: nowrap;
		color: var(--dw-cream) !important;
		text-decoration: none !important;
		transition: color .2s ease;
	}
	header .wp-block-buttons .dw-header-phone svg { color: var(--dw-gold); flex: none; }
	header .wp-block-buttons .dw-header-phone:hover,
	header .wp-block-buttons .dw-header-phone:focus-visible { color: var(--dw-gold) !important; }
	header .wp-block-buttons:has(.dw-header-phone) { align-items: center; }
}

/* ---------- 3) opinie na telefonie: przewijana karuzela zamiast długiej listy ---------- */
@media (max-width: 782px) {
	.dw-reviews .dw-reviews__grid {
		display: flex !important;
		flex-wrap: nowrap;
		gap: 14px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-top: 2px;
		padding-bottom: 4px;
	}
	.dw-reviews .dw-reviews__grid::-webkit-scrollbar { display: none; }
	.dw-reviews .dw-review {
		flex: 0 0 86%;
		scroll-snap-align: start;
		grid-column: auto !important;
	}
}


/* =====================================================================
 * WERSJA 2.9.2 — „O mnie”: liczby jako szeroki pasek nad nagłówkiem
 * ===================================================================== */
.dw-about--statband .dw-about__text .dw-rule--stats { display: none !important; }

.dw-about > .dw-statband {
	width: min(1320px, calc(100% - 64px));
	margin-top: 0;
	margin-bottom: clamp(44px, 5vw, 72px);
	padding: clamp(30px, 3.6vw, 48px) clamp(16px, 3vw, 40px);
	border: 1px solid transparent;
	border-radius: 24px;
	background:
		radial-gradient(70% 120% at 50% 0%, rgba(237, 192, 87, .13) 0%, rgba(237, 192, 87, 0) 60%) padding-box,
		linear-gradient(160deg, #2a2722 0%, #211f1c 48%, #1c1b19 100%) padding-box,
		linear-gradient(135deg,
			rgba(237, 192, 87, .85) 0%,
			rgba(237, 192, 87, .2) 26%,
			rgba(237, 192, 87, .07) 50%,
			rgba(237, 192, 87, .2) 74%,
			rgba(237, 192, 87, .75) 100%) border-box;
	box-shadow: 0 30px 80px -26px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 244, 214, .07);
}
.dw-about .dw-statband .dw-stats {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin: 0;
}
.dw-about .dw-statband .dw-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 4px clamp(8px, 2vw, 24px);
	border-left: 1px solid rgba(237, 192, 87, .22);
}
.dw-about .dw-statband .dw-stat:first-child { border-left: 0; }
.dw-about .dw-statband .dw-stat__num {
	font-size: clamp(56px, 7vw, 96px);
	line-height: .95;
	letter-spacing: -.01em;
	color: var(--dw-gold) !important;
	text-shadow: 0 0 34px rgba(237, 192, 87, .25);
	font-variant-numeric: tabular-nums;
}
.dw-about .dw-statband .dw-stat__label {
	margin-top: 12px;
	font-weight: 500;
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--dw-text);
	white-space: normal;
}
@media (max-width: 782px) {
	.dw-about > .dw-statband {
		width: calc(100% - 32px);
		padding: 22px 6px;
		border-radius: 20px;
		margin-bottom: 36px;
	}
	.dw-about .dw-statband .dw-stat { padding: 2px 6px; }
	.dw-about .dw-statband .dw-stat__num { font-size: clamp(34px, 10vw, 44px); }
	.dw-about .dw-statband .dw-stat__label {
		margin-top: 8px;
		font-size: 10.5px;
		letter-spacing: .08em;
		line-height: 1.35;
	}
}


/* =====================================================================
 * WERSJA 2.9.3 — „O mnie”: zaokrąglone zdjęcie, „Hej! Cześć!” na linii,
 *                tekst w kremowej karcie (tło 85%, czarny tekst)
 * ===================================================================== */
.dw-about { --dw-about-gap: 56px; }
@media (max-width: 782px) { .dw-about { --dw-about-gap: 44px; } }

/* linia pod „O mnie” zostaje jako odstęp, a rysuje ją nagłówek „Hej! Cześć!” */
.dw-about > .dw-rule:not(.dw-rule--stats) {
	margin-top: 44px !important;
	margin-bottom: var(--dw-about-gap) !important;
	visibility: hidden;
}
@media (max-width: 782px) {
	.dw-about > .dw-rule:not(.dw-rule--stats) { margin-top: 38px !important; }
}
.dw-about .dw-about__cols { position: relative; }
.dw-about .dw-about__text > h3 {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * var(--dw-about-gap));
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.5vw, 28px);
	margin: 0 !important;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.1;
	white-space: nowrap;
}
.dw-about .dw-about__text > h3::before,
.dw-about .dw-about__text > h3::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--dw-line);
}

/* zdjęcie: zaokrąglone rogi + złota ramka */
.dw-about .dw-about__photo {
	border-radius: 22px;
	overflow: hidden;
	border: 1px solid rgba(237, 192, 87, .45);
	margin: 0 !important;
}
.dw-about .dw-about__photo img { border: 0 !important; }

/* tekst w kremowej karcie: tło 85% krycia, tekst w pełni czarny */
.dw-about .dw-about__text > p {
	background: rgba(244, 238, 227, .85);
	color: #111 !important;
	font-weight: 400;
	margin: 0 !important;
	padding: 0 clamp(22px, 3vw, 36px) 16px !important;
}
.dw-about .dw-about__text > h3 + p {
	padding-top: clamp(24px, 3vw, 34px) !important;
	border-radius: 22px 22px 0 0;
}
.dw-about .dw-about__text > p:last-of-type {
	padding-bottom: clamp(24px, 3vw, 34px) !important;
	border-radius: 0 0 22px 22px;
	box-shadow: 0 40px 60px -40px rgba(0, 0, 0, .8);
}
.dw-about .dw-about__text > p strong,
.dw-about .dw-about__text > p b {
	color: #000 !important;
	font-weight: 700;
	background: linear-gradient(transparent 62%, rgba(237, 192, 87, .55) 62%);
}
.dw-about .dw-about__text > p a { color: #000 !important; }

/* karta pojawia się w całości (a nie akapit po akapicie).
   Kolumna tylko się rozjaśnia (bez przesunięcia) - przesunięcie kolumny
   zmieniało punkt odniesienia dla „Hej! Cześć!” i napis na chwilę
   wskakiwał nad prawą kolumnę. Przesuwają się same akapity, razem. */
html.dw-js .dw-about .dw-about__text > p {
	opacity: 1 !important;
	transform: none !important;
	transition: transform .9s cubic-bezier(.22, .8, .3, 1) !important;
}
html.dw-js .dw-about .dw-about__text {
	transform: none !important;
	transition: opacity .9s ease;
}
html.dw-js .dw-about .dw-about__text:not(.is-inview) { opacity: 0; }
html.dw-js .dw-about .dw-about__text:not(.is-inview) > p { transform: translate3d(0, 28px, 0) !important; }
html.dw-reduce .dw-about .dw-about__text:not(.is-inview) > p { transform: none !important; }


/* =====================================================================
 * WERSJA 2.9.4 — sekcja „Dlaczego ja” + baner „Gotowi na pełny parkiet?”
 * ===================================================================== */
.dw-why {
	background: var(--dw-bg-glow);
	padding-top: clamp(44px, 4.5vw, 64px);
	padding-bottom: clamp(44px, 4.5vw, 64px);
	margin: 0 !important;
}
.dw-why > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-why .dw-section-head {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	margin: 0;
}
.dw-why .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}
.dw-why .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}
.dw-why .dw-why__grid {
	list-style: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 1.8vw, 22px);
}
.dw-why .dw-why__card {
	position: relative;
	margin: 0;
	padding: clamp(24px, 2.6vw, 32px);
	border: 1px solid transparent;
	border-radius: 20px;
	background:
		radial-gradient(120% 80% at 0% 0%, rgba(237, 192, 87, .09) 0%, rgba(237, 192, 87, 0) 55%) padding-box,
		linear-gradient(160deg, #24221e 0%, #1d1c1a 55%, #191817 100%) padding-box,
		linear-gradient(135deg, rgba(237, 192, 87, .55) 0%, rgba(237, 192, 87, .12) 35%, rgba(237, 192, 87, .06) 60%, rgba(237, 192, 87, .3) 100%) border-box;
	box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .7);
	transition: transform .35s cubic-bezier(.22, .8, .3, 1), box-shadow .35s ease;
}
.dw-why .dw-why__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid rgba(237, 192, 87, .45);
	background: rgba(237, 192, 87, .08);
	color: var(--dw-gold);
	margin-bottom: 18px;
}
.dw-why .dw-why__title {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: clamp(17px, 1.5vw, 19px);
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	color: var(--dw-cream);
	margin: 0 0 8px;
}
.dw-why .dw-why__text {
	font-family: var(--dw-body);
	font-size: 15px;
	line-height: 1.65;
	color: #c9c3b7;
	margin: 0;
}
@media (min-width: 1101px) and (hover: hover) {
	.dw-why .dw-why__card:hover {
		transform: translateY(-4px);
		box-shadow: 0 26px 60px -26px rgba(0, 0, 0, .75), 0 0 26px rgba(237, 192, 87, .12);
	}
}
@media (max-width: 960px) {
	.dw-why .dw-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.dw-why { padding-top: 36px; padding-bottom: 36px; }
	.dw-why .dw-section-head { flex-wrap: wrap; row-gap: 10px; }
	.dw-why .dw-section-title { white-space: nowrap; }
	.dw-why .dw-why__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.dw-why .dw-why__card {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 16px;
		align-items: start;
		padding: 20px 18px;
	}
	.dw-why .dw-why__icon { width: 44px; height: 44px; margin: 0; grid-row: span 2; }
	.dw-why .dw-why__icon svg { width: 22px; height: 22px; }
	.dw-why .dw-why__title { margin-bottom: 4px; }
	.dw-why .dw-why__text { font-size: 14px; }
}

/* ---------- baner po „Opiniach” ---------- */
.dw-ctaband {
	background: var(--dw-bg-glow);
	margin: 0 !important;
	padding: clamp(8px, 1vw, 16px) 0;
}
.dw-ctaband .dw-ctaband__inner {
	box-sizing: border-box;
	width: min(1320px, calc(100% - 64px));
	margin: 0 auto;
	padding: clamp(44px, 6vw, 84px) clamp(24px, 5vw, 64px);
	text-align: center;
	border: 1px solid transparent;
	border-radius: 28px;
	background:
		radial-gradient(60% 90% at 50% 0%, rgba(237, 192, 87, .2) 0%, rgba(237, 192, 87, 0) 65%) padding-box,
		radial-gradient(50% 70% at 50% 120%, rgba(237, 192, 87, .1) 0%, rgba(237, 192, 87, 0) 70%) padding-box,
		linear-gradient(160deg, #2a2722 0%, #1f1d1a 50%, #1a1917 100%) padding-box,
		linear-gradient(135deg, rgba(237, 192, 87, .85) 0%, rgba(237, 192, 87, .2) 26%, rgba(237, 192, 87, .07) 50%, rgba(237, 192, 87, .2) 74%, rgba(237, 192, 87, .75) 100%) border-box;
	box-shadow: 0 30px 80px -26px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 244, 214, .07);
}
.dw-ctaband .dw-ctaband__kicker {
	margin: 0 0 14px;
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dw-gold);
}
.dw-ctaband .dw-ctaband__title {
	margin: 0;
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(40px, 6vw, 80px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
}
.dw-ctaband .dw-ctaband__text {
	max-width: 560px;
	margin: 18px auto 0;
	font-family: var(--dw-body);
	font-size: 16px;
	line-height: 1.65;
	color: #c9c3b7;
}
.dw-ctaband .dw-ctaband__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px 18px;
	margin-top: clamp(26px, 3vw, 36px);
}
.dw-ctaband a.dw-ctaband__btn,
.dw-ctaband a.dw-ctaband__phone,
.dw-ctaband .dw-ctaband__btn > .wp-block-button__link,
.dw-ctaband .dw-ctaband__phone > .wp-block-button__link {
	display: inline-block;
	padding: 16px 36px;
	border-radius: 999px;
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .03em;
	text-decoration: none !important;
	transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.dw-ctaband a.dw-ctaband__btn,
.dw-ctaband .dw-ctaband__btn > .wp-block-button__link {
	background: var(--dw-gold);
	color: #15110b !important;
	border: 1px solid var(--dw-gold);
}
.dw-ctaband a.dw-ctaband__btn:hover,
.dw-ctaband a.dw-ctaband__btn:focus-visible,
.dw-ctaband .dw-ctaband__btn > .wp-block-button__link:hover,
.dw-ctaband .dw-ctaband__btn > .wp-block-button__link:focus-visible { box-shadow: 0 0 30px rgba(237, 192, 87, .45); }
.dw-ctaband a.dw-ctaband__phone,
.dw-ctaband .dw-ctaband__phone > .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(237, 192, 87, .55);
	color: var(--dw-cream) !important;
}
.dw-ctaband a.dw-ctaband__phone:hover,
.dw-ctaband a.dw-ctaband__phone:focus-visible,
.dw-ctaband .dw-ctaband__phone > .wp-block-button__link:hover,
.dw-ctaband .dw-ctaband__phone > .wp-block-button__link:focus-visible { border-color: var(--dw-gold); color: var(--dw-gold) !important; }
@media (max-width: 782px) {
	.dw-ctaband .dw-ctaband__inner { width: calc(100% - 32px); border-radius: 22px; }
	.dw-ctaband .dw-ctaband__actions { flex-direction: column; align-items: stretch; }
}

/* pojawianie przy przewijaniu (jak w innych sekcjach) */
html.dw-js :is(.dw-why .dw-section-head, .dw-why__card, .dw-ctaband__inner):not(.is-inview) {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
}
html.dw-js :is(.dw-why .dw-section-head, .dw-why__card, .dw-ctaband__inner) {
	transition: opacity .8s ease var(--dw-d, 0s), transform .9s cubic-bezier(.22, .8, .3, 1) var(--dw-d, 0s), box-shadow .35s ease;
}
html.dw-reduce :is(.dw-why .dw-section-head, .dw-why__card, .dw-ctaband__inner):not(.is-inview) { transform: none; }


/* =====================================================================
 * WERSJA 2.9.5 — „Jak to działa”, „Przewijaj” w hero, bezpłatna wycena
 * ===================================================================== */

/* ---------- 1) „Przewijaj, aby zobaczyć więcej” (tylko komputer) ---------- */
.dw-hero .dw-scrollhint { display: none; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
	.dw-hero .dw-hero__buttons { align-items: center; }
	.dw-hero .dw-hero__buttons { flex-wrap: wrap !important; }
	/* pod przyciskami, w osobnej linii */
	.dw-hero .dw-scrollhint {
		display: flex;
		flex: 0 0 100%;
		align-items: center;
		gap: 10px;
		margin: 12px 0 0;
		font-family: var(--dw-body);
		font-weight: 500;
		font-size: 11px;
		letter-spacing: .14em;
		text-transform: uppercase;
		color: rgba(245, 239, 228, .62) !important;
		text-decoration: none !important;
		transition: color .25s ease;
	}
	.dw-hero .dw-scrollhint__text { white-space: nowrap; }
	.dw-hero .dw-scrollhint:hover,
	.dw-hero .dw-scrollhint:focus-visible { color: var(--dw-gold) !important; }
	.dw-hero .dw-scrollhint__mouse {
		position: relative;
		flex: none;
		width: 18px;
		height: 28px;
		border: 1.5px solid currentColor;
		border-radius: 10px;
		box-sizing: border-box;
	}
	.dw-hero .dw-scrollhint__wheel {
		position: absolute;
		left: 50%;
		top: 5px;
		width: 2px;
		height: 6px;
		margin-left: -1px;
		border-radius: 2px;
		background: var(--dw-gold);
		animation: dw-wheel 1.8s ease-in-out infinite;
	}
	html.dw-reduce .dw-hero .dw-scrollhint__wheel { animation: none; }
}
@keyframes dw-wheel {
	0%   { transform: translateY(0); opacity: 0; }
	20%  { opacity: 1; }
	70%  { transform: translateY(7px); opacity: 0; }
	100% { transform: translateY(7px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.dw-hero .dw-scrollhint__wheel { animation: none !important; }
}

/* ---------- 2) „Wycena jest bezpłatna” w karcie kontaktu ---------- */
.dw-contact .dw-contact__free {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 6px !important;
	padding: 12px 16px;
	border: 1px solid rgba(237, 192, 87, .35);
	border-radius: 14px;
	background: rgba(237, 192, 87, .08);
	font-family: var(--dw-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--dw-cream);
}
.dw-contact .dw-contact__free svg { flex: none; margin-top: 1px; color: var(--dw-gold); }
.dw-contact .dw-contact__free strong { color: var(--dw-gold); font-weight: 600; }

/* ---------- 3) „Jak to działa” ---------- */
.dw-steps {
	background: var(--dw-bg-glow);
	padding-top: clamp(44px, 4.5vw, 64px);
	padding-bottom: clamp(44px, 4.5vw, 64px);
	margin: 0 !important;
}
.dw-steps > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-steps .dw-section-head {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	margin: 0;
}
.dw-steps .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
	white-space: nowrap;
}
.dw-steps .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}
.dw-steps .dw-steps__list {
	position: relative;
	list-style: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	display: grid;
	--dw-steps-gap: clamp(16px, 2vw, 28px);
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--dw-steps-gap);
}
/* linia łącząca kroki */
.dw-steps .dw-steps__list::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 28px;
	right: calc((100% - 4 * var(--dw-steps-gap)) / 5 - 28px);
	height: 1px;
	background: linear-gradient(90deg, rgba(237, 192, 87, .6), rgba(237, 192, 87, .15));
}
.dw-steps .dw-steps__item { position: relative; margin: 0; }
.dw-steps .dw-steps__num {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 1px solid rgba(237, 192, 87, .6);
	background: #1c1a17;
	box-shadow: 0 0 0 6px #121216, 0 0 24px rgba(237, 192, 87, .15);
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: 20px;
	color: var(--dw-gold);
	margin-bottom: 20px;
}
.dw-steps .dw-steps__title {
	font-family: var(--dw-body);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	color: var(--dw-cream);
	margin: 0 0 8px;
}
.dw-steps .dw-steps__text {
	font-family: var(--dw-body);
	font-size: 14.5px;
	line-height: 1.65;
	color: #c9c3b7;
	margin: 0;
}
@media (max-width: 960px) {
	.dw-steps .dw-steps__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.dw-steps .dw-steps__list::before {
		top: 28px;
		bottom: 28px;
		left: 27px;
		right: auto;
		width: 1px;
		height: auto;
		background: linear-gradient(180deg, rgba(237, 192, 87, .6), rgba(237, 192, 87, .15));
	}
	.dw-steps .dw-steps__item {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		column-gap: 18px;
		padding-bottom: 26px;
	}
	.dw-steps .dw-steps__item:last-child { padding-bottom: 0; }
	.dw-steps .dw-steps__num { grid-row: span 2; margin: 0; }
	.dw-steps .dw-steps__title { margin-top: 15px; }
}
@media (max-width: 600px) {
	.dw-steps { padding-top: 36px; padding-bottom: 36px; }
	.dw-steps .dw-section-head { flex-wrap: wrap; row-gap: 10px; }
	.dw-steps .dw-steps__num { width: 48px; height: 48px; font-size: 17px; }
	.dw-steps .dw-steps__item { grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; }
	.dw-steps .dw-steps__list::before { left: 23px; top: 24px; bottom: 24px; }
	.dw-steps .dw-steps__title { margin-top: 11px; }
}
html.dw-js :is(.dw-steps .dw-section-head, .dw-steps__item):not(.is-inview) {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
}
html.dw-js :is(.dw-steps .dw-section-head, .dw-steps__item) {
	transition: opacity .8s ease var(--dw-d, 0s), transform .9s cubic-bezier(.22, .8, .3, 1) var(--dw-d, 0s);
}
html.dw-reduce :is(.dw-steps .dw-section-head, .dw-steps__item):not(.is-inview) { transform: none; }


/* =====================================================================
 * WERSJA 2.9.7 — nowe logo (konsoleta DJ), całe w kolorze białym
 * ===================================================================== */
svg.dw-logo { color: #fff !important; }


/* =====================================================================
 * WERSJA 2.9.8 — SEO: H1 w hero
 * ===================================================================== */
/* podtytuł hero jest teraz nagłówkiem H1 — wygląd bez zmian */
.dw-hero h1.dw-hero__eyebrow {
	margin-top: 0;
	text-transform: none;
	font-family: var(--dw-body) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	letter-spacing: .08em;
}
@media (max-width: 1100px) { .dw-hero h1.dw-hero__eyebrow { letter-spacing: .05em; } }
@media (max-width: 600px) { .dw-hero h1.dw-hero__eyebrow { font-size: 12px !important; } }
.dw-hero p.dw-hero__title { margin-top: 0; }


/* =====================================================================
 * WERSJA 3.0 — sekcje jako wzorce w edytorze + parallaxa w hero
 * ===================================================================== */
/* wersje z bloków (Wzorce): wyrównanie odstępów, które dodaje WordPress */
.dw-why .dw-why__grid > *,
.dw-steps .dw-steps__list > * { margin-block: 0 !important; }
.dw-why .dw-why__card > *:first-child,
.dw-steps .dw-steps__item > *:first-child,
.dw-ctaband .dw-ctaband__inner > *:first-child { margin-top: 0 !important; }
.dw-steps p.dw-steps__num { line-height: 1; }
.dw-ctaband .dw-ctaband__actions { gap: 14px 18px; }
.dw-ctaband .dw-ctaband__actions .wp-block-button { margin: 0; }
@media (max-width: 782px) {
	.dw-ctaband .dw-ctaband__actions .wp-block-button,
	.dw-ctaband .dw-ctaband__actions .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }
}
.dw-ctaband .dw-ctaband__btn > .wp-block-button__link,
.dw-ctaband .dw-ctaband__phone > .wp-block-button__link { border-radius: 999px !important; }


/* =====================================================================
 * WERSJA 3.1 — Galeria (mozaika + powiększanie) i ruchomy pasek zdjęć
 * ===================================================================== */
.dw-gallery {
	background: var(--dw-bg-glow);
	padding-top: clamp(44px, 4.5vw, 64px);
	padding-bottom: clamp(44px, 4.5vw, 64px);
	margin: 0 !important;
}
.dw-gallery > * {
	width: min(1064px, calc(100% - 48px));
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}
.dw-gallery .dw-section-head {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline !important;
	gap: 24px;
	margin: 0;
}
.dw-gallery .dw-section-title {
	font-family: var(--dw-display);
	font-weight: 800;
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1;
	text-transform: none;
	color: var(--dw-cream);
	margin: 0;
}
.dw-gallery .dw-section-kicker {
	font-family: var(--dw-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .08em;
	color: var(--dw-dim);
	margin: 0;
	white-space: nowrap;
}

/* --- mozaika (kolumny jak „masonry”: zdjęcia w swoich proporcjach,
       bez dziur niezależnie od liczby zdjęć) --- */
.dw-gallery .wp-block-gallery.dw-gallery__grid {
	display: block !important;
	column-count: 3;
	column-gap: clamp(10px, 1.2vw, 16px);
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.dw-gallery .wp-block-gallery.dw-gallery__grid figure.wp-block-image:not(#individual-image) {
	position: relative;
	display: block !important;
	width: 100% !important;
	height: auto;
	margin: 0 0 clamp(10px, 1.2vw, 16px) !important;
	break-inside: avoid;
	overflow: hidden;
	border-radius: 18px;
	border: 1px solid rgba(237, 192, 87, .28);
	background: #1c1b19;
	cursor: zoom-in;
}
.dw-gallery .wp-block-gallery.dw-gallery__grid figure.wp-block-image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.22, .8, .3, 1);
}
.dw-gallery .dw-gallery__grid figure.wp-block-image::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(18, 18, 22, .55) 0%, rgba(18, 18, 22, 0) 45%);
	opacity: 0;
	transition: opacity .4s ease;
}
.dw-gallery .dw-gallery__grid figure.wp-block-image:hover img,
.dw-gallery .dw-gallery__grid figure.wp-block-image:focus-visible img { transform: scale(1.06); }
.dw-gallery .dw-gallery__grid figure.wp-block-image:hover::after,
.dw-gallery .dw-gallery__grid figure.wp-block-image:focus-visible::after { opacity: 1; }
.dw-gallery .dw-gallery__grid figure.wp-block-image:focus-visible { outline: 2px solid var(--dw-gold); outline-offset: 3px; }
.dw-gallery .dw-gallery__grid figure.wp-block-image figcaption {
	z-index: 2;
	font-family: var(--dw-body);
	font-size: 13px;
	color: var(--dw-cream);
	background: none !important;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .7);
}
@media (max-width: 960px) {
	.dw-gallery .wp-block-gallery.dw-gallery__grid { column-count: 2; }
}
/* telefon: zdjęcia przesuwane palcem w bok */
@media (max-width: 782px) {
	.dw-gallery { padding-top: 36px; padding-bottom: 36px; }
	.dw-gallery .wp-block-gallery.dw-gallery__grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 12px !important;
		padding-bottom: 4px;
	}
	.dw-gallery .wp-block-gallery.dw-gallery__grid::-webkit-scrollbar { display: none; }
	.dw-gallery .wp-block-gallery.dw-gallery__grid figure.wp-block-image:not(#individual-image) {
		flex: 0 0 78% !important;
		height: auto;
		aspect-ratio: 4 / 5;
		margin: 0 !important;
		scroll-snap-align: start;
	}
	.dw-gallery .wp-block-gallery.dw-gallery__grid figure.wp-block-image img { height: 100% !important; }
}

/* --- powiększenie (okno na cały ekran) --- */
html.dw-lb-open, html.dw-lb-open body { overflow: hidden; }
.dw-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 10, 12, .94);
	opacity: 0;
	transition: opacity .25s ease;
}
.dw-lb[hidden] { display: none; }
.dw-lb.is-open { opacity: 1; }
.dw-lb__fig { margin: 0; max-width: 92vw; max-height: 86vh; text-align: center; }
.dw-lb__img {
	display: block;
	max-width: 92vw;
	max-height: 80vh;
	width: auto;
	height: auto;
	margin: 0 auto;
	border-radius: 14px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .6);
	opacity: 0;
	transition: opacity .3s ease;
}
.dw-lb__img.is-loaded { opacity: 1; }
.dw-lb__count {
	margin-top: 14px;
	font-family: var(--dw-body);
	font-size: 13px;
	letter-spacing: .12em;
	color: rgba(245, 239, 228, .7);
}
.dw-lb button {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(237, 192, 87, .5) !important;
	border-radius: 50% !important;
	background: rgba(28, 27, 25, .7);
	color: var(--dw-cream);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.dw-lb button:hover, .dw-lb button:focus-visible { background: var(--dw-gold); color: #15110b; }
.dw-lb__close { top: 18px; right: 18px; }
.dw-lb__prev { left: 18px; top: 50%; transform: translateY(-50%); }
.dw-lb__next { right: 18px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
	.dw-lb button { width: 44px; height: 44px; font-size: 26px; }
	.dw-lb__prev, .dw-lb__next { top: auto; bottom: 22px; transform: none; }
	.dw-lb__prev { left: calc(50% - 56px); }
	.dw-lb__next { right: calc(50% - 56px); }
}

/* --- ruchomy pasek zdjęć --- */
.dw-marquee {
	background: var(--dw-bg-glow);
	margin: 0 !important;
	padding: 0 0 clamp(44px, 4.5vw, 64px);
	overflow: hidden;
}
.dw-marquee .wp-block-gallery.dw-marquee__gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;
	overflow: hidden;
	margin: 0 !important;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.dw-marquee .dw-marquee__track {
	display: flex;
	gap: 14px;
	width: max-content;
}
.dw-marquee .is-moving .dw-marquee__track {
	animation: dw-marquee var(--dw-mq-dur, 40s) linear infinite;
}
.dw-marquee .dw-marquee__gallery:hover .dw-marquee__track { animation-play-state: paused; }
.dw-marquee .dw-marquee__gallery.is-static { overflow-x: auto; }
@keyframes dw-marquee { to { transform: translateX(calc(-50% - 7px)); } }
.dw-marquee .wp-block-gallery.dw-marquee__gallery figure.wp-block-image:not(#individual-image) {
	flex: 0 0 auto !important;
	width: auto !important;
	height: clamp(150px, 17vw, 230px);
	margin: 0 !important;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid rgba(237, 192, 87, .22);
}
.dw-marquee .wp-block-gallery.dw-marquee__gallery figure.wp-block-image img {
	display: block;
	width: auto !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
}
.dw-marquee .dw-marquee__gallery figure.wp-block-image figcaption { display: none; }
@media (prefers-reduced-motion: reduce) {
	.dw-marquee .dw-marquee__track { animation: none !important; }
}

/* pojawianie przy przewijaniu */
html.dw-js :is(.dw-gallery .dw-section-head, .dw-gallery__grid):not(.is-inview) {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
}
html.dw-js :is(.dw-gallery .dw-section-head, .dw-gallery__grid) {
	transition: opacity .8s ease, transform .9s cubic-bezier(.22, .8, .3, 1);
}
html.dw-reduce :is(.dw-gallery .dw-section-head, .dw-gallery__grid):not(.is-inview) { transform: none; }
