/*
 * 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: #0b0a08;
	--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(120% 70% at 10% -15%, rgba(237, 192, 87, .055) 0%, rgba(237, 192, 87, 0) 55%),
		radial-gradient(100% 60% at 105% 115%, rgba(237, 192, 87, .04) 0%, rgba(237, 192, 87, 0) 55%),
		var(--dw-bg);          /* tło sekcji: czerń + bardzo subtelna złota poświata w rogach */
	--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(11, 10, 8, .70) 0%, rgba(11, 10, 8, 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(11, 10, 8, .88) 0%, rgba(11, 10, 8, .45) 34%, rgba(11, 10, 8, 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(11, 10, 8, .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(11, 10, 8, .28) 0%, rgba(11, 10, 8, .5) 55%, rgba(11, 10, 8, .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(11, 10, 8, .9) 0%, rgba(11, 10, 8, .45) 34%, rgba(11, 10, 8, 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;
		transform: none !important;
		will-change: auto;
	}
	.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: 0;
	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: kaligrafia jak „DJ Wouzek” pod nagłówkiem starej strony */
.dw-footer .dw-footer__logo {
	font-family: var(--dw-script);
	font-weight: 700;
	font-size: 34px;
	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(11, 10, 8, .82) 0%, rgba(11, 10, 8, .6) 45%, rgba(11, 10, 8, .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: #171614;
	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: #0b0a08;
		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(11, 10, 8, 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(11, 10, 8, 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;
	}
	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;
	}
}


/* =====================================================================
 * 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) ---------- */
.dw-menu .wp-block-navigation-item.has-child {
	display: grid;
	grid-template-rows: auto 0fr;
	transition: grid-template-rows .35s ease;
}
.dw-menu .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	grid-row: 2;
	min-height: 0;
	overflow: hidden;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.dw-menu .wp-block-navigation-item.has-child.is-open {
	grid-template-rows: auto 1fr;
}
/* 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;
	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;
	}
}
