/* Full-screen loader overlay */
.loader-overlay{
  position:fixed;
  inset:0;
  background:rgba(255,255,255,0.96);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  transition:opacity 300ms ease, visibility 300ms ease;
}
.loader-overlay.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events: none;
}
.loader-content{ text-align:center; font-family: Inter, Roboto, sans-serif; color:#333 }
.loader-logo{ max-width:160px; width:30%; height:auto; display:block; margin:0 auto 0.5rem auto }
.spinner{
    border: 4px solid rgba(0,0,0,0.1);
    border-top-color: var(--accent);
    position:relative;
    width:90px; height:90px; border-radius:50%;
    animation:spin 1s linear infinite;
    margin:0 auto 0.5rem auto;
    display:flex;
    align-items:center;
    justify-content:center;
}
.spinner .icon{
  /* Counter-rotate l'icona per mantenerla fissa mentre lo spinner gira */
  animation: counter-spin 1s linear infinite;
}
.loader-text{ font-size:0.95rem; opacity:0.9 }

@keyframes spin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes counter-spin{ from{transform:rotate(0)} to{transform:rotate(-360deg)} }
