/* Kurze, endliche Übergänge. Inhalte bleiben auch ohne Animation sichtbar. */
@keyframes byh-demo-arrive {
 from { opacity:0; transform:translateY(6px); }
 to { opacity:1; transform:translateY(0); }
}
@keyframes byh-demo-dialog {
 from { opacity:0; transform:translateY(5px) scale(.99); }
 to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes byh-demo-backdrop { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
 bookyourhood-demo .byh-motion-enter { animation:byh-demo-arrive 280ms cubic-bezier(.22,.61,.36,1); }
 bookyourhood-demo .lb-modal { animation:byh-demo-dialog 180ms ease-out; }
 bookyourhood-demo .lb-modal-backdrop { animation:byh-demo-backdrop 140ms ease-out; }
 bookyourhood-demo :is(.lb-btn,.lb-nav-btn,.lb-role-badge,.lb-bottom-nav button,.lb-section-nav button,.lb-tool-link) {
  transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
 }
 bookyourhood-demo :is(input,select,textarea) { transition:border-color 160ms ease,box-shadow 160ms ease; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 bookyourhood-demo :is(.lb-btn,.lb-tool-link):hover { transform:translateY(-1px); }
 bookyourhood-demo .lb-card { transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease; }
 bookyourhood-demo .lb-card:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgb(37 62 56 / 6%); }
 bookyourhood-demo :is(.lb-btn,.lb-tool-link):active { transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
 bookyourhood-demo *,bookyourhood-demo *::before,bookyourhood-demo *::after {
  animation:none!important; transition:none!important; scroll-behavior:auto!important;
 }
}

/* Ruhige Bewegung ohne Dauerschleifen oder Einfluss auf Layout und Formulare. */
@keyframes byh-view-arrive {
 from { opacity:0; transform:translateY(6px); }
 to { opacity:1; transform:translateY(0); }
}
@keyframes byh-dialog-arrive {
 from { opacity:0; transform:translateY(5px) scale(.99); }
 to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes byh-backdrop-arrive { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
 #byh-app .byh-motion-enter { animation:byh-view-arrive 280ms cubic-bezier(.22,.61,.36,1); }
 #byh-app .byh-dialog[open] { animation:byh-dialog-arrive 180ms ease-out; }
 #byh-app .byh-dialog::backdrop { animation:byh-backdrop-arrive 140ms ease-out; }
 #byh-app :is(.byh-button,.byh-role) {
  transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
 }
 #byh-app :is(input,select,textarea) { transition:border-color 160ms ease,box-shadow 160ms ease; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 #byh-app :is(.byh-card,.byh-event,.byh-role) {
  transition:transform 200ms ease,border-color 200ms ease,box-shadow 200ms ease;
 }
 #byh-app :is(a.byh-card,.byh-event,.byh-role,.byh-invite-card):hover { transform:translateY(-2px); }
 #byh-app .byh-button:hover { transform:translateY(-1px); }
 #byh-app :is(.byh-button,.byh-role):active { transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
 #byh-app *,#byh-app *::before,#byh-app *::after {
  animation:none!important; transition:none!important; scroll-behavior:auto!important;
 }
}
