/* Globale Tastaturfokus-Regeln. Dieses Stylesheet wird zuletzt geladen. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--konvex-accent);
  outline-offset: 2px;
  border-radius: 3px;
}

.btn-primary:focus-visible,
.cta-button:focus-visible,
.hl-cta:focus-visible,
.btn-action:focus-visible,
.mobile-cta:focus-visible,
.bsr-mode-btn:focus-visible,
.fxd-hero__btn:focus-visible,
.fxd-download__btn:focus-visible {
  outline: 3px solid var(--konvex-accent);
  outline-offset: 3px;
}

#bsr-hero a:focus-visible,
#bsr-hero button:focus-visible,
#bsr-hero input:focus-visible,
#konvex-footer a:focus-visible,
.fx-page-wrapper [data-section-theme="dark"] a:focus-visible,
.fx-page-wrapper [data-section-theme="dark"] button:focus-visible {
  outline-color: #5cc7ff;
}

.feature-card:focus-visible,
.module-card:focus-visible,
.indicator-article:focus-visible,
.nav-item-dropdown > [role="button"]:focus-visible {
  outline: 2px solid var(--konvex-accent);
  outline-offset: 4px;
}

/* Globale Bewegungseinschränkung mit sofort sichtbaren Reveal-Elementen. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  .anim-item,
  [class*="anim-ready"] .anim-item {
    opacity: 1 !important;
    transform: none !important;
  }
}
