/*
Theme Name: sp
Theme URI: https://www.szablonstrony.pl/
Author: Telepartner Sp. z o.o.
Description: Autorski motyw serwisu szablonstrony.pl — „Warsztat / tabliczka znamionowa". Klasyczny, bez JS, fonty lokalne. Kontrakt wizualny: DESIGN.md.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: sp
*/

/* ===== Fonty (lokalne WOFF2, subset latin+latin-ext) ===== */
@font-face { font-family: "Archivo"; font-weight: 700; font-style: normal; font-display: swap; src: url("fonts/archivo-700.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-weight: 800; font-style: normal; font-display: swap; src: url("fonts/archivo-800.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/plexsans-400.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/plexsans-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/plexmono-400.woff2") format("woff2"); }

/* ===== Tokeny (DESIGN.md §2.1) ===== */
:root {
	--sp-papier: #F6F1E7;
	--sp-karta: #FFFDF9;
	--sp-tablica: #2B2620;
	--sp-arch-tlo: #EAE3D5;
	--sp-smola: #262119;
	--sp-szarobraz: #5B5347;
	--sp-kredowy: #B8AE9E;
	--sp-rdza: #A4470F;
	--sp-rdza-jasna: #E89B62;
	--sp-linia: #D8D0C0;
	--sp-cien: 4px 4px 0 var(--sp-smola);
	--sp-cien-hover: 6px 6px 0 var(--sp-smola);
	--sans: "IBM Plex Sans", system-ui, sans-serif;
	--naglowki: "Archivo", system-ui, sans-serif;
	--mono: "IBM Plex Mono", ui-monospace, monospace;
	--s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;
}

/* ===== Baza ===== */
*, *::before, *::after { box-sizing: border-box; }
body {
	margin: 0;
	background: var(--sp-papier);
	color: var(--sp-smola);
	font-family: var(--sans);
	font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
	line-height: 1.6;
}
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { font-family: var(--naglowki); font-weight: 700; margin: 0 0 0.5em; }
h1 { font-size: clamp(2rem, 1.1rem + 4vw, 3.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.25rem); font-weight: 800; line-height: 1.15; }
h3 { font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem); line-height: 1.25; }
h4 { font-size: 1.125rem; line-height: 1.3; }
p { margin: 0 0 1em; }
a { color: var(--sp-rdza); text-decoration: underline; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 3px; }
:focus-visible { outline: 3px solid var(--sp-rdza); outline-offset: 2px; }
/* Rdza-jasna TYLKO na ciemnym tle (stopka); wokół przycisków obrys pada na
   jasne otoczenie, więc obowiązuje rdza (DESIGN §2.2, pary zakazane). */
.sp-stopka :focus-visible { outline-color: var(--sp-rdza-jasna); }

.sp-kontener { max-width: 1200px; margin-inline: auto; padding-inline: 20px; }
@media (min-width: 900px) { .sp-kontener { padding-inline: 32px; } }
.nowrap { white-space: nowrap; }
.sp-glowna { display: block; }
.sp-tresc-lam { max-width: 68ch; }
.sp-mono, .sp-nadtytul, .sp-etykieta { font-family: var(--mono); }

.czytnik, .screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sp-skip {
	position: absolute; left: -9999px; top: 0; z-index: 100;
	background: var(--sp-rdza); color: #fff; padding: 12px 20px; font-weight: 600;
}
.sp-skip:focus { left: 8px; top: 8px; }

.sp-nadtytul { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--sp-szarobraz); margin-bottom: var(--s3); }
.sp-etykieta { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 400; margin: 0; }
.sp-lead { font-size: 1.1875rem; line-height: 1.55; max-width: 55ch; }

/* ===== Nagłówek ===== */
.sp-naglowek { border-bottom: 3px solid var(--sp-smola); position: relative; }
.sp-naglowek-wnetrze { display: flex; align-items: center; justify-content: space-between; min-height: 64px; gap: var(--s4); }
.sp-logo { font-family: var(--naglowki); font-weight: 800; font-size: 1.25rem; color: var(--sp-smola); text-decoration: none; }
.sp-logo-kropka { color: var(--sp-rdza); }
.sp-nav-lista { list-style: none; margin: 0; padding: 0; }
.sp-tel { font-family: var(--mono); font-size: 0.9375rem; color: var(--sp-smola); text-decoration-color: var(--sp-rdza); text-decoration-thickness: 2px; white-space: nowrap; }

.nav-desktop { display: none; }
.nav-mobile summary {
	list-style: none; cursor: pointer; font-family: var(--mono); text-transform: uppercase;
	font-size: 0.8125rem; letter-spacing: 0.08em; border: 2px solid var(--sp-smola);
	border-radius: 2px; padding: 10px 14px; min-height: 44px; display: inline-flex; align-items: center;
}
.nav-mobile summary::-webkit-details-marker { display: none; }
.nav-mobile summary::before { content: "≡ " / ""; margin-right: 6px; }
/* Panel menu na pełną szerokość pod paskiem nagłówka (DESIGN §5.1). */
.nav-mobile-panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 50;
	background: var(--sp-karta); border-bottom: 3px solid var(--sp-smola);
}
.nav-mobile-panel .sp-nav-lista li { border-bottom: 1px solid var(--sp-linia); }
.nav-mobile-panel .sp-nav-lista a, .nav-mobile-panel .sp-tel {
	display: flex; align-items: center; min-height: 48px; padding: 0 var(--s4);
	color: var(--sp-smola); text-decoration: none; font-weight: 600;
}
.nav-mobile-panel .sp-nav-lista a:hover { color: var(--sp-rdza); }
.nav-mobile-panel .sp-tel { font-family: var(--mono); font-weight: 400; }

@media (min-width: 900px) {
	.sp-naglowek-wnetrze { min-height: 72px; }
	.nav-mobile { display: none; }
	.nav-desktop { display: flex; align-items: center; gap: var(--s5); }
	.nav-desktop .sp-nav-lista { display: flex; gap: var(--s5); }
	.nav-desktop .sp-nav-lista a {
		color: var(--sp-smola); text-decoration: none; font-weight: 600; font-size: 0.9375rem;
		padding-bottom: 6px; border-bottom: 3px solid transparent;
	}
	.nav-desktop .sp-nav-lista a:hover,
	.nav-desktop .sp-nav-lista .current-menu-item a { border-bottom-color: var(--sp-rdza); }
}

/* ===== Hero (§5.2) ===== */
.sp-hero {
	padding-block: var(--s7);
	background-image: radial-gradient(var(--sp-linia) 1.5px, transparent 1.5px);
	background-size: 28px 28px;
}
.sp-hero-siatka { display: grid; gap: var(--s7); align-items: center; }
@media (min-width: 900px) { .sp-hero { padding-block: var(--s8); } }
.sp-przyciski { display: flex; flex-direction: column; gap: var(--s3); align-items: stretch; margin-top: var(--s5); }
.przycisk {
	display: inline-flex; justify-content: center; align-items: center; gap: 8px;
	background: var(--sp-rdza); color: #fff; text-decoration: none; font-weight: 600; font-size: 1rem;
	padding: 14px 28px; border: 0; border-radius: 2px; box-shadow: var(--sp-cien);
	transition: transform 120ms ease-out, box-shadow 120ms ease-out; cursor: pointer; font-family: var(--sans);
}
.przycisk:hover { transform: translate(-2px, -2px); box-shadow: var(--sp-cien-hover); }
.przycisk:active { transform: translate(2px, 2px); box-shadow: 0 0 0 var(--sp-smola); }
.przycisk--drugi { background: transparent; color: var(--sp-smola); border: 2px solid var(--sp-smola); box-shadow: none; }
.przycisk--drugi:hover { background: var(--sp-smola); color: var(--sp-papier); transform: none; box-shadow: none; }

.sp-metka {
	position: relative; background: var(--sp-karta); border: 2px solid var(--sp-smola);
	border-radius: 2px; box-shadow: var(--sp-cien); padding: var(--s5) var(--s5) var(--s5);
}
.sp-metka-dziurka {
	position: absolute; top: 12px; left: 12px; width: 10px; height: 10px;
	border: 2px solid var(--sp-smola); border-radius: 50%; background: var(--sp-papier);
}
.sp-metka .sp-etykieta { color: var(--sp-szarobraz); margin: 0 0 var(--s2); text-align: right; }
.sp-metka-cena { font-family: var(--mono); margin: 0; line-height: 1; }
.sp-metka-cena span { font-family: var(--naglowki); font-weight: 800; font-size: clamp(3rem, 2rem + 5vw, 4.5rem); letter-spacing: -0.02em; }
.sp-metka-podpis { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); margin: var(--s2) 0 var(--s4); }
.sp-metka-lista { list-style: none; margin: 0; padding: 0; }
.lider {
	display: flex; align-items: baseline; gap: 8px; font-family: var(--mono);
	font-size: 0.8125rem; line-height: 1.5; margin: 0 0 var(--s2);
}
.lider-nazwa, .lider-wartosc { flex-shrink: 0; }
.lider-wartosc [aria-hidden="true"] { color: var(--sp-rdza); }
.lider-kropki { flex: 1; min-width: 16px; border-bottom: 1px dotted var(--sp-szarobraz); transform: translateY(-4px); }

@media (min-width: 560px) {
	.sp-przyciski { flex-direction: row; }
	.sp-przyciski .przycisk { flex: 0 0 auto; }
	.sp-hero-siatka { grid-template-columns: 7fr 5fr; }
}
@media (min-width: 900px) {
	.sp-metka { transform: rotate(1.5deg); }
}

/* ===== Sekcje i belki ===== */
/* Sąsiadujące sekcje sumują paddingi: 2×32=64 mobile, 2×48=96 desktop (§4). */
.sp-sekcja { padding-block: var(--s6); }
@media (min-width: 900px) { .sp-sekcja { padding-block: var(--s7); } }
.sp-belka {
	border-top: 3px solid var(--sp-smola); padding-top: var(--s3); margin-bottom: var(--s6);
	display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); flex-wrap: wrap;
}
.sp-belka .sp-etykieta { color: var(--sp-smola); }
.sp-belka-link { font-family: var(--mono); font-size: 0.8125rem; }

/* ===== Proces (§5.3) ===== */
.sp-proces { display: grid; gap: var(--s6); }
.sp-stempel {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border: 2px solid var(--sp-smola); border-radius: 50%;
	font-family: var(--mono); font-size: 0.9375rem; margin-bottom: var(--s3);
}
.sp-krok-tytul { font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem); }
.lider--maly { color: var(--sp-szarobraz); margin-top: var(--s3); }
@media (min-width: 900px) { .sp-proces { grid-template-columns: repeat(3, 1fr); gap: var(--s6); } }

/* ===== Siatka kart (§5.4) ===== */
.sp-siatka { display: grid; gap: var(--s6); grid-template-columns: 1fr; }
@media (min-width: 560px) { .sp-siatka { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .sp-siatka { grid-template-columns: repeat(3, 1fr); } }

.karta {
	position: relative; background: var(--sp-karta); border: 2px solid var(--sp-smola);
	border-radius: 2px; display: flex; flex-direction: column;
	transition: transform 120ms ease-out, box-shadow 120ms ease-out;
}
.karta--nasza { border-width: 3px; }
.karta:hover, .karta:focus-within { transform: translate(-3px, -3px); box-shadow: 5px 5px 0 var(--sp-smola); }
.karta-obrazek-rama { position: relative; border-bottom: 2px solid var(--sp-smola); }
.karta-obrazek { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.karta-obrazek--brak { display: block; aspect-ratio: 16 / 10; background: var(--sp-arch-tlo); }
.karta-korpus { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); flex: 1; }
.karta-meta { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); margin: 0; display: flex; justify-content: space-between; }
.karta-numer--nasz { color: var(--sp-rdza); }
.karta-tytul { margin: 0; font-size: 1.25rem; }
.karta-tytul a { color: var(--sp-smola); text-decoration: none; }
.karta-tytul a::after { content: ""; position: absolute; inset: 0; }
.karta-zajawka { font-size: 0.9375rem; color: var(--sp-szarobraz); margin: 0; }
.karta-zobacz { margin: auto 0 0; font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-rdza); }

/* ===== Badge (§5.6) ===== */
.badge {
	display: inline-block; font-family: var(--mono); font-size: 0.75rem; text-transform: uppercase;
	letter-spacing: 0.08em; padding: 4px 10px; line-height: 1.2;
}
.badge--nasz {
	background: var(--sp-rdza); color: #fff;
	clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%); padding-right: 18px;
}
.karta-obrazek-rama .badge--nasz { position: absolute; top: 0; left: 12px; }
.badge--archiwalny { background: var(--sp-arch-tlo); color: var(--sp-szarobraz); border: 1.5px dashed var(--sp-szarobraz); border-radius: 2px; }
.karta-obrazek-rama .badge--archiwalny { position: absolute; bottom: 8px; right: 8px; }

/* ===== Nagłówki stron / archiwum ===== */
.sp-naglowek-strony { padding-block: var(--s7) var(--s6); }
.sp-naglowek-strony h1 { border-bottom: 3px solid var(--sp-smola); padding-bottom: var(--s4); margin-bottom: var(--s4); }
.sp-naglowek-opis { color: var(--sp-szarobraz); max-width: 68ch; }
.sp-naglowek-opis.sp-mono { font-size: 0.8125rem; }
.sp-belka + .sp-siatka { margin-bottom: var(--s8); }

/* ===== Zaufanie ===== */
.sp-sekcja--zaufanie .sp-zaufanie { border: 2px solid var(--sp-smola); border-radius: 2px; background: var(--sp-karta); box-shadow: var(--sp-cien); padding: var(--s6); }
.sp-zaufanie-meta { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); margin-left: var(--s3); }

/* ===== Single project (§5.7) ===== */
.projekt-breadcrumb { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); padding-top: var(--s5); display: flex; gap: 8px; }
.projekt-badge-wiersz { margin: var(--s4) 0 0; }
.projekt-tytul { margin-top: var(--s3); }
.pasek-archiwalny {
	background: var(--sp-arch-tlo); border: 1.5px dashed var(--sp-szarobraz); border-radius: 2px;
	padding: var(--s3) var(--s4); font-size: 0.9375rem; margin-bottom: var(--s5); max-width: 68ch;
}
.projekt-uklad { display: grid; gap: var(--s6); margin-bottom: var(--s8); }
.projekt-showcase { margin: 0 0 var(--s5); border: 2px solid var(--sp-smola); box-shadow: var(--sp-cien); }
.projekt-showcase img { display: block; width: 100%; }
.projekt-widoki-siatka { display: grid; gap: var(--s5); grid-template-columns: 1fr; }
@media (min-width: 560px) { .projekt-widoki-siatka { grid-template-columns: repeat(2, 1fr); } }
.tabliczka { background: var(--sp-karta); border: 2px solid var(--sp-smola); border-radius: 2px; box-shadow: var(--sp-cien); }
.tabliczka-naglowek {
	background: var(--sp-smola); color: var(--sp-papier); font-family: var(--mono); font-weight: 400;
	font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; padding: var(--s3) var(--s4); margin: 0;
}
.tabliczka-wnetrze { padding: var(--s4); }
.tabliczka-opis { font-size: 0.9375rem; }
.sp-spec { margin: 0 0 var(--s4); }
.sp-spec-wiersz { display: flex; align-items: baseline; gap: 8px; margin-bottom: var(--s3); }
.sp-spec dt { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); flex-shrink: 0; }
.sp-spec dd { margin: 0; font-weight: 600; text-align: right; }
/* Wartości tabliczki po smole (§5.7); podkreślenie zostaje jako sygnał linku. */
.sp-spec dd a { color: var(--sp-smola); text-decoration-thickness: 1px; }
.sp-spec dd a:hover { color: var(--sp-rdza); }
.sp-spec .lider-kropki { border-bottom-color: var(--sp-linia); }
.tabliczka-cta { width: 100%; }
.tabliczka-dopisek { font-family: var(--mono); font-size: 0.75rem; color: var(--sp-szarobraz); text-align: center; margin: var(--s2) 0 var(--s4); }
.tabliczka-zamow { margin: 0; text-align: center; }
.projekt-inne { padding-bottom: var(--s8); }

@media (min-width: 900px) {
	.projekt-uklad {
		grid-template-columns: 2fr 1fr;
		grid-template-areas: "obraz tabliczka" "opis tabliczka";
		align-items: start;
	}
	.projekt-obraz { grid-area: obraz; }
	.tabliczka-kolumna { grid-area: tabliczka; }
	.projekt-opis { grid-area: opis; }
	.tabliczka { position: sticky; top: 24px; }
}

/* ===== Paginacja (§5.9) ===== */
.sp-paginacja { margin: var(--s7) 0 var(--s8); }
.sp-paginacja ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.sp-paginacja .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
	padding: 0 10px; border: 2px solid var(--sp-smola); border-radius: 2px;
	font-family: var(--mono); font-size: 0.9375rem; color: var(--sp-smola); text-decoration: none;
}
.sp-paginacja a.page-numbers:hover { background: var(--sp-rdza); border-color: var(--sp-rdza); color: #fff; }
.sp-paginacja .page-numbers.current { background: var(--sp-smola); color: var(--sp-papier); }
.sp-paginacja .page-numbers.dots { border: 0; min-width: auto; }

/* ===== Wyniki / blog ===== */
.sp-wyniki { max-width: 68ch; display: grid; gap: var(--s5); margin-bottom: var(--s7); }
.wynik { border: 2px solid var(--sp-smola); border-radius: 2px; background: var(--sp-karta); padding: var(--s4); }
.wynik-meta { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); margin: 0 0 var(--s2); }
.wynik-typ { border: 1.5px solid var(--sp-smola); border-radius: 2px; padding: 2px 8px; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.75rem; }
.wynik-tytul { margin: 0 0 var(--s2); font-size: 1.25rem; }
.wynik p:last-child { margin: 0; }

/* ===== 404 (§5.12) ===== */
.sp-404 { padding-block: var(--s8); }
.sp-404-cyfry {
	font-family: var(--naglowki); font-weight: 800; font-size: clamp(6rem, 20vw, 12rem); line-height: 1;
	margin: 0; -webkit-text-stroke: 2px var(--sp-smola); color: transparent;
}
@supports not (-webkit-text-stroke: 1px #000) { .sp-404-cyfry { color: var(--sp-smola); } }
.sp-404-linki { align-items: center; }
.sp-404 .sp-szukaj { max-width: 480px; margin-bottom: var(--s5); }

/* ===== Formularze (§5.14) ===== */
.sp-szukaj label { display: block; font-family: var(--mono); font-size: 0.8125rem; margin-bottom: var(--s2); }
.sp-szukaj-wiersz { display: flex; gap: var(--s3); flex-wrap: wrap; }
input[type="search"], input[type="text"], input[type="email"], input[type="url"], textarea {
	background: var(--sp-karta); border: 2px solid var(--sp-smola); border-radius: 2px;
	padding: 10px 14px; min-height: 44px; font-family: var(--sans); font-size: 1rem; color: var(--sp-smola);
}
input::placeholder, textarea::placeholder { color: var(--sp-szarobraz); opacity: 1; }
.sp-szukaj input[type="search"] { flex: 1; min-width: 200px; }

/* ===== Treść klasyczna (§5.11) ===== */
.entry-content { padding-bottom: var(--s8); }
.entry-content h2 { position: relative; margin-top: 1.5em; }
.entry-content h2::after { content: ""; display: block; width: 1.5em; border-bottom: 3px solid var(--sp-rdza); margin-top: 0.25em; }
.entry-content h3, .entry-content h4 { margin-top: 1.5em; }
.entry-content ul li::marker { color: var(--sp-rdza); content: "▪  "; }
.entry-content ol li::marker { font-family: var(--mono); }
.entry-content blockquote { border-left: 4px solid var(--sp-rdza); background: var(--sp-karta); padding: var(--s4) var(--s5); margin: 0 0 1em; }
.entry-content table { border-collapse: collapse; border: 2px solid var(--sp-smola); display: block; overflow-x: auto; margin-bottom: 1em; }
.entry-content th { background: var(--sp-smola); color: var(--sp-papier); padding: 8px 12px; text-align: left; }
.entry-content td { border-bottom: 1px solid var(--sp-linia); padding: 8px 12px; }
.entry-content img { border: 2px solid var(--sp-smola); }
.entry-content figcaption, .entry-content .wp-caption-text { font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-szarobraz); }
.entry-content hr { border: 0; border-top: 3px solid var(--sp-smola); width: 25%; margin: var(--s6) 0; }
.entry-content code, .entry-content pre { font-family: var(--mono); background: var(--sp-karta); border: 1px solid var(--sp-linia); }
.entry-content pre { padding: var(--s4); overflow-x: auto; }
.entry-content .alignleft { float: left; margin: 0 var(--s5) var(--s4) 0; }
.entry-content .alignright { float: right; margin: 0 0 var(--s4) var(--s5); }
.entry-content .aligncenter { display: block; margin-inline: auto; }

/* ===== Stopka (§5.10) ===== */
.sp-stopka { background: var(--sp-tablica); color: var(--sp-papier); padding-block: var(--s8) var(--s5); margin-top: var(--s8); }
.sp-signoff { font-family: var(--naglowki); font-weight: 800; font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.25rem); line-height: 1.15; margin-bottom: var(--s7); }
.sp-signoff-cena { color: var(--sp-rdza-jasna); }
.sp-stopka-kolumny { display: grid; gap: var(--s6); }
.sp-etykieta--stopka { color: var(--sp-kredowy); margin-bottom: var(--s3); font-size: 0.75rem; }
.sp-stopka a { color: var(--sp-rdza-jasna); }
.sp-stopka-nav { list-style: none; margin: 0; padding: 0; }
.sp-stopka-nav li { margin-bottom: var(--s2); }
.sp-stopka-tel { font-family: var(--mono); font-size: 1.25rem; }
.sp-stopka-meta { color: var(--sp-kredowy); font-size: 0.9375rem; }
.sp-stopka-rejestr { font-family: var(--mono); font-size: 0.8125rem; }
.sp-stopka-podpis {
	font-family: var(--mono); font-size: 0.8125rem; color: var(--sp-kredowy);
	border-top: 1px solid #4A443C; padding-top: var(--s4); margin: var(--s7) 0 0;
}
@media (min-width: 900px) { .sp-stopka-kolumny { grid-template-columns: repeat(3, 1fr); } }

/* ===== Ruch (§7.5) ===== */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
	.karta:hover, .karta:focus-within, .przycisk:hover { transform: none; }
	.sp-metka { transform: none; }
}
