.elementor-kit-5{--e-global-color-primary:#10403F;--e-global-color-secondary:#2D605F;--e-global-color-text:#1C2B2B;--e-global-color-accent:#C9A24E;--e-global-color-idf_dourado_escuro:#A87B2E;--e-global-color-idf_dourado_claro:#F0D79A;--e-global-color-idf_creme:#F5EBE0;--e-global-color-idf_linha:#E2D6C8;--e-global-color-idf_branco:#FFFFFF;--e-global-typography-primary-font-family:"Libre Baskerville";--e-global-typography-primary-font-size:clamp(34px,5vw,54px);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Libre Baskerville";--e-global-typography-secondary-font-size:clamp(26px,3.4vw,40px);--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:-0.015em;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-size:clamp(17px,1.5vw,18px);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-letter-spacing:0.04em;--e-global-typography-idf_h2-font-family:"Libre Baskerville";--e-global-typography-idf_h2-font-size:clamp(24px,3.2vw,32px);--e-global-typography-idf_h2-font-weight:400;--e-global-typography-idf_h2-line-height:1.3em;--e-global-typography-idf_h2-letter-spacing:-0.01em;--e-global-typography-idf_h3-font-family:"Libre Baskerville";--e-global-typography-idf_h3-font-size:clamp(20px,2vw,24px);--e-global-typography-idf_h3-font-weight:400;--e-global-typography-idf_h3-line-height:1.35em;--e-global-typography-idf_h4-font-family:"Jost";--e-global-typography-idf_h4-font-size:20px;--e-global-typography-idf_h4-font-weight:500;--e-global-typography-idf_h4-line-height:1.4em;--e-global-typography-idf_rubrica-font-family:"Jost";--e-global-typography-idf_rubrica-font-size:12px;--e-global-typography-idf_rubrica-font-weight:500;--e-global-typography-idf_rubrica-text-transform:uppercase;--e-global-typography-idf_rubrica-line-height:1.4em;--e-global-typography-idf_rubrica-letter-spacing:0.18em;--e-global-typography-idf_corpo_grande-font-family:"Jost";--e-global-typography-idf_corpo_grande-font-size:clamp(18px,2vw,20px);--e-global-typography-idf_corpo_grande-font-weight:400;--e-global-typography-idf_corpo_grande-line-height:1.7em;--e-global-typography-idf_citacao-font-family:"Libre Baskerville";--e-global-typography-idf_citacao-font-size:clamp(22px,2.6vw,26px);--e-global-typography-idf_citacao-font-weight:400;--e-global-typography-idf_citacao-font-style:italic;--e-global-typography-idf_citacao-line-height:1.5em;--e-global-typography-idf_legenda-font-family:"Jost";--e-global-typography-idf_legenda-font-size:14px;--e-global-typography-idf_legenda-font-weight:400;--e-global-typography-idf_legenda-line-height:1.5em;background-color:var( --e-global-color-idf_creme );color:var( --e-global-color-text );font-family:"Jost", Sans-serif;font-size:clamp(17px,1.5vw,18px);font-weight:400;line-height:1.75em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;letter-spacing:0.04em;color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;padding:0px 32px 0px 32px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-idf_dourado_escuro );color:#10403F;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-primary );}.elementor-kit-5 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:"Libre Baskerville", Sans-serif;font-size:clamp(26px,3.4vw,40px);font-weight:400;line-height:1.25em;letter-spacing:-0.015em;}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:"Libre Baskerville", Sans-serif;font-size:clamp(24px,3.2vw,32px);font-weight:400;line-height:1.3em;letter-spacing:-0.01em;}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-family:"Libre Baskerville", Sans-serif;font-size:clamp(20px,2vw,24px);font-weight:400;line-height:1.35em;}.elementor-kit-5 h4{color:var( --e-global-color-primary );font-family:"Jost", Sans-serif;font-size:20px;font-weight:500;}.elementor-kit-5 img{border-radius:0px 0px 0px 0px;}.elementor-kit-5 label{color:#2D605F;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:"Jost", Sans-serif;font-size:16px;background-color:#FFFFFF;border-radius:2px 2px 2px 2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:480px){.elementor-kit-5{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:28px;--e-global-typography-text-font-size:17px;--e-global-typography-idf_h2-font-size:24px;--e-global-typography-idf_h3-font-size:20px;--e-global-typography-idf_h4-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===========================================================================
   Isabel da Fonseca — CSS custom
   Elementor → Site Settings → Custom CSS

   Só existe aqui o que o Elementor não cobre por widget. Tudo o resto
   (cores, tipografia, espaçamentos, bordas, radius) vem dos Global Settings
   e das definições de cada widget nos templates.

   Este ficheiro é gerado a partir de wordpress/build/build.mjs — se editares
   aqui, edita também lá, senão o próximo build sobrepõe.
   =========================================================================== */

/* --- 1. Ligações -----------------------------------------------------------
   Sublinhado dourado de 1px com offset de 3px (README). Botões ficam de fora. */
a:not(.elementor-button):not(.idf-sem-sublinhado) {
  color: #10403F;
  text-decoration-color: #C9A24E;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
/* Menus e rodapé não levam sublinhado — os filetes são desenhados à parte. */
.elementor-nav-menu a,
.idf-rodape a,
.idf-barra-topo a,
.idf-menu-mobile a {
  text-decoration: none;
}
a:not(.elementor-button):not(.idf-sem-sublinhado):hover {
  color: #2D605F;
  text-decoration-color: #A87B2E;
}
/* Ligações sobre fundo escuro */
.idf-banda-escura a:not(.elementor-button),
.idf-escuro a:not(.elementor-button) {
  color: #F0D79A;
  text-decoration-color: #C9A24E;
}
.idf-banda-escura a:not(.elementor-button):hover,
.idf-escuro a:not(.elementor-button):hover {
  color: #F5EBE0;
  text-decoration-color: #F0D79A;
}

/* --- 2. Foco visível -------------------------------------------------------
   Contorno 2px dourado escuro com offset 2px, em tudo o que é interativo. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible {
  outline: 2px solid #A87B2E;
  outline-offset: 2px;
}
/* Campos de formulário: foco dourado no filete, sem sombra */
.elementor-field-group .elementor-field:focus {
  border-color: #A87B2E;
  box-shadow: none;
}

/* --- 3. Movimento reduzido ------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* --- 4. Alvos de toque de 44px -------------------------------------------- */
@media (max-width: 1024px) {
  .elementor-button,
  .elementor-nav-menu a,
  .idf-terciario a,
  .idf-menu-mobile a,
  .elementor-field-type-submit button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .idf-rodape a,
  .idf-barra-topo a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* --- 5. Proporções de imagem ---------------------------------------------
   O Elementor não recorta por proporção; object-fit resolve sem plugin. */
.idf-img img { display: block; width: 100%; border-radius: 0; }
.idf-img-3-2 img  { aspect-ratio: 3 / 2;  object-fit: cover; }
.idf-img-4-5 img  { aspect-ratio: 4 / 5;  object-fit: cover; }
.idf-img-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.idf-img-21-9 img { aspect-ratio: 21 / 9; object-fit: cover; }
.idf-img-1-1 img  { aspect-ratio: 1 / 1;  object-fit: cover; }

/* --- 6. Grelhas fluidas ---------------------------------------------------
   Reproduz repeat(auto-fit, minmax(min(Xpx,100%), 1fr)) com flex-wrap.
   Nota: num container "boxed" o Elementor insere um .e-con-inner entre o
   container e os filhos, por isso o seletor tem de cobrir os dois casos. */
.idf-grelha > .e-con,
.idf-grelha > .e-child,
.idf-grelha > .e-con-inner > .e-con,
.idf-grelha > .e-con-inner > .e-child {
  flex: 1 1 min(var(--idf-min, 260px), 100%);
  min-width: 0;
}
.idf-grelha-2 { --idf-min: 340px; }
.idf-grelha-3 { --idf-min: 300px; }
.idf-grelha-4 { --idf-min: 260px; }

/* --- 7. Cartões -----------------------------------------------------------
   Sem sombra e sem hover-lift, por regra do sistema. */
.idf-cartao {
  overflow: hidden;
  box-shadow: none !important;
  transform: none !important;
}
.idf-cartao:hover { box-shadow: none !important; transform: none !important; }

/* --- 8. Padrões editoriais ------------------------------------------------ */
/* Número 01–06 das listas de sinais */
.idf-numero { width: 28px; flex-shrink: 0; }
.idf-numero p { margin: 0; }
/* Traço dourado de 24px do checklist "é para ti se" */
.idf-traco {
  display: block;
  width: 24px;
  height: 1px;
  background: #C9A24E;
  flex-shrink: 0;
  transform: translateY(-5px);
}
/* Etiquetas brancas do bloco "ruído" */
.idf-etiqueta {
  display: inline-block;
  border: 1px solid #E2D6C8;
  background: #FFFFFF;
  border-radius: 2px;
  padding: 10px 16px;
  font-family: Jost, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: #1C2B2B;
}
/* Etiqueta da tabela "Na prática" com largura fixa */
.idf-tabela-etiqueta { width: 130px; flex-shrink: 0; }
.idf-tabela-etiqueta p, .idf-tabela-valor p { margin: 0; }
.idf-tabela-valor { flex: 1; min-width: 200px; }
/* Descritores do hero separados por filete dourado vertical */
.idf-descritores { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(10px, 1.5vw, 16px); }
.idf-descritores span { font-family: Jost, sans-serif; font-size: clamp(14px, 1.3vw, 16px); font-weight: 500; color: #F5EBE0; }
.idf-descritores i { display: block; width: 1px; height: 16px; background: #C9A24E; }
/* Link terciário: filete dourado por baixo em vez de sublinhado */
.idf-link-terciario {
  text-decoration: none !important;
  border-bottom: 1px solid #C9A24E;
  padding: 10px 0 4px;
  display: inline-block;
}
.idf-link-terciario:hover { color: #2D605F !important; border-bottom-color: #A87B2E; }
.idf-terciario p { margin: 0; }

/* --- 9. Larguras de medida ------------------------------------------------
   Medida máxima de 68 caracteres no texto corrido (sistema de design §3). */
.idf-max-16 { max-width: 16ch; }
.idf-max-24 { max-width: 24ch; }
.idf-max-28 { max-width: 28ch; }
.idf-max-52 { max-width: 52ch; }
.idf-max-56 { max-width: 56ch; }
.idf-max-60 { max-width: 60ch; }
.idf-max-68 { max-width: 68ch; }
.idf-max-620 { max-width: 620px; }
.idf-max-720 { max-width: 720px; }
.idf-max-1000 { max-width: 1000px; }

/* --- 10. Cabeçalho -------------------------------------------------------- */
.idf-barra-topo { min-height: 40px; }
.idf-cabecalho { border-bottom: 1px solid #E2D6C8; }
/* Quando o cabeçalho quebra em duas linhas (tablet), o botão vai para a direita */
.idf-cabecalho-cta { margin-left: auto; }
/* Menu de escritório: filete dourado no hover */
.idf-menu-desktop .elementor-item {
  border-bottom: 1px solid transparent;
  padding: 6px 0;
  transition: border-color 0.15s, color 0.15s;
}
.idf-menu-desktop .elementor-item:hover,
.idf-menu-desktop .elementor-item.elementor-item-active {
  color: #2D605F;
  border-bottom-color: #C9A24E;
}
/* Painel full-screen verde-petróleo em <1024px */
.idf-menu-mobile .elementor-nav-menu--dropdown {
  background-color: #10403F;
}
.idf-menu-mobile .elementor-nav-menu--dropdown a {
  font-family: 'Libre Baskerville', serif;
  font-size: clamp(24px, 3.5vh, 28px);
  color: #F5EBE0;
  padding: 11px 24px;
}
.idf-menu-mobile .elementor-nav-menu--dropdown a:hover,
.idf-menu-mobile .elementor-nav-menu--dropdown a.elementor-item-active {
  background: transparent;
  color: #F0D79A;
}
/* Numeração 01–09 do painel mobile, gerada em CSS para não poluir o menu do WP */
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li {
  counter-increment: idf-menu;
}
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li > a::before {
  content: '0' counter(idf-menu);
  font-family: Jost, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: #C9A24E;
  width: 24px;
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle;
}
.idf-menu-mobile .elementor-nav-menu--dropdown > ul { counter-reset: idf-menu; }
/* Entrada do painel: fade + translação de 0.3s */
.idf-menu-mobile .elementor-nav-menu--dropdown.elementor-menu-toggle__active,
.idf-menu-mobile .elementor-menu-toggle__active + .elementor-nav-menu--dropdown {
  animation: idfMenuEntra 0.3s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li > a {
  animation: idfMenuItem 0.35s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(1) > a { animation-delay: 0.03s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(2) > a { animation-delay: 0.07s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(3) > a { animation-delay: 0.11s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(4) > a { animation-delay: 0.15s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(5) > a { animation-delay: 0.19s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(6) > a { animation-delay: 0.23s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(7) > a { animation-delay: 0.27s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(8) > a { animation-delay: 0.31s; }
.idf-menu-mobile .elementor-nav-menu--dropdown > ul > li:nth-child(9) > a { animation-delay: 0.35s; }
@keyframes idfMenuEntra { from { opacity: 0; } to { opacity: 1; } }
@keyframes idfMenuItem { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* --- 11. Formulários ------------------------------------------------------ */
.elementor-field-group .elementor-field {
  background: #FFFFFF;
  border: 1px solid #E2D6C8;
  border-radius: 2px;
  min-height: 52px;
  font-family: Jost, sans-serif;
  font-size: 16px;
  color: #1C2B2B;
  box-shadow: none;
}
.elementor-field-group textarea.elementor-field { min-height: 140px; }
.elementor-field-group > label {
  font-family: Jost, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2D605F;
  margin-bottom: 8px;
}
.elementor-field-type-acceptance .elementor-field-option label {
  font-size: 14px;
  line-height: 1.5;
}
.elementor-field-type-acceptance input[type='checkbox'] {
  width: 18px;
  height: 18px;
  accent-color: #C9A24E;
  margin-right: 12px;
}
.elementor-message-danger,
.elementor-field-group .elementor-field.elementor-error { border-color: #A03030; color: #A03030; }
/* Formulários sobre banda escura */
.idf-banda-escura .elementor-field-group > label,
.idf-banda-escura .elementor-field-type-acceptance .elementor-field-option label { color: #F5EBE0; }
.idf-banda-escura .elementor-field::placeholder { color: #2D605F; opacity: 0.75; }

/* --- 12. Rodapé -----------------------------------------------------------
   O rodapé é verde-petróleo, por isso o texto tem de ser claro. A regra
   genérica de ligações da secção 1 (`a:not(.elementor-button):not(...)`) tem
   especificidade 0,2,1 e ganhava a `.idf-lista-rodape a` (0,1,1), deixando os
   links a #10403F sobre fundo escuro — praticamente ilegíveis. Daí o scope
   por `.idf-rodape`. */
.idf-rodape a { text-decoration: none; }
.idf-rodape a:not(.elementor-button),
.idf-rodape .idf-lista-rodape a,
.idf-rodape .elementor-widget-text-editor a {
  color: #F5EBE0;
}
.idf-rodape a:not(.elementor-button):hover,
.idf-rodape .idf-lista-rodape a:hover {
  color: #F0D79A;
  text-decoration: none;
}
/* Títulos de coluna em rubrica dourada (sistema de design §7). */
.idf-rodape .idf-rubrica,
.idf-rodape .idf-rubrica .elementor-heading-title {
  color: #C9A24E;
}
/* Morada e outros textos sem ligação */
.idf-rodape .idf-lista-rodape span,
.idf-rodape .elementor-widget-text-editor {
  color: #F5EBE0;
}
.idf-rodape-legal { border-top: 1px solid rgba(226, 214, 200, 0.3); opacity: 0.8; }
.idf-rodape-legal,
.idf-rodape-legal p,
.idf-rodape-legal a { color: #F5EBE0; }

/* --- 13. Nada de sombras nem gradientes ----------------------------------- */
.e-con, .elementor-widget-container, .elementor-button { box-shadow: none; }

/* --- 14. Painel de menu full-screen em <1024px ---------------------------
   O CSS por elemento do Elementor (post-52.css) carrega depois desta folha e
   posiciona o painel em absolute com um `left` inline calculado, que o atira
   para fora do ecrã. Daí o !important na geometria.
   O estado é lido do aria-hidden que o Elementor alterna: sem isto o painel
   ficava a tapar a página mesmo fechado, porque o Elementor não usa display
   para o esconder — colapsa a altura. */
@media (max-width: 1024px) {
  .idf-menu-mobile .elementor-nav-menu--dropdown[aria-hidden='true'] {
    display: none !important;
  }
  .idf-menu-mobile .elementor-nav-menu--dropdown[aria-hidden='false'] {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 88px 24px 32px !important;
    z-index: 9999;
    background-color: #10403F !important;
  }
  /* O Elementor colapsa a altura dos itens para animar; aqui não animamos. */
  .idf-menu-mobile .elementor-nav-menu--dropdown[aria-hidden='false'] ul.elementor-nav-menu {
    display: block !important;
    height: auto !important;
  }
  .idf-menu-mobile .elementor-nav-menu--dropdown[aria-hidden='false'] li,
  .idf-menu-mobile .elementor-nav-menu--dropdown[aria-hidden='false'] li > a {
    height: auto !important;
    overflow: visible !important;
  }
  .idf-menu-mobile .elementor-menu-toggle {
    position: relative;
    z-index: 10000;
    min-height: 48px;
    min-width: 48px;
    border: 1px solid #10403F;
    border-radius: 2px;
    padding: 0 20px;
    color: #10403F;
  }
  .idf-menu-mobile .elementor-menu-toggle.elementor-active { color: #F5EBE0; border-color: #F5EBE0; }
}

/* --- 15. Listas de ligações do rodapé ------------------------------------ */
.idf-lista-rodape { list-style: none; margin: 0; padding: 0; }
.idf-lista-rodape li { margin: 0; }
.idf-lista-rodape a {
  display: inline-block;
  padding: 4px 0;
  font-family: Jost, sans-serif;
  font-size: 15px;
  color: #F5EBE0;
  text-decoration: none;
}
.idf-lista-rodape a:hover { color: #F0D79A; }

/* --- 16. Correções verificadas em produção (Elementor 4.2) ----------------
   Três coisas que o Elementor não entrega a partir de settings importadas.
   Confirmadas no site a 26/08/2026. */

/* 16a · Altura dos botões.
   O widget Button não tem controlo de altura e o padding vertical fica a 0,
   o que deixava os botões com 16px. O sistema pede 48–52px. */
.idf-botao .elementor-button,
.elementor-button-wrapper .elementor-button {
  min-height: clamp(48px, 4vw, 52px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* 16b · Véu verde do hero.
   Em containers o Elementor 4.x não imprime .elementor-background-overlay a
   partir de settings importadas, e o texto creme ficava ilegível sobre a
   paisagem. rgba(16,64,63,0.78) é o valor do protótipo. */
.idf-hero { position: relative; isolation: isolate; }
.idf-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(16, 64, 63, 0.78);
  z-index: 0;
  pointer-events: none;
}
.idf-hero > * { position: relative; z-index: 1; }
/* Se um dia o Elementor voltar a imprimir a sua própria sobreposição,
   desligar a nossa para não escurecer a dobrar. */
.idf-hero:has(> .elementor-background-overlay)::before { display: none; }

/* 16c · Alvos de toque nos botões de formulário */
.elementor-field-type-submit .elementor-button {
  min-height: clamp(48px, 4vw, 52px);
}

/* --- 17. Dois menus: escritório e painel mobile --------------------------
   O protótipo tem 6 entradas curtas no cabeçalho de escritório e 9 com o nome
   completo no painel mobile. Um menu do WordPress só tem um rótulo por item,
   por isso são dois menus e dois widgets, trocados aqui aos 1024px.
   A troca é feita em CSS e não pelos controlos responsivos do Elementor, que
   dependem dos breakpoints ativos no kit. */
@media (max-width: 1024px) {
  .idf-nav-desktop { display: none !important; }
}
@media (min-width: 1025px) {
  .idf-nav-mobile { display: none !important; }
}

/* --- 18. Ocultações temporárias de conteúdo pendente ----------------------
   O site está publicamente acessível, por isso nada de avisos [PENDENTE] à
   vista. Estas regras escondem os sítios que ficam vazios sem as respostas da
   Isabel (ver PENDENCIAS.md).

   APAGAR CADA REGRA à medida que a resposta chegar — a secção volta sozinha,
   nada foi eliminado dos templates.

   Pendência 2 · preços da Terapia */
#sessoes-e-valores { display: none !important; }

/* Pendência 4 · oferta para Empresas */
#oferta-empresas { display: none !important; }

/* Pendências 1, 3 e 5 · investimento do Método, valor do workshop, episódios.
   Aqui a secção continua a fazer sentido sem a linha em falta, por isso só se
   esconde o aviso (e, nos workshops, o bloco vazio de Investimento). */
.idf-pendente { display: none !important; }
.idf-bloco-pendente { display: none !important; }

/* Amelia publicado a 26/08/2026: o widget de marcação está visível.
   Os serviços são gratuitos por decisão da cliente até haver tabela de preços. */

/* --- 19. Amelia com a identidade da marca --------------------------------
   O Amelia traz azul #265CF2, cantos de 6px e a fonte Roboto. Nada disso
   pertence a este site. Aqui veste-se com a paleta, os 2px de raio e o Jost.
   Tudo com escopo em .amelia-v2-booking, para não afetar mais nada.

   O widget vive sobre a banda verde-petróleo da página Terapia, por isso
   ganha uma superfície creme — é o padrão do sistema: superfície clara sobre
   fundo escuro, com filete de 1px em vez de sombra. */
.idf-slot-amelia .amelia-v2-booking {
  background: #F5EBE0;
  border: 1px solid #E2D6C8;
  border-radius: 4px;
  padding: clamp(20px, 3vw, 32px);
}
.amelia-v2-booking,
.amelia-v2-booking * {
  font-family: Jost, sans-serif !important;
}
/* Títulos dos passos em Libre Baskerville */
.amelia-v2-booking .am-fs__title,
.amelia-v2-booking h1, .amelia-v2-booking h2,
.amelia-v2-booking h3, .amelia-v2-booking h4 {
  font-family: 'Libre Baskerville', serif !important;
  font-weight: 400 !important;
  color: #10403F !important;
}
/* Botões: dourado com texto verde-petróleo, radius 2px, sem sombra */
.amelia-v2-booking .am-button,
.amelia-v2-booking button:not(.am-fs__nav-back):not([class*='arrow']) {
  background-color: #C9A24E !important;
  border-color: #C9A24E !important;
  color: #10403F !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  min-height: 48px;
}
.amelia-v2-booking .am-button:hover,
.amelia-v2-booking button:not(.am-fs__nav-back):not([class*='arrow']):hover {
  background-color: #A87B2E !important;
  border-color: #A87B2E !important;
  color: #10403F !important;
}
/* Botão secundário / voltar: contorno em vez de preenchimento */
.amelia-v2-booking .am-button--text,
.amelia-v2-booking .am-fs__nav-back {
  background: transparent !important;
  color: #10403F !important;
  border: 1px solid #10403F !important;
  border-radius: 2px !important;
  min-height: 48px;
}
/* Campos: branco, filete 1px, radius 2px, foco dourado */
.amelia-v2-booking .el-input__inner,
.amelia-v2-booking .el-input__wrapper,
.amelia-v2-booking .el-textarea__inner,
.amelia-v2-booking input,
.amelia-v2-booking textarea {
  background-color: #FFFFFF !important;
  border-color: #E2D6C8 !important;
  border-radius: 2px !important;
  color: #1C2B2B !important;
  box-shadow: none !important;
}
.amelia-v2-booking .el-input__wrapper.is-focus,
.amelia-v2-booking .el-input__inner:focus,
.amelia-v2-booking input:focus,
.amelia-v2-booking textarea:focus {
  border-color: #A87B2E !important;
  box-shadow: 0 0 0 1px #A87B2E !important;
}
/* Acentos: tudo o que era azul passa a dourado escuro */
.amelia-v2-booking .am-fs__service-price,
.amelia-v2-booking a,
.amelia-v2-booking .el-select-dropdown__item.is-selected {
  color: #A87B2E !important;
}
/* Calendário: dia escolhido em verde-petróleo, disponível em dourado */
.amelia-v2-booking .am-fs__calendar .is-selected,
.amelia-v2-booking .el-date-table td.current:not(.disabled) .el-date-table-cell__text {
  background-color: #10403F !important;
  color: #F5EBE0 !important;
  border-radius: 2px !important;
}
.amelia-v2-booking .el-date-table td.available .el-date-table-cell__text:hover {
  background-color: #F0D79A !important;
  color: #10403F !important;
}
/* Cartões de serviço com o mesmo desenho dos cartões do site */
.amelia-v2-booking .am-fs__service-item,
.amelia-v2-booking .am-service-card {
  background: #FFFFFF !important;
  border: 1px solid #E2D6C8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
/* Nada de sombras difusas, em lado nenhum */
.amelia-v2-booking [class*='shadow'],
.amelia-v2-booking .el-popper {
  box-shadow: none !important;
  border: 1px solid #E2D6C8 !important;
}

/* --- 20. Capa dos episódios do podcast ------------------------------------
   O protótipo pede 160×160. A definição `width` do Elementor só vale em
   containers de largura total; num container "boxed" manda o boxed_width, e a
   capa esticava para 700px. Fixa-se aqui, que é onde não há ambiguidade. */
.idf-capa-episodio {
  width: 160px !important;
  flex: 0 0 160px !important;
  max-width: 160px;
}
@media (max-width: 480px) {
  .idf-capa-episodio {
    width: 112px !important;
    flex: 0 0 112px !important;
  }
}

/* --- 21. Imagem da banda My Coplace na Home ------------------------------
   Protótipo: 220×140, sem encolher. Mesma razão de ser da capa do podcast —
   a definição `width` do Elementor não vale em containers "boxed". */
.idf-capa-mycoplace {
  width: 220px !important;
  flex: 0 0 220px !important;
}
.idf-capa-mycoplace img {
  height: 140px;
  object-fit: cover;
  width: 100%;
  display: block;
}
@media (max-width: 480px) {
  .idf-capa-mycoplace {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .idf-capa-mycoplace img { height: 180px; }
}

/* Banda My Coplace: imagem à esquerda, texto ao lado, link à direita.
   Os containers do Elementor entram na linha com width:100% e empurravam
   tudo para baixo — daí o flex explícito no bloco de texto. */
.idf-texto-mycoplace {
  flex: 1 1 260px !important;
  min-width: 0;
  width: auto !important;
}
@media (max-width: 767px) {
  .idf-texto-mycoplace { flex: 1 1 100% !important; }
}

/* --- 22. Menu de escritório centrado --------------------------------------
   O cabeçalho é space-between com quatro filhos (wordmark, menu, menu mobile,
   CTA). Sem isto o menu encosta-se ao wordmark em vez de ficar ao centro. */
.idf-cabecalho .idf-nav-desktop {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.idf-cabecalho .idf-nav-desktop .elementor-nav-menu {
  justify-content: center;
}
/* O formulário oculto do Amelia não deve ocupar espaço no cabeçalho. */
.idf-cabecalho .idf-amelia-modal {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* --- 23. Grelha de artigos do blogue (widget Posts) ----------------------
   O widget Posts não tem rubrica nem controlo de proporção de imagem. Aqui
   dá-se-lhe o desenho do cartão de artigo do protótipo: imagem 3:2, rubrica
   «Artigo» dourada, título em Libre Baskerville e link terciário. */
.idf-artigos .elementor-post {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.idf-artigos .elementor-post__thumbnail {
  padding-bottom: 0 !important;
  aspect-ratio: 3 / 2;
  border-radius: 0;
  overflow: hidden;
}
.idf-artigos .elementor-post__thumbnail img {
  position: static !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
}
.idf-artigos .elementor-post__text { padding: 16px 0 0; }
/* Rubrica «Artigo» por cima do título, como nos cartões desenhados */
.idf-artigos .elementor-post__title::before {
  content: 'Artigo';
  display: block;
  font-family: Jost, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #2D605F;
  margin-bottom: 8px;
}
.idf-artigos .elementor-post__title { margin: 0 0 8px; }
.idf-artigos .elementor-post__title a { text-decoration: none; }
.idf-artigos .elementor-post__excerpt p { margin: 0 0 12px; }
/* Link terciário: filete dourado, como no resto do site */
.idf-artigos .elementor-post__read-more {
  display: inline-block;
  text-decoration: none !important;
  border-bottom: 1px solid #C9A24E;
  padding: 10px 0 4px;
}
.idf-artigos .elementor-post__read-more:hover {
  color: #2D605F !important;
  border-bottom-color: #A87B2E;
}

/* --- 24. Artigo individual do blogue --------------------------------------
   Os artigos migrados do My Coplace usam o template do Hello Elementor, que
   não limita a medida: o texto corria a 1140px, muito acima dos 68 caracteres
   que o sistema de design pede. Aqui dá-se-lhe a coluna de leitura de 720px. */
.single-post .site-main,
.single-post .entry-content,
.single-post .page-content {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 4vw, 48px);
  padding-right: clamp(24px, 4vw, 48px);
  box-sizing: content-box;
}
.single-post .entry-title,
.single-post .page-header {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(24px, 4vw, 48px);
  padding-right: clamp(24px, 4vw, 48px);
  box-sizing: content-box;
}
.single-post .site-main { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(64px, 8vw, 112px); }

/* Ritmo vertical do texto corrido */
.single-post .entry-content p { margin: 0 0 1.4em; }
.single-post .entry-content h2 {
  font-family: 'Libre Baskerville', serif;
  font-weight: 400;
  font-size: clamp(24px, 3.2vw, 32px);
  line-height: 1.3;
  color: #10403F;
  margin: 2em 0 0.6em;
}
.single-post .entry-content h3 {
  font-family: 'Libre Baskerville', serif;
  font-weight: 400;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: #10403F;
  margin: 1.8em 0 0.5em;
}
/* Imagens dentro do artigo: retangulares, à largura da medida */
.single-post .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0;
  display: block;
  margin: 2em auto;
}
/* Citações no tom da marca */
.single-post .entry-content blockquote {
  border-left: 1px solid #C9A24E;
  margin: 2em 0;
  padding: 0 0 0 24px;
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 24px);
  line-height: 1.5;
  color: #10403F;
}
.single-post .entry-content ul,
.single-post .entry-content ol { margin: 0 0 1.4em; padding-left: 1.4em; }
.single-post .entry-content li { margin-bottom: 0.5em; }
/* Emojis herdados do site antigo não devem crescer como imagens */
.single-post .entry-content img.wp-smiley,
.single-post .entry-content img[src$='.svg'][width='16'] {
  display: inline;
  width: 1em;
  height: 1em;
  margin: 0 0.1em;
  vertical-align: -0.1em;
}/* End custom CSS */