/*
 * Layering condiviso di FluidAuthBackground ("Northern Drift").
 * Ordine z-index obbligatorio: base -> canvas fluid -> overlay -> vignette -> contenuto.
 * Gli z-index numerici sono definiti qui soli (e rispecchiati in FluidAuthBackground.js Z_INDEX).
 */
.fluid-auth-bg {
  position: relative;
  isolation: isolate;
  /* MAI overflow:hidden qui: su form lunghi (mobile/landscape) bloccherebbe lo
     scroll dell'intera pagina o dell'overlay fixed, rendendo irraggiungibili i
     campi/pulsanti in fondo. Lo scroll resta governato dal contenitore reale
     (body in flusso normale, oppure l'overlay fixed via overflow-y qui sotto). */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.fluid-auth-bg__base,
.fluid-auth-bg__layer,
.fluid-auth-bg__overlay,
.fluid-auth-bg__vignette {
  position: absolute;
  inset: 0;
  /* Qui invece overflow:hidden è sicuro: sono layer assoluti a dimensione fissa,
     contengono canvas/gradiente (ed eventuale bleeding del blur) senza mai
     dover scrollare. */
  overflow: hidden;
}

.fluid-auth-bg__base {
  background: #050d1a; /* coerente con FLUID_PALETTE.deep */
}

.fluid-auth-bg__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  filter: blur(5px) saturate(1.05); /* sfumato ma definito: le correnti restano riconoscibili come forme */
}

.fluid-auth-bg__vignette {
  pointer-events: none;
  background: radial-gradient(120% 100% at 50% 50%, transparent 45%, rgba(2, 6, 14, 0.40) 100%);
}

.fluid-auth-bg__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}

.fluid-auth-bg__content--auth {
  /* contentMaxWidth applicato inline dal componente: card centrale leggibile (440-520px) */
}

.fluid-auth-bg__content--hero {
  max-width: none;
  align-items: stretch;
  text-align: left;
}

.fluid-auth-bg__content--rounded > * {
  border-radius: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .fluid-auth-bg__canvas { animation: none !important; }
}
