/* RisvegliaCase — override e animazioni custom */

/* Smooth scroll globale */
html {
  scroll-behavior: smooth;
}

/* Rispetta la preferenza per ridurre le animazioni */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fade-in { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Animazione fade-in on scroll */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Focus ring globale accessibile */
:focus-visible {
  outline: 3px solid #FFC72C;
  outline-offset: 3px;
}

/* Rimuove il marker nativo di <details> in tutti i browser */
details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}

/* Mobile menu overlay: quando aperto sta sopra all'header */
#mobile-menu.open {
  transform: translateX(0);
}

/* Stili form: stato errore */
input.input-error,
select.input-error,
textarea.input-error {
  border-color: #E63946 !important;
}

/* Header scroll: aggiunge shadow più marcata dopo scroll */
#header.scrolled {
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}