/*
 * Wysoki kontrast (WCAG 1.4.3, 1.4.6, 1.4.11, G174) — tryb dla całego motywu.
 * Włącza go atrybut html[data-contrast="high"] (skrypt w <head>, layout.php): przycisk w nagłówku albo ?dark=1
 * (bez powiązania z ustawieniami systemu). Tryb podmienia WARTOŚCI ZMIENNYCH z :root (style.css), a nie nadpisuje reguł:
 * selektor html[data-contrast="high"] ma wyższą specyficzność niż :root, więc wygrywa bez względu na kolejność plików
 * i nad kolorami z panelu (te są wstrzykiwane tylko poza trybem kontrastu). Reguły niżej obejmują wyłącznie to, czego
 * zmienną wyrazić się nie da. Nowy kolor w motywie = nowa zmienna w :root + wiersz w tym pliku.
 * Paleta: tło #000, tekst #fff (21:1), linki i przyciski #ff0 (19,6:1).
 */
html[data-contrast="high"] {
	--hc-bg: #000; --hc-text: #fff; --hc-accent: #ff0; --hc-placeholder: #e6e6e6;
	color-scheme: dark; accent-color: var(--hc-accent);

	/* tła i powierzchnie */
	--paper: var(--hc-bg); --white: var(--hc-bg); --tint: var(--hc-bg); --tint-2: var(--hc-bg); --tint-strong: var(--hc-bg);
	--dark: var(--hc-bg); --olive: var(--hc-bg);
	/* tekst, akcenty, linie */
	--brand: var(--hc-text); --brown: var(--hc-text); --text: var(--hc-text); --muted: var(--hc-text);
	--gold: var(--hc-text); --gold-light: var(--hc-accent); --line: var(--hc-text); --line-strong: var(--hc-text);
	--button: var(--hc-bg); --button-text: var(--hc-accent); --button-hover: var(--hc-accent); --focus: var(--hc-accent);
	/* kolory na zdjęciach: tekst biały, nakładki z czerni ≥ 85% krycia, linie pełne, kafelki bez wypełnienia */
	--cream: var(--hc-text); --cream-dim: var(--hc-text); --line-photo: var(--hc-text); --tint-photo: transparent;
	--shade: #000; --shade-hero: rgb(0 0 0 / .88); --shade-hero-compact: rgb(0 0 0 / .88);
	/* cienie: brak */
	--shadow: transparent;
}
/* zdjęcia bez filtrów; logo na jasnej tabliczce (bywa ciemne) */
html[data-contrast="high"] img, html[data-contrast="high"] video { filter: none; }
html[data-contrast="high"] .brand > img, html[data-contrast="high"] .footer-brand img { background-color: var(--hc-text); border-radius: 4px; }
html[data-contrast="high"] .photo-tile-copy small, html[data-contrast="high"] .lb-count { opacity: 1; }
/* dolny pasek: pełne tło zamiast półprzezroczystego z rozmyciem */
html[data-contrast="high"] .bottom-nav { background: var(--hc-bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-contrast="high"] ::marker { color: var(--hc-text); }
html[data-contrast="high"] ::placeholder { color: var(--hc-placeholder); opacity: 1; }
/* ikony i elementy w odsyłaczach i przyciskach dziedziczą ich kolor */
html[data-contrast="high"] a *, html[data-contrast="high"] button * { color: inherit; }

/* linki: żółte, zawsze podkreślone, także odwiedzone (motywy mają a { color: inherit }, a część reguł ma wyższą specyficzność) */
html[data-contrast="high"] a, html[data-contrast="high"] a:visited {
	color: var(--hc-accent) !important; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 2px;
}
html[data-contrast="high"] a.button, html[data-contrast="high"] a.button:visited { text-decoration: none !important; }

/* przyciski: czarne, żółty tekst i żółta ramka 2 px */
html[data-contrast="high"] button, html[data-contrast="high"] .button, html[data-contrast="high"] input[type="submit"],
html[data-contrast="high"] input[type="button"], html[data-contrast="high"] summary { color: var(--hc-accent); border-color: var(--hc-accent); }
html[data-contrast="high"] .hero-button { background-color: var(--hc-bg); color: var(--hc-accent); }
html[data-contrast="high"] .button, html[data-contrast="high"] .consent-button,
html[data-contrast="high"] input[type="submit"], html[data-contrast="high"] input[type="button"] { border: 2px solid var(--hc-accent); }
/* przyciski-odsyłacze w stopce wyglądają jak linki */
html[data-contrast="high"] .footer-consent, html[data-contrast="high"] .consent-link {
	border: 0; text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 2px;
}

/* najechanie myszą, fokus klawiaturą i dotknięcie: odwrócenie kolorów. :hover tylko przy myszy —
   na ekranie dotykowym zostawałby po dotknięciu. Wnętrze (ikony, kreski menu) zawsze czarne. */
html[data-contrast="high"] :is(a, button, summary, input[type="submit"], input[type="button"]):is(:focus-visible, :active) {
	background-color: var(--hc-accent); color: var(--hc-bg) !important; border-color: var(--hc-accent);
}
html[data-contrast="high"] :is(a, button, summary):is(:focus-visible, :active) * { color: var(--hc-bg) !important; }
html[data-contrast="high"] .mobile-menu:is(:focus-visible, :active) > span { background-color: var(--hc-bg); }
@media (hover: hover) {
	html[data-contrast="high"] :is(a, button, summary, input[type="submit"], input[type="button"]):hover {
		background-color: var(--hc-accent); color: var(--hc-bg) !important; border-color: var(--hc-accent);
	}
	html[data-contrast="high"] :is(a, button, summary):hover * { color: var(--hc-bg) !important; }
	html[data-contrast="high"] .mobile-menu:hover > span { background-color: var(--hc-bg); }
}
/* włączony przełącznik: grubsza ramka zamiast wypełnienia (stan niesie aria-pressed) */
html[data-contrast="high"] .contrast-toggle[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--hc-accent); }
/* wyraźny obrys fokusa */
html[data-contrast="high"] :focus-visible, html[data-contrast="high"] .search-mini:focus-within, html[data-contrast="high"] .nav-search:focus-within {
	outline: 3px solid var(--hc-accent) !important; outline-offset: 2px !important;
}
/* pola formularzy: żółta ramka przy fokusie */
html[data-contrast="high"] input:focus, html[data-contrast="high"] textarea:focus, html[data-contrast="high"] select:focus { border-color: var(--hc-accent); }
/* elementy, których kolor jest wspólny ze zmienną tła: wskaźnik online i obramowanie panelu Mszy (tło i ramka = --olive) */
html[data-contrast="high"] .status-dot { background-color: var(--hc-accent); }
html[data-contrast="high"] .mass-card { border-color: var(--hc-text); }
/* bieżąca strona w paginacji: czarna z grubą białą ramką; przycisk „Edytuj stronę”: jak pozostałe przyciski */
html[data-contrast="high"] .pager .current span { background-color: var(--hc-bg); color: var(--hc-text); font-weight: 700; box-shadow: inset 0 0 0 2px var(--hc-text); }
html[data-contrast="high"] .edit-page { background-color: var(--hc-bg); border: 2px solid var(--hc-accent); text-decoration: none !important; }
html[data-contrast="high"] input, html[data-contrast="high"] progress { accent-color: var(--hc-accent); }
