/*
 * tresc.css — warstwa treści „nabilet biznes” (2026-11-02): karty ze zdjęciami na stronie głównej, podstrony (plan sali, gastro,
 * kluby, wejście, rozliczenia, targi), artykuły i ilustracje (plany, ekrany). Kolory WYŁĄCZNIE ze zmiennych: `--nb-*` (marka i
 * neutralne szablonu) oraz `--p-*` (podstrony, jasny i ciemny motyw; definiuje je `szkielet-biznes.ts`). Zero literałów kolorów
 * (pilnuje test). Zasady: skala odstępów 8 px, jedna kolumna czytania ≤ 68 znaków, równe wysokości kart, proporcje zdjęć zarezerwowane
 * przez `aspect-ratio`, ruch tylko tam, gdzie niesie informację (hover/focus, 150–250 ms, `prefers-reduced-motion` respektowane).
 *
 * Teksty w pikselach/`clamp`, nie w `rem`: szablon strony głównej skaluje `rem` z szerokością okna (10 px przy 1920), co przy 768 px
 * dawałoby nieczytelny tekst. Odstępy poziome kontenera dopasowane do szablonu (nagłówek i stopka mają ten sam margines).
 */

:root {
	--r-1: 8px;
	--r-2: 16px;
	--r-3: 24px;
	--r-4: 32px;
	--r-5: 48px;
	--r-6: 72px;
	--r-7: 104px;
	--nb-pad: 6.67vw;
	--nb-promien: 16px;
	--nb-promien-maly: 10px;
	--nb-sekcja-y: round(clamp(56px, 8vw, 112px), 4px);
	--nb-ease: cubic-bezier(0.23, 1, 0.32, 1);
}
@media (min-width: 768px) { :root { --nb-pad: 5.2083vw; } }
@media (min-width: 1920px) { :root { --nb-pad: 100px; } }

/* ---------- obrazy: zawsze w ramce o stałych proporcjach (zero skoku układu) ---------- */
.nb-foto, .nb-karta-zdjecia__foto, .nb-karta-artykulu__foto { display: block; position: relative; overflow: hidden; background: var(--p-tlo2); }
.nb-foto img, .nb-karta-zdjecia__foto img, .nb-karta-artykulu__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nb-foto--43 { aspect-ratio: 4 / 3; border-radius: var(--nb-promien); }
.nb-foto--hero { aspect-ratio: 4 / 3; border-radius: calc(var(--nb-promien) + 8px); }
.nb-foto--artykul { aspect-ratio: 21 / 9; border-radius: calc(var(--nb-promien) + 8px); margin-top: var(--r-5); }
@media (max-width: 640px) { .nb-foto--artykul { aspect-ratio: 4 / 3; margin-top: var(--r-4); } }

/* ---------- sekcje wspólne (strona główna i podstrony) ---------- */
.nb-sekcja { font-size: 16px; line-height: 1.5; padding-block: var(--nb-sekcja-y); background: var(--p-tlo); color: var(--p-tekst); }
.nb-sekcja--wasko { padding-block: 0 var(--nb-sekcja-y); }
.nb-sekcja--cta { padding-block: 0 var(--nb-sekcja-y); }
.nb-sekcja__glowa { max-width: 720px; margin-bottom: var(--r-5); }
.nb-sekcja__glowa--rzad { max-width: none; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--r-3); }
.nb-sekcja__glowa--rzad > div { max-width: 720px; }
.nb-sekcja h2 { margin: 0; font-size: clamp(28px, 3.4vw, 48px); font-weight: 500; line-height: 1.1; letter-spacing: -0.025em; text-wrap: balance; }
.nb-sekcja__glowa p { margin: var(--r-2) 0 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.55; color: var(--p-tekst2); text-wrap: pretty; }
.nb-sekcja .em { color: var(--p-tekst2); }
.nb-kontener { box-sizing: border-box; width: 100%; max-width: 1920px; margin-inline: auto; padding-inline: var(--nb-pad); }
.nb-waski { max-width: 860px; margin-inline: auto; }
.nb-waski-lewo { max-width: calc(820px + var(--nb-pad) * 2); margin-inline: 0; }

/* ---------- karty ze zdjęciami (strona główna: „Dla kogo”) ---------- */
.nb-karty-zdjecia { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--r-3); }
.nb-karta-zdjecia { position: relative; display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; border-radius: var(--nb-promien); background: var(--p-karta); border: 1px solid var(--p-linia); overflow: hidden; transition: border-color 0.2s var(--nb-ease), box-shadow 0.25s var(--nb-ease); }
.nb-karta-zdjecia__foto { aspect-ratio: 4 / 5; }
.nb-karta-zdjecia__foto img { transition: transform 0.6s var(--nb-ease); }
.nb-karta-zdjecia__tekst { display: flex; flex-direction: column; gap: var(--r-1); padding: var(--r-3); padding-right: calc(var(--r-3) + 36px); flex: 1; }
.nb-karta-zdjecia__tekst b { font-size: 20px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.2; }
.nb-karta-zdjecia__tekst span { font-size: 15px; line-height: 1.5; color: var(--p-tekst2); }
.nb-karta-zdjecia__strzalka { position: absolute; right: var(--r-3); bottom: var(--r-3); width: 24px; height: 24px; color: var(--p-akcent-tekst); transition: transform 0.25s var(--nb-ease); }
.nb-karta-zdjecia__strzalka svg { width: 100%; height: 100%; }
@media (hover: hover) {
	.nb-karta-zdjecia:hover { border-color: var(--p-linia-mocna); box-shadow: 0 12px 32px var(--p-cien); }
	.nb-karta-zdjecia:hover .nb-karta-zdjecia__foto img { transform: scale(1.03); }
	.nb-karta-zdjecia:hover .nb-karta-zdjecia__strzalka { transform: translateX(4px); }
}
.nb-karta-zdjecia:focus-visible, .nb-karta-artykulu:focus-visible { outline: 2px solid var(--p-fokus); outline-offset: 3px; }
@media (max-width: 1100px) { .nb-karty-zdjecia { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .nb-karty-zdjecia { grid-template-columns: minmax(0, 1fr); gap: var(--r-2); } .nb-karta-zdjecia__foto { aspect-ratio: 16 / 11; } }

/* ---------- karty artykułów ---------- */
.nb-karty-artykulow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--r-4) var(--r-3); }
.nb-karta-artykulu { display: flex; flex-direction: column; gap: var(--r-1); height: 100%; text-decoration: none; color: inherit; }
.nb-karta-artykulu__foto { aspect-ratio: 3 / 2; border-radius: var(--nb-promien); margin-bottom: var(--r-1); }
.nb-karta-artykulu__foto img { transition: transform 0.6s var(--nb-ease); }
.nb-karta-artykulu__meta { font-size: 13px; letter-spacing: 0.02em; color: var(--p-tekst2); }
.nb-karta-artykulu b { font-size: clamp(19px, 1.6vw, 22px); font-weight: 500; line-height: 1.25; letter-spacing: -0.015em; text-wrap: balance; }
.nb-karta-artykulu__haczyk { font-size: 15px; line-height: 1.55; color: var(--p-tekst2); text-wrap: pretty; }
@media (hover: hover) {
	.nb-karta-artykulu:hover b { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
	.nb-karta-artykulu:hover .nb-karta-artykulu__foto img { transform: scale(1.03); }
}
@media (max-width: 1100px) { .nb-karty-artykulow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .nb-karty-artykulow { grid-template-columns: minmax(0, 1fr); } }

/* ---------- zdjęcia w sekcjach szablonu (strona główna) ---------- */
.nb-tlo-uslugi { position: absolute; inset: 0; background: var(--nb-tusz); }
.nb-tlo-uslugi__zdjecie { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.services_items__PESAO .services_item-bg___wJGg { opacity: 0.6; }
@media (hover: hover) { .services_items__PESAO .services_item__D_u7g:hover .services_item-bg___wJGg { opacity: 0.85; } }
.nb-tlo-uslugi::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--nb-tusz) 85%, transparent) 0%, color-mix(in srgb, var(--nb-tusz) 35%, transparent) 100%); }
.nb-miniatura { overflow: hidden; background: var(--nb-szary-tlo); }
.nb-miniatura__zdjecie { display: block; width: 100%; height: 100%; object-fit: cover; }
.nb-tlo-zakonczenia__zdjecie { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.5; mix-blend-mode: luminosity; }
.outro_bg__9kU9x::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--nb-tusz) 55%, transparent); pointer-events: none; }
.nb-dla-kogo { background: var(--nb-bialy); color: var(--nb-tusz); }
.nb-dla-kogo, .nb-artykuly-teaser { --p-tlo: var(--nb-bialy); }
.nb-artykuly-teaser { background: var(--nb-szary-tlo); }
.nb-artykuly-teaser .nb-karta-artykulu__foto { background: var(--nb-bialy); }

/* ---------- podstrony: tło, nagłówek, przyciski w ciemnym motywie ---------- */
html.nb-ps, html.nb-ps body { background: var(--p-tlo); color: var(--p-tekst); }
.nb-podstrona .header_wrapper__MJ5bn, .nb-podstrona .header_wrapper__MJ5bn .header_content__cVJDb { background-color: var(--p-tlo); color: var(--p-tekst); }
.nb-podstrona .header_wrapper__MJ5bn { border-bottom: 1px solid var(--p-linia); }
.nb-podstrona .header_logo__LO_Jk .nb-logo { color: var(--p-tekst); }
.nb-podstrona .header_logo__LO_Jk .nb-logo__biznes { color: var(--p-akcent-tekst); }
.nb-podstrona .header_logo__LO_Jk .wordmark__bilet, .nb-podstrona .header_logo__LO_Jk .wordmark__na { fill: var(--p-akcent); }
.nb-podstrona .header_logo__LO_Jk .wordmark__perforacja { stroke: var(--p-na-akcencie); }
.nb-podstrona .header_nav-item__Wn05d a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.nb-podstrona .burger-menu_backdrop__wfXK5 { background-color: var(--p-tlo); }
.nb-podstrona .burger-menu_nav-item__mCA9u a { color: var(--p-tekst); }
.nb-podstrona .button_color-primary__JJ7Hh { background-color: var(--p-akcent); color: var(--p-na-akcencie); }
.nb-podstrona .button_color-secondary__FZDOG:not(.button_inversed__slQcI) { background-color: transparent; color: var(--p-tekst); border-color: var(--p-linia-mocna); }
.nb-podstrona a:focus-visible, .nb-podstrona button:focus-visible { outline-color: var(--p-fokus); }
.nb-podstrona .footer_wrapper__9GQwi a:focus-visible { outline-color: var(--nb-akcent-ciemny); }
.nb-podstrona main { display: block; font-size: 16px; line-height: 1.5; }

/* ---------- podstrony: hero ---------- */
.nb-hero-ps { padding-block: round(clamp(32px, 5vw, 72px), 4px) var(--nb-sekcja-y); background: var(--p-tlo); color: var(--p-tekst); }
.nb-hero-ps__siatka { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: round(clamp(32px, 5vw, 88px), 4px); align-items: center; }
.nb-hero-ps--tekst { padding-bottom: var(--r-6); }
.nb-nadtytul { margin: var(--r-4) 0 var(--r-2); font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--p-akcent-tekst); }
.nb-hero-ps h1, .nb-art__glowa h1 { margin: 0; font-size: clamp(32px, 4.4vw, 64px); font-weight: 500; line-height: 1.05; letter-spacing: -0.03em; text-wrap: balance; }
.nb-lead { margin: var(--r-3) 0 0; max-width: 60ch; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; color: var(--p-tekst2); text-wrap: pretty; }
.nb-hero-ps__akcje { display: flex; flex-wrap: wrap; gap: var(--r-2); margin-top: var(--r-4); }
  .nb-podstrona .nb-hero-ps__akcje a, .nb-podstrona .nb-cta__akcje a { font-size: 17px; }
@media (max-width: 900px) { .nb-hero-ps__siatka { grid-template-columns: minmax(0, 1fr); } .nb-nadtytul { margin-top: var(--r-3); } }

.nb-okruszki ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0 8px; margin: 0; padding: 0; font-size: 14px; color: var(--p-tekst2); }
.nb-okruszki li + li::before { content: "/"; margin-right: 8px; color: var(--p-linia-mocna); }
.nb-okruszki a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nb-okruszki [aria-current="page"] { color: var(--p-tekst); }

/* nawigacja po stronie: poziomy pasek odnośników */
.nb-na-stronie { border-block: 1px solid var(--p-linia); background: var(--p-tlo); }
.nb-na-stronie ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--r-1); overflow-x: auto; scrollbar-width: none; }
.nb-na-stronie a { display: flex; align-items: center; min-height: 48px; padding: 0 16px; font-size: 15px; white-space: nowrap; text-decoration: none; color: var(--p-tekst2); border-bottom: 2px solid transparent; transition: color 0.15s, border-color 0.15s; }
@media (hover: hover) { .nb-na-stronie a:hover { color: var(--p-tekst); border-bottom-color: var(--p-akcent); } }

/* ---------- podstrony: sekcje dwukolumnowe ---------- */
.nb-sekcja + .nb-sekcja { padding-top: 0; }
.nb-sekcja + .nb-sekcja--cta, .nb-sekcja + .nb-sekcja--wasko { padding-top: 0; }
.nb-dwie { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: round(clamp(32px, 5vw, 80px), 4px); align-items: start; }
.nb-dwie--odwrocone { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
.nb-dwie--odwrocone > .nb-dwie__tekst { order: 2; }
.nb-dwie--zdjecie, .nb-dwie--zdjecie.nb-dwie--odwrocone { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
.nb-dwie--pelna { grid-template-columns: minmax(0, 1fr); gap: var(--r-5); }
.nb-dwie--pelna .nb-dwie__tekst { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--r-2) round(clamp(32px, 5vw, 80px), 4px); align-items: start; }
.nb-dwie--pelna .nb-dwie__tekst h2 { grid-column: 1 / -1; }
.nb-dwie--pelna .nb-dwie__tekst .nb-wstep { margin: 0; }
.nb-dwie--pelna .nb-dwie__tekst .nb-punkty { margin-top: 0; }
.nb-dwie__tekst h2 { margin: 0 0 var(--r-2); font-size: clamp(26px, 3vw, 40px); font-weight: 500; line-height: 1.12; letter-spacing: -0.025em; text-wrap: balance; }
.nb-dwie__tekst p { margin: 0 0 var(--r-2); font-size: 17px; line-height: 1.6; color: var(--p-tekst2); max-width: 56ch; text-wrap: pretty; }
.nb-dwie__tekst .nb-wstep { color: var(--p-tekst); }
.nb-dwie__obraz { min-width: 0; }
.nb-punkty { list-style: none; margin: var(--r-3) 0 0; padding: 0; display: grid; gap: 12px; max-width: 540px; }
.nb-punkty li { position: relative; padding-left: 26px; font-size: 16px; line-height: 1.55; color: var(--p-tekst); text-wrap: pretty; }
.nb-punkty li::before { content: ""; position: absolute; left: 4px; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; background: var(--p-akcent); }
.nb-punkty a { color: var(--p-akcent-tekst); text-underline-offset: 3px; }
@media (max-width: 900px) {
	.nb-dwie, .nb-dwie--odwrocone, .nb-dwie--zdjecie, .nb-dwie--zdjecie.nb-dwie--odwrocone { grid-template-columns: minmax(0, 1fr); gap: var(--r-4); }
	.nb-dwie--odwrocone > .nb-dwie__tekst { order: 0; }
	.nb-dwie--pelna .nb-dwie__tekst { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- siatka kart ---------- */
.nb-siatka { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--r-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nb-siatka--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nb-siatka--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nb-karta { display: flex; flex-direction: column; gap: var(--r-1); padding: var(--r-4); border-radius: var(--nb-promien); border: 1px solid var(--p-linia); background: var(--p-karta); min-height: 100%; box-sizing: border-box; }
.nb-karta h3 { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.25; }
.nb-karta p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--p-tekst2); text-wrap: pretty; }
.nb-karta h3 a { color: inherit; text-decoration: none; }
.nb-karta--link { position: relative; transition: border-color 0.2s var(--nb-ease), box-shadow 0.25s var(--nb-ease); }
.nb-karta--link h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--nb-promien); }
.nb-karta--link h3 a:focus-visible { outline: none; }
.nb-karta--link:focus-within { outline: 2px solid var(--p-fokus); outline-offset: 3px; }
@media (hover: hover) { .nb-karta--link:hover { border-color: var(--p-linia-mocna); box-shadow: 0 12px 32px var(--p-cien); } }
.nb-karta__ikona { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: var(--r-1); border-radius: 12px; color: var(--p-akcent-tekst); background: var(--p-akcent-tlo); }
.nb-karta__ikona .nb-ikona { width: 24px; height: 24px; }
@media (max-width: 1000px) { .nb-siatka, .nb-siatka--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .nb-siatka, .nb-siatka--2, .nb-siatka--4 { grid-template-columns: minmax(0, 1fr); gap: var(--r-2); } .nb-karta { padding: var(--r-3); } }

/* ---------- uwaga, FAQ, CTA ---------- */
.nb-uwaga { max-width: 860px; padding: var(--r-4); border-radius: var(--nb-promien); border: 1px solid var(--p-linia); border-left: 4px solid var(--p-akcent); background: var(--p-tlo2); }
.nb-uwaga h2 { margin: 0 0 var(--r-1); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.nb-uwaga p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--p-tekst2); text-wrap: pretty; }
.nb-faq { margin: 0; display: grid; gap: 0; }
.nb-faq > div { padding-block: var(--r-3); border-top: 1px solid var(--p-linia); }
.nb-faq > div:last-child { border-bottom: 1px solid var(--p-linia); }
.nb-faq dt { margin: 0 0 var(--r-1); font-size: 19px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.3; }
.nb-faq dd { margin: 0; font-size: 16px; line-height: 1.6; color: var(--p-tekst2); max-width: 64ch; text-wrap: pretty; }
.nb-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--r-4); padding: round(clamp(28px, 4vw, 56px), 4px); border-radius: calc(var(--nb-promien) + 8px); background: var(--p-tlo2); border: 1px solid var(--p-linia); }
.nb-cta h2 { margin: 0 0 var(--r-1); font-size: clamp(24px, 2.6vw, 36px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; }
.nb-cta p { margin: 0; max-width: 52ch; font-size: 17px; line-height: 1.55; color: var(--p-tekst2); text-wrap: pretty; }
.nb-cta__akcje { display: flex; flex-wrap: wrap; gap: var(--r-2); }

/* ---------- artykuł ---------- */
.nb-art__glowa { padding-block: round(clamp(32px, 5vw, 72px), 4px) var(--r-6); background: var(--p-tlo); color: var(--p-tekst); }
.nb-art__uklad { display: grid; grid-template-columns: 260px minmax(0, 720px); gap: round(clamp(40px, 6vw, 112px), 4px); padding-bottom: var(--nb-sekcja-y); background: var(--p-tlo); color: var(--p-tekst); justify-content: start; }
.nb-art__boczna { position: relative; }
.nb-spis { position: sticky; top: 112px; }
.nb-spis h2 { margin: 0 0 var(--r-2); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--p-tekst2); }
.nb-spis ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--p-linia); }
.nb-spis li a { display: flex; align-items: center; min-height: 44px; padding: 0 0 0 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 15px; line-height: 1.4; text-decoration: none; color: var(--p-tekst2); transition: color 0.15s, border-color 0.15s; }
@media (hover: hover) { .nb-spis li a:hover { color: var(--p-tekst); border-left-color: var(--p-akcent); } }
.nb-art__tresc { min-width: 0; }
.nb-wskrocie { margin-bottom: var(--r-6); padding: var(--r-4); border-radius: var(--nb-promien); background: var(--p-akcent-tlo); }
.nb-wskrocie h2 { margin: 0 0 var(--r-1); font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--p-akcent-tekst); }
.nb-wskrocie .nb-punkty { margin-top: var(--r-2); }
.nb-art__sekcja { margin-bottom: var(--r-6); scroll-margin-top: 112px; }
.nb-art__sekcja h2 { margin: 0 0 var(--r-2); font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; line-height: 1.2; letter-spacing: -0.02em; text-wrap: balance; }
.nb-art__sekcja p { margin: 0 0 var(--r-2); font-size: 18px; line-height: 1.7; text-wrap: pretty; }
.nb-art__sekcja .nb-punkty li, .nb-numery li { font-size: 18px; line-height: 1.6; }
.nb-art__sekcja .nb-punkty { max-width: none; }
.nb-numery { margin: var(--r-2) 0 0; padding: 0; list-style: none; counter-reset: krok; display: grid; gap: 12px; }
.nb-numery li { counter-increment: krok; position: relative; padding-left: 44px; }
.nb-numery li::before { content: counter(krok); position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: var(--p-na-akcencie); background: var(--p-akcent); }
.nb-cta--artykul { margin-top: var(--r-6); }
.nb-art > .nb-sekcja { background: var(--p-tlo); }
@media (max-width: 1000px) {
	.nb-art__uklad { grid-template-columns: minmax(0, 1fr); gap: var(--r-5); }
	.nb-spis { position: static; }
	.nb-spis ol { display: grid; border-left: 0; gap: 0; }
	.nb-spis li a { padding-left: 0; border-left: 0; border-bottom: 1px solid var(--p-linia); }
}
@media (max-width: 640px) { .nb-art__sekcja p, .nb-art__sekcja .nb-punkty li, .nb-numery li { font-size: 17px; } }

/* ---------- figury: ramka z oznaczeniem „Przykład” ---------- */
.nb-fig { margin: 0; min-width: 0; }
.nb-fig__nagl { display: flex; align-items: center; gap: 12px; margin-bottom: var(--r-2); font-size: 15px; font-weight: 500; }
.nb-znacznik { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--p-uwaga); background: var(--p-uwaga-tlo); }
.nb-fig__plansza { border-radius: var(--nb-promien); border: 1px solid var(--p-linia); background: var(--p-tlo2); padding: round(clamp(12px, 2vw, 24px), 4px); overflow: hidden; }
.nb-fig__plansza--przewijana { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.nb-fig__plansza--przewijana:focus-visible { outline: 2px solid var(--p-fokus); outline-offset: 3px; }
.nb-fig figcaption { margin-top: var(--r-2); font-size: 14px; line-height: 1.5; color: var(--p-tekst2); }
.nb-fig__telefon { display: flex; justify-content: center; }
.nb-chipy { list-style: none; margin: var(--r-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nb-chipy li { display: flex; align-items: baseline; gap: 8px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--p-linia); background: var(--p-karta); font-size: 14px; }
.nb-chipy span { color: var(--p-tekst2); }
.nb-chipy b { font-weight: 600; }

/* ---------- plany (SVG) ---------- */
.nb-plan { display: block; width: 100%; height: auto; font-family: var(--font-primary), system-ui, sans-serif; }
.nb-fig__plansza--przewijana .nb-plan { min-width: 640px; }
.f-sciana { fill: var(--p-karta); stroke: var(--p-linia-mocna); stroke-width: 2; }
.f-scena { fill: var(--p-tekst); }
.f-etykieta { fill: var(--p-tekst); font-size: 13px; font-weight: 600; letter-spacing: 0.06em; }
.f-etykieta--scena { fill: var(--p-tlo); font-size: 15px; letter-spacing: 0.2em; }
.f-etykieta--drugi { fill: var(--p-tekst2); font-size: 12px; font-weight: 500; letter-spacing: 0.04em; }
.f-etykieta--mala { font-size: 11px; letter-spacing: 0.04em; }
.f-etykieta--akcent { fill: var(--p-akcent-tekst); }
.f-barierka { stroke: var(--p-linia-mocna); stroke-width: 2; stroke-dasharray: 5 5; }
.f-ga { fill: color-mix(in srgb, var(--p-akcent) 14%, var(--p-karta)); stroke: var(--p-akcent); stroke-width: 1.5; stroke-dasharray: 6 5; }
.f-loza { fill: color-mix(in srgb, var(--p-uwaga) 12%, var(--p-karta)); stroke: var(--p-uwaga); stroke-width: 1.5; }
.f-miejsce { fill: color-mix(in srgb, var(--p-akcent) 62%, var(--p-karta)); }
.f-miejsce--vip { fill: var(--p-uwaga); }
.f-miejsce--zajete { fill: color-mix(in srgb, var(--p-tekst) 16%, var(--p-karta)); }
.f-miejsce--wybrane { fill: var(--p-ok); stroke: var(--p-tekst); stroke-width: 1.5; }
.f-stol { fill: var(--p-tlo2); stroke: var(--p-linia-mocna); stroke-width: 1.5; }
.f-numer { fill: var(--p-tekst); font-size: 13px; font-weight: 700; }
.f-bar, .f-pomoc { fill: var(--p-tlo2); stroke: var(--p-linia-mocna); stroke-width: 1.5; }
.f-wejscie { fill: var(--p-akcent); }
.f-skaner { fill: var(--p-akcent); stroke: var(--p-karta); stroke-width: 2; }
.f-krzeslo { fill: color-mix(in srgb, var(--p-tekst2) 55%, var(--p-karta)); }
.f-stolik { stroke-width: 2; }
.f-stolik--wolny { fill: var(--p-ok-tlo); stroke: var(--p-ok); }
.f-stolik--zajety { fill: var(--p-blad-tlo); stroke: var(--p-blad); }
.f-stolik--zablokowany { fill: var(--p-uwaga-tlo); stroke: var(--p-uwaga); stroke-dasharray: 4 3; }
.f-qr { fill: var(--p-tekst); }
.f-qr-tekst { fill: var(--p-tlo); font-size: 8px; font-weight: 700; }
.nb-legenda { list-style: none; margin: var(--r-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; color: var(--p-tekst2); }
.nb-legenda li { display: flex; align-items: center; gap: 8px; }
.nb-legenda__pole { display: inline-block; width: 16px; height: 16px; border-radius: 4px; border: 2px solid; }
.nb-legenda__pole--wolny { background: var(--p-ok-tlo); border-color: var(--p-ok); }
.nb-legenda__pole--zajety { background: var(--p-blad-tlo); border-color: var(--p-blad); }
.nb-legenda__pole--zablokowany { background: var(--p-uwaga-tlo); border-color: var(--p-uwaga); border-style: dashed; }
.nb-legenda__qr { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 16px; border-radius: 3px; font-size: 9px; font-weight: 700; font-style: normal; color: var(--p-tlo); background: var(--p-tekst); }

/* ---------- ekrany: okno panelu ---------- */
.nb-okno { border-radius: 12px; border: 1px solid var(--p-linia-mocna); background: var(--p-karta); overflow: hidden; font-size: 14px; color: var(--p-tekst); }
.nb-okno__pasek { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--p-linia); background: var(--p-tlo2); }
.nb-okno__pasek i { width: 9px; height: 9px; border-radius: 50%; background: var(--p-linia-mocna); }
.nb-okno__pasek span { margin-left: 8px; font-size: 12px; color: var(--p-tekst2); }
.nb-okno__tresc { padding: round(clamp(16px, 2vw, 24px), 4px); display: grid; gap: var(--r-2); }
.nb-okno__naglowek { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.nb-okno__naglowek b { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.nb-okno__naglowek span { font-size: 13px; color: var(--p-tekst2); }
.nb-kpi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); gap: 12px; }
.nb-kpi--trzy { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }
.nb-kpi li { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 10px; border: 1px solid var(--p-linia); background: var(--p-tlo2); min-width: 0; }
.nb-kpi span { font-size: 12px; color: var(--p-tekst2); }
.nb-kpi b { font-size: clamp(15px, 1.6vw, 19px); font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; }
.nb-kpi small { font-size: 11px; line-height: 1.3; color: var(--p-tekst2); }
.nb-wzor { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; border-radius: 10px; background: var(--p-akcent-tlo); color: var(--p-akcent-tekst); font-size: 13px; }
.nb-wzor i { font-style: normal; opacity: 0.7; }
.nb-wzor b { font-weight: 700; }
.nb-tabela-wrap { overflow-x: auto; border: 1px solid var(--p-linia); border-radius: 10px; }
.nb-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.nb-tabela th { padding: 8px 12px; text-align: left; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--p-tekst2); background: var(--p-tlo2); white-space: nowrap; }
.nb-tabela td { padding: 8px 12px; border-top: 1px solid var(--p-linia); white-space: nowrap; }
.nb-tabela .nb-r { text-align: right; font-variant-numeric: tabular-nums; }
.nb-stan { display: inline-block; padding: 0 8px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.nb-stan--ok { color: var(--p-ok); background: var(--p-ok-tlo); }
.nb-stan--uwaga { color: var(--p-uwaga); background: var(--p-uwaga-tlo); }
.nb-okno__akcje { display: flex; flex-wrap: wrap; gap: 8px; }
.nb-przycisk-mak { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--p-na-akcencie); background: var(--p-akcent); }
.nb-przycisk-mak--drugi { color: var(--p-tekst); background: transparent; border: 1px solid var(--p-linia-mocna); }
.nb-okno__uwaga { margin: 0; font-size: 12px; line-height: 1.5; color: var(--p-tekst2); }
.nb-postep { height: 8px; border-radius: 999px; background: var(--p-linia); overflow: hidden; }
.nb-postep i { display: block; height: 100%; border-radius: inherit; background: var(--p-akcent); }

.nb-wykresy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--r-2); }
.nb-wykres { padding: 12px; border-radius: 10px; border: 1px solid var(--p-linia); background: var(--p-tlo2); }
.nb-wykres h3 { margin: 0 0 12px; font-size: 13px; font-weight: 600; }
.nb-slupki { display: flex; align-items: flex-end; gap: 4px; height: 120px; }
.nb-slupki i { flex: 1; min-width: 0; border-radius: 3px 3px 0 0; background: var(--p-akcent); }
.nb-slupki--drugi i { background: var(--p-ok); }
.nb-os { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11px; color: var(--p-tekst2); }
@media (max-width: 520px) { .nb-wykresy { grid-template-columns: minmax(0, 1fr); } }

.nb-kanban { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-items: start; }
.nb-kanban__kol { padding: 8px; border-radius: 10px; background: var(--p-tlo2); min-width: 0; }
.nb-kanban__kol h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; font-size: 12px; font-weight: 600; }
.nb-kanban__kol h3 span { padding: 0 8px; border-radius: 999px; font-size: 11px; color: var(--p-akcent-tekst); background: var(--p-akcent-tlo); }
.nb-kanban__karta { margin-bottom: 8px; padding: 12px; border-radius: 8px; border: 1px solid var(--p-linia); background: var(--p-karta); }
.nb-kanban__karta b { font-size: 13px; }
.nb-kanban__karta p { margin: 4px 0; font-size: 12px; line-height: 1.4; color: var(--p-tekst2); }
.nb-kanban__karta small { font-size: 11px; color: var(--p-tekst2); }
@media (max-width: 700px) { .nb-kanban { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- ekrany: telefon ---------- */
.nb-tel { position: relative; width: min(100%, 300px); padding: 12px; border-radius: 36px; border: 1px solid var(--p-linia-mocna); background: var(--p-tekst); box-shadow: 0 24px 48px var(--p-cien); }
.nb-tel__glosnik { position: absolute; top: 16px; left: 50%; width: 64px; height: 6px; margin-left: -32px; border-radius: 999px; background: var(--p-tlo); opacity: 0.3; z-index: 1; }
.nb-tel__ekran { display: flex; flex-direction: column; gap: 12px; min-height: 480px; padding: 32px 12px 12px; border-radius: 28px; background: var(--p-karta); color: var(--p-tekst); font-size: 13px; }
.nb-tel__gora { display: flex; flex-direction: column; gap: 4px; }
.nb-tel__stolik { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.nb-tel__lokal { font-size: 12px; color: var(--p-tekst2); }
.nb-tel__lokal--offline { color: var(--p-uwaga); font-weight: 600; }
.nb-tel__szukaj { padding: 8px 12px; border-radius: 12px; border: 1px solid var(--p-linia); background: var(--p-tlo2); color: var(--p-tekst2); }
.nb-tel__chipy { display: flex; gap: 8px; overflow: hidden; }
.nb-tel__chipy span { padding: 4px 12px; border-radius: 999px; border: 1px solid var(--p-linia); font-size: 12px; white-space: nowrap; }
.nb-tel__chipy .nb-aktywny { color: var(--p-na-akcencie); background: var(--p-akcent); border-color: var(--p-akcent); }
.nb-tel__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; flex: 1; }
.nb-tel__lista li { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--p-linia); }
.nb-tel__lista b { font-size: 14px; }
.nb-tel__lista p { margin: 4px 0; font-size: 12px; color: var(--p-tekst2); }
.nb-znaczek { margin-left: 8px; padding: 0 8px; border-radius: 999px; font-size: 10px; font-weight: 700; color: var(--p-ok); background: var(--p-ok-tlo); }
.nb-alergeny { display: flex; flex-wrap: wrap; gap: 4px; }
.nb-alergeny span { padding: 0 8px; border-radius: 4px; font-size: 10px; color: var(--p-uwaga); background: var(--p-uwaga-tlo); }
.nb-tel__cena { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; font-weight: 600; white-space: nowrap; }
.nb-plus { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-size: 16px; line-height: 1; color: var(--p-na-akcencie); background: var(--p-akcent); }
.nb-tel__koszyk { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-radius: 12px; color: var(--p-na-akcencie); background: var(--p-akcent); font-size: 13px; }
.nb-tel__koszyk b { font-weight: 700; }
.nb-skan__kadr { position: relative; flex: 1; min-height: 190px; border-radius: 14px; border: 2px solid var(--p-linia-mocna); background: var(--p-tlo2); overflow: hidden; }
.nb-skan__kadr::before { content: ""; position: absolute; inset: 22% 22%; border: 3px solid var(--p-akcent); border-radius: 12px; }
.nb-skan__laser { position: absolute; left: 18%; right: 18%; top: 50%; height: 2px; background: var(--p-akcent); animation: nb-laser 1.8s ease-in-out infinite alternate; }
@keyframes nb-laser { from { transform: translateY(-48px); } to { transform: translateY(48px); } }
.nb-skan__wynik { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 12px; border-left: 4px solid; }
.nb-skan__wynik b { font-size: 14px; }
.nb-skan__wynik span { font-size: 12px; color: var(--p-tekst2); }
.nb-skan__wynik--ok { color: var(--p-ok); background: var(--p-ok-tlo); }
.nb-skan__wynik--blad { color: var(--p-blad); background: var(--p-blad-tlo); }

/* ---------- ograniczony ruch ---------- */
@media (prefers-reduced-motion: reduce) {
	.nb-skan__laser { animation: none; }
	.nb-karta-zdjecia, .nb-karta-zdjecia *, .nb-karta-artykulu *, .nb-karta--link { transition: none !important; }
}

/* ---------- stopka: czytelne rozmiary (szablon skaluje je z szerokością okna i na laptopie schodzą poniżej 11 px) ---------- */
.footer_wrapper__9GQwi .nb-stopka-cta { font-size: max(1.8rem, 17px); }
.footer_wrapper__9GQwi .footer_newsletter-title__bRCRZ { font-size: max(2.4rem, 22px); }
.footer_wrapper__9GQwi .footer_contact-label__gYKsP { font-size: max(1.4rem, 13px); }
.footer_wrapper__9GQwi .footer_contact-value__e1jbK { font-size: max(1.8rem, 16px); }
.footer_wrapper__9GQwi .footer_copyright-container__yt1ht { font-size: max(1.4rem, 13px); }
.footer_wrapper__9GQwi .footer_nav-link__LFUNG { font-size: max(3.2rem, 22px); }

.nb-podpowiedz { display: none; margin: 12px 0 0; font-size: 13px; color: var(--p-tekst2); }
@media (max-width: 900px) { .nb-podpowiedz { display: block; } }

/* ---------- czytelność tekstów szablonu na laptopach i tabletach (szablon skaluje rem z szerokością okna: 768–1280 px daje 4–6,7 px na rem) ---------- */
.button_button-round__TFjlU { font-size: max(1.6rem, 14px); }
.hero_text__R6LQ5 { font-size: max(2rem, 17px); }
.why-us_text__rT1u9 { font-size: max(2.4rem, 18px); }
.arrows-section_text__Z1Oii { font-size: max(2rem, 16px); }
.rewired_list-item__R5lrq { font-size: max(2.4rem, 18px); }
.rewired_label__db93N { font-size: max(1.6rem, 14px); }
.nb-statystyki .stats-hook, .nb-statystyki .stats-lede, .nb-statystyki .step { font-size: max(1.6rem, 14px); }
.stats-tile .lbl { font-size: max(1.8rem, 15px); }
.stats-tile .tile-sub { font-size: max(1.4rem, 13px); }
.testimonials_quote__877vg p { font-size: max(2.4rem, 19px); }
.services_item-text__uKETL h3 { font-size: max(1.6rem, 15px); }
.features_text__Wp8am p { font-size: max(2rem, 17px); }
.features_item-text__X8po0 p { font-size: max(1.6rem, 15px); }
.post-entry_text__Xeca_ p { font-size: max(1.6rem, 15px); }
.post-entry_title__JBO73 { font-size: max(3.2rem, 24px); }
.post-entry_date__zuyY6 { font-size: max(1.4rem, 14px); }
.latest-posts_text__1m3Av p { font-size: max(2rem, 17px); }

.nb-podstrona .header_burger-control__YR_x_ { color: var(--p-tekst); }

/* ---------- ruch: pojawianie sekcji, przewijanie do kotwic ---------- */
section[id], .nb-art__sekcja[id] { scroll-margin-top: 96px; }
@media (prefers-reduced-motion: no-preference) {
	html.nb-ps { scroll-behavior: smooth; }
	html.nb-js .nb-rev { opacity: 0; transform: translateY(14px); }
	html.nb-js .nb-rev.nb-wid { opacity: 1; transform: none; transition: opacity 0.5s var(--nb-ease), transform 0.6s var(--nb-ease); }
}
.nb-karta:active, .nb-karta-zdjecia:active { transform: scale(0.99); }
.nb-podstrona .button_button-round__TFjlU:active { transform: scale(0.98); }
.nb-foto img, .nb-karta-zdjecia__foto img, .nb-karta-artykulu__foto img { object-position: var(--poz, 50% 50%); }
.nb-tlo-uslugi__zdjecie, .nb-miniatura__zdjecie, .nb-tlo-zakonczenia__zdjecie { object-position: var(--poz, 50% 50%); }

/* ---------- cele dotyku min. 44 px i odstępy w skali 4 px dla elementów szablonu ---------- */
#nb-tresc { scroll-margin-top: 96px; }
.header_nav-item__Wn05d { min-height: 44px; }
.header_nav-item__Wn05d a { display: flex; align-items: center; min-height: 44px; }
.header_logo__LO_Jk .nb-logo { min-height: 44px; gap: 8px; }
.header_burger-control__YR_x_ { box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; width: 44px; height: 44px; padding: 0 7px; margin-right: -7px; }
.header_burger-control__YR_x_ span { flex: none; }
.footer_wrapper__9GQwi .footer_nav-link__LFUNG { display: inline-flex; align-items: center; min-height: 44px; }
.footer_wrapper__9GQwi .footer_contact-value__e1jbK a, .footer_wrapper__9GQwi .footer_sublinks__Pj_ed a, .footer_wrapper__9GQwi .nb-stopka-cta { display: inline-flex; align-items: center; min-height: 44px; }
.footer_wrapper__9GQwi .nb-stopka-cta { display: flex; gap: 16px; }
.footer_wrapper__9GQwi .footer_sublinks__Pj_ed { gap: 8px 16px; }
.nb-okruszki a { display: inline-flex; align-items: center; min-height: 44px; }
.nb-karta--link h3 a { display: block; padding-block: 12px; margin-block: -12px; }
.testimonials_carousel__EBBTD button.swiper-pagination-bullet { min-width: 44px; min-height: 44px; }
.header_nav-item__Wn05d a, .footer_wrapper__9GQwi .footer_contact-value__e1jbK a, .footer_wrapper__9GQwi .footer_sublinks__Pj_ed a { min-width: 44px; }
.button_button-round__TFjlU { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
/* odstępy elementów szablonu z rem zapisane w pikselach na siatce 4 px */
.nb-stopka-cta { padding: 12px 0; }
.nb-strzalka { gap: 12px; }
.nb-tlo-funkcji { padding: 24px; }
/* nawigacja bez efektu podwójnego napisu (szablon pokazywał drugą linię z data-text): hover to podkreślenie, cel dotyku 44 px */
.header_nav-item__Wn05d span:after, .footer_nav-link__LFUNG span:after { display: none; }
.header_nav-item__Wn05d a, .footer_nav-link__LFUNG { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 6px; transition: text-decoration-color 0.2s var(--nb-ease); }
@media (hover: hover) { .header_nav-item__Wn05d a:hover, .footer_nav-link__LFUNG:hover { text-decoration-color: currentcolor; } }
.header_nav-item__Wn05d { overflow: visible; }
.nb-kpi span { overflow-wrap: anywhere; }
.stats-tile { min-width: 0; }
.stats-tile .lbl, .stats-tile .tile-sub { overflow-wrap: anywhere; }
