/* Rodapé FA · mesmo modelo do header (estilo luz-petroleo)
   Redesenha o rodapé 20415 (footer-custom-20415) só por CSS, sem tocar no layout do tema.
   Moldura petróleo com malha de luz (laranja e azul-esverdeado), cantos de cima a 24 px e margem de 14 px como as secções da home;
   logótipo branco, títulos a laranja, listas claras com ícones laranja, filete fino e linha de direitos discreta.
   Par do header-fa.js (corrige as ligações antigas dos tratamentos e tira a cor branca forçada nos links). */

html body footer.footer_custom_20415 {
  position: relative; isolation: isolate; overflow: hidden;
  margin: 14px 14px 0 !important; border-radius: 24px 24px 0 0;
  background:
    radial-gradient(55% 70% at 92% 0%, rgba(245, 131, 32, 0.40), rgba(245, 131, 32, 0) 70%),
    radial-gradient(50% 70% at 2% 100%, rgba(70, 170, 195, 0.34), rgba(70, 170, 195, 0) 70%),
    radial-gradient(40% 45% at 50% 45%, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 70%),
    linear-gradient(165deg, #17323B 0%, #0E242B 100%) !important;
  color: rgba(255, 255, 255, 0.82);
}
html body footer.footer_custom_20415 .elementor-section,
html body footer.footer_custom_20415 .elementor-column-wrap,
html body footer.footer_custom_20415 .elementor-widget-wrap { background: transparent !important; }
html body footer.footer_custom_20415 .elementor-section > .elementor-container { max-width: 1240px; }

/* espaçadores do tema mais curtos */
html body footer.footer_custom_20415 .elementor-element-1f7d2601 { --spacer-size: 72px !important; }
html body footer.footer_custom_20415 .elementor-element-26f6abd,
html body footer.footer_custom_20415 .elementor-element-57555645 { --spacer-size: 18px !important; }

/* logótipo branco, como no header sobre o herói */
html body footer.footer_custom_20415 .elementor-element-c6a38ee img { filter: brightness(0) invert(1); height: 46px !important; width: auto !important; max-width: none; }

/* títulos das colunas */
html body footer.footer_custom_20415 .sc_item_title,
html body footer.footer_custom_20415 .sc_item_title .sc_item_title_text {
  margin: 0 0 16px !important; font: 600 14px/1.2 Roboto, system-ui, sans-serif !important; letter-spacing: 0.02em !important;
  text-transform: none !important; color: #F58320 !important;
}

/* moradas, telefones e horários */
html body footer.footer_custom_20415 .elementor-icon-list-item { padding-bottom: 12px !important; align-items: flex-start !important; }
html body footer.footer_custom_20415 .elementor-icon-list-icon { padding-top: 3px; }
html body footer.footer_custom_20415 .elementor-icon-list-icon i { color: #F58320 !important; font-size: 13px !important; }
html body footer.footer_custom_20415 .elementor-icon-list-text {
  color: rgba(255, 255, 255, 0.82) !important; font: 400 15px/1.55 Roboto, system-ui, sans-serif !important; transition: color 0.3s ease;
}
html body footer.footer_custom_20415 .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #F58320 !important; }

/* tratamentos: ligações claras com seta que entra ao passar o rato */
html body footer.footer_custom_20415 .custom_links_list { margin: 0; padding: 0; }
html body footer.footer_custom_20415 .custom_links_list_item { margin: 0 0 10px !important; padding: 0 !important; list-style: none; }
html body footer.footer_custom_20415 .custom_links_list_item_link {
  display: inline-flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, 0.82) !important; text-decoration: none !important;
  font: 400 15px/1.4 Roboto, system-ui, sans-serif !important; transition: color 0.3s ease, gap 0.45s cubic-bezier(0.32, 0.72, 0, 1);
}
html body footer.footer_custom_20415 .custom_links_list_item_link::after { content: "\2192"; color: #F58320; opacity: 0; transform: translateX(-6px); transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
html body footer.footer_custom_20415 .custom_links_list_item_link:hover { color: #FFFFFF !important; gap: 12px; }
html body footer.footer_custom_20415 .custom_links_list_item_link:hover::after { opacity: 1; transform: none; }

/* livro de reclamações: a imagem oficial é branca sobre transparente, por isso fica sem placa, só com um filete fino */
html body footer.footer_custom_20415 .elementor-element-9cf1b92 a { display: inline-flex; line-height: 0; padding: 10px 14px; background: transparent; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 12px; transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1), border-color 0.3s ease; }
html body footer.footer_custom_20415 .elementor-element-9cf1b92 img { display: block; width: 115px !important; height: auto !important; max-width: none; }
html body footer.footer_custom_20415 .elementor-element-9cf1b92 a:hover { border-color: #F58320; }
html body footer.footer_custom_20415 .elementor-element-9cf1b92 a:hover { transform: translateY(-3px); }

/* filete e direitos */
html body footer.footer_custom_20415 .elementor-divider-separator { border-color: rgba(255, 255, 255, 0.12) !important; border-top-width: 1px !important; }
html body footer.footer_custom_20415 .elementor-element-8b28baf,
html body footer.footer_custom_20415 .elementor-element-8b28baf p { color: rgba(255, 255, 255, 0.55) !important; font: 400 13px/1.6 Roboto, system-ui, sans-serif !important; }
html body footer.footer_custom_20415 .elementor-element-8b28baf a { color: rgba(255, 255, 255, 0.82) !important; text-decoration: none !important; border-bottom: 1px solid rgba(245, 131, 32, 0.6); }
html body footer.footer_custom_20415 .elementor-element-8b28baf a:hover { color: #F58320 !important; }

/* telemóvel: colunas empilhadas, espaço entre blocos */
@media (max-width: 1024px) {
  html body footer.footer_custom_20415 { margin: 10px 10px 0 !important; border-radius: 20px 20px 0 0; }
  html body footer.footer_custom_20415 .elementor-element-ec65f12 .elementor-column { margin-bottom: 26px; }
  html body footer.footer_custom_20415 .elementor-element-1f7d2601 { --spacer-size: 48px !important; }
  html body footer.footer_custom_20415 .elementor-element-c6a38ee img { height: 38px !important; }
}

/* ── Organização ─────────────────────────────────────────────────────────────────────────────────────
   Grelha: logótipo + frase + livro de reclamações | as duas clínicas lado a lado | tratamentos.
   Os espaçadores do tema entre blocos saem; o espaço passa a ser da grelha. */
html body footer.footer_custom_20415 .elementor-element-ec65f12 > .elementor-container {
  display: grid !important; grid-template-columns: 1.05fr 1.75fr 0.9fr; grid-template-rows: auto 1fr;
  column-gap: 56px; row-gap: 26px; align-items: start; padding: 0 24px;
}
html body footer.footer_custom_20415 .elementor-element-ec65f12 .elementor-column { width: auto !important; max-width: none !important; min-width: 0; margin-bottom: 0; }
html body footer.footer_custom_20415 .elementor-element-ec65f12 .elementor-element-populated,
html body footer.footer_custom_20415 .elementor-element-ec65f12 .elementor-widget-wrap { padding: 0 !important; }
html body footer.footer_custom_20415 .elementor-element-11832b9 { grid-column: 1; grid-row: 1; }
html body footer.footer_custom_20415 .elementor-element-ec1d58f { grid-column: 1; grid-row: 2; }
html body footer.footer_custom_20415 .elementor-element-a237f20 { grid-column: 2; grid-row: 1 / span 2; }
html body footer.footer_custom_20415 .elementor-element-df17be5 { grid-column: 3; grid-row: 1 / span 2; }
html body footer.footer_custom_20415 .elementor-element-a237f20 .elementor-widget-wrap {
  display: grid !important; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; grid-auto-flow: column; column-gap: 40px; align-content: start;
}
html body footer.footer_custom_20415 .elementor-element-3132817,
html body footer.footer_custom_20415 .elementor-element-7b981ad,
html body footer.footer_custom_20415 .elementor-element-e0814bd { display: none !important; }
html body footer.footer_custom_20415 .elementor-widget { margin-bottom: 0 !important; }
html body footer.footer_custom_20415 .elementor-element-ec1d58f .elementor-widget-container { text-align: left !important; }

/* frase por baixo do logótipo (criada pelo JS) */
.fh-ft-frase { margin: 18px 0 0; max-width: 300px; font: 300 17px/1.5 Roboto, system-ui, sans-serif; color: rgba(255, 255, 255, 0.78); }

/* títulos que passaram a ligação (clínicas, tratamentos) */
html body footer.footer_custom_20415 .sc_item_title a { color: inherit !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 8px; transition: color 0.3s ease, gap 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
html body footer.footer_custom_20415 .sc_item_title a::after { content: "\2192"; font-size: 13px; opacity: 0.7; }
html body footer.footer_custom_20415 .sc_item_title a:hover { color: #FFFFFF !important; gap: 12px; }

/* faixa de contacto em vidro no topo do rodapé (criada pelo JS; na home já há o bloco de fecho) */
.fh-ft-cta {
  position: relative; z-index: 1; box-sizing: border-box; width: calc(100% - 48px); max-width: 1240px; margin: 56px auto 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px;
  padding: 30px 36px; border-radius: 20px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 30px 70px -20px rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
}
.fh-ft-cta .fh-ft-titulo { font: 300 clamp(24px, 2.4vw, 30px)/1.15 Roboto, system-ui, sans-serif; letter-spacing: -0.6px; color: #FFFFFF; }
.fh-ft-cta .fh-ft-titulo b { font-weight: 900; color: #F58320; }
.fh-ft-cta .fh-ft-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; }
.fh-ft-cta .fh-ft-tel { display: inline-flex; flex-direction: column; gap: 4px; color: #FFFFFF !important; text-decoration: none !important; transition: color 0.3s ease; }
.fh-ft-cta .fh-ft-tel small { font: 400 12px/1 Roboto, system-ui, sans-serif; color: rgba(255, 255, 255, 0.65); }
.fh-ft-cta .fh-ft-tel strong { font: 600 18px/1 Roboto, system-ui, sans-serif; white-space: nowrap; }
.fh-ft-cta .fh-ft-tel:hover { color: #F58320 !important; }
.fh-ft-cta .fh-ft-marcar { display: inline-flex; align-items: center; gap: 12px; padding: 16px 24px; border-radius: 12px; background: #F58320; color: #17323B !important; text-decoration: none !important; font: 600 15px/1 Roboto, system-ui, sans-serif; transition: background-color 0.35s ease; }
.fh-ft-cta .fh-ft-marcar::after { content: "\2192"; font-size: 17px; transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
.fh-ft-cta .fh-ft-marcar:hover { background: #FFFFFF; }
.fh-ft-cta .fh-ft-marcar:hover::after { transform: translateX(5px); }
body.home .fh-ft-cta, body.page-id-24793 .fh-ft-cta { display: none; }

@media (max-width: 1024px) {
  html body footer.footer_custom_20415 .elementor-element-ec65f12 > .elementor-container { grid-template-columns: 1fr 1fr; grid-template-rows: none; row-gap: 34px; column-gap: 32px; }
  html body footer.footer_custom_20415 .elementor-element-11832b9 { grid-column: 1 / -1; grid-row: auto; }
  html body footer.footer_custom_20415 .elementor-element-a237f20 { grid-column: 1 / -1; grid-row: auto; }
  html body footer.footer_custom_20415 .elementor-element-df17be5 { grid-column: 1; grid-row: auto; }
  html body footer.footer_custom_20415 .elementor-element-ec1d58f { grid-column: 2; grid-row: auto; }
  .fh-ft-cta { width: calc(100% - 32px); margin-top: 40px; padding: 24px 22px; }
}
@media (max-width: 640px) {
  html body footer.footer_custom_20415 .elementor-element-ec65f12 > .elementor-container { grid-template-columns: 1fr; padding: 0 20px; }
  html body footer.footer_custom_20415 .elementor-element-df17be5,
  html body footer.footer_custom_20415 .elementor-element-ec1d58f { grid-column: 1; }
  html body footer.footer_custom_20415 .elementor-element-a237f20 .elementor-widget-wrap { grid-template-columns: 1fr; grid-auto-flow: row; row-gap: 6px; }
  .fh-ft-cta .fh-ft-marcar { width: 100%; justify-content: space-between; }
}

/* acertos finos: títulos colados às listas, seta alinhada, frase afastada do logótipo */
html body footer.footer_custom_20415 .elementor-widget-trx_sc_title,
html body footer.footer_custom_20415 .elementor-widget-trx_sc_title .elementor-widget-container,
html body footer.footer_custom_20415 .sc_title { margin: 0 !important; padding: 0 !important; }
html body footer.footer_custom_20415 .sc_item_title { line-height: 1.2 !important; margin: 0 0 14px !important; }
html body footer.footer_custom_20415 .sc_item_title a { line-height: 1.2; align-items: baseline; }
html body footer.footer_custom_20415 .sc_item_title a::after { line-height: 1; }
html body footer.footer_custom_20415 .sc_item_title .sc_item_title_text { display: inline !important; line-height: 1.2 !important; }
.fh-ft-frase { margin: 18px 0 0 !important; font-size: 16px !important; }
html body footer.footer_custom_20415 .elementor-widget-icon-list .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
html body footer.footer_custom_20415 .elementor-icon-list-items { margin: 0 !important; padding: 0 !important; }
