/* Correzioni di leggibilità e accessibilità — caricato dopo base.css su tutte le pagine */

/* Testo: il grigio originale (#8e9194, contrasto 3,2:1) non raggiungeva il minimo WCAG AA di 4,5:1 */
.t-text,
.t-wysiwyg ul,
.t-wysiwyg ol,
.c-Footer-foot-links,
.c-Navigation-text { color: #5f6266; }
.t-h5,
.t-wysiwyg h5 { color: #6b6e71; }

/* Sezioni su fondo scuro: testo chiaro */
.c-AboutStaff-inner .t-text { color: rgba(255, 255, 255, .75); }

/* Focus visibile per chi naviga da tastiera */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid #1d1d1b !important;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Rispetta la preferenza "riduci movimento" */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Bottone "torna su" */
.nv-totop {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 9999;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: #1d1d1b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.nv-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.nv-totop:hover { background: #3a3a37; }
.nv-totop svg { width: 20px; height: 20px; }
@media (max-width: 767px) {
  .nv-totop { right: 1rem; bottom: 1rem; width: 48px; height: 48px; }
}
