/**
 * SP1 Siechnice — tryb wysokiego kontrastu.
 *
 * Osobna paleta, a nie filtr `invert()`: odwrócenie kolorów psuje zdjęcia,
 * godło i logo BIP oraz nie gwarantuje żadnego konkretnego kontrastu.
 * Wszystkie pary poniżej mierzą co najmniej 7:1 (WCAG 1.4.6, poziom AAA):
 *
 *   #ffffff na #000000 — 21,0:1  (tekst podstawowy)
 *   #ffe873 na #000000 — 17,0:1  (nagłówki, akcent, stany aktywne)
 *   #7fd7ff na #000000 — 13,1:1  (odnośniki)
 *   #000000 na #ffe873 — 17,0:1  (tekst na przyciskach akcentowych)
 *   #000000 na #ffffff — 21,0:1  (tekst na przyciskach jasnych)
 *
 * Tryb włączany jest atrybutem data-sp-contrast="1" na elemencie <html>,
 * ustawianym przez skrypt inline w <head> jeszcze przed pierwszym malowaniem.
 */

html[data-sp-contrast="1"] {

	/* --- Przemapowanie tokenów --- */
	--sp-white: #000000;
	--sp-surface: #000000;
	--sp-surface-2: #1a1a1a;
	--sp-surface-3: #1a1a1a;
	--sp-surface-current: #1a1a1a;
	--sp-placeholder-a: #1a1a1a;
	--sp-placeholder-b: #000000;

	--sp-navy-900: #000000;
	--sp-navy-800: #000000;
	--sp-navy-700: #ffe873;
	--sp-navy-600: #000000;
	--sp-navy-500: #ffffff;
	--sp-navy-400: #ffffff;

	--sp-ink: #ffffff;
	--sp-ink-soft: #ffffff;
	--sp-ink-excerpt: #ffffff;
	--sp-muted: #ffffff;
	--sp-muted-strong: #ffffff;

	--sp-on-dark: #ffffff;
	--sp-on-dark-soft: #ffffff;
	--sp-on-dark-lead: #ffffff;
	--sp-on-dark-link: #7fd7ff;
	--sp-on-dark-label: #ffe873;
	--sp-on-dark-faint: #ffffff;
	--sp-on-dark-meta: #ffffff;

	--sp-line: #ffffff;
	--sp-line-2: #ffffff;
	--sp-line-3: #ffffff;
	--sp-line-dark: #ffffff;

	--sp-accent: #ffe873;
	--sp-accent-hover: #fff3a8;
	--sp-accent-strong: #ffe873;
	--sp-accent-text: #ffe873;
	--sp-accent-on: #000000;

	--sp-shadow-header: none;
	--sp-shadow-card: none;
	--sp-shadow-menu: 0 0 0 1px #ffffff;

	background: #000000;
	color: #ffffff;
}

html[data-sp-contrast="1"] body,
html[data-sp-contrast="1"] .sp-page {
	background: #000000;
	color: #ffffff;
}

/* --- Nagłówki i odnośniki --- */

html[data-sp-contrast="1"] h1,
html[data-sp-contrast="1"] h2,
html[data-sp-contrast="1"] h3,
html[data-sp-contrast="1"] h4,
html[data-sp-contrast="1"] h5,
html[data-sp-contrast="1"] h6 {
	color: #ffe873;
}

html[data-sp-contrast="1"] a {
	color: #7fd7ff;
	text-decoration: underline;
}

html[data-sp-contrast="1"] a:hover,
html[data-sp-contrast="1"] a:focus-visible {
	color: #ffe873;
}

/* --- Wskaźnik fokusu: żółty pierścień z czarnym obrysem --- */

html[data-sp-contrast="1"] :focus-visible,
html[data-sp-contrast="1"] .sp-topbar :focus-visible,
html[data-sp-contrast="1"] .sp-accessbar :focus-visible,
html[data-sp-contrast="1"] .sp-hero :focus-visible,
html[data-sp-contrast="1"] .sp-pagehead :focus-visible,
html[data-sp-contrast="1"] .sp-footer :focus-visible {
	outline: 3px solid #ffe873;
	outline-offset: 3px;
	box-shadow: 0 0 0 3px #000000;
}

/* --- Powierzchnie: wszystko na czarnym tle z białą ramką --- */

html[data-sp-contrast="1"] .sp-header,
html[data-sp-contrast="1"] .sp-topbar,
html[data-sp-contrast="1"] .sp-accessbar,
html[data-sp-contrast="1"] .sp-footer,
html[data-sp-contrast="1"] .sp-pagehead,
html[data-sp-contrast="1"] .sp-section,
html[data-sp-contrast="1"] .sp-nav-mobile {
	background: #000000;
}

html[data-sp-contrast="1"] .sp-header,
html[data-sp-contrast="1"] .sp-topbar,
html[data-sp-contrast="1"] .sp-accessbar,
html[data-sp-contrast="1"] .sp-pagehead,
html[data-sp-contrast="1"] .sp-footer {
	border-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-pagehead {
	border-block: 1px solid #ffffff;
}

html[data-sp-contrast="1"] .sp-card,
html[data-sp-contrast="1"] .sp-quicklink,
html[data-sp-contrast="1"] .sp-network__tile,
html[data-sp-contrast="1"] .sp-event,
html[data-sp-contrast="1"] .sp-aside__box,
html[data-sp-contrast="1"] .sp-doclist__link,
html[data-sp-contrast="1"] .sp-datalist,
html[data-sp-contrast="1"] .sp-datalist__row,
html[data-sp-contrast="1"] .sp-postnav__link,
html[data-sp-contrast="1"] .sp-switcher__list,
html[data-sp-contrast="1"] .sp-pagination__item .page-numbers {
	background: #000000;
	border-color: #ffffff;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-network__tile.is-current {
	background: #1a1a1a;
	outline: 2px solid #ffe873;
	outline-offset: -2px;
}

/* --- Sekcja powitalna: bez gradientu i bez dekoracji --- */

html[data-sp-contrast="1"] .sp-hero {
	background: #000000;
	border-bottom: 1px solid #ffffff;
}

html[data-sp-contrast="1"] .sp-hero__grid,
html[data-sp-contrast="1"] .sp-hero__glow {
	display: none;
}

html[data-sp-contrast="1"] .sp-hero__title,
html[data-sp-contrast="1"] .sp-pagehead__title {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-hero__lead,
html[data-sp-contrast="1"] .sp-pagehead__lead {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-hero__placeholder,
html[data-sp-contrast="1"] .sp-card__image--placeholder {
	background: #000000;
	border: 1px solid #ffffff;
}

/* --- Przyciski --- */

html[data-sp-contrast="1"] .sp-btn--gold {
	background: #ffe873;
	color: #000000;
	border: 1px solid #ffe873;
	border-bottom-width: 2px;
}

html[data-sp-contrast="1"] .sp-btn--gold:hover,
html[data-sp-contrast="1"] .sp-btn--gold:focus-visible {
	background: #fff3a8;
	color: #000000;
}

html[data-sp-contrast="1"] .sp-btn--navy {
	background: #ffffff;
	color: #000000;
	border: 1px solid #ffffff;
}

html[data-sp-contrast="1"] .sp-btn--navy:hover,
html[data-sp-contrast="1"] .sp-btn--navy:focus-visible {
	background: #ffe873;
	color: #000000;
}

html[data-sp-contrast="1"] .sp-btn--outline {
	color: #ffffff;
	border-color: #ffffff;
}

/* --- Pasek dostępności i stany aria-pressed --- */

html[data-sp-contrast="1"] .sp-textsize__btn,
html[data-sp-contrast="1"] .sp-contrast-toggle {
	color: #ffffff;
	background: #000000;
	border-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-textsize__btn[aria-pressed="true"],
html[data-sp-contrast="1"] .sp-contrast-toggle[aria-pressed="true"] {
	color: #000000;
	background: #ffe873;
	border-color: #ffe873;
}

html[data-sp-contrast="1"] .sp-burger {
	background: #000000;
	border: 1px solid #ffffff;
}

/* --- Nawigacja --- */

html[data-sp-contrast="1"] .sp-nav__list a,
html[data-sp-contrast="1"] .sp-nav-mobile__list a {
	color: #7fd7ff;
}

html[data-sp-contrast="1"] .sp-nav__list a[aria-current="page"],
html[data-sp-contrast="1"] .sp-nav__list .current-menu-item > a,
html[data-sp-contrast="1"] .sp-nav-mobile__list a[aria-current="page"] {
	color: #000000;
	background: #ffe873;
}

html[data-sp-contrast="1"] .sp-branding__name,
html[data-sp-contrast="1"] .sp-branding__sub,
html[data-sp-contrast="1"] .sp-topbar__brand,
html[data-sp-contrast="1"] .sp-topbar__note {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-topbar__mark span {
	background: #ffffff;
}

html[data-sp-contrast="1"] .sp-topbar__mark span:first-child {
	background: #ffe873;
}

/* --- Karty i listy --- */

html[data-sp-contrast="1"] .sp-card__date,
html[data-sp-contrast="1"] .sp-event__date,
html[data-sp-contrast="1"] .sp-quicklink__kicker,
html[data-sp-contrast="1"] .sp-aside__title,
html[data-sp-contrast="1"] .sp-footer__heading {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-card__excerpt,
html[data-sp-contrast="1"] .sp-card__meta,
html[data-sp-contrast="1"] .sp-quicklink__desc,
html[data-sp-contrast="1"] .sp-network__domain,
html[data-sp-contrast="1"] .sp-datalist__value,
html[data-sp-contrast="1"] .sp-doclist__meta,
html[data-sp-contrast="1"] .sp-block__text,
html[data-sp-contrast="1"] .sp-prose {
	color: #ffffff;
}

/* --- Stopka --- */

html[data-sp-contrast="1"] .sp-footer__bip {
	background: #ffffff;
	color: #000000 !important;
	border: 1px solid #ffffff;
}

html[data-sp-contrast="1"] .sp-footer__address a {
	color: #7fd7ff;
}

/* --- Pasek „Ważne teraz” --- */

html[data-sp-contrast="1"] .sp-alert {
	background: #000000;
	border-block-end: 1px solid #ffe873;
	border-block-start: 1px solid #ffe873;
}

html[data-sp-contrast="1"] .sp-alert__text {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-alert__badge {
	background: #ffe873;
	color: #000000;
}

html[data-sp-contrast="1"] .sp-alert__close {
	color: #ffe873;
	border-color: #ffe873;
}

/* --- Formularze --- */

html[data-sp-contrast="1"] input[type="text"],
html[data-sp-contrast="1"] input[type="search"],
html[data-sp-contrast="1"] input[type="email"],
html[data-sp-contrast="1"] input[type="url"],
html[data-sp-contrast="1"] input[type="tel"],
html[data-sp-contrast="1"] input[type="number"],
html[data-sp-contrast="1"] input[type="date"],
html[data-sp-contrast="1"] input[type="password"],
html[data-sp-contrast="1"] select,
html[data-sp-contrast="1"] textarea {
	background: #000000;
	color: #ffffff;
	border: 1px solid #ffffff;
}

html[data-sp-contrast="1"] ::placeholder {
	color: #ffffff;
	opacity: 1;
}

html[data-sp-contrast="1"] ::selection {
	background: #ffe873;
	color: #000000;
}

/* --- Obrazy: pełna czytelność mimo ciemnego tła --- */

html[data-sp-contrast="1"] img {
	background: #ffffff;
	padding: 2px;
	border-radius: 2px;
}

html[data-sp-contrast="1"] .sp-card__image,
html[data-sp-contrast="1"] .sp-entry__thumb img,
html[data-sp-contrast="1"] .sp-hero__image {
	padding: 0;
	border: 1px solid #ffffff;
}

/* --- Preferencja systemowa: uszanuj wymuszone kolory systemu --- */

@media (forced-colors: active) {

	.sp-btn,
	.sp-card,
	.sp-quicklink,
	.sp-network__tile,
	.sp-doclist__link,
	.sp-textsize__btn,
	.sp-contrast-toggle,
	.sp-burger {
		border: 1px solid CanvasText;
	}

	:focus-visible {
		outline: 3px solid Highlight;
		outline-offset: 3px;
	}
}

/* --- Pasek informacyjny o prywatności --- */

html[data-sp-contrast="1"] .sp-privacy {
	background: #000000;
	color: #ffffff;
	border-top: 3px solid #ffe873;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-privacy__text {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-privacy__link {
	color: #7fd7ff;
}

html[data-sp-contrast="1"] .sp-privacy__link:hover,
html[data-sp-contrast="1"] .sp-privacy__link:focus-visible {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-card__origin,
html[data-sp-contrast="1"] .sp-card__origin a {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-switcher__portal {
	border-bottom-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-switcher__portal .sp-switcher__name,
html[data-sp-contrast="1"] .sp-switcher__heading {
	color: #ffe873;
}

/* --- Informacje urzędowe --- */

html[data-sp-contrast="1"] .sp-emblem__label {
	color: #ffffff;
}

/* Godło zachowuje własne barwy — to symbol państwowy, więc nie podlega
   przemalowaniu. Biała podkładka zapewnia mu czytelność na czarnym tle. */
html[data-sp-contrast="1"] .sp-emblem__img {
	background: #ffffff;
	padding: 2px;
	border-radius: 2px;
}

html[data-sp-contrast="1"] .sp-footer__official {
	border-top-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-official__title {
	color: #ffe873;
	border-left-color: #ffe873;
}

html[data-sp-contrast="1"] .sp-official__label,
html[data-sp-contrast="1"] .sp-official__note {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-official__value,
html[data-sp-contrast="1"] .sp-official__value a {
	color: #7fd7ff;
}

html[data-sp-contrast="1"] .sp-official__ade {
	color: #ffffff;
	background: #000000;
	border-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-official__copy {
	color: #ffe873;
	background: #000000;
	border-color: #ffe873;
}

html[data-sp-contrast="1"] .sp-official__copy:hover {
	color: #000000;
	background: #ffe873;
}

/* --- Uzupełnienia: elementy dziedziczące --sp-white jako kolor treści ---
   W trybie kontrastu --sp-white przyjmuje wartość czarną, więc elementy,
   które używały go jako koloru tekstu albo kreski, stawały się czarne na
   czarnym tle i znikały. Poniższe reguły przywracają im widoczność.
   Wykryte podczas kontroli renderowania stopki i menu mobilnego. */

html[data-sp-contrast="1"] .sp-footer__brand-name {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-footer__brand-sub {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-burger__bar {
	background: #ffffff;
}

html[data-sp-contrast="1"] .sp-skip-link {
	color: #000000;
	background: #ffe873;
	outline: 2px solid #ffffff;
}

/* --- BIP i profile społecznościowe --- */

/* Logo BIP zachowuje własne barwy — to znak rozpoznawczy Biuletynu,
   a nie element interfejsu. Biała płytka zapewnia mu czytelność. */
html[data-sp-contrast="1"] .sp-bip-link {
	background: #ffffff;
	border-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-bip-link:hover,
html[data-sp-contrast="1"] .sp-bip-link:focus-visible {
	background: #ffffff;
	border-color: #ffe873;
	box-shadow: 0 0 0 2px #ffe873;
}

html[data-sp-contrast="1"] .sp-social__link {
	color: #ffffff;
	border: 1px solid #ffffff;
}

html[data-sp-contrast="1"] .sp-social__link:hover,
html[data-sp-contrast="1"] .sp-social__link:focus-visible {
	color: #000000;
	background: #ffe873;
	border-color: #ffe873;
}

/* --- Kafelki usług --- */

html[data-sp-contrast="1"] .sp-tile {
	background: #000000;
	border-color: #ffffff;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-tile__blob {
	display: none;
}

html[data-sp-contrast="1"] .sp-tile__icon {
	color: #ffe873;
	background: #000000;
	border: 2px solid #ffe873;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-tile__title,
html[data-sp-contrast="1"] .sp-tiles-filter__label,
html[data-sp-contrast="1"] .sp-tile__audience {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-tile__desc,
html[data-sp-contrast="1"] .sp-tile__domain {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-tile__btn--primary,
html[data-sp-contrast="1"] .sp-chip[aria-pressed="true"] {
	color: #000000;
	background: #ffe873;
	border-color: #ffe873;
}

html[data-sp-contrast="1"] .sp-tile__btn--secondary,
html[data-sp-contrast="1"] .sp-chip {
	color: #ffffff;
	background: #000000;
	border-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-tile__btn--secondary:hover,
html[data-sp-contrast="1"] .sp-chip:hover {
	color: #000000;
	background: #ffffff;
}

html[data-sp-contrast="1"] .sp-tile__btn,
html[data-sp-contrast="1"] .sp-tile__btn:hover {
	text-decoration: none;
}

/* Wybrany przycisk filtra zachowuje wyróżnienie także pod kursorem —
   inaczej reguła hover gasiłaby informację o bieżącym wyborze. */
html[data-sp-contrast="1"] .sp-chip[aria-pressed="true"],
html[data-sp-contrast="1"] .sp-chip[aria-pressed="true"]:hover {
	color: #000000;
	background: #ffe873;
	border-color: #ffe873;
}

/* --- Jadłospis --- */

html[data-sp-contrast="1"] .sp-menu-day,
html[data-sp-contrast="1"] .sp-menu-today,
html[data-sp-contrast="1"] .sp-menu-legend,
html[data-sp-contrast="1"] .sp-menu-today .sp-menu-meal {
	background: #000000;
	border-color: #ffffff;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-menu-day.is-today {
	border: 3px solid #ffe873;
}

html[data-sp-contrast="1"] .sp-menu-day__badge {
	color: #000000;
	background: #ffe873;
}

html[data-sp-contrast="1"] .sp-menu-day__name,
html[data-sp-contrast="1"] .sp-menu-today__title,
html[data-sp-contrast="1"] .sp-menu-legend__title,
html[data-sp-contrast="1"] .sp-menu-day__closed strong {
	color: #ffe873;
}

html[data-sp-contrast="1"] .sp-menu-day__title {
	border-bottom-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-menu-day__date,
html[data-sp-contrast="1"] .sp-menu-meal__label,
html[data-sp-contrast="1"] .sp-menu-meal__dish,
html[data-sp-contrast="1"] .sp-allergens__label,
html[data-sp-contrast="1"] .sp-menu-day__empty,
html[data-sp-contrast="1"] .sp-menu-day__closed,
html[data-sp-contrast="1"] .sp-menu-day__note,
html[data-sp-contrast="1"] .sp-menu-legend__intro,
html[data-sp-contrast="1"] .sp-menu-legend__item,
html[data-sp-contrast="1"] .sp-menu-today__date,
html[data-sp-contrast="1"] .sp-menu-page__note {
	color: #ffffff;
}

html[data-sp-contrast="1"] .sp-menu-meal + .sp-menu-meal {
	border-top-color: #ffffff;
}

html[data-sp-contrast="1"] .sp-allergen {
	color: #000000;
	background: #ffe873;
}

html[data-sp-contrast="1"] .sp-menu-today__blob {
	display: none;
}

html[data-sp-contrast="1"] .sp-menu-today__icon {
	color: #ffe873;
	background: #000000;
	border: 2px solid #ffe873;
	box-shadow: none;
}

html[data-sp-contrast="1"] .sp-menu-legend__desc {
	color: #ffffff;
}
