/*
 * Kat Highton — warstwa, której theme.json nie wyraża.
 *
 * Zasada: kolory, rozmiary i odstępy BIORĄ SIĘ Z TOKENÓW (var(--wp--preset--*)).
 * Jeśli piszesz tu wartość na sztywno, prawdopodobnie powinna być w theme.json.
 *
 * Grupa docelowa to 50-80+, więc dostępność nie jest tu dodatkiem:
 * czytelny focus, duże cele dotykowe, brak animacji dla osób, które ich nie chcą.
 */

/* --- Dostępność: focus widoczny zawsze, nie tylko dla myszy --- */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--wp--custom--focus-outline, 3px) solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Wygaszamy tylko domyślny pierścień, gdy mamy własny — nigdy bez zamiennika. */
:where(a, button):focus:not(:focus-visible) {
	outline: none;
}

/* --- Cele dotykowe: 44px to minimum, przy tej grupie wiekowej nie schodzimy niżej --- */

.wp-block-button__link,
.wp-block-navigation a,
:where(button, input[type="submit"], input[type="button"]) {
	min-height: var(--wp--custom--tap-target, 44px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* --- Skip link: pierwsza rzecz pod Tab, niewidoczna dopóki niepotrzebna --- */

.kh-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.kh-skip-link:focus {
	left: 0;
}

/* --- Czytelność treści: miara wiersza i sensowne łamanie --- */

:where(.entry-content, .wp-block-post-content) p {
	max-width: 68ch;
	text-wrap: pretty;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
	overflow-wrap: break-word;
}

/* --- Osadzenia wideo: proporcja bez skakania układu przy ładowaniu --- */

.wp-block-embed__wrapper iframe,
.kh-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

/* --- Tabele: przewijanie zamiast rozpychania strony na telefonie --- */

.wp-block-table {
	overflow-x: auto;
}

/* --- Szanujemy ustawienie systemowe „ogranicz animacje” --- */

@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;
	}
}

/* --- Druk: bez elementów nawigacyjnych --- */

@media print {
	header, footer, nav, .wp-block-navigation {
		display: none;
	}
}
