/**
 * T4 — strony treściowe: nagłówek stron, typografia treści, O nas, Kontakt, Wycieczki indywidualne,
 * Samochody (cennik), Galeria zdjęć, strony prawne, Opinie, Dane uczestników, kolumna boczna.
 *
 * Niezaprojektowane w prototypie — zbudowane z tokenów (tokens.css) i wzorców projektu:
 * nagłówek = nagłówek katalogu (K31 + H1 54 px), sekcja kontaktu = 1.10, pola = K23, panele = K27,
 * punkty „Dlaczego warto” = K21, karty opinii = K19, siatka miniatur = radius 14 (miniatury).
 * Mobile-first: 640 / 768 / 1024 / 1280 (kontrakt 10.1). Bez kolorów, cieni i promieni wprost.
 */

/* ================================================================ */
/* Wspólne: kontener ekranu, nagłówek strony                         */
/* ================================================================ */

.rc-strona {
	display: block;
	padding-bottom: 72px;
}

.rc-strona__gora {
	padding-top: 24px;
}

.rc-strona__tresc {
	padding-top: 28px;
}

@media (min-width: 1024px) {
	.rc-strona {
		padding-bottom: 104px;
	}

	.rc-strona__gora {
		padding-top: 40px;
	}

	.rc-strona__tresc {
		padding-top: 36px;
	}
}

/* Nagłówek jak w katalogu: okruszki (mb 22), H1 54/700/-0.042em/1.0 (mb 12), podtytuł IBM Plex 15.5 #565E68. */
.rc-strona-naglowek--ramka {
	padding-bottom: 22px;
	border-bottom: 1px solid var(--rc-ramka);
}

.rc-strona-naglowek__wiersz {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.rc-strona-naglowek__tekst {
	min-width: 0;
}

.rc-strona-naglowek__tytul {
	margin: 0 0 12px;
	font-family: var(--rc-font-naglowki);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -0.042em;
	color: var(--rc-tekst);
	overflow-wrap: break-word;
}

.rc-strona-naglowek__tekst > .rc-strona-naglowek__tytul:last-child {
	margin-bottom: 0;
}

.rc-strona-naglowek__podtytul {
	margin: 0;
	font-family: var(--rc-font-tekst);
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--rc-tekst-2);
}

.rc-strona-naglowek__bok {
	flex: none;
}

@media (min-width: 640px) {
	.rc-strona-naglowek__tytul {
		font-size: 44px;
	}
}

@media (min-width: 768px) {
	.rc-strona-naglowek__wiersz {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: 30px;
	}
}

@media (min-width: 1024px) {
	.rc-strona-naglowek--ramka {
		padding-bottom: 26px;
	}

	.rc-strona-naglowek__tytul {
		font-size: var(--rc-h1-katalog);
		line-height: 1;
	}
}

/* ================================================================ */
/* Treść stron (rozszerza .rc-tresc z layout.css T1)                 */
/* ================================================================ */

.rc-tresc--strona {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.72;
}

.rc-tresc--strona h2 {
	margin-top: 1.9em;
	font-size: 26px;
	line-height: 1.15;
	letter-spacing: -0.035em;
}

.rc-tresc--strona h3 {
	margin-top: 1.7em;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.rc-tresc--strona h4,
.rc-tresc--strona h5 {
	margin-top: 1.5em;
	font-family: var(--rc-font-naglowki);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.015em;
	color: var(--rc-tekst);
}

.rc-tresc--strona > :first-child {
	margin-top: 0;
}

.rc-tresc--strona h2,
.rc-tresc--strona h3,
.rc-tresc--strona h4 {
	/* Odstęp ponad scroll-padding-top T1 (nagłówek sticky + 24 px + pasek admina) — razem ok. 110 px. */
	scroll-margin-top: 12px;
}

.rc-tresc--strona h2 + *,
.rc-tresc--strona h3 + *,
.rc-tresc--strona h4 + *,
.rc-tresc--strona h5 + * {
	margin-top: 0.7em;
}

.rc-tresc--strona hr,
.rc-tresc--strona .wp-block-separator {
	height: 0;
	margin: 2.2em 0;
	border: 0;
	border-top: 1px solid var(--rc-ramka);
}

.rc-tresc--strona figure {
	margin-left: 0;
	margin-right: 0;
}

.rc-tresc--strona figcaption,
.rc-tresc--strona .wp-caption-text {
	margin-top: 10px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--rc-tekst-meta);
}

.rc-tresc--strona blockquote {
	padding-left: 20px;
	border-left: 3px solid var(--rc-zolty);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.62;
	color: var(--rc-tekst);
}

.rc-tresc--strona iframe {
	max-width: 100%;
	border: 0;
	border-radius: var(--rc-r-16);
}

/* Podtytuł nad nagłówkiem (np. „Małgorzata i Piotr Mikulscy:”) — styl eyebrow projektu (K02). */
.rc-tresc .rc-podtytul {
	font-family: var(--rc-font-naglowki);
	font-size: var(--rc-eyebrow);
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--rc-niebieski-ciemny);
}

.rc-tresc .rc-podtytul + h2 {
	margin-top: 14px;
}

@media (min-width: 1024px) {
	.rc-tresc--strona h2 {
		font-size: 32px;
	}

	.rc-tresc--strona h3 {
		font-size: 21px;
	}
}

/* Szeroka treść: akapity ~760 px, bloki strukturalne na całą szerokość kontenera. */
.rc-tresc--szeroka {
	max-width: none;
}

.rc-tresc--szeroka > p,
.rc-tresc--szeroka > h2,
.rc-tresc--szeroka > h3,
.rc-tresc--szeroka > h4,
.rc-tresc--szeroka > ul,
.rc-tresc--szeroka > ol,
.rc-tresc--szeroka > blockquote {
	max-width: 760px;
}

/* Bloki Gutenberga z klasą (core/group): wewnętrzny kontener klasycznego motywu nie wpływa na układ. */
.rc-osoby > .wp-block-group__inner-container,
.rc-osoba > .wp-block-group__inner-container,
.rc-atuty > .wp-block-group__inner-container,
.rc-atut > .wp-block-group__inner-container {
	display: contents;
}

/* ----- O nas: karty osób (awatary w okręgu) ----- */
.rc-tresc .rc-osoby {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin-top: 36px;
}

.rc-tresc .rc-osoba {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	column-gap: 18px;
	align-items: start;
	margin: 0;
	padding: 24px 22px;
	border: 1px solid var(--rc-ramka);
	border-radius: var(--rc-r-20);
	background: var(--rc-bialy);
}

.rc-tresc .rc-osoba > figure,
.rc-tresc .rc-osoba .wp-block-image,
.rc-tresc .rc-osoba > img {
	grid-row: span 3;
	margin: 0;
}

.rc-tresc .rc-osoba img {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 35%;
}

.rc-tresc .rc-osoba h3,
.rc-tresc .rc-osoba h4 {
	margin: 6px 0 8px;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.025em;
}

.rc-tresc .rc-osoba p {
	margin: 0;
	font-size: 15px;
	line-height: 1.66;
	color: var(--rc-tekst-2);
}

.rc-tresc .rc-osoba p + p {
	margin-top: 0.8em;
}

@media (min-width: 768px) {
	.rc-tresc .rc-osoby {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 26px;
		margin-top: 44px;
	}

	.rc-tresc .rc-osoba {
		grid-template-columns: 96px minmax(0, 1fr);
		column-gap: 24px;
		padding: 28px 30px;
	}

	.rc-tresc .rc-osoba img {
		width: 96px;
		height: 96px;
	}
}

/* ----- „Dlaczego warto” (K21): kafelek ikony 50×50 r15, H3 19.5/600, tekst 15/1.66 ----- */
.rc-tresc .rc-atuty {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	margin-top: 32px;
}

.rc-tresc .rc-atut {
	margin: 0;
}

.rc-atut__ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin-bottom: 22px;
	border-radius: var(--rc-r-15);
	background: var(--rc-niebieski-tlo);
	color: var(--rc-niebieski-ciemny);
}

.rc-tresc .rc-atut h3,
.rc-tresc .rc-atut h4 {
	margin: 0 0 10px;
	font-size: 19.5px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.018em;
}

.rc-tresc .rc-atut p {
	margin: 0;
	font-size: 15px;
	line-height: 1.66;
	color: var(--rc-tekst-2);
}

@media (min-width: 640px) {
	.rc-tresc .rc-atuty {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 32px;
	}
}

@media (min-width: 1024px) {
	.rc-tresc .rc-atuty {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		margin-top: 52px;
	}
}

/* O nas: H2 sekcji jak 1.5/1.8 (40 px), drugi H2 z odstępem sekcji. */
.rc-tresc--o-nas h2 {
	margin-top: 64px;
	font-size: 30px;
	line-height: 1.08;
	letter-spacing: -0.038em;
}

.rc-tresc--o-nas > h2:first-child,
.rc-tresc--o-nas > .rc-podtytul:first-child + h2 {
	margin-top: 14px;
}

.rc-tresc--o-nas > .rc-podtytul:first-child,
.rc-tresc--o-nas > h2:first-child {
	margin-top: 0;
}

.rc-tresc--o-nas h2 + p {
	font-size: 17px;
	font-weight: 300;
	line-height: 1.64;
	color: var(--rc-tekst);
}

@media (min-width: 1024px) {
	.rc-tresc--o-nas h2 {
		margin-top: 100px;
		font-size: 40px;
		line-height: 1.04;
	}

	.rc-tresc--o-nas h2 + p {
		font-size: 19px;
	}
}

/* ================================================================ */
/* Kontakt i Wycieczki indywidualne                                  */
/* ================================================================ */

/* Sekcja jak 1.10: grid 1.05fr 1fr, gap 76, zdjęcie 4:3 r24. */
.rc-kontakt-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	padding-top: 28px;
}

.rc-kontakt-intro__tytul {
	margin: 0 0 16px;
	font-family: var(--rc-font-naglowki);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.038em;
	color: var(--rc-tekst);
}

.rc-kontakt-intro__opis {
	max-width: 460px;
	margin: 0 0 28px;
	font-family: var(--rc-font-tekst);
	font-size: 16px;
	line-height: 1.68;
	color: var(--rc-tekst-2);
}

.rc-kontakt-intro__tresc {
	margin-top: 28px;
}

.rc-kontakt-intro__zdjecie {
	margin: 0;
	overflow: hidden;
	border-radius: var(--rc-r-24);
	aspect-ratio: 4 / 3;
	background: var(--rc-tlo-sekcji);
}

.rc-kontakt-intro__zdjecie img,
.rc-kontakt-intro__zdjecie picture {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Zdjęcie z treści strony (blok core/image) */
.rc-kontakt-intro__zdjecie--tresc figure {
	height: 100%;
	margin: 0;
}

.rc-kontakt-intro__zdjecie--tresc figcaption {
	display: none;
}

.rc-tresc--przewodnik {
	max-width: 560px;
}

@media (min-width: 768px) {
	.rc-kontakt-intro {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
		gap: 40px;
		align-items: center;
	}

	.rc-kontakt-intro--tresc {
		align-items: start;
	}

	.rc-kontakt-intro--bez-zdjecia {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 1024px) {
	.rc-kontakt-intro {
		gap: 76px;
		padding-top: 40px;
	}

	.rc-kontakt-intro__tytul {
		margin-bottom: 18px;
		font-size: 44px;
		line-height: 1.04;
	}

	.rc-kontakt-intro__opis {
		margin-bottom: 32px;
		font-size: 16.5px;
	}
}

/* Pigułki kontaktowe (K05 ciemna, K06 obrysowane, 15 px, 14/22). */
.rc-kontakt-pigulki {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rc-kontakt-pigulki__pill {
	display: inline-flex;
	align-items: center;
	padding: 14px 22px;
	border: 1px solid var(--rc-ramka-przycisk);
	border-radius: var(--rc-r-pill);
	background: var(--rc-bialy);
	font-family: var(--rc-font-naglowki);
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
	color: var(--rc-tekst);
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: border-color var(--rc-czas-cta) ease;
}

.rc-kontakt-pigulki__pill:hover,
.rc-kontakt-pigulki__pill:focus {
	border-color: var(--rc-tekst);
	color: var(--rc-tekst);
}

.rc-kontakt-pigulki__pill--ciemna,
.rc-kontakt-pigulki__pill--ciemna:hover,
.rc-kontakt-pigulki__pill--ciemna:focus {
	border-color: var(--rc-tekst);
	background: var(--rc-tekst);
	color: var(--rc-bialy);
}

.rc-kontakt-pigulki__pill--ciemna {
	font-weight: 500;
	transition: transform var(--rc-czas-cta) ease;
}

.rc-kontakt-pigulki__pill--ciemna:hover {
	transform: translateY(-2px);
}

/* Układ: treść/formularz + kolumna boczna (jak Rezerwacja: 1fr / 320–404, gap 60, sticky 98). */
.rc-strona-uklad {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
}

.rc-strona-uklad--formularz {
	padding-top: 56px;
}

.rc-strona-uklad--tresc {
	padding-top: 28px;
}

.rc-strona-uklad__glowna {
	min-width: 0;
}

.rc-strona-uklad__bok {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

@media (min-width: 1024px) {
	.rc-strona-uklad {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 40px;
		align-items: start;
	}

	.rc-strona-uklad--formularz {
		padding-top: 88px;
	}

	.rc-strona-uklad--tresc {
		padding-top: 36px;
	}

	.rc-strona-uklad__bok {
		position: sticky;
		top: var(--rc-sticky-top);
	}
}

@media (min-width: 1280px) {
	.rc-strona-uklad {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 404px);
		gap: 60px;
	}
}

/* Formularz w stylu pól Rezerwacji: H2 23 px, siatka 1fr 1fr gap 18, pola K23. */
.rc-formularz-sekcja__tytul {
	margin: 0 0 20px;
	font-family: var(--rc-font-naglowki);
	font-size: 23px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: -0.028em;
	color: var(--rc-tekst);
}

.rc-uczestnicy__formularz.is-ladowanie [type="submit"] {
	opacity: 0.7;
	cursor: progress;
}

/* Formularz S1 (rico_formularz): notka pod przyciskiem, przycisk na całą szerokość na telefonie. */
.rc-formularz-sekcja .rc-formularz__informacja {
	font-family: var(--rc-font-tekst);
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--rc-tekst-meta);
}

/* Linki w tekście ciągłym podkreślone (V2-05, WCAG 1.4.1). */
.rc-formularz-sekcja .rc-formularz__informacja a,
.rc-uczestnicy__opis a,
.rc-opinie-wstep a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 639.98px) {
	.rc-formularz-sekcja .rc-formularz__przycisk {
		width: 100%;
	}
}

/* Panel danych firmy (jak Podsumowanie: #F6F8FA, r24, padding 28). */
.rc-dane-firmy {
	padding: 24px 22px;
	border-radius: var(--rc-r-24);
	font-family: var(--rc-font-tekst);
}

.rc-dane-firmy--szary {
	background: var(--rc-tlo-sekcji);
}

.rc-dane-firmy--obrys {
	border: 1px solid var(--rc-ramka-karta);
}

.rc-dane-firmy__blok + .rc-dane-firmy__blok {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid var(--rc-ramka-przycisk);
}

.rc-dane-firmy__etykieta {
	margin: 0 0 12px;
	font-family: var(--rc-font-naglowki);
	font-size: 12.5px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rc-tekst-meta);
}

.rc-dane-firmy__nazwa {
	margin: 0 0 8px;
	font-family: var(--rc-font-naglowki);
	font-size: 18px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: -0.02em;
	color: var(--rc-tekst);
}

.rc-dane-firmy__lista {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--rc-tekst-2);
}

.rc-dane-firmy__lista li + li {
	margin-top: 6px;
}

.rc-dane-firmy__godziny {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--rc-tekst);
}

.rc-dane-firmy__godziny .rc-ikona,
.rc-dane-firmy__godziny svg {
	flex: none;
	margin-top: 3px;
	color: var(--rc-niebieski-ciemny);
}

.rc-dane-firmy__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 20px 0 0;
	font-size: 14px;
}

.rc-dane-firmy .rc-kontakt-pigulki__pill {
	padding: 12px 18px;
	font-size: 14.5px;
}

@media (min-width: 1024px) {
	.rc-dane-firmy {
		padding: 28px;
	}
}

/* Kolumna boczna: „Masz pytania?” + WhatsApp (K05 „Napisz na WhatsApp →”, 13.5 / 10 16). */
.rc-bok-kontakt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.rc-bok-kontakt > .rc-kontakt-box {
	align-self: stretch;
}

.rc-bok-kontakt__wa,
.rc-bok-kontakt__wa:hover,
.rc-bok-kontakt__wa:focus {
	color: var(--rc-bialy);
}

.rc-bok-kontakt__wa {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 16px;
	border-radius: var(--rc-r-pill);
	background: var(--rc-tekst);
	font-family: var(--rc-font-naglowki);
	font-size: 13.5px;
	font-weight: 500;
	line-height: normal;
	text-decoration: none;
}

/* ================================================================ */
/* Samochody: cennik (table.rc-cennik / figure.rc-cennik) — na telefonie karty */
/* ================================================================ */

.rc-tresc--samochody > h5 {
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.rc-tresc .rc-cennik {
	max-width: none;
	margin-top: 1.4em;
	margin-left: 0;
	margin-right: 0;
}

.rc-tresc .rc-cennik + .rc-cennik {
	margin-top: 1.8em;
}

.rc-cennik table,
table.rc-cennik {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-family: var(--rc-font-tekst);
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--rc-tekst-2);
}

.rc-cennik caption {
	padding: 0 0 12px;
	caption-side: top;
	text-align: left;
	font-family: var(--rc-font-naglowki);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: var(--rc-tekst);
}

.rc-cennik thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.rc-cennik tbody,
.rc-cennik tr {
	display: block;
}

.rc-cennik tr {
	margin-top: 10px;
	padding: 16px 18px;
	border: 1px solid var(--rc-ramka-karta);
	border-radius: var(--rc-r-16);
	background: var(--rc-bialy);
}

.rc-cennik td,
.rc-cennik th[scope="row"] {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 6px 0;
	border: 0;
	text-align: right;
}

.rc-cennik td::before {
	content: attr(data-label);
	font-family: var(--rc-font-naglowki);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
	color: var(--rc-tekst-meta);
}

.rc-cennik td:first-child,
.rc-cennik th[scope="row"] {
	display: block;
	padding: 0 0 10px;
	margin-bottom: 4px;
	border-bottom: 1px solid var(--rc-ramka);
	text-align: left;
	font-family: var(--rc-font-naglowki);
	font-size: 16px;
	font-weight: 600;
	color: var(--rc-tekst);
}

.rc-cennik td:first-child::before {
	content: none;
}

.rc-cennik td:first-child em,
.rc-cennik td:first-child small,
.rc-cennik td:first-child span {
	display: block;
	margin-top: 2px;
	font-family: var(--rc-font-tekst);
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	color: var(--rc-tekst-meta);
}

.rc-cennik td:not(:first-child) {
	white-space: nowrap;
	font-family: var(--rc-font-naglowki);
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--rc-tekst);
}

/* Wariant „lista” (okres → cena): na telefonie jedna karta z wierszami zamiast kart dla każdego wiersza. */
@media (max-width: 767.98px) {
	.rc-cennik--lista table {
		display: block;
		padding: 4px 18px;
		border: 1px solid var(--rc-ramka-karta);
		border-radius: var(--rc-r-16);
		background: var(--rc-bialy);
	}

	.rc-cennik--lista tr {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		margin: 0;
		padding: 12px 0;
		border: 0;
		border-top: 1px solid var(--rc-ramka);
		border-radius: 0;
	}

	.rc-cennik--lista tr:first-child {
		border-top: 0;
	}

	.rc-cennik--lista td,
	.rc-cennik--lista td:first-child {
		display: block;
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 15px;
	}

	.rc-cennik--lista td::before {
		content: none;
	}

	.rc-cennik--lista td:first-child {
		font-family: var(--rc-font-tekst);
		font-weight: 400;
		color: var(--rc-tekst-2);
	}
}

@media (min-width: 768px) {
	.rc-cennik table,
	table.rc-cennik {
		overflow: hidden;
		border: 1px solid var(--rc-ramka-karta);
		border-radius: var(--rc-r-20);
	}

	.rc-cennik thead {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		display: table-header-group;
	}

	.rc-cennik tbody {
		display: table-row-group;
	}

	.rc-cennik tr {
		display: table-row;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
	}

	.rc-cennik th,
	.rc-cennik td,
	.rc-cennik td:first-child,
	.rc-cennik th[scope="row"] {
		display: table-cell;
		padding: 15px 16px;
		margin: 0;
		border: 0;
		border-top: 1px solid var(--rc-ramka);
		text-align: right;
		vertical-align: middle;
	}

	.rc-cennik thead th {
		border-top: 0;
		background: var(--rc-tlo-sekcji);
		font-family: var(--rc-font-naglowki);
		font-size: 11.5px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		white-space: nowrap;
		color: var(--rc-tekst-meta);
	}

	.rc-cennik thead th:first-child,
	.rc-cennik td:first-child,
	.rc-cennik th[scope="row"] {
		text-align: left;
	}

	.rc-cennik td::before {
		content: none;
	}

	.rc-cennik td:first-child {
		font-size: 15.5px;
	}
}

/* ================================================================ */
/* Galeria zdjęć: siatka miniatur (r14) + lightbox T2                */
/* ================================================================ */

.rc-galeria-siatka {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-galeria-siatka__element {
	margin: 0;
}

.rc-galeria-siatka__link {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: var(--rc-r-14);
	background: var(--rc-tlo-sekcji);
}

.rc-galeria-siatka__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--rc-czas-zdjecie) var(--rc-ease-karta);
}

.rc-galeria-siatka__link:hover .rc-galeria-siatka__img {
	transform: scale(1.06);
}

.rc-galeria-siatka__link:focus-visible {
	box-shadow: 0 0 0 3px var(--rc-zolty);
}

@media (min-width: 640px) {
	.rc-galeria-siatka {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}

@media (min-width: 1024px) {
	.rc-galeria-siatka {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	}
}

/* ================================================================ */
/* Strony prawne: spis treści (panel jak filtry) + kolumna ~760 px    */
/* ================================================================ */

.rc-prawna {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	padding-top: 28px;
}

.rc-prawna__spis {
	padding: 18px 20px;
	border: 1px solid var(--rc-ramka-karta);
	border-radius: var(--rc-r-20);
	background: var(--rc-bialy);
}

.rc-prawna__spis-tytul {
	margin: 0 0 12px;
	font-family: var(--rc-font-naglowki);
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
	color: var(--rc-tekst);
}

.rc-prawna__spis-lista {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--rc-font-tekst);
	font-size: 13.5px;
	line-height: 1.45;
}

.rc-prawna__spis-pozycja + .rc-prawna__spis-pozycja {
	margin-top: 8px;
}

.rc-prawna__spis-pozycja--h3 {
	padding-left: 0;
}

.rc-prawna__spis-lista a {
	display: block;
	color: var(--rc-tekst-2);
}

.rc-prawna__spis-lista a:hover,
.rc-prawna__spis-lista a.is-aktywny {
	color: var(--rc-niebieski-ciemny);
}

.rc-prawna__spis-lista a.is-aktywny {
	font-weight: 500;
}

.rc-tresc--prawna {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.75;
}

.rc-tresc--prawna h2 {
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.rc-tresc--prawna h3 {
	margin-top: 2em;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.rc-tresc--prawna ol {
	padding-left: 1.4em;
}

.rc-tresc--prawna ol ol {
	margin-top: 0.4em;
	list-style: lower-alpha;
}

.rc-tresc--prawna li::marker {
	color: var(--rc-tekst-meta);
}

@media (min-width: 1024px) {
	.rc-prawna {
		padding-top: 36px;
	}

	.rc-prawna--spis {
		grid-template-columns: 258px minmax(0, 760px);
		gap: 52px;
		align-items: start;
	}

	.rc-prawna__spis {
		position: sticky;
		top: var(--rc-sticky-top);
		max-height: calc(100vh - var(--rc-sticky-top) - 24px);
		overflow: auto;
		padding: 22px;
	}

	.rc-tresc--prawna h2 {
		font-size: 24px;
	}
}

/* ================================================================ */
/* Opinie: karta ciemna + karty opinii (K19), siatka minmax(300)      */
/* ================================================================ */

.rc-opinie-wstep {
	margin-bottom: 32px;
}

/* Układ kolumnowy (masonry): opinie mają bardzo różną długość — w siatce wiersze rozciągały się do najdłuższej. */
.rc-opinie-siatka {
	column-gap: 16px;
}

.rc-opinie-siatka > * {
	display: flex;
	width: 100%;
	margin: 0 0 16px;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
}

.rc-opinie-ciemna {
	flex-direction: column;
	padding: 28px 26px;
	border-radius: var(--rc-r-20);
	background: var(--rc-ciemne-tlo);
	color: var(--rc-bialy);
}

.rc-opinie-ciemna__gwiazdki,
.rc-opinie-ciemna .rc-gwiazdki {
	display: flex;
	gap: 3px;
	margin-bottom: 18px;
	color: var(--rc-zolty);
}

.rc-opinie-ciemna__tytul {
	margin: 0 0 14px;
	font-family: var(--rc-font-naglowki);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.035em;
	color: var(--rc-bialy);
}

.rc-opinie-ciemna__tekst {
	margin: 0 0 24px;
	font-family: var(--rc-font-tekst);
	font-size: 15px;
	line-height: 1.65;
	color: var(--rc-tekst-na-ciemnym);
}

.rc-opinie-ciemna__przyciski {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
}

.rc-opinie-ciemna__przyciski .rc-btn--obrys-na-ciemnym {
	font-weight: 400;
}

@media (min-width: 768px) {
	.rc-opinie-siatka {
		columns: 2 300px;
		column-gap: 26px;
	}

	.rc-opinie-siatka > * {
		margin-bottom: 26px;
	}

	.rc-opinie-ciemna {
		padding: 30px 32px;
	}
}

@media (min-width: 1024px) {
	.rc-opinie-siatka {
		columns: 3 300px;
	}
}

/* ================================================================ */
/* Paginacja (pigułki 42 px)                                         */
/* ================================================================ */

.rc-paginacja {
	margin-top: 44px;
}

.rc-paginacja__lista {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-paginacja__element {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid var(--rc-ramka-przycisk);
	border-radius: var(--rc-r-pill);
	background: var(--rc-bialy);
	font-family: var(--rc-font-naglowki);
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	color: var(--rc-tekst);
	text-decoration: none;
	transition: border-color var(--rc-czas-pill) ease;
}

a.rc-paginacja__element:hover,
a.rc-paginacja__element:focus {
	border-color: var(--rc-tekst);
	color: var(--rc-tekst);
}

.rc-paginacja__element.current {
	border-color: var(--rc-tekst);
	background: var(--rc-tekst);
	color: var(--rc-bialy);
}

.rc-paginacja__element.dots {
	min-width: 0;
	padding: 0 4px;
	border-color: transparent;
	color: var(--rc-tekst-meta);
}

/* ================================================================ */
/* Dane uczestników                                                  */
/* ================================================================ */

.rc-uczestnicy__opis {
	margin-bottom: 24px;
	padding: 20px 22px;
	border-radius: var(--rc-r-22);
	background: var(--rc-zolty-tlo);
	font-family: var(--rc-font-tekst);
	font-size: 15px;
	line-height: 1.62;
	color: var(--rc-tekst-2);
}

.rc-uczestnicy__opis > * + * {
	margin-top: 0.8em;
}

[data-rc-uczestnicy-komunikat]:not(:empty) {
	margin-bottom: 20px;
}

.rc-uczestnik {
	min-width: 0;
	margin: 0 0 14px;
	padding: 18px 18px 20px;
	border: 1px solid var(--rc-ramka-karta);
	border-radius: var(--rc-r-20);
}

.rc-uczestnik__legenda {
	float: left;
	display: flex;
	align-items: baseline;
	gap: 12px;
	width: 100%;
	margin-bottom: 16px;
	padding: 0;
}

.rc-uczestnik__legenda + * {
	clear: both;
}

.rc-uczestnik__numer {
	font-family: var(--rc-font-naglowki);
	font-size: 14px;
	font-weight: 600;
	color: var(--rc-niebieski-ciemny);
}

.rc-uczestnik__kategoria {
	font-family: var(--rc-font-naglowki);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.018em;
	color: var(--rc-tekst);
}

.rc-uczestnik__pola {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	clear: both;
}

.rc-uczestnicy__stopka {
	margin-top: 24px;
}

@media (min-width: 640px) {
	.rc-uczestnik {
		padding: 20px 22px 22px;
	}

	.rc-uczestnik__pola--data {
		grid-template-columns: minmax(0, 1fr) 220px;
	}
}

/* ================================================================ */
/* 404                                                               */
/* ================================================================ */

.rc-404 {
	max-width: 640px;
	margin: 0 auto;
	padding: 32px 0 16px;
	text-align: center;
}

/* Dekoracyjne „404” (żółte, aria-hidden) jako treść pseudoelementu — nie jest tekstem strony. */
.rc-404__kod::before {
	content: attr(data-kod);
}

.rc-404__kod {
	margin: 0 0 8px;
	font-family: var(--rc-font-naglowki);
	font-size: 96px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--rc-zolty);
}

.rc-404__tytul {
	margin: 0 0 14px;
	font-family: var(--rc-font-naglowki);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: var(--rc-tekst);
}

.rc-404__tekst {
	margin: 0 auto 28px;
	max-width: 520px;
	font-family: var(--rc-font-tekst);
	font-size: 16px;
	line-height: 1.6;
	color: var(--rc-tekst-2);
}

.rc-404__szukaj {
	display: flex;
	justify-content: center;
	margin-bottom: 24px;
}

.rc-404__szukaj .rc-szukaj {
	width: 100%;
	max-width: 420px;
}

.rc-404__akcje {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

@media (min-width: 1024px) {
	.rc-404 {
		padding-top: 48px;
	}

	.rc-404__kod {
		font-size: 150px;
	}

	.rc-404__tytul {
		font-size: var(--rc-h1-rezerwacja);
	}
}

/* ================================================================ */
/* Wyszukiwarka (pigułka jak select sortowania, 42 px)               */
/* ================================================================ */

.rc-szukaj {
	position: relative;
	display: flex;
	width: 100%;
}

.rc-szukaj__pole {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 11px 50px 11px 18px;
	border: 1px solid var(--rc-ramka-pole);
	border-radius: var(--rc-r-pill);
	background: var(--rc-bialy);
	font-family: var(--rc-font-naglowki);
	font-size: 14.5px;
	line-height: normal;
	color: var(--rc-tekst);
	-webkit-appearance: none;
	appearance: none;
}

.rc-szukaj__pole:focus {
	border-color: var(--rc-niebieski);
}

.rc-szukaj__pole::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.rc-szukaj__przycisk {
	position: absolute;
	top: 4px;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--rc-tekst);
	color: var(--rc-bialy);
}

@media (min-width: 768px) {
	.rc-strona-naglowek__bok .rc-szukaj {
		width: 300px;
	}
}

/* Komunikat T1 w kolumnie formularza: tekst może się zwężać (długie komunikaty R3). */
.rc-strona .rc-komunikat__tekst {
	min-width: 0;
}
