
/* --- FOOTER FULL-WIDTH CON SOTTO-COLONNE A DESTRA --- */
footer {
    background: #021a32;
    color: #cbd5e0;
    padding: 80px 5% 40px 5%;
    width: 100%;
    box-sizing: border-box;
}

/* Griglia principale a 2 colonne stabili */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr 2.5fr; 
    gap: 60px;
    margin-bottom: 60px;
    width: 100%;
}

.footer-about h3 { color: white; margin-bottom: 20px; font-size: 22px; }
.footer-links h4 { color: white; margin-bottom: 25px; font-size: 16px; font-weight: 600; }

/* Contenitore macro di destra: Funzioni sopra, Sotto-colonne sotto */
.footer-right-column {
    display: flex;
    flex-direction: column;
    gap: 50px; /* Spazio verticale tra le funzioni e i blocchi Azienda/Supporto */
}

/* Lista delle funzioni su 3 colonne */
.footer-links ul.grid-funzioni {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 30px;
    list-style: none;
}

.footer-sub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px;
}
.footer-sub-grid .footer-links:nth-child(1) {
    grid-column: 1;
}

.footer-sub-grid .footer-links:nth-child(2) {
    grid-column: 2;
}

.footer-links ul { list-style: none; }
.footer-links ul li { margin-bottom: 12px; }
.footer-links ul.grid-funzioni li { margin-bottom: 0; }
.footer-links ul li a { color: #a0aec0; text-decoration: none; transition: color 0.2s; font-size: 15px; }
.footer-links ul li a:hover { color: white; }

.support-content p { margin-bottom: 8px; font-size: 15px; }

.footer-bottom {
    padding-top: 40px;
    border-top: 1px solid #1a365d;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

/* --- RESPONSIVE MOBILE & TABLET --- */
@media (max-width: 1024px) {
    .footer-links ul.grid-funzioni {
        grid-template-columns: repeat(2, 1fr); /* Diventa a 2 colonne su tablet */
    }
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .footer-links ul.grid-funzioni {
        grid-template-columns: 1fr;
    }
    .footer-sub-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    footer { text-align: center; }
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
    }
    .footer-bottom div { justify-content: center; }
}
/* --- RESPONSIVE MOBILE & TABLET --- */
@media (max-width: 1024px) {
    .footer-links ul.grid-funzioni {
        grid-template-columns: repeat(2, 1fr);
    }
    /* Su tablet le colonne diventano 2, quindi adattiamo anche la griglia sotto */
    .footer-sub-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-sub-grid .footer-links:nth-child(2) {
        grid-column: 2; /* Resta agganciato alla seconda colonna */
    }
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .footer-links ul.grid-funzioni, .footer-sub-grid {
        grid-template-columns: 1fr;
    }
    /* Reset delle colonne per il mobile: torna tutto in fila indiana */
    .footer-sub-grid .footer-links:nth-child(1),
    .footer-sub-grid .footer-links:nth-child(2) {
        grid-column: auto;
    }
    footer { text-align: center; }
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
    }
    .footer-bottom div { justify-content: center; }
}

