/* =======================================================================
   PODN Stargard — dostępność (WCAG)
   Klasy przełączane przez panel dostępności (js/accessibility.js),
   zapisywane w localStorage i stosowane na <html>.
   ======================================================================= */

/* ---------- Link "Przejdź do treści" ---------- */
.skip-link{
	position:absolute;
	left:-9999px;
	top:0;
	z-index:2000;
	background:#0f172a;
	color:#fff;
	padding:.85rem 1.25rem;
	border-radius:0 0 10px 0;
	font-weight:700;
	text-decoration:none;
}
.skip-link:focus{
	left:0;
}

/* ---------- Wyraźny focus (dla nawigacji klawiaturą) ---------- */
:focus-visible{
	outline:3px solid #f59e0b !important;
	outline-offset:2px !important;
}

/* ---------- Rozmiar tekstu ---------- */
html.a11y-text-lg{ font-size:112.5%; }
html.a11y-text-xl{ font-size:125%; }

/* ---------- Podkreślenie linków ---------- */
html.a11y-underline-links a{ text-decoration:underline !important; }

/* ---------- Ograniczenie animacji ---------- */
html.a11y-reduce-motion *,
html.a11y-reduce-motion *::before,
html.a11y-reduce-motion *::after{
	animation-duration:0.001ms !important;
	animation-iteration-count:1 !important;
	transition-duration:0.001ms !important;
	scroll-behavior:auto !important;
}
@media (prefers-reduced-motion: reduce){
	*, *::before, *::after{
		animation-duration:0.001ms !important;
		animation-iteration-count:1 !important;
		transition-duration:0.001ms !important;
		scroll-behavior:auto !important;
	}
}

/* ---------- Czytelna czcionka (większe odstępy) ---------- */
html.a11y-readable-font body{
	font-family:Arial, Helvetica, sans-serif;
	letter-spacing:.02em;
	line-height:1.8;
}
html.a11y-readable-font p,
html.a11y-readable-font li{
	line-height:1.8;
}

/* ---------- Wysoki kontrast ---------- */
html.a11y-contrast body{
	background:#000 !important;
	color:#fff !important;
}
html.a11y-contrast .podn-card,
html.a11y-contrast .podn-step-card,
html.a11y-contrast .podn-course-card,
html.a11y-contrast .podn-partners,
html.a11y-contrast .table{
	background:#000 !important;
	color:#fff !important;
	border:1px solid #fff200 !important;
}
html.a11y-contrast a{
	color:#fff200 !important;
}
html.a11y-contrast .podn-navbar,
html.a11y-contrast .podn-footer{
	background:#000 !important;
	border-bottom:2px solid #fff200;
}
html.a11y-contrast .podn-navbar .nav-link{
	color:#fff !important;
}
html.a11y-contrast .btn-primary{
	background:#fff200 !important;
	border-color:#fff200 !important;
	color:#000 !important;
	font-weight:700;
}
html.a11y-contrast .btn-outline-primary,
html.a11y-contrast .btn-outline-secondary{
	color:#fff200 !important;
	border-color:#fff200 !important;
}
html.a11y-contrast .badge-status{
	outline:1px solid #fff;
}
html.a11y-contrast img{
	filter:grayscale(40%) contrast(1.1);
}

/* ---------- Panel dostępności ---------- */
.a11y-toggle-btn{
	position:fixed;
	right:18px;
	bottom:18px;
	z-index:1050;
	width:54px;
	height:54px;
	border-radius:50%;
	background:var(--podn-primary, #0c3f6e);
	color:#fff;
	border:none;
	box-shadow:0 10px 24px rgba(15,23,42,.25);
	font-size:1.5rem;
	display:flex;
	align-items:center;
	justify-content:center;
}
.a11y-toggle-btn:hover{ background:var(--podn-primary-dark, #072e55); }

.a11y-panel{
	position:fixed;
	right:18px;
	bottom:84px;
	z-index:1050;
	width:300px;
	max-width:calc(100vw - 36px);
	background:#fff;
	color:#0f172a;
	border-radius:16px;
	box-shadow:0 20px 50px rgba(15,23,42,.3);
	padding:18px;
	display:none;
}
.a11y-panel.is-open{ display:block; }
.a11y-panel h2{
	font-size:1rem;
	font-weight:800;
	margin-bottom:12px;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.a11y-panel .btn-close{ font-size:.75rem; }
.a11y-panel .form-check{ margin-bottom:10px; }
.a11y-panel .a11y-reset{ width:100%; margin-top:6px; }

@media (max-width:480px){
	.a11y-toggle-btn{ right:12px; bottom:12px; width:48px; height:48px; font-size:1.3rem; }
	.a11y-panel{ right:12px; bottom:70px; }
}
