/* Globalne reguły dostępności i jakości interfejsu (wg Web Interface Guidelines) – ładowane na każdej stronie. */
html { scroll-padding-top: 96px; }
[id] { scroll-margin-top: 96px; }
body { text-wrap: pretty; }
h1, h2, h3, .elementor-heading-title { text-wrap: balance; }
a, button, input, select, textarea, summary, [role="button"], .e-n-accordion-item-title { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, .e-n-accordion-item-title:focus-visible { outline: 3px solid #B9707E; outline-offset: 3px; border-radius: 4px; }
.e-n-accordion-item-title:focus:not(:focus-visible) { outline: none; }
.ocz-stat, .oa-cl__count, .oa-progress__num, .elementor-post-info, .elementor-pagination { font-variant-numeric: tabular-nums; }
/* skip link: widoczny po tabulatorze, nad przyklejonym nagłówkiem */
.skip-link.screen-reader-text:focus { position: fixed; top: 12px; left: 12px; z-index: 100000; width: auto; height: auto; clip: auto; clip-path: none; padding: 12px 18px; background: #402A31; color: #F5F0E8; font: 600 17px/1.2 Manrope, sans-serif; border-radius: 10px; text-decoration: none; }
/* ikony jako obraz dekoracyjny */
.elementor-icon-list-icon svg, .e-n-accordion-item-title-icon svg { pointer-events: none; }
/* minimalne pola dotyku 44 px na urządzeniach dotykowych */
@media (pointer: coarse) {
	.elementor-widget-taxonomy-filter .e-filter .e-filter-item { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
	.elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
	.elementor-location-footer .elementor-heading-title a, .elementor-location-footer .elementor-widget-text-editor a { display: inline-block; padding: 8px 0; }
	.elementor-nav-menu--dropdown a { min-height: 52px; }
}
/* ograniczony ruch: bez animacji i płynnego przewijania */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
/* pola formularzy: nigdy poniżej 16 px (iOS nie powiększa strony przy fokusie) */
input, select, textarea { font-size: max(1em, 16px); }
