/* JE A11y-Basis, 19.09.2026 */
:root{
  color-scheme: light;
  caret-color: var(--je-text);
  accent-color: var(--je-sage-dark);
}
::selection{ background: var(--je-sage); color: var(--je-text); }

/* Fokus: sichtbar auf hellem Grund, auf Salbei-Flaechen und im dunklen Footer */
:where(.je-page, .je-home) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible{
  outline: 2px solid var(--je-text);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(242,241,238,.92);
}
:where(.je-page, .je-home) .je-foot :is(a, button):focus-visible,
:where(.je-page, .je-home) .je-video-card:focus-visible{
  outline-color: var(--je-bg);
  box-shadow: 0 0 0 4px rgba(28,28,26,.92);
}
:where(.je-page, .je-home) .je-contact-form .ff-el-form-control:focus-visible{
  outline: 2px solid var(--je-text);
  outline-offset: 1px;
  box-shadow: none;
}
/* Eingabefelder: Zustandswechsel auch ohne Fokusring erkennbar */
:where(.je-page, .je-home) .je-contact-form .ff-el-form-control:focus{
  border-color: var(--je-text);
}

/* Bewegung reduzieren: Zierbewegung aus, Rueckmeldung bleibt */
@media (prefers-reduced-motion: reduce){
  .je-page .je-player-art.is-playing,
  .je-home .je-sample-art.is-playing,
  .je-page .je-sample-art.is-playing{
    animation: none !important;
  }
  .je-page [data-reveal], .je-home [data-reveal],
  .je-page.je-js [data-reveal], .je-home.je-js [data-reveal]{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .je-page .je-float-btn:hover, .je-home .je-float-btn:hover,
  .je-page .je-foot-social a:hover, .je-home .je-foot-social a:hover,
  .je-page .je-btn:hover, .je-home .je-btn:hover,
  .je-page .je-service-card:hover img, .je-home .je-service-card:hover img,
  .je-page .je-service-media img, .je-home .je-service-media img,
  .je-page .je-blog-card:hover, .je-home .je-blog-card:hover{
    transform: none !important;
  }
  .je-page img, .je-home img{ transition-duration: .01ms !important; }
  .je-page details.je-mobile-nav .je-mobile-panel,
  .je-home details.je-mobile-nav .je-mobile-panel{ transition: none !important; }
}
