/* ============================================================
   ANIMAZIONI — file separato, facilmente disattivabile.
   ------------------------------------------------------------------
   Per disattivare TUTTE le animazioni del sito: basta rimuovere il tag
   <link rel="stylesheet" href="/animazioni.css"> e lo <script src="/animazioni.js">
   da una pagina, oppure rimuovere l'attributo data-animazioni="on" dal
   tag <body>. Rispetta inoltre prefers-reduced-motion: chi ha disattivato
   le animazioni a livello di sistema operativo non le vedrà comunque, a
   prescindere da questo file.

   Filosofia (punto I della revisione): sobrio, leggero, coerente con un
   sito editoriale. Niente motion vistoso, niente "effetti da template".
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {

  /* Reveal all'ingresso in viewport per card e blocchi principali:
     applicato via JS (animazioni.js) che aggiunge .in-view quando
     l'elemento entra nello schermo. Se JS non carica, il contenuto resta
     comunque visibile (opacity 1 di default, vedi sotto): l'animazione è
     un miglioramento, mai un requisito per vedere il contenuto. */
  [data-reveal] {
    opacity: 1;
    transform: none;
  }
  body[data-animazioni="on"] [data-reveal] {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s ease, transform .55s ease;
  }
  body[data-animazioni="on"] [data-reveal].in-view {
    opacity: 1;
    transform: none;
  }

  /* Microtransizioni hover su card cliccabili — leggere, non invasive. */
  body[data-animazioni="on"] .articolo-card,
  body[data-animazioni="on"] .articolo-lead,
  body[data-animazioni="on"] .ng-card,
  body[data-animazioni="on"] .prima-pagina-secondaria .articolo-card {
    transition: transform .25s ease, box-shadow .25s ease;
  }
  body[data-animazioni="on"] .articolo-card:hover,
  body[data-animazioni="on"] .prima-pagina-secondaria .articolo-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
  }

  /* Bottoni: leggero feedback al passaggio del mouse, nessun effetto
     "gonfio" o rimbalzante. */
  body[data-animazioni="on"] .btn {
    transition: transform .18s ease, opacity .18s ease;
  }
  body[data-animazioni="on"] .btn:hover {
    transform: translateY(-1px);
  }
  body[data-animazioni="on"] .btn:active {
    transform: translateY(0);
  }

  /* Immagini di copertina (punto D): dissolvenza leggera al caricamento
     invece di comparire di scatto. */
  body[data-animazioni="on"] .ng-thumb img {
    animation: agora-fade-in .4s ease both;
  }
  @keyframes agora-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  /* Pannelli di ricerca/filtro nella nav: apertura morbida invece che
     a scatto. */
  body[data-animazioni="on"] .nav-tool-panel {
    transition: opacity .2s ease, transform .2s ease;
  }
}
