/* =========================================================
   Fitobeczka - style motywu
   Kolory i fonty są w theme.json (Wygląd > Edytor > Style).
   ========================================================= */

:root {
	--fb-piasek: var(--wp--preset--color--piasek, #F3EADD);
	--fb-krem: var(--wp--preset--color--krem, #FBF6EF);
	--fb-drewno: var(--wp--preset--color--drewno-jasne, #E8D9C4);
	--fb-linia: var(--wp--preset--color--linia, #DCC9AF);
	--fb-braz: var(--wp--preset--color--braz, #2B1E15);
	--fb-braz-sredni: var(--wp--preset--color--braz-sredni, #5A3E2B);
	--fb-braz-jasny: #6B5141;
	--fb-karmel: var(--wp--preset--color--karmel, #7E5131);
	--fb-zielen: var(--wp--preset--color--zielen, #10482D);
	--fb-mech: var(--wp--preset--color--mech, #E2E6D8);
	--fb-ciemna-karta: #3A291D;
	--fb-na-ciemnym: #CDB79E;
	--fb-zloty: #D9B48C;
	--fb-blad: #A33A2A;
	--fb-font-naglowki: var(--wp--preset--font-family--naglowki, "Bricolage Grotesque", system-ui, sans-serif);
}

/* ---------- Układ ogólny ---------- */

body { margin: 0; }
body .wp-site-blocks > *,
body .wp-block-post-content > * { margin-block: 0; }

.fb-wrap {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto !important;
	padding-inline: 24px;
	box-sizing: border-box;
}
.fb-waskie { max-width: 920px; }

.fb-section { padding-block: clamp(64px, 8vw, 104px); }
.fb-section--bez-gory { padding-top: 0; }
.fb-section--mala { padding-block: 40px; }
.fb-intro { padding-top: clamp(48px, 6vw, 72px); padding-bottom: 40px; }
.fb-hero { padding-top: clamp(48px, 6vw, 80px); }

.fb-section--ciemna { background: var(--fb-braz); color: var(--fb-piasek); }
.fb-section--zielona { background: var(--fb-zielen); color: var(--fb-piasek); }
.fb-section--mech { background: var(--fb-mech); }
.fb-section--krem { background: var(--fb-krem); border-block: 1px solid var(--fb-linia); }

.fb-section--ciemna p,
.fb-section--ciemna li { color: var(--fb-na-ciemnym); }
.fb-section--zielona p { color: #E6DCCB; }
.fb-section--mech h2 { color: var(--fb-zielen); }

/* Odstępy w sekcjach */
body .fb-tytul-sekcji { margin-bottom: 44px; }
body .fb-odstep-dol { margin-bottom: 36px; }

/* ---------- Typografia ---------- */

.fb-akcent { color: var(--fb-zielen); }
body .fb-lead {
	font-size: 1.2rem;
	color: var(--fb-braz-sredni);
	max-width: 600px;
}
.fb-section--zielona .fb-lead { color: #E6DCCB; }
.fb-section--ciemna .fb-lead { color: var(--fb-na-ciemnym); }

.fb-eyebrow {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fb-karmel);
}
.fb-section--ciemna .fb-eyebrow,
.fb-karta--ciemna .fb-eyebrow { color: var(--fb-zloty); }
.fb-section--mech .fb-eyebrow { color: var(--fb-zielen); }
.fb-karta--zielona .fb-eyebrow { color: #CFE0C9; }

.fb-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	background: var(--fb-mech);
	color: var(--fb-zielen);
	font-weight: 700;
	font-size: 14px;
	padding: 8px 14px;
	border-radius: 999px;
}
.fb-badge::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--fb-ic-lisc) center / contain no-repeat;
	mask: var(--fb-ic-lisc) center / contain no-repeat;
}

.fb-notka { font-size: 14px; color: var(--fb-braz-jasny); }
.fb-section--ciemna .fb-notka { color: var(--fb-na-ciemnym); }

.fb-link-strzalka a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	text-decoration: none;
}
.fb-link-strzalka a::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--fb-ic-strzalka) center / contain no-repeat;
	mask: var(--fb-ic-strzalka) center / contain no-repeat;
	transition: transform .2s;
}
.fb-link-strzalka a:hover::after { transform: translateX(3px); }

/* ---------- Przyciski ---------- */

.wp-block-button__link { min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.fb-btn-jasny .wp-block-button__link { background: var(--fb-piasek); color: var(--fb-zielen); }
.fb-btn-jasny .wp-block-button__link:hover { background: #fff; color: var(--fb-zielen); }
.fb-btn-obrys-jasny .wp-block-button__link { color: var(--fb-piasek); border-color: var(--fb-piasek); }
.fb-btn-obrys-jasny .wp-block-button__link:hover { background: rgba(243, 234, 221, .12); color: var(--fb-piasek); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(43, 30, 21, .06); color: var(--fb-braz); }
.fb-przyciski-pelne .wp-block-button { width: 100%; }
.fb-przyciski-pelne .wp-block-button__link { width: 100%; }

/* ---------- Nagłówek ---------- */

header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	.admin-bar header.wp-block-template-part { top: 0; position: relative; }
}
.fb-header {
	background: var(--fb-piasek);
	border-bottom: 1px solid var(--fb-linia);
}
.fb-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 32px;
	padding-block: 12px;
}
body .fb-header__inner > * { margin: 0; }
.fb-logo { margin: 0; }
.fb-logo img { height: 46px; width: auto; display: block; }
.fb-nav { font-weight: 600; font-size: 16px; }
.fb-nav .wp-block-navigation__container { gap: 4px 28px; }
.fb-nav a { color: var(--fb-braz); text-decoration: none; padding-block: 8px; }
.fb-nav a:hover { color: var(--fb-zielen); text-decoration: underline; text-underline-offset: 6px; }
.fb-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--fb-piasek); padding: 24px; }
.fb-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size: 22px; }
.fb-header__cta .wp-block-button__link { min-height: 44px; padding: 0 22px; font-size: 15px; }
@media (max-width: 600px) {
	.fb-logo img { height: 38px; }
	.fb-header__inner { gap: 8px 16px; }
	.fb-header__cta { order: 3; }
}

/* ---------- Siatki i kolumny ---------- */

.fb-grid { display: grid; gap: 20px; }
body .fb-grid > * { margin: 0; }
.fb-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); }
.fb-grid-2.fb-grid--ciasna { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.fb-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.fb-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.fb-grid--ciasna { gap: 12px; }
.fb-section--mech .fb-grid-3.fb-grid--ciasna { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); }

body .fb-split { gap: clamp(32px, 5vw, 56px); align-items: center; margin-bottom: 0; }
.fb-split--produkt { align-items: flex-start; }
.fb-split--formularz,
.fb-split--zamow { align-items: flex-start; }
@media (min-width: 782px) {
	body .wp-block-columns.fb-split--formularz > .wp-block-column:last-child,
	body .wp-block-columns.fb-split--zamow > .wp-block-column.fb-kolumna-formularz { flex-grow: 1.6; }
	body .wp-block-columns.fb-split > .wp-block-column.fb-kolumna-waska { flex-grow: 0.75; }
}
.fb-kolumna-boczna { display: flex; flex-direction: column; gap: 20px; }
body .fb-kolumna-boczna > * { margin: 0; }

.fb-naglowek-sekcji {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 52px;
}
body .fb-naglowek-sekcji > * { margin: 0; }
.fb-naglowek-sekcji > h1,
.fb-naglowek-sekcji > h2 { flex: 1 1 480px; max-width: 760px; }
.fb-naglowek-sekcji > p { flex: 0 1 460px; }
.fb-intro .fb-naglowek-sekcji { margin-bottom: 0; }

/* ---------- Zdjęcia ---------- */

.fb-foto { margin: 0; }
.fb-foto img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 32px;
	object-fit: cover;
}
.fb-foto--wysokie img { aspect-ratio: 11 / 13; max-height: 640px; }

/* ---------- Karty ---------- */

.fb-karta {
	background: var(--fb-krem);
	border-radius: 24px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
}
body .fb-karta > * { margin: 0; }
.fb-karta h3 { font-size: 1.5rem; }
.fb-karta p { color: var(--fb-braz-sredni); font-size: 16px; }
.fb-karta--obrys { border: 1px solid var(--fb-linia); }
.fb-karta--mala { padding: 22px; border-radius: 20px; }
.fb-karta--mech { background: var(--fb-mech); }
.fb-karta--mech p { color: var(--fb-braz); }
.fb-karta--ciemna { background: var(--fb-ciemna-karta); color: var(--fb-piasek); }
.fb-karta--ciemna p,
.fb-karta--ciemna li { color: var(--fb-na-ciemnym); }
.fb-karta--ciemna strong { color: var(--fb-piasek); }
.fb-section--ciemna .fb-karta--ciemna { background: var(--fb-ciemna-karta); }
.fb-kolumna-boczna .fb-karta--ciemna { background: var(--fb-braz); border-radius: 28px; }

.fb-karta--sciezka { padding: clamp(28px, 4vw, 40px); gap: 18px; border: 1px solid var(--fb-linia); }
.fb-karta--sciezka h2 { font-size: clamp(28px, 3vw, 40px); }
.fb-karta--sciezka ul { padding-left: 1.1em; color: var(--fb-braz-sredni); display: flex; flex-direction: column; gap: 8px; }
.fb-karta--zielona { background: var(--fb-zielen); color: var(--fb-piasek); border-color: var(--fb-zielen); }
.fb-karta--zielona ul,
.fb-karta--zielona p { color: #E6DCCB; }
.fb-karta--zielona .fb-link-strzalka a { color: var(--fb-piasek); }

.fb-karta.fb-karta--produkt {
	flex-direction: row;
	flex-wrap: nowrap;
	padding: 0;
	gap: 0 !important;
	overflow: hidden;
	border-radius: 28px;
	align-items: stretch !important;
	margin-bottom: 0;
}
.fb-karta--produkt > .wp-block-column:last-child {
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
body .fb-karta--produkt > .wp-block-column:last-child > * { margin: 0; }
.fb-karta--produkt .fb-foto,
.fb-karta--produkt .fb-foto img { height: 100%; border-radius: 0; }
.fb-karta--produkt .fb-foto img { aspect-ratio: 1; max-height: 520px; }
@media (max-width: 781px) {
	.fb-karta.fb-karta--produkt { flex-direction: column; }
	.fb-karta--produkt .fb-foto img { aspect-ratio: 4 / 3; }
}

/* Ikony w kartach */
.fb-ikona { position: relative; }
.fb-ikona::before {
	content: "";
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--fb-mech);
	flex: none;
}
.fb-ikona::after {
	content: "";
	position: absolute;
	top: 45px;
	left: 45px;
	width: 26px;
	height: 26px;
	background: var(--fb-zielen);
	-webkit-mask: var(--fb-ic) center / contain no-repeat;
	mask: var(--fb-ic) center / contain no-repeat;
}
.fb-karta--ciemna.fb-ikona::before { background: rgba(217, 180, 140, .14); }
.fb-karta--ciemna.fb-ikona::after { background: var(--fb-zloty); }

/* Kroki */
.fb-krok { border-top: 1px solid #5A3E2B; padding-top: 24px; }
body .fb-krok > * { margin: 0; }
.fb-krok h3 { margin: 6px 0 8px !important; }
.fb-krok p { font-size: 16px; }
.fb-krok--jasny { border-top: 2px solid var(--fb-zielen); }
.fb-krok--jasny p { color: var(--fb-braz-sredni); }
.fb-num {
	font-family: var(--fb-font-naglowki);
	font-size: 44px;
	font-weight: 700;
	line-height: 1;
	color: #B98A5E;
}
.fb-krok--jasny .fb-num,
.fb-wiersz .fb-num { color: var(--fb-karmel); }

/* Lista numerowana (Wiedza) */
.fb-lista-numerowana { gap: 0 56px; }
.fb-wiersz {
	display: grid;
	grid-template-columns: 56px 1fr;
	column-gap: 16px;
	row-gap: 6px;
	padding: 24px 0;
	border-top: 1px solid var(--fb-linia);
}
body .fb-wiersz > * { margin: 0; }
.fb-wiersz > .fb-num { grid-row: span 2; font-size: 28px; }
.fb-wiersz p { color: var(--fb-braz-sredni); font-size: 16px; }

/* Małe elementy */
.fb-mini {
	background: var(--fb-krem);
	border-radius: 18px;
	padding: 18px 20px;
	font-size: 14px;
	color: var(--fb-braz-sredni);
	line-height: 1.4;
}
.fb-mini strong { font-size: 18px; color: var(--fb-braz); }

.fb-pill {
	align-self: flex-start;
	width: fit-content;
	background: var(--fb-braz);
	color: var(--fb-piasek) !important;
	font-size: 13px !important;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 999px;
}
.fb-tag {
	align-self: flex-start;
	width: fit-content;
	background: var(--fb-mech);
	color: var(--fb-zielen) !important;
	font-size: 13px !important;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
}
.fb-lacina { font-style: italic; font-size: 14px !important; color: var(--fb-braz-jasny) !important; margin-top: -8px !important; }
.fb-karta--ziolo { padding: 24px; border-radius: 20px; gap: 8px; }
.fb-karta--ziolo h3 { font-size: 22px; }
.fb-karta--ziolo p { font-size: 15px; }
.fb-protokol ol { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--fb-braz-sredni); font-size: 15px; }
.fb-protokol h3 { font-size: 30px; }

.fb-cena { line-height: 1.3; font-size: 14px; color: var(--fb-braz-jasny) !important; }
.fb-cena strong {
	display: inline-block;
	font-family: var(--fb-font-naglowki);
	font-size: 40px;
	color: var(--fb-braz);
	line-height: 1.1;
}
.fb-karta--produkt .fb-cena strong { font-size: 30px; }

/* ---------- Listy ---------- */

.fb-checks { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; color: var(--fb-braz-sredni); font-size: 15px; }
.fb-checks li { position: relative; padding-left: 30px; }
.fb-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
	background: var(--fb-zielen);
	-webkit-mask: var(--fb-ic-check) center / contain no-repeat;
	mask: var(--fb-ic-check) center / contain no-repeat;
}
.fb-checks--poziomo { flex-direction: row; flex-wrap: wrap; gap: 10px 28px; font-weight: 600; margin-top: 36px !important; }

.fb-chipy { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.fb-chipy li {
	background: var(--fb-krem);
	border: 1px solid var(--fb-linia);
	border-radius: 999px;
	padding: 10px 20px;
	font-weight: 700;
	font-size: 15px;
}
.fb-chipy--linki li { padding: 0; }
.fb-chipy--linki a { display: block; padding: 10px 20px; color: var(--fb-braz); text-decoration: none; }
.fb-chipy--linki a:hover { color: var(--fb-zielen); }
.fb-chipy--linki { margin-top: 32px !important; }

.fb-specyfikacja { list-style: none; padding: 0; margin: 0; }
.fb-specyfikacja li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--fb-drewno);
	color: var(--fb-braz-jasny);
}
.fb-specyfikacja strong { color: var(--fb-braz); text-align: right; }
.fb-specyfikacja--olejki li { border-color: #C3CDB3; color: var(--fb-braz); flex-wrap: wrap; }
.fb-specyfikacja--olejki strong { font-size: 19px; text-align: left; }

.fb-uwagi { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.fb-uwagi li {
	position: relative;
	background: var(--fb-piasek);
	border-radius: 16px;
	padding: 16px 18px 16px 48px;
	font-size: 15px;
}
.fb-uwagi li::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 18px;
	width: 20px;
	height: 20px;
	background: var(--fb-karmel);
	-webkit-mask: var(--fb-ic-uwaga) center / contain no-repeat;
	mask: var(--fb-ic-uwaga) center / contain no-repeat;
}

.fb-kroki-lista { list-style: none; padding: 0; counter-reset: fb; display: flex; flex-direction: column; gap: 18px; }
.fb-kroki-lista li { counter-increment: fb; position: relative; padding-left: 48px; font-size: 15px; }
.fb-kroki-lista li::before {
	content: counter(fb);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--fb-piasek);
	color: var(--fb-braz);
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ---------- Banery ---------- */

.fb-baner {
	border-radius: 32px;
	padding: clamp(32px, 5vw, 56px);
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
	justify-content: space-between;
}
body .fb-baner > * { margin: 0; }
.fb-baner--zielony { background: var(--fb-zielen); color: var(--fb-piasek); }
.fb-baner--ciemny { background: var(--fb-braz); color: var(--fb-piasek); }
.fb-baner__tekst { flex: 1 1 420px; min-width: 0; }
.fb-baner__tekst h2 { font-size: clamp(30px, 3.4vw, 44px); margin: 0 0 12px; }
.fb-baner__tekst p { color: #E6DCCB; margin: 0; max-width: 560px; }
.fb-baner--ciemny .fb-baner__tekst p { color: var(--fb-na-ciemnym); }

/* ---------- FAQ ---------- */

.fb-faq {
	background: var(--fb-krem);
	border-radius: 20px;
	padding: 22px 28px;
}
body .fb-faq { margin-top: 12px; }
.fb-faq summary { font-weight: 800; font-size: 18px; cursor: pointer; }
.fb-faq p { margin: 12px 0 0; color: var(--fb-braz-sredni); }

/* ---------- Stopka ---------- */

.fb-footer { background: var(--fb-braz); color: var(--fb-na-ciemnym); font-size: 15px; padding-top: 72px; }
.fb-footer a { color: var(--fb-na-ciemnym); text-decoration: none; line-height: 2; }
.fb-footer a:hover { color: var(--fb-piasek); text-decoration: underline; }
.fb-footer__kolumny { gap: 40px; padding-bottom: 40px; }
body .fb-footer__kol > * { margin: 0; }
.fb-footer__tytul { color: var(--fb-piasek); font-weight: 700; font-size: 16px; margin-bottom: 6px !important; }
.fb-footer__logo { margin: 0; }
.fb-footer__logo img { width: 140px; height: auto; }
.fb-footer__dol {
	border-top: 1px solid #4A3527;
	padding-block: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	justify-content: space-between;
	font-size: 14px;
}
body .fb-footer__dol > * { margin: 0; }
.fb-footer__dol a { margin-left: 16px; }

/* ---------- Strony tekstowe (regulamin, polityka, wpisy) ---------- */

.fb-tekst { padding: clamp(48px, 6vw, 80px) 24px; }
.fb-tekst h1 { font-size: clamp(2.25rem, 4vw, 3.25rem); }

/* ---------- Formularze ---------- */

.fb-form-wrap { scroll-margin-top: 100px; }
.fb-form {
	background: var(--fb-krem);
	border-radius: 28px;
	padding: clamp(24px, 4vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.fb-section--krem .fb-form { background: var(--fb-piasek); }
.fb-form__sekcja { font-family: var(--fb-font-naglowki); font-size: 26px; font-weight: 700; margin: 0; }
.fb-form__siatka { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.fb-pole { display: flex; flex-direction: column; gap: 6px; }
.fb-pole > label { font-weight: 700; font-size: 15px; }
.fb-pole--full { grid-column: 1 / -1; }
.fb-pole--waskie { max-width: 200px; }
.fb-pole input:not([type="checkbox"]),
.fb-pole select,
.fb-pole textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 52px;
	border-radius: 14px;
	border: 1px solid #CDB79E;
	background: var(--fb-piasek);
	color: var(--fb-braz);
	padding: 0 16px;
	font: inherit;
	font-size: 16px;
}
.fb-section--krem .fb-pole input:not([type="checkbox"]),
.fb-section--krem .fb-pole select,
.fb-section--krem .fb-pole textarea { background: var(--fb-krem); }
.fb-pole textarea { padding: 14px 16px; resize: vertical; }
.fb-pole input:focus,
.fb-pole select:focus,
.fb-pole textarea:focus { outline: 2px solid var(--fb-zielen); outline-offset: 1px; border-color: var(--fb-zielen); }
.fb-wym { color: var(--fb-karmel); }
.fb-check { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; font-weight: 700; cursor: pointer; }
.fb-check input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--fb-zielen); flex: none; }
.fb-pole > label.fb-check--zgoda { font-size: 14px; font-weight: 400; color: var(--fb-braz-sredni); }
.fb-pole--blad input,
.fb-pole--blad select,
.fb-pole--blad textarea { border-color: var(--fb-blad) !important; }
.fb-pole__blad { color: var(--fb-blad); font-size: 14px; font-weight: 600; }
.fb-form-bledy {
	background: #F6E3DC;
	border: 1px solid var(--fb-blad);
	color: var(--fb-braz);
	border-radius: 16px;
	padding: 16px 20px;
	margin-bottom: 16px;
	font-size: 15px;
}
.fb-form-bledy ul { margin: 6px 0 0; padding-left: 20px; }
.fb-form-bledy a { color: var(--fb-blad); }
.fb-form__stopka { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--fb-linia); padding-top: 24px; }
.fb-form__przycisk {
	width: 100%;
	min-height: 60px;
	border: 0;
	border-radius: 999px;
	background: var(--fb-zielen);
	color: var(--fb-piasek);
	font: inherit;
	font-size: 18px;
	font-weight: 800;
	cursor: pointer;
}
.fb-form__przycisk:hover { background: #0B3320; }
.fb-form__przycisk[disabled] { opacity: .6; cursor: wait; }
.fb-form__notka { margin: 0; text-align: center; font-size: 13px; color: var(--fb-braz-jasny); }
.fb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
[data-fb-grupa][hidden] { display: none !important; }

.fb-produkt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	background: var(--fb-mech);
	border: 2px solid var(--fb-zielen);
	border-radius: 20px;
	padding: 16px;
}
.fb-produkt img { width: 96px; height: 96px; object-fit: cover; border-radius: 14px; }
.fb-produkt__opis { flex: 1 1 180px; display: flex; flex-direction: column; line-height: 1.35; }
.fb-produkt__opis strong { font-size: 20px; }
.fb-produkt__opis span,
.fb-produkt__cena span { font-size: 14px; color: var(--fb-braz-sredni); }
.fb-produkt__cena { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.3; }
.fb-produkt__cena strong { font-family: var(--fb-font-naglowki); font-size: 22px; white-space: nowrap; }

.fb-form-ok {
	background: var(--fb-krem);
	border: 2px solid var(--fb-zielen);
	border-radius: 28px;
	padding: clamp(28px, 5vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
}
.fb-form-ok > * { margin: 0; }
.fb-form-ok h2 { font-size: clamp(28px, 3.4vw, 40px); }
.fb-form-ok__ikona {
	width: 64px;
	height: 64px;
	border-radius: 20px;
	background: var(--fb-zielen);
	position: relative;
}
.fb-form-ok__ikona::after {
	content: "";
	position: absolute;
	inset: 16px;
	background: var(--fb-piasek);
	-webkit-mask: var(--fb-ic-check) center / contain no-repeat;
	mask: var(--fb-ic-check) center / contain no-repeat;
}

/* ---------- Mapa punktów ---------- */

.fb-mapa { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.fb-mapa__panel { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.fb-mapa__mapa {
	flex: 1.6 1 520px;
	min-width: 0;
	min-height: 640px;
	border-radius: 28px;
	overflow: hidden;
	background: #DDE3D2;
	z-index: 0;
}
@media (max-width: 700px) { .fb-mapa__mapa { min-height: 420px; order: -1; } }
.fb-mapa__szukaj { display: flex; gap: 10px; }
.fb-mapa__szukaj input {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	border-radius: 999px;
	border: 1px solid #CDB79E;
	background: var(--fb-krem);
	padding: 0 20px;
	font: inherit;
}
.fb-mapa__lokalizacja,
.fb-mapa__filtry button {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid #CDB79E;
	background: transparent;
	color: var(--fb-braz);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.fb-mapa__lokalizacja { min-height: 52px; background: var(--fb-zielen); color: var(--fb-piasek); border: 0; }
.fb-mapa__filtry { display: flex; flex-wrap: wrap; gap: 8px; }
.fb-mapa__filtry button[aria-pressed="true"] { background: var(--fb-braz); color: var(--fb-piasek); border-color: var(--fb-braz); }
.fb-mapa__licznik { margin: 0; font-size: 14px; font-weight: 700; color: var(--fb-braz-jasny); }
.fb-mapa__lista { display: flex; flex-direction: column; gap: 12px; max-height: 560px; overflow: auto; padding: 2px; }
.fb-punkt {
	background: var(--fb-krem);
	border: 1px solid var(--fb-linia);
	border-radius: 20px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	cursor: pointer;
	text-align: left;
}
.fb-punkt.is-aktywny { border: 2px solid var(--fb-zielen); }
.fb-punkt__gora { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.fb-punkt h3 { margin: 0; font-size: 20px; }
.fb-punkt__km { font-size: 14px; font-weight: 700; color: var(--fb-braz-jasny); white-space: nowrap; }
.fb-punkt__info { margin: 0; font-size: 14px; color: var(--fb-braz-jasny); }
.fb-punkt__tagi { display: flex; flex-wrap: wrap; gap: 6px; }
.fb-punkt__tagi span { background: var(--fb-drewno); font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.fb-punkt__tagi span:first-child { background: var(--fb-zielen); color: var(--fb-piasek); }
.fb-punkt__akcje { display: flex; flex-wrap: wrap; gap: 8px; }
.fb-punkt__akcje a {
	flex: 1 1 120px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
	border: 1.5px solid var(--fb-braz);
	color: var(--fb-braz);
}
.fb-punkt__akcje a:first-child { background: var(--fb-zielen); border-color: var(--fb-zielen); color: var(--fb-piasek); }
.fb-mapa__pusto { background: var(--fb-krem); border-radius: 20px; padding: 24px; font-size: 15px; }
.fb-pin { background: none; border: 0; }
.fb-pin svg { display: block; filter: drop-shadow(0 4px 6px rgba(43, 30, 21, .3)); }
.fb-mapa .leaflet-popup-content { font-family: inherit; font-size: 14px; }
.fb-mapa .leaflet-popup-content strong { font-size: 16px; }

/* ---------- Dostępność ---------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
:focus-visible { outline: 2px solid var(--fb-karmel); outline-offset: 3px; }

/* ---------- Ikony (generowane) ---------- */
:root {
	--fb-ic-ksiezyc: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 14A8 8 0 1 1 10 4a6 6 0 0 0 10 10z%22/%3E%3C/svg%3E");
	--fb-ic-plomien: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3c1 4 5 6 5 11a5 5 0 0 1-10 0c0-3 2-4 2-7 2 1 3 3 3 5%22/%3E%3C/svg%3E");
	--fb-ic-oddech: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 8h11a3 3 0 1 0-3-3M3 12h16a3 3 0 1 1-3 3M3 16h7%22/%3E%3C/svg%3E");
	--fb-ic-skora: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2 6 6 2-6 2-2 6-2-6-6-2 6-2z%22/%3E%3C/svg%3E");
	--fb-ic-lisc: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 21c0-9 5-15 15-16-1 10-7 15-15 16z%22/%3E%3Cpath d=%22M5 21l7-7%22/%3E%3C/svg%3E");
	--fb-ic-zegar: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 7v5l3 2%22/%3E%3C/svg%3E");
	--fb-ic-pinezka: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-7-6.5-7-12a7 7 0 0 1 14 0c0 5.5-7 12-7 12z%22/%3E%3Ccircle cx=%2212%22 cy=%229%22 r=%222.5%22/%3E%3C/svg%3E");
	--fb-ic-profil: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v14H4zM4 9h16M9 13h6%22/%3E%3C/svg%3E");
	--fb-ic-szkolenie: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 19V8l8-4 8 4v11M9 19v-6h6v6%22/%3E%3C/svg%3E");
	--fb-ic-materialy: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h11l5 5v9H4zM15 5v5h5%22/%3E%3C/svg%3E");
	--fb-ic-dom: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 11l9-7 9 7M5 10v10h14V10%22/%3E%3C/svg%3E");
	--fb-ic-firma: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 21V5l8-2v18M12 9h8v12%22/%3E%3C/svg%3E");
	--fb-ic-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12l5 5L20 6%22/%3E%3C/svg%3E");
	--fb-ic-strzalka: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14M13 6l6 6-6 6%22/%3E%3C/svg%3E");
	--fb-ic-uwaga: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%229%22/%3E%3Cpath d=%22M12 8v5M12 16v.01%22/%3E%3C/svg%3E");
}
.fb-ic-ksiezyc { --fb-ic: var(--fb-ic-ksiezyc); }
.fb-ic-plomien { --fb-ic: var(--fb-ic-plomien); }
.fb-ic-oddech { --fb-ic: var(--fb-ic-oddech); }
.fb-ic-skora { --fb-ic: var(--fb-ic-skora); }
.fb-ic-lisc { --fb-ic: var(--fb-ic-lisc); }
.fb-ic-zegar { --fb-ic: var(--fb-ic-zegar); }
.fb-ic-pinezka { --fb-ic: var(--fb-ic-pinezka); }
.fb-ic-profil { --fb-ic: var(--fb-ic-profil); }
.fb-ic-szkolenie { --fb-ic: var(--fb-ic-szkolenie); }
.fb-ic-materialy { --fb-ic: var(--fb-ic-materialy); }
.fb-ic-dom { --fb-ic: var(--fb-ic-dom); }
.fb-ic-firma { --fb-ic: var(--fb-ic-firma); }
.fb-ic-check { --fb-ic: var(--fb-ic-check); }
.fb-ic-strzalka { --fb-ic: var(--fb-ic-strzalka); }
.fb-ic-uwaga { --fb-ic: var(--fb-ic-uwaga); }
