/* Dostępność – WCAG 2.2 AA */

/* Skip link */
.carni24-skip-link {
  position: absolute;
  left: .5rem;
  top: -100px;
  z-index: 100000;
  padding: .75rem 1.25rem;
  background: #14301f;
  color: #fff;
  font-weight: 700;
  border-radius: 0 0 6px 6px;
  text-decoration: underline;
}
.carni24-skip-link:focus { top: 0; outline: 3px solid #ffd54f; outline-offset: 2px; color: #fff; }

/* Docelowy <main> nie powinien pokazywać obrysu po skoku z linku */
main[tabindex="-1"]:focus { outline: none; }

/* Widoczny wskaźnik focusu dla wszystkich elementów interaktywnych (SC 2.4.7 / 2.4.11) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #1a5f3f !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #fff !important;
}
.bg-dark a:focus-visible, .bg-dark button:focus-visible,
.main-footer a:focus-visible, .main-footer button:focus-visible,
.hero-slide a:focus-visible, .hero-slide button:focus-visible,
.carousel a:focus-visible, .carousel button:focus-visible {
  outline-color: #ffd54f !important;
  box-shadow: 0 0 0 5px #000 !important;
}

/* Linki w treści rozpoznawalne nie tylko kolorem (SC 1.4.1) */
.entry-content a:not(.btn), .page-article a:not(.btn), .article-content a:not(.btn),
.single-post-main p a:not(.btn), .single-page-main p a:not(.btn) {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Karty z "rozciągniętym" linkiem – wskaźnik focusu na całej karcie */
.blog-card, .species-card { position: relative; }
.blog-card:focus-within, .species-card:focus-within { outline: 3px solid #1a5f3f; outline-offset: 2px; }
.card-title-link { color: inherit; text-decoration: none; }
.card-title-link:hover, .card-title-link:focus-visible { text-decoration: underline; }
.card-title-link:focus-visible { outline: none !important; box-shadow: none !important; }

/* Minimalny rozmiar celu 24×24 px (SC 2.5.8) */
.btn, button, [role="button"], .search-tag, .carousel-indicators [data-bs-target] {
  min-height: 24px;
}
.carousel-indicators [data-bs-target] { min-width: 24px; }
.back-to-top-floating { min-width: 44px; min-height: 44px; }

/* Przycisk pauzy karuzeli (SC 2.2.2) */
.carni24-carousel-toggle {
  position: absolute;
  right: 1rem; bottom: 1rem;
  z-index: 5;
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: rgba(0, 0, 0, .7);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.carni24-carousel-toggle:hover { background: #000; }

/* Ruch ograniczony na życzenie użytkownika (SC 2.3.3) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Tryb wysokiego kontrastu */
@media (forced-colors: active) {
  .carni24-cookie__btn, .carni24-carousel-toggle { border: 2px solid ButtonText; }
}

/* Powiększony tekst i reflow (SC 1.4.4, 1.4.10) */
html { -webkit-text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; }

/* Linki prawne w stopce – wysoki kontrast na ciemnym tle (ładowane z wersją, więc omija cache @import) */
.main-footer .footer-legal a,
.main-footer .footer-legal .btn-link {
  color: #6fcf97 !important;
  background: transparent;
  border: 0;
  text-decoration: underline;
  font-size: inherit;
  opacity: 1;
}
.main-footer .footer-legal a:hover,
.main-footer .footer-legal .btn-link:hover { color: #bff0d3 !important; }
.main-footer .footer-legal .list-inline-item:not(:last-child) { margin-right: 1.25rem; }
