/* ==========================================================================
   Normalna Przyszłość — tryb wysokiego kontrastu
   Zamiennik sogo_contrasts.css. Hak: body.sogo_contrasts (klasa dodawana
   przez wtyczkę sogo-accessibility po kliknięciu „Contrasts Dark").

   Zasada przewodnia: ustawiamy background-COLOR, nigdy skrótu `background`.
   Skrót zeruje też background-image, przez co znikają logotypy, ikony
   i gradienty — to był główny błąd arkusza sogo.

   Kontrasty wobec tła #000 (WCAG 2.1, SC 1.4.3 / 1.4.6 / 1.4.11):
     #f5f5f5  tekst          19,3:1   AAA
     #FFD84D  akcent, nagł.  16,5:1   AAA
     #66D9FF  link           12,9:1   AAA
     #D9A8FF  link odwiedz.   9,8:1   AAA
     #000 na #FFD84D (przyciski, aktywne pozycje)  16,5:1   AAA
   ========================================================================== */

body.sogo_contrasts {
	--npc-bg: #000;
	--npc-text: #f5f5f5;
	--npc-accent: #FFD84D;
	--npc-accent-dim: #FFCE2E;
	--npc-link: #66D9FF;
	--npc-visited: #D9A8FF;
	--npc-line: #ffffff;
	--npc-ink: #000;
}

/* --- baza ---------------------------------------------------------------- */

html.sogo_contrasts,
body.sogo_contrasts {
	background-color: var(--npc-bg) !important;
	color: var(--npc-text) !important;
}

/* Zdejmuje tła i ujednolica tekst w całej treści strony.
   Wyłączone: img, svg, video, iframe, canvas — żeby nie psuć mediów. */
body.sogo_contrasts #wrapper *:not(img):not(svg):not(svg *):not(video):not(iframe):not(canvas) {
	background-color: transparent !important;
	color: var(--npc-text) !important;
	border-color: var(--npc-line) !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

/* --- linki --------------------------------------------------------------- */

body.sogo_contrasts #wrapper a,
body.sogo_contrasts #wrapper a *,
body.sogo_contrasts #main a:not(.fusion-button):not(.np-anchor),
body.sogo_contrasts #main p a,
body.sogo_contrasts #main li a {
	color: var(--npc-link) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

body.sogo_contrasts #wrapper a:visited {
	color: var(--npc-visited) !important;
}

body.sogo_contrasts #wrapper a:hover,
body.sogo_contrasts #wrapper a:focus {
	color: var(--npc-accent) !important;
}

/* Widoczny focus — SC 2.4.11 wymaga obrysu o kontraście ≥ 3:1 (tu 16,5:1) */
body.sogo_contrasts *:focus-visible {
	outline: 3px solid var(--npc-accent) !important;
	outline-offset: 2px !important;
}

/* --- nagłówki ------------------------------------------------------------ */

body.sogo_contrasts #wrapper h1,
body.sogo_contrasts #wrapper h2,
body.sogo_contrasts #wrapper h3,
body.sogo_contrasts #wrapper h4,
body.sogo_contrasts #wrapper h5,
body.sogo_contrasts #wrapper h6,
body.sogo_contrasts #wrapper h1 *,
body.sogo_contrasts #wrapper h2 *,
body.sogo_contrasts #wrapper h3 * {
	color: var(--npc-accent) !important;
}

/* --- nagłówek strony ----------------------------------------------------- */

/* Dekoracyjna fala ma sens tylko na jasnym tle; w kontraście to zbędna płaszczyzna */
body.sogo_contrasts .np-waves {
	display: none !important;
}

body.sogo_contrasts .fusion-header-wrapper,
body.sogo_contrasts .fusion-header,
body.sogo_contrasts .fusion-secondary-header {
	background-color: var(--npc-bg) !important;
	border-bottom: 2px solid var(--npc-line) !important;
}

body.sogo_contrasts .np-logo-name,
body.sogo_contrasts .np-logo-name b,
body.sogo_contrasts .np-logo-claim,
body.sogo_contrasts .fusion-logo-link,
body.sogo_contrasts .fusion-logo-link * {
	color: var(--npc-text) !important;
	text-decoration: none !important;
}

body.sogo_contrasts .np-logo-mark {
	background-color: transparent !important;
}

/* Menu główne */
body.sogo_contrasts #menu-main-menu > li > a,
body.sogo_contrasts #menu-main-menu > li > a *,
body.sogo_contrasts #mobile-menu-main-menu > li > a,
body.sogo_contrasts .fusion-main-menu a,
body.sogo_contrasts .fusion-main-menu a * {
	color: var(--npc-text) !important;
	text-decoration: none !important;
}

body.sogo_contrasts #menu-main-menu > li > a:hover,
body.sogo_contrasts #menu-main-menu > li.current-menu-item > a,
body.sogo_contrasts #menu-main-menu > li.current-menu-ancestor > a,
body.sogo_contrasts .fusion-main-menu a:hover {
	color: var(--npc-ink) !important;
	background-color: var(--npc-accent) !important;
	border-radius: 999px;
}

/* Rozwijane podmenu musi mieć własne, kryjące tło */
body.sogo_contrasts .fusion-main-menu .sub-menu,
body.sogo_contrasts .fusion-main-menu .sub-menu li {
	background-color: var(--npc-bg) !important;
	border: 1px solid var(--npc-line) !important;
}

body.sogo_contrasts .fusion-social-network-icon {
	color: var(--npc-text) !important;
}

body.sogo_contrasts .fusion-social-network-icon:hover {
	color: var(--npc-accent) !important;
}

/* --- podmenu kotwicowe (pigułki na podstronach) -------------------------- */

body.sogo_contrasts .np-ab-navwrap {
	background-color: var(--npc-bg) !important;
	border-bottom: 1px solid var(--npc-line) !important;
}

body.sogo_contrasts .np-ab-nav a,
body.sogo_contrasts #main .np-ab-navwrap .np-ab-nav a {
	background-color: transparent !important;
	color: var(--npc-accent) !important;
	border: 2px solid var(--npc-accent) !important;
	text-decoration: none !important;
}

body.sogo_contrasts .np-ab-nav a.is-active,
body.sogo_contrasts #main .np-ab-navwrap .np-ab-nav a.is-active,
body.sogo_contrasts .np-ab-nav a:hover,
body.sogo_contrasts #main .np-ab-navwrap .np-ab-nav a:hover {
	background-color: var(--npc-accent) !important;
	color: var(--npc-ink) !important;
}

/* --- karty, kafelki, ramki ----------------------------------------------- */

body.sogo_contrasts .np-ab-stats > *,
body.sogo_contrasts .np-doc,
body.sogo_contrasts .np-quote,
body.sogo_contrasts .np-step,
body.sogo_contrasts .np-slide,
body.sogo_contrasts .np-donate-alt,
body.sogo_contrasts .np-fb,
body.sogo_contrasts .fusion-content-boxes .content-box-column {
	background-color: var(--npc-bg) !important;
	border: 1px solid var(--npc-line) !important;
}

body.sogo_contrasts .np-ab-stats b,
body.sogo_contrasts .np-count,
body.sogo_contrasts .np-step-year,
body.sogo_contrasts .np-pct-txt {
	color: var(--npc-accent) !important;
}

/* Sekcja CTA ma żółty gradient jako background-image — gradient zostaje,
   więc tekst na nim musi być czarny, nie jasny. */
body.sogo_contrasts .np-cta,
body.sogo_contrasts .np-cta * {
	color: var(--npc-ink) !important;
}

/* --- przyciski ----------------------------------------------------------- */

body.sogo_contrasts .fusion-button,
body.sogo_contrasts .fusion-button *,
body.sogo_contrasts .np-head-cta,
body.sogo_contrasts .np-head-cta *,
body.sogo_contrasts .np-donate a,
body.sogo_contrasts .np-slider-btn,
body.sogo_contrasts button,
body.sogo_contrasts input[type="submit"] {
	background-color: var(--npc-accent) !important;
	color: var(--npc-ink) !important;
	border: 2px solid var(--npc-accent) !important;
	text-decoration: none !important;
}

body.sogo_contrasts .fusion-button:hover,
body.sogo_contrasts .np-head-cta:hover,
body.sogo_contrasts button:hover,
body.sogo_contrasts input[type="submit"]:hover {
	background-color: var(--npc-accent-dim) !important;
	color: var(--npc-ink) !important;
}

/* --- formularze ---------------------------------------------------------- */

body.sogo_contrasts input:not([type="submit"]):not([type="button"]),
body.sogo_contrasts select,
body.sogo_contrasts textarea {
	background-color: var(--npc-bg) !important;
	color: var(--npc-text) !important;
	border: 2px solid var(--npc-line) !important;
}

body.sogo_contrasts ::placeholder {
	color: #c9c9c9 !important;
	opacity: 1;
}

/* --- stopka -------------------------------------------------------------- */

body.sogo_contrasts .np-foot,
body.sogo_contrasts .np-foot-alt,
body.sogo_contrasts .np-foot-bar,
body.sogo_contrasts .fusion-footer,
body.sogo_contrasts .fusion-footer-copyright-area {
	background-color: var(--npc-bg) !important;
	border-top: 2px solid var(--npc-line) !important;
}

/* --- obrazy -------------------------------------------------------------- */

/* Bez szarych podkładek pod zdjęciami (sogo wstawiało #808080) */
body.sogo_contrasts img {
	background-color: transparent !important;
}

/* --- widget dostępności zostaje w swoich kolorach ------------------------ */

body.sogo_contrasts #sogoacc,
body.sogo_contrasts #sogoacc * {
	background-color: revert !important;
	color: revert !important;
}
