/*
 * NestorMedica – katalog: wyszukiwarka, karty placówek, mapa, województwa.
 * Przeniesione 1:1 z makiet E0 (projekt/assets/komponenty.css, makiety/makiety.css, strona-glowna.html).
 * Kolory i rozmiary z theme.json motywu pixelmaker-nestormedica (zmienne --wp--preset--* / --wp--custom--*).
 */

.nm-szukaj, .nm-szukaj *, .nm-split, .nm-split *, .nm-woj-lista, .nm-woj-lista * { box-sizing: border-box; }
.nm-i { width: 1.25em; height: 1.25em; flex: none; vertical-align: -0.25em; }
.nm-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nm-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* Przyciski katalogu (te same proporcje co przyciski motywu) */
.nm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	min-height: 3.25rem; padding: 0.75rem 1.5rem;
	border: 2px solid transparent; border-radius: var(--wp--custom--radius--button, 8px);
	font: 700 1.0625rem/1.1 var(--wp--preset--font-family--heading); letter-spacing: 0.01em;
	text-decoration: none; cursor: pointer; white-space: nowrap;
	transition: background-color var(--wp--custom--transition, 160ms ease), color var(--wp--custom--transition, 160ms ease), border-color var(--wp--custom--transition, 160ms ease);
}
.nm-btn:hover { text-decoration: none; }
.nm-btn--primary { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); }
.nm-btn--primary:hover { background: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--on-primary); }
.nm-btn--secondary { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
.nm-btn--secondary:hover { background: var(--wp--preset--color--base-2); color: var(--wp--preset--color--primary); }
.nm-btn--small { min-height: var(--wp--custom--control--min, 2.75rem); padding: 0.5rem 1rem; font-size: var(--wp--preset--font-size--small); }
.nm-tel { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 650; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--primary); text-decoration: none; white-space: nowrap; min-height: var(--wp--custom--control--min, 2.75rem); }
.nm-tel:hover { text-decoration: underline; }

/* Wyszukiwarka: pola z etykietą nad wartością (czytelne dla 40+), przycisk na końcu */
.nm-szukaj__pola { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 0.75fr) auto; gap: 0.75rem; }
.nm-szukaj__pola.bez-ceny { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) minmax(0, 0.95fr) auto; }
.nm-szukaj__pola.bez-nazwy { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.95fr) minmax(0, 0.75fr) auto; }
.nm-szukaj__pola.bez-nazwy.bez-ceny { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.95fr) auto; }
.nm-pole { display: grid; gap: 0.125rem; padding: 0.625rem 1rem; border: 1.5px solid var(--wp--custom--field--border, #858a90); border-radius: var(--wp--custom--radius--m, 8px); background: var(--wp--preset--color--surface); }
.nm-pole:focus-within { border-color: var(--wp--preset--color--primary); outline: 3px solid rgb(18 57 79 / 0.2); }
.nm-pole label { font-size: var(--wp--preset--font-size--small); font-weight: 650; color: var(--wp--preset--color--heading); line-height: 1.3; }
.nm-pole input, .nm-pole select { border: 0; padding: 0; margin: 0; font: inherit; font-size: var(--wp--preset--font-size--medium); background: transparent; color: var(--wp--preset--color--contrast); min-height: 1.75rem; width: 100%; appearance: none; box-shadow: none; }
.nm-pole input::placeholder { color: #6b6f74; opacity: 1; }
.nm-pole select { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2312394f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") no-repeat right center; padding-right: 1.75rem; cursor: pointer; }
.nm-pole input:focus, .nm-pole select:focus { outline: none; }
.nm-szukaj__pola .nm-btn { min-height: 100%; padding-inline: 2rem; }
.nm-szukaj__dol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin-top: 1rem; }
.nm-blisko { display: inline-flex; align-items: center; gap: 0.375rem; min-height: var(--wp--custom--control--min, 2.75rem); font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--primary); }

/*
 * Ciemny pas ze zdjęciem pod nagłówkiem strony (wyniki, karta placówki) – jak pierwszy ekran strony głównej:
 * zdjęcie (na karcie rozmyte zdjęcie placówki) pod granatowym przyciemnieniem, biały tekst.
 */
.nm-ciemny { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: var(--nm-pas, clamp(15rem, 19vw, 17.5rem)); padding-block: 2.5rem 2.75rem; background: var(--wp--preset--color--overlay); color: #fff; }
.nm-ciemny__tlo { position: absolute; inset: 0; z-index: -1; }
.nm-ciemny__tlo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nm-ciemny__tlo img.is-rozmyte { filter: blur(5px) saturate(0.9); transform: scale(1.08); }
.nm-ciemny__tlo::after { content: ""; position: absolute; inset: 0; background: rgb(11 34 48 / 0.74); }
.nm-ciemny h1, .nm-ciemny .nm-type, .nm-ciemny .nm-okruszki a, .nm-ciemny .nm-okruszki { color: #fff; }
.nm-ciemny .nm-okruszki ol, .nm-ciemny .nm-okruszki [aria-current] { color: rgb(255 255 255 / 0.78); }
.nm-ciemny .nm-okruszki li + li::before { color: rgb(255 255 255 / 0.55); }
.nm-ciemny .nm-type::before { background: var(--nm-zloto, var(--wp--preset--color--accent)); box-shadow: none; }
.nm-ciemny .nm-meta, .nm-ciemny .nm-karta__adres { color: rgb(255 255 255 / 0.86); }
.nm-ciemny :focus-visible { outline-color: var(--wp--custom--focus--on-dark, #f0c030); }

/* Podpowiedzi w polu wyszukiwarki (lista nad stroną, położenie ustawia podpowiedzi.js) */
.nm-podp { position: fixed; z-index: 1000; max-height: min(26rem, 60vh); overflow-y: auto; margin: 0; padding: 0.375rem; list-style: none; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px rgb(11 34 48 / 0.08), 0 22px 44px -18px rgb(11 34 48 / 0.45); text-align: left; }
.nm-podp[hidden] { display: none; }
.nm-podp__grupa { padding: 0.625rem 0.75rem 0.25rem; font: 700 0.9375rem/1.2 var(--wp--preset--font-family--heading); color: var(--wp--preset--color--muted); }
.nm-podp__opcja { display: grid; gap: 0.125rem; padding: 0.5rem 0.75rem; border-radius: 8px; color: var(--wp--preset--color--heading); cursor: pointer; }
.nm-podp__opcja b { font: 700 1.125rem/1.2 var(--wp--preset--font-family--heading); }
.nm-podp__opcja small { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }
.nm-podp__opcja:hover, .nm-podp__opcja[aria-selected="true"] { background: var(--wp--preset--color--base-2); }
.nm-podp__opcja[aria-selected="true"] { box-shadow: inset 0 0 0 2px var(--wp--preset--color--primary); }

/* Filtry / typy: zaokrąglone przyciski w jasnym polu, wybrany granatowy */
.nm-chips { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.nm-chip {
	display: inline-flex; align-items: center; gap: 0.5rem; min-height: var(--wp--custom--control--min, 2.75rem);
	padding: 0.375rem 1rem; border-radius: var(--wp--custom--radius--l, 10px);
	border: 1.5px solid transparent; background: var(--wp--preset--color--base-2); color: var(--wp--preset--color--heading);
	font: 600 0.9375rem/1.1 var(--wp--preset--font-family--heading); white-space: nowrap; text-decoration: none;
}
.nm-chip:hover { background: #e9e5dc; color: var(--wp--preset--color--heading); text-decoration: none; }
.nm-chip.is-active { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); }
.nm-chip small { font-size: inherit; font-weight: 500; opacity: 0.75; font-variant-numeric: tabular-nums; }
.nm-chip .nm-type { color: inherit; font-weight: 500; font-size: inherit; }

/* Typ placówki (kropka w kolorze typu) */
.nm-type { display: inline-flex; align-items: center; gap: 0.5rem; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--muted); }
.nm-type::before { content: ""; width: 0.625rem; height: 0.625rem; border-radius: 50%; background: var(--nm-typ); flex: none; }
[data-typ] { --nm-typ: var(--wp--custom--typ--prywatny, #12394f); }
[data-typ="dps"] { --nm-typ: var(--wp--custom--typ--dps, #1f6f78); }
[data-typ="zol"] { --nm-typ: var(--wp--custom--typ--zol, #6e4a6b); }
[data-typ="mieszkania"] { --nm-typ: var(--wp--custom--typ--mieszkania, #2d6a4f); }
[data-typ="dzienny"] { --nm-typ: var(--wp--custom--typ--dzienny, #4a4e54); }
[data-typ="hospicjum"] { --nm-typ: var(--wp--custom--typ--hospicjum, #8e3b4e); }
[data-typ="sanatorium"] { --nm-typ: var(--wp--custom--typ--sanatorium, #2c6493); }
[data-typ="turnus"] { --nm-typ: var(--wp--custom--typ--turnus, #8a5524); }
[data-typ="opieka"] { --nm-typ: var(--wp--custom--typ--opieka, #5a4a9c); }

/* Odznaki */
.nm-badge { display: inline-flex; align-items: center; gap: 0.375rem; min-height: 1.875rem; padding: 0.25rem 0.625rem; border-radius: var(--wp--custom--radius--s, 4px); font: 650 0.9375rem/1.2 var(--wp--preset--font-family--body); white-space: nowrap; }
.nm-badge .nm-i { width: 1.05rem; height: 1.05rem; }
.nm-badge--premium { background: var(--nm-zloto, var(--wp--preset--color--accent)); color: var(--wp--preset--color--on-accent); }
.nm-badge--verified { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent-2); }
.nm-badge--free { background: #e7f0eb; color: var(--wp--preset--color--accent-2); }
.nm-badge--free::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
.nm-badge--film { background: rgb(11 34 48 / 0.82); color: #fff; }

/* Karta pozioma (lista obok mapy; wzór: Airbnb) */
.nm-rows { display: grid; gap: 1rem; }
.nm-row {
	position: relative; display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.25rem;
	padding: 0.875rem; background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--l, 4px); box-shadow: 0 1px 2px rgb(11 34 48 / 0.07);
	transition: box-shadow 220ms ease, background-color 220ms ease;
}
.nm-row:hover { box-shadow: 0 16px 36px -18px rgb(11 34 48 / 0.35); }
/* Wyróżniona: złoty pasek z lewej. Wybrana (pinezka na mapie albo kursor): jasnozłote tło i granatowy pasek –
   ten sam granat co wybrana pinezka, więc od razu widać, która karta odpowiada której pinezce. */
.nm-row.is-premium::before { content: ""; position: absolute; z-index: 1; left: 0; top: 0; bottom: 0; width: 5px; border-radius: var(--wp--custom--radius--l, 10px) 0 0 var(--wp--custom--radius--l, 10px); background: var(--nm-zloto-pion, var(--wp--preset--color--accent)); }
.nm-row.is-premium.is-active::before { display: none; }
.nm-row.is-active, .nm-row.is-premium.is-active { background: #fbf4e2; box-shadow: inset 7px 0 0 var(--wp--preset--color--primary), 0 18px 40px -18px rgb(11 34 48 / 0.4); }
.nm-row.is-active .nm-card__name a { color: var(--wp--preset--color--primary); }
.nm-card__media { position: relative; min-height: 11.5rem; border-radius: var(--wp--custom--radius--m, 8px); overflow: hidden; background: var(--wp--preset--color--base-2); }
.nm-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nm-card__badges { position: absolute; left: 0.75rem; top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.375rem; max-width: calc(100% - 1.5rem); }
.nm-card__body { display: grid; gap: 0.5rem; align-content: start; padding: 0.25rem 0.25rem 0.25rem 0; }
.nm-card__name { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; line-height: 1.25; font-weight: 600; letter-spacing: -0.01em; }
.nm-card__name a { color: var(--wp--preset--color--heading); text-decoration: none; }
.nm-card__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.nm-card__name a:hover { text-decoration: underline; }
.nm-card__name a:focus-visible { outline: none; }
.nm-card__name a:focus-visible::after { outline: 3px solid var(--wp--custom--focus--color, #12394f); outline-offset: 3px; }
.nm-card__place { display: flex; gap: 0.375rem; align-items: center; margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nm-card__services { margin: 0; }
.nm-card__facts { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; margin-top: 0.25rem; }
.nm-price { font-family: var(--wp--preset--font-family--heading); font-size: 1.1875rem; font-weight: 700; color: var(--wp--preset--color--heading); }
.nm-price small { font-weight: 400; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nm-card__actions { position: relative; z-index: 2; display: flex; gap: 0.5rem; margin-top: 0.5rem; flex-wrap: wrap; }
.nm-row .nm-badge--free { position: relative; z-index: 2; }

/* Kafel zamiast zdjęcia (wpisy z rejestru bez zdjęć) */
.nm-tile { position: absolute; inset: 0; display: grid; align-content: end; gap: 0.25rem; padding: 1.125rem 1.25rem; background: color-mix(in srgb, var(--nm-typ) 7%, #f2eee6); color: var(--nm-typ); overflow: hidden; }
.nm-tile__town { font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: var(--wp--preset--color--heading); }
.nm-tile__note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nm-tile .nm-i { position: absolute; right: 1rem; top: 1rem; width: 2.5rem; height: 2.5rem; opacity: 0.55; }

@media (max-width: 640px) {
	.nm-row { grid-template-columns: minmax(0, 1fr); padding: 0; overflow: hidden; gap: 0; }
	.nm-row .nm-card__media { min-height: 0; aspect-ratio: 16 / 10; border-radius: 0; }
	.nm-row .nm-card__body { padding: 1rem 1.125rem 1.125rem; }
}

/* Lista obok mapy (strona główna; w E2 także wyniki). --nm-top = wysokość przyklejonego nagłówka */
.nm-split { --nm-top: 4.5rem; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr); box-shadow: inset 0 1px 0 var(--wp--preset--color--line); margin-block: 0 !important; }
.admin-bar .nm-split { --nm-top: calc(4.5rem + 32px); }
.nm-split__list { display: grid; gap: 1rem; align-content: start; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60) max(var(--wp--style--root--padding-left, 1rem), calc((100vw - var(--wp--style--global--wide-size, 1280px)) / 2)); }
.nm-listhead { display: flex; justify-content: space-between; align-items: center; gap: 0.25rem 1rem; flex-wrap: wrap; }
.nm-listhead h2 { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.nm-pusto { padding: 1.5rem; border-radius: var(--wp--custom--radius--l, 14px); background: var(--wp--preset--color--base-2); }
.nm-more { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 0.5rem; }
.nm-cities-h { margin: var(--wp--preset--spacing--40) 0 0; font-size: var(--wp--preset--font-size--large); }
.nm-cities { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0 0; padding: 0; list-style: none; }
.nm-cities a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: var(--wp--custom--control--min, 2.75rem); padding: 0.375rem 1rem; border-radius: var(--wp--custom--radius--m, 6px); background: var(--wp--preset--color--base-2); color: var(--wp--preset--color--heading); text-decoration: none; font-weight: 550; font-size: var(--wp--preset--font-size--small); }
.nm-cities a:hover { background: #e7e6e2; color: var(--wp--preset--color--heading); }
.nm-cities small { font-size: inherit; color: var(--wp--preset--color--muted); font-weight: 500; font-variant-numeric: tabular-nums; }

.nm-split__map { position: relative; }
.nm-split__sticky { position: sticky; top: var(--nm-top); height: calc(100vh - var(--nm-top)); height: calc(100dvh - var(--nm-top)); }
.nm-map { position: absolute; inset: 0; background: #f4f1ea; z-index: 0; }
.nm-maphint { position: absolute; z-index: 500; right: 1rem; top: 1rem; max-width: 16rem; margin: 0; padding: 0.75rem 1rem; border-radius: 10px; background: rgb(255 255 255 / 0.95); box-shadow: var(--wp--preset--shadow--subtle); font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--wp--preset--color--contrast); }
/* Strona główna: u góry z lewej legenda i podpowiedź (licznik obszaru), na dole panel „Pokaż na mapie” – wszystkie rodzaje
   w siatce 5 + 4 (pobyt stały, pod nim pozostałe, wyśrodkowane); rodzaj bez placówek nieaktywny („wkrótce”). Przybliżanie mapy
   przeniesione do prawego górnego rogu. */
.nm-split--glowna .leaflet-top.leaflet-left { left: auto; right: 0; }
.nm-mapgora { position: absolute; z-index: 500; top: 0.75rem; left: 0.75rem; display: grid; justify-items: start; gap: 0.5rem; max-width: calc(100% - 4.5rem); pointer-events: none; }
.nm-mapgora > * { pointer-events: auto; }
.nm-mapdol { position: absolute; z-index: 500; left: 0.75rem; right: 0.75rem; bottom: 1.75rem; pointer-events: none; }
.nm-mapdol > * { pointer-events: auto; }
.nm-mapfiltr { box-sizing: border-box; min-width: 0; margin: 0; padding: 0.625rem 0.5rem 0.5rem; border: 0; border-radius: 12px; background: rgb(255 255 255 / 0.96); box-shadow: var(--wp--preset--shadow--raised); }
/* Legenda pola jako zwykły nagłówek panelu (float – inaczej przeglądarki rysują ją na ramce) */
.nm-mapfiltr__etykieta { float: left; width: 100%; margin: 0 0 0.5rem; padding: 0 0.125rem; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--heading); }
.nm-mapfiltr__siatka { clear: both; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0.3125rem; }
/* Rodzaj: kropka w kolorze pinezek, krótka nazwa jak na przyciskach pod wyszukiwarką, pod nią liczba; zaznaczony – kolor rodzaju */
.nm-mapfiltr label { grid-column: span 2; display: flex; flex-direction: column; justify-content: center; gap: 0.125rem; min-width: 0; min-height: 3rem; padding: 0.375rem 0.5rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px rgb(11 34 48 / 0.14); font-size: 0.8125rem; line-height: 1.15; color: var(--wp--preset--color--heading); cursor: pointer; transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.nm-mapfiltr label:nth-child(6) { grid-column: 2 / span 2; }
.nm-mapfiltr label:not(.is-pusty):hover { background: var(--wp--preset--color--base-2); box-shadow: inset 0 0 0 1px var(--nm-typ, rgb(11 34 48 / 0.3)); }
.nm-mapfiltr label:has(:checked) { background: var(--nm-typ); box-shadow: none; color: #fff; }
.nm-mapfiltr label:has(:checked):hover { background: var(--nm-typ); }
.nm-mapfiltr label:has(:focus-visible) { outline: 3px solid var(--wp--custom--focus--color, #12394f); outline-offset: 2px; }
.nm-mapfiltr label.is-pusty { cursor: default; color: var(--wp--preset--color--muted); box-shadow: inset 0 0 0 1px rgb(11 34 48 / 0.08); background: rgb(255 255 255 / 0.6); }
.nm-mapfiltr label.is-pusty .nm-type::before { opacity: 0.45; }
.nm-mapfiltr .nm-type { gap: 0.3125rem; overflow: hidden; font-size: inherit; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; color: inherit; }
.nm-mapfiltr label:has(:checked) .nm-type::before { background: #fff; }
.nm-mapfiltr small { padding-left: 1rem; font-size: 0.8125rem; font-variant-numeric: tabular-nums; opacity: 0.8; }
/* Podpowiedź i licznik obszaru: dymek pod legendą */
.nm-mapfiltr__stan { max-width: 17rem; margin: 0; padding: 0.4375rem 0.75rem; border-radius: 10px; background: rgb(255 255 255 / 0.95); box-shadow: var(--wp--preset--shadow--subtle); font-size: 0.8125rem; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.nm-mapfiltr__stan a { margin-left: 0.25rem; font-weight: 700; color: var(--wp--preset--color--primary); }
.nm-mapfiltr__dymek { font-size: 0.9375rem; line-height: 1.4; }
.nm-mapfiltr__dymek a { font-weight: 700; color: var(--wp--preset--color--primary); }
/* Węższa mapa (laptop, tablet): rodzaje w trzech kolumnach */
.nm-split--glowna .nm-split__sticky { container-type: inline-size; }
@container (max-width: 40rem) {
	.nm-mapfiltr__siatka { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nm-mapfiltr label, .nm-mapfiltr label:nth-child(6) { grid-column: auto; }
}
.nm-maphint b { display: block; color: var(--wp--preset--color--heading); font-size: var(--wp--preset--font-size--medium); }
.nm-legend { position: relative; display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; margin: 0; padding: 0.375rem 0.75rem; border-radius: var(--wp--custom--radius--m, 8px); background: rgb(255 255 255 / 0.95); box-shadow: var(--wp--preset--shadow--subtle); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--contrast); }
.nm-legend span { display: inline-flex; align-items: center; gap: 0.5rem; }
.nm-legend i { display: inline-block; width: 0.875rem; height: 0.875rem; border-radius: 50%; background: var(--wp--preset--color--primary); }
.nm-legend i.is-premium { background: var(--nm-zloto, var(--wp--preset--color--accent)); }

/*
 * Strona główna: wyróżnione w jednej kolumnie obok mapy w zaokrąglonej ramce, przyklejonej pod nagłówkiem.
 * Całość w szerokości układu strony (1440 px, jak na podstronach) z równymi marginesami na każdym ekranie, także 4K
 * (100% to szerokość treści bez marginesów strony, więc dodajemy je z powrotem).
 */
.nm-split--glowna { --nm-top: 5.25rem; grid-template-columns: minmax(0, clamp(30rem, 42vw, 38rem)) minmax(0, 1fr); gap: clamp(1.5rem, 2.5vw, 2.5rem); padding: clamp(3rem, 5vw, 4.5rem) max(var(--wp--style--root--padding-right, 1rem), calc((100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px) - var(--wp--style--global--wide-size, 1440px)) / 2)) clamp(3.5rem, 6vw, 5.5rem) max(var(--wp--style--root--padding-left, 1rem), calc((100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px) - var(--wp--style--global--wide-size, 1440px)) / 2)); background: linear-gradient(180deg, #ffffff 0%, #f4f5f7 42%, #e4e7ec 100%); box-shadow: inset 0 -1px 0 rgb(11 34 48 / 0.08); }
.nm-split--glowna .nm-split__list { gap: 1.25rem; padding: 0; }
.nm-split--glowna .nm-split__sticky { top: calc(var(--nm-top) + 1.25rem); height: calc(100vh - var(--nm-top) - 2.5rem); height: calc(100dvh - var(--nm-top) - 2.5rem); max-height: 56rem; border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px rgb(11 34 48 / 0.06), 0 22px 44px -28px rgb(11 34 48 / 0.4); }
.nm-split--glowna .nm-listhead { display: grid; gap: 0.75rem; margin-bottom: 0.25rem; }
.nm-split--glowna .nm-listhead h2 { font-size: var(--wp--preset--font-size--xx-large); }
/* Zdanie pod tytułem: liczby katalogu (dane na żywo), pełny atrament; wyróżnione pod własnym nagłówkiem */
.nm-listhead__lead { max-width: 44ch; margin: 0; font-size: var(--wp--preset--font-size--large); line-height: 1.45; color: var(--wp--preset--color--heading); }
.nm-wyr-glowa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1rem; margin-top: var(--wp--preset--spacing--30); }
.nm-wyr-glowa__tytul { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.nm-split--glowna .nm-rows { gap: 1rem; }
/* Wizytówki w kolumnie obok mapy: węższe zdjęcie, przyciski w jednym rzędzie */
.nm-split--glowna .nm-row { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1.125rem; }
@media (min-width: 901px) {
	.nm-split--glowna .nm-card__actions { flex-wrap: nowrap; }
	.nm-split--glowna .nm-card__actions > * { white-space: nowrap; }
}
.nm-split--glowna .nm-cities-h { margin-top: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--x-large); }
.nm-split--glowna .nm-cities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; }
.nm-split--glowna .nm-cities a { justify-content: space-between; width: 100%; padding: 0.5rem 0; border-radius: 0; background: none; font-size: var(--wp--preset--font-size--medium); font-weight: 500; text-decoration: none; }
.nm-split--glowna .nm-cities a:hover { background: none; text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent); text-decoration-thickness: 2px; }
/* Rodzaje placówek pod miastami: w jednym rzędzie, nazwa z kropką koloru typu i liczbą obok (zawijają się na telefonie) */
.nm-split--glowna .nm-cities--rodzaje { display: flex; flex-wrap: wrap; gap: 0 2rem; }
.nm-split--glowna .nm-cities--rodzaje a { justify-content: flex-start; gap: 0.625rem; width: auto; }
.nm-sheet { display: none; }
.nm-fab { position: fixed; left: 50%; bottom: 1.25rem; transform: translateX(-50%); z-index: 40; display: inline-flex; align-items: center; gap: 0.5rem; min-height: 3.25rem; padding: 0.75rem 1.5rem; border: 0; border-radius: 999px; background: var(--wp--preset--color--heading); color: #fff; font: 600 1.0625rem/1 var(--wp--preset--font-family--heading); box-shadow: var(--wp--preset--shadow--overlay); cursor: pointer; }
.nm-fab { transition: opacity var(--wp--custom--transition, 160ms ease), transform var(--wp--custom--transition, 160ms ease); }
.nm-fab.is-ukryty { opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, 1rem); transition: opacity var(--wp--custom--transition, 160ms ease), transform var(--wp--custom--transition, 160ms ease), visibility 0s linear 160ms; }
.nm-fab > span { display: inline-flex; align-items: center; gap: 0.5rem; }
.nm-fab .nm-fab__lista, .nm-fab[aria-pressed="true"] .nm-fab__mapa { display: none; }
.nm-fab[aria-pressed="true"] .nm-fab__lista { display: inline-flex; }
.nm-fab:focus-visible { outline: 3px solid var(--wp--custom--focus--on-dark, #f0c030); outline-offset: 3px; }

/* Pinezki (ceny w pigułkach Airbnb + kropka typu jak u Michelin) */
.nm-pin { display: inline-flex; align-items: center; gap: 0.375rem; height: 2.25rem; padding: 0 0.75rem 0 0.5rem; border-radius: 999px; background: #fff; color: var(--wp--preset--color--heading); font: 700 1rem/1 var(--wp--preset--font-family--heading); white-space: nowrap; box-shadow: 0 0 0 1px rgb(11 34 48 / 0.08), 0 2px 6px rgb(11 34 48 / 0.22); cursor: pointer; transform: translate(-50%, -50%); }
.nm-pin::before { content: ""; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--nm-typ); box-shadow: 0 0 0 2px #fff; }
.nm-pin.is-premium { background: var(--nm-zloto, var(--wp--preset--color--accent)); color: var(--wp--preset--color--on-accent); }
.nm-pin.is-premium::before { background: var(--wp--preset--color--on-accent); box-shadow: 0 0 0 2px var(--wp--preset--color--accent); }
.nm-pin.is-active { background: var(--wp--preset--color--primary); color: #fff; transform: translate(-50%, -50%) scale(1.18); box-shadow: 0 0 0 3px #fff, 0 6px 16px rgb(11 34 48 / 0.45); }
/* Pigułka nad punktem z ogonkiem od dołu – czubek wskazuje dokładne miejsce (2.11.2026); sama kropka (is-dot) zostaje
   na punkcie. Ogonek w kolorze pigułki: biały, złoty (wyróżniona), granatowy (aktywna). */
.nm-pin:not(.is-dot) { --nm-pin-ogon: #fff; position: relative; transform: translate(-50%, calc(-100% - 0.5rem)); transform-origin: 50% calc(100% + 0.5rem); }
.nm-pin:not(.is-dot)::after { content: ""; position: absolute; left: 50%; top: calc(100% - 1px); width: 1rem; height: 0.5625rem; background: var(--nm-pin-ogon); clip-path: polygon(0 0, 100% 0, 50% 100%); transform: translateX(-50%); }
.nm-pin.is-premium:not(.is-dot) { --nm-pin-ogon: #d6a43c; }
.nm-pin.is-active:not(.is-dot) { --nm-pin-ogon: var(--wp--preset--color--primary); transform: translate(-50%, calc(-100% - 0.5rem)) scale(1.18); }
.nm-pin.is-active::before { background: var(--nm-zloto, var(--wp--preset--color--accent)); box-shadow: 0 0 0 2px var(--wp--preset--color--primary); }
/* Cena: „7 200 zł” – tysiące większe, setki mniejsze, „zł” najmniejsze */
.nm-pin.is-cena { gap: 0; padding-right: 0.7rem; font-variant-numeric: tabular-nums; }
.nm-pin.is-cena::before { margin-right: 0.375rem; }
.nm-pin__tys { font-size: 1.0625rem; font-weight: 800; letter-spacing: -0.01em; }
.nm-pin__setki { margin-left: 0.12em; font-size: 0.8125rem; font-weight: 700; }
.nm-pin__zl { margin-left: 0.2em; font-size: 0.6875rem; font-weight: 600; opacity: 0.85; }
.nm-woj { position: absolute; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 0.25rem; text-decoration: none; }
.nm-woj__n { display: grid; place-items: center; width: var(--s, 3rem); height: var(--s, 3rem); border-radius: 50%; background: var(--wp--preset--color--primary); color: #fff; font: 700 1.125rem/1 var(--wp--preset--font-family--heading); font-variant-numeric: tabular-nums; box-shadow: 0 0 0 4px rgb(255 255 255 / 0.9), 0 2px 8px rgb(11 34 48 / 0.3); transition: background-color var(--wp--custom--transition, 160ms ease); }
.nm-woj__l { padding: 0.1rem 0.45rem; border-radius: 4px; background: rgb(255 255 255 / 0.92); color: var(--wp--preset--color--heading); font: 600 0.875rem/1.3 var(--wp--preset--font-family--body); white-space: nowrap; }
.nm-woj:hover .nm-woj__n, .nm-woj:focus-visible .nm-woj__n { background: var(--nm-zloto, var(--wp--preset--color--accent)); color: var(--wp--preset--color--on-accent); }
.nm-woj:focus-visible { outline: none; }
.nm-woj:focus-visible .nm-woj__n { outline: 3px solid var(--wp--custom--focus--color, #12394f); outline-offset: 3px; }
.nm-map .leaflet-tile { filter: grayscale(0.78) sepia(0.1) brightness(1.04) contrast(0.94); }
/* Przy ułamkowym powiększeniu (zoomSnap 0.25) Chromium zostawia jasne szczeliny między kafelkami – obejście z Leaflet 2.0 */
.nm-map .leaflet-tile { mix-blend-mode: plus-lighter; }.nm-map .leaflet-div-icon { background: none; border: 0; }
.nm-map .leaflet-container, .nm-map.leaflet-container { font-family: var(--wp--preset--font-family--body); }
.nm-map .leaflet-control-attribution { font-size: 0.75rem; border-radius: 6px 0 0 0; }
.nm-map .leaflet-control-zoom.leaflet-bar { border: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 2px rgb(11 34 48 / 0.14), 0 6px 16px -8px rgb(11 34 48 / 0.3); }
.nm-map .leaflet-control-zoom a { width: 2.25rem; height: 2.25rem; line-height: 2.25rem; color: var(--wp--preset--color--heading); }
.nm-map .leaflet-control-zoom a { font-family: var(--wp--preset--font-family--body); font-weight: 500; text-decoration: none; }
.nm-map .leaflet-marker-icon:focus-visible { outline: none; }
.nm-map .leaflet-marker-icon:focus-visible .nm-pin { outline: 3px solid var(--wp--custom--focus--color, #12394f); outline-offset: 2px; }
.nm-map .leaflet-bottom.leaflet-right { right: 1rem; }

@media (max-width: 900px) {
	.nm-split { grid-template-columns: minmax(0, 1fr); }
	.nm-split__list { padding: var(--wp--preset--spacing--30) var(--wp--style--root--padding-right, 1rem) var(--wp--preset--spacing--60) var(--wp--style--root--padding-left, 1rem); }
	.nm-split__map, .nm-maphint, .nm-legend, .nm-cities-h, .nm-cities { display: none; }
	/* Telefon (tryb mapy): przełączniki u góry, dymek pod nimi – na dole stoi karta wybranej placówki */
	/* Więcej rodzajów niż mieści szerokość: jeden rząd przewijany w bok zamiast kilku rzędów na mapie */
	.nm-mapdol { top: 0.75rem; bottom: auto; }
	.nm-mapfiltr { padding: 0.375rem; }
	.nm-mapfiltr__etykieta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.nm-mapfiltr__siatka { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
	.nm-mapfiltr label, .nm-mapfiltr label:nth-child(6) { flex: none; min-height: 2.75rem; }
	.nm-mapgora { top: 5.25rem; }
	.nm-woj__l { display: none; }
	.nm-woj__n { width: calc(var(--s, 3rem) * 0.74); height: calc(var(--s, 3rem) * 0.74); font-size: 0.8125rem; box-shadow: 0 0 0 3px rgb(255 255 255 / 0.9), 0 2px 6px rgb(11 34 48 / 0.3); }
	/* Tryb mapy na telefonie: tylko mapa i karta wybranej placówki */
	.nm-split--glowna { padding: 0; }
	.nm-tryb-mapy .nm-split--glowna .nm-split__sticky { max-height: none; border-radius: 0; box-shadow: none; }
	.nm-split--glowna .nm-cities-h { display: block; }
	.nm-split--glowna .nm-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
	.nm-split--glowna .nm-split__list { padding: var(--wp--preset--spacing--50) var(--wp--style--root--padding-right, 1rem) var(--wp--preset--spacing--60) var(--wp--style--root--padding-left, 1rem); }
	.nm-tryb-mapy .nm-split__list { display: none; }
	.nm-tryb-mapy .nm-split__map { display: block; }
	.nm-tryb-mapy .nm-split__sticky { position: relative; top: 0; height: calc(100vh - var(--nm-top) - 1rem); height: calc(100dvh - var(--nm-top) - 1rem); }
	.nm-tryb-mapy .nm-sheet { display: block; position: absolute; z-index: 600; left: var(--wp--style--root--padding-left, 1rem); right: var(--wp--style--root--padding-right, 1rem); bottom: 5.5rem; }
	.nm-tryb-mapy .nm-sheet .nm-row { grid-template-columns: 7.5rem minmax(0, 1fr); padding: 0.625rem; gap: 0.875rem; box-shadow: var(--wp--preset--shadow--overlay); overflow: visible; }
	.nm-tryb-mapy .nm-sheet .nm-card__media { min-height: 0; height: 100%; aspect-ratio: auto; border-radius: var(--wp--custom--radius--m, 8px); }
	.nm-tryb-mapy .nm-sheet .nm-card__body { padding: 0; gap: 0.25rem; }
	.nm-tryb-mapy .nm-sheet .nm-card__badges, .nm-tryb-mapy .nm-sheet .nm-card__services, .nm-tryb-mapy .nm-sheet .nm-card__actions, .nm-tryb-mapy .nm-sheet .nm-tile__note, .nm-tryb-mapy .nm-sheet .nm-tile .nm-i { display: none; }
	.nm-tryb-mapy .nm-sheet .nm-tile__town { font-size: 1.125rem; }
}
@media (min-width: 901px) {
	.nm-fab { display: none; }
}

/* Województwa (lista z liczbami) */
.nm-woj-lista { --nm-kolumny: 4; display: grid; grid-template-columns: repeat(var(--nm-kolumny), minmax(0, 1fr)); gap: 0.25rem var(--wp--preset--spacing--40); margin: 0; padding: 0; list-style: none; }
.nm-woj-lista a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.125rem 1rem; padding: 0.875rem 0; text-decoration: none; color: var(--wp--preset--color--heading); box-shadow: inset 0 -1px 0 var(--wp--preset--color--line); }
.nm-woj-lista a:hover b { text-decoration: underline; }
.nm-woj-lista b { font-weight: 650; font-size: var(--wp--preset--font-size--large); }
.nm-woj-lista a > span { font-variant-numeric: tabular-nums; font-weight: 650; color: var(--wp--preset--color--primary); align-self: center; }
.nm-woj-lista small { grid-column: 1 / -1; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

@media (max-width: 1080px) {
	.nm-szukaj__pola, .nm-szukaj__pola.bez-ceny, .nm-szukaj__pola.bez-nazwy, .nm-szukaj__pola.bez-nazwy.bez-ceny { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.nm-szukaj__pola .nm-btn { min-height: 3.5rem; }
	.nm-szukaj__pola .nm-btn, .nm-szukaj__pola.bez-ceny .nm-btn { grid-column: 1 / -1; }
	.nm-woj-lista { grid-template-columns: repeat(min(2, var(--nm-kolumny)), minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.nm-szukaj__pola, .nm-szukaj__pola.bez-ceny, .nm-szukaj__pola.bez-nazwy, .nm-szukaj__pola.bez-nazwy.bez-ceny { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
	.nm-pole--cena, .nm-szukaj__typy { display: none; }
	.nm-woj-lista { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.nm-btn, .nm-row, .nm-woj__n { transition: none; }
}

/* Szerokość treści portalu (siatka motywu: 1280 px + marginesy) */
.nm-szer { width: 100%; max-width: calc(var(--wp--style--global--wide-size, 1280px) + var(--wp--style--root--padding-left, 1rem) + var(--wp--style--root--padding-right, 1rem)); margin-inline: auto; padding-inline: var(--wp--style--root--padding-left, 1rem) var(--wp--style--root--padding-right, 1rem); box-sizing: border-box; }

/* Okruszki */
.nm-okruszki ol { display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; align-items: center; margin: 0; padding: 0; list-style: none; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nm-okruszki li + li::before { content: "›"; margin-right: 0.5rem; color: var(--wp--custom--field--border, #858a90); }
.nm-okruszki a { color: var(--wp--preset--color--contrast); }

/* Przyciski dodatkowe */
.nm-btn--light { background: var(--wp--preset--color--white); color: var(--wp--preset--color--primary); }
.nm-btn--light:hover { background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--primary); }
.nm-btn--text { background: none; color: var(--wp--preset--color--primary); padding-inline: 0.25rem; text-decoration: underline; text-underline-offset: 0.2em; }
.nm-btn--block { width: 100%; }
.nm-btn[disabled] { background: #e6e3dc; color: #55595e; border-color: transparent; cursor: progress; }
.nm-chip__count { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 0.375rem; border-radius: 999px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--primary); font-size: 0.8125rem; font-weight: 700; }
.nm-badge--verified.is-flat { background: #e7f0eb; }

/* Przełącznik Lista / Z mapą */
.nm-segment { display: inline-flex; padding: 4px; gap: 4px; background: var(--wp--preset--color--base-2); border-radius: var(--wp--custom--radius--l, 10px); }
.nm-segment button { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.5rem; padding: 0.25rem 1.125rem; border: 0; border-radius: var(--wp--custom--radius--m, 6px); background: transparent; color: var(--wp--preset--color--heading); font: 600 0.9375rem/1.1 var(--wp--preset--font-family--heading); cursor: pointer; }
.nm-segment button[aria-pressed="true"] { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); box-shadow: var(--wp--preset--shadow--subtle); }

/* Pola formularzy (etykieta nad polem; pola 56 px, obrys 3:1) */
.nm-field { display: grid; gap: 0.375rem; }
.nm-field > label, .nm-field > span { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--heading); }
.nm-input, .nm-select { width: 100%; min-height: var(--wp--custom--field--height, 3.5rem); padding: 0.75rem 1rem; border: 1.5px solid var(--wp--custom--field--border, #858a90); border-radius: var(--wp--custom--radius--m, 8px); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); font: inherit; font-size: var(--wp--preset--font-size--medium); box-sizing: border-box; }
.nm-select { appearance: none; padding-right: 3rem; background: var(--wp--preset--color--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2312394f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") no-repeat right 1rem center; }
.nm-input:focus, .nm-select:focus { border-color: var(--wp--preset--color--primary); outline: 3px solid rgb(18 57 79 / 0.25); outline-offset: 0; }
.nm-input[aria-invalid="true"] { border-color: #b3261e; }
.nm-hint { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.nm-check { display: flex; gap: 0.75rem; align-items: flex-start; font-size: var(--wp--preset--font-size--small); line-height: 1.5; cursor: pointer; }
.nm-check input { width: 1.5rem; height: 1.5rem; margin: 0; flex: none; accent-color: var(--wp--preset--color--primary); }
.nm-check input[aria-invalid="true"] { outline: 2px solid #b3261e; outline-offset: 2px; }

/* Karta pionowa (siatka „w okolicy”; wzór: Michelin) */
.nm-card { position: relative; display: flex; flex-direction: column; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--l, 14px); box-shadow: var(--wp--preset--shadow--subtle); overflow: hidden; transition: box-shadow var(--wp--custom--transition, 160ms ease); }
.nm-card:hover { box-shadow: var(--wp--preset--shadow--raised); }
.nm-card.is-premium { box-shadow: 0 0 0 2px var(--wp--preset--color--accent), var(--wp--preset--shadow--subtle); }
.nm-card .nm-card__media { min-height: 0; aspect-ratio: 4 / 3; border-radius: 0; }
.nm-card .nm-card__body { padding: 1.125rem 1.25rem 1.25rem; flex: 1; }
.nm-card .nm-badge--free { position: relative; z-index: 2; }

/* Pinezki: kropka bez napisu, nazwa placówki na karcie */
.nm-pin.is-dot { width: 1.5rem; height: 1.5rem; padding: 0; justify-content: center; }
.nm-pin.is-dot::before { width: 0.875rem; height: 0.875rem; box-shadow: none; }
.nm-pin.is-nazwa { padding-inline: 0.625rem 1rem; }

/* „Pokaż numer”: początek numeru i przycisk; po kliknięciu pełny numer (link tel:) */
.nm-numer { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.625rem; min-height: var(--wp--custom--control--min, 2.75rem); font-weight: 650; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--primary); }
.nm-numer__widok { color: var(--wp--preset--color--heading); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
.nm-numer__pokaz:not(.nm-btn) { display: inline-flex; align-items: center; min-height: var(--wp--custom--control--min, 2.75rem); padding: 0.375rem 1rem; border: 1.5px solid var(--wp--preset--color--primary); border-radius: var(--wp--custom--radius--button, 6px); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); font: 650 var(--wp--preset--font-size--small)/1.2 var(--wp--preset--font-family--body); cursor: pointer; }
.nm-numer__pokaz:not(.nm-btn):hover { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); }
.nm-tel--odkryty { font-variant-numeric: tabular-nums; }

/* Telefon i tablet, strona główna: wyróżnione wizytówki w poziomym rzędzie przewijanym palcem (zamiast długiej listy) */
@media (max-width: 900px) {
	.nm-split--glowna .nm-rows { display: flex; gap: 0.875rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--wp--style--root--padding-left, 1rem); margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1rem)); padding: 0.25rem var(--wp--style--root--padding-left, 1rem) 1rem; scrollbar-width: thin; }
	.nm-split--glowna .nm-rows > .nm-row { flex: 0 0 min(84%, 22rem); scroll-snap-align: start; }
	.nm-tryb-mapy .nm-split--glowna .nm-rows { display: none; }
}
@media (max-width: 900px) {
	/* W rzędzie przewijanym palcem: zdjęcie nad tekstem (karta pionowa), także na tablecie */
	.nm-split--glowna .nm-rows > .nm-row { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; overflow: hidden; }
	.nm-split--glowna .nm-rows > .nm-row .nm-card__media { min-height: 0; aspect-ratio: 16 / 10; border-radius: 0; }
	.nm-split--glowna .nm-rows > .nm-row .nm-card__body { padding: 1rem 1.125rem 1.125rem; }
}

/* Poradnik: „Szukaj w poradniku” w ciemnym pasie nagłówka – białe pole, złoty przycisk, przykładowe tematy pod spodem */
.nm-psz { margin-top: clamp(1.25rem, 2vw, 1.75rem); }
.nm-psz__pole { display: flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.375rem 0.375rem 1rem; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px -22px rgb(0 0 0 / 0.6); }
.nm-psz__pole:focus-within { box-shadow: 0 0 0 3px #f0cf72, 0 18px 40px -22px rgb(0 0 0 / 0.6); }
.nm-psz__pole > .nm-i { width: 1.375rem; height: 1.375rem; flex: none; color: var(--wp--preset--color--muted); }
.nm-psz__pole input[type="search"] { flex: 1; min-width: 0; min-height: 2.75rem; padding: 0 0.25rem; border: 0; background: none; font: inherit; font-size: 1.0625rem; color: var(--wp--preset--color--heading); }
.nm-psz__pole input[type="search"]:focus { outline: none; }
.nm-psz .nm-btn { flex: none; min-height: 2.75rem; padding-block: 0.5rem; background: var(--nm-zloto, var(--wp--preset--color--accent)); background-size: 220% 100%; color: var(--wp--preset--color--on-accent, #1d1f21); transition: background-position 500ms ease; }
.nm-psz .nm-btn:hover { background-position: 100% 0; }
.nm-psz__przyklady { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0.875rem 0 0; font-size: var(--wp--preset--font-size--small); color: #cfd8de; }
.nm-psz__przyklady a { padding: 0.3125rem 0.75rem; border-radius: 999px; background: rgb(255 255 255 / 0.12); color: #fff; text-decoration: none; transition: background-color 160ms ease; }
.nm-psz__przyklady a:hover { background: rgb(255 255 255 / 0.22); color: #fff; }
@media (max-width: 600px) {
	.nm-psz .nm-btn { padding-inline: 0.875rem; }
}

/*
 * Schowek do porównania (assets/js/schowek.js): „Porównaj” w rzędzie przycisków kafelka, stan w aria-pressed
 * (dodana – granat ze znaczkiem). Bez skryptu przycisk jest ukryty. Komunikat po dodaniu – na dole ekranu.
 */
.nm-schowek[hidden] { display: none !important; }
.nm-schowek__jest { display: none; }
.nm-schowek[aria-pressed="true"] .nm-schowek__plus { display: none; }
.nm-schowek[aria-pressed="true"] .nm-schowek__jest { display: inline-block; }
.nm-schowek--kafelek { display: inline-flex; align-items: center; gap: 0.375rem; min-height: var(--wp--custom--control--min, 2.75rem); padding: 0.375rem 0.875rem 0.375rem 0.625rem; border: 1.5px solid var(--wp--preset--color--line, #e4e0d7); border-radius: var(--wp--custom--radius--button, 8px); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary); font: 650 0.9375rem/1 var(--wp--preset--font-family--heading); letter-spacing: 0.01em; cursor: pointer; transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.nm-schowek--kafelek .nm-i { width: 1.125rem; height: 1.125rem; }
.nm-schowek--kafelek:hover { border-color: var(--wp--preset--color--primary); }
.nm-schowek--kafelek[aria-pressed="true"] { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--primary); color: #fff; }
.nm-schowek--kafelek:focus-visible { outline: 3px solid var(--wp--custom--focus--color, #12394f); outline-offset: 2px; }
.nm-card__actions:not(:has(> :not([hidden]))) { display: none; }
.nm-tryb-mapy .nm-sheet .nm-schowek--kafelek { display: none; }
.nm-schowek-info { position: fixed; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 1001; width: max-content; max-width: calc(100vw - 2rem); padding: 0.875rem 1.25rem; border-radius: 12px; background: var(--wp--preset--color--overlay, #0b2230); color: #fff; font-weight: 600; line-height: 1.4; box-shadow: 0 18px 40px -16px rgb(11 34 48 / 0.6); transform: translate(-50%, 160%); opacity: 0; transition: transform 220ms ease, opacity 220ms ease; }
.nm-schowek-info.is-widoczny { transform: translate(-50%, 0); opacity: 1; }
.nm-schowek-info a { margin-left: 0.25rem; color: #f0cf72; text-decoration: underline; text-underline-offset: 0.15em; }
@media (max-width: 1100px) { .nm-schowek-info { bottom: calc(5.25rem + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .nm-schowek-info { transition: none; } }
.nm-split--glowna .nm-card__actions:has(.nm-schowek:not([hidden])) { flex-wrap: wrap; }
