/* ==========================================================================
   Szablon oferty 2027 – komponenty design systemu „Róża Wiatrów”.

   Źródło wartości: tokens.json i components/bundle.css design systemu.
   Kolory przez zmienne --gcid-rw-* (blok „rw-tokeny” w Dodatkowym CSS),
   z wartością zapasową, gdyby blok nie był wczytany.

   Każdy selektor zaczyna się od .rw-oferta (specyficzność 0,2,0), bo reguły
   Divi typu `.et-l--body ul` (0,1,1) inaczej dokładają listom wypunktowania
   i odstępy.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Podstawy: typografia z tokenów
   -------------------------------------------------------------------------- */
.rw-oferta {
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 26px;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta p {
	margin: 0;
	padding: 0;
}
/* body podnosi specyficzność ponad Divi .et-l--body ul / ol (kropki, numery,
   odstęp 23px), które przy RUCSS WP Rocket ładują się po naszym CSS. */
body .rw-oferta ul,
body .rw-oferta ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
.rw-oferta .rw-subtitle-xl {
	font-family: Bangers, Impact, "Arial Black", sans-serif;
	font-size: 40px;
	line-height: 44px;
	font-weight: 400;
	letter-spacing: 0.03em;
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-overline {
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* --------------------------------------------------------------------------
   Przycisk (bundle.css: .rw-btn)
   -------------------------------------------------------------------------- */
.rw-oferta .rw-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 52px;
	padding: 14px 32px;
	box-sizing: border-box;
	border: 2px solid transparent;
	border-radius: 5px;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.rw-oferta .rw-btn-primary {
	background: var(--rw-gradient-brand, linear-gradient(to right, #ee212b 0%, #082c4b 100%));
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-btn-primary:hover {
	background: var(--gcid-rw-px-color-1, #ee212b);
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-btn-outline {
	background: transparent;
	color: var(--gcid-rw-ink, #082c4b);
	border-color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-btn-outline:hover {
	background: var(--gcid-rw-px-color-1, #ee212b);
	border-color: var(--gcid-rw-px-color-1, #ee212b);
	color: var(--gcid-rw-on-brand, #fff);
}

/* --------------------------------------------------------------------------
   Odznaka (bundle.css: .rw-badge)
   -------------------------------------------------------------------------- */
.rw-oferta .rw-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 4px;
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.rw-oferta .rw-badge-brand {
	background: var(--gcid-rw-px-color-1, #ee212b);
	color: var(--gcid-rw-on-brand, #fff);
}

/* Ikony: kolor z tekstu, nie kurczą się w układzie flex. */
.rw-oferta .rw-ikona {
	flex: none;
	display: inline-block;
	vertical-align: middle;
}

/* --------------------------------------------------------------------------
   Okruszki – pas surface-alt pod menu
   -------------------------------------------------------------------------- */
body .rw-okruszki ol {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 16px 0;
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-okruszki li + li::before {
	content: "/";
	margin-right: 8px;
}
.rw-okruszki a {
	color: var(--gcid-rw-link, #082c4b);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.rw-okruszki a:hover {
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-okruszki [aria-current="page"] {
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}

/* --------------------------------------------------------------------------
   Hero na granacie
   Siatka: przełącznik i treść w lewej kolumnie, media po prawej.
   -------------------------------------------------------------------------- */
.rw-oferta-hero {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-areas:
		"przelacznik media"
		"tresc media";
	grid-template-rows: auto 1fr;
	gap: 24px 64px;
	align-items: start;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta-hero .rw-przelacznik {
	grid-area: przelacznik;
}
.rw-oferta-hero__tresc {
	grid-area: tresc;
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}
.rw-oferta-hero__media {
	grid-area: media;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

/* Przełącznik Narty / Snowboard: obrys on-brand, aktywny surface + ink. */
.rw-oferta .rw-przelacznik {
	justify-self: start;
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	border: 2px solid var(--gcid-rw-on-brand, #fff);
	border-radius: 5px;
}
.rw-oferta .rw-przelacznik__opcja {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 4px;
	font-size: 16px;
	line-height: 26px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--gcid-rw-on-brand, #fff);
	background: transparent;
	transition: background 0.2s ease, color 0.2s ease;
}
.rw-oferta .rw-przelacznik__opcja:hover {
	background: rgba(255, 255, 255, 0.12);
}
.rw-oferta .rw-przelacznik__opcja.is-aktywny {
	background: var(--gcid-rw-surface, #fff);
	color: var(--gcid-rw-ink, #082c4b);
}

/* Podtytuł + jeden H1 z dopiskiem w tym samym nagłówku. */
.rw-oferta-hero__naglowek {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta .rw-oferta-hero__h1 {
	margin: 0;
	padding: 0;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 48px;
	line-height: 56px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: var(--gcid-rw-on-brand, #fff);
	text-wrap: balance;
}
.rw-oferta .rw-oferta-hero__h1 span {
	display: block;
	margin-top: 8px;
	font-size: 20px;
	line-height: 32px;
	font-weight: 300;
	letter-spacing: 0;
}
.rw-oferta .rw-oferta-hero__lead {
	max-width: 60ch;
	font-size: 20px;
	line-height: 32px;
	font-weight: 300;
	color: var(--gcid-rw-on-brand, #fff);
}

/* Karta ceny: surface-raised, radius-md, shadow-lift. */
.rw-oferta .rw-cena {
	max-width: 580px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background: var(--gcid-rw-surface-raised, #fff);
	color: var(--gcid-rw-ink, #082c4b);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
}
.rw-oferta .rw-cena__wiersz {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
}
.rw-oferta .rw-cena__kwota {
	font-size: 48px;
	line-height: 56px;
	font-weight: 900;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.rw-oferta .rw-cena__regularna {
	color: var(--gcid-rw-ink-muted, #4b6177);
	white-space: nowrap;
}
.rw-oferta .rw-cena__oplaty {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-cena__nota {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-cena__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 4px;
}

/* Znaki zaufania. */
.rw-oferta .rw-zaufanie {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	font-size: 14px;
	line-height: 22px;
	font-weight: 700;
}
.rw-oferta .rw-zaufanie li,
.rw-oferta .rw-zaufanie a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-zaufanie a {
	min-height: 44px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.rw-oferta .rw-zaufanie .rw-ikona {
	color: var(--gcid-rw-px-color-1, #ee212b);
}

/* Zdjęcie hero, miniatury, kafel galerii. */
.rw-oferta .rw-oferta-hero__foto {
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
}
.rw-oferta .rw-oferta-hero__foto img,
.rw-oferta .rw-oferta-hero__miniatura img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
.rw-oferta .rw-oferta-hero__miniatury {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.rw-oferta .rw-oferta-hero__miniatura {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
}
.rw-oferta .rw-oferta-hero__galeria {
	aspect-ratio: 4 / 3;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 2px solid var(--gcid-rw-on-brand, #fff);
	border-radius: 8px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-oferta-hero__galeria span {
	font-size: 14px;
	line-height: 22px;
	font-weight: 400;
}
.rw-oferta .rw-oferta-hero__galeria:hover {
	background: rgba(255, 255, 255, 0.12);
}

/* --------------------------------------------------------------------------
   Telefon: przełącznik → zdjęcie → treść, H1 w rozmiarze h2.
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   Odznaki navy i warning, przycisk sm (bundle.css)
   -------------------------------------------------------------------------- */
.rw-oferta .rw-badge-navy {
	background: var(--gcid-rw-px-color-2, #082c4b);
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-badge-warning {
	background: var(--gcid-rw-warning-soft, #fdf0dc);
	color: var(--gcid-rw-warning, #8a4b00);
}
.rw-oferta .rw-btn-sm {
	min-height: 40px;
	padding: 8px 24px;
	font-size: 14px;
	line-height: 20px;
}

/* --------------------------------------------------------------------------
   Dwie kolumny: treść + panel „Wybrany turnus” (wiersz TB z klasami
   rw-oferta-uklad / rw-oferta-kol-tresc / rw-oferta-kol-panel).
   Panel jest sticky – żaden kontener nad nim nie może mieć overflow.
   -------------------------------------------------------------------------- */
/* Skrypt animacji Divi wpisuje inline `overflow-y: hidden` w #page-container,
   gdy na stronie jest jakakolwiek animacja – to zamienia kontener w obszar
   przewijania i sticky przestaje działać. Poziomy nadmiar dalej ucina body. */
body.rw-oferta-2027 #page-container {
	overflow: visible !important;
}
@media (min-width: 981px) {
	.et_pb_row.rw-oferta-uklad {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 0 56px !important;
		overflow: visible;
	}
	.et_pb_row.rw-oferta-uklad > .rw-oferta-kol-tresc {
		flex: 999 1 640px !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0;
		margin: 0 !important;
	}
	.et_pb_row.rw-oferta-uklad > .rw-oferta-kol-panel {
		flex: 0 0 340px !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		position: sticky;
		top: 24px;
		align-self: flex-start;
		padding: 48px 0 32px;
	}
}
@media (max-width: 980px) {
	/* Na telefonie i tablecie cenę trzyma przyklejony pasek (etap 3e). */
	.et_pb_row.rw-oferta-uklad > .rw-oferta-kol-panel {
		display: none !important;
	}
	/* Divi daje kolumnom z-index: 2, a kolumna sekcji Inne zimowiska (dalej w DOM)
	   przykrywała pasek z ceną (position: fixed) z kolumny treści. */
	body.rw-oferta-2027 .et_pb_row.rw-oferta-uklad > .rw-oferta-kol-tresc {
		z-index: 3;
	}
	/* Przycisk Divi do góry (style.css motywu: bottom 20px) 20 px nad paskiem z ceną;
	   wysokość widocznego paska (0, gdy schowany) podaje oferta.js. */
	body.rw-oferta-2027 .et_pb_scroll_top {
		bottom: calc(var(--rw-pasek-wysokosc, 0px) + 20px);
	}
}

/* --------------------------------------------------------------------------
   Sekcja treści i nagłówek sekcji (bundle.css: .rw-section-title)
   -------------------------------------------------------------------------- */
.rw-oferta.rw-sekcja {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 48px 0;
	border-top: 1px solid var(--gcid-rw-line, #d5dee7);
}
.rw-oferta.rw-sekcja--najwazniejsze {
	border-top: 0;
}
/* W skrócie nad W pigułce (answer first): odstęp od hero, bez obrysu i bez dolnego odstępu. */
.rw-oferta.rw-sekcja--skrot {
	padding-bottom: 0;
	border-top: 0;
}
.rw-oferta .rw-section-title {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta .rw-subtitle {
	font-family: Bangers, Impact, "Arial Black", sans-serif;
	font-size: 28px;
	line-height: 32px;
	font-weight: 400;
	letter-spacing: 0.03em;
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-title {
	margin: 0;
	padding: 0;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 36px;
	line-height: 44px;
	font-weight: 900;
	color: var(--gcid-rw-ink, #082c4b);
	text-wrap: balance;
}
.rw-oferta .rw-section-lead {
	margin: 8px 0 0;
	max-width: 60ch;
	font-size: 20px;
	line-height: 32px;
	font-weight: 300;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta h3 {
	margin: 0;
	padding: 0;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	color: var(--gcid-rw-ink, #082c4b);
}

/* Karta: tło, obrys, cień w spoczynku (Card z design systemu). */
.rw-oferta .rw-kafel,
.rw-oferta .rw-osrodek {
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
}
.rw-oferta .rw-kafel .rw-ikona,
.rw-oferta .rw-akordeon .rw-ikona,
.rw-oferta .rw-os-dnia .rw-ikona,
.rw-oferta .rw-bezpieczenstwo .rw-ikona,
.rw-oferta .rw-panel__lista .rw-ikona {
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-kafel__opis,
.rw-oferta .rw-akordeon__glowa span,
.rw-oferta .rw-os-dnia span,
.rw-oferta .rw-bezpieczenstwo li span span,
.rw-oferta .rw-osrodek__liczby span {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* 1. Najważniejsze informacje */
.rw-oferta .rw-kafle {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-kafel {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
}
.rw-oferta .rw-kafel__haslo {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}

/* 2. W skrócie */
.rw-oferta .rw-skrot {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px 32px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 16px;
}
.rw-oferta .rw-skrot__glowa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}
.rw-oferta .rw-skrot__tytul {
	margin: 0;
	padding: 0;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}

/* 5. Program – akordeon */
.rw-oferta .rw-akordeony {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
	align-items: start;
}
.rw-oferta .rw-akordeon {
	padding: 16px 24px;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta .rw-akordeon summary {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 44px;
	cursor: pointer;
	list-style: none;
}
.rw-oferta .rw-akordeon summary::-webkit-details-marker {
	display: none;
}
.rw-oferta .rw-akordeon__glowa {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.rw-oferta .rw-akordeon h3 {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
/* Strzałka rysowana obrysem – bez czcionki ikon. */
.rw-oferta .rw-akordeon__strzalka {
	flex: none;
	width: 10px;
	height: 10px;
	margin: 0 4px 4px;
	border-right: 2.5px solid var(--gcid-rw-ink, #082c4b);
	border-bottom: 2.5px solid var(--gcid-rw-ink, #082c4b);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.rw-oferta .rw-akordeon[open] .rw-akordeon__strzalka {
	margin: 4px 4px 0;
	transform: rotate(-135deg);
}
.rw-oferta .rw-akordeon p {
	margin: 12px 0 0 48px;
}

/* 6. Jak wygląda dzień */
.rw-oferta .rw-os-dnia {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-os-dnia li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 12px;
	border-top: 3px solid var(--gcid-rw-px-color-2, #082c4b);
}
.rw-oferta .rw-os-dnia strong {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}

/* 7. Gdzie jeździmy */
.rw-oferta .rw-osrodki {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}
.rw-oferta .rw-osrodek {
	overflow: hidden;
}
.rw-oferta .rw-osrodek__foto img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.rw-oferta .rw-osrodek__tresc {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
}
.rw-oferta .rw-osrodek__glowa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.rw-oferta .rw-osrodek h3 {
	font-size: 28px;
	line-height: 36px;
	font-weight: 700;
}
.rw-oferta .rw-osrodek__liczby {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	text-align: center;
}
.rw-oferta .rw-osrodek__liczby li {
	padding: 12px 4px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 4px;
}
.rw-oferta .rw-osrodek__liczby strong {
	display: block;
	font-size: 28px;
	line-height: 36px;
	font-weight: 700;
}
.rw-oferta .rw-osrodek__slowo strong {
	font-size: 20px;
}

/* 8. Bezpieczeństwo i opieka */
.rw-oferta .rw-bezpieczenstwo {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 12px;
}
.rw-oferta .rw-bezpieczenstwo li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 8px;
}
.rw-oferta .rw-bezpieczenstwo strong {
	display: block;
	font-weight: 700;
}

/* Przypis pod tabelą / listą */
.rw-oferta .rw-przypis {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* Tabela danych: prawdziwy <table> w ramce z przewijaniem w poziomie.
   Tylko nasze tabele – stara tabela turnusów (.variations-table) ma własny CSS. */
.rw-oferta .rw-tabela {
	overflow-x: auto;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 26px;
}
.rw-oferta .rw-tabela table {
	min-width: 460px;
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) caption {
	padding: 12px 16px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	font-weight: 700;
	text-align: left;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) th,
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) td {
	padding: 8px 16px;
	border: 0;
	border-bottom: 1px solid var(--gcid-rw-line, #d5dee7);
	color: var(--gcid-rw-ink, #082c4b);
	text-align: center;
	vertical-align: middle;
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) thead th {
	padding-top: 12px;
	padding-bottom: 12px;
	font-weight: 700;
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) thead th:first-child {
	text-align: left;
	font-size: 14px;
	font-weight: 400;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) tbody th {
	font-weight: 400;
	text-align: left;
}
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) tbody tr:last-child th,
.rw-oferta :is(.rw-tabela, .rw-karta-tabela) tbody tr:last-child td {
	border-bottom: 0;
}
.rw-oferta td.rw-tak,
.rw-oferta .rw-tabela__suma td,
.rw-oferta tbody tr.rw-tabela__suma th {
	font-weight: 700;
}
.rw-oferta td.rw-nie {
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* 9. Zakwaterowanie */
.rw-oferta .rw-pensjonaty {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-pensjonat {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
}
.rw-oferta .rw-pensjonat__foto img {
	display: block;
	width: 104px;
	height: 104px;
	object-fit: cover;
	border-radius: 4px;
}
.rw-oferta .rw-pensjonat h3,
.rw-oferta .rw-cena-listy h3,
.rw-oferta .rw-dokumenty h3 {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-pensjonat__opis {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-pensjonat__cena {
	margin-top: 4px;
	font-weight: 700;
}
.rw-oferta .rw-pensjonat a,
.rw-oferta .rw-dokumenty a {
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}

/* 10. Wyżywienie */
.rw-oferta .rw-posilki {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
}
.rw-oferta .rw-posilki li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta .rw-posilki .rw-ikona,
.rw-oferta .rw-dokumenty .rw-ikona,
.rw-oferta .rw-karta-tabela__nota .rw-ikona {
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-posilki strong {
	display: block;
	font-weight: 700;
}
.rw-oferta .rw-posilki li span span {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* 12. W cenie / płatne dodatkowo */
.rw-oferta .rw-cena-listy {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	align-items: start;
}
.rw-oferta .rw-cena-listy > div {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: 8px;
}
.rw-oferta .rw-cena-listy__w-cenie {
	background: var(--gcid-rw-surface-alt, #f2f5f8);
}
.rw-oferta .rw-cena-listy__platne {
	border: 1px solid var(--gcid-rw-line, #d5dee7);
}
.rw-oferta .rw-cena-listy ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta .rw-cena-listy li {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.rw-oferta .rw-cena-listy .rw-ptaszek {
	transform: rotate(45deg) translateY(-2px);
}
.rw-oferta .rw-plus {
	flex: none;
	width: 16px;
	font-weight: 900;
	text-align: center;
	color: var(--gcid-rw-px-color-1, #ee212b);
}

/* 13. Sprzęt i dokumenty */
.rw-oferta .rw-sprzet {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	align-items: start;
}
.rw-oferta .rw-karta-tabela,
.rw-oferta .rw-dokumenty {
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	overflow: hidden;
}
.rw-oferta .rw-karta-tabela caption {
	padding: 16px;
	background: none;
	font-size: 20px;
	line-height: 28px;
}
.rw-oferta .rw-karta-tabela caption span {
	display: block;
	font-size: 14px;
	line-height: 22px;
	font-weight: 400;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-karta-tabela th,
.rw-oferta .rw-karta-tabela td {
	border-bottom: 0;
	border-top: 1px solid var(--gcid-rw-line, #d5dee7);
}
.rw-oferta .rw-karta-tabela td {
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}
.rw-oferta .rw-karta-tabela__nota {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-dokumenty {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
}
.rw-oferta .rw-dokumenty ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rw-oferta .rw-dokumenty li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

/* 15. FAQ – lista z [roza_faq] (mu-plugin) w kartach jak akordeon programu.
   Nadpisuje faq.css tylko wewnątrz sekcji szablonu 2027. */
.rw-oferta.rw-sekcja--faq .roza-faq__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta.rw-sekcja--faq .roza-faq__item,
.rw-oferta.rw-sekcja--faq .roza-faq__item:first-child,
.rw-oferta.rw-sekcja--faq .roza-faq__item:last-child {
	margin: 0;
	padding: 16px 24px;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	background: var(--gcid-rw-surface-raised, #fff);
}
.rw-oferta.rw-sekcja--faq .roza-faq__question {
	margin: 0;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta.rw-sekcja--faq .roza-faq__answer {
	margin: 8px 0 0;
	padding: 0;
	border: 0;
}
.rw-oferta.rw-sekcja--faq .roza-faq__answer div p,
.rw-oferta.rw-sekcja--faq .roza-faq__answer div li {
	font-size: 16px;
	line-height: 26px;
	color: var(--gcid-rw-ink, #082c4b);
}

/* --------------------------------------------------------------------------
   16. Strefa szczegółów, 17. Organizator, Inne zimowiska
   -------------------------------------------------------------------------- */
.rw-oferta .rw-btn-ghost {
	background: transparent;
	color: var(--gcid-rw-accent-text, #c8121b);
	padding-left: 12px;
	padding-right: 12px;
}
.rw-oferta .rw-btn-ghost:hover {
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.rw-oferta .rw-dwie-kolumny {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}
.rw-oferta .rw-dwie-kolumny > div {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rw-oferta .rw-dwie-kolumny h3,
.rw-oferta .rw-karty-3 h3,
.rw-oferta .rw-opcje h3,
.rw-oferta .rw-kroki h3,
.rw-oferta .rw-organizator__tytul {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-lista-ptaszki,
.rw-oferta .rw-lista-numery {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta .rw-lista-ptaszki li,
.rw-oferta .rw-lista-numery li {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.rw-oferta .rw-lista-ptaszki .rw-ptaszek {
	transform: rotate(45deg) translateY(-2px);
}
/* Numer w kółku – kroki i „Dlaczego warto”. */
.rw-oferta .rw-numer {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gcid-rw-px-color-2, #082c4b);
	color: var(--gcid-rw-on-brand, #fff);
	font-size: 14px;
	line-height: 1;
	font-weight: 900;
}
.rw-oferta .rw-karty-3,
.rw-oferta .rw-kroki {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-karty-3 li,
.rw-oferta .rw-kroki li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta .rw-karty-3 .rw-ikona,
.rw-oferta .rw-opcje .rw-ikona,
.rw-oferta .rw-formalnosci .rw-ikona,
.rw-oferta .rw-lokalizacja .rw-ikona {
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-karty-3 p,
.rw-oferta .rw-kroki p,
.rw-oferta .rw-opcje p,
.rw-oferta .rw-formalnosci p {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-opcje {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-opcje li,
.rw-oferta .rw-formalnosci li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta .rw-opcje li > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rw-oferta .rw-opcja__cena {
	font-weight: 700;
}
.rw-oferta .rw-opcje a,
.rw-oferta .rw-linki a,
.rw-oferta .rw-lokalizacja li a {
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-oferta .rw-formalnosci {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
}
.rw-oferta .rw-formalnosci li {
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border: 0;
}
.rw-oferta .rw-formalnosci h3 {
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
}
.rw-oferta .rw-linki {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}
.rw-oferta .rw-lokalizacja {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	align-items: start;
}
.rw-oferta .rw-lokalizacja__mapa {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 240px;
	padding: 24px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 8px;
	color: var(--gcid-rw-ink, #082c4b);
	text-align: center;
	text-decoration: none;
}
.rw-oferta .rw-lokalizacja__mapa span {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-lokalizacja ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rw-oferta .rw-lokalizacja li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.rw-oferta .rw-lokalizacja li > span {
	display: flex;
	flex-direction: column;
}
.rw-oferta .rw-lokalizacja li span span {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-lokalizacja li a {
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-porownanie th.rw-ta-oferta span {
	display: block;
	font-size: 12px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-oferta .rw-porownanie td.rw-ta-oferta {
	font-weight: 700;
}
.rw-oferta .rw-porownanie td a {
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-oferta .rw-organizator {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 32px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 16px;
}
.rw-oferta .rw-organizator > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.rw-oferta .rw-organizator__tytul {
	margin: 0;
	padding: 0;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-organizator__qa span {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}

/* Inne zimowiska – sekcja na pełną szerokość (Divi: preset Sekcja surface-alt). */
.rw-oferta.rw-sekcja--inne {
	padding: 0;
	border-top: 0;
}
.rw-oferta .rw-karty-ofert {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 32px;
}
.rw-oferta .rw-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
	color: inherit;
	text-decoration: none;
	transition: box-shadow 0.2s ease;
}
.rw-oferta .rw-card:hover {
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
}
.rw-oferta .rw-card-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--gcid-rw-px-color-2, #082c4b);
}
.rw-oferta .rw-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
}
.rw-oferta .rw-card-eyebrow {
	font-family: Bangers, Impact, "Arial Black", sans-serif;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 0.04em;
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-oferta .rw-card-title {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-card-text {
	color: var(--gcid-rw-ink-muted, #4b6177);
}
@media (max-width: 767px) {
	.rw-oferta .rw-karty-3 li,
	.rw-oferta .rw-kroki li,
	.rw-oferta .rw-organizator {
		padding: 16px;
	}
	.rw-oferta .rw-akcje .rw-btn {
		flex: 1 1 100%;
	}
}
/* 4 kroki zapisu w jednym rzędzie na desktopie. */
.rw-oferta .rw-kroki {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

/* --------------------------------------------------------------------------
   Mobile: strefa szczegółów jako akordeon (<details>), pasek z ceną
   -------------------------------------------------------------------------- */
.rw-oferta.rw-sekcja.rw-zwijana {
	display: block;
}
.rw-oferta.rw-sekcja.rw-zwijana > summary {
	display: flex;
	align-items: center;
	gap: 12px;
	list-style: none;
	cursor: default;
}
.rw-oferta.rw-sekcja.rw-zwijana > summary::-webkit-details-marker {
	display: none;
}
.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-section-title {
	flex: 1;
	min-width: 0;
}
.rw-oferta .rw-zwijana__podpowiedz,
.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-akordeon__strzalka {
	display: none;
}
.rw-oferta .rw-zwijana__tresc {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 24px;
}
.rw-oferta .rw-zwijana__tresc > .rw-section-lead {
	margin: -16px 0 0;
}
.rw-oferta.rw-pasek {
	display: none;
}
@media (max-width: 767px) {
	.rw-oferta.rw-sekcja.rw-zwijana {
		margin-top: 8px;
		padding: 0;
		border: 1px solid var(--gcid-rw-line, #d5dee7);
		border-radius: 8px;
	}
	.rw-oferta.rw-sekcja.rw-zwijana > summary {
		min-height: 56px;
		padding: 12px 16px;
		cursor: pointer;
	}
	.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-subtitle {
		display: none;
	}
	.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-title,
	.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-skrot__tytul {
		font-size: 16px;
		line-height: 26px;
		font-weight: 700;
	}
	.rw-oferta .rw-zwijana__podpowiedz {
		display: block;
		flex: none;
		max-width: 45%;
		font-size: 14px;
		line-height: 22px;
		text-align: right;
		color: var(--gcid-rw-ink-muted, #4b6177);
	}
	.rw-oferta.rw-sekcja.rw-zwijana > summary .rw-akordeon__strzalka {
		display: block;
	}
	.rw-oferta.rw-sekcja.rw-zwijana[open] > summary .rw-akordeon__strzalka {
		margin: 4px 4px 0;
		transform: rotate(-135deg);
	}
	.rw-oferta .rw-zwijana__tresc {
		margin: 0;
		padding: 0 16px 16px;
	}
	.rw-oferta .rw-zwijana__tresc > .rw-section-lead {
		margin: 0;
	}
}
@media (max-width: 980px) {
	/* Miejsce na pasek pod stopką – co najmniej wysokość paska (~93 px). */
	body.rw-oferta-2027 {
		padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
	}
	.rw-oferta.rw-pasek {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 990;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 8px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		background: var(--gcid-rw-surface, #fff);
		border-top: 1px solid var(--gcid-rw-line, #d5dee7);
		box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
		transition: transform 0.2s ease;
	}
	.rw-oferta.rw-pasek.is-ukryty {
		transform: translateY(110%);
	}
	.rw-oferta .rw-pasek__cena {
		flex: 1;
		min-width: 0;
		display: flex;
		flex-direction: column;
	}
	.rw-oferta .rw-pasek__cena span {
		font-size: 14px;
		line-height: 22px;
		color: var(--gcid-rw-ink-muted, #4b6177);
	}
	.rw-oferta .rw-pasek__cena strong {
		font-size: 20px;
		line-height: 28px;
		font-weight: 700;
	}
	.rw-oferta.rw-pasek .rw-btn {
		flex: none;
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* --------------------------------------------------------------------------
   Etap 4: karty turnusów, kalkulator pełnego kosztu, Dojazd, rezerwacja
   -------------------------------------------------------------------------- */
.rw-oferta .rw-turnusy {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-turnus {
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	box-sizing: border-box;
	padding: 24px;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 2px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
}
.rw-oferta .rw-turnus.is-wybrany {
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-turnus .rw-badge {
	align-self: flex-start;
}
.rw-oferta .rw-turnus__daty {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-turnus__woj,
.rw-oferta .rw-turnus__minal {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-turnus__cena {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}
.rw-oferta .rw-turnus__cena strong {
	font-size: 28px;
	line-height: 36px;
	font-weight: 700;
	white-space: nowrap;
}
.rw-oferta .rw-turnus__cena del {
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
	white-space: nowrap;
}
.rw-oferta .rw-turnus__miejsca {
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-turnus__akcje {
	margin-top: auto;
	padding-top: 8px;
}
/* Wybrana karta rezerwuje, pozostałe tylko wybierają (plansza Main). */
.rw-oferta .rw-turnus:not(.is-wybrany) .rw-turnus__rezerwuj,
.rw-oferta .rw-turnus.is-wybrany .rw-turnus__wybierz {
	display: none;
}
.rw-oferta .rw-turnus.is-nieaktywny {
	box-shadow: none;
	opacity: 0.7;
}
.rw-oferta .rw-turnus__zapytaj,
.rw-oferta .rw-kalkulator__turnus a {
	font-size: 14px;
	line-height: 22px;
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}

/* Kalkulator: wybory na jasnej karcie, wynik na granacie. */
.rw-oferta .rw-kalkulator {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 24px;
}
.rw-oferta .rw-kalkulator__wybor,
.rw-oferta .rw-kalkulator__wynik {
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-sizing: border-box;
	margin: 0;
	padding: 24px;
	border-radius: 8px;
}
.rw-oferta .rw-kalkulator__wybor {
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
}
.rw-oferta .rw-kalkulator__turnus {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rw-oferta .rw-kalkulator__daty {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-kalkulator__wybor label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-kalkulator__wybor select {
	width: 100%;
	min-height: 48px;
	padding: 0 12px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border: 1px solid var(--gcid-rw-line-strong, #728599);
	border-radius: 4px;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-kalkulator__wynik {
	background: var(--gcid-rw-px-color-2, #082c4b);
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-kalkulator__wynik .rw-overline {
	margin-bottom: 8px;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-kalkulator__wynik dl {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	margin: 0;
}
.rw-oferta .rw-kalkulator__wynik dt,
.rw-oferta .rw-kalkulator__wynik dd {
	margin: 0;
	padding: 0;
	font-weight: 400;
	color: inherit;
}
.rw-oferta .rw-kalkulator__wynik dd {
	text-align: right;
	white-space: nowrap;
}
.rw-oferta .rw-kalkulator__suma,
.rw-oferta .rw-kalkulator__suma-euro {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-weight: 700;
}
.rw-oferta .rw-kalkulator__suma {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-kalkulator__suma strong {
	font-size: 36px;
	line-height: 44px;
	font-weight: 900;
	white-space: nowrap;
}
.rw-oferta .rw-kalkulator__euro {
	padding: 16px;
	border: 1px solid var(--gcid-rw-ink-muted, #4b6177);
	border-radius: 4px;
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-kalkulator__suma-euro {
	margin-top: 8px;
	font-size: 16px;
	line-height: 26px;
}
.rw-oferta .rw-kalkulator__wynik p {
	color: inherit;
}
.rw-oferta .rw-kalkulator__wynik :focus-visible {
	outline-color: var(--gcid-rw-on-brand, #fff);
}

/* 11. Dojazd – miasta z ceną w obie strony */
.rw-oferta .rw-miasta__tytul {
	margin-top: 8px;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
}
.rw-oferta .rw-miasta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rw-oferta .rw-miasta li {
	padding: 8px 12px;
	border: 1px solid var(--gcid-rw-line-strong, #728599);
	border-radius: 4px;
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-miasta--pewne li {
	background: var(--gcid-rw-px-color-2, #082c4b);
	border-color: var(--gcid-rw-px-color-2, #082c4b);
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-przypis a {
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}

/* --------------------------------------------------------------------------
   Panel boczny „Wybrany turnus”
   -------------------------------------------------------------------------- */
.rw-oferta.rw-panel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
}
.rw-oferta .rw-panel__daty {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-panel__ferie,
.rw-oferta .rw-panel__oplaty,
.rw-oferta .rw-panel__miejsca,
.rw-oferta .rw-panel__lista {
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-panel__ferie {
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-panel__cena {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}
.rw-oferta .rw-panel__kwota {
	font-size: 48px;
	line-height: 56px;
	font-weight: 900;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.rw-oferta .rw-panel__cena .rw-cena__regularna {
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta.rw-panel .rw-btn {
	width: 100%;
	padding-left: 16px;
	padding-right: 16px;
}
.rw-oferta .rw-panel__lista {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid var(--gcid-rw-line, #d5dee7);
}
.rw-oferta .rw-panel__lista li {
	display: flex;
	align-items: center;
	gap: 8px;
}
.rw-oferta .rw-panel__lista a {
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}
/* Ptaszek „success” rysowany obrysem – bez czcionki ikon. */
.rw-oferta .rw-ptaszek {
	flex: none;
	width: 6px;
	height: 11px;
	margin: 0 5px 3px;
	border-right: 2.5px solid var(--gcid-rw-success, #1c6e48);
	border-bottom: 2.5px solid var(--gcid-rw-success, #1c6e48);
	transform: rotate(45deg);
}

@media (max-width: 980px) {
	.rw-oferta-hero {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"przelacznik"
			"media"
			"tresc";
		grid-template-rows: auto;
		gap: 24px;
	}
}
@media (max-width: 767px) {
	.rw-oferta .rw-przelacznik {
		justify-self: stretch;
		display: flex;
	}
	.rw-oferta .rw-przelacznik__opcja {
		flex: 1 1 0;
		justify-content: center;
		padding: 0 12px;
	}
	.rw-oferta .rw-subtitle-xl {
		font-size: 28px;
		line-height: 32px;
	}
	.rw-oferta .rw-oferta-hero__h1 {
		font-size: 36px;
		line-height: 44px;
	}
	.rw-oferta .rw-cena__kwota {
		font-size: 36px;
		line-height: 44px;
	}
	.rw-oferta .rw-cena__akcje .rw-btn {
		flex: 1 1 100%;
	}
	.rw-oferta .rw-oferta-hero__miniatura {
		display: none;
	}
	.rw-oferta .rw-oferta-hero__miniatury {
		grid-template-columns: minmax(0, 1fr);
	}
	.rw-oferta .rw-oferta-hero__galeria {
		aspect-ratio: auto;
		min-height: 48px;
		flex-direction: row;
		gap: 8px;
	}
}
@media (max-width: 767px) {
	.rw-oferta.rw-sekcja {
		padding: 32px 0;
	}
	.rw-oferta.rw-sekcja--skrot {
		padding-bottom: 0;
	}
	.rw-oferta .rw-title {
		font-size: 28px;
		line-height: 36px;
	}
	.rw-oferta .rw-section-lead {
		font-size: 16px;
		line-height: 26px;
	}
	/* Kafle i oś dnia w dwóch kolumnach (plansza Mobile). */
	.rw-oferta .rw-kafle,
	.rw-oferta .rw-os-dnia {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.rw-oferta .rw-kafel,
	.rw-oferta .rw-skrot {
		padding: 16px;
	}
	.rw-oferta .rw-akordeon {
		padding: 12px 16px;
	}
	.rw-oferta .rw-akordeon p {
		margin-left: 0;
	}
	.rw-oferta .rw-osrodek__liczby strong {
		font-size: 20px;
		line-height: 28px;
	}
	.rw-oferta .rw-osrodek__slowo strong {
		font-size: 16px;
	}
	.rw-oferta .rw-pensjonat__foto img {
		width: 72px;
		height: 72px;
	}
	.rw-oferta .rw-cena-listy > div,
	.rw-oferta.rw-sekcja--faq .roza-faq__item,
	.rw-oferta.rw-sekcja--faq .roza-faq__item:first-child,
	.rw-oferta.rw-sekcja--faq .roza-faq__item:last-child {
		padding: 16px;
	}
	.rw-oferta.rw-sekcja--faq .roza-faq__question {
		font-size: 18px;
		line-height: 26px;
	}
}

/* Program: zwinięte akordeony o wspólnej wysokości nagłówków (liczy oferta.js). */
.rw-oferta .rw-akordeon summary {
	min-height: var(--rw-akordeon-wysokosc, 44px);
}

/* --------------------------------------------------------------------------
   Galeria zdjęć – zdjęcia hero jako linki i lightbox <dialog>
   -------------------------------------------------------------------------- */
.rw-oferta .rw-oferta-hero__powieksz {
	display: block;
	height: 100%;
	cursor: zoom-in;
}
/* Fokus na kontenerze – overflow: hidden obciąłby obrys samego linku. */
.rw-oferta .rw-oferta-hero__foto:has(:focus-visible),
.rw-oferta .rw-oferta-hero__miniatura:has(:focus-visible) {
	outline: 2px solid var(--gcid-rw-on-brand, #fff);
	outline-offset: 2px;
}
.rw-oferta .rw-oferta-hero__powieksz:focus-visible {
	outline: none;
}
.rw-oferta .rw-oferta-hero__galeria:focus-visible {
	outline: 2px solid var(--gcid-rw-on-brand, #fff);
	outline-offset: 2px;
}
html.rw-galeria-otwarta {
	overflow: hidden;
}
.rw-oferta.rw-galeria {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 64px 80px 48px;
	border: 0;
	background: transparent;
	color: var(--gcid-rw-on-brand, #fff);
	overflow: hidden;
}
.rw-oferta.rw-galeria[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}
.rw-oferta.rw-galeria::backdrop {
	background: rgba(8, 44, 75, 0.94);
}
.rw-oferta .rw-galeria__zdjecie {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
}
.rw-oferta .rw-galeria__zdjecie img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 146px);
	max-height: calc(100dvh - 146px);
	width: auto;
	height: auto;
	border-radius: 8px;
	object-fit: contain;
}
.rw-oferta .rw-galeria__licznik {
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-galeria button {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 5px;
	background: var(--gcid-rw-surface, #fff);
	color: var(--gcid-rw-ink, #082c4b);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
.rw-oferta .rw-galeria button:hover {
	background: var(--gcid-rw-px-color-1, #ee212b);
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-galeria button:focus-visible {
	outline: 2px solid var(--gcid-rw-on-brand, #fff);
	outline-offset: 2px;
}
.rw-oferta .rw-galeria__zamknij {
	top: 8px;
	right: 16px;
}
/* Krzyżyk i strzałki rysowane obrysem – bez czcionki ikon. */
.rw-oferta .rw-galeria__zamknij span,
.rw-oferta .rw-galeria__zamknij span::after {
	position: absolute;
	width: 20px;
	height: 2.5px;
	background: currentColor;
	transform: rotate(45deg);
}
.rw-oferta .rw-galeria__zamknij span::after {
	content: "";
	left: 0;
	transform: rotate(90deg);
}
.rw-oferta .rw-galeria__nawigacja {
	top: 50%;
	margin-top: -24px;
}
.rw-oferta .rw-galeria__nawigacja--poprzednie {
	left: 16px;
}
.rw-oferta .rw-galeria__nawigacja--nastepne {
	right: 16px;
}
.rw-oferta .rw-galeria__nawigacja span {
	width: 12px;
	height: 12px;
	border-right: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
}
.rw-oferta .rw-galeria__nawigacja--poprzednie span {
	margin-left: 5px;
	transform: rotate(135deg);
}
.rw-oferta .rw-galeria__nawigacja--nastepne span {
	margin-right: 5px;
	transform: rotate(-45deg);
}
.rw-oferta.rw-galeria.is-jedno .rw-galeria__nawigacja,
.rw-oferta.rw-galeria.is-jedno .rw-galeria__licznik {
	display: none;
}
@media (max-width: 767px) {
	.rw-oferta.rw-galeria {
		padding: 64px 16px 80px;
	}
	.rw-oferta .rw-galeria__zdjecie img {
		max-height: calc(100vh - 186px);
		max-height: calc(100dvh - 186px);
	}
	/* Strzałki pod zdjęciem, przy liczniku – nie zasłaniają kadru. */
	.rw-oferta .rw-galeria__nawigacja {
		top: auto;
		bottom: 16px;
		margin-top: 0;
	}
}

/* --------------------------------------------------------------------------
   Rezerwacja – formularz 108008 na wyróżnionym tle
   Zmienne --wpforms-* (styl „modern" WPForms) ustawiamy tylko w tej sekcji,
   inne formularze w serwisie zostają bez zmian. ID formularza i pól bez zmian.
   -------------------------------------------------------------------------- */
.rw-oferta.rw-sekcja--rezerwacja {
	--wpforms-field-background-color: var(--gcid-rw-surface, #fff);
	--wpforms-field-border-color: var(--gcid-rw-line-strong, #728599);
	--wpforms-field-border-color-spare: var(--gcid-rw-line-strong, #728599);
	--wpforms-field-border-radius: 4px;
	--wpforms-field-text-color: var(--gcid-rw-ink, #082c4b);
	--wpforms-field-menu-color: var(--gcid-rw-surface, #fff);
	--wpforms-field-size-input-height: 48px;
	--wpforms-field-size-font-size: 16px;
	--wpforms-label-color: var(--gcid-rw-ink, #082c4b);
	--wpforms-label-sublabel-color: var(--gcid-rw-ink-muted, #4b6177);
	--wpforms-label-error-color: var(--gcid-rw-accent-text, #c8121b);
	--wpforms-label-size-line-height: 22px;
	--wpforms-button-background-color: var(--gcid-rw-px-color-1, #ee212b);
	--wpforms-button-border-color: var(--gcid-rw-px-color-1, #ee212b);
	--wpforms-button-text-color: var(--gcid-rw-on-brand, #fff);
	--wpforms-button-border-radius: 5px;
	--wpforms-button-size-height: 52px;
	--wpforms-button-size-font-size: 16px;
	--wpforms-button-size-padding-h: 32px;
	margin: 0 0 48px;
	padding: 48px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 16px;
}
/* Rozmiary pól WPForms wpisuje inline na #wpforms-108008 - nadpisujemy je tutaj
   (pole 48 px jak Input w design systemie). */
#formSection .wpforms-container {
	--wpforms-field-size-input-height: 48px;
	--wpforms-field-size-padding-h: 12px;
	--wpforms-field-size-font-size: 16px;
	--wpforms-field-size-line-height: 24px;
	--wpforms-label-size-font-size: 16px;
	--wpforms-label-size-line-height: 22px;
	margin: 0;
}
/* Reset WPForms (div.wpforms-container-full *) zdejmuje wersaliki ze spanu w przycisku. */
body.rw-oferta-2027 #formSection .wpforms-save-resume-button span {
	letter-spacing: inherit;
	text-transform: inherit;
}

/* Przyciski formularza w stylu design systemu: „Rezerwuj" primary,
   „Zapisz i wznów później" outline – obok siebie, w treści formularza.
   Bez !important przy display: WPForms chowa kontener inline (Save and Resume). */
body.rw-oferta-2027 #formSection .wpforms-submit-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	padding-top: 24px;
}
body.rw-oferta-2027 #formSection .wpforms-submit,
body.rw-oferta-2027 #formSection .wpforms-save-resume-button {
	box-sizing: border-box;
	min-height: 52px;
	height: auto;
	padding: 14px 32px !important;
	border-radius: 5px !important;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase !important;
	text-decoration: none !important;
}
body.rw-oferta-2027 #formSection .wpforms-submit {
	background: var(--rw-gradient-brand, linear-gradient(to right, #ee212b 0%, #082c4b 100%)) !important;
	border: 2px solid transparent;
	color: var(--gcid-rw-on-brand, #fff);
}
body.rw-oferta-2027 #formSection .wpforms-submit:hover {
	background: var(--gcid-rw-px-color-1, #ee212b) !important;
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
}
/* Panel CSS (style.css motywu) przypina przycisk position: fixed z prawej,
   a WPCode #112387 ustawia mu inline top/transform i klasę .hidden – na tym
   szablonie wchodził pod panel „Wybrany turnus". Tu stoi w formularzu. */
body.rw-oferta-2027 #formSection .wpforms-save-resume-button,
body.rw-oferta-2027 #formSection .wpforms-save-resume-button.hidden {
	position: static !important;
	top: auto !important;
	right: auto !important;
	transform: none !important;
	z-index: auto !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	background: transparent !important;
	border: 2px solid var(--gcid-rw-ink, #082c4b);
	box-shadow: none !important;
	color: var(--gcid-rw-ink, #082c4b) !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}
body.rw-oferta-2027 #formSection .wpforms-save-resume-button:hover {
	background: var(--gcid-rw-px-color-1, #ee212b) !important;
	border-color: var(--gcid-rw-px-color-1, #ee212b);
	color: var(--gcid-rw-on-brand, #fff) !important;
}
body.rw-oferta-2027 #formSection .wpforms-submit:focus-visible,
body.rw-oferta-2027 #formSection .wpforms-save-resume-button:focus-visible {
	outline: 2px solid var(--gcid-rw-ink, #082c4b);
	outline-offset: 2px;
}

/* Kopie „Zapisz i wznów później" w panelu i w pasku – pokazuje je oferta.js. */
.rw-oferta .rw-btn[hidden],
.rw-oferta .rw-pasek__cena[hidden] {
	display: none;
}
.rw-oferta.rw-pasek.is-formularz .rw-btn {
	flex: 1 1 auto;
}

@media (max-width: 767px) {
	.rw-oferta.rw-sekcja--rezerwacja {
		margin: 0 0 32px;
		padding: 32px 16px;
	}
	body.rw-oferta-2027 #formSection .wpforms-submit,
	body.rw-oferta-2027 #formSection .wpforms-save-resume-button {
		flex: 1 1 100%;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* --------------------------------------------------------------------------
   Lato (etap 8b): trasa rejsu, plan rejsu, jachty, dojazd w progach cen
   -------------------------------------------------------------------------- */
.rw-oferta .rw-trasa {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 32px 24px;
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
}
.rw-oferta .rw-trasa__porty {
	display: flex;
	align-items: flex-start;
}
.rw-oferta .rw-trasa__port {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	text-align: center;
}
/* Przerywana linia od środka poprzedniego znaku do środka bieżącego (pod znakami). */
.rw-oferta .rw-trasa__port + .rw-trasa__port::before {
	content: "";
	position: absolute;
	top: 25px;
	right: 50%;
	width: 100%;
	border-top: 3px dashed var(--gcid-rw-line-strong, #728599);
}
.rw-oferta .rw-trasa__znak {
	position: relative;
	z-index: 1;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 6px 0;
	border-radius: 50%;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-trasa__port--start .rw-trasa__znak,
.rw-oferta .rw-trasa__port--meta .rw-trasa__znak {
	width: 52px;
	height: 52px;
	margin: 0;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-trasa__port--start .rw-trasa__znak {
	background: var(--gcid-rw-px-color-2, #082c4b);
}
.rw-oferta .rw-trasa__port--meta .rw-trasa__znak {
	background: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-trasa__nazwa {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	line-height: 22px;
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-trasa__nazwa strong {
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-trasa__port--start .rw-trasa__nazwa strong,
.rw-oferta .rw-trasa__port--meta .rw-trasa__nazwa strong {
	font-size: 16px;
	line-height: 26px;
}
.rw-oferta .rw-trasa__atrakcje {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
}
.rw-oferta .rw-trasa__atrakcje li {
	padding: 12px 16px;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
	border-radius: 4px;
	font-size: 14px;
	line-height: 22px;
}
.rw-oferta .rw-trasa__atrakcje strong {
	display: block;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
}

.rw-oferta .rw-plan-rejsu {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
.rw-oferta .rw-plan-rejsu__etap {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	background: var(--gcid-rw-surface-raised, #fff);
	border: 1px solid var(--gcid-rw-line, #d5dee7);
	border-radius: 8px;
	box-shadow: var(--rw-shadow-card, 0 2px 8px rgba(8, 44, 75, 0.08));
}
.rw-oferta .rw-plan-rejsu__etap.is-wyrozniony {
	background: var(--gcid-rw-px-color-2, #082c4b);
	border-color: var(--gcid-rw-px-color-2, #082c4b);
	box-shadow: none;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-plan-rejsu__etykieta {
	font-family: Bangers, Impact, "Arial Black", sans-serif;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0.03em;
	color: var(--gcid-rw-px-color-1, #ee212b);
}
.rw-oferta .rw-plan-rejsu h3 {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-plan-rejsu p {
	color: var(--gcid-rw-ink-muted, #4b6177);
}
.rw-oferta .rw-plan-rejsu__etap.is-wyrozniony h3,
.rw-oferta .rw-plan-rejsu__etap.is-wyrozniony p {
	color: var(--gcid-rw-on-brand, #fff);
}

/* Karty jachtów: bez zdjęcia, tekst od góry (karty mają równą wysokość). */
.rw-oferta .rw-jacht {
	align-items: flex-start;
}

/* Nota z ikoną (jachty: bagaż). */
.rw-oferta .rw-przypis--ikona {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.rw-oferta .rw-przypis--ikona .rw-ikona {
	margin-top: 1px;
	color: var(--gcid-rw-px-color-1, #ee212b);
}

.rw-oferta .rw-dojazd-progi {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 12px 24px;
	align-items: baseline;
	margin: 0;
}
.rw-oferta .rw-dojazd-progi dt {
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	white-space: nowrap;
}
.rw-oferta .rw-dojazd-progi dd {
	margin: 0;
}

@media (max-width: 767px) {
	/* Telefon: trasa jako oś pionowa – port pod portem, linia między znakami. */
	.rw-oferta .rw-trasa {
		padding: 24px 16px;
	}
	.rw-oferta .rw-trasa__porty {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}
	.rw-oferta .rw-trasa__port {
		flex-direction: row;
		align-items: center;
		gap: 12px;
		text-align: left;
	}
	.rw-oferta .rw-trasa__port + .rw-trasa__port::before {
		top: auto;
		right: auto;
		bottom: 50%;
		left: 25px;
		width: 0;
		height: calc(100% + 16px);
		border-top: 0;
		border-left: 3px dashed var(--gcid-rw-line-strong, #728599);
	}
	.rw-oferta .rw-trasa__znak {
		margin: 0 6px;
	}
	.rw-oferta .rw-trasa__port--start .rw-trasa__znak,
	.rw-oferta .rw-trasa__port--meta .rw-trasa__znak {
		margin: 0;
	}
	.rw-oferta .rw-dojazd-progi {
		gap: 8px 16px;
	}
}

/* --------------------------------------------------------------------------
   Siatki z liczbą kolumn liczoną w PHP z liczby kart (klasa rw-siatka,
   zmienna --rw-kolumny) – od 768 px; na telefonie zostają układy modułów.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
	.rw-oferta .rw-siatka {
		grid-template-columns: repeat(var(--rw-kolumny, 2), minmax(0, 1fr));
	}
}

/* Wyróżniki pod leadem w hero (ikona + krótki tekst). */
.rw-oferta .rw-oferta-hero__wyrozniki {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}
.rw-oferta .rw-oferta-hero__wyrozniki li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
	color: var(--gcid-rw-on-brand, #fff);
}
.rw-oferta .rw-oferta-hero__wyrozniki .rw-ikona {
	color: var(--gcid-rw-px-color-1, #ee212b);
}

/* Opcje dodatkowe: okładka produktu WooCommerce zamiast ikony. */
.rw-oferta .rw-opcja__okladka {
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--gcid-rw-surface-alt, #f2f5f8);
}
.rw-oferta .rw-opcja__okladka img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   Poprawki zimy (2026-10-28): rozwijany opis ośrodka, wideo, linki pensjonatów.
   -------------------------------------------------------------------------- */
.rw-oferta .rw-wiecej summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}
.rw-oferta .rw-wiecej summary::-webkit-details-marker {
	display: none;
}
.rw-oferta .rw-wiecej .rw-akordeon__strzalka {
	border-color: currentColor;
}
.rw-oferta .rw-wiecej[open] .rw-akordeon__strzalka {
	margin: 4px 4px 0;
	transform: rotate(-135deg);
}
.rw-oferta .rw-wiecej__tresc {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 4px;
}

/* Wideo: granatowa plansza z czerwonym przyciskiem (makieta), YouTube po kliknięciu. */
.rw-oferta .rw-wideo {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 8px;
	background: var(--gcid-rw-px-color-2, #082c4b);
}
.rw-oferta .rw-wideo iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}
.rw-oferta .rw-wideo__start {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: var(--gcid-rw-on-brand, #fff);
	text-decoration: none;
}
.rw-oferta .rw-wideo__start img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.45;
}
.rw-oferta .rw-wideo__przycisk {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--gcid-rw-px-color-1, #ee212b);
	transition: box-shadow 0.2s ease;
}
/* Trójkąt odtwarzania rysowany obramowaniem – bez czcionki ikon. */
.rw-oferta .rw-wideo__przycisk::before {
	content: "";
	margin-left: 6px;
	border-left: 24px solid var(--gcid-rw-on-brand, #fff);
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
}
.rw-oferta .rw-wideo__start:hover .rw-wideo__przycisk {
	box-shadow: var(--rw-shadow-lift, 0 10px 28px rgba(8, 44, 75, 0.16));
}
.rw-oferta .rw-wideo__opis {
	position: relative;
	padding: 0 24px;
	text-align: center;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
}
.rw-oferta .rw-wideo__opis span {
	display: block;
	font-size: 14px;
	line-height: 22px;
	font-weight: 400;
}

/* Pensjonaty: nazwa jako link w kolorze tekstu, zdjęcie klikalne. */
.rw-oferta .rw-pensjonat h3 a {
	color: inherit;
	text-decoration: none;
}
.rw-oferta .rw-pensjonat h3 a:hover {
	text-decoration: underline;
}
.rw-oferta .rw-pensjonat__foto a {
	display: block;
}

/* Więcej szczegółów: opisy z produkcji pod modułami sekcji (2026-10-30). */
.rw-oferta .rw-szczegoly__tresc {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rw-oferta .rw-szczegoly__tresc h3 {
	margin: 8px 0 0;
	padding: 0;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
}
.rw-oferta .rw-szczegoly__tresc h4 {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 26px;
	font-weight: 700;
	color: var(--gcid-rw-ink, #082c4b);
}
.rw-oferta .rw-szczegoly__tresc :is(ul, ol) {
	padding-left: 24px;
}
.rw-oferta .rw-szczegoly__tresc ul {
	list-style: disc;
}
.rw-oferta .rw-szczegoly__tresc ol {
	list-style: decimal;
}
.rw-oferta .rw-szczegoly__tresc li + li {
	margin-top: 4px;
}
.rw-oferta .rw-szczegoly__tresc a {
	font-weight: 700;
	color: var(--gcid-rw-accent-text, #c8121b);
}

/* --------------------------------------------------------------------------
   Szerokość treści jak wewnętrzny wiersz nagłówka (1124 px, min. 48 px z boku)
   i odstęp treści od hero (2026-10-30). Preset wiersza Divi ustawia szerokość,
   max-width i padding z !important, stąd #et-boc i podwójna klasa.
   -------------------------------------------------------------------------- */
@media (min-width: 981px) {
	body.rw-oferta-2027 #et-boc .et-l--body .et_pb_row.et_pb_row {
		width: calc(100% - 96px) !important;
		max-width: 1124px !important;
	}
	body.rw-oferta-2027 #et-boc .et-l--body .et_pb_row.rw-oferta-uklad {
		padding-top: 32px !important;
	}
}
@media (max-width: 980px) {
	body.rw-oferta-2027 #et-boc .et-l--body .et_pb_row.rw-oferta-uklad {
		padding-top: 16px !important;
	}
}
