/**
 * ASOR — ottimizzazioni rendering (mobile, desktop, hardware vecchio e nuovo).
 */
@font-face {
  font-family: "FontAwesome";
  font-display: swap;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img,
video {
  max-width: 100%;
  height: auto;
}

/* Mobile: filtro grayscale sull'hero LCP è costoso — disattivato sotto la piega */
@media (max-width: 991px) {
  #acm-slideshow-89 .asor-hero-lcp.grayscale,
  #acm-slideshow-89 .img-bg img.grayscale {
    filter: none !important;
    -webkit-filter: none !important;
  }
}

/* Sezioni sotto la piega: il browser salta layout/paint finché non servono */
.t3-mainbody .blog,
.t3-mainbody .article-content,
.t3-mainbody .features,
.t3-mainbody .acm-features,
.t3-sidebar .module,
.t3-sidebar .t3-module,
#t3-footer .asor-footer-main,
.navhelper,
.asor-navhelper-cta-wrap {
  content-visibility: auto;
  contain-intrinsic-size: auto 320px;
}

/* Connessioni lente o risparmio dati: meno effetti costosi */
html.asor-save-data .grayscale,
html.asor-save-data img.grayscale {
  filter: none !important;
}

html.asor-save-data *,
html.asor-save-data *::before,
html.asor-save-data *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* PC molto datati: niente blur/backdrop pesanti */
@media (max-width: 991px), (hover: none) {
  .ja-megamenu,
  .off-canvas-toggle {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Evita repaint continuo su scroll (back-to-top) */
#toTop {
  will-change: opacity;
  contain: layout style paint;
}
