/* ══════════════════════════════════════════════
 FOOTER.CSS — Vaccinarsi
 Revisione: 2025/2026 Standards
 ══════════════════════════════════════════════ */

/* FIXED: usa variabile CSS --color-footer-bg definita in tokens.css */
.footer {
background-color: var(--color-footer-bg, #2D3E50);
color: var(--color-white);
}

/* ── Main ─────────────────────────────────── */

.footer__main {
padding: var(--space-16) 0 var(--space-12);
}

.footer__container {
max-width: 100%;
margin-inline: auto;
padding-inline: var(--space-6);
display: flex;
flex-direction: column;
gap: var(--space-12);
}

/* ── Nav row ──────────────────────────────── */

.footer__nav-row {
display: flex;
justify-content: flex-end;
}

.footer__nav-group {
display: flex;
gap: var(--space-48);
align-items: flex-start;
}

.footer__nav {
display: flex;
flex-direction: column;

align-items: flex-start;
text-align: left;
}

.footer__nav-link {
font-family: var(--font-primary);
font-size: var(--text-sm);
font-weight: var(--font-regular);
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
transition: color var(--transition-fast);
padding: var(--space-2) 0;
white-space: nowrap;
display: block;
}

.footer__nav-link:hover {
color: var(--color-celeste);
}

/* ── Info row ─────────────────────────────── */

.footer__info-row {
display: flex;
justify-content: flex-start;
}

.footer__col-left {
display: flex;
flex-direction: column;
gap: var(--space-6);
max-width: 60%;
}

.footer__logo img {
height: 48px;
width: auto;
display: block;
}

/* FIXED: era --leading-ight (typo) → corretto in --leading-tight */
.footer__disclaimer {
font-family: var(--font-primary);
font-size: var(--text-xs);
font-weight: var(--font-regular);
line-height: var(--leading-tight);
color: rgba(255, 255, 255, 0.5);
}

.footer__disclaimer a {
color: rgba(255, 255, 255, 0.7);
text-decoration: underline;
}

.footer__disclaimer a:hover {
color: var(--color-white);
}

/* ── Bottom ───────────────────────────────── */

.footer__bottom {
border-top: 1px solid rgba(255, 255, 255, 0.15);
padding: var(--space-6) 0;
}

.footer__bottom-inner {
max-width: 100%;
margin-inline: auto;
padding-inline: var(--space-6);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
}

.footer__copyright {
font-family: var(--font-primary);
font-size: var(--text-xs);
font-weight: var(--font-regular);
color: rgba(255, 255, 255, 0.6);
}

.footer__legal {
display: flex;
align-items: center;
gap: var(--space-6);
flex-wrap: wrap;
}

.footer__legal-link {
font-family: var(--font-primary);
font-size: var(--text-xs);
font-weight: var(--font-regular);
color: rgba(255, 255, 255, 0.6);
text-decoration: underline;
transition: color var(--transition-fast);
background: none;
border: none;
cursor: pointer;
padding: 0;
}

.footer__legal-link:hover {
color: var(--color-white);
}

/* ── Patrocinio ───────────────────────────── */

.footer__patrocinio {
background-color: var(--color-white);
padding: var(--space-10) 0;
border-top: 1px solid rgba(0, 73, 193, 0.10);
}

.footer__patrocinio-inner {
max-width: 100%;
margin-inline: auto;
padding-inline: var(--space-6);
}

.footer__patrocinio-title {
font-family: var(--font-primary);
font-size: var(--text-sm);
font-weight: var(--font-regular);
color: var(--color-text);
margin-bottom: var(--space-8);
}

.footer__patrocinio-logos {
display: flex;
align-items: center;
justify-content: flex-start;
gap: var(--space-16);
flex-wrap: wrap;
}

/* FIXED: supporto wrapper <div role="listitem"> per semantica corretta */
.footer__patrocinio-logos > [role="listitem"] {
display: flex;
align-items: center;
flex-shrink: 0;
}

.footer__patrocinio-logos img {
height: 64px;
width: auto;
object-fit: contain;
display: block;
}

/* ══════════════════════════════════════════════
 RESPONSIVE — solo strutturale
 Testi e spaziature gestiti da tokens.css
 ══════════════════════════════════════════════ */

@media (max-width: 1024px) {
.footer__nav-group {
  gap: var(--space-10);
}
}

@media (max-width: 768px) {
.footer__nav-row {
  justify-content: flex-start;
}

.footer__nav-group {
  gap: var(--space-8);
  flex-wrap: wrap;
}

.footer__col-left {
  max-width: none;
}

.footer__bottom-inner {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.footer__legal {
  gap: var(--space-4);
}

.footer__patrocinio-logos {
  gap: var(--space-8);
  justify-content: center;
}

.footer__patrocinio-logos img {
  height: 50px;
}
}

@media (max-width: 480px) {
.footer__nav-group {
  flex-direction: column;
  gap: var(--space-6);
}

.footer__patrocinio-logos {
  gap: var(--space-6);
}

.footer__patrocinio-logos img {
  height: 40px;
}
}