/* Poprawki dostępności — wspólne dla wszystkich podstron.
   Wymagania: widoczny fokus, respektowanie prefers-reduced-motion,
   czytelne cele dotykowe, ukrywanie wizualnie (a nie usuwanie) etykiet. */

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:10000;
  background:#0b1f3a;color:#fff;padding:12px 20px;font-weight:700;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0}

/* Widoczny fokus we wszystkich elementach interaktywnych */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #1a9cff;
  outline-offset:2px;
  border-radius:3px;
}
/* Fallback dla przeglądarek bez :focus-visible */
a:focus, button:focus, input:focus, select:focus, textarea:focus{
  outline:3px solid #1a9cff;
  outline-offset:2px;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible){
  outline:none;
}

/* Minimalny rozmiar celu dotykowego */
button, .btn, input[type=submit], input[type=button]{
  min-height:40px;
}

/* Formularze: etykieta zawsze widoczna, komunikaty błędów czytelne */
.sr-only{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.field-error, .error, .is-error{
  color:#c0392b;
}
@media (prefers-color-scheme: dark){
  .field-error, .error{color:#ff8a80;}
}

/* Nie przesuwaj treści przy focus (usuwa „skok” w Chrome) */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .rev_slider_wrapper li,
  .banner,
  .slider-item{transition:none !important;transform:none !important}
}
