/* Dostępność — uzupełnienia WCAG 2.1 (poziom AA) */

/* 2.4.1 — link pomijający do treści */
.skip-link {
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 100000;
	padding: 0.85em 1.25em;
	background: #007aa8;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}

.skip-link:focus {
	top: 0;
	outline: 3px solid #fff;
	outline-offset: 2px;
}

/* 2.4.7 — widoczny fokus klawiatury (nadpisuje outline: 0 w szablonie) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
#navToggle a:focus-visible,
#navPanel a:focus-visible,
.dropotron a:focus-visible {
	outline: 3px solid #007aa8 !important;
	outline-offset: 2px;
}

.button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 3px #007aa8;
}

#nav a:focus-visible,
#navPanel a:focus-visible {
	outline: 3px solid #007aa8 !important;
	outline-offset: 2px;
}

/* 1.4.3 — kontrast tekstu pomocniczego */
.sub-hero,
#banner.hero-tight p.sub-hero {
	color: #595959;
}

#dlaczego-my .why-lead {
	color: #3d3d3d;
}

.certificates-row .certificates-meta,
.contact-form .form-hint,
#content .legal-doc p.regulamin-dots {
	color: #595959;
}

/* 1.4.11 — linki w sekcji CTA */
.section-cta a:not(.button) {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.section-cta a:not(.button):hover,
.section-cta a:not(.button):focus-visible {
	color: #fff;
	text-decoration-thickness: 2px;
}

/* 2.5.5 — większy obszar kliknięcia w menu mobilnym */
#navToggle a {
	min-width: 44px;
	min-height: 44px;
}

/* 2.3.3 — animacje tylko gdy użytkownik na to pozwala */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* Tylko czytniki ekranu */
.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 1.4.3 — kontrast akcentów tekstowych (bez zmiany układu) */
.offer-pillar .lead {
	color: #007aa8;
}

#footer a {
	color: #444;
}

#footer a:hover,
#footer a:focus-visible {
	color: #007aa8;
}

/* Formularz kontaktowy — powiązane etykiety */
.contact-form label {
	font-weight: 600;
	color: #3d3d3d;
}

.contact-form input[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"] {
	border-color: #c0392b;
}

.contact-form .field-error {
	color: #a93226;
	font-size: 0.95em;
	margin-top: 0.35em;
}

.contact-form .form-status {
	margin-top: 1em;
	padding: 0.85em 1em;
	border-radius: 6px;
	font-weight: 600;
}

.contact-form .form-status--info {
	background: #eef6fa;
	color: #007aa8;
}

.contact-form .form-status--success {
	background: #eaf6ee;
	color: #1e6b3a;
}

.contact-form .form-status--error {
	background: #fdecea;
	color: #a93226;
}
