/* Estilo Geral do Footer */
footer {
    padding: 40px 64px;
    background-color: #F6F7FA;
    color: #555;
    text-align: center;
}

/* Contêiner Principal do Footer */
.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Logo do Footer */
.footer-logo img {
    max-width: 260px;
    /* Limita a largura máxima da imagem */
    height: auto;
    /* Mantém a proporção da imagem */
    margin: 40px;
    margin-bottom: 70px;
}

/* Menu de Links (Navegação) */
.footer-nav {
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
}

.footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 70px;
    /* Espaçamento entre os links */
}

.footer-nav ul li a {
    text-decoration: none;
    color: #858E96;
    font-size: 14px;
    transition: color 0.3s;
}

.footer-nav ul li a:hover {
    color: #d14747;
}

/* Linha Separadora */
.divider {
    border-bottom: 2px solid #E8E8E8;
    width: 100%;
    max-width: none;
    margin: 21px 0 10px 0;
    opacity: 0.5;
}

/* Informações do Footer */
.footer-info-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 0.4fr;
    text-align: left;
    gap: 40px;
    /* Espaçamento igual entre os elementos */
    margin-bottom: 60px;
    align-items: center;
}

.footer-info {
    margin-left: 0;
    /* Remove margem esquerda para usar gap do grid */
}

.footer-info p,
.footer-address p,
.footer-info-more p {
    margin: 0 0 5px;
    font-size: 16px;
    color: #ACB5BD;
}

/* Garante que endereço e contato comercial também não tenham margens extras */
.footer-address,
.footer-info-more {
    margin-left: 0;
    margin-right: 0;
}

.footer-info a,
.footer-info-more a {
    color: #ACB5BD;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
}

/* Estilo específico para o link "Expediente:" no parágrafo */
.footer-info p a {
    color: #e74c3c;
    text-decoration: underline !important;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.3s ease;
}

.footer-info p a:hover {
    color: #c0392b;
    text-decoration: underline !important;
}

.footer-info a:hover,
.footer-info-more a:hover {
    color: #d14747;
}

/* Redes Sociais */
.social-icons {
    display: flex;
    align-items: flex-start;
    /* Alinha no topo */
    gap: 15px;
    margin-right: 0;
    /* Remove margem direita para usar gap do grid */
}

.social-icons .social-icon {
    display: flex;
    /* Necessário para alinhamento do ícone */
    justify-content: center;
    /* Centraliza horizontalmente */
    align-items: center;
    /* Centraliza verticalmente */
    width: 35px;
    /* Largura do quadrado */
    height: 35px;
    /* Altura do quadrado */
    background-color: #E8EEF0;
    /* Fundo branco */
    border-radius: 8px;
    /* Arredonda os cantos do quadrado */
    font-size: 18px;
    /* Tamanho do ícone */
    color: #495057;
    /* Cor do ícone */
    transition: all 0.3s;
    /* Efeito de transição (hover) */
    cursor: pointer;
}

.social-icons .social-icon:hover {
    background-color: #d14747;
    /* Muda a cor de fundo no hover */
    border-color: #d14747;
    /* Muda a cor da borda no hover */
    color: #fff;
    /* Ícone fica branco no hover */
}

/* Direitos Autorais */
.footer-rights {
    font-size: 16px;
    color: #858E96;
    margin-top: 20px;
    font-weight: 600;
}

.footer-rights a {
    text-decoration: none;
    color: #e74c3c;
    text-decoration: underline !important;
}

.footer-rights a:hover {
    color: #c0392b;
    text-decoration: underline !important;
}

/* Responsividade */
/* Desktop: acima de 1024px (j? est? coberto pelo seu layout atual) */

/* Tablet: entre 769px e 1024px */
@media (max-width: 1024px) and (min-width: 769px) {
    .footer-container {
        padding: 0 15px;
    }

    .footer-logo img {
        max-width: 240px;
        margin: 25px auto 45px auto;
        display: block;
    }

    .footer-nav ul {
        gap: 30px;
        font-size: 15px;
    }

    .footer-info-container {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        text-align: center;
        margin-bottom: 20px;
    }

    .footer-info,
    .footer-address,
    .footer-info-more {
        margin: 0;
    }

    .social-icons {
        justify-content: center;
        margin: 0;
        /* Remove margem para usar gap do grid */
    }

    .footer-rights {
        font-size: 14px;
        margin-top: 10px;
        padding: 0 5px;
        word-break: break-word;
    }
}

/* Celular: até 768px */
@media (max-width: 768px) {
    .footer-container {
        padding: 0 5px;
    }

    .footer-logo img {
        max-width: 200px;
        margin: 20px auto 40px auto;
        display: block;
    }

    .footer-nav {
        margin-bottom: 10px;
    }

    .footer-nav ul {
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .footer-info-container {
        grid-template-columns: 1fr;
        gap: 20px;
        text-align: center;
        margin-bottom: 15px;
    }

    .footer-info,
    .footer-address,
    .footer-info-more {
        margin: 0;
    }

    .social-icons {
        justify-content: center;
        margin: 0;
        /* Remove margem para usar gap do grid */
    }

    .footer-rights {
        font-size: 13px;
        margin-top: 10px;
        padding: 0 5px;
        word-break: break-word;
    }
}