/* Definizione delle variabili globali */
:root {
    /* 🎨 Colori principali */
    --color-nero: #000000;
    --color-bianco: #ffffff;
    --color-dark: #333333;
    --color-rosso: #E30613;

    /* 🎨 Background */
    --bg-color-bianco: #fff;
    --bg-color-grigio: #f0f0f0; /* Grigio chiaro */
    --bg-color-grigio-antracite: #3b3a3a; /* Ancora più chiaro */

}

footer {
    background-color: var(--color-nero);
    color: var(--color-bianco);
    padding: 40px 10px;
    font-size: 15px;
    flex-grow: 1;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    padding: 20px 0;
}



.h3 {
    font-size: 20px;
}

.footer-logo img {
    max-width: 150px;
    margin-bottom: 15px;
}

.footer-logo,
.footer-menu,
.footer-contacts,
.footer-social {
    flex: 0 0 22%; /* larghezza fissa proporzionata */
    min-width: 200px;
    margin-bottom: 20px;
}


.footer-menu {
    flex-direction: column;
    align-items: center;
}

.footer-menu ul {
    padding-left: 0; /* Rimuove eventuale padding di default */
    list-style: none; /* Rimuove i pallini della lista */
    margin-left: 0; /* Allinea con gli h3 */
}

.footer-menu ul li {
    margin-left: 0; /* Elimina eventuale spazio aggiuntivo */
}

.footer-menu ul li a {
    display: block;
    padding: 12px 0; /* Aumenta l’area cliccabile */
    min-height: 48px; /* Rispetta lo standard touch target */
}

.footer-menu ul {
    list-style: none;
    padding: 0;
    color: var(--color-bianco);
    text-align: left;
}

.footer-contacts p, h3 {
    margin-bottom: 10px; /* Riduce lo spazio sotto i paragrafi */
}

.footer-social a, h3 {
    margin-top: 10px; /* Riduce lo spazio sopra la sezione social */
    padding: 5px;
}

.footer-menu a {
    color: var(--color-bianco);
    text-decoration: none;
    transition: color 0.3s;
    text-align: left;
    padding: 12px 0; /* Aggiunge più spazio verticale */
    min-width: 48px;
    min-height: 48px; /* Dimensioni minime touch */
    display: inline-block;
}

.footer-menu a:hover {
    color: var(--bg-color-button);
}

.footer-contacts a {
    color: var(--color-rosso);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-social a {
    color: var(--color-bianco);
    text-decoration: none;
    transition: color 0.3s;
}

.footer-contacts a:hover, .footer-social a:hover {
    color: var(--color-bianco);
}

/* Facebook */
.fa-facebook {
    color: white;
    transition: color 0.3s ease-in-out;
}
.fa-facebook:hover {
    color: #1877F2;
}

/* Instagram */
.fa-instagram {
    color: white;
    transition: color 0.3s ease-in-out;
}
.fa-instagram:hover {
    color: #E4405F;
}

/* YouTube */
.fa-youtube {
    color: white;
    transition: color 0.3s ease-in-out;
}
.fa-youtube:hover {
    color: #FF0000;
}

/* LinkedIn */
.fa-linkedin {
    color: white;
    transition: color 0.3s ease-in-out;
}
.fa-linkedin:hover {
    color: #0077B5;
}

/* WhatsApp */
.fa-whatsapp {
    color: white;
    transition: color 0.3s ease-in-out;
}
.fa-whatsapp:hover {
    color: #25D366;
}

.footer-bottom {
    text-align: center;
    font-size: 14px;
    padding: 5px;
    color: #888;
    width: 100%;
    position: relative;
    bottom: 0;
}

@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        text-align: left;
    }

    .footer-logo {
        flex-direction: column;
        text-align: left;
    }

    .footer-menu {
        flex-direction: column;
        text-align: left;
        padding-left: 0;
    }

    .footer-social {
        justify-content: center;
        margin-top: 20px; /* Spazio sopra i social */
    }

    .footer-bottom {
        font-size: 10px;
        padding: 2px 8px;
        height: 35px;
    }

    .footer-text {
        margin-bottom: 20px; /* Spazio tra descrizione e contatti */
    }

    .footer-contacts {
        margin-bottom: 20px; /* Spazio tra contatti e social */
    }

    /* Touch target migliorati su mobile */
    .footer-menu ul li a {
        padding: 14px 0;
        min-height: 48px;
    }
}


#footerMenu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 auto;
    display: block;
    margin: 10px 0;
    color: var(--color-bianco);
    text-decoration: none;
    transition: color 0.3s;
    font-size: 20px;
}

/* Cookie Policy & Footer Links */
.footer-menu1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-menu1 .policy-links {
    display: flex;
    align-items: center;
    gap: 12px; /* Maggiore spazio tra i link */
}

.footer-menu1 .policy-links a {
    display: inline-block;
    white-space: nowrap;
    text-decoration: none;
    color: inherit;
    padding: 12px 0;
    min-height: 48px; /* Standard touch */
}

.footer-menu1 .policy-links a:hover {
    text-decoration: underline;
}



/*pulsante torna su */
/* Pulsante "Torna su" simile all'icona WhatsApp */
.scroll-top-btn {
    position: fixed;
    bottom: 80px; /* Posizionato sopra l'icona WhatsApp */
    right: 20px;
    width: 50px; /* Dimensione simile all'icona WhatsApp */
    height: 50px;
    background-color: var(--color-rosso); /* Colore simile per armonia */
    color: var(--color-bianco);
    border: none;
    border-radius: 50%; /* Forma circolare */
    font-size: 24px; /* Simbolo di freccia visibile */
    font-weight: bold;
    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Quando l'utente scorre verso il basso, il pulsante appare */
.scroll-top-btn.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Effetto hover */
.scroll-top-btn:hover {
    background-color: var(--bg-color-button);
}

@media screen and (max-width: 768px) {
    .scroll-top-btn {
        bottom: 80px; /* Aumenta la distanza dal fondo per evitare sovrapposizioni */
        right: 15px; /* Più vicino al bordo per un look pulito */
        width: 45px; /* Leggermente più piccolo per mobile */
        height: 45px;
        font-size: 20px; /* Adatta la dimensione della freccia */
    }

    /* Quando l'utente scorre, il pulsante appare */
    .scroll-top-btn.show {
        opacity: 1;
        visibility: visible;
    }

    /* Effetto hover */
    .scroll-top-btn:hover {
        background-color: var(--bg-color-button); /* Leggera variazione per feedback visivo */
    }
}

body:not(.single) .site-main *:not(footer):not(footer *) {
    margin-bottom: 0 !important;
}
