/* Ultimo layer: vince su componenti e sezioni senza bisogno di !important. */
@layer utilities {
  @media (min-width: 768px) {
    .u-mobile-only { display: none; }
  }
  @media (max-width: 767px) {
    .u-desktop-only { display: none; }
  }

  /* Parole tra *asterischi* nei campi testo (onlyhouse_base_accent_text()): il child decide il colore con --text-accent */
  .u-text-accent { color: var(--text-accent, var(--link)); }
  .u-text-muted { color: var(--text-muted); }

  .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
  }

  /* Movimento ridotto: nel layer più alto vince su componenti e sezioni senza !important */
  @media (prefers-reduced-motion: reduce) {
    html, * { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms; animation-iteration-count: 1; transition-duration: 0.01ms; }
  }
}
