/* Rodapé do site (modelo do ElementsKit/Elementor): a mesma estrutura — "Mapa do site", três colunas de links, mapa e
   endereço — com o visual do resto do site. Claro: cinza-claro; escuro: grafite. Só CSS: o modelo não muda. */
.ekit-template-content-footer, .elementor-location-footer {
    --rf-fundo: #f2f4f5; --rf-cartao: #ffffff; --rf-tinta: #16222c; --rf-suave: #5f6b75; --rf-linha: rgba(16, 34, 44, 0.1);
    --rf-agua: #0d8f84; --rf-coral: #e0705f;
    position: relative; margin-top: 56px; background: var(--rf-fundo); border-top: 1px solid var(--rf-linha); font-family: 'Inter', 'Segoe UI', Roboto, sans-serif;
}
html.ceclimar-dark-mode .ekit-template-content-footer, html.ceclimar-dark-mode .elementor-location-footer {
    --rf-fundo: #1a1a1a; --rf-cartao: #232323; --rf-tinta: #ececec; --rf-suave: #a3a3a3; --rf-linha: rgba(255, 255, 255, 0.08); --rf-agua: #3cc7b8;
}

/* as caixas do Elementor ficam transparentes: quem pinta é o rodapé */
.ekit-template-content-footer .e-con.e-parent, .elementor-location-footer .e-con.e-parent,
.ekit-template-content-footer .elementor-top-section, .elementor-location-footer .elementor-top-section { background: transparent !important; }
.ekit-template-content-footer .e-con.e-parent:first-child, .elementor-location-footer .e-con.e-parent:first-child { padding-top: 48px !important; padding-bottom: 6px !important; }
.ekit-template-content-footer .e-con.e-parent:nth-child(2), .elementor-location-footer .e-con.e-parent:nth-child(2) { padding-top: 14px !important; padding-bottom: 44px !important; }

/* título "Mapa do site" */
.ekit-template-content-footer .elementor-heading-title, .elementor-location-footer .elementor-heading-title {
    display: flex !important; align-items: center; gap: 12px; font: 700 clamp(1.35rem, 2.2vw, 1.7rem)/1.2 'Fraunces', Georgia, serif !important; color: var(--rf-tinta) !important; }
.ekit-template-content-footer .elementor-heading-title::before, .elementor-location-footer .elementor-heading-title::before {
    content: ''; flex: none; width: 10px; height: 10px; margin-right: 4px; border-radius: 50%; background: var(--rf-agua); box-shadow: 4px 0 0 var(--rf-coral); }

/* colunas: 3 de links + o cartão do mapa */
.ekit-template-content-footer .e-con.e-parent:nth-child(2) > .e-con-inner, .elementor-location-footer .e-con.e-parent:nth-child(2) > .e-con-inner {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(280px, 1.25fr); gap: 32px; align-items: start; }
.ekit-template-content-footer .e-con-inner > .e-con.e-child, .elementor-location-footer .e-con-inner > .e-con.e-child { width: auto !important; max-width: none !important; padding: 0 !important; }
.ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(-n+3), .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(-n+3) { display: block !important; }
/* títulos das colunas: um widget Título (Heading) no topo da coluna, no Elementor, ganha este estilo */
.ekit-template-content-footer .e-con-inner > .e-con.e-child .elementor-widget-heading, .elementor-location-footer .e-con-inner > .e-con.e-child .elementor-widget-heading { margin: 0 0 10px !important; }
.ekit-template-content-footer .e-con-inner > .e-con.e-child .elementor-heading-title, .elementor-location-footer .e-con-inner > .e-con.e-child .elementor-heading-title {
    display: block !important; padding-bottom: 10px; border-bottom: 1px solid var(--rf-linha);
    font: 800 0.7rem/1.4 'Inter', sans-serif !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rf-agua) !important; }
.ekit-template-content-footer .e-con-inner > .e-con.e-child .elementor-heading-title::before, .elementor-location-footer .e-con-inner > .e-con.e-child .elementor-heading-title::before { content: none !important; }

/* links com marcador; ao passar o mouse, coral e um passinho para o lado */
.ekit-template-content-footer .elementor-widget-text-editor p, .elementor-location-footer .elementor-widget-text-editor p { margin: 0 !important; line-height: 1.35; }
.ekit-template-content-footer .elementor-widget-text-editor a, .elementor-location-footer .elementor-widget-text-editor a {
    display: inline-flex; align-items: baseline; gap: 9px; padding: 5px 0; font-size: 0.9rem; font-weight: 500; text-decoration: none !important;
    color: var(--rf-suave) !important; transition: color 0.2s ease, transform 0.2s ease; }
.ekit-template-content-footer .elementor-widget-text-editor a::before, .elementor-location-footer .elementor-widget-text-editor a::before {
    content: ''; flex: none; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: 0.35; transform: translateY(-2px); transition: opacity 0.2s ease, background 0.2s ease; }
.ekit-template-content-footer .elementor-widget-text-editor a:hover, .elementor-location-footer .elementor-widget-text-editor a:hover { color: var(--rf-coral) !important; transform: translateX(3px); }
.ekit-template-content-footer .elementor-widget-text-editor a:hover::before, .elementor-location-footer .elementor-widget-text-editor a:hover::before { opacity: 1; }

/* cartão: mapa + endereço, telefone e e-mail com ícones */
.ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(4), .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(4) {
    gap: 0 !important; padding: 10px !important; border-radius: 22px; background: var(--rf-cartao); box-shadow: 0 1px 2px rgba(16, 34, 44, 0.05), 0 10px 28px rgba(16, 34, 44, 0.08); }
html.ceclimar-dark-mode .ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(4), html.ceclimar-dark-mode .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(4) { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06); }
.ekit-template-content-footer .elementor-widget-google_maps, .elementor-location-footer .elementor-widget-google_maps { width: 100%; margin: 0 !important; }
.ekit-template-content-footer .elementor-custom-embed iframe, .elementor-location-footer .elementor-custom-embed iframe {
    display: block; width: 100% !important; height: 190px !important; border: 0; border-radius: 14px; }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor, .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor {
    width: 100%; margin: 0 !important; padding: 12px 8px 4px; text-align: left !important; }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor p, .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor p {
    position: relative; padding: 5px 0 5px 28px; font-size: 0.86rem; line-height: 1.45; color: var(--rf-suave) !important; }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor p::before, .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor p::before {
    content: ''; position: absolute; left: 0; top: 6px; width: 17px; height: 17px; background: var(--rf-agua);
    -webkit-mask: var(--rf-ic) center / contain no-repeat; mask: var(--rf-ic) center / contain no-repeat; }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(1), .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(1) {
    --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(2), .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(2) {
    --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h3.5l1.5 4.5-2 1.5a12 12 0 0 0 7 7l1.5-2 4.5 1.5V19a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.ekit-template-content-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(3), .elementor-location-footer .e-child:nth-child(4) .elementor-widget-text-editor p:nth-child(3) {
    --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }

/* barra final: um 3º contêiner no modelo (ex.: "© CECLIMAR · UFRGS"), se existir, vira a barra de baixo */
.ekit-template-content-footer .e-con.e-parent:nth-child(n+3), .elementor-location-footer .e-con.e-parent:nth-child(n+3) {
    padding-top: 14px !important; padding-bottom: 14px !important; border-top: 1px solid var(--rf-linha); text-align: center; }
.ekit-template-content-footer .e-con.e-parent:nth-child(n+3) .elementor-widget-text-editor, .elementor-location-footer .e-con.e-parent:nth-child(n+3) .elementor-widget-text-editor,
.ekit-template-content-footer .e-con.e-parent:nth-child(n+3) .elementor-widget-text-editor p, .elementor-location-footer .e-con.e-parent:nth-child(n+3) .elementor-widget-text-editor p {
    width: 100%; margin: 0 !important; font-size: 0.8rem !important; color: var(--rf-suave) !important; text-align: center; }

@media (max-width: 1000px) {
    .ekit-template-content-footer .e-con.e-parent:nth-child(2) > .e-con-inner, .elementor-location-footer .e-con.e-parent:nth-child(2) > .e-con-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(4), .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(4) { grid-column: 1 / -1; flex-direction: row !important; align-items: center; }
    .ekit-template-content-footer .elementor-widget-google_maps, .elementor-location-footer .elementor-widget-google_maps { width: 55%; }
}
@media (max-width: 640px) {
    .ekit-template-content-footer .e-con.e-parent:nth-child(2) > .e-con-inner, .elementor-location-footer .e-con.e-parent:nth-child(2) > .e-con-inner { grid-template-columns: 1fr 1fr; gap: 26px 18px; }
    .ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(3), .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(3) { grid-column: 1 / -1; }
    .ekit-template-content-footer .e-con-inner > .e-con.e-child:nth-child(4), .elementor-location-footer .e-con-inner > .e-con.e-child:nth-child(4) { flex-direction: column !important; }
    .ekit-template-content-footer .elementor-widget-google_maps, .elementor-location-footer .elementor-widget-google_maps { width: 100%; }
}

/* rodapé desenhado pelo plugin a partir do menu "Rodapé" (Aparência → Menus): mesmo visual, colunas em qualquer número */
.cfp-rodape { display: block; }
.cfp-rodape .e-con.e-parent { display: block !important; width: 100% !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.cfp-rodape .e-con.e-parent:not(:nth-child(2)) > .e-con-inner { display: block !important; }
.cfp-rodape .e-con.e-parent > .e-con-inner { width: auto !important; max-width: min(1200px, 100% - 40px) !important; margin: 0 auto !important; padding: 0 !important; }
.cfp-rodape .e-con.e-parent:nth-child(2) > .e-con-inner { grid-template-columns: repeat(var(--cfp-cols, 3), minmax(0, 1fr)) minmax(280px, 1.25fr); }
.cfp-rodape .e-con-inner > .e-con.e-child:nth-child(4):not(.cfp-rodape-cartao) { padding: 0 !important; border-radius: 0; background: none; box-shadow: none; }
.cfp-rodape .e-con-inner > .e-con.e-child.cfp-rodape-cartao { display: flex !important; flex-direction: column; gap: 0 !important; padding: 10px !important; border-radius: 22px; background: var(--rf-cartao);
    box-shadow: 0 1px 2px rgba(16, 34, 44, 0.05), 0 10px 28px rgba(16, 34, 44, 0.08); }
.cfp-rodape .elementor-heading-title a { color: inherit !important; text-decoration: none !important; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor { width: 100%; margin: 0 !important; padding: 12px 8px 4px; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor p { position: relative; padding: 5px 0 5px 28px; font-size: 0.86rem; line-height: 1.45; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor a { display: inline; padding: 0; font-size: inherit; color: var(--rf-suave) !important; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor a::before { content: none; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor a:hover { transform: none; color: var(--rf-coral) !important; }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor p::before { content: ''; position: absolute; left: 0; top: 6px; width: 17px; height: 17px; background: var(--rf-agua);
    -webkit-mask: var(--rf-ic) center / contain no-repeat; mask: var(--rf-ic) center / contain no-repeat; }
@media (max-width: 1000px) {
    .cfp-rodape .e-con.e-parent:nth-child(2) > .e-con-inner { grid-template-columns: repeat(min(var(--cfp-cols, 3), 3), minmax(0, 1fr)); }
    .cfp-rodape .cfp-rodape-cartao { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    .cfp-rodape .e-con.e-parent:nth-child(2) > .e-con-inner { grid-template-columns: 1fr 1fr; }
}
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor p:nth-child(1) { --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor p:nth-child(2) { --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h3.5l1.5 4.5-2 1.5a12 12 0 0 0 7 7l1.5-2 4.5 1.5V19a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.cfp-rodape .cfp-rodape-cartao .elementor-widget-text-editor p:nth-child(3) { --rf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
