/* ============================================================================
   HOME — IL LOOP GALILEO nel blocco «Cosa c'è di nuovo»   sess.73 · 08/09/2026
   agente GALILEO-MARKETING (REGIA-3)
   ----------------------------------------------------------------------------
   ⛔ DIETRO BANDIERA. Ogni regola di questo file è ancorata a
   `.hm-new[data-galileo-video]`, e quell'attributo lo mette SOLO
   `assets/js/modules/home-galileo-video.js` quando `GALILEO_PUBLIC` è `true`.
   Con la bandiera spenta questo foglio non ha un solo selettore che combaci:
   il blocco `.hm-new` resta esattamente quello di prima, testo a piena riga.

   ⭐ NON è un terzo blocco Galileo. Il loop entra come MEDIA del teaser che in
   home esisteva già senza immagine («Galileo — SoftNel», sezione 6): la
   sezione aveva il testo e non aveva la faccia. Niente markup nuovo nel
   documento, niente stringhe nuove — il video è decorativo (`aria-hidden`) e
   il significato continua a stare nel paragrafo tradotto che gli sta sotto.

   Il montaggio è SOPRA il testo e a tutta larghezza (max 1040), non in colonna
   a fianco: nel frame il proiettore sta al centro-destra su un fondo nero
   larghissimo, e un ritaglio in colonna stretta lo taglierebbe o lo
   spingerebbe fuori asse. Il nero non si nasconde: si incornicia.
   ========================================================================= */

/* La cornice — la si dà solo quando la bandiera è accesa, così anche il
   padding del blocco resta identico a prima quando è spenta. */
.hm-new[data-galileo-video] .hm-new__text { max-width: var(--misura); }

/* ⚠️ FUORI GRIGLIA, E VOLUTO. L'isola video sta di proposito PIU' STRETTA del
   contenitore (--page-max 1200): un video che non arriva ai bordi si legge come
   un inserto, uno che ci arriva si legge come uno sfondo. E' composizione, non
   una larghezza dimenticata — per questo non usa un token.
   ⛔ Da NON unificare col `min(1040px, 72vw)` di `home-bridge.css`: quello e' il
   FASCIO DI LUCE disegnato, non un contenitore. Stesso numero per caso. */
.hm-gv {
  margin: 0 auto clamp(20px, 2.4vw, 30px);
  max-width: 1040px;
}

.hm-gv__stage {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 16 / 9;
  /* Il fondo è nero anche in light: il render nasce dal nero e la cornice
     deve continuare il fotogramma, non contraddirlo. */
  background: #000;
  border: 1px solid var(--ds-c-accent-border);
}

/* Fallback per i browser senza `aspect-ratio` (Safari < 15): il vecchio
   padding-top. Non è ridondanza, è la cintura del 16/9. */
@supports not (aspect-ratio: 1 / 1) {
  .hm-gv__stage { height: 0; padding-top: 56.25%; }
}

.hm-gv__video,
.hm-gv__still {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
}

/* Il velo del brand: un filo caldo sul bordo alto, come sugli altri media
   della home. Decorativo puro, non intercetta il puntatore. */
.hm-gv__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(244, 181, 50, .22);
}

/* ── fascia app (<1100) ──────────────────────────────────────────────────── */
@media (max-width: 1099.98px) {
  .hm-gv { margin-bottom: 18px; }
  .hm-gv__stage { border-radius: 12px; }
}

/* ── wide (≥1850): il blocco ha più aria, il montaggio può respirare ─────── */
@media (min-width: 1850px) {
  .hm-gv { max-width: 1180px; }
}

/* ── chi ha chiesto meno movimento vede il fermo immagine ────────────────── */
@media (prefers-reduced-motion: reduce) {
  .hm-gv__video { display: none; }
}
