/* Rodapé Idealux. O seletor começa em footer.idealux-rodape para não estilizar a seção
 * Elementor que também leva a classe idealux-rodape como marcador da moldura. */

footer.idealux-rodape {
    --idealux-rodape-tinta: var(--ast-global-color-2, #1e293b);
    --idealux-rodape-texto: var(--ast-global-color-3, #334155);
    --idealux-rodape-azul: var(--ast-global-color-0, #046bd2);
    --idealux-rodape-destaque: var(--ast-global-color-4, #4899d4);
    --idealux-rodape-branco: #fff;
    --idealux-rodape-borda: var(--ast-global-color-7, #d1d5db);
    width: 100%;
    margin: 0;
    background: var(--idealux-rodape-tinta);
    color: var(--idealux-rodape-branco);
    font-family: inherit;
}
footer.idealux-rodape *, footer.idealux-rodape *::before, footer.idealux-rodape *::after { box-sizing: border-box; }
footer.idealux-rodape a, footer.idealux-rodape a:visited { color: var(--idealux-rodape-branco); text-decoration: none !important; }
footer.idealux-rodape a:hover { color: var(--idealux-rodape-destaque); }
footer.idealux-rodape :is(a, iframe):focus-visible { outline: 3px solid var(--idealux-rodape-destaque); outline-offset: 3px; }
.idealux-rodape__inner {
    display: grid;
    width: min(100% - 40px, 1140px);
    margin: 0 auto;
    padding: 36px 0 30px;
    grid-template-columns: .9fr 1.05fr 1.05fr;
    gap: 42px;
}
.idealux-rodape__col { min-width: 0; }
.idealux-rodape__contato { align-self: start; }
footer.idealux-rodape h2, footer.idealux-rodape h3 { margin: 0; color: var(--idealux-rodape-branco); font-family: inherit; text-transform: uppercase; }
footer.idealux-rodape h2 { padding-bottom: 10px; border-bottom: 2px solid var(--idealux-rodape-azul); font-size: 18px; line-height: 1.3; letter-spacing: .04em; }
footer.idealux-rodape h3 { margin-top: 16px; font-size: 16px; line-height: 1.3; letter-spacing: .04em; }
.idealux-rodape__col > p, .idealux-rodape__endereco { margin: 17px 0 0; color: var(--idealux-rodape-branco); font-size: 16px; font-style: normal; line-height: 1.5; overflow-wrap: anywhere; }
.idealux-rodape__endereco { margin-top: 12px; }
.idealux-rodape__col > p span { display: block; }
.idealux-rodape__contato > p { margin-top: 8px; }
.idealux-rodape__contato > a { display: flex; min-height: 48px; align-items: center; padding: 7px 0; font-size: 16px; overflow-wrap: anywhere; }
.idealux-rodape__icone { display: block; flex: 0 0 auto; width: 20px; height: 20px; }
footer.idealux-rodape .idealux-rodape__whatsapp { gap: 12px; min-height: 60px; margin-top: 12px; padding: 8px 12px; border: 1px solid #0b7745; border-radius: 10px; background: #0b7745; color: var(--idealux-rodape-branco); transition: background-color .18s ease, border-color .18s ease; }
footer.idealux-rodape .idealux-rodape__whatsapp:hover { border-color: #075d36; background: #075d36; color: var(--idealux-rodape-branco); }
.idealux-rodape__whatsapp .idealux-rodape__icone { width: 28px; height: 28px; }
.idealux-rodape__whatsapp-texto { min-width: 0; }
.idealux-rodape__whatsapp-texto strong { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; }
.idealux-rodape__whatsapp-texto > span { display: block; font-size: 16px; line-height: 1.4; }
.idealux-rodape__site { display: inline-flex; min-height: 48px; align-items: center; margin-top: 7px; color: var(--idealux-rodape-destaque) !important; font-size: 16px; }
.idealux-rodape__social { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.idealux-rodape__social a { display: flex; flex-direction: column; min-height: 48px; align-items: center; justify-content: center; gap: 4px; padding: 8px 4px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px; background: var(--idealux-rodape-texto); font-size: 16px; line-height: 1.35; transition: background-color .18s ease, border-color .18s ease; }
footer.idealux-rodape .idealux-rodape__social a:hover { border-color: var(--idealux-rodape-azul); background: var(--idealux-rodape-azul); color: var(--idealux-rodape-branco); }
.idealux-rodape__mapa { margin-top: 14px; overflow: hidden; border: 1px solid var(--idealux-rodape-borda); border-radius: 4px; background: var(--idealux-rodape-texto); aspect-ratio: 16 / 9; }
.idealux-rodape__mapa iframe { display: block; width: 100%; height: 100%; border: 0; }
.idealux-rodape__base { border-top: 1px solid var(--idealux-rodape-borda); }
.idealux-rodape__base p { width: min(100% - 40px, 1140px); margin: 0 auto; padding: 18px 0; color: var(--idealux-rodape-branco); font-size: 14px; line-height: 1.5; text-align: center; }

@media (min-width: 900px) {
    .idealux-rodape__col { display: flex; flex-direction: column; }
    .idealux-rodape__contato { align-self: stretch; }
    .idealux-rodape__social { margin-top: auto; padding-top: 12px; }
    .idealux-rodape__site { align-self: flex-start; }
    /* Os mapas preenchem a altura restante da coluna, até a base das redes sociais. */
    .idealux-rodape__mapa { position: relative; flex: 1; min-height: 160px; aspect-ratio: auto; }
    .idealux-rodape__mapa iframe { position: absolute; inset: 0; }
}

@media (max-width: 899px) {
    .idealux-rodape__inner { grid-template-columns: 1fr 1fr; }
    .idealux-rodape__contato { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
    .idealux-rodape__inner { width: min(100% - 32px, 1140px); padding: 28px 0; grid-template-columns: 1fr; gap: 28px; }
    .idealux-rodape__col { text-align: center; }
    .idealux-rodape__contato { grid-column: auto; }
    .idealux-rodape__contato > a { justify-content: center; }
    .idealux-rodape__social { width: min(100%, 300px); margin-inline: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .idealux-rodape__social a:nth-child(3):last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 4px); }
    .idealux-rodape__base p { width: min(100% - 32px, 1140px); padding-right: 72px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
    footer.idealux-rodape .idealux-rodape__whatsapp, .idealux-rodape__social a { transition: none; }
}
