/**
 * Tryby dostępności – WCAG 2.1
 * Kontrast, odstępy, focus, reduced motion
 */

/* ── Globalny focus widoczny (klawiatura) ── */
:focus-visible {
	outline: 3px solid #005fcc;
	outline-offset: 2px;
}

.skip-link:focus {
	position: fixed;
	top: 0;
	left: 0;
	right: auto;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 24px;
	background: #ff0;
	color: #000;
	font-weight: 700;
	z-index: 100001;
	clip: auto;
	overflow: visible;
	white-space: normal;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ── Rozmiar czcionki ── */
body.a11y-font-large { font-size: 1.125rem; }
body.a11y-font-xlarge { font-size: 1.25rem; }

/* ── Odstępy w tekście ── */
body.a11y-spacing-wide {
	letter-spacing: 0.04em;
	word-spacing: 0.08em;
}
body.a11y-spacing-wide p,
body.a11y-spacing-wide li,
body.a11y-spacing-wide td,
body.a11y-spacing-wide th {
	line-height: 1.9;
}
body.a11y-spacing-wider {
	letter-spacing: 0.08em;
	word-spacing: 0.12em;
}
body.a11y-spacing-wider p,
body.a11y-spacing-wider li,
body.a11y-spacing-wider td,
body.a11y-spacing-wider th {
	line-height: 2.1;
}

/* ══════════════════════════════════════
   KONTRAST: ŻÓŁTY NA CZARNYM (jak oryginał)
   ══════════════════════════════════════ */
body.a11y-c-yellow-black {
	background: #000 !important;
	color: #ffff00 !important;
}
body.a11y-c-yellow-black a {
	color: #ffff00 !important;
	text-decoration: underline;
}
body.a11y-c-yellow-black a:visited {
	color: #ffff99 !important;
}
body.a11y-c-yellow-black a:hover,
body.a11y-c-yellow-black a:focus {
	color: #000 !important;
	background: #ffff00 !important;
}
body.a11y-c-yellow-black :focus-visible {
	outline-color: #ffff00;
	outline-offset: 3px;
}
body.a11y-c-yellow-black .site-header,
body.a11y-c-yellow-black .accessibility-bar,
body.a11y-c-yellow-black .main-navigation,
body.a11y-c-yellow-black .registration-section,
body.a11y-c-yellow-black .announcement-box,
body.a11y-c-yellow-black .page-article,
body.a11y-c-yellow-black .single-article,
body.a11y-c-yellow-black .news-card,
body.a11y-c-yellow-black .widget,
body.a11y-c-yellow-black .sidebar-block,
body.a11y-c-yellow-black .child-page-card,
body.a11y-c-yellow-black .registration-card,
body.a11y-c-yellow-black .eportal-cta,
body.a11y-c-yellow-black .projects-banner,
body.a11y-c-yellow-black .projects-banner__item,
body.a11y-c-yellow-black .nav-search-panel,
body.a11y-c-yellow-black .cookie-banner {
	background: #000 !important;
	color: #ffff00 !important;
	border-color: #ffff00 !important;
}
body.a11y-c-yellow-black .footer-widgets,
body.a11y-c-yellow-black .footer-bottom {
	background: #000 !important;
	color: #ffff00 !important;
	border-top: 2px solid #ffff00;
}
body.a11y-c-yellow-black h1,
body.a11y-c-yellow-black h2,
body.a11y-c-yellow-black h3,
body.a11y-c-yellow-black h4,
body.a11y-c-yellow-black .section-title,
body.a11y-c-yellow-black .footer-title,
body.a11y-c-yellow-black .widget-title {
	color: #ffff00 !important;
}
body.a11y-c-yellow-black .main-navigation,
body.a11y-c-yellow-black .nav-menu .sub-menu {
	background: #000 !important;
	border: 2px solid #ffff00;
}
body.a11y-c-yellow-black .nav-menu > li > a,
body.a11y-c-yellow-black .nav-menu .sub-menu a,
body.a11y-c-yellow-black .nav-search-toggle,
body.a11y-c-yellow-black .accessibility-bar__links a {
	color: #ffff00 !important;
}
body.a11y-c-yellow-black .nav-menu > li > a:hover,
body.a11y-c-yellow-black .nav-menu > li > a:focus,
body.a11y-c-yellow-black .nav-menu .sub-menu a:hover,
body.a11y-c-yellow-black .nav-search-toggle:hover,
body.a11y-c-yellow-black .nav-search-toggle[aria-expanded="true"],
body.a11y-c-yellow-black .a11y-btn[aria-pressed="true"] {
	background: #ffff00 !important;
	color: #000 !important;
}
body.a11y-c-yellow-black .btn--primary,
body.a11y-c-yellow-black .btn--secondary {
	background: #ffff00 !important;
	color: #000 !important;
	border-color: #ffff00 !important;
}
body.a11y-c-yellow-black .btn--outline {
	background: #000 !important;
	color: #ffff00 !important;
	border-color: #ffff00 !important;
}
body.a11y-c-yellow-black .search-field,
body.a11y-c-yellow-black input,
body.a11y-c-yellow-black textarea,
body.a11y-c-yellow-black select {
	background: #000 !important;
	color: #ffff00 !important;
	border: 2px solid #ffff00 !important;
}
body.a11y-c-yellow-black .contact-table th,
body.a11y-c-yellow-black .contact-table td,
body.a11y-c-yellow-black .contact-table a {
	color: #ffff00 !important;
}
body.a11y-c-yellow-black .site-logo-text__main,
body.a11y-c-yellow-black .site-logo-text__city {
	color: #ffff00 !important;
}
body.a11y-c-yellow-black .section-title--bar {
	background: #000 !important;
	border-left-color: #ffff00 !important;
}

/* ══════════════════════════════════════
   KONTRAST: CZARNY NA ŻÓŁTYM
   ══════════════════════════════════════ */
body.a11y-c-black-yellow {
	background: #ffff00 !important;
	color: #000 !important;
}
body.a11y-c-black-yellow a {
	color: #000 !important;
	text-decoration: underline;
	font-weight: 600;
}
body.a11y-c-black-yellow a:hover,
body.a11y-c-black-yellow a:focus {
	background: #000 !important;
	color: #ffff00 !important;
}
body.a11y-c-black-yellow :focus-visible {
	outline-color: #000;
}
body.a11y-c-black-yellow .site-header,
body.a11y-c-black-yellow .accessibility-bar,
body.a11y-c-black-yellow .main-navigation,
body.a11y-c-black-yellow .registration-section,
body.a11y-c-black-yellow .announcement-box,
body.a11y-c-black-yellow .page-article,
body.a11y-c-black-yellow .single-article,
body.a11y-c-black-yellow .news-card,
body.a11y-c-black-yellow .widget,
body.a11y-c-black-yellow .sidebar-block,
body.a11y-c-black-yellow .child-page-card,
body.a11y-c-black-yellow .registration-card,
body.a11y-c-black-yellow .eportal-cta,
body.a11y-c-black-yellow .projects-banner,
body.a11y-c-black-yellow .projects-banner__item,
body.a11y-c-black-yellow .nav-search-panel,
body.a11y-c-black-yellow .cookie-banner {
	background: #ffff00 !important;
	color: #000 !important;
	border-color: #000 !important;
}
body.a11y-c-black-yellow .footer-widgets,
body.a11y-c-black-yellow .footer-bottom {
	background: #ffff00 !important;
	color: #000 !important;
	border-top: 3px solid #000;
}
body.a11y-c-black-yellow h1,
body.a11y-c-black-yellow h2,
body.a11y-c-black-yellow h3,
body.a11y-c-black-yellow h4,
body.a11y-c-black-yellow .section-title,
body.a11y-c-black-yellow .footer-title,
body.a11y-c-black-yellow .widget-title {
	color: #000 !important;
}
body.a11y-c-black-yellow .main-navigation,
body.a11y-c-black-yellow .nav-menu .sub-menu {
	background: #ffff00 !important;
	border: 2px solid #000;
}
body.a11y-c-black-yellow .nav-menu > li > a,
body.a11y-c-black-yellow .nav-menu .sub-menu a,
body.a11y-c-black-yellow .nav-search-toggle {
	color: #000 !important;
}
body.a11y-c-black-yellow .nav-menu > li > a:hover,
body.a11y-c-black-yellow .nav-menu > li > a:focus,
body.a11y-c-black-yellow .nav-search-toggle:hover,
body.a11y-c-black-yellow .nav-search-toggle[aria-expanded="true"],
body.a11y-c-black-yellow .a11y-btn[aria-pressed="true"] {
	background: #000 !important;
	color: #ffff00 !important;
}
body.a11y-c-black-yellow .btn--primary,
body.a11y-c-black-yellow .btn--secondary {
	background: #000 !important;
	color: #ffff00 !important;
	border-color: #000 !important;
}
body.a11y-c-black-yellow .btn--outline {
	background: #ffff00 !important;
	color: #000 !important;
	border-color: #000 !important;
}
body.a11y-c-black-yellow .search-field,
body.a11y-c-black-yellow input,
body.a11y-c-black-yellow textarea {
	background: #ffff00 !important;
	color: #000 !important;
	border: 2px solid #000 !important;
}
body.a11y-c-black-yellow .accessibility-bar {
	background: #000 !important;
}
body.a11y-c-black-yellow .accessibility-bar,
body.a11y-c-black-yellow .accessibility-bar__links a,
body.a11y-c-black-yellow .a11y-btn {
	color: #ffff00 !important;
	border-color: #ffff00 !important;
}

/* ══════════════════════════════════════
   KONTRAST: CZARNY NA BIAŁYM
   ══════════════════════════════════════ */
body.a11y-c-black-white {
	background: #fff !important;
	color: #000 !important;
}
body.a11y-c-black-white a {
	color: #000 !important;
	text-decoration: underline;
	font-weight: 600;
}
body.a11y-c-black-white a:hover,
body.a11y-c-black-white a:focus {
	background: #000 !important;
	color: #fff !important;
}
body.a11y-c-black-white :focus-visible {
	outline-color: #000;
}
body.a11y-c-black-white .site-header,
body.a11y-c-black-white .registration-section,
body.a11y-c-black-white .announcement-box,
body.a11y-c-black-white .page-article,
body.a11y-c-black-white .single-article,
body.a11y-c-black-white .news-card,
body.a11y-c-black-white .widget,
body.a11y-c-black-white .sidebar-block,
body.a11y-c-black-white .child-page-card,
body.a11y-c-black-white .registration-card,
body.a11y-c-black-white .eportal-cta,
body.a11y-c-black-white .nav-search-panel {
	background: #fff !important;
	color: #000 !important;
	border: 2px solid #000 !important;
}
body.a11y-c-black-white .main-navigation,
body.a11y-c-black-white .accessibility-bar {
	background: #000 !important;
	color: #fff !important;
}
body.a11y-c-black-white .nav-menu > li > a,
body.a11y-c-black-white .nav-menu .sub-menu a,
body.a11y-c-black-white .nav-search-toggle,
body.a11y-c-black-white .accessibility-bar__links a {
	color: #fff !important;
}
body.a11y-c-black-white .nav-menu .sub-menu {
	background: #000 !important;
	border: 2px solid #fff;
}
body.a11y-c-black-white .nav-menu > li > a:hover,
body.a11y-c-black-white .nav-menu > li > a:focus,
body.a11y-c-black-white .a11y-btn[aria-pressed="true"] {
	background: #fff !important;
	color: #000 !important;
}
body.a11y-c-black-white .footer-widgets,
body.a11y-c-black-white .footer-bottom {
	background: #000 !important;
	color: #fff !important;
}
body.a11y-c-black-white .footer-widgets a,
body.a11y-c-black-white .contact-table a {
	color: #fff !important;
}
body.a11y-c-black-white h1,
body.a11y-c-black-white h2,
body.a11y-c-black-white h3,
body.a11y-c-black-white .section-title,
body.a11y-c-black-white .footer-title {
	color: #000 !important;
}
body.a11y-c-black-white .btn--primary,
body.a11y-c-black-white .btn--secondary {
	background: #000 !important;
	color: #fff !important;
	border-color: #000 !important;
}
body.a11y-c-black-white .btn--outline {
	background: #fff !important;
	color: #000 !important;
	border: 2px solid #000 !important;
}
body.a11y-c-black-white .search-field,
body.a11y-c-black-white input,
body.a11y-c-black-white textarea {
	background: #fff !important;
	color: #000 !important;
	border: 2px solid #000 !important;
}
body.a11y-c-black-white .section-title--bar {
	background: #000 !important;
	color: #fff !important;
	border-left-color: #fff !important;
}
body.a11y-c-black-white img {
	outline: 1px solid #000;
}

/* ── Pasek narzędzi dostępności ── */
.a11y-btn {
	background: #444;
	color: #fff;
	border: 1px solid #666;
	cursor: pointer;
	font-size: 0.85em;
	border-radius: 3px;
	transition: background 0.2s ease;
	font-family: inherit;
	min-height: 36px;
	min-width: 36px;
	padding: 6px 12px;
}
.a11y-btn:hover,
.a11y-btn:focus-visible {
	background: var(--color-primary, #1a6b3c);
	border-color: var(--color-primary, #1a6b3c);
	color: #fff;
}
.accessibility-bar__groups {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	align-items: center;
}
.accessibility-bar__group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}
.accessibility-bar__group-label {
	font-weight: 600;
	font-size: 0.85em;
	margin-right: 4px;
	white-space: nowrap;
}
.a11y-btn[aria-pressed="true"] {
	box-shadow: inset 0 0 0 2px #fff;
	font-weight: 700;
}
.a11y-btn--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	min-width: 36px;
	min-height: 36px;
	line-height: 0;
}
.a11y-btn__icon {
	display: block;
	flex-shrink: 0;
}
.a11y-btn--icon.a11y-btn--contrast {
	padding: 4px;
}
.a11y-btn--contrast[data-contrast="yellow-black"],
.a11y-btn--contrast[data-contrast="black-yellow"],
.a11y-btn--contrast[data-contrast="black-white"] {
	background: transparent;
	border-color: #888;
}
.a11y-btn--contrast[data-contrast="yellow-black"]:hover,
.a11y-btn--contrast[data-contrast="yellow-black"]:focus-visible,
.a11y-btn--contrast[data-contrast="black-yellow"]:hover,
.a11y-btn--contrast[data-contrast="black-yellow"]:focus-visible,
.a11y-btn--contrast[data-contrast="black-white"]:hover,
.a11y-btn--contrast[data-contrast="black-white"]:focus-visible {
	background: transparent;
	border-color: #fff;
}
.a11y-btn--contrast[aria-pressed="true"] {
	box-shadow: 0 0 0 2px #fff;
}
