/* Kontakt, 404, wyszukiwarka, dokument prawny, pasek zgód.
   Plansze: Doc/design-system/Kontakt.dc.html, Systemowe.dc.html.

   ZASADA NAZEWNICTWA — jak w wycena.css: komponenty, których nie ma jeszcze
   w assets/css/formimpress.css (.fi-maly, .fi-h3, .fi-h4, .fi-textarea),
   są tu dopisane ZAWĘŻONE do własnych korzeni `.fi-w-*`, żeby nie przebić
   definicji, które w tym samym czasie dopisuje ktoś inny. */

.fi-w-kontakt .fi-maly,
.fi-w-404 .fi-maly,
.fi-w-szukaj .fi-maly,
.fi-w-prawna .fi-maly,
.fi-w-cookies .fi-maly,
.fi-w-ustawienia .fi-maly,
.fi-w-mapa .fi-maly {
	font-size: 14px;
	line-height: 22px;
	color: var(--fi-tekst-2);
	margin: 0;
}

/* ===========================================================================
   1. Kontakt.
   =========================================================================== */

.fi-w-kontakt {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}

/* Grupy WP w układzie „flow” dokładają każdemu kolejnemu dziecku
   margin-block-start równy block-gap (24 px) — prawa kolumna stała przez to
   niżej niż lewa. Odstępy robi tu siatka i flex, nie marginesy. */
.fi-w-kontakt > *,
.fi-w-kontakt__lewa > * { margin-block-start: 0; }

.fi-w-kontakt__formularz {
	padding: 40px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.fi-w-kontakt__tytul {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 26px;
	line-height: 34px;
	letter-spacing: -0.01em;
	color: var(--fi-granat-900);
	margin: 0;
}

/* Formularz zostaje blokiem foreto/contact-form — tutaj dostaje wyłącznie
   układ dwukolumnowy z planszy. Pola krótkie (imię, e-mail, telefon, firma)
   idą po dwa w rzędzie, wszystko dłuższe na pełną szerokość. Reguła jest
   napisana „od tyłu": domyślnie pełna szerokość, wyjątkiem są trzy typy
   wejścia — dzięki temu pole dołożone kiedyś do bloku nie wypadnie z układu,
   tylko stanie w osobnym wierszu. */
/* Jedna kolumna pól — wcześniej imię/e-mail i telefon/firma stały parami. */
.fi-w-kontakt__formularz .foreto-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.fi-w-kontakt__formularz .foreto-form > * { grid-column: 1 / -1; }

/* Kit dokłada polom margines dolny 12 px, zgodzie górny 40 px, a przyciskowi
   32 px — na siatce z odstępem 20 px sumowało się to do 32/60/52 px pustki.
   Odstępy robi tu sam grid; zostaje tylko podpowiedź zgody, dosunięta pod nią. */
.fi-w-kontakt__formularz .foreto-form > .foreto-field,
.fi-w-kontakt__formularz .foreto-form > .foreto-consent,
.fi-w-kontakt__formularz .foreto-form > .foreto-form__actions { margin: 0; }
.fi-w-kontakt__formularz .foreto-form > .foreto-consent + .foreto-msg { margin-top: -12px; }

/* Pusty podpis (pole bez podpowiedzi, zgoda bez błędu) nie rezerwuje wiersza. */
.fi-w-kontakt__formularz .foreto-msg:empty { display: none; }

/* Pola w jednym rzędzie siatki mają równą wysokość, a pole to też siatka —
   bez tego wiersz pola bez podpisu rozciągał się na wysokość sąsiada
   z podpisem i input rósł o 18 px. Wiersze trzymają się góry. */
.fi-w-kontakt__formularz .foreto-field { align-content: start; }

/* Pola stoją na BIELI, nie na lodzie. Domyślnie kit kładzie je na lodzie
   (formimpress.css, sekcja „Pola") — ale ta karta sama jest lodowa, więc pole
   w tym samym kolorze znika: na zrzucie z 1440 px widać było etykiety i nic
   pod nimi. Plansza Kontakt.dc.html maluje je bielą właśnie z tego powodu. */
.fi-w-kontakt__formularz .foreto-input,
.fi-w-kontakt__formularz .foreto-textarea,
.fi-w-kontakt__formularz .foreto-select,
.fi-w-kontakt__formularz .foreto-file { background: var(--fi-biel); }


/* Przycisk wysyłki do lewej: cały formularz stoi na lewej osi (etykiety,
   pola, zgoda) i wyśrodkowany przycisk wypadał z tej osi. */
.fi-w-kontakt__formularz .foreto-form__actions {
	display: flex;
	/* Kit kładzie akcje w kolumnie; z align-items: center to centrowało
	   przycisk w poziomie. Wiersz, wyrównanie do lewej. */
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
	flex-wrap: wrap;
}

.fi-w-kontakt__formularz .foreto-form__actions::before,
.fi-w-kontakt__formularz .foreto-form__actions::after { content: none; }

/* Lewa kolumna: karta formularza i pod nią osobny panel z odsyłaczem do
   wyceny — ten sam odstęp 16 px co między kartami w kolumnie z danymi. */
.fi-w-kontakt__lewa {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* --- kolumna z danymi ----------------------------------------------------- */

.fi-w-kontakt__boki {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.fi-w-osoba-karta {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 28px;
}

.fi-w-osoba-karta__foto {
	width: 88px;
	height: 88px;
	border-radius: 20px;
	object-fit: cover;
	flex: 0 0 auto;
	/* Pływa bez przerwy jak kafle ikon i koła społecznościowe; druga karta
	   w innej fazie. */
	animation: fi-plyw 5s ease-in-out infinite;
}

/* Przekrzywienie na przemian jak karty w hero (obrót na `rotate`, pływanie
   na `translate` — nie wchodzą sobie w drogę); najechanie na kartę prostuje. */
.fi-w-osoba-karta__foto { rotate: -3deg; transition: rotate 400ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.fi-w-osoba-karta:nth-child(2) .fi-w-osoba-karta__foto { rotate: 2.5deg; animation-delay: -2.4s; }
.fi-w-osoba-karta:hover .fi-w-osoba-karta__foto { rotate: 0deg; }

.fi-w-osoba-karta__dane {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.fi-w-osoba-karta__imie {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--fi-granat-900);
	margin: 0;
}

.fi-w-osoba-karta__rola {
	margin: 0;
	font-size: 14px;
	line-height: 22px;
	color: var(--fi-tekst-2);
}

.fi-w-osoba-karta__telefon,
.fi-w-biuro__telefon {
	font-family: var(--fi-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 26px;
	margin-top: 6px;
	color: var(--fi-granat-900);
}

.fi-w-osoba-karta__mail {
	font-size: 14px;
	line-height: 22px;
	color: var(--fi-blekit-600);
	word-break: break-word;
}

/* --- ciemna karta biura --------------------------------------------------- */

.fi-w-biuro {
	position: relative;
	overflow: hidden;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: var(--fi-glebia);
}

.fi-w-biuro__tlo {
	position: absolute;
	inset: 0 0 0 auto;
	width: 55%;
	opacity: 0.7;
	mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
	pointer-events: none;
}

.fi-w-biuro__tresc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fi-w-biuro__nazwa {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--fi-biel);
	margin: 0;
}

.fi-w-biuro__adres { color: rgb(255 255 255 / 0.7) !important; }

.fi-w-biuro__telefon { color: var(--fi-biel); }

.fi-w-biuro__mail {
	font-size: 14px;
	line-height: 22px;
	color: var(--fi-blekit-300);
	word-break: break-word;
}

.fi-w-biuro__akcje {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* Rozmiar i pływanie biorą z .fi-social w kicie. */

/* --- dane rejestrowe ------------------------------------------------------ */

.fi-w-rejestrowe {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.fi-w-rejestrowe__glowa {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.fi-w-rejestrowe__etykieta {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fi-tekst-2);
	font-weight: 500;
	line-height: 16px;
}

.fi-w-rejestrowe__nazwa {
	margin: 2px 0 0;
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--fi-granat-900);
}

/* Trzy kolumny danych na jednej linii bazowej; każda z własną cienką kreską
   u góry, żeby lista czytała się jak tabela, a nie jak akapit. */
.fi-w-rejestrowe__lista {
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr));
	gap: 16px 24px;
}

.fi-w-rejestrowe__pozycja {
	padding-top: 12px;
	border-top: 1px solid rgb(7 15 43 / 0.08);
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.fi-w-rejestrowe__pozycja dt {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fi-tekst-2);
	font-weight: 500;
	line-height: 16px;
}

.fi-w-rejestrowe__pozycja dd {
	margin: 0;
	font-size: 14px;
	line-height: 22px;
	font-weight: 500;
	color: var(--fi-tekst);
	font-variant-numeric: tabular-nums;
}

.fi-w-rejestrowe__pozycja dd.fi-w-rejestrowe__brak {
	color: var(--fi-tekst-2);
	font-weight: 400;
	font-style: italic;
}

/* --- mapa ----------------------------------------------------------------- */

.fi-w-mapa {
	position: relative;
	overflow: hidden;
	min-height: 360px;
	border-radius: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fi-w-mapa__zastepnik {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 32px;
	text-align: center;
}

.fi-w-mapa__zastepnik[hidden] { display: none; }

/* Pinezka: koło z jednym rogiem ostrym, obrócone o 45°. Rysowana promieniem,
   a nie osobnym plikiem — jeden kształt nie jest wart żądania. */
.fi-w-mapa__pinezka {
	width: 56px;
	height: 56px;
	border-radius: 50% 50% 50% 0;
	background: var(--fi-blekit-500);
	transform: rotate(-45deg);
	box-shadow: 0 12px 30px rgb(0 166 237 / 0.4);
}

.fi-w-mapa__adres {
	margin: 12px 0 0;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--fi-biel);
	font-size: 13px;
	font-weight: 500;
	color: var(--fi-granat-900);
	box-shadow: var(--fi-cien-1);
}

.fi-w-mapa__uwaga { max-width: 42ch; }

.fi-w-mapa__ramka {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fi-w-mapa--wczytana { background: var(--fi-lod); }

/* W kolumnie z danymi (pod „Dane rejestrowe") mapa jest węższa, więc i niższa. */
.fi-w-mapa--bok { min-height: 300px; }

/* ===========================================================================
   2. 404 i wyszukiwarka.
   =========================================================================== */

.fi-w-404 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}

.fi-w-404__tresc {
	display: flex;
	flex-direction: column;
	gap: var(--foreto-space-3);
	align-items: flex-start;
}

.fi-w-404__h1 {
	font-family: var(--fi-display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--h-1);
	line-height: var(--wp--custom--line--h-1);
	letter-spacing: -0.02em;
	color: var(--fi-granat-900);
	margin: 0;
}

.fi-w-404__h1 em { font-style: normal; font-weight: 200; }
.fi-w-404__h1 mark { background: none; color: var(--fi-blekit-500); }

.fi-w-404__lead { max-width: 480px; margin: 0; }

.fi-w-404__panel {
	min-height: 420px;
	border-radius: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.fi-w-404__liczba {
	font-family: var(--fi-display);
	font-weight: 200;
	font-size: 240px;
	line-height: 200px;
	letter-spacing: -0.05em;
	color: var(--fi-granat-900);
}

.fi-w-404__zero { color: var(--fi-blekit-500); font-weight: 700; }

.fi-w-szukaj {
	display: flex;
	flex-direction: column;
	gap: var(--foreto-space-3);
	align-items: flex-start;
}

.fi-w-szukaj__h1 { font-size: var(--wp--preset--font-size--h-1); line-height: var(--wp--custom--line--h-1); }

/* --- pigułka wyszukiwarki ------------------------------------------------- */

.fi-w-szukajka {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: 480px;
	height: 56px;
	padding: 0 8px 0 18px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--fi-lod);
}

.fi-w-szukajka:focus-within {
	background: var(--fi-biel);
	border-color: var(--fi-blekit-500);
	box-shadow: 0 0 0 4px rgb(0 166 237 / 0.15);
}

.fi-w-szukajka__pole {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	border: 0;
	background: none;
	font-family: var(--fi-body);
	font-size: 16px;
	color: var(--fi-tekst);
}

.fi-w-szukajka__pole:focus-visible { outline: none; }

.fi-w-szukajka__pole::-webkit-search-cancel-button { cursor: pointer; }

.fi-w-szukajka__guzik {
	width: 40px;
	height: 40px;
	border: 0;
	cursor: pointer;
}

.fi-w-dzialy {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.fi-w-dzial {
	height: 36px;
	text-decoration: none;
}

.fi-w-dzial:hover { background: var(--fi-granat-900); color: var(--fi-biel); }

/* ===========================================================================
   3. Dokument prawny.
   =========================================================================== */

.fi-w-prawna {
	display: grid;
	grid-template-columns: 260px minmax(0, 720px);
	gap: 64px;
	align-items: start;
}

.fi-w-prawna__spis[hidden] { display: none; }

.fi-w-prawna__spis {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fi-w-prawna__etykieta {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fi-tekst-2);
	font-weight: 500;
	line-height: 16px;
}

.fi-w-spis__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.fi-w-spis__link {
	display: block;
	padding-left: 14px;
	border-left: 2px solid transparent;
	font-size: 14px;
	line-height: 20px;
	color: var(--fi-tekst-2);
}

.fi-w-spis__link:hover { color: var(--fi-granat-900); }

.fi-w-spis__link--teraz {
	padding-left: 12px;
	border-left-color: var(--fi-blekit-500);
	color: var(--fi-blekit-600);
}

.fi-w-prawna__tresc {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

.fi-w-prawna__h1 {
	font-family: var(--fi-display);
	font-weight: 700;
	font-size: 44px;
	line-height: 50px;
	letter-spacing: -0.02em;
	color: var(--fi-granat-900);
	margin: 0;
}

.fi-w-prawna__data { margin: 0; }

.fi-w-prawna__tresc h2 {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 26px;
	line-height: 34px;
	letter-spacing: -0.01em;
	color: var(--fi-granat-900);
	margin: 16px 0 0;
	scroll-margin-top: 24px;
}

.fi-w-prawna__tresc h3 {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	color: var(--fi-granat-900);
	margin: 8px 0 0;
}

.fi-w-prawna__tresc p,
.fi-w-prawna__tresc li {
	font-size: 16px;
	line-height: 28px;
	color: var(--fi-tekst);
}

.fi-w-prawna__tresc p { margin: 0; }

/* Wypunktowanie wraca. Kit zdejmuje je z list w treści (reset), a w dokumencie
   prawnym lista bez znaków jest nie do odróżnienia od akapitów łamanych. */
.fi-w-prawna__tresc ul { margin: 0; padding-left: 22px; list-style: disc; }
.fi-w-prawna__tresc ol { margin: 0; padding-left: 22px; list-style: decimal; }
.fi-w-prawna__tresc li { margin-bottom: 4px; }

.fi-w-prawna__tresc a {
	color: var(--fi-blekit-600);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ===========================================================================
   4. Pasek zgód i panel ustawień.
   =========================================================================== */

.fi-w-cookies {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	padding: 16px;
	pointer-events: none;
}

.fi-w-cookies[hidden] { display: none; }

.fi-w-cookies__karta {
	pointer-events: auto;
	max-width: calc(var(--foreto-wrap-max) + 2 * var(--foreto-wrap-gutter));
	margin-inline: auto;
	padding: 24px 28px;
	border-radius: 24px;
	background: var(--fi-biel);
	box-shadow: 0 24px 60px rgb(13 44 84 / 0.18);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.fi-w-cookies__glowa {
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 1 1 420px;
	min-width: 0;
}

.fi-w-cookies__ikona {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	color: var(--fi-granat-900);
}

.fi-w-cookies__tresc { min-width: 0; }

.fi-w-cookies__tytul {
	margin: 0;
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 16px;
	line-height: 24px;
	color: var(--fi-granat-900);
}

.fi-w-cookies__opis {
	margin: 2px 0 0;
	font-size: 14px;
	line-height: 22px;
	color: var(--fi-tekst-2);
}

.fi-w-cookies__link {
	color: var(--fi-blekit-600);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fi-w-cookies__akcje {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
	flex-wrap: wrap;
}

.fi-w-cookies__panel {
	flex: 1 1 100%;
	padding-top: 8px;
	border-top: var(--fi-linia);
}

.fi-w-cookies__panel[hidden] { display: none; }

/* --- przełączniki --------------------------------------------------------- */

.fi-w-zgody {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 12px;
}

.fi-w-zgody__etykieta {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 10px 0;
	cursor: pointer;
}

.fi-w-zgody__pole {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.fi-w-przelacznik {
	position: relative;
	width: 48px;
	height: 28px;
	border-radius: 999px;
	background: rgb(13 44 84 / 0.15);
	flex: 0 0 auto;
	margin-top: 2px;
	transition: background-color 0.15s ease;
}

.fi-w-przelacznik::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--fi-biel);
	box-shadow: 0 2px 6px rgb(0 0 0 / 0.2);
	transition: left 0.15s ease;
}

.fi-w-zgody__pole:checked ~ .fi-w-przelacznik { background: var(--fi-blekit-500); }
.fi-w-zgody__pole:checked ~ .fi-w-przelacznik::after { left: 23px; }
.fi-w-zgody__pole:disabled ~ .fi-w-przelacznik { opacity: 0.55; }
.fi-w-zgody__pole:disabled ~ .fi-w-zgody__tresc { cursor: default; }

.fi-w-zgody__pole:focus-visible ~ .fi-w-przelacznik {
	outline: 3px solid rgb(0 166 237 / 0.4);
	outline-offset: 3px;
}

.fi-w-zgody__tresc { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.fi-w-zgody__nazwa {
	font-family: var(--fi-display);
	font-weight: 600;
	font-size: 15px;
	line-height: 22px;
	color: var(--fi-granat-900);
}

.fi-w-zgody__stale {
	font-family: var(--fi-body);
	font-weight: 400;
	font-size: 12px;
	color: var(--fi-tekst-2);
	text-transform: none;
}

.fi-w-zgody__opis {
	font-size: 13px;
	line-height: 20px;
	color: var(--fi-tekst-2);
}

/* --- panel na stronie /cookies/ ------------------------------------------- */

.fi-w-ustawienia {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 28px;
	margin-top: 8px;
}

.fi-w-ustawienia__glowa {
	display: flex;
	align-items: center;
	gap: 16px;
}

.fi-w-ustawienia__akcje {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

/* ===========================================================================
   5. Ekrany wąskie.
   =========================================================================== */

@media (max-width: 1181px) {
	.fi-w-kontakt { grid-template-columns: 1fr; gap: 32px; }
	.fi-w-rejestrowe { padding: 24px; }
	.fi-w-rejestrowe__lista { grid-template-columns: 1fr; gap: 12px; }

	.fi-w-404 { grid-template-columns: 1fr; gap: 32px; }

	.fi-w-404__h1 { font-size: 44px; line-height: 50px; }

	.fi-w-szukaj__h1 { font-size: 40px; line-height: 46px; }

	.fi-w-404__panel { min-height: 260px; }

	.fi-w-404__liczba { font-size: 160px; line-height: 140px; }

	.fi-w-prawna { grid-template-columns: 1fr; gap: 24px; }

	.fi-w-prawna__spis { position: static; }

	/* Spis nad tekstem staje się poziomą listą — pionowa zabierałaby pół
	   ekranu przed pierwszym zdaniem dokumentu. */
	.fi-w-spis__lista { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; }

	.fi-w-spis__link { padding-left: 0; border-left: 0; }
	.fi-w-spis__link--teraz { padding-left: 0; color: var(--fi-blekit-600); }
}

@media (max-width: 781px) {
	.fi-w-kontakt__formularz { padding: 24px; }



	.fi-w-osoba-karta { padding: 20px; gap: 16px; }
	.fi-w-osoba-karta__foto { width: 64px; height: 64px; border-radius: 16px; }

	.fi-w-404__h1 { font-size: 36px; line-height: 42px; }
	.fi-w-szukaj__h1 { font-size: 32px; line-height: 38px; }
	.fi-w-404__liczba { font-size: 120px; line-height: 110px; }

	.fi-w-prawna__h1 { font-size: 32px; line-height: 38px; }

	.fi-w-cookies { padding: 8px; }

	.fi-w-cookies__karta {
		padding: 20px;
		gap: 16px;
		max-height: 80vh;
		overflow-y: auto;
	}

	.fi-w-cookies__akcje { width: 100%; }
	.fi-w-cookies__akcje .fi-btn { flex: 1 1 auto; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	.fi-w-przelacznik,
	.fi-w-przelacznik::after { transition: none; }
	.fi-w-osoba-karta__foto { animation: none; }
}
