/* Dostępność — skip link, fokus, wysoki kontrast (WCAG 2.1 AA) */

.skip-link.screen-reader-text,
#wp-skip-link {
	background: #000 !important;
	color: #fc0 !important;
	font-weight: 700 !important;
	padding: 0.65rem 1rem !important;
	border-radius: 10px;
	z-index: 100000;
}

.skip-link.screen-reader-text:focus,
#wp-skip-link:focus {
	outline: 3px solid #fc0;
	outline-offset: 2px;
}

:focus-visible {
	outline: 3px solid var(--ilk-teal, #00a0c2);
	outline-offset: 3px;
}

.ilk-contrast-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.12);
	color: inherit;
	font: inherit;
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.01em;
	cursor: pointer;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ilk-contrast-toggle:hover {
	background: #fff;
	color: var(--ilk-teal-deep, #143943);
	transform: translateY(-1px);
}

.ilk-contrast-toggle[aria-pressed="true"] {
	background: #fc0;
	border-color: #fc0;
	color: #000;
}

.ilk-contrast-toggle:focus-visible {
	outline: 3px solid #fc0;
	outline-offset: 2px;
}

/* ——— Tryb wysokiego kontrastu ——— */
html[data-ilk-contrast="high"] {
	--ilk-teal: #fc0;
	--ilk-teal-dark: #fc0;
	--ilk-teal-deep: #fc0;
	--ilk-green: #fc0;
	--ilk-ink: #fc0;
	--ilk-muted: #fc0;
	--ilk-line: #fc0;
	--ilk-surface: #000;
	--ilk-surface-2: #111;
	--ilk-white: #000;
	--ilk-shadow: none;
	--ilk-shadow-hover: none;
	--wp--preset--color--teal: #fc0;
	--wp--preset--color--teal-dark: #fc0;
	--wp--preset--color--teal-deep: #fc0;
	--wp--preset--color--green: #fc0;
	--wp--preset--color--ink: #fc0;
	--wp--preset--color--muted: #fc0;
	--wp--preset--color--surface: #000;
	--wp--preset--color--white: #000;
	--wp--preset--color--sand: #111;
	color-scheme: dark;
}

html[data-ilk-contrast="high"] body {
	background: #000 !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] a {
	color: #fc0 !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

html[data-ilk-contrast="high"] a:hover,
html[data-ilk-contrast="high"] a:focus {
	color: #fff !important;
}

html[data-ilk-contrast="high"] .ilk-top-bar,
html[data-ilk-contrast="high"] .ilk-chrome,
html[data-ilk-contrast="high"] .ilk-site-header__row,
html[data-ilk-contrast="high"] .ilk-site-header__row::before,
html[data-ilk-contrast="high"] .ilk-footer,
html[data-ilk-contrast="high"] .ilk-home-band,
html[data-ilk-contrast="high"] .wp-block-group,
html[data-ilk-contrast="high"] .ilk-news-card,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__submenu-container {
	background: #000 !important;
	background-image: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-color: #fc0 !important;
	box-shadow: none !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation-item__content,
html[data-ilk-contrast="high"] .ilk-top-bar a,
html[data-ilk-contrast="high"] .ilk-footer a {
	color: #fc0 !important;
	background: transparent !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation-item__content:hover,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation-item__content:focus,
html[data-ilk-contrast="high"] .current-menu-item > .wp-block-navigation-item__content,
html[data-ilk-contrast="high"] .current-menu-ancestor > .wp-block-navigation-item__content {
	background: #fc0 !important;
	color: #000 !important;
}

html[data-ilk-contrast="high"] .wp-element-button,
html[data-ilk-contrast="high"] .wp-block-button__link,
html[data-ilk-contrast="high"] .ilk-brand-hero__btn,
html[data-ilk-contrast="high"] .ilk-hero__cta,
html[data-ilk-contrast="high"] button:not(.ilk-contrast-toggle),
html[data-ilk-contrast="high"] .ilk-news-card__more,
html[data-ilk-contrast="high"] .ilk-archive-nav__link {
	background: #fc0 !important;
	color: #000 !important;
	border: 2px solid #fc0 !important;
	text-decoration: none !important;
}

html[data-ilk-contrast="high"] .wp-element-button:hover,
html[data-ilk-contrast="high"] .wp-block-button__link:hover,
html[data-ilk-contrast="high"] button:not(.ilk-contrast-toggle):hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #000 !important;
}

html[data-ilk-contrast="high"] .ilk-brand-hero__shade,
html[data-ilk-contrast="high"] .ilk-brand-hero__media {
	background: #000 !important;
	opacity: 1 !important;
	filter: none !important;
}

html[data-ilk-contrast="high"] .ilk-brand-hero,
html[data-ilk-contrast="high"] .ilk-post-hero {
	background: #000 !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-brand-hero h1,
html[data-ilk-contrast="high"] .ilk-brand-hero p,
html[data-ilk-contrast="high"] .ilk-brand-hero__eyebrow,
html[data-ilk-contrast="high"] .ilk-post-hero__title,
html[data-ilk-contrast="high"] h1,
html[data-ilk-contrast="high"] h2,
html[data-ilk-contrast="high"] h3,
html[data-ilk-contrast="high"] h4 {
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] img,
html[data-ilk-contrast="high"] video {
	filter: grayscale(1) contrast(1.25);
}

html[data-ilk-contrast="high"] .ilk-top-bar__bip img {
	filter: none;
}

html[data-ilk-contrast="high"] input,
html[data-ilk-contrast="high"] textarea,
html[data-ilk-contrast="high"] select {
	background: #000 !important;
	color: #fc0 !important;
	border: 2px solid #fc0 !important;
}

html[data-ilk-contrast="high"] :focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

html[data-ilk-contrast="high"] .ilk-contrast-toggle {
	background: #fc0;
	border-color: #fc0;
	color: #000;
}

html[data-ilk-contrast="high"] .ilk-contrast-toggle[aria-pressed="true"] {
	background: #fff;
	border-color: #fff;
	color: #000;
}

/* Menu boczne — bez białych „pigułek” z żółtym tekstem */
html[data-ilk-contrast="high"] .ilk-side-menu {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

html[data-ilk-contrast="high"] .ilk-side-menu h2 {
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-side-menu__link {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	color: #fc0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

html[data-ilk-contrast="high"] .ilk-side-menu__link:hover,
html[data-ilk-contrast="high"] .ilk-side-menu__link.is-current {
	background: #fc0 !important;
	border-color: #fc0 !important;
	color: #000 !important;
	text-decoration: none !important;
}

/* Hero slider / wyróżnione — jasne tło → czarne */
html[data-ilk-contrast="high"] .ilk-hero,
html[data-ilk-contrast="high"] .ilk-hero__featured,
html[data-ilk-contrast="high"] .ilk-hero__visual {
	background: #000 !important;
	background-image: none !important;
	border-color: #fc0 !important;
	box-shadow: none !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-hero__kicker,
html[data-ilk-contrast="high"] .ilk-hero__brand,
html[data-ilk-contrast="high"] .ilk-hero__lead,
html[data-ilk-contrast="high"] .ilk-hero__feat-label,
html[data-ilk-contrast="high"] .ilk-hero__feat time,
html[data-ilk-contrast="high"] .ilk-hero__feat h2,
html[data-ilk-contrast="high"] .ilk-hero__feat h2 a,
html[data-ilk-contrast="high"] .ilk-hero__feat p,
html[data-ilk-contrast="high"] .ilk-hero__more {
	color: #fc0 !important;
	background: transparent !important;
}

html[data-ilk-contrast="high"] .ilk-hero__feat time {
	border: 1px solid #fc0;
}

html[data-ilk-contrast="high"] .ilk-btn,
html[data-ilk-contrast="high"] .ilk-btn--ghost,
html[data-ilk-contrast="high"] .ilk-hero .ilk-btn,
html[data-ilk-contrast="high"] .ilk-hero .ilk-btn--ghost {
	background: #fc0 !important;
	border: 2px solid #fc0 !important;
	color: #000 !important;
	text-decoration: none !important;
}

html[data-ilk-contrast="high"] .ilk-btn:hover,
html[data-ilk-contrast="high"] .ilk-btn--ghost:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #000 !important;
}

html[data-ilk-contrast="high"] .ilk-hero__nav {
	background: #fc0 !important;
	color: #000 !important;
	box-shadow: none !important;
}

html[data-ilk-contrast="high"] .ilk-hero__dot {
	background: #666 !important;
}

html[data-ilk-contrast="high"] .ilk-hero__dot.is-active {
	background: #fc0 !important;
}

/* Okruszki pod post-hero — białe tło z żółtym tekstem */
html[data-ilk-contrast="high"] .ilk-post-hero__crumb {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-post-hero__crumb a,
html[data-ilk-contrast="high"] .ilk-post-hero__crumb span {
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-post-hero__crumb a:hover {
	color: #fff !important;
}

/* Banery / karty / archiwum — twarde białe tła */
html[data-ilk-contrast="high"] .ilk-sidebar-banners,
html[data-ilk-contrast="high"] .ilk-useful-links,
html[data-ilk-contrast="high"] .ilk-contact-card,
html[data-ilk-contrast="high"] .ilk-archive-nav,
html[data-ilk-contrast="high"] .ilk-news-card,
html[data-ilk-contrast="high"] .ilk-gal-teaser__card,
html[data-ilk-contrast="high"] .wp-block-navigation__submenu-container {
	background: #000 !important;
	border-color: #fc0 !important;
	color: #fc0 !important;
	box-shadow: none !important;
}

/* Bramka hasła — strefa nauczyciela */
html[data-ilk-contrast="high"] .ilk-gate {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	color: #fc0 !important;
	box-shadow: none !important;
}

html[data-ilk-contrast="high"] .ilk-gate h2,
html[data-ilk-contrast="high"] .ilk-gate p,
html[data-ilk-contrast="high"] .ilk-gate__ok {
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-gate__form input {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	color: #fc0 !important;
	border-radius: 4px;
}

html[data-ilk-contrast="high"] .ilk-gate__form input::placeholder {
	color: #bba000 !important;
	opacity: 1;
}

html[data-ilk-contrast="high"] .ilk-gate__form button {
	background: #fc0 !important;
	border: 2px solid #fc0 !important;
	color: #000 !important;
}

html[data-ilk-contrast="high"] .ilk-gate__form button:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: #000 !important;
}

html[data-ilk-contrast="high"] .ilk-gate__error {
	background: #000 !important;
	border: 2px solid #fc0 !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-gate__menu a {
	color: #fc0 !important;
	border-bottom-color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-gate__menu a:hover {
	color: #fff !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #000 !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container-open,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container-close,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	background: #000 !important;
	border-color: #fc0 !important;
	color: #fc0 !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #fc0 !important;
	background: transparent !important;
}

html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content,
html[data-ilk-contrast="high"] .ilk-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	background: #fc0 !important;
	color: #000 !important;
}

@media (max-width: 640px) {
	.ilk-contrast-toggle {
		padding: 0.28rem 0.65rem;
	}
}
