/* Estilos customizados para o footer */
/* Opacidade removida: os SVGs já têm fill-opacity nativo */

html, body {
    min-height: 100%;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
}

body.dark,
.dark body {
    background-color: #111827; /* aproximado de bg-gray-900 do Tailwind */
}

/* Animação de fade-in para o footer */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Sombra na parte superior do footer */
.site-footer {
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1), 0 -2px 4px -1px rgba(0, 0, 0, 0.06);
    margin-top: auto;
}

/* Sombra específica para o modo escuro */
.dark .site-footer {
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.2), 0 -2px 4px -1px rgba(0, 0, 0, 0.15);
}

/* Estilos adicionais para o footer */
.site-footer .container-custom > div {
    min-height: 100px;
}

.site-footer .footer__content {
    gap: 16px;
}

/* Círculo de fundo padronizado para os ícones sociais */
.site-footer .footer__social a {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: transparent !important;
    background-color: transparent !important;
}

html.dark .site-footer .footer__social a {
    background: transparent !important;
    background-color: transparent !important;
}

/* Normaliza aparência e tamanho dos ícones sociais no footer */
.site-footer .footer__social a img {
    width: 40px;
    height: 40px;
    display: block;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transition: filter 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.site-footer .footer__social a svg {
    width: 40px;
    height: 40px;
    display: block;
    filter: none;
    opacity: 1;
    transition: filter 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* Dark mode: inverte as cores dos ícones SVG (preto → branco) */
html.dark .site-footer .footer__social a svg {
    filter: invert(1);
    opacity: 1;
}

html.dark .site-footer .footer__social a img {
    filter: invert(1);
    opacity: 1;
}

/* Hover: aumenta levemente a opacidade para feedback visual */
.site-footer .footer__social a:hover img,
.site-footer .footer__social a:hover svg {
    opacity: 0.8;
}

.site-footer img {
    opacity: 0;
    transition: opacity 0.1s ease-in-out;
}

.site-footer img.loaded {
    opacity: 1;
}

/* Força o layout desde o início */
.site-footer .font-inter {
    visibility: hidden;
}

.site-footer.footer-loaded .font-inter {
    visibility: visible;
}

/* Respeitar usuários com redução de movimento ativada */
@media (prefers-reduced-motion: no-preference) {
    .site-footer {
        animation: fadeIn 0.3s ease-in-out;
    }
}

/* Larguras específicas (antes inline) para layout em telas grandes */
@media (min-width: 1024px) {
    .site-footer .footer__menu {
        flex: 0 0 200px;
    }
    .site-footer .footer__address {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Ajustes finos mobile: devolve respiro lateral sem alterar o layout desktop. */
@media (max-width: 1023px) {
    .container-custom,
    .site-main .max-w-\[1200px\] {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box;
    }
}

@media (min-width: 640px) and (max-width: 1023px) {
    .container-custom,
    .site-main .max-w-\[1200px\] {
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 639px) {
    .site-footer .container-custom {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

[vw].enabled {
    top: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    left: auto !important;
}
