/* Accessibility and small-screen corrections, independent of generated Tailwind CSS. */
html { scroll-padding-top: 5.5rem; }
.mobile-menu-button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
@media (min-width: 768px) { .mobile-menu-button { display: none; } }
#mobile-menu a { min-height: 44px; display: flex; align-items: center; }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 100; padding: .75rem 1rem; background: #18181b; color: white; border-radius: .5rem; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
a:focus-visible, button:focus-visible { outline: 3px solid #c2410c; outline-offset: 4px; }
#hauptinhalt:focus { outline: none; }
.text-primary-600 { color: #c2410c; }
a.bg-primary-500 { background-color: #c2410c; }
a.bg-primary-500:hover { background-color: #9a3412; }
footer .text-zinc-500 { color: #a1a1aa; }
main > div > p.text-zinc-400 { color: #71717a; }
.legal-header > div { gap: 1rem; }
.legal-header a:first-child { flex-shrink: 0; }
.legal-header a:last-child { padding-block: .75rem; }
@media (max-width: 420px) {
  .legal-header > div { height: auto; min-height: 64px; flex-wrap: wrap; gap: .25rem 1rem; padding-block: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html.scroll-smooth { scroll-behavior: auto; }
  .animate-ping, .animate-frog-float { animation: none; }
}
