:root {
  /* Colore di hover unico per tutti i link del sito.
     Cambiando questo valore cambia l'hover ovunque. */
  --hover-color: #ffd966;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

/* Sticky footer: il contenuto spinge il footer in fondo alla finestra anche
   sulle pagine corte, senza bisogno di riservare spazio con un margine fisso. */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

  body > .container {
    flex: 1 0 auto;
  }

a {
    color: #045072;
    text-decoration: none;
}

    a:hover,
    a:focus-visible {
        color: var(--hover-color);
    }

/* ---- Footer ---- */

.footer-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 20px;
}

.footer-copy {
    color: #e2ecf0;
    font-size: .9rem;
}

.footer-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 18px;
}

/* Link del footer. Il selettore e' volutamente "discendente" per avere
   specificita' (0,2,0): i link generati da asp-page e quelli scritti a mano
   ricevono attributi diversi dal build, e cosi' restano tutti dello stesso
   colore in ogni caso. */
.footer .link-footer {
    color: #f2f5e9;
    font-size: .9rem;
}

    .footer .link-footer:hover,
    .footer .link-footer:focus-visible {
        color: var(--hover-color) !important;
        text-decoration: underline;
    }

.footer-contacts {
    display: inline-flex;
    align-items: center;
    gap: 12px; /* distanza tra le icone */
}

.social-link {
    display: inline-flex;
    align-items: center; /* elimina problemi di baseline */
    color: #f2f5e9;
}

    .social-link svg {
        width: 20px;
        height: 20px;
        display: block;
        transition: transform .15s ease;
    }

    .social-link:hover,
    .social-link:focus-visible {
        color: var(--hover-color);
    }

        .social-link:hover svg,
        .social-link:focus-visible svg {
            transform: scale(1.12);
        }

@media (max-width: 575.98px) {
    /* Su mobile il footer va a capo e si centra invece di uscire dallo schermo */
    .footer-content {
        justify-content: center;
        text-align: center;
    }

    .footer-links {
        justify-content: center;
    }
}



