/*
 * iSA - dostępność strony EDIH (wtyczka isa-a11y-edih). Ładowany WYŁĄCZNIE na /edih/.
 * Każda reguła ma przedrostek body.page-id-55973 — bije style z bloków HTML w treści strony
 * (specyficzność 0,1,0) bez !important tam, gdzie się da. Dowody i liczby: docs/audyt-edih-wcag-2026-10.md.
 *
 * 1. Skala tekstu: motyw ustawia html{font-size:62.5%} (10px), więc 1rem = 10px. Rozmiary z treści
 *    (podane w px) przepisane na rem; przełącznik zmienia rozmiar <html>: 125% i 150% bazowego.
 * 2. Kolory AA: gradient przyciemniony (najgorszy punkt dla białego tekstu 6,34:1 zamiast 2,71:1).
 * 3. Fokus: od 1.1.0 w isa-a11y-motyw.css (tryb kontrastu ma tu własny, żółty pierścień).
 * 4. Tryb wysokiego kontrastu: html.isa-kontrast — tekst 21:1, linki i przyciski żółte 19,6:1.
 */

/* ---------- 1. Skala tekstu ---------- */
html.isa-skala-125 { font-size: 78.125% !important; } /* 12,5px przy domyślnych 16px */
html.isa-skala-150 { font-size: 93.75% !important; }  /* 15px */

body.page-id-55973 .edih-title { font-size: 4.4rem; overflow-wrap: anywhere; }
body.page-id-55973 .edih-subtitle,
body.page-id-55973 .edih-section-subtitle-white { font-size: 1.8rem; }
body.page-id-55973 .btn-edih-primary,
body.page-id-55973 .btn-edih-secondary { font-size: 1.6rem; display: inline-block; }
body.page-id-55973 .bur-desc-title,
body.page-id-55973 .edih-info-title { font-size: 3.2rem; overflow-wrap: anywhere; }
body.page-id-55973 .bur-desc-text,
body.page-id-55973 .edih-subtitle-light { font-size: 1.6rem; }
body.page-id-55973 .edih-alert-badge-glass { font-size: 1.3rem; }
body.page-id-55973 .edih-section-title-white { font-size: 3.8rem; overflow-wrap: anywhere; }
body.page-id-55973 .edih-glass-title { font-size: 2rem; overflow-wrap: anywhere; }
body.page-id-55973 .edih-glass-title span { font-size: 1.4rem !important; } /* w treści styl inline 14px */
body.page-id-55973 .edih-glass-desc,
body.page-id-55973 .edih-info-text,
body.page-id-55973 .edih-info-list-numbered li { font-size: 1.5rem; overflow-wrap: anywhere; } /* 1.4.10: ciągi typu DIGITAL-2021-EDIH-01-INITIAL i adresy URL przy 150% */
body.page-id-55973 .edih-info-list-numbered li::before { font-size: 1.6rem; }
body.page-id-55973 .btn-edih-glass-large { font-size: 1.8rem; max-width: 100%; white-space: normal; }
body.page-id-55973 .edih-title-grad { font-size: 4.6rem; max-width: 100%; overflow-wrap: anywhere; }
body.page-id-55973 .edih-person-info h3 { font-size: 2rem; }
body.page-id-55973 .edih-person-info .role { font-size: 1.2rem; }
body.page-id-55973 .contact-link { font-size: 1.4rem; overflow-wrap: anywhere; }
body.page-id-55973 .edih-cf7-wrapper label { font-size: 1.3rem; }
body.page-id-55973 .edih-cf7-wrapper input[type="text"],
body.page-id-55973 .edih-cf7-wrapper input[type="email"],
body.page-id-55973 .edih-cf7-wrapper input[type="tel"],
body.page-id-55973 .edih-cf7-wrapper textarea { font-size: 1.4rem; }
body.page-id-55973 .edih-cf7-wrapper input[type="submit"] { font-size: 1.6rem; white-space: normal; height: auto; }
body.page-id-55973 .edih-cf7-wrapper p.rodo-text { font-size: 1.2rem; }
body.page-id-55973 .bur-loading-text,
body.page-id-55973 .isa-a11y-wymagane { font-size: 1.4rem; }
body.page-id-55973 .wpcf7-not-valid-tip,
body.page-id-55973 .wpcf7-response-output { font-size: 1.4rem; }
body.page-id-55973 .edih-hashtag { font-size: 2.4rem; }

@media (max-width: 991px) {
	body.page-id-55973 .edih-title { font-size: 3.4rem; }
	body.page-id-55973 .bur-desc-title { font-size: 2.8rem; }
	body.page-id-55973 .edih-section-title-white { font-size: 3rem; }
	body.page-id-55973 .edih-info-title { font-size: 2.6rem; }
}
@media (max-width: 767px) {
	body.page-id-55973 .edih-title { font-size: 2.8rem; }
	body.page-id-55973 .edih-section-title-white { font-size: 2.6rem; }
	body.page-id-55973 .edih-title-grad { font-size: 3.4rem; }
}

/* ---------- 2. Kolory AA ---------- */
/* 1.4.3: biały na #F57863 = 2,71:1. Gradient #AD3523 → #5038E0: najgorszy punkt 6,34:1. */
body.page-id-55973 .edih-hero-box,
body.page-id-55973 .edih-gradient-box,
body.page-id-55973 .edih-person-avatar,
body.page-id-55973 .edih-cf7-wrapper input[type="submit"] {
	background: linear-gradient(100deg, #AD3523 0%, #5038E0 100%);
}
body.page-id-55973 .edih-title-grad,
body.page-id-55973 .edih-hashtag {
	background: linear-gradient(100deg, #AD3523 0%, #5038E0 100%);
	-webkit-background-clip: text;
	background-clip: text;
}
/* Karty i plakietka: przyciemnienie zamiast rozjaśnienia tła — biel 10–20% obniżała kontrast do 2,2:1. */
body.page-id-55973 .edih-glass-card { background: rgba(0, 0, 0, 0.14); border-color: rgba(255, 255, 255, 0.45); }
body.page-id-55973 .edih-glass-card:hover { background: rgba(0, 0, 0, 0.2); }
body.page-id-55973 .edih-alert-badge-glass { background-color: rgba(0, 0, 0, 0.22); border-color: rgba(255, 255, 255, 0.6); }
/* Biały na #f20b32 = 4,31:1 → #d10a2b = 5,54:1 (ten sam kolor co dotychczasowy hover). */
body.page-id-55973 .btn-edih-primary { background-color: #d10a2b; border-color: #d10a2b; }
body.page-id-55973 .btn-edih-primary:hover { background-color: #a8081f; border-color: #a8081f; }
body.page-id-55973 .btn-edih-secondary:hover { color: #5038E0; }
body.page-id-55973 .btn-edih-glass-large { color: #5038E0; }
/* Menu: „Kontakt” — od 1.1.0 w isa-a11y-motyw.css. */
/* Klauzula w formularzu: #777 = 4,48:1 → #595959 = 7:1. */
body.page-id-55973 .edih-cf7-wrapper p.rodo-text { color: #595959; }
body.page-id-55973 .edih-cf7-wrapper p.rodo-text a { color: #5038E0 !important; }
body.page-id-55973 .edih-info-list-numbered li::before { color: #5038E0; }
/* 1.4.11: obramowanie pól 1,09:1 → #6b6f78 na #f4f5f8 = 4,89:1. */
body.page-id-55973 .edih-cf7-wrapper input[type="text"],
body.page-id-55973 .edih-cf7-wrapper input[type="email"],
body.page-id-55973 .edih-cf7-wrapper input[type="tel"],
body.page-id-55973 .edih-cf7-wrapper textarea { border: 1px solid #6b6f78; }
body.page-id-55973 .edih-cf7-wrapper input:focus,
body.page-id-55973 .edih-cf7-wrapper textarea:focus { border-color: #5038E0; box-shadow: 0 0 0 1px #5038E0; }
body.page-id-55973 .wpcf7-not-valid-tip { color: #b3261e; } /* 6,5:1 na bieli */
/* 2.5.8: linki kontaktowe miały 14px wysokości przy 3px odstępu. */
body.page-id-55973 .contact-link { display: inline-block; min-height: 24px; line-height: 24px; }
body.page-id-55973 .isa-a11y-wymagane { color: #333; margin: 0; }

/* ---------- 3. Fokus i link „Przejdź do treści” — od 1.1.0 w isa-a11y-motyw.css (cały serwis) ---------- */

/* ---------- Pasek ułatwień ---------- */
.isa-a11y-pasek { background: #f4f5f8; border-bottom: 1px solid #d5d7de; font-family: 'Poppins', sans-serif; }
.isa-a11y-pasek__wnetrze { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; padding-top: 6px; padding-bottom: 6px; }
.isa-a11y-skala { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.isa-a11y-skala__etykieta { font-size: 1.4rem; color: #0b0b2b; font-weight: 600; }
.isa-a11y-przycisk {
	display: inline-flex; align-items: center; gap: 6px; min-height: 36px; min-width: 44px;
	padding: 4px 12px; border: 2px solid #0b0b2b; border-radius: 6px;
	background: #fff; color: #0b0b2b; font: 600 1.4rem/1.2 'Poppins', sans-serif; cursor: pointer;
}
.isa-a11y-przycisk[aria-pressed="true"] { background: #0b0b2b; color: #fff; }
.isa-a11y-przycisk:hover { text-decoration: underline; }

/* 2.3.3 (dobra praktyka): animacje wejścia wyłączone przy prefers-reduced-motion. */
@media (prefers-reduced-motion: reduce) {
	body.page-id-55973 .anim-fade-in,
	body.page-id-55973 .anim-fade-up { animation: none !important; opacity: 1 !important; transform: none !important; }
	body.page-id-55973 * { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- 4. Tryb wysokiego kontrastu ---------- */
/* 1.2.0–1.2.1: zasada „kontrast nie zmienia układu” — w trybie kontrastu żadnych nowych ramek, paddingów ani zmian display.
   Ramki rysuje box-shadow inset, płytki pod logotypami — outline (oba poza modelem pudełkowym).
   Pomiar 1.1.1 (2026-10-09): strona rosła o 33–40 px, logo i ikony przesuwały się o 4–12 px.
   Reguła ogólna w :where() ma specyficzność 0,2,2, więc reguły szczegółowe niżej (np. samo „button”) ją wygrywają. */
html.isa-kontrast body.page-id-55973,
html.isa-kontrast body.page-id-55973 :where(*:not(img):not(svg):not(svg *):not(video):not(iframe)) {
	background-color: #000 !important;
	background-image: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border-color: #fff !important;
	box-shadow: none !important;
	text-shadow: none !important;
	filter: none !important;
	backdrop-filter: none !important;
	opacity: 1 !important;
}
/* Linki: żółte i podkreślone (19,6:1 na czerni). */
html.isa-kontrast body.page-id-55973 a,
html.isa-kontrast body.page-id-55973 a *:not(img):not(svg):not(svg *) {
	color: #ff0 !important;
	-webkit-text-fill-color: #ff0 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
/* Przyciski i CTA: czarne z żółtą ramką 2 px rysowaną od środka (bez zmiany wymiarów). */
html.isa-kontrast body.page-id-55973 .btn-edih-primary,
html.isa-kontrast body.page-id-55973 .btn-edih-secondary,
html.isa-kontrast body.page-id-55973 .btn-edih-glass-large,
html.isa-kontrast body.page-id-55973 #menu-menu-glowne li.button > a,
html.isa-kontrast body.page-id-55973 #menu-menu-glowne li.button2 > a,
html.isa-kontrast body.page-id-55973 input[type="submit"],
html.isa-kontrast body.page-id-55973 button,
html.isa-kontrast body.page-id-55973 .cmplz-btn {
	border-color: #ff0 !important;
	box-shadow: inset 0 0 0 2px #ff0 !important;
	color: #ff0 !important;
	-webkit-text-fill-color: #ff0 !important;
}
html.isa-kontrast body.page-id-55973 .isa-a11y-przycisk[aria-pressed="true"] {
	background-color: #ff0 !important; color: #000 !important; -webkit-text-fill-color: #000 !important;
}
/* „Kontakt” ma wyżej regułę z ID (czerwone tło) — bez tego zostałby żółty tekst na czerwieni. */
html.isa-kontrast body.page-id-55973 #menu-item-43796 > a { background-color: #000 !important; border-color: #ff0 !important; }
/* Pola formularza: biała ramka (1 px motywu + 1 px cienia od środka = 2 px, bez zmiany wymiarów). */
html.isa-kontrast body.page-id-55973 input:not([type="submit"]),
html.isa-kontrast body.page-id-55973 textarea,
html.isa-kontrast body.page-id-55973 select { border-color: #fff !important; box-shadow: inset 0 0 0 1px #fff !important; }
html.isa-kontrast body.page-id-55973 ::placeholder { color: #ccc !important; -webkit-text-fill-color: #ccc !important; }
html.isa-kontrast body.page-id-55973 .wpcf7-not-valid-tip { color: #ff9e9e !important; -webkit-text-fill-color: #ff9e9e !important; } /* 10,6:1 */
html.isa-kontrast body.page-id-55973 .wpcf7-response-output { border-color: #ff0 !important; }
/* Fokus: żółty pierścień z czarną obwódką. */
html.isa-kontrast body.page-id-55973 a:focus-visible,
html.isa-kontrast body.page-id-55973 button:focus-visible,
html.isa-kontrast body.page-id-55973 input:focus-visible,
html.isa-kontrast body.page-id-55973 textarea:focus-visible,
html.isa-kontrast body.page-id-55973 [tabindex]:focus-visible,
html.isa-kontrast body.page-id-55973 .cmplz-close:focus-visible {
	outline: 3px solid #ff0 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px #000 !important;
}
/* Logotypy: bez deformacji i bez filtrów (CLAUDE.md §13.11) — ciemne znaki na białej płytce.
   Płytka = tło + outline w kolorze tła, bez paddingu i bez zmiany display (1.1.1 przesuwała logo i ikony kart).
   Logo w stopce (logo_gray.svg, #A3A3A3) zostaje na czerni: 8,6:1, a na bieli było nieczytelne. */
html.isa-kontrast body.page-id-55973 .page-header__logo,
html.isa-kontrast body.page-id-55973 .edih-glass-icon {
	background-color: #fff !important;
	outline: 4px solid #fff;
	border-radius: 4px;
}
/* Logotypy Funduszy Europejskich: biała płytka na całym bloku — 1.1.1 dawała ją tylko na <div>, a czarny <figure> ją przykrywał. */
html.isa-kontrast body.page-id-55973 .wp-block-image,
html.isa-kontrast body.page-id-55973 .wp-block-image figure {
	background-color: #fff !important;
}
html.isa-kontrast body.page-id-55973 .wp-block-image { outline: 12px solid #fff; }
/* Awatar w karcie kontaktu: na białym kółku zamiast czerni. Zdjęcie w hero zostaje na czerni — biała płytka 1.2.0
   (prostokąt z wcięciem od kolumny tekstu) wyglądała jak awaria (zgłoszenie właściciela 2026-10-09). */
html.isa-kontrast body.page-id-55973 .edih-person-avatar img { background-color: #fff; }
/* Boksy, które w normalnym motywie mają gradient (hero, karty szkoleń): w kontraście tło znika, więc kształt boksu
   rysuje biała ramka 2 px od środka — bez niej treść wisi w czerni i układ wygląda na rozsypany. Karty z własną
   ramką (.edih-glass-card, .edih-person-card, .edih-form-card, lista numerowana) mają ją już białą z reguły ogólnej. */
html.isa-kontrast body.page-id-55973 .edih-hero-box,
html.isa-kontrast body.page-id-55973 .edih-gradient-box { box-shadow: inset 0 0 0 2px #fff !important; }
/* Strzałki menu: motyw rysuje je tłem <li> (chevron-down.svg, czarny), które reguła ogólna usuwa — tu biała strzałka. */
html.isa-kontrast body.page-id-55973 #menu-menu-glowne li.menu-item-has-children {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
}
/* Link w takim <li> ma z reguły ogólnej czarne tło, które w menu mobilnym (link na całą szerokość) zasłaniało strzałkę. */
html.isa-kontrast body.page-id-55973 #menu-menu-glowne li.menu-item-has-children > a { background-color: transparent !important; }
/* Hamburger to ikona (białe kreski 21:1), nie przycisk z ramką — okrągły kształt motywu (border-radius 200px) robił z ramki urwane łuki. */
html.isa-kontrast body.page-id-55973 .hamburger { box-shadow: none !important; border-color: transparent !important; }
/* Strzałka przełącznika języka to <img> z czarną kreską (stroke=currentColor) — ikona, nie logotyp, więc odwrócenie kolorów. */
html.isa-kontrast body.page-id-55973 .lang-dropdown .lang-current img { filter: invert(1); }
/* Grafika rysowana tłem (kreski hamburgera, kropki ładowania, kreska pod tytułem) musi zostać widoczna. */
html.isa-kontrast body.page-id-55973 .hamburger-inner,
html.isa-kontrast body.page-id-55973 .hamburger-inner::before,
html.isa-kontrast body.page-id-55973 .hamburger-inner::after,
html.isa-kontrast body.page-id-55973 .bur-divider,
html.isa-kontrast body.page-id-55973 .bur-dot { background-color: #fff !important; }
/* …ale nie środkowa kreska otwartego menu: motyw ją chowa (.hamburger--3dxy.is-active .hamburger-inner transparent !important),
   a reguła wyżej ma wyższą specyficzność — bez tego X był przekreślony (zgłoszenie sesji EDIH, 1.1.1). */
html.isa-kontrast body.page-id-55973 .hamburger.is-active .hamburger-inner { background-color: transparent !important; }
html.isa-kontrast body.page-id-55973 .edih-bg-glow { display: none !important; }
