o suma aln@charset "UTF-8";

/* ==========================================================================
   ESCOLA GRACINHA - Custom Styles
   Tema filho: EscolaGracinha-child
   ========================================================================== */

/*
  ÍNDICE
  ------
  0. Design Tokens → assets/css/tokens.css
  2. Base & Reset
      2.1 Reset e tipografia base
      2.2 Scrollbar
      2.3 Scrollbar Firefox
      2.4 Custom Button (reutilizável: blue / terracota / amber)
  3. Header — Secondary Menu (utility)
      3.1 Layout
      3.2 Labels
          3.2.1 Chevron em "Acesso rápido"
      3.3 Redes sociais
      3.4 Menu acesso rápido
  4. Header — Primary Menu
      4.1 Layout e sticky
          4.1.1 Fixo no top quando o secondary some
      4.2 Logo
      4.3 Actions (feature menu + Busca + Menu)
      4.4 Search panel
      4.5 Menu nativo oculto
  5. Header — Smart Menu Overlay
      5.1 Shell / backdrop
      5.2 Lista primary
          5.2.1 Seta – indica submenu
      5.3 Painéis / submenu
  6. Footer
      6.1 Primary footer (colunas)
      6.2 Subtítulos e ícones
          6.2.1 Espaço entre Telefone / E-mail
      6.3 Menus (sempre visíveis)
      6.4 Textos de contato / endereço
      6.5 Secondary footer (logo + redes)
          6.5.1 Redes sociais e copyright
      6.6 Ações flutuantes (direita)
  7. Hero Banner (reutilizável)
      7.1 Tag (opcional) + título + subtítulo
      7.2 Variante blog (título + subtítulo + busca)
      7.3 Variante hero-image (logo + título)
  8. Simple Title Text (título + texto)
      8.1 Variante dark
      8.2 Variante creme
      8.3 Variante terracota
      8.4 Botão (usa .custom-button)
      8.5 Variante cards contact (Canais de Atendimento)
      8.6 Variante process (Processo de Ingresso / Bolsas)
      8.7 How to works / list-cards (etapas)
      8.8 How to works / list-check (checklist bolsas)
      8.9 Notice (informativo)
      8.10 Feature Text (subtitle + texto)
  9. Image Title Text (imagem + título + texto)
      9.1 Imagem
      9.2 Título (feature h2)
      9.3 Texto
      9.4 Destaque (feature h4)
  10. Video (reutilizável)
  11. CTA Text Button (dark)
  12. Banner Full (slider)
      12.1 Layout, altura e overlay
      12.2 Carregamento suave (is-ready)
          12.2.1 Eixo horizontal (logo + paginação)
      12.3 Conteúdo (badge, título, CTA)
      12.4 Controles / paginação
      12.5 Animação de texto (reveal)
  13. CTA Contact Us
      13.1 Layout
      13.2 Título
      13.3 Texto
      13.4 Botão (usa .custom-button)
      13.5 Variação dark
  14. Family Review (depoimentos)
      14.1 Cabeçalho
      14.2 Carrossel / depoimento
          14.2.1 Animação das partes (front-end)
      14.2b Variante projeto-mine
      14.3 Controles / paginação
  15. Text Feature
      15.1 Layout (grid)
      15.2 Headline (feature)
      15.3 Texto e subtítulo
      15.4 Botão (usa .custom-button)
      15.5 Variante cabeçalho + review (2 colunas)
      15.6 Variante dark
  16. Cards (diferenciais)
      16.1 Layout (grid)
      16.2 Card
      16.3 Tipografia
      16.4 Animação (surge)
      16.5 Variante text-card (ícones + cabeçalho)
      16.6 Variante equal (grid 2×2)
      16.7 Variante equal dark
      16.8 Variante life-project (Projeto de Vida)
  17. Cards with Buttons (níveis)
      17.1 Layout (colunas 1+3 | 2+4)
      17.2 Título (feature)
      17.3 Card
      17.4 Tipografia
      17.5 Botão (saiba mais)
      17.6 Animação (surge)
      17.7 Variante four-columns (4 cards na mesma linha)
  18. CTA Image Text
      18.1 Layout (imagem + fade)
      18.2 Título (feature)
      18.3 Texto
      18.4 Botão (usa .custom-button)
      18.5 Variante type2
  19. Students Review
      19.1 Cabeçalho
      19.2 Carrossel / cards
      19.3 Truncamento + veja mais
      19.4 Controles (setas)
      19.5 Modal
  20. Internal Top (páginas internas)
      20.1 Layout
      20.2 Cabeçalho (title + feature)
      20.3 Corpo em 2 colunas (review)
      20.4 Variante creme
      20.5 Variante dark
      20.6 Variante card-contact (Contatos)
  21. Text Image (imagem + texto)
      21.1 Layout
      21.2 Imagem
      21.3 Título (text-feature)
      21.4 Texto
      21.5 Botão (usa .custom-button)
      21.6 Variante dark
      21.7 Variantes terracota / amber / light (Bolsas)
      21.8 Variante review (raio imagem)
      21.9 Variante light + review (gradiente Miné)
  22. Text Image Full (texto + imagem full)
      22.1 Layout
      22.2 Título (text-feature)
      22.3 Texto
      22.4 Imagem full
      22.4b Item Contact (telefone / e-mail)
      22.5 Variante com formulário (imagem + form)
      22.6 Custom Form (CF7)
      22.6b Custom Form Script (Lummi nativo)
  23. Itens Contact
  24. Itens Contact Type 2
  25. Error 404
  26. List Image Text
      26.1 Layout
      26.2 Cabeçalho (.text)
      26.3 Itens (.item)
      26.4 Animação (imagens das laterais)
      26.5 Fechamento
  27. Text Simple
      27.1 Layout
      27.2 Título (feature)
      27.3 Texto
      27.4 Botão
  27b. Simple Text (text-feature + texto + tabela)
      27b.1 Título / subtítulo / texto
      27b.2 Caixa Inclui (period-block)
  27c. Period Split (imagem + texto + caixas Inclui)
      27c.1 Variante dark (texto + imagem, fundo azul-noite)
  28. CTA Contact Gallery
      28.1 Layout
      28.2 Galeria / carrossel
      28.3 Título e botão
  28b. Location (Nossa localização)
      28b.1 Cabeçalho
      28b.2 Cards (card-location)
      28b.3 Mapa (custom-map)
      28b.4 Horário / telefone
      28b.5 Bloco our-phone dark
  28c. Download (calendários)
      28c.1 Layout (grid 4 cards)
      28c.2 Card (imagem + título + botão)
  28d. Search Result (lista de cards)
  28e. Blog (Acontece no Gracinha)
      28e.1 Filtros de categoria
      28e.2 Destaque
      28e.3 Grade (últimas publicações)
      28e.4 Paginação
  28f. Post Hero (página do post)
      28f.1 Breadcrumb
      28f.2 Título + categoria
      28f.3 Meta (autor, data, leitura)
      28f.4 Imagem destacada
  28g. Post Content (artigo)
      28g.1 Texto e títulos
      28g.2 Imagem + legenda
      28g.3 Tags
      28g.4 Compartilhar
  28h. Veja também (posts relacionados)
  28i. Compare Table (tabela de períodos)
      28i.1 Título
      28i.2 Card / grid
      28i.3 Cabeçalho colorido
      28i.4 Células e ícones
  28j. Schedule Calendars (grades CPT eg_calendario)
      28j.1 Título do calendário
      28j.2 Card / grid (padrão compare-table)
      28j.3 Cabeçalho colorido
      28j.4 Células brancas + borda
  28k. Image Text Two Columns (imagem + 2 colunas)
      28k.1 Imagem full
      28k.2 Colunas (texto + content-feature)
  28l. Timeline (CPT eg_timeline — rolagem lateral)
      28l.1 Seção Divi .timeline
      28l.2 text-review
      28l.3 list-family
      28l.4 container-cards-download
  29. Responsivo
      29.1 ≤ 1280px
      29.2 ≤ 980px
      29.3 ≤ 768px
      29.4 ≤ 600px
      29.5 ≤ 480px
*/


/* ==========================================================================
   2. BASE & RESET
   ========================================================================== */

/* —— 2.1 Reset e tipografia base —— */

* {
  padding: 0;
  margin: 0;
}
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}
a,
button,
input[type="submit"] {
  outline: none !important;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
body {
  overflow-x: hidden;
  font-family: var(--font-family-manrope);
  color: var(--color-gray);
}
body.eg-smart-menu-open {
  overflow: hidden;
}

/* —— 2.2 Scrollbar —— */

::-webkit-scrollbar {
  width: var(--space-15);
  height: var(--space-15);
}
::-webkit-scrollbar-track {
  background: var(--color-white);
}
::-webkit-scrollbar-thumb {
  background: var(--color-soft-gray);
  border-radius: var(--border-radius-5);
  border: 2px solid var(--color-white);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-gray);
}

/* —— 2.3 Scrollbar Firefox —— */

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-soft-gray) var(--color-white);
}
.et-db .et-l .et_pb_row {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
}

/* —— 2.4 Custom Button (reutilizável) ——
   Uso no Divi: classes CSS extra do botão
   custom-button blue | terracota | amber | terracota-amber | coral-orange
   Aliases: azul = blue, ambar = amber
   Hover: blue → terracota | terracota → blue | amber → terracota | terracota-amber → amber | coral-orange → night-blue */

.et-db .et-l .et_pb_button.custom-button,
.et-db .et-l a.custom-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-10);
  margin: 0;
  padding: var(--space-10) 45px 12px var(--space-30) !important;
  border: 0;
  border-radius: var(--border-radius-50);
  background-color: var(--color-terracota);
  background-image: url(../images/icon-arrow-down-right.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) center;
  background-size: 16px;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-cream);
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transition:
    transform var(--transition-default),
    opacity var(--transition-default),
    background-color var(--transition-default),
    background-image var(--transition-default),
    color var(--transition-default);
}
.et-db .et-l .et_pb_button.custom-button:hover,
.et-db .et-l a.custom-button:hover {
  transform: scale(0.98);
  background-color: var(--color-night-blue) !important;
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream) !important;
}
.et-db .et-l .et_pb_button.custom-button::before,
.et-db .et-l .et_pb_button.custom-button::after,
.et-db .et-l a.custom-button::before,
.et-db .et-l a.custom-button::after {
  display: none !important;
  content: none !important;
}

.et-db .et-l .et_pb_button.custom-button.blue,
.et-db .et-l a.custom-button.blue {
  background-color: var(--color-night-blue);
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream);
}
.et-db .et-l .et_pb_button.custom-button.blue:hover,
.et-db .et-l a.custom-button.blue:hover {
  background-color: var(--color-terracota) !important;
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream) !important;
}

.et-db .et-l .et_pb_button.custom-button.terracota,
.et-db .et-l a.custom-button.terracota {
  background-color: var(--color-terracota);
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream);
}
.et-db .et-l .et_pb_button.custom-button.terracota:hover,
.et-db .et-l a.custom-button.terracota:hover {
  background-color: var(--color-night-blue) !important;
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream) !important;
}

.et-db .et-l .et_pb_button.custom-button.amber,
.et-db .et-l a.custom-button.amber {
  background-color: var(--color-amber);
  background-image: url(../images/icon-arrow-down-right-dark.svg);
  color: var(--color-night-blue);
}
.et-db .et-l .et_pb_button.custom-button.amber:hover,
.et-db .et-l a.custom-button.amber:hover {
  background-color: var(--color-terracota) !important;
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream) !important;
}

.et-db .et-l .et_pb_button.custom-button.terracota-amber,
.et-db .et-l a.custom-button.terracota-amber {
  background-color: var(--color-terracota);
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream);
}
.et-db .et-l .et_pb_button.custom-button.terracota-amber:hover,
.et-db .et-l a.custom-button.terracota-amber:hover {
  background-color: var(--color-amber) !important;
  background-image: url(../images/icon-arrow-down-right-dark.svg);
  color: var(--color-night-blue) !important;
}

.et-db .et-l .et_pb_button.custom-button.coral-orange,
.et-db .et-l a.custom-button.coral-orange {
  background-color: var(--color-coral-orange);
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream);
}
.et-db .et-l .et_pb_button.custom-button.coral-orange:hover,
.et-db .et-l a.custom-button.coral-orange:hover {
  background-color: var(--color-night-blue) !important;
  background-image: url(../images/icon-arrow-down-right.svg);
  color: var(--color-cream) !important;
}

/* ==========================================================================
   3. HEADER — SECONDARY MENU (utility)
   ========================================================================== */

/* —— 3.1 Layout —— */

.et-db .et-l .custom-section.secondary-menu {
  background-color: var(--color-night-blue);
  padding: 0;
  margin: 0;
  overflow: hidden;
  max-height: 56px;
  opacity: 1;
  transition:
    max-height var(--transition-default),
    opacity var(--transition-default),
    padding var(--transition-default);
  z-index: calc(var(--header-z-index) + 1);
}
.et-db .et-l .custom-section.secondary-menu.is-hidden {
  max-height: 0;
  opacity: 0;
  padding: 0;
  pointer-events: none;
}
.et-db .et-l .custom-section.secondary-menu .custom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  min-height: 54px;
  margin: 0 auto;
  padding: var(--space-10) var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.secondary-menu .custom-content .et_pb_column {
  width: auto !important;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.secondary-menu .custom-content .et_pb_column:first-child {
  margin-right: auto;
}
.et-db .et-l .custom-section.secondary-menu .custom-content .et_pb_column:last-child {
  margin-left: auto;
  justify-content: flex-end;
}

/* —— 3.2 Labels —— */

.et-db .et-l .custom-section.secondary-menu .subtitle-menu {
  margin: 0;
  padding: 0;
  width: auto;
}
.et-db .et-l .custom-section.secondary-menu .subtitle-menu .et_pb_text_inner,
.et-db .et-l .custom-section.secondary-menu .subtitle-menu .et_pb_text_inner p {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-light-blue);
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

/* —— 3.2.1 Chevron em "Acesso rápido" —— */

.et-db .et-l .custom-section.secondary-menu .et_pb_column:last-child .subtitle-menu .et_pb_text_inner p {
  display: inline-flex;
  align-items: center;
  gap: var(--space-5);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_column:last-child .subtitle-menu .et_pb_text_inner p::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url(../images/icon-right.svg) center / contain no-repeat;
  flex-shrink: 0;
  position: relative;
  right: -5px;
}

/* —— 3.3 Redes sociais —— */

.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: initial;
  flex-wrap: wrap;
  gap: var(--space-10);
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et_pb_social_icon {
  margin: 0;
  float: none;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et_pb_social_icon .icon {
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  border-radius: 50%;
  background-color: transparent !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px;
  transition: transform var(--transition-default), opacity var(--transition-default);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et_pb_social_icon .icon::before {
  display: none !important;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et_pb_social_icon .icon:hover {
  transform: scale(1.08);
  opacity: 0.9;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et-social-facebook .icon {
  background-image: url(../images/social-facebook.svg);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et-social-instagram .icon {
  background-image: url(../images/social-instagram.svg);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et-social-youtube .icon {
  background-image: url(../images/social-youtube.svg);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_social_media_follow .et-social-linkedin .icon {
  background-image: url(../images/social-linkedin.svg);
}

/* —— 3.4 Menu acesso rápido —— */

.et-db .et-l .custom-section.secondary-menu .et_pb_menu {
  margin: 0;
  padding: 0;
  width: auto;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et_pb_menu__wrap {
  justify-content: flex-end;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et_pb_menu__menu {
  display: flex !important;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et_mobile_nav_menu {
  display: none !important;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-20);
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu .menu-item {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu .menu-item a {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-white);
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  white-space: nowrap;
  transition: color var(--transition-default);
}
.et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu .menu-item a:hover {
  color: var(--color-cream);
  opacity: 1;
}

/* ==========================================================================
   4. HEADER — PRIMARY MENU
   ========================================================================== */

/* —— 4.1 Layout e sticky —— */

.et-db .et-l .custom-section.primary-menu {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: 100%;
  background-color: var(--color-white);
  padding: 0;
  margin: 0;
  z-index: var(--header-z-index);
  box-shadow: 0 1px 0 rgba(27, 58, 75, 0.06);
  transition: box-shadow var(--transition-default);
}

/* —— 4.1.1 Fixo no top quando o secondary some —— */

.et-db .et-l .custom-section.primary-menu.is-scrolled {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  box-shadow: 0 10px 30px -12px rgba(27, 58, 75, 0.18);
}
.admin-bar .et_pb_section.custom-section.primary-menu.is-scrolled,
.admin-bar .et-db .et-l .custom-section.primary-menu.is-scrolled {
  top: 32px;
}
#eg-primary-menu-spacer {
  display: block;
  width: 100%;
  height: 0;
  margin: 0;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}
.et-db .et-l .custom-section.primary-menu .custom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  min-height: 88px;
  margin: 0 auto;
  padding: var(--space-20) var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.primary-menu .custom-content .et_pb_column {
  width: auto !important;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-30);
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.primary-menu .custom-content .et_pb_column:first-child {
  margin-right: auto;
  padding-right: var(--space-15);
}
.et-db .et-l .custom-section.primary-menu .custom-content .et_pb_column:last-child {
  margin-left: auto;
  justify-content: flex-end;
}

/* —— 4.2 Logo ——
   Divi gera height:0 no módulo quando o SVG vem com width/height=0.
   Forçamos tamanho real e alinhamento vertical no header. */

.et-db .et-l .custom-section.primary-menu .et_pb_image {
  display: block;
  width: auto !important;
  max-width: 183px;
  height: auto !important;
  margin: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.primary-menu .et_pb_image a {
  display: block;
  width: auto !important;
  max-width: 183px;
  height: auto !important;
  line-height: 0;
}
.et-db .et-l .custom-section.primary-menu .et_pb_image .et_pb_image_wrap {
  display: block !important;
  width: auto !important;
  max-width: 183px;
  height: auto !important;
  line-height: 0;
}
.et-db .et-l .custom-section.primary-menu .et_pb_image img,
.et-db .et-l .custom-section.primary-menu .et_pb_image img[src*=".svg"] {
  display: block;
  width: 183px !important;
  max-width: 100%;
  height: auto !important;
}

/* —— 4.3 Actions (feature menu + Busca + Menu) —— */

.et-db .et-l .custom-section.primary-menu .custom-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-30);
  width: auto;
  max-width: none;
  margin-left: auto;
}
.et-db .et-l .custom-section.primary-menu .eg-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-30);
  margin-left: 0;
}
.et-db .et-l .custom-section.primary-menu .eg-header-actions .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
  line-height: 0;
}

/* Feature menu — botões pill (Projeto Miné / Agende uma visita) */
.et-db .et-l .custom-section.primary-menu .custom-feature-menu {
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et_pb_menu_inner_container,
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et_pb_menu__wrap,
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et_pb_menu__menu,
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu-nav {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
  list-style: none;
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li {
  display: block;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: var(--space-10) var(--space-20);
  border: 1.5px solid var(--color-terracota);
  border-radius: var(--border-radius-50);
  background-color: transparent;
  box-shadow: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-terracota);
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color var(--transition-default),
    color var(--transition-default),
    border-color var(--transition-default),
    transform var(--transition-default);
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li > a:hover,
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li.current-menu-item > a {
  background-color: var(--color-terracota);
  border-color: var(--color-terracota);
  color: var(--color-cream);
  transform: scale(0.98);
  opacity: 1;
}
.et-db .et-l .custom-section.primary-menu .custom-feature-menu .et_mobile_nav_menu {
  display: none;
}

/* Legado: botão Divi .button-feature (se ainda existir) */
.et-db .et-l .custom-section.primary-menu .button-feature {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 10px 22px !important;
  border: 1.5px solid var(--color-terracota) !important;
  border-radius: var(--border-radius-50) !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-terracota) !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    background-color var(--transition-default),
    color var(--transition-default),
    border-color var(--transition-default),
    transform var(--transition-default);
}
.et-db .et-l .custom-section.primary-menu .button-feature:hover {
  background-color: var(--color-terracota) !important;
  border-color: var(--color-terracota) !important;
  color: var(--color-cream) !important;
  transform: scale(0.98);
}
.et-db .et-l .custom-section.primary-menu .button-feature:after {
  display: none !important;
}
.eg-action-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-default), opacity var(--transition-default);
}
.eg-action-btn:hover {
  color: var(--color-amber);
  opacity: 1;
}
.eg-action-btn__icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}
.eg-search-toggle .eg-action-btn__icon {
  background-image: url(../images/icon-search.svg);
  transition: all var(--transition-default);

  &:hover {
    background-image: url(../images/icon-search-hover.svg);
  }
}
.eg-action-btn.eg-search-toggle:hover .eg-action-btn__icon{
  background-image: url(../images/icon-search-hover.svg);
}
.eg-menu-toggle .eg-action-btn__icon {
  background-image: url(../images/icon-menu.svg);
  transition: all var(--transition-default);

  &:hover {
    background-image: url(../images/icon-menu-hover.svg);
  }
}
.eg-action-btn.eg-menu-toggle:hover .eg-action-btn__icon{
  background-image: url(../images/icon-menu-hover.svg);
}

/* —— 4.4 Search panel —— */

.et-db .et-l .custom-section.primary-menu .custom-search {
  position: relative;
  margin: 0;
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
}
.et-db .et-l .custom-section.primary-menu .custom-search .et_pb_code_inner {
  position: static;
}
.et-db .et-l .custom-section.primary-menu .custom-search .searchform {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: min(360px, calc(100vw - 40px));
  padding: var(--space-15);
  background: var(--color-white);
  border: 0;
  border-radius: var(--border-radius-10);
  box-shadow: var(--shadow-card);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity var(--transition-default),
    visibility var(--transition-default),
    transform var(--transition-default);
  z-index: calc(var(--header-z-index) + 2);
}
.et-db .et-l .custom-section.primary-menu .custom-search.is-open .searchform {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.et-db .et-l .custom-section.primary-menu .custom-search .searchform > div {
  display: flex;
  align-items: center;
  gap: var(--space-10);
}
.et-db .et-l .custom-section.primary-menu .custom-search .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.et-db .et-l .custom-section.primary-menu .custom-search #s {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 var(--space-15);
  border: 1px solid var(--color-soft-gray);
  border-radius: var(--border-radius-10);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  color: var(--color-night-blue);
  background: var(--color-white);
}
.et-db .et-l .custom-section.primary-menu .custom-search #searchsubmit {
  height: 44px;
  padding: 0 var(--space-30);
  border: 0;
  border-radius: var(--border-radius-50);
  background: var(--color-night-blue);
  color: var(--color-cream);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  cursor: pointer;
  
  &:hover {
    background-color: var(--color-amber);
  }
}

/* —— 4.5 Menu principal oculto (só alimenta o smart menu) —— */

.et-db .et-l .custom-section.primary-menu .et_pb_menu:not(.custom-feature-menu) .et_pb_menu__menu,
.et-db .et-l .custom-section.primary-menu .et_pb_menu:not(.custom-feature-menu) .et_mobile_nav_menu {
  display: none !important;
}
.et-db .et-l .custom-section.primary-menu .et_pb_menu:not(.custom-feature-menu) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none;
}

/* ==========================================================================
   5. HEADER — SMART MENU OVERLAY
   ========================================================================== */

/* —— 5.1 Shell / backdrop —— */

.eg-smart-menu {
  position: fixed;
  inset: 0;
  z-index: calc(var(--header-z-index) + 20);
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.eg-smart-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.eg-smart-menu__backdrop {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 24, 30, 0.82) 0%, rgba(15, 24, 30, 0.94) 55%, rgba(10, 16, 20, 0.98) 100%),
    var(--color-night-blue);
}
.eg-smart-menu__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: var(--space-30) 0 var(--space-50);
  color: var(--color-white);
}
.eg-smart-menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-30);
  margin-bottom: var(--space-80);
  padding-top: var(--space-15);
}
.eg-smart-menu__logo {
  display: block;
  max-width: 183px;
  height: auto;
}
.eg-smart-menu__close {
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-white);
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;

  &:hover {
    color: var(--color-light-blue);
  }
}
.eg-smart-menu__close-icon {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: url(../images/icon-close.svg) center / 10px no-repeat;
  transition: all var(--transition-default);

  &:hover {
    background: url(../images/icon-close-hover.svg) center / 10px no-repeat;
    border: 1px solid var(--color-light-blue);
  }
}
.eg-smart-menu__body {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(280px, 1.1fr);
  gap: var(--space-80);
  align-items: start;
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-bottom: var(--space-50);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.eg-smart-menu__body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.eg-smart-menu__body::-webkit-scrollbar-track {
  background: transparent;
}
.eg-smart-menu__body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.eg-smart-menu__body::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.28);
  border: 2px solid transparent;
  background-clip: padding-box;
}
.eg-smart-menu {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.eg-smart-menu::-webkit-scrollbar {
  width: 8px;
}
.eg-smart-menu::-webkit-scrollbar-track {
  background: transparent;
}
.eg-smart-menu::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.16);
  border-radius: 999px;
}
.eg-smart-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.28);
}

/* —— 5.2 Lista primary —— */

.eg-smart-menu__primary {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.eg-smart-menu__primary-item > button,
.eg-smart-menu__primary-item > a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-15);
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: rgba(255, 255, 255, 0.42);
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-align: left;
  transition: color var(--transition-default);
}
.eg-smart-menu__primary-item.is-active > button,
.eg-smart-menu__primary-item.is-active > a,
.eg-smart-menu__primary-item > button:hover,
.eg-smart-menu__primary-item > a:hover {
  color: var(--color-white);
}
.eg-smart-menu__primary-item.is-active > button,
.eg-smart-menu__primary-item.is-active > a {
  text-decoration: underline;
  text-underline-offset: 10px;
  text-decoration-thickness: 1px;
}

/* —— 5.2.1 Seta – indica submenu —— */

.eg-smart-menu__caret {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background: url(../images/icon-right.svg) center / contain no-repeat;
  filter: brightness(0) invert(1);
  opacity: 0.45;
  transition: opacity var(--transition-default), transform var(--transition-default);
}
.eg-smart-menu__primary-item > button .eg-smart-menu__caret {
  width: 18px;
  height: 18px;
}
.eg-smart-menu__primary-item:hover > button .eg-smart-menu__caret,
.eg-smart-menu__primary-item.is-active > button .eg-smart-menu__caret {
  opacity: 1;
}
.eg-smart-menu__primary-item.is-active > button .eg-smart-menu__caret {
  transform: translateX(3px);
}

/* —— 5.3 Painéis / submenu —— */

.eg-smart-menu__panels {
  min-height: 1px;
  position: sticky;
  top: 0;
  align-self: start;
}
.eg-smart-menu__panel {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
  position: sticky;
  top: 0;
  max-height: 100%;
}
.eg-smart-menu__panel.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.eg-smart-menu__panel[hidden] {
  display: none !important;
}
.eg-smart-menu__panel-title {
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-decoration: none;
  margin: 0 0 var(--space-15);
}

.eg-smart-menu__panel-desc {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-light-blue);
  margin: 0 0 var(--space-50);
  max-width: 42ch;
}
.eg-smart-menu__panel-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.eg-smart-menu__panel-links a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-decoration: none;
  transition: color var(--transition-default), opacity var(--transition-default);
}
.eg-smart-menu__panel-links a:hover {
  color: var(--color-amber);
}
.eg-smart-menu__panel-links a.has-children .eg-smart-menu__caret {
  opacity: 0.7;
}
.eg-smart-menu__panel-links a.has-children:hover .eg-smart-menu__caret {
  opacity: 1;
  transform: translateX(3px);
}
.eg-smart-menu.is-open .eg-smart-menu__primary-item {
  animation: eg-smart-item-in 0.45s ease both;
}
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(1) { animation-delay: 0.05s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(2) { animation-delay: 0.1s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(3) { animation-delay: 0.15s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(4) { animation-delay: 0.2s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(5) { animation-delay: 0.25s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(6) { animation-delay: 0.3s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(7) { animation-delay: 0.35s; }
.eg-smart-menu.is-open .eg-smart-menu__primary-item:nth-child(8) { animation-delay: 0.4s; }

@keyframes eg-smart-item-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .eg-smart-menu,
  .eg-smart-menu__panel,
  .eg-smart-menu.is-open .eg-smart-menu__primary-item {
    animation: none !important;
    transition: none !important;
  }
}

/* —— 5.4 Smart menu desktop em telas menores / notebooks —— */
@media (min-width: 981px) and (max-height: 850px) {
  .eg-smart-menu__inner {
    padding: var(--space-20) 0 var(--space-30);
  }
  .eg-smart-menu__top {
    margin-bottom: var(--space-35);
    padding-top: 0;
  }
  .eg-smart-menu__body {
    gap: var(--space-50);
  }
  .eg-smart-menu__primary {
    gap: var(--space-15);
  }
  .eg-smart-menu__primary-item > button,
  .eg-smart-menu__primary-item > a {
    font-size: 32px;
  }
  .eg-smart-menu__panel-title {
    font-size: 26px;
    margin-bottom: var(--space-10);
  }
  .eg-smart-menu__panel-desc {
    margin-bottom: var(--space-30);
  }
  .eg-smart-menu__panel-links {
    gap: var(--space-15);
  }
}

@media (min-width: 981px) and (max-height: 720px) {
  .eg-smart-menu__top {
    margin-bottom: var(--space-20);
  }
  .eg-smart-menu__primary {
    gap: 12px;
  }
  .eg-smart-menu__primary-item > button,
  .eg-smart-menu__primary-item > a {
    font-size: 26px;
  }
  .eg-smart-menu__panel-desc {
    margin-bottom: var(--space-20);
    font-size: var(--font-size-small);
  }
  .eg-smart-menu__panel-links {
    gap: 12px;
  }
}

/* ==========================================================================
   6. FOOTER
   ========================================================================== */

.et-db .et-l .custom-section.footer {
  background-color: var(--color-night-blue);
  padding: var(--space-80) 0 var(--space-50);
}
.et-db .et-l .custom-section.footer .custom-content {
  width: 100%;
  max-width: var(--container-max-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0;
  padding-right: 0;
}

/* —— 6.1 Primary footer (colunas) —— */

.et-db .et-l .custom-section.footer .primary-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-50) var(--space-30);
  margin-bottom: 0 !important;
  padding-bottom: var(--space-50);
}
.et-db .et-l .custom-section.footer .primary-footer .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-10);
  margin: 0 !important;
  padding: 0;
}

/* —— 6.2 Subtítulos e ícones —— */

.et-db .et-l .custom-section.footer .subtitle {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.footer .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.footer .subtitle .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-amber);
}
.et-db .et-l .custom-section.footer .subtitle.icon .et_pb_text_inner p {
  line-height: normal;
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
}
.et-db .et-l .custom-section.footer .subtitle.icon .et_pb_text_inner p::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.et-db .et-l .custom-section.footer .subtitle.icon.phone .et_pb_text_inner p::before {
  background-image: url(../images/icon-phone.svg);
}
.et-db .et-l .custom-section.footer .subtitle.icon.mail .et_pb_text_inner p::before {
  background-image: url(../images/icon-mail.svg);
}
.et-db .et-l .custom-section.footer .subtitle.icon.address .et_pb_text_inner p::before {
  background-image: url(../images/icon-pin.svg);
}

/* —— 6.2.1 Espaço entre Telefone / E-mail —— */

.et-db .et-l .custom-section.footer .primary-footer .et_pb_column .subtitle.icon.mail {
  margin-top: var(--space-30) !important;
}

/* —— 6.3 Menus (sempre visíveis) —— */

.et-db .et-l .custom-section.footer .et_pb_menu {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et_pb_menu__wrap {
  display: flex !important;
  justify-content: flex-start;
  visibility: visible !important;
  opacity: 1 !important;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et_pb_menu__menu {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et_mobile_nav_menu {
  display: none !important;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et-menu {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
  list-style: none;
  visibility: visible !important;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et-menu .menu-item {
  display: block !important;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et-menu .menu-item a {
  display: inline-block;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-white);
  text-decoration: none;
  background: none;
}
.et-db .et-l .custom-section.footer .et_pb_menu .et-menu .menu-item a:hover {
  color: var(--color-amber);
  opacity: 1;
}

/* —— 6.4 Textos de contato / endereço —— */

.et-db .et-l .custom-section.footer .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.footer .text.contact {
  padding-left: 26px;
}
.et-db .et-l .custom-section.footer .text .et_pb_text_inner,
.et-db .et-l .custom-section.footer .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-white);
}
.et-db .et-l .custom-section.footer .primary-footer .text .et_pb_text_inner p + p {
  margin-top: var(--space-5);
}
.et-db .et-l .custom-section.footer .text .et_pb_text_inner a {
  color: var(--color-white);
  text-decoration: none;
}
.et-db .et-l .custom-section.footer .text .et_pb_text_inner a:hover {
  color: var(--color-amber);
}

/* —— 6.5 Secondary footer (logo | redes + copyright | selo) — Figma 288:457 —— */

.et-db .et-l .custom-section.footer .secondary-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-30);
  margin-top: 0 !important;
  padding-top: var(--space-50);
  border-top: 1px solid #1F292E;
}
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column {
  display: flex;
  flex-direction: column;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
}
/* Logo — esquerda */
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child {
  flex: 1 1 0;
  align-items: flex-start;
  min-width: 0;
  margin-right: auto !important;
}
/* Redes + copyright — alinhados à direita, ao lado do selo */
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:nth-child(2) {
  flex: 0 1 auto;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-20);
}
/* Selo Projeto Miné */
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:last-child {
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  margin-left: 0 !important;
}

/* —— 6.5.0 Logo (SVG com width/height=0 no WP → evita colapso/overlap) —— */

.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child .et_pb_image {
  display: block;
  width: auto !important;
  max-width: 183px;
  max-height: 65px;
  height: auto !important;
  margin: 0 !important;
  line-height: 0;
  position: relative;
  z-index: 1;
}
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child .et_pb_image .et_pb_image_wrap {
  display: block !important;
  width: auto !important;
  max-width: 183px;
  height: auto !important;
  line-height: 0;
}
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child .et_pb_image img,
.et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child .et_pb_image img[src*=".svg"] {
  display: block;
  width: 183px !important;
  max-width: 100%;
  max-height: 65px;
  height: auto !important;
  object-fit: contain;
}

/* —— 6.5.1 Redes sociais —— */

.et-db .et-l .custom-section.footer .et_pb_social_media_follow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--space-10);
  margin: 0 !important;
  padding: 0;
  list-style: none;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_icon {
  margin: 0 !important;
  float: none;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_icon .icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  border-radius: 50%;
  background-color: transparent !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 34px;
  transition: transform var(--transition-default), opacity var(--transition-default);
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_icon .icon::before {
  display: none !important;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_media_follow_network_name {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_icon .icon:hover {
  transform: scale(1.08);
  opacity: 0.9;
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et-social-facebook .icon {
  background-image: url(../images/social-facebook.svg);
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et-social-instagram .icon {
  background-image: url(../images/social-instagram.svg);
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et-social-youtube .icon {
  background-image: url(../images/social-youtube.svg);
}
.et-db .et-l .custom-section.footer .et_pb_social_media_follow .et-social-linkedin .icon {
  background-image: url(../images/social-linkedin.svg);
}

/* —— 6.5.2 Copyright —— */

.et-db .et-l .custom-section.footer .secondary-footer .text {
  width: auto;
  max-width: 100%;
}
.et-db .et-l .custom-section.footer .secondary-footer .text .et_pb_text_inner,
.et-db .et-l .custom-section.footer .secondary-footer .text .et_pb_text_inner p {
  margin: 0;
  color: var(--color-light-blue);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-130);
  text-align: right;
}

/* —— 6.5.3 Selo Projeto Miné (imagem do WP) —— */

.et-db .et-l .custom-section.footer .secondary-footer .selo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 90px;
  max-width: 90px;
  height: auto;
  margin: 0;
  padding: var(--space-5);
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: var(--border-radius-10);
  line-height: 0;
}
.et-db .et-l .custom-section.footer .secondary-footer .selo > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.et-db .et-l .custom-section.footer .secondary-footer .selo .et_pb_image_wrap {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  line-height: 0;
}
.et-db .et-l .custom-section.footer .secondary-footer .selo img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

/* —— 6.6 Ações flutuantes (direita) —— */

.et-db .et-l .content-actions-right {
  --eg-actions-green: #25d366;
  --eg-actions-green-hover: rgba(0, 0, 0, 0.14);
  position: fixed !important;
  right: 20px;
  top: 50%;
  left: auto !important;
  bottom: auto !important;
  z-index: 9990;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  transform: translateY(-50%);
}
.et-db .et-l .content-actions-right > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  float: none;
  background-color: var(--eg-actions-green) !important;
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(27, 58, 75, 0.22);
  box-sizing: border-box;
}
.et-db .et-l .content-actions-right .et_pb_button_module_wrapper {
  position: relative;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .content-actions-right .button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 28px 28px !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px;
  overflow: visible !important;
  text-decoration: none !important;
  transition:
    background-color var(--transition-default),
    transform var(--transition-default);
}
.et-db .et-l .content-actions-right .button.whatsapp {
  background-image: url(../images/icon-whatsapp.svg) !important;
}

/* Botão padrão Crescer/Lumnitech: escondido quando o menu flutuante faz o proxy */
body > button.eg-lumnitech-whatsapp-btn.is-proxied {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  bottom: 0 !important;
  right: 0 !important;
  left: auto !important;
  z-index: -1 !important;
}
.et-db .et-l .content-actions-right .button.family {
  background-image: url(../images/icon-people-chat.svg) !important;
}
.et-db .et-l .content-actions-right .button.work {
  background-image: url(../images/icon-clipboard-chat.svg) !important;
}
.et-db .et-l .content-actions-right .button:hover,
.et-db .et-l .content-actions-right .button:focus-visible {
  background-color: var(--eg-actions-green-hover) !important;
  color: transparent !important;
  transform: none;
}
.et-db .et-l .content-actions-right .button:after,
.et-db .et-l .content-actions-right .button:before {
  content: none !important;
  display: none !important;
}

/* Tooltip real (evita fonte de ícones do Divi nos ::before) */
.et-db .et-l .content-actions-right .eg-action-tooltip {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  padding: 10px 14px;
  border-radius: 8px;
  background-color: var(--color-night-blue);
  color: var(--color-white) !important;
  font-family: var(--font-family-manrope) !important;
  font-size: var(--font-size-small) !important;
  font-weight: var(--font-weight-semibold) !important;
  font-style: normal !important;
  line-height: var(--line-height-120) !important;
  letter-spacing: 0 !important;
  text-indent: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(27, 58, 75, 0.18);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity var(--transition-default),
    visibility var(--transition-default),
    transform var(--transition-default);
  z-index: 3;
}
.et-db .et-l .content-actions-right .eg-action-tooltip::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 100%;
  top: 50%;
  width: 0;
  height: 0;
  margin-top: -6px;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent var(--color-night-blue);
}
.et-db .et-l .content-actions-right .et_pb_button_module_wrapper:hover .eg-action-tooltip,
.et-db .et-l .content-actions-right .et_pb_button_module_wrapper:focus-within .eg-action-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

@media screen and (max-width: 768px) {
  .et-db .et-l .content-actions-right {
    top: auto !important;
    right: auto !important;
    bottom: 16px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  .et-db .et-l .content-actions-right > .et_pb_column {
    flex-direction: row;
    padding: 6px 8px !important;
    gap: 2px;
  }
  .et-db .et-l .content-actions-right .button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    background-size: 24px 24px !important;
  }
  .et-db .et-l .content-actions-right .eg-action-tooltip {
    right: auto;
    left: 50%;
    top: auto;
    bottom: calc(100% + 12px);
    transform: translateX(-50%) translateY(6px);
  }
  .et-db .et-l .content-actions-right .eg-action-tooltip::after {
    left: 50%;
    top: 100%;
    right: auto;
    margin-top: 0;
    margin-left: -6px;
    border-width: 8px 6px 0 6px;
    border-color: var(--color-night-blue) transparent transparent transparent;
  }
  .et-db .et-l .content-actions-right .et_pb_button_module_wrapper:hover .eg-action-tooltip,
  .et-db .et-l .content-actions-right .et_pb_button_module_wrapper:focus-within .eg-action-tooltip {
    transform: translateX(-50%) translateY(0);
  }
}

/* Visual Builder: não fixar, só prévia */
body.et-fb .et-db .et-l .content-actions-right {
  position: relative !important;
  top: auto;
  right: auto;
  transform: none;
  margin: var(--space-20) auto !important;
}

/* ==========================================================================
   7. HERO BANNER (reutilizável)
   ========================================================================== */

.et-db .et-l .custom-section.hero-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 420px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: var(--color-night-blue);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.et-db .et-l .custom-section.hero-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(27, 58, 75, 0.53) 0%, #1B3A4B 100%);
}
.et-db .et-l .custom-section.hero-banner.gradient {
  background: linear-gradient(180deg, rgba(27, 58, 75, 0.53) 0%, #1B3A4B 100%);
}
.et-db .et-l .custom-section.hero-banner .custom-content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: var(--space-50) var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.hero-banner .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-20);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.hero-banner .tag {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner .tag .et_pb_text_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.hero-banner .tag .et_pb_text_inner p {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: var(--space-10) var(--space-20);
  border-radius: var(--border-radius-50);
  background-color: var(--color-amber);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  white-space: nowrap;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.hero-banner .title {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  background: transparent;
}
.et-db .et-l .custom-section.hero-banner .title .et_pb_title_container {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.hero-banner .title .entry-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-cream);
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner .title .et_pb_title_meta_container {
  display: none;
}
.et-db .et-l .custom-section.hero-banner .text,
.et-db .et-l .custom-section.hero-banner .subtitle {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner .text .et_pb_text_inner,
.et-db .et-l .custom-section.hero-banner .subtitle .et_pb_text_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.hero-banner .text .et_pb_text_inner p,
.et-db .et-l .custom-section.hero-banner .subtitle .et_pb_text_inner p,
.et-db .et-l .custom-section.hero-banner .text .et_pb_text_inner h2,
.et-db .et-l .custom-section.hero-banner .subtitle .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-cream);
  text-align: center;
}

/* —— 7.2 Variante blog —— */

.et-db .et-l .custom-section.hero-banner.blog {
  height: auto;
  min-height: 520px;
}
.et-db .et-l .custom-section.hero-banner.blog .custom-content {
  padding-top: var(--space-80);
  padding-bottom: var(--space-80);
}
.et-db .et-l .custom-section.hero-banner.blog .custom-content > .et_pb_column {
  gap: var(--space-30);
}
.et-db .et-l .custom-section.hero-banner.blog .title h1 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-cream);
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner.blog .subtitle {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner.blog .subtitle .et_pb_text_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.hero-banner.blog .subtitle h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-white);
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner.blog .custom-search {
  width: 100%;
  max-width: 560px;
  margin: var(--space-20) auto 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.hero-banner.blog .custom-search .et_pb_code_inner {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* —— 7.3 Variante hero-image (logo + título) —— */

.et-db .et-l .custom-section.hero-banner.hero-image {
  height: 500px;
  min-height: 500px;
}
.et-db .et-l .custom-section.hero-banner.hero-image .custom-content {
  height: 100%;
  padding: var(--space-50) var(--layout-content-pad-x);
}
.et-db .et-l .custom-section.hero-banner.hero-image .custom-content > .et_pb_column {
  gap: var(--space-30);
  height: 100%;
}
.et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image {
  width: 188px;
  max-width: 188px;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image .et_pb_image_wrap {
  display: block;
  width: 188px;
  height: 188px;
  margin: 0 auto;
  overflow: hidden;
  line-height: 0;
}
.et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image img {
  display: block;
  width: 188px;
  height: 188px;
  max-width: 100%;
  object-fit: contain;
}
.et-db .et-l .custom-section.hero-banner.hero-image .title {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  text-align: center;
}
.et-db .et-l .custom-section.hero-banner.hero-image .title .et_pb_text_inner,
.et-db .et-l .custom-section.hero-banner.hero-image .title .et_pb_text_inner h1,
.et-db .et-l .custom-section.hero-banner.hero-image .title .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-110);
  letter-spacing: -0.01em;
  color: var(--color-cream);
  text-align: center;
}

.eg-blog-search {
  position: relative;
  width: 100%;
  margin: 0;
}
.eg-blog-search .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.eg-blog-search__input {
  display: block;
  width: 100%;
  height: 56px;
  margin: 0;
  padding: 0 var(--space-30) 0 52px;
  border: 0;
  border-radius: var(--border-radius-50);
  background-color: var(--color-white);
  background-image: url(../images/icon-search.svg);
  background-repeat: no-repeat;
  background-position: 22px center;
  background-size: 18px;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  box-shadow: none;
  box-sizing: border-box;
}
.eg-blog-search__input::placeholder {
  color: var(--color-gray);
  opacity: 0.55;
}
.eg-blog-search__input:focus {
  box-shadow: 0 0 0 2px rgba(212, 86, 42, 0.35);
}

/* ==========================================================================
   8. SIMPLE TITLE TEXT (título + texto)
   ========================================================================== */

.et-db .et-l .custom-section.simple-title-text {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.simple-title-text .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-title-text .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-50);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.simple-title-text .feature {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text .feature .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.simple-title-text .text {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.simple-title-text .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}

/* —— 8.1 Variante dark —— */

.et-db .et-l .custom-section.simple-title-text.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.simple-title-text.dark .feature .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text.dark .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text.dark .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text.dark .feature .et_pb_text_inner h3 {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.simple-title-text.dark .text .et_pb_text_inner p {
  color: var(--color-white);
}

/* —— 8.2 Variante creme —— */

.et-db .et-l .custom-section.simple-title-text.creme {
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.simple-title-text.creme .feature .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text.creme .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text.creme .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text.creme .feature .et_pb_text_inner h3 {
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.simple-title-text.creme .text .et_pb_text_inner p {
  color: var(--color-gray);
}

/* —— 8.3 Variante terracota —— */

.et-db .et-l .custom-section.simple-title-text.terracota {
  background-color: var(--color-terracota);
}
.et-db .et-l .custom-section.simple-title-text.terracota .feature .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text.terracota .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text.terracota .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text.terracota .feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.simple-title-text.terracota .feature .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.simple-title-text.terracota .text .et_pb_text_inner p {
  color: var(--color-cream);
}

/* —— 8.4 Botão (usa .custom-button) —— */

.et-db .et-l .custom-section.simple-title-text .et_pb_button_module_wrapper {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  align-self: center;
}

/* —— 8.5 Variante cards contact (Canais de Atendimento) —— */

.et-db .et-l .custom-section.simple-title-text:has(.cards.contact) {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
}
.et-db .et-l .custom-section.simple-title-text:has(.cards.contact) .custom-content:not(.cards) > .et_pb_column {
  gap: var(--space-30);
}
.et-db .et-l .custom-section.simple-title-text .custom-content.cards.contact {
  display: block !important;
}
.et-db .et-l .custom-section.simple-title-text .custom-content.cards.contact > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
  flex-direction: unset;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card {
  width: 100% !important;
  max-width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: var(--space-30);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  height: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  width: 100%;
  margin: 0;
  padding: 0;
  flex: 1;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  margin: 0;
  padding: 0;
  flex: 1;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description a,
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description a span {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-150);
  color: var(--color-terracota);
  text-decoration: none;
  word-break: break-word;
  transition: var(--transition-default);
}
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description a:hover,
.et-db .et-l .custom-section.simple-title-text .cards.contact .card .et_pb_blurb_description a:hover span {
  color: var(--color-amber);
}

/* —— 8.6 Variante process (Processo de Ingresso) —— */

.et-db .et-l .custom-section.simple-title-text-process {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.simple-title-text-process .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-title-text-process .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-50);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.simple-title-text-process .title {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .title .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text-process .title .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text-process .title .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text-process .title .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-110);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text-process .text {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.simple-title-text-process .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  letter-spacing: -0.01em;
  color: var(--color-gray);
  text-align: left;
}

/* Subtítulo (Bolsas) — Playfair menor que o .title hero */
.et-db .et-l .custom-section.simple-title-text-process .custom-content > .et_pb_column:has(.subtitle) {
  gap: var(--space-30);
}
.et-db .et-l .custom-section.simple-title-text-process .subtitle {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.simple-title-text-process .subtitle .et_pb_text_inner h1,
.et-db .et-l .custom-section.simple-title-text-process .subtitle .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-title-text-process .subtitle .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text-process .text + .notice {
  margin-top: calc(var(--space-60) - var(--space-30));
}

/* —— 8.9 Notice (informativo) —— */

.et-db .et-l .custom-section.simple-title-text-process .notice {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: var(--space-30);
  background-color: color-mix(in srgb, var(--color-terracota) 6%, var(--color-white));
  border: 1px solid var(--color-terracota);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-title-text-process .notice.terracota {
  background-color: color-mix(in srgb, var(--color-terracota) 6%, var(--color-white));
  border-color: var(--color-terracota);
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: var(--space-30);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_main_blurb_image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 54px;
  width: 54px;
  max-width: 54px;
  height: 54px;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_image_wrap {
  display: block;
  width: 54px;
  height: 54px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_image_wrap img {
  display: block;
  width: 54px;
  height: 54px;
  object-fit: contain;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_description,
.et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-terracota);
  text-align: left;
}

/* —— 8.7 How to works / list-cards (etapas do processo) —— */

.et-db .et-l .custom-section.how-to-works.list-cards {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-light-gray);
}
.et-db .et-l .custom-section.how-to-works.list-cards .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.how-to-works.list-cards .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-25);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.how-to-works.list-cards .feature,
.et-db .et-l .custom-section.how-to-works.list-cards .text {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.how-to-works.list-cards .feature + .text {
  margin-top: calc(var(--space-15) - var(--space-25));
}
.et-db .et-l .custom-section.how-to-works.list-cards .feature + .card,
.et-db .et-l .custom-section.how-to-works.list-cards .text + .card {
  margin-top: calc(var(--space-50) - var(--space-25)) !important;
}
.et-db .et-l .custom-section.how-to-works.list-cards .feature .et_pb_text_inner,
.et-db .et-l .custom-section.how-to-works.list-cards .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.how-to-works.list-cards .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.how-to-works.list-cards .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: var(--space-30);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: none;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_blurb_content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-30);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_main_blurb_image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100px;
  width: 100px;
  max-width: 100px;
  height: 100px;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_image_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_image_wrap img {
  display: block;
  width: 80px;
  height: 80px;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-10);
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_blurb_description,
.et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}

/* —— 8.8 How to works / list-check (checklist bolsas) —— */

.et-db .et-l .custom-section.how-to-works.list-check {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-60);
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-light-gray);
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: var(--space-15);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .title {
  width: 100%;
  max-width: 900px;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .title .et_pb_text_inner,
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .title .et_pb_text_inner h2,
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .title .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .text {
  width: 100%;
  max-width: 1000px;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content.info .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}
.et-db .et-l .custom-section.how-to-works.list-check .custom-content:not(.info) > .et_pb_column {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: var(--space-25);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.how-to-works.list-check .card {
  flex: 1 1 calc((100% - (var(--space-25) * 2)) / 3);
  width: calc((100% - (var(--space-25) * 2)) / 3) !important;
  max-width: calc((100% - (var(--space-25) * 2)) / 3);
  margin: 0 !important;
  padding: var(--space-30);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: none;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_blurb_content {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: var(--space-15);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_main_blurb_image {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
  width: 16px;
  max-width: 16px;
  height: 16px;
  margin: 5px 0 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_image_wrap {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_image_wrap img {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_blurb_container {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_blurb_description,
.et-db .et-l .custom-section.how-to-works.list-check .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: left;
}

/* —— 8.10 Feature Text (subtitle + texto) —— */

.et-db .et-l .custom-section.feature-text {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.feature-text .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.feature-text .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.feature-text .subtitle,
.et-db .et-l .custom-section.feature-text .text {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.feature-text .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.feature-text .subtitle .et_pb_text_inner h2,
.et-db .et-l .custom-section.feature-text .subtitle .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center !important;
}
.et-db .et-l .custom-section.feature-text .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.feature-text .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center !important;
}
.et-db .et-l .custom-section.feature-text.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.feature-text.dark .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.feature-text.dark .subtitle .et_pb_text_inner h2,
.et-db .et-l .custom-section.feature-text.dark .subtitle .et_pb_text_inner h3 {
  color: var(--color-amber);
}
.et-db .et-l .custom-section.feature-text.dark .text .et_pb_text_inner p {
  color: var(--color-white);
}

/* ==========================================================================
   9. IMAGE TITLE TEXT (imagem + título + texto – reutilizável)
   ========================================================================== */

.et-db .et-l .custom-section.image-title-text {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.image-title-text .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.image-title-text .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-50);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.image-title-text .et_pb_code,
.et-db .et-l .custom-section.image-title-text .et_pb_code_inner,
.et-db .et-l .custom-section.image-title-text .eg-blog {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}

/* —— 9.1 Imagem —— */
.et-db .et-l .custom-section.image-title-text .image {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.image-title-text .image .et_pb_image_wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--border-radius-50);
  line-height: 0;
}
.et-db .et-l .custom-section.image-title-text .image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: var(--border-radius-50);
}

/* —— 9.2 Título (feature h2) —— */
.et-db .et-l .custom-section.image-title-text .feature {
  width: 100%;
  max-width: 900px;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.image-title-text .feature .et_pb_text_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.image-title-text .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.image-title-text .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.image-title-text .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}

/* —— 9.3 Texto —— */
.et-db .et-l .custom-section.image-title-text .text {
  width: 100%;
  max-width: 900px;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.image-title-text .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.image-title-text .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}

/* —— 9.4 Destaque (feature h4) —— */
.et-db .et-l .custom-section.image-title-text .feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-terracota);
  text-align: center;
}

/* ==========================================================================
   10. VIDEO (reutilizável)
   ========================================================================== */

.et-db .et-l .custom-section.video {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.video .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.video .custom-content > .et_pb_column {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.video .custom-video {
  position: relative;
  margin: 0;
  padding: 0;
  border-radius: var(--border-radius-50);
  overflow: hidden;
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_box {
  position: relative;
  margin: 0;
  padding: 0;
  border-radius: var(--border-radius-50);
  overflow: hidden;
}
.et-db .et-l .custom-section.video .custom-video .fluid-width-video-wrapper,
.et-db .et-l .custom-section.video .custom-video iframe,
.et-db .et-l .custom-section.video .custom-video video {
  border-radius: var(--border-radius-50);
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border-radius: var(--border-radius-50);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
  overflow: hidden;
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(27, 58, 75, 0.45);
  pointer-events: none;
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_overlay_hover {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  opacity: 1;
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_play {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--color-terracota);
  background-image: url(../images/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  box-shadow: 0 12px 30px rgba(212, 86, 42, 0.35);
  text-indent: -9999px;
  overflow: hidden;
  transition:
    transform var(--transition-default),
    background-color var(--transition-default),
    box-shadow var(--transition-default);
  transform: translate(-50%, -50%);
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_play:hover {
  background-color: var(--color-amber);
  transform: translate(-50%, -50%);
  box-shadow: 0 14px 34px rgba(242, 164, 58, 0.35);
}
.et-db .et-l .custom-section.video .custom-video .et_pb_video_play::before,
.et-db .et-l .custom-section.video .custom-video .et_pb_video_play::after {
  content: none;
  display: none;
}

/* ==========================================================================
   11. CTA TEXT BUTTON (dark)
   ========================================================================== */

.et-db .et-l .custom-section.cta-text-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: var(--space-80) 0;
  overflow: hidden;
  background-color: var(--color-night-blue);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.et-db .et-l .custom-section.cta-text-button.dark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: rgba(27, 58, 75, 0.72);
}
.et-db .et-l .custom-section.cta-text-button .custom-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-50);
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cta-text-button .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.cta-text-button .subtitle {
  width: 100%;
  max-width: 820px;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.cta-text-button .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.cta-text-button .subtitle .et_pb_text_inner h1,
.et-db .et-l .custom-section.cta-text-button .subtitle .et_pb_text_inner h2,
.et-db .et-l .custom-section.cta-text-button .subtitle .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-cream);
  text-align: center;
}
.et-db .et-l .custom-section.cta-text-button .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
  text-align: center;
}

/* ==========================================================================
   12. BANNER FULL (slider)
   ========================================================================== */

/* —— 12.1 Layout, altura e overlay —— */

.et-db .et-l .custom-section.banner-full {
  --banner-height: var(--banner-visible-height, calc(100dvh - 54px - 88px));
  --banner-height: var(--banner-visible-height, calc(100svh - 54px - 88px));
  --banner-pad-x: var(--layout-content-pad-x);
  --banner-pad-y: var(--space-50);
  --banner-controllers-space: 28px;
  --banner-headline-leading: var(--line-height-100);
  --banner-headline-descender: 0.12em;
  --banner-headline-stack: -0.05em;
  padding: 0;
  margin: 0;
  height: var(--banner-height);
  min-height: var(--banner-height);
  max-height: var(--banner-height);
  background-color: var(--color-night-blue);
  overflow: hidden;
}
.admin-bar .et-db .et-l .custom-section.banner-full {
  --banner-height: var(--banner-visible-height, calc(100dvh - 54px - 88px - 32px));
  --banner-height: var(--banner-visible-height, calc(100svh - 54px - 88px - 32px));
}

@media screen and (max-width: 782px) {
  .admin-bar .et-db .et-l .custom-section.banner-full {
    --banner-height: var(--banner-visible-height, calc(100dvh - 54px - 76px - 46px));
    --banner-height: var(--banner-visible-height, calc(100svh - 54px - 76px - 46px));
  }
}

/* —— 12.2 Carregamento suave (is-ready) —— */

body:not(.et-fb) .et-l .custom-section.banner-full:not(.is-ready) .et_pb_slide_description,
body:not(.et-fb) .et-l .custom-section.banner-full:not(.is-ready) .et-pb-controllers {
  opacity: 0;
  visibility: hidden;
}
.et-db .et-l .custom-section.banner-full.is-ready .et_pb_slide_description,
.et-db .et-l .custom-section.banner-full.is-ready .et-pb-controllers {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}
.et-db .et-l .custom-section.banner-full .custom-content {
  width: 100%;
  max-width: none !important;
  height: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.banner-full .et_pb_column {
  margin: 0 !important;
  padding: 0;
  width: 100% !important;
  height: 100%;
}
.et-db .et-l .custom-section.banner-full .et_pb_slider {
  position: relative;
  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100%;
  margin: 0;
  overflow: hidden;
  touch-action: pan-y;
}
.et-db .et-l .custom-section.banner-full .et_pb_slider.eg-banner-draggable {
  cursor: grab;
  user-select: none;
}
.et-db .et-l .custom-section.banner-full .et_pb_slider.eg-banner-draggable.is-dragging {
  cursor: grabbing;
}
.et-db .et-l .custom-section.banner-full .et_pb_slider.eg-banner-draggable a,
.et-db .et-l .custom-section.banner-full .et_pb_slider.eg-banner-draggable .et-pb-controllers {
  user-select: auto;
  cursor: pointer;
  touch-action: manipulation;
}
.et-db .et-l .custom-section.banner-full .et_pb_slides {
  position: relative;
  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100%;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: 100%;
  background-size: cover !important;
  background-position: center center !important;
  padding: 0;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(27, 58, 75, 0.40) 0%, var(--color-night-blue) 100%);
}

/* —— 12.2.1 Eixo horizontal (logo + paginação) —— */

.et-db .et-l .custom-section.banner-full .et_pb_container {
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  width: 100%;
  max-width: var(--container-max-width);
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  padding-top: calc(var(--banner-pad-y) + var(--banner-controllers-space)) !important;
  padding-right: 0;
  padding-bottom: calc(var(--banner-pad-y) + var(--banner-controllers-space)) !important;
  padding-left: 0;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.banner-full .et_pb_slider_container_inner {
  width: 100% !important;
  max-width: 100% !important;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_description {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: 0 !important;
  text-align: left;
  background: transparent !important;
  overflow: visible;
}

/* —— 12.3 Conteúdo (badge, título, CTA) —— */

.et-db .et-l .custom-section.banner-full .et_pb_slide_title {
  display: inline-block;
  width: auto !important;
  max-width: 100%;
  margin: 0 0 var(--space-20);
  padding: 0;
  font-size: 0;
  line-height: 0;
  background: none !important;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_title .eg-reveal {
  display: inline-block;
  vertical-align: top;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_title .eg-reveal__inner {
  display: inline-block;
  padding: var(--space-10) var(--space-20);
  border-radius: var(--border-radius-50);
  background-color: var(--color-amber);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  white-space: nowrap;
  text-shadow: none;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--space-30);
  padding: 0;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_content p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--banner-headline-leading);
  color: var(--color-cream);
  letter-spacing: -1px;
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_content .eg-reveal {
  display: block;
  overflow: hidden;
  line-height: var(--banner-headline-leading);
  padding-bottom: var(--banner-headline-descender);
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_content .eg-reveal + .eg-reveal {
  margin-top: var(--banner-headline-stack);
}
.et-db .et-l .custom-section.banner-full .et_pb_slide_content .eg-reveal__inner {
  display: block;
  line-height: var(--banner-headline-leading);
}
.et-db .et-l .custom-section.banner-full .et_pb_button_wrapper {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.banner-full .et_pb_button.et_pb_more_button {
  display: inline-block;
  width: 40px;
  height: 40px;
  min-width: 40px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50%;
  background-color: transparent !important;
  background-image: url(../images/icon-circle-arrow-down-right.svg) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 40px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  box-shadow: none !important;
  text-indent: -9999px;
  overflow: hidden;
  transition: transform var(--transition-default), opacity var(--transition-default);
}
.et-db .et-l .custom-section.banner-full .et_pb_button.et_pb_more_button::after,
.et-db .et-l .custom-section.banner-full .et_pb_button.et_pb_more_button::before {
  display: none !important;
  content: none !important;
}
.et-db .et-l .custom-section.banner-full .et_pb_button.et_pb_more_button:hover {
  transform: scale(.9);
  background-image: url(../images/icon-circle-arrow-down-right.svg) !important;
}
.et-db .et-l .custom-section.banner-full .et_pb_button_wrapper .eg-reveal {
  display: inline-block;
}

/* —— 12.4 Controles / paginação —— */

.et-db .et-l .custom-section.banner-full .et-pb-slider-arrows {
  display: none !important;
}
.et-db .et-l .custom-section.banner-full .et-pb-controllers {
  --banner-ctrl-hit-y: 18px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--banner-pad-y) - var(--banner-ctrl-hit-y));
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: var(--banner-ctrl-hit-y) var(--banner-pad-x);
  box-sizing: border-box;
  transform: none;
  text-align: left;
  line-height: 0;
  pointer-events: auto;
  touch-action: manipulation;
}
.et-db .et-l .custom-section.banner-full .et-pb-controllers a {
  position: relative;
  display: inline-block;
  width: 5px;
  height: 3px;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: var(--border-radius-20);
  background-color: var(--color-white) !important;
  opacity: 0.55;
  font-size: 0 !important;
  line-height: 0;
  vertical-align: middle;
  cursor: pointer;
  touch-action: manipulation;
  transition:
    width var(--transition-default),
    height var(--transition-default),
    border-radius var(--transition-default),
    opacity var(--transition-default);
}
/* Área de clique maior sem alterar o tamanho visual do dot */
.et-db .et-l .custom-section.banner-full .et-pb-controllers a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 28px;
  transform: translate(-50%, -50%);
}
.et-db .et-l .custom-section.banner-full .et-pb-controllers a.et-pb-active-control {
  width: 15px;
  height: 3px;
  border-radius: var(--border-radius-5);
  opacity: 1;
}

/* —— 12.5 Animação de texto (reveal) —— */

.et-db .et-l .custom-section.banner-full .eg-reveal {
  overflow: hidden;
  vertical-align: top;
}
.et-db .et-l .custom-section.banner-full .eg-reveal__inner {
  will-change: transform;
}
body:not(.et-fb) .et-l .custom-section.banner-full.is-ready .eg-reveal__inner {
  transform: translate3d(0, 110%, 0);
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
body:not(.et-fb) .et-l .custom-section.banner-full.is-ready .eg-reveal.is-in .eg-reveal__inner {
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.banner-full.is-ready .eg-reveal__inner {
    transform: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   13. CTA CONTACT US
   ========================================================================== */

/* —— 13.1 Layout —— */

.et-db .et-l .custom-section.cta-contact-us {
  position: relative;
  padding: var(--space-50) 0;
  margin: 0;
  background-color: var(--color-cream);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.et-db .et-l .custom-section.cta-contact-us::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-cream);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: .9;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-30);
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content > .et_pb_column {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  flex: 0 1 auto;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content > .et_pb_column:first-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  flex: 1 1 auto;
  min-width: 0;
}
.et-db .et-l .custom-section.cta-contact-us .custom-content > .et_pb_column:last-child {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
/* —— 13.2 Título —— */

.et-db .et-l .custom-section.cta-contact-us .subtitle {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cta-contact-us .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.cta-contact-us .subtitle .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
}

/* —— 13.3 Texto —— */

.et-db .et-l .custom-section.cta-contact-us .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cta-contact-us .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: left;
}

/* —— 13.4 Botão —— */

.et-db .et-l .custom-section.cta-contact-us .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}

/* —— 13.5 Variação dark —— */

.et-db .et-l .custom-section.cta-contact-us.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.cta-contact-us.dark::before {
  background-color: var(--color-night-blue);
  opacity: 0.88;
}
.et-db .et-l .custom-section.cta-contact-us.dark .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.cta-contact-us.dark .subtitle .et_pb_text_inner h2 {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.cta-contact-us.dark .text .et_pb_text_inner p {
  color: var(--color-cream);
}
/* ==========================================================================
   14. FAMILY REVIEW (depoimentos)
   ========================================================================== */

/* —— 14.1 Cabeçalho —— */

.et-db .et-l .custom-section.family-review {
  --review-quote-size: 72px;
  --review-quote-height: 52px;
  --review-quote-gap: var(--space-30);
  --review-quote-offset: 4px;
  --review-quote-icon: url(../images/icon-quote.svg);
  --review-portrait-size: 60px;
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
  gap: 0;
}
.et-db .et-l .custom-section.family-review .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.family-review .custom-content:not(.review) {
  padding-bottom: var(--space-50);
  margin-bottom: 0;
}
.et-db .et-l .custom-section.family-review .custom-content > .et_pb_column {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.family-review .subtitle {
  margin: 0 0 var(--space-20);
  padding: 0;
}
.et-db .et-l .custom-section.family-review .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.family-review .subtitle .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-120);
  color: var(--color-amber);
  letter-spacing: 0;
}
.et-db .et-l .custom-section.family-review .feature {
  margin: 0 0 var(--space-20) !important;
  padding: 0;
}
.et-db .et-l .custom-section.family-review .feature .et_pb_text_inner,
.et-db .et-l .custom-section.family-review .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-110);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
}
.et-db .et-l .custom-section.family-review .text {
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.family-review .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.family-review .text .et_pb_text_inner,
.et-db .et-l .custom-section.family-review .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}

/* —— 14.2 Carrossel / depoimento —— */

.et-db .et-l .custom-section.family-review .custom-content.review {
  position: relative;
  padding-bottom: 0;
  border: 0;
  margin-bottom: 0 !important;
}
.et-db .et-l .custom-section.family-review .eg-review-carousel {
  --review-exit-ms: 600ms;
  --review-enter-ms: 900ms;
  --review-ease: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  width: 100%;
  row-gap: var(--space-30);
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial {
  grid-column: 1;
  grid-row: 1;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  pointer-events: none;
}

/* —— 14.2.1 Animação das partes (front-end) —— */
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_inner::before,
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_content,
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial .eg-review-person {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity var(--review-enter-ms) var(--review-ease),
    transform var(--review-enter-ms) var(--review-ease);
  will-change: opacity, transform;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-active.is-in .et_pb_testimonial_inner::before {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: 0ms;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-active.is-in .et_pb_testimonial_content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: 120ms;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-active.is-in .eg-review-person {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition-delay: 260ms;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .et_pb_testimonial_inner::before,
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .et_pb_testimonial_content,
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .eg-review-person {
  opacity: 0;
  transform: translate3d(0, -22px, 0);
  transition-duration: var(--review-exit-ms);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .et_pb_testimonial_inner::before {
  transition-delay: 0ms;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .et_pb_testimonial_content {
  transition-delay: 60ms;
}
body:not(.et-fb) .et-l .custom-section.family-review .et_pb_testimonial.is-leaving .eg-review-person {
  transition-delay: 120ms;
}

/* Visual Builder: depoimentos sempre visíveis e empilhados para edição */
body.et-fb .et-db .et-l .custom-section.family-review .et_pb_testimonial {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  transform: none !important;
  margin-bottom: var(--space-50) !important;
}
body.et-fb .et-db .et-l .custom-section.family-review .eg-review-carousel {
  display: flex !important;
  flex-direction: column;
  gap: var(--space-50);
}
body.et-fb .et-db .et-l .custom-section.family-review .eg-review-controllers {
  display: none !important;
}
body.et-fb .et-db .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_inner::before,
body.et-fb .et-db .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_content,
body.et-fb .et-db .et-l .custom-section.family-review .et_pb_testimonial .eg-review-person {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_inner {
  display: grid;
  grid-template-columns: var(--review-quote-size) minmax(0, 1fr);
  column-gap: var(--review-quote-gap);
  align-items: start;
  padding: 0 !important;
  background: transparent !important;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_inner::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: var(--review-quote-size);
  height: var(--review-quote-height);
  margin-top: var(--review-quote-offset);
  background: var(--review-quote-icon) center / contain no-repeat;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_description {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  gap: var(--space-30);
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_description_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_content {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_content p {
  margin: 0 0 var(--space-20);
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_content p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.family-review .eg-review-person {
  display: flex;
  align-items: center;
  gap: var(--space-15);
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_portrait {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  display: block !important;
  flex: 0 0 var(--review-portrait-size);
  width: var(--review-portrait-size) !important;
  height: var(--review-portrait-size) !important;
  min-width: var(--review-portrait-size) !important;
  min-height: var(--review-portrait-size) !important;
  max-width: var(--review-portrait-size) !important;
  max-height: var(--review-portrait-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background-color: var(--color-soft-gray) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
  z-index: 1;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_portrait img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}
.et-db .et-l .custom-section.family-review .eg-review-person__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_author {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  font-style: normal !important;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_author::before,
.et-db .et-l .custom-section.family-review .et_pb_testimonial_author::after {
  display: none !important;
  content: none !important;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_meta {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.et-db .et-l .custom-section.family-review .et_pb_testimonial_position {
  display: inline-block;
  margin: 0;
  padding: 0;
  background-color: transparent;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}

/* —— 14.2b Variante Projeto Miné (.projeto-mine) — Figma 905:6345 —— */

.et-db .et-l .custom-section.family-review.projeto-mine {
  --review-quote-size: 71px;
  --review-quote-height: 52px;
  --review-quote-gap: var(--space-50);
  --review-quote-offset: 0;
  --review-quote-icon: url(../images/icon-quote-orange.svg);
  --review-portrait-size: 72px;
  padding: var(--space-100) 0;
}
.et-db .et-l .custom-section.family-review.projeto-mine .custom-content.review {
  padding-bottom: var(--space-70);
  border-bottom: 1px solid var(--color-cream);
  margin-bottom: var(--space-70) !important;
}
.et-db .et-l .custom-section.family-review.projeto-mine .custom-content:not(.review) {
  padding-bottom: 0;
  margin-bottom: 0;
}
.et-db .et-l .custom-section.family-review.projeto-mine .custom-content:not(.review) > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  gap: var(--space-50);
}
.et-db .et-l .custom-section.family-review.projeto-mine .eg-review-person {
  gap: var(--space-30);
}
.et-db .et-l .custom-section.family-review.projeto-mine .et_pb_testimonial_author {
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
}
.et-db .et-l .custom-section.family-review.projeto-mine .et_pb_testimonial_position {
  line-height: var(--line-height-150);
}
.et-db .et-l .custom-section.family-review.projeto-mine .feature {
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.family-review.projeto-mine .feature .et_pb_text_inner,
.et-db .et-l .custom-section.family-review.projeto-mine .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.family-review.projeto-mine .text {
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.family-review.projeto-mine .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.family-review.projeto-mine .text .et_pb_text_inner,
.et-db .et-l .custom-section.family-review.projeto-mine .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  letter-spacing: -0.01em;
  color: var(--color-gray);
}
.et-db .et-l .custom-section.family-review.projeto-mine .text .et_pb_text_inner p:empty {
  display: none;
}

/* —— 14.3 Controles / paginação —— */

.et-db .et-l .custom-section.family-review .eg-review-controllers {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0 0 0 calc(var(--review-quote-size) + var(--review-quote-gap));
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.family-review .eg-review-controllers button {
  display: inline-block;
  width: 5px;
  height: 3px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--border-radius-20);
  background-color: var(--color-night-blue);
  opacity: 0.35;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
  vertical-align: middle;
  transition:
    width var(--transition-default),
    height var(--transition-default),
    border-radius var(--transition-default),
    opacity var(--transition-default);
}
.et-db .et-l .custom-section.family-review .eg-review-controllers button.is-active {
  width: 15px;
  height: 3px;
  border-radius: var(--border-radius-5);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_inner::before,
  .et-db .et-l .custom-section.family-review .et_pb_testimonial .et_pb_testimonial_content,
  .et-db .et-l .custom-section.family-review .et_pb_testimonial .eg-review-person {
    transition: none !important;
    transform: none !important;
  }
  .et-db .et-l .custom-section.family-review .et_pb_testimonial.is-active .et_pb_testimonial_inner::before,
  .et-db .et-l .custom-section.family-review .et_pb_testimonial.is-active .et_pb_testimonial_content,
  .et-db .et-l .custom-section.family-review .et_pb_testimonial.is-active .eg-review-person {
    opacity: 1 !important;
  }
}

/* ==========================================================================
   15. TEXT FEATURE
   ========================================================================== */

/* —— 15.1 Layout (grid) —— */

.et-db .et-l .custom-section.text-feature {
  padding: var(--space-80) 0;
  margin: 0;
}
.et-db .et-l .custom-section.text-feature .custom-content {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  row-gap: 0;
  align-items: flex-start;
  justify-content: stretch;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  box-sizing: border-box;
  padding: 0;
}
.et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:first-child {
  grid-column: 1;
  min-width: 0;
}
.et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:last-child {
  grid-column: 2;
  max-width: 470px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
}
/* —— 15.2 Headline (feature) —— */

.et-db .et-l .custom-section.text-feature .feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-feature .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-feature .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
}

/* —— 15.3 Texto e subtítulo —— */

.et-db .et-l .custom-section.text-feature .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-feature .text .et_pb_text_inner p {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.text-feature .text .et_pb_text_inner p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.text-feature .text .et_pb_text_inner strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-feature .subtitle {
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-feature .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature .subtitle .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  letter-spacing: -0.01em;
}

/* —— 15.4 Botão —— */

.et-db .et-l .custom-section.text-feature .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}

/* —— 15.5 Variante cabeçalho + review (2 colunas) —— */

.et-db .et-l .custom-section.text-feature:has(.custom-content.review) .custom-content:not(.review) {
  display: block !important;
  grid-template-columns: none;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto var(--space-50) !important;
  padding: 0 var(--layout-content-pad-x);
}
.et-db .et-l .custom-section.text-feature:has(.custom-content.review) .custom-content:not(.review) > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.et-db .et-l .custom-section.text-feature:has(.custom-content.review) .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature:has(.custom-content.review) .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-feature:has(.custom-content.review) .feature .et_pb_text_inner h3 {
  font-size: var(--font-size-hero);
  line-height: var(--line-height-100);
}
.et-db .et-l .custom-section.text-feature .custom-content.review {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  row-gap: var(--space-50);
  align-items: flex-start;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-feature .custom-content.review > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
  grid-column: auto;
}
.et-db .et-l .custom-section.text-feature .custom-content.review .text-feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-feature .custom-content.review .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature .custom-content.review .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-feature .custom-content.review .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.text-feature .custom-content.review .text-feature .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.text-feature .custom-content.review .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.text-feature .custom-content.review .text .et_pb_text_inner p {
  margin: 0;
}

/* —— 15.6 Variante dark —— */

.et-db .et-l .custom-section.text-feature.dark .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature.dark .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-feature.dark .feature .et_pb_text_inner h3 {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-feature.dark .custom-content.review .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature.dark .custom-content.review .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-feature.dark .custom-content.review .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.text-feature.dark .custom-content.review .text-feature .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.text-feature.dark .text .et_pb_text_inner p {
  color: var(--color-light-gray);
}
.et-db .et-l .custom-section.text-feature.dark .text .et_pb_text_inner strong {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-feature.dark .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.text-feature.dark .subtitle .et_pb_text_inner h3 {
  color: var(--color-white);
}

/* ==========================================================================
   16. CARDS (diferenciais)
   ========================================================================== */

/* —— 16.1 Layout (grid) —— */

.et-db .et-l .custom-section.cards {
  padding: var(--space-80) 0;
  margin: 0;
  gap: var(--space-50);
  display: flex;
  flex-direction: column;
}
.et-db .et-l .custom-section.cards .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cards .custom-content > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* —— 16.2 Card —— */

.et-db .et-l .custom-section.cards .card {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cards .card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.cards .card .et_pb_main_blurb_image {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.cards .card .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 260px;
  overflow: hidden;
  border-radius: var(--border-radius-30);
  line-height: 0;
}
.et-db .et-l .custom-section.cards .card .et_pb_image_wrap img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section.cards .card .et_pb_blurb_container {
  width: 100%;
  margin: 0;
  padding: 0 var(--space-30) var(--space-30);
}

/* —— 16.3 Tipografia —— */

.et-db .et-l .custom-section.cards .card .et_pb_module_header {
  margin: 0 0 var(--space-10);
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  letter-spacing: -0.01em;
  text-align: center;
}
.et-db .et-l .custom-section.cards .card .et_pb_blurb_description {
  gap: var(--space-10);
  display: flex;
  flex-direction: column;
}
.et-db .et-l .custom-section.cards .card .et_pb_blurb_description,
.et-db .et-l .custom-section.cards .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}

/* —— 16.4 Animação (surge) —— */

body:not(.et-fb) .et-l .custom-section.cards .card {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
body:not(.et-fb) .et-l .custom-section.cards .card.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.et-db .et-l .custom-section.cards .card .et_pb_main_blurb_image.et_animated {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Visual Builder / Theme Builder: cards sempre visíveis */
body.et-fb .et-db .et-l .custom-section.cards .card,
.et-fb .custom-section.cards .card {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.cards .card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* —— 16.5 Variante text-card (ícones + cabeçalho) —— */

.et-db .et-l .custom-section.cards.text-card .custom-content.text {
  margin-bottom: var(--space-50);

  &:last-child {
    margin-bottom: 0;
  }
}
.et-db .et-l .custom-section.cards.text-card .custom-content.text > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  grid-template-columns: none;
}
.et-db .et-l .custom-section.cards.text-card .feature {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cards.text-card .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cards.text-card .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.cards.text-card .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.cards.text-card .custom-content.text .et_pb_text:not(.feature) {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cards.text-card .custom-content.text .et_pb_text:not(.feature) .et_pb_text_inner p {
  margin: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.cards.text-card .custom-content:not(.text) > .et_pb_column {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-30);
  grid-template-columns: none;
}
.et-db .et-l .custom-section.cards.text-card .card {
  flex: 0 1 calc((100% - (var(--space-30) * 2)) / 3);
  width: calc((100% - (var(--space-30) * 2)) / 3) !important;
  max-width: calc((100% - (var(--space-30) * 2)) / 3);
  padding: var(--space-30);
}
.et-db .et-l .custom-section.cards.text-card .card .et_pb_blurb_content {
  align-items: flex-start;
  gap: var(--space-20);
  text-align: left;
}
.et-db .et-l .custom-section.cards.text-card .card.icon .et_pb_main_blurb_image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  max-width: 48px;
  margin: 0 !important;
  border-radius: 50%;
  background-color: var(--color-terracota);
}
.et-db .et-l .custom-section.cards.text-card .card.icon .et_pb_image_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 0;
  overflow: visible;
  line-height: 0;
}
.et-db .et-l .custom-section.cards.text-card .card.icon .et_pb_image_wrap img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 0;
}
.et-db .et-l .custom-section.cards.text-card .card .et_pb_blurb_container {
  padding: 0;
}
.et-db .et-l .custom-section.cards.text-card .card .et_pb_module_header {
  margin: 0 0 var(--space-10);
  font-size: var(--font-size-title);
  text-align: left;
}
.et-db .et-l .custom-section.cards.text-card .card .et_pb_blurb_description,
.et-db .et-l .custom-section.cards.text-card .card .et_pb_blurb_description p {
  text-align: left;
}

/* —— 16.6 Variante equal (grid 2×2, alturas iguais) —— */

.et-db .et-l .custom-section.cards.equal {
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.cards.equal .custom-content.text > .et_pb_column {
  align-items: center;
  gap: var(--space-30);
}
.et-db .et-l .custom-section.cards.equal .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cards.equal .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.cards.equal .feature .et_pb_text_inner h3 {
  text-align: center;
}
.et-db .et-l .custom-section.cards.equal .custom-content.text .et_pb_text:not(.feature) .et_pb_text_inner p {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  text-align: center;
}
.et-db .et-l .custom-section.cards.equal .custom-content:not(.text) > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: initial;
}
.et-db .et-l .custom-section.cards.equal .card {
  flex: none;
  width: 100% !important;
  max-width: 100%;
  height: 100%;
  padding: var(--space-50);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cards.equal .card .et_pb_blurb_content {
  height: 100%;
  align-items: flex-start;
  gap: var(--space-20);
  text-align: left;
}
.et-db .et-l .custom-section.cards.equal .card.icon .et_pb_main_blurb_image {
  width: 48px;
  height: 48px;
  max-width: 48px;
  border-radius: 50%;
  background-color: var(--color-terracota);
}
.et-db .et-l .custom-section.cards.equal .card .et_pb_module_header {
  margin: 0 0 var(--space-10);
  text-align: left;
}
.et-db .et-l .custom-section.cards.equal .card .et_pb_blurb_description,
.et-db .et-l .custom-section.cards.equal .card .et_pb_blurb_description p {
  text-align: left;
  color: var(--color-gray);
}

/* —— 16.7 Variante equal dark —— */

.et-db .et-l .custom-section.cards.equal.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.cards.equal.dark .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cards.equal.dark .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.cards.equal.dark .feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.cards.equal.dark .feature .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.cards.equal.dark .custom-content.text .et_pb_text:not(.feature) .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.cards.equal.dark .card {
  background-color: var(--color-white);
  box-shadow: none;
}

/* —— 16.8 Variante life-project (Projeto de Vida) —— */

.et-db .et-l .custom-section.cards.life-project {
  background-color: var(--color-white);
  gap: var(--space-50);
}

/* Cabeçalho / fechamento (sem cards) */
.et-db .et-l .custom-section.cards.life-project .custom-content:not(:has(.card)) > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  grid-template-columns: none;
}
.et-db .et-l .custom-section.cards.life-project .feature {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.cards.life-project .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cards.life-project .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.cards.life-project .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-amber);
  text-align: left;
}
.et-db .et-l .custom-section.cards.life-project .text {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.cards.life-project .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.cards.life-project .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.cards.life-project .text .et_pb_text_inner strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-night-blue);
}

/* Cards (3 colunas) */
.et-db .et-l .custom-section.cards.life-project .custom-content:has(.card) > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
}
.et-db .et-l .custom-section.cards.life-project .card {
  height: 100%;
  overflow: hidden;
  padding: var(--space-30);
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_blurb_content {
  align-items: flex-start;
  gap: var(--space-15);
  text-align: left;
  height: 100%;
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_image_wrap {
  height: 200px;
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_image_wrap img {
  height: 100%;
  object-fit: cover;
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  gap: var(--space-15);
  padding: 0;
  flex: 1;
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_module_header {
  margin: 0;
  text-align: left;
}
.et-db .et-l .custom-section.cards.life-project .card .et_pb_blurb_description,
.et-db .et-l .custom-section.cards.life-project .card .et_pb_blurb_description p {
  text-align: left;
}

/* Fechamento (.feature.azul) */
.et-db .et-l .custom-section.cards.life-project .feature.azul {
  max-width: 100%;
}
.et-db .et-l .custom-section.cards.life-project .custom-content:has(.feature.azul) > .et_pb_column {
  align-items: center;
}
.et-db .et-l .custom-section.cards.life-project .feature.azul .et_pb_text_inner,
.et-db .et-l .custom-section.cards.life-project .feature.azul .et_pb_text_inner h2,
.et-db .et-l .custom-section.cards.life-project .feature.azul .et_pb_text_inner h3 {
  color: var(--color-night-blue);
  font-size: var(--font-size-manifest);
  line-height: var(--line-height-120);
}

/* ==========================================================================
   17. CARDS WITH BUTTONS (níveis)
   ========================================================================== */

/* —— 17.1 Layout (colunas 1+3 | 2+4) —— */

.et-db .et-l .custom-section.cards-with-buttons {
  padding: var(--space-80) 0;
  margin: 0;
}
.et-db .et-l .custom-section.cards-with-buttons .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.feature) {
  margin-bottom: var(--space-50);
}
.et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.feature) > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* Coluna dos cards: grid 2×2 alinhado (sem escadinha) */
.et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--space-50);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* Compat: se ainda existir wrapper antigo do JS, achata e mantém o grid */
.et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column.eg-has-card-cols,
.et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column:has(.eg-cards-cols) {
  display: grid !important;
}
.et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols,
.et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols__col {
  display: contents;
}

/* —— 17.2 Título (feature) —— */

.et-db .et-l .custom-section.cards-with-buttons .feature {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 670px;
}
.et-db .et-l .custom-section.cards-with-buttons .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cards-with-buttons .feature .et_pb_text_inner h2 {
  padding: 0;
  margin-bottom: var(--space-50);
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-amber);
  letter-spacing: -0.02em;
  text-align: left;
}

/* —— 17.3 Card —— */

/* Card: preenche a célula do grid com altura uniforme na linha */
.et-db .et-l .custom-section.cards-with-buttons .card {
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: var(--space-30);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols .card {
  width: 100% !important;
  max-width: 100% !important;
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-30);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_main_blurb_image {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 250px;
  overflow: hidden;
  border-radius: var(--border-radius-20);
  line-height: 0;
  aspect-ratio: 16 / 9;
  gap: var(--space-30);
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_image_wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius-20);
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: var(--space-20);
  flex: 1 1 auto;
}

/* —— 17.4 Tipografia —— */

.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.01em;
  text-align: left;
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_description,
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
  gap: var(--space-20);
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

/* —— 17.5 Botão (saiba mais) —— */

.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_description a {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: auto 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: url(../images/icon-circle-arrow-down-right-dark.svg) center / contain no-repeat;
  font-size: 0;
  line-height: 0;
  color: transparent;
  text-decoration: none;
  text-indent: -9999px;
  overflow: hidden;
  transition: transform var(--transition-default), opacity var(--transition-default);

  &:hover {
    transform: scale(0.9);
    opacity: 0.85;
  }
}

/* —— 17.6 Animação (surge) —— */

body:not(.et-fb) .et-l .custom-section.cards-with-buttons .card {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
body:not(.et-fb) .et-l .custom-section.cards-with-buttons .card.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.et-db .et-l .custom-section.cards-with-buttons .card .et_pb_main_blurb_image.et_animated {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

body.et-fb .et-db .et-l .custom-section.cards-with-buttons .card,
.et-fb .custom-section.cards-with-buttons .card {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.cards-with-buttons .card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* —— 17.7 Variante four-columns (4 cards na mesma linha) —— */

.et-db .et-l .custom-section.cards-with-buttons.four-columns .custom-content:has(.card) > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
}
.et-db .et-l .custom-section.cards-with-buttons.four-columns .card {
  width: 100% !important;
  max-width: 100% !important;
  padding: var(--space-20);
}
.et-db .et-l .custom-section.cards-with-buttons.four-columns .card .et_pb_image_wrap {
  height: 160px;
}

/* ==========================================================================
   18. CTA IMAGE TEXT
   ========================================================================== */

/* —— 18.1 Layout (imagem + fade) —— */

.et-db .et-l .custom-section.cta-image-text {
  position: relative;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: var(--color-white);
  background-size: cover;
  background-position: -200px center;
  background-repeat: no-repeat;
}
.et-db .et-l .custom-section.cta-image-text::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    transparent 0%,
    rgba(255, 255, 255, 0.2) 15%,
    rgba(255, 255, 255, 0.7) 35%,
    rgba(255, 255, 255, 0.96) 55%,
    var(--color-white) 74%,
    var(--color-white) 100%
  )
}
.et-db .et-l .custom-section.cta-image-text .custom-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column:first-child {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--space-30);
  box-sizing: border-box;
  padding: var(--space-80) var(--space-10) var(--space-80) 0;
  background-color: transparent;
}

/* —— 18.2 Título (feature) —— */

.et-db .et-l .custom-section.cta-image-text .feature {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cta-image-text .feature [data-metadata],
.et-db .et-l .custom-section.cta-image-text .feature [data-buffer] {
  display: none;
}
.et-db .et-l .custom-section.cta-image-text .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cta-image-text .feature .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
  text-align: left;
}

/* —— 18.3 Texto —— */

.et-db .et-l .custom-section.cta-image-text .text {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.cta-image-text .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.cta-image-text .text .et_pb_text_inner p:last-child {
  margin-bottom: 0;
}

/* —— 18.4 Botão —— */

.et-db .et-l .custom-section.cta-image-text .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}

/* —— 18.5 Variante type2 (fade suave + texto) —— */

.et-db .et-l .custom-section.cta-image-text.type2 {
  background-position: left center;
  background-size: cover;
  display: flex;
  align-items: center;
}
.et-db .et-l .custom-section.cta-image-text.type2::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    transparent 10%,
    rgba(255, 255, 255, 0.12) 20%,
    rgba(255, 255, 255, 0.9) 45%,
    var(--color-white) 100%,
    var(--color-white) 100%
  )
}
.et-db .et-l .custom-section.cta-image-text.type2 .custom-content > .et_pb_column:last-child {
  padding: var(--space-80) var(--space-80) var(--space-80) var(--space-50);
  gap: var(--space-30);
}
.et-db .et-l .custom-section.cta-image-text.type2 .feature,
.et-db .et-l .custom-section.cta-image-text.type2 .text {
  max-width: 560px;
}
.et-db .et-l .custom-section.cta-image-text.type2 .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

/* ==========================================================================
   19. STUDENTS REVIEW
   ========================================================================== */

/* —— 19.1 Cabeçalho —— */

.et-db .et-l .custom-section.students-review {
  --students-per-view: 3;
  --students-card-gap: var(--space-30);
  --students-side-pad: var(--space-20);
  --students-card-width: calc(
    (100% - ((var(--students-per-view) - 1) * var(--students-card-gap))) / var(--students-per-view)
  );
  padding: var(--space-80) 0;
  margin: 0;
  overflow: hidden;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.students-review .custom-content:not(.review) {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto var(--space-30) !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.students-review .custom-content:not(.review) > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none;
}
.et-db .et-l .custom-section.students-review .feature {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 650px;
  margin-inline: auto;
}
.et-db .et-l .custom-section.students-review .feature .et_pb_text_inner,
.et-db .et-l .custom-section.students-review .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.students-review .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
  text-align: center;
}

/* —— 19.2 Carrossel / cards —— */

.et-db .et-l .custom-section.students-review .custom-content.review {
  width: 100vw;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.students-review .custom-content.review > .et_pb_column {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.students-review .eg-students-carousel {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: var(--students-card-gap);
  width: 100%;
  padding: var(--space-20) var(--students-side-pad) var(--space-30);
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--students-side-pad);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.students-review .eg-students-carousel::-webkit-scrollbar {
  display: none;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial {
  flex: 0 0 var(--students-card-width);
  width: var(--students-card-width);
  max-width: var(--students-card-width);
  margin: 0;
  padding: var(--space-30);
  border-radius: var(--border-radius-30);
  background-color: var(--color-white);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
  scroll-snap-align: start;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  height: 100%;
  margin: 0;
  padding: 0 !important;
  background: transparent !important;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_inner::before {
  content: "";
  display: block;
  width: 48px;
  height: 36px;
  margin: 0;
  background: url(../images/icon-quote.svg) left center / contain no-repeat;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: transparent !important;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_description_inner {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_meta {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_company {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-amber);
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  width: 100%;
  flex: 1 1 auto;
}
/* —— 19.3 Truncamento + veja mais —— */

.et-db .et-l .custom-section.students-review .eg-students-excerpt {
  width: 100%;
}
.et-db .et-l .custom-section.students-review .eg-students-excerpt.is-clamped {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_content p {
  margin: 0 0 var(--space-20);
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_content p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.students-review .eg-students-excerpt.is-clamped p {
  margin-bottom: 0.35em;
}
.et-db .et-l .custom-section.students-review .eg-students-more {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-terracota);
  text-underline-offset: 3px;
  cursor: pointer;
  transition: all var(--transition-default);

  &:hover {
    color: var(--color-amber);
  }
}
.et-db .et-l .custom-section.students-review .eg-students-more[hidden] {
  display: none !important;
}
.et-db .et-l .custom-section.students-review .eg-review-person {
  display: flex;
  align-items: center;
  gap: var(--space-15);
  margin-top: auto;
  width: 100%;
}
.et-db .et-l .custom-section.students-review .eg-review-person__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_portrait {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  display: block !important;
  flex: 0 0 56px;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background-color: var(--color-soft-gray) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_portrait img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_author {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  font-style: normal !important;
}
.et-db .et-l .custom-section.students-review .et_pb_testimonial_author::before,
.et-db .et-l .custom-section.students-review .et_pb_testimonial_author::after {
  display: none !important;
  content: none !important;
}

/* —— 19.4 Controles (setas) —— */

.et-db .et-l .custom-section.students-review .eg-students-controllers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-15);
  margin: var(--space-20) auto 0;
  padding: 0;
}
.et-db .et-l .custom-section.students-review .eg-students-controllers button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-night-blue);
  border-radius: 50%;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  cursor: pointer;
  transition:
    transform var(--transition-default),
    opacity var(--transition-default),
    background-color var(--transition-default);
}
.et-db .et-l .custom-section.students-review .eg-students-controllers button[data-dir="prev"] {
  background-image: url(../images/icon-arrow-left.svg);
}
.et-db .et-l .custom-section.students-review .eg-students-controllers button[data-dir="next"] {
  background-image: url(../images/icon-arrow-right.svg);
}
.et-db .et-l .custom-section.students-review .eg-students-controllers button:hover {
  transform: scale(0.96);
  opacity: 0.85;
}

.et-db .et-l .custom-section.students-review .et_pb_testimonial_position {
  display: none;
}

body.et-fb .et-db .et-l .custom-section.students-review .eg-students-controllers {
  display: none;
}
body.et-fb .et-db .et-l .custom-section.students-review .custom-content.review > .et_pb_column {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-30);
  padding: 0 var(--space-20);
}
body.et-fb .et-db .et-l .custom-section.students-review .et_pb_testimonial {
  flex: 1 1 320px;
  max-width: 520px;
}

/* —— 19.5 Modal —— */

body.eg-students-modal-open {
  overflow: hidden;
}
.et-db .et-l .custom-section.students-review .eg-students-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--header-z-index) + 40);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-30);
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease;
}
.et-db .et-l .custom-section.students-review .eg-students-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.et-db .et-l .custom-section.students-review .eg-students-modal[hidden] {
  display: none !important;
}
.et-db .et-l .custom-section.students-review .eg-students-modal.is-open[hidden] {
  display: flex !important;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(27, 58, 75, 0.72);
  cursor: pointer;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-20);
  width: min(560px, 100%);
  max-height: min(90vh, 840px);
  margin: 0;
  padding: 0;
  outline: none;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__close {
  position: absolute;
  top: var(--space-20);
  right: var(--space-20);
  z-index: 2;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 1L13 13M13 1L1 13' stroke='%231B3A4B' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat;
  box-shadow: var(--shadow-card);
  cursor: pointer;
  transition: transform var(--transition-default), opacity var(--transition-default);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__close:hover {
  opacity: 0.9;
  transform: scale(0.96);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card {
  overflow: hidden;
  border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial {
  display: flex;
  flex-direction: column;
  flex: none;
  width: 100%;
  max-width: none;
  height: min(560px, 72vh);
  margin: 0;
  padding-top: calc(var(--space-30) + 28px);
  overflow: hidden;
  scroll-snap-align: unset;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card.is-leaving .et_pb_testimonial {
  opacity: 0;
  transform: translate3d(var(--eg-modal-shift, -28px), 0, 0);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card.is-entering .et_pb_testimonial {
  opacity: 0;
  transform: translate3d(var(--eg-modal-shift, 28px), 0, 0);
  transition: none;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_inner {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_description {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_description_inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  max-height: 100%;
  margin: 0;
  padding: 0 var(--space-5) 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  gap: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(27, 58, 75, 0.18) transparent;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content::-webkit-scrollbar-track {
  background: transparent;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content::-webkit-scrollbar-thumb {
  background: rgba(27, 58, 75, 0.16);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content::-webkit-scrollbar-thumb:hover {
  background: rgba(27, 58, 75, 0.28);
  border: 2px solid transparent;
  background-clip: padding-box;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .eg-review-person {
  flex: 0 0 auto;
  margin-top: var(--space-20);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content p {
  display: block;
  margin: 0 0 var(--space-20);
  white-space: normal;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content strong,
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content b {
  font-weight: var(--font-weight-bold);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content em,
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content i {
  font-style: italic;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content a {
  color: var(--color-night-blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content ul,
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content ol {
  margin: 0 0 var(--space-20);
  padding-left: 1.25em;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__card .et_pb_testimonial_content li {
  margin: 0 0 var(--space-10);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-15);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav[hidden] {
  display: none !important;
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav button {
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--color-white);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  box-shadow: var(--shadow-card);
  cursor: pointer;
  transition: transform var(--transition-default), opacity var(--transition-default);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav button[data-dir="prev"] {
  background-image: url(../images/icon-arrow-left.svg);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav button[data-dir="next"] {
  background-image: url(../images/icon-arrow-right.svg);
}
.et-db .et-l .custom-section.students-review .eg-students-modal__nav button:hover {
  transform: scale(0.96);
  opacity: 0.9;
}

/* ==========================================================================
   20. INTERNAL TOP (páginas internas – reutilizável)
   ========================================================================== */

/* —— 20.1 Layout —— */

.et-db .et-l .custom-section.internal-top {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.internal-top .custom-content {
  display: block !important;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.internal-top .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* —— 20.2 Cabeçalho (title + feature) —— */

.et-db .et-l .custom-section.internal-top .custom-content:not(.review):not(.card-contact) {
  padding-bottom: var(--space-50);
  margin-bottom: var(--space-50) !important;
  border-bottom: 1px solid var(--color-cream);
}
.et-db .et-l .custom-section.internal-top.no-border .custom-content:not(.review):not(.card-contact) {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0 !important;
}
.et-db .et-l .custom-section.internal-top .title {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.internal-top .title .et_pb_title_container {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.internal-top .title .entry-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-terracota);
}
.et-db .et-l .custom-section.internal-top .feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.internal-top .feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.internal-top .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.internal-top .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}

/* —— 20.3 Corpo em 2 colunas (review) —— */

.et-db .et-l .custom-section.internal-top .custom-content.review {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  align-items: flex-start;
}
.et-db .et-l .custom-section.internal-top .custom-content.review > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
}
.et-db .et-l .custom-section.internal-top .custom-content.review .et_pb_button_module_wrapper {
  margin: 0;
  width: auto;
}
.et-db .et-l .custom-section.internal-top .text-feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.internal-top .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.internal-top .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.internal-top .text-feature .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.internal-top .text-feature .et_pb_text_inner h2 {
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.internal-top .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.internal-top .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.internal-top .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.internal-top .text .et_pb_text_inner p:empty {
  display: none;
}

/* —— 20.4 Variante creme —— */

.et-db .et-l .custom-section.internal-top.creme {
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.internal-top.creme .custom-content:not(.review):not(.card-contact) {
  border-bottom-color: var(--color-white);
}
.et-db .et-l .custom-section.internal-top.creme .title .entry-title {
  color: var(--color-terracota);
}
.et-db .et-l .custom-section.internal-top.creme .feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top.creme .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.internal-top.creme .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.internal-top.creme .feature .et_pb_text_inner h3 {
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.internal-top.creme .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top.creme .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.internal-top.creme .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.internal-top.creme .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.internal-top.creme .text-feature .et_pb_text_inner p {
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.internal-top.creme .text .et_pb_text_inner p {
  color: var(--color-night-blue);
}

/* —— 20.5 Variante dark —— */

.et-db .et-l .custom-section.internal-top.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.internal-top.dark .custom-content:not(.review):not(.card-contact) {
  border-bottom-color: rgba(247, 237, 216, 0.2);
}
.et-db .et-l .custom-section.internal-top.dark .title .entry-title {
  color: var(--color-amber);
}
.et-db .et-l .custom-section.internal-top.dark .feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top.dark .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.internal-top.dark .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.internal-top.dark .feature .et_pb_text_inner h3 {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.internal-top.dark .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top.dark .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.internal-top.dark .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.internal-top.dark .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.internal-top.dark .text-feature .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.internal-top.dark .text .et_pb_text_inner p {
  color: var(--color-cream);
}

/* —— 20.6 Variante card-contact (Contatos) —— */

.et-db .et-l .custom-section.internal-top:has(.card-contact) .title .entry-title {
  color: var(--color-amber);
}
.et-db .et-l .custom-section.internal-top:has(.card-contact) .text-feature {
  max-width: 720px;
}
.et-db .et-l .custom-section.internal-top:has(.card-contact) .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top:has(.card-contact) .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.internal-top:has(.card-contact) .text-feature .et_pb_text_inner h4,
.et-db .et-l .custom-section.internal-top:has(.card-contact) .text-feature .et_pb_text_inner p {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.internal-top .custom-content.card-contact {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-30);
  margin-top: var(--space-50) !important;
  align-items: stretch;
}
.et-db .et-l .custom-section.internal-top .custom-content.card-contact > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: var(--space-50);
  background-color: var(--color-light-gray);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
  float: none;
  min-width: 0;
}
.et-db .et-l .custom-section.internal-top .card-contact .subtitle {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.internal-top .card-contact .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.internal-top .card-contact .subtitle .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.internal-top .card-contact .text {
  flex: 1;
}
.et-db .et-l .custom-section.internal-top .card-contact .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
  width: auto;
  align-self: flex-start;
}

/* ==========================================================================
   21. TEXT IMAGE (imagem + texto – reutilizável)
   ========================================================================== */

/* —— 21.1 Layout —— */

.et-db .et-l .custom-section.text-image {
  padding: var(--space-80) 0;
  margin: 0;
}
.et-db .et-l .custom-section.text-image .custom-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  row-gap: var(--space-50);
  align-items: center;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
  flex: unset !important;
  flex-basis: auto !important;
}

/* Coluna de texto: funciona à esquerda ou à direita */
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.text-feature),
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.text),
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column.content-text {
  align-items: flex-start;
  gap: var(--space-30);
}

/* Coluna de imagem: funciona à esquerda ou à direita */
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.et_pb_image),
.et-db .et-l .custom-section.text-image .custom-content > .et_pb_column.content-image {
  align-items: center;
}

/* Variante: inverte lados (DOM imagem|texto → visual texto|imagem) */
.et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.et_pb_image) {
  order: 2;
}
.et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.text-feature),
.et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.text) {
  order: 1;
}

/* —— 21.2 Imagem —— */

.et-db .et-l .custom-section.text-image .et_pb_image {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.et-db .et-l .custom-section.text-image .et_pb_image .et_pb_image_wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--border-radius-20);
}
.et-db .et-l .custom-section.text-image .et_pb_image.no-radius .et_pb_image_wrap {
  border-radius: 0 !important;
  max-width: 450px;
  margin: 0 auto;
}
.et-db .et-l .custom-section.text-image .et_pb_image img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: center center;
}

/* —— 21.3 Título (text-feature) —— */

.et-db .et-l .custom-section.text-image .text-feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-image .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-image .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image .text-feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* —— 21.4 Texto —— */

.et-db .et-l .custom-section.text-image .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-image .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.text-image .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.text-image .text .et_pb_text_inner strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-image .text .et_pb_text_inner p:empty {
  display: none;
}

/* —— 21.5 Botão (usa .custom-button) —— */

.et-db .et-l .custom-section.text-image .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}

/* —— 21.6 Variante dark —— */

.et-db .et-l .custom-section.text-image.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-image.dark .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-image.dark .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image.dark .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image.dark .text-feature .et_pb_text_inner h4 {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.text-image.dark .text .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.text-image.dark .text .et_pb_text_inner strong {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-image.dark .et_pb_image .et_pb_image_wrap {
  border-radius: var(--border-radius-30);
}

/* —— 21.7 Variantes terracota / amber / light (Bolsas) —— */

.et-db .et-l .custom-section.text-image .text-feature.terracota .et_pb_text_inner,
.et-db .et-l .custom-section.text-image .text-feature.terracota .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image .text-feature.terracota .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image .text-feature.terracota .et_pb_text_inner h4 {
  font-weight: var(--font-weight-semibold);
  color: var(--color-terracota);
}
.et-db .et-l .custom-section.text-image .text-feature.amber .et_pb_text_inner,
.et-db .et-l .custom-section.text-image .text-feature.amber .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image .text-feature.amber .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image .text-feature.amber .et_pb_text_inner h4 {
  font-weight: var(--font-weight-semibold);
  color: var(--color-amber);
}
.et-db .et-l .custom-section.text-image:has(.text.light) {
  background-color: var(--color-night-blue);
  padding: var(--space-100) 0;
}
.et-db .et-l .custom-section.text-image:has(.text.light) .custom-content {
  column-gap: var(--space-60);
}
.et-db .et-l .custom-section.text-image .text.light .et_pb_text_inner p {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-image .text.light .et_pb_text_inner strong {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-image:has(.text.light) .et_pb_image .et_pb_image_wrap {
  border-radius: var(--border-radius-30);
}

/* —— 21.8 Variante review (raio imagem) —— */

.et-db .et-l .custom-section.text-image:has(.custom-content.review) {
  padding: var(--space-100) 0;
}
.et-db .et-l .custom-section.text-image .custom-content.review {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  justify-content: space-between;
}
.et-db .et-l .custom-section.text-image .custom-content.review > .et_pb_column.content-text {
  max-width: none;
  gap: var(--space-30);
}
.et-db .et-l .custom-section.text-image .custom-content.review > .et_pb_column.content-image {
  max-width: none;
}
.et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h4 {
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
}
.et-db .et-l .custom-section.text-image .custom-content.review .et_pb_image .et_pb_image_wrap {
  width: 100%;
  aspect-ratio: 29 / 22;
  border-radius: var(--border-radius-40);
}
.et-db .et-l .custom-section.text-image .custom-content.review .et_pb_image img {
  height: 100%;
  object-fit: contain;
}
.et-db .et-l .custom-section.text-image .custom-content.review .et_pb_image.img-full img{
  object-fit: cover;
}
.et-db .et-l .custom-section.text-image:has(.text.light) .custom-content.review .et_pb_image .et_pb_image_wrap {
  border-radius: var(--border-radius-30);
}

/* —— 21.9 Variante light + review (gradiente Miné — Figma 922:7789) —— */

.et-db .et-l .custom-section.text-image.light {
  padding: var(--space-100) 0;
  background-color: var(--color-coral-orange);
  background-image: linear-gradient(
    250deg,
    var(--color-coral-orange) 0%,
    var(--color-crimson-red) 100%
  );
}
.et-db .et-l .custom-section.text-image.light .custom-content.review {
  column-gap: var(--space-80);
  align-items: center;
}
.et-db .et-l .custom-section.text-image.light .custom-content.review > .et_pb_column.content-text {
  gap: var(--space-35);
}
.et-db .et-l .custom-section.text-image.light .custom-content.review .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-image.light .custom-content.review .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image.light .custom-content.review .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image.light .custom-content.review .text-feature .et_pb_text_inner h4 {
  color: var(--color-white);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
}
.et-db .et-l .custom-section.text-image.light .text .et_pb_text_inner {
  gap: var(--space-25);
}
.et-db .et-l .custom-section.text-image.light .text .et_pb_text_inner p {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-image.light .text .et_pb_text_inner strong {
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-image.light .custom-content.review .et_pb_image .et_pb_image_wrap {
  border-radius: var(--border-radius-40);
}
.et-db .et-l .custom-section.text-image.light .custom-content.review .et_pb_image img {
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   22. TEXT IMAGE FULL (texto + imagem full – reutilizável)
   ========================================================================== */

/* —— 22.1 Layout —— */

.et-db .et-l .custom-section.text-image-full {
  padding: 0;
  margin: 0;
  overflow: hidden;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.text-image-full .custom-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
  min-width: 0;
  flex: unset;
  flex-basis: auto;
}
.et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--space-30);
  box-sizing: border-box;
  padding: var(--space-80) var(--space-50) var(--space-80)
    max(var(--space-50), calc((100vw - var(--layout-content-width)) / 2));
}
.et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:last-child {
  position: relative;
  min-height: 520px;
  overflow: hidden;
}

/* Variante: imagem à esquerda */
.et-db .et-l .custom-section.text-image-full.reverse .custom-content > .et_pb_column:first-child {
  order: 2;
  padding: var(--space-80)
    max(var(--space-50), calc((100vw - var(--layout-content-width)) / 2))
    var(--space-80) var(--space-50);
}
.et-db .et-l .custom-section.text-image-full.reverse .custom-content > .et_pb_column:last-child {
  order: 1;
}

/* —— 22.2 Título (text-feature) —— */

.et-db .et-l .custom-section.text-image-full .text-feature {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 560px;
}
.et-db .et-l .custom-section.text-image-full .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-image-full .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image-full .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image-full .text-feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  -webkit-hyphens: none;
}

/* —— 22.3 Texto —— */

.et-db .et-l .custom-section.text-image-full .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  max-width: 560px;
}
.et-db .et-l .custom-section.text-image-full .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.text-image-full .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.text-image-full .text .et_pb_text_inner p:empty {
  display: none;
}

/* —— 22.4 Imagem full —— */

.et-db .et-l .custom-section.text-image-full .et_pb_image {
  position: absolute !important;
  inset: 0;
  margin: 0 !important;
  padding: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
.et-db .et-l .custom-section.text-image-full .et_pb_image .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.et-db .et-l .custom-section.text-image-full .et_pb_image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: cover;
  object-position: center center;
}

/* —— 22.4b Item Contact (telefone / e-mail) —— */

.et-db .et-l .item-contact {
  width: 100%;
  max-width: 560px;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .item-contact .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .item-contact .et_pb_main_blurb_image {
  display: none !important;
}
.et-db .et-l .item-contact .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .item-contact .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  letter-spacing: 0;
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .item-contact .et_pb_blurb_description {
  margin: 0;
  padding: 0;
}
.et-db .et-l .item-contact .et_pb_blurb_description [data-metadata],
.et-db .et-l .item-contact .et_pb_blurb_description [data-buffer] {
  display: none !important;
}
.et-db .et-l .item-contact .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .item-contact .et_pb_blurb_description span,
.et-db .et-l .item-contact .et_pb_blurb_description a,
.et-db .et-l .item-contact .et_pb_blurb_description a span {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: var(--color-night-blue);
  text-decoration: none;
  transition: var(--transition-default);
}
.et-db .et-l .item-contact .et_pb_blurb_description a:hover,
.et-db .et-l .item-contact .et_pb_blurb_description a:hover span {
  color: var(--color-terracota);
}

/* —— 22.5 Variante com formulário (imagem + form) —— */

.et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content > .et_pb_column:has(.et_pb_image) {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  padding: 0 !important;
  order: 1;
}
.et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content > .et_pb_column:has(.custom-form) {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  gap: 0;
  min-height: 0;
  overflow: visible;
  order: 2;
  padding: var(--space-80)
    max(var(--space-50), calc((100vw - var(--layout-content-width)) / 2))
    var(--space-80)
    var(--space-50);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-form {
  width: 100%;
  max-width: 560px;
  margin: 0;
}

/* Variante form: imagem à direita + formulário à esquerda */
.et-db .et-l .custom-section.text-image-full.image-right:has(.custom-form) .custom-content > .et_pb_column:has(.custom-form) {
  order: 1;
  padding: var(--space-80) var(--space-50) var(--space-80)
    max(var(--space-50), calc((100vw - var(--layout-content-width)) / 2));
}
.et-db .et-l .custom-section.text-image-full.image-right:has(.custom-form) .custom-content > .et_pb_column:has(.et_pb_image) {
  order: 2;
}

/* —— 22.6 Custom Form (CF7) —— */

body .custom-form,
.et-db .et-l .custom-form {
  font-family: var(--font-family-manrope);
  color: var(--color-gray);
}
body .custom-form .wpcf7,
.et-db .et-l .custom-form .wpcf7 {
  margin: 0;
}
body .custom-form .wpcf7 form,
.et-db .et-l .custom-form .wpcf7 form {
  margin: 0;
  padding: 0;
}
body .custom-form .wpcf7 form > p,
.et-db .et-l .custom-form .wpcf7 form > p {
  margin: 0;
}
body .custom-form .subtitle,
.et-db .et-l .custom-form .subtitle {
  margin: 0 0 var(--space-30);
  padding: 0;
}
body .custom-form .subtitle h2,
.et-db .et-l .custom-form .subtitle h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
}
body .custom-form .form-row,
.et-db .et-l .custom-form .form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-20);
  margin: 0 0 var(--space-20);
}

body .custom-form .form-row > div,
.et-db .et-l .custom-form .form-row > div {
  flex: 1 1 calc(50% - var(--space-20) / 2);
  min-width: 0;
}
body .custom-form .form-row > div:only-child,
.et-db .et-l .custom-form .form-row > div:only-child {
  flex: 1 1 100%;
}
body .custom-form .form-row p,
.et-db .et-l .custom-form .form-row p {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
body .custom-form .form-row p br,
.et-db .et-l .custom-form .form-row p br {
  display: none;
}
body .custom-form label,
.et-db .et-l .custom-form label {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}
body .custom-form .wpcf7-form-control-wrap,
.et-db .et-l .custom-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
body .custom-form .form-control,
body .custom-form input.wpcf7-form-control,
body .custom-form select.wpcf7-form-control,
body .custom-form textarea.wpcf7-form-control,
.et-db .et-l .custom-form .form-control,
.et-db .et-l .custom-form input.wpcf7-form-control,
.et-db .et-l .custom-form select.wpcf7-form-control,
.et-db .et-l .custom-form textarea.wpcf7-form-control {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--color-soft-gray);
  border-radius: var(--border-radius-10);
  background-color: transparent;
  box-shadow: none;
  box-sizing: border-box;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  transition:
    border-color var(--transition-default),
    box-shadow var(--transition-default);
}
body .custom-form textarea.wpcf7-form-control,
.et-db .et-l .custom-form textarea.wpcf7-form-control {
  min-height: 140px;
  resize: vertical;
}
body .custom-form .form-control::placeholder,
body .custom-form input.wpcf7-form-control::placeholder,
body .custom-form textarea.wpcf7-form-control::placeholder,
.et-db .et-l .custom-form .form-control::placeholder,
.et-db .et-l .custom-form input.wpcf7-form-control::placeholder,
.et-db .et-l .custom-form textarea.wpcf7-form-control::placeholder {
  color: #9A9A9A;
  opacity: 1;
}
body .custom-form .form-control:focus,
body .custom-form input.wpcf7-form-control:focus,
body .custom-form select.wpcf7-form-control:focus,
body .custom-form textarea.wpcf7-form-control:focus,
.et-db .et-l .custom-form .form-control:focus,
.et-db .et-l .custom-form input.wpcf7-form-control:focus,
.et-db .et-l .custom-form select.wpcf7-form-control:focus,
.et-db .et-l .custom-form textarea.wpcf7-form-control:focus {
  outline: none;
  border-color: var(--color-night-blue);
  box-shadow: none;
}
body .custom-form select.wpcf7-form-control,
.et-db .et-l .custom-form select.wpcf7-form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231B3A4B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}
body .custom-form .wpcf7-form-control-wrap:has(input[type="file"]),
.et-db .et-l .custom-form .wpcf7-form-control-wrap:has(input[type="file"]) {
  position: relative;
  display: block;
}
body .custom-form .wpcf7-form-control-wrap:has(input[type="file"])::after,
.et-db .et-l .custom-form .wpcf7-form-control-wrap:has(input[type="file"])::after {
  content: "selecione o arquivo";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-100);
  color: var(--color-gray);
  pointer-events: none;
  white-space: nowrap;
}
body .custom-form .wpcf7-form-control-wrap:has(input[type="file"].has-file)::after,
.et-db .et-l .custom-form .wpcf7-form-control-wrap:has(input[type="file"].has-file)::after {
  content: none;
}
body .custom-form input[type="file"].wpcf7-form-control,
.et-db .et-l .custom-form input[type="file"].wpcf7-form-control {
  padding-right: 160px;
  cursor: pointer;
  color: var(--color-night-blue);
}
body .custom-form input[type="file"].wpcf7-form-control:not(.has-file),
.et-db .et-l .custom-form input[type="file"].wpcf7-form-control:not(.has-file) {
  color: transparent;
}
body .custom-form input[type="file"].wpcf7-form-control::file-selector-button,
.et-db .et-l .custom-form input[type="file"].wpcf7-form-control::file-selector-button {
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
}
body .custom-form .form-lgpd-note,
.et-db .et-l .custom-form .form-lgpd-note {
  flex: 1 1 100%;
  margin: 0;
  font-size: var(--font-size-small);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
body .custom-form .form-row--lgpd,
.et-db .et-l .custom-form .form-row--lgpd {
  margin-bottom: var(--space-50);
}
/* Nota + checkbox + texto na mesma linha (wpautop costuma separar em <p>) */
body .custom-form .form-row--lgpd > div,
.et-db .et-l .custom-form .form-row--lgpd > div {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  column-gap: var(--space-15);
  row-gap: var(--space-20);
}
body .custom-form .form-row--lgpd > div > p,
.et-db .et-l .custom-form .form-row--lgpd > div > p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
body .custom-form .form-row--lgpd > div > p:has(.wpcf7-acceptance),
.et-db .et-l .custom-form .form-row--lgpd > div > p:has(.wpcf7-acceptance) {
  display: flex;
  flex: 0 0 auto;
  flex-direction: initial;
  align-items: flex-start;
  gap: var(--space-15);
  max-width: 100%;
}
body .custom-form .form-row--lgpd > div > p:not(.form-lgpd-note):not(:has(.wpcf7-acceptance)),
.et-db .et-l .custom-form .form-row--lgpd > div > p:not(.form-lgpd-note):not(:has(.wpcf7-acceptance)) {
  flex: 1 1 0;
  min-width: 0;
}
body .custom-form .form-row--lgpd .wpcf7-form-control-wrap,
.et-db .et-l .custom-form .form-row--lgpd .wpcf7-form-control-wrap {
  width: 18px;
  display: inline-flex;
  margin: 0;
  padding: 0;
  line-height: 0;
}
body .custom-form .form-row--lgpd .wpcf7-acceptance,
body .custom-form .form-row--lgpd .wpcf7-list-item,
.et-db .et-l .custom-form .form-row--lgpd .wpcf7-acceptance,
.et-db .et-l .custom-form .form-row--lgpd .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 0;
}
body .custom-form .form-row--lgpd input[type="checkbox"],
.et-db .et-l .custom-form .form-row--lgpd input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  accent-color: var(--color-night-blue);
  cursor: pointer;
}
body .custom-form .form-row--lgpd .wpcf7-not-valid-tip,
.et-db .et-l .custom-form .form-row--lgpd .wpcf7-not-valid-tip {
  flex: 1 1 100%;
  width: 100%;
  order: 10;
  margin-top: 0;
}
body .custom-form .wpcf7-acceptance,
.et-db .et-l .custom-form .wpcf7-acceptance {
  display: block;
  margin: 0;
}
body .custom-form .wpcf7-list-item,
.et-db .et-l .custom-form .wpcf7-list-item {
  display: block;
  margin: 0;
}
body .custom-form .wpcf7-list-item > label,
.et-db .et-l .custom-form .wpcf7-list-item > label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
  font-weight: var(--font-weight-regular);
  color: var(--color-gray);
  cursor: pointer;
}
body .custom-form .wpcf7-list-item input[type="checkbox"],
.et-db .et-l .custom-form .wpcf7-list-item input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--color-night-blue);
  cursor: pointer;
}
body .custom-form .wpcf7-list-item-label,
.et-db .et-l .custom-form .wpcf7-list-item-label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
body .custom-form .form-row--submit,
.et-db .et-l .custom-form .form-row--submit {
  margin-bottom: 0;
}
body .custom-form .form-row--submit p,
.et-db .et-l .custom-form .form-row--submit p {
  display: inline-flex;
  align-items: center;
  gap: var(--space-15);
}
body .custom-form .form-submit,
body .custom-form input.wpcf7-submit,
.et-db .et-l .custom-form .form-submit,
.et-db .et-l .custom-form input.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  margin: 0;
  padding: 14px 36px;
  border: 0;
  border-radius: var(--border-radius-50);
  background-color: var(--color-night-blue);
  box-shadow: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-cream);
  cursor: pointer;
  transition:
    transform var(--transition-default),
    background-color var(--transition-default),
    opacity var(--transition-default);
}
body .custom-form .form-submit:hover,
body .custom-form input.wpcf7-submit:hover,
.et-db .et-l .custom-form .form-submit:hover,
.et-db .et-l .custom-form input.wpcf7-submit:hover {
  background-color: var(--color-terracota);
  color: var(--color-cream);
  transform: scale(0.98);
  box-shadow: none;
}
body .custom-form .wpcf7-form.submitting .form-submit,
body .custom-form .wpcf7-form.submitting input.wpcf7-submit,
.et-db .et-l .custom-form .wpcf7-form.submitting .form-submit,
.et-db .et-l .custom-form .wpcf7-form.submitting input.wpcf7-submit {
  opacity: 0.72;
  pointer-events: none;
  transform: none;
}
body .custom-form .wpcf7-spinner,
.et-db .et-l .custom-form .wpcf7-spinner {
  margin: 0;
  background-color: var(--color-night-blue);
}

/* —— Feedback: campos inválidos (somente borda + tip) —— */

body .custom-form .wpcf7-form-control.wpcf7-not-valid:not([type="checkbox"]):not(.wpcf7-acceptance),
.et-db .et-l .custom-form .wpcf7-form-control.wpcf7-not-valid:not([type="checkbox"]):not(.wpcf7-acceptance) {
  border-color: var(--color-terracota) !important;
  background-color: var(--color-white);
  box-shadow: none;
}
body .custom-form .wpcf7-form-control.wpcf7-not-valid:not([type="checkbox"]):not(.wpcf7-acceptance):focus,
.et-db .et-l .custom-form .wpcf7-form-control.wpcf7-not-valid:not([type="checkbox"]):not(.wpcf7-acceptance):focus {
  border-color: var(--color-terracota) !important;
  background-color: var(--color-white);
  box-shadow: none;
}
body .custom-form .wpcf7-not-valid-tip,
.et-db .et-l .custom-form .wpcf7-not-valid-tip {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: var(--space-10);
  padding: 10px 12px;
  border: 0;
  border-radius: var(--border-radius-10);
  background-color: rgba(212, 86, 42, 0.08);
  color: var(--color-terracota);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-150);
  animation: eg-form-feedback-in 0.28s ease;
}
body .custom-form .wpcf7-not-valid-tip::before,
.et-db .et-l .custom-form .wpcf7-not-valid-tip::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8 4.5V8.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11' r='0.9' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8 4.5V8.5' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11' r='0.9' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* LGPD / acceptance: tip + borda no checkbox (sem fundo) */
body .custom-form .wpcf7-acceptance.wpcf7-not-valid,
body .custom-form .wpcf7-form-control-wrap.is-invalid .wpcf7-acceptance,
.et-db .et-l .custom-form .wpcf7-acceptance.wpcf7-not-valid,
.et-db .et-l .custom-form .wpcf7-form-control-wrap.is-invalid .wpcf7-acceptance {
  background: transparent;
  box-shadow: none;
}
body .custom-form .form-row--lgpd input.wpcf7-not-valid[type="checkbox"],
body .custom-form .wpcf7-acceptance.wpcf7-not-valid input[type="checkbox"],
body .custom-form .wpcf7-form-control-wrap.is-invalid input[type="checkbox"],
body .custom-form .wpcf7-acceptance input.wpcf7-not-valid[type="checkbox"],
.et-db .et-l .custom-form .form-row--lgpd input.wpcf7-not-valid[type="checkbox"],
.et-db .et-l .custom-form .wpcf7-acceptance.wpcf7-not-valid input[type="checkbox"],
.et-db .et-l .custom-form .wpcf7-form-control-wrap.is-invalid input[type="checkbox"],
.et-db .et-l .custom-form .wpcf7-acceptance input.wpcf7-not-valid[type="checkbox"] {
  outline: 2px solid var(--color-terracota);
  outline-offset: 2px;
}

/* —— Feedback: resposta do formulário —— */

body .custom-form .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-response-output {
  position: relative;
  display: none;
  align-items: flex-start;
  gap: 12px;
  margin: var(--space-30) 0 0;
  padding: 16px 18px 16px 18px;
  border: 1px solid transparent;
  border-radius: var(--border-radius-20);
  box-shadow: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  animation: eg-form-feedback-in 0.35s ease;
}
body .custom-form .wpcf7-form:not(.init):not(.resetting) .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form:not(.init):not(.resetting) .wpcf7-response-output {
  display: flex !important;
}
body .custom-form .wpcf7-form.init .wpcf7-response-output,
body .custom-form .wpcf7-form.resetting .wpcf7-response-output,
body .custom-form .wpcf7-form.submitting .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.init .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.resetting .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.submitting .wpcf7-response-output {
  display: none !important;
}
body .custom-form .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-response-output::before {
  content: "";
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='9' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M11 7V12' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='11' cy='15' r='1' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='9' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M11 7V12' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3Ccircle cx='11' cy='15' r='1' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .custom-form .wpcf7-form.sent .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.sent .wpcf7-response-output {
  border-color: rgba(74, 124, 89, 0.22);
  background: linear-gradient(135deg, rgba(74, 124, 89, 0.1), rgba(74, 124, 89, 0.04));
  color: var(--color-night-blue);
}
body .custom-form .wpcf7-form.sent .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.sent .wpcf7-response-output::before {
  background-color: var(--color-green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='9' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M7.5 11.2L10 13.7L14.5 8.8' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Ccircle cx='11' cy='11' r='9' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M7.5 11.2L10 13.7L14.5 8.8' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .custom-form .wpcf7-form.invalid .wpcf7-response-output,
body .custom-form .wpcf7-form.unaccepted .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.invalid .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.unaccepted .wpcf7-response-output {
  border-color: rgba(242, 164, 58, 0.35);
  background: linear-gradient(135deg, rgba(242, 164, 58, 0.16), rgba(242, 164, 58, 0.05));
  color: var(--color-night-blue);
}
body .custom-form .wpcf7-form.invalid .wpcf7-response-output::before,
body .custom-form .wpcf7-form.unaccepted .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.invalid .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.unaccepted .wpcf7-response-output::before {
  background-color: var(--color-amber);
}
body .custom-form .wpcf7-form.failed .wpcf7-response-output,
body .custom-form .wpcf7-form.aborted .wpcf7-response-output,
body .custom-form .wpcf7-form.spam .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.failed .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.aborted .wpcf7-response-output,
.et-db .et-l .custom-form .wpcf7-form.spam .wpcf7-response-output {
  border-color: rgba(212, 86, 42, 0.28);
  background: linear-gradient(135deg, rgba(212, 86, 42, 0.12), rgba(212, 86, 42, 0.04));
  color: var(--color-night-blue);
}
body .custom-form .wpcf7-form.failed .wpcf7-response-output::before,
body .custom-form .wpcf7-form.aborted .wpcf7-response-output::before,
body .custom-form .wpcf7-form.spam .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.failed .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.aborted .wpcf7-response-output::before,
.et-db .et-l .custom-form .wpcf7-form.spam .wpcf7-response-output::before {
  background-color: var(--color-terracota);
}
@keyframes eg-form-feedback-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  body .custom-form .wpcf7-not-valid-tip,
  body .custom-form .wpcf7-response-output,
  .et-db .et-l .custom-form .wpcf7-not-valid-tip,
  .et-db .et-l .custom-form .wpcf7-response-output {
    animation: none;
  }
}

/* —— 22.6b Custom Form Script (Lummi nativo) ——
   Módulo Code: classes `custom-form script`.
   Visual alinhado ao CF7 (22.6), sem alterar .custom-form sem .script.
   Envio via API Lumni (JS). Iframe legado só se ainda existir no HTML. */

body .custom-form.script,
.et-db .et-l .custom-form.script {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  overflow: visible;
  line-height: var(--line-height-120);
}
body .custom-form.script .et_pb_code_inner,
.et-db .et-l .custom-form.script .et_pb_code_inner {
  margin: 0;
  padding: 0;
}
body .custom-form.script .eg-lummi-form,
.et-db .et-l .custom-form.script .eg-lummi-form {
  margin: 0;
  padding: 0;
}
body .custom-form.script .subtitle h2,
body .custom-form.script .subtitle h3,
.et-db .et-l .custom-form.script .subtitle h2,
.et-db .et-l .custom-form.script .subtitle h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
}
body .custom-form.script select.form-control,
.et-db .et-l .custom-form.script select.form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231B3A4B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}
body .custom-form.script select.form-control.is-placeholder,
.et-db .et-l .custom-form.script select.form-control.is-placeholder {
  color: #9A9A9A;
}
body .custom-form.script select.form-control option,
.et-db .et-l .custom-form.script select.form-control option {
  color: var(--color-night-blue);
}
body .custom-form.script .eg-field-wrap,
.et-db .et-l .custom-form.script .eg-field-wrap {
  display: block;
  width: 100%;
}
body .custom-form.script .eg-feedback,
.et-db .et-l .custom-form.script .eg-feedback {
  display: none;
  margin-top: var(--space-10);
  padding: 10px 12px;
  border-radius: var(--border-radius-10);
  background-color: rgba(212, 86, 42, 0.08);
  color: var(--color-terracota);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  line-height: var(--line-height-150);
}
body .custom-form.script .is-invalid .eg-feedback,
.et-db .et-l .custom-form.script .is-invalid .eg-feedback {
  display: block;
}
body .custom-form.script .is-invalid .form-control,
.et-db .et-l .custom-form.script .is-invalid .form-control {
  border-color: var(--color-terracota);
}
body .custom-form.script .form-row--lgpd .eg-acceptance,
.et-db .et-l .custom-form.script .form-row--lgpd .eg-acceptance {
  display: flex;
  align-items: flex-start;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
  flex: 1 1 100%;
}
body .custom-form.script .form-row--lgpd .eg-acceptance input[type="checkbox"],
.et-db .et-l .custom-form.script .form-row--lgpd .eg-acceptance input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--color-night-blue);
  cursor: pointer;
}
body .custom-form.script .form-row--lgpd .eg-acceptance label,
.et-db .et-l .custom-form.script .form-row--lgpd .eg-acceptance label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  cursor: pointer;
}
body .custom-form.script .form-lgpd-note a,
.et-db .et-l .custom-form.script .form-lgpd-note a {
  color: var(--color-night-blue);
  text-decoration: underline;
}
body .custom-form.script .eg-form-alert,
.et-db .et-l .custom-form.script .eg-form-alert {
  display: none;
  margin-top: var(--space-20);
  padding: 14px 16px;
  border-radius: var(--border-radius-10);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
}
body .custom-form.script .eg-form-alert.is-error,
.et-db .et-l .custom-form.script .eg-form-alert.is-error {
  background: rgba(212, 86, 42, 0.08);
  color: var(--color-terracota);
}
body .custom-form.script .eg-form-alert.is-success,
.et-db .et-l .custom-form.script .eg-form-alert.is-success {
  background: rgba(74, 124, 89, 0.12);
}
body .custom-form.script .eg-form-alert.is-success strong,
.et-db .et-l .custom-form.script .eg-form-alert.is-success strong {
  font-family: var(--font-family-playfair);
}
body .custom-form.script .form-submit.is-loading,
.et-db .et-l .custom-form.script .form-submit.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

/* Iframe Lummi legado (se ainda for usado no Code) */
body .custom-form.script:has(iframe),
.et-db .et-l .custom-form.script:has(iframe) {
  line-height: 0;
}
body .custom-form.script iframe[name="formIframe"],
body .custom-form.script iframe,
.et-db .et-l .custom-form.script iframe[name="formIframe"],
.et-db .et-l .custom-form.script iframe {
  display: block;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: transparent;
  vertical-align: top;
}
.et-db .et-l .custom-section.text-image-full:has(.custom-form.script) .custom-form.script {
  width: 100%;
  max-width: 560px;
  margin: 0;
}

/* ==========================================================================
   23. ITENS CONTACT (telefone / e-mail / endereço / horário)
   ========================================================================== */

.et-db .et-l .custom-section.itens-contact {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.itens-contact .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}

/* Uma coluna com vários blurbs → grid 4 */
.et-db .et-l .custom-section.itens-contact .custom-content > .et_pb_column:only-child {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-50);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* Quatro colunas Divi (1 blurb cada) */
.et-db .et-l .custom-section.itens-contact .custom-content:has(> .et_pb_column:nth-child(2)) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-50);
  align-items: start;
}
.et-db .et-l .custom-section.itens-contact .custom-content:has(> .et_pb_column:nth-child(2)) > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

.et-db .et-l .custom-section.itens-contact .card {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-20);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_main_blurb_image {
  display: block;
  width: 60px;
  max-width: 60px;
  height: 60px;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_image_wrap {
  display: block;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_image_wrap img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 0;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_container {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_module_header {
  margin: 0 0 var(--space-10);
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: 0;
  color: var(--color-terracota);
  text-align: left;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description,
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description a {
  color: var(--color-night-blue);
  text-decoration: none;
  transition: color var(--transition-default);
}
.et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description a:hover {
  color: var(--color-terracota);
}

/* ==========================================================================
   24. ITENS CONTACT TYPE 2 (por que trabalhar – 3 colunas centralizadas)
   ========================================================================== */

.et-db .et-l .custom-section.itens-contact-type2 {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.itens-contact-type2 > .et_pb_row {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--layout-content-pad-x);
  padding-right: var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.itens-contact-type2 > .et_pb_row:not(.custom-content) {
  margin-bottom: var(--space-50) !important;
}
.et-db .et-l .custom-section.itens-contact-type2 > .et_pb_row:not(.custom-content) > .et_pb_column {
  display: flex !important;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.itens-contact-type2 .feature {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.itens-contact-type2 .feature .et_pb_text_inner,
.et-db .et-l .custom-section.itens-contact-type2 .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.itens-contact-type2 .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.itens-contact-type2 .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.itens-contact-type2 .custom-content > .et_pb_column:only-child {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-50);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.itens-contact-type2 .card {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_main_blurb_image {
  display: block;
  width: 60px;
  max-width: 60px;
  height: 60px;
  margin: 0 !important;
  padding: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_image_wrap {
  display: block;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_image_wrap img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: 0;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_blurb_container {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_module_header {
  margin: 0 0 var(--space-10);
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_blurb_description,
.et-db .et-l .custom-section.itens-contact-type2 .card .et_pb_blurb_description p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: center;
}

/* ==========================================================================
   25. ERROR 404
   ========================================================================== */

.et-db .et-l .custom-section.error404 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(
    100dvh - var(--secondary-menu-height, 0px) - var(--primary-menu-height, 88px)
  );
  margin: 0;
  padding: var(--space-80) 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.error404 .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.error404 .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 720px;
  margin: 0 auto !important;
  padding: 0;
  float: none;
  text-align: center;
}
.et-db .et-l .custom-section.error404 .feature {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner,
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner h1 {
  font-size: clamp(72px, 12vw, 120px);
  line-height: var(--line-height-100);
}
.et-db .et-l .custom-section.error404 .feature .et_pb_text_inner h3 {
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
}
.et-db .et-l .custom-section.error404 .text-feature {
  width: 100%;
  max-width: 520px;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.error404 .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.error404 .text-feature .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}
.et-db .et-l .custom-section.error404 .et_pb_button_module_wrapper {
  margin: var(--space-20) 0 0 !important;
  padding: 0;
  text-align: center;
}
/* ==========================================================================
   26. LIST IMAGE TEXT (lista imagem + texto – reutilizável)
   ========================================================================== */

/* —— 26.1 Layout —— */

.et-db .et-l .custom-section.list-image-text {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.list-image-text > .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}

/* —— 26.2 Cabeçalho (.text) —— */

.et-db .et-l .custom-section.list-image-text > .custom-content.text {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  margin-bottom: var(--space-80) !important;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.text > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.list-image-text .feature {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.list-image-text .feature .et_pb_text_inner,
.et-db .et-l .custom-section.list-image-text .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.list-image-text .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.text .et_pb_text:not(.feature) {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.text .et_pb_text:not(.feature) .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-120);
  color: var(--color-gray);
  text-align: left;
}

/* —— 26.3 Itens (.item) —— */

.et-db .et-l .custom-section.list-image-text > .custom-content.item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-80);
  align-items: center;
  margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item:has(+ .custom-content:not(.text):not(.item)) {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item > .et_pb_column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
  min-width: 0;
  flex: unset;
  flex-basis: auto;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item .et_pb_text {
  margin: 0;
  padding: var(--space-30);
  width: 100%;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item .et_pb_text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item .image {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item .image .et_pb_image_wrap {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--border-radius-20);
}
.et-db .et-l .custom-section.list-image-text > .custom-content.item .image img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border-radius: var(--border-radius-20);
  object-fit: cover;
  object-position: center center;
}

/* —— 26.4 Animação (imagens das laterais) —— */

body:not(.et-fb) .et-l .custom-section.list-image-text > .custom-content.item .image {
  opacity: 0;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
body:not(.et-fb) .et-l .custom-section.list-image-text > .custom-content.item:not(.reverse) .image {
  transform: translate3d(64px, 0, 0);
}
body:not(.et-fb) .et-l .custom-section.list-image-text > .custom-content.item.reverse .image {
  transform: translate3d(-64px, 0, 0);
}
body:not(.et-fb) .et-l .custom-section.list-image-text > .custom-content.item .image.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
body.et-fb .et-db .et-l .custom-section.list-image-text > .custom-content.item .image,
.et-fb .custom-section.list-image-text .item .image {
  opacity: 1;
  transform: none;
}

/* —— 26.5 Fechamento —— */

.et-db .et-l .custom-section.list-image-text > .custom-content:not(.text):not(.item) {
  display: block;
  margin-top: var(--space-50);
  margin-bottom: 0;
  padding-top: var(--space-50);
  border-top: 1px solid var(--color-cream);
}
.et-db .et-l .custom-section.list-image-text > .custom-content:not(.text):not(.item) > .et_pb_column {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.list-image-text > .custom-content:not(.text):not(.item) .et_pb_text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.list-image-text > .custom-content:not(.text):not(.item) .et_pb_text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}

/* ==========================================================================
   27. TEXT SIMPLE
   ========================================================================== */

/* —— 27.1 Layout —— */

.et-db .et-l .custom-section.text-simple {
  padding: var(--space-80) 0;
  margin: 0;
}
.et-db .et-l .custom-section.text-simple.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-simple .custom-content {
  display: block !important;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-simple .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-50);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}

/* —— 27.2 Título (feature) —— */

.et-db .et-l .custom-section.text-simple .feature {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-simple .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-simple .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.text-simple .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-simple .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
  text-align: left;
}
.et_pb_section.custom-section.text-simple.dark .feature .et_pb_text_inner h2{
  font-size: var(--font-size-manifest) !important;
  line-height: var(--line-height-120) !important;
}
.et-db .et-l .custom-section.text-simple.dark .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-simple.dark .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.text-simple.dark .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-simple.dark .feature .et_pb_text_inner h3 {
  color: var(--color-cream);
}

/* —— 27.3 Texto —— */

.et-db .et-l .custom-section.text-simple .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.text-simple .text .et_pb_text_inner p {
  margin: 0 0 var(--space-20);
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.text-simple .text .et_pb_text_inner p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.text-simple.dark .text .et_pb_text_inner p {
  color: var(--color-cream);
}

/* —— 27.4 Botão —— */

.et-db .et-l .custom-section.text-simple .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.text-simple.dark .et_pb_button_module_wrapper {
  align-self: center;
}
/* ==========================================================================
   27b. SIMPLE TEXT (text-feature + texto)
   Section: custom-section simple-text
   Column: content-text
   ========================================================================== */

.et-db .et-l .custom-section.simple-text {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.simple-text .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-text .custom-content > .et_pb_column.content-text,
.et-db .et-l .custom-section.simple-text .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-30);
  width: 100%;
  margin: 0 auto;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.simple-text .text-feature {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.simple-text .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-text .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.simple-text .text-feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.et-db .et-l .custom-section.simple-text .text {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}

/* —— 27b.1 Título / subtítulo (Período Complementar) —— */

.et-db .et-l .custom-section.simple-text .custom-content:not(.period-block) .title {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .custom-content:not(.period-block) .title .et_pb_text_inner,
.et-db .et-l .custom-section.simple-text .custom-content:not(.period-block) .title .et_pb_text_inner h2,
.et-db .et-l .custom-section.simple-text .custom-content:not(.period-block) .title .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-text .subtitle {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.simple-text .subtitle .et_pb_text_inner h3,
.et-db .et-l .custom-section.simple-text .subtitle .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}

/* —— 27b.2 Caixa Inclui (period-block) —— */

.et-db .et-l .custom-section.simple-text .custom-content.period-block {
  margin-top: var(--space-50);
  padding: 0 !important;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block > .et_pb_column {
  --period-soft: color-mix(in srgb, var(--color-green) 14%, var(--color-white));
  --period-bullet: var(--color-green);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-20);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  padding: var(--space-30);
  border-radius: var(--border-radius-20);
  background-color: var(--period-soft);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block > .et_pb_column.green {
  --period-soft: #F4FAF4;
  --period-bullet: var(--color-green);
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block > .et_pb_column.amber {
  --period-soft: color-mix(in srgb, var(--color-amber) 18%, var(--color-white));
  --period-bullet: var(--color-amber);
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block > .et_pb_column.terracota {
  --period-soft: color-mix(in srgb, var(--color-terracota) 14%, var(--color-white));
  --period-bullet: var(--color-terracota);
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .title {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .title .et_pb_text_inner,
.et-db .et-l .custom-section.simple-text .custom-content.period-block .title .et_pb_text_inner h3,
.et-db .et-l .custom-section.simple-text .custom-content.period-block .title .et_pb_text_inner h3 strong {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .list {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .list .et_pb_text_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .list ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  column-gap: var(--space-80);
  row-gap: var(--space-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.15em;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-green);
}
.et-db .et-l .custom-section.simple-text .custom-content.period-block .list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--period-bullet);
}

/* ==========================================================================
   27c. PERIOD SPLIT (imagem + texto + caixas Inclui)
   Section: custom-section period-split
   Row: custom-content → col imagem | col title + subtitle + text + nested period-block
   ========================================================================== */

.et-db .et-l .custom-section.period-split {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.period-split .custom-content {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  column-gap: var(--space-50);
  align-items: stretch;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.period-split .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0;
  float: none;
  flex: none !important;
}
.et-db .et-l .custom-section.period-split .custom-content > .et_pb_column:has(> .title) {
  gap: var(--space-20);
}
.et-db .et-l .custom-section.period-split .et_pb_image {
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.period-split .et_pb_image .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: var(--border-radius-30);
  line-height: 0;
}
.et-db .et-l .custom-section.period-split .et_pb_image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section.period-split .title {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.period-split .custom-content > .et_pb_column > .title .et_pb_text_inner,
.et-db .et-l .custom-section.period-split .custom-content > .et_pb_column > .title .et_pb_text_inner h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.period-split .subtitle {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.period-split .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.period-split .subtitle .et_pb_text_inner h3,
.et-db .et-l .custom-section.period-split .subtitle .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.period-split .text {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.period-split .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.period-split .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.period-split .period-block,
.et-db .et-l .custom-section.period-split .et_pb_row_nested.period-block,
.et-db .et-l .custom-section.period-split .period-block.et_flex_row {
  --align-items: flex-start;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  align-self: flex-start !important;
  gap: var(--space-20);
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: var(--space-20) 0 0 !important;
  padding: 0 !important;
}
.et-db .et-l .custom-section.period-split .period-block > .et_pb_column,
.et-db .et-l .custom-section.period-split .period-block > .et_flex_column {
  --period-soft: color-mix(in srgb, var(--color-green) 14%, var(--color-white));
  --period-bullet: var(--color-green);
  --period-text: var(--color-green);
  --align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: flex-start !important;
  gap: var(--space-20);
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: var(--space-30);
  float: none;
  grid-row: auto !important;
  border-radius: var(--border-radius-20);
  background-color: var(--period-soft);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.period-split .period-block > .et_pb_column.green {
  --period-soft: #F4FAF4;
  --period-bullet: var(--color-green);
  --period-text: var(--color-green);
}
.et-db .et-l .custom-section.period-split .period-block > .et_pb_column.amber {
  --period-soft: color-mix(in srgb, var(--color-amber) 18%, var(--color-white));
  --period-bullet: var(--color-amber);
  --period-text: var(--color-night-blue);
}
.et-db .et-l .custom-section.period-split .period-block > .et_pb_column.terracota {
  --period-soft: color-mix(in srgb, var(--color-terracota) 7%, var(--color-white));
  --period-bullet: var(--color-terracota);
  --period-text: var(--color-terracota);
}
.et-db .et-l .custom-section.period-split .period-block .title {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.period-split .period-block .title .et_pb_text_inner,
.et-db .et-l .custom-section.period-split .period-block .title .et_pb_text_inner h3,
.et-db .et-l .custom-section.period-split .period-block .title .et_pb_text_inner h3 strong {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.period-split .period-block .list {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.period-split .period-block .list ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.et-db .et-l .custom-section.period-split .period-block .list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.15em;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--period-text);
}
.et-db .et-l .custom-section.period-split .period-block .list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--period-bullet);
}

/* —— 27c.1 Variante dark (texto | imagem) —— */

.et-db .et-l .custom-section.period-split.dark {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.period-split.dark .custom-content {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column > .title .et_pb_text_inner,
.et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column > .title .et_pb_text_inner h2 {
  color: var(--color-amber);
}
.et-db .et-l .custom-section.period-split.dark .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.period-split.dark .subtitle .et_pb_text_inner h3,
.et-db .et-l .custom-section.period-split.dark .subtitle .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.period-split.dark .text .et_pb_text_inner p {
  color: var(--color-cream);
}
.et-db .et-l .custom-section.period-split.dark .period-block > .et_pb_column,
.et-db .et-l .custom-section.period-split.dark .period-block > .et_flex_column {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
.et-db .et-l .custom-section.period-split.dark .period-block > .et_pb_column.green,
.et-db .et-l .custom-section.period-split.dark .period-block > .et_pb_column.cream {
  --period-soft: #F4FAF4;
  --period-bullet: var(--color-green);
  --period-text: var(--color-green);
}

/* Tabela responsiva — scroll só na tabela */
.et-db .et-l .custom-section.simple-text .custom-content > .et_pb_column:has(table) {
  max-width: 100% !important;
}
.et-db .et-l .custom-section.simple-text .eg-table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.et-db .et-l .custom-section.simple-text table {
  width: 100%;
  min-width: 560px;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.simple-text table th,
.et-db .et-l .custom-section.simple-text table td {
  padding: 12px 16px;
  border: 1px solid var(--color-soft-gray);
  text-align: left;
  vertical-align: top;
  word-break: normal;
  overflow-wrap: anywhere;
}
.et-db .et-l .custom-section.simple-text table th {
  font-family: var(--font-family-manrope);
  font-weight: var(--font-weight-semibold);
  color: var(--color-night-blue);
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.simple-text table tr:nth-child(even) td {
  background-color: var(--color-light-gray);
}

/* ==========================================================================
   28. CTA CONTACT GALLERY
   ========================================================================== */

/* —— 28.1 Layout —— */

.et-db .et-l .custom-section.cta-contact-gallery {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.cta-contact-gallery .custom-content {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.9fr);
  column-gap: var(--space-80);
  row-gap: var(--space-50);
  align-items: center;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
}
.et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:first-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-30);
}

/* —— 28.2 Galeria / carrossel —— */

/* Loading enquanto as imagens full são pré-carregadas */
.et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:has(.et_pb_gallery) {
  position: relative;
}
.et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:has(.et_pb_gallery)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  border: 3px solid var(--color-soft-gray);
  border-top-color: var(--color-terracota);
  border-radius: 50%;
  animation: eg-gallery-spin 0.8s linear infinite;
  pointer-events: none;
  z-index: 0;
}
.et-db .et-l .custom-section.cta-contact-gallery.is-gallery-ready .custom-content > .et_pb_column:has(.et_pb_gallery)::after,
body.et-fb .et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:has(.et_pb_gallery)::after {
  display: none;
}

@keyframes eg-gallery-spin {
  to {
    transform: rotate(360deg);
  }
}

.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery {
  width: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.et-db .et-l .custom-section.cta-contact-gallery.is-gallery-ready .et_pb_gallery {
  opacity: 1;
  visibility: visible;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_items {
  position: relative;
  display: block;
  width: 100%;
  min-height: 500px;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_item {
  position: absolute !important;
  inset: 0;
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.45s ease;
  z-index: 0;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_item.is-active {
  position: relative !important;
  inset: auto;
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: var(--border-radius-50);
  overflow: hidden;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image a {
  display: block;
  width: 100%;
  height: 500px;
  pointer-events: none;
  cursor: default;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_overlay,
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_pagination,
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_title {
  display: none !important;
}
.et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-15);
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.et-db .et-l .custom-section.cta-contact-gallery.is-gallery-ready .eg-gallery-controllers {
  opacity: 1;
  visibility: visible;
}
.et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-night-blue);
  border-radius: 50%;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  cursor: pointer;
  transition:
    transform var(--transition-default),
    opacity var(--transition-default);
}
.et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers button[data-dir="prev"] {
  background-image: url(../images/icon-arrow-left.svg);
}
.et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers button[data-dir="next"] {
  background-image: url(../images/icon-arrow-right.svg);
}
.et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers button:hover {
  transform: scale(0.96);
  opacity: 0.85;
}
body.et-fb .et-db .et-l .custom-section.cta-contact-gallery .eg-gallery-controllers {
  display: none;
}
body.et-fb .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery {
  opacity: 1;
  visibility: visible;
}
body.et-fb .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_item {
  position: relative !important;
  opacity: 1;
  margin-bottom: var(--space-20) !important;
}

/* —— 28.3 Título e botão —— */

.et-db .et-l .custom-section.cta-contact-gallery .feature {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 420px;
}
.et-db .et-l .custom-section.cta-contact-gallery .feature .et_pb_text_inner,
.et-db .et-l .custom-section.cta-contact-gallery .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.cta-contact-gallery .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.cta-contact-gallery .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  letter-spacing: -0.02em;
  text-align: left;
}
.et-db .et-l .custom-section.cta-contact-gallery .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.cta-contact-gallery .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
}
/* ==========================================================================
   28b. LOCATION (Nossa localização)
   ========================================================================== */

/* —— 28b.1 Layout + cabeçalho —— */

.et-db .et-l .custom-section.location {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.location > .et_pb_row {
  display: block !important;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.location .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.location .feature {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.location .feature .et_pb_text_inner,
.et-db .et-l .custom-section.location .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.location .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.location .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.location .text-feature {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
}
.et-db .et-l .custom-section.location .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.location .text-feature .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}

/* —— 28b.2 Cards (card-location) —— */

.et-db .et-l .custom-section.location .custom-content.card-location {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
}
.et-db .et-l .custom-section.location .custom-content.card-location > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-15);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: var(--space-50);
  background-color: var(--color-light-gray);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
  float: none;
  min-width: 0;
}
.et-db .et-l .custom-section.location .custom-content.card-location > .et_pb_column:not(:has(.et_pb_button)) {
  background-color: var(--color-white);
  box-shadow: var(--shadow-card);
}
.et-db .et-l .custom-section.location .card-location .subtitle {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.location .card-location .subtitle .et_pb_text_inner,
.et-db .et-l .custom-section.location .card-location .subtitle .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.location .card-location .subtitle.pin .et_pb_text_inner,
.et-db .et-l .custom-section.location .card-location .subtitle.pin .et_pb_text_inner p {
  font-family: var(--font-family-manrope);
  letter-spacing: 0;
}
.et-db .et-l .custom-section.location .card-location .subtitle.pin .et_pb_text_inner p {
  display: inline-flex;
  align-items: center;
  gap: var(--space-10);
}
.et-db .et-l .custom-section.location .card-location .subtitle.pin .et_pb_text_inner p::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  background-image: url(../images/icon-location.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.et-db .et-l .custom-section.location .card-location .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  flex: 1;
}
.et-db .et-l .custom-section.location .card-location .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-15);
}
.et-db .et-l .custom-section.location .card-location .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.location .card-location .text .et_pb_text_inner a {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-terracota);
  text-decoration: none;
  word-break: break-word;
  transition: opacity var(--transition-default);
}
.et-db .et-l .custom-section.location .card-location .text .et_pb_text_inner a:hover {
  opacity: 0.8;
  color: var(--color-terracota);
}
.et-db .et-l .custom-section.location .card-location .et_pb_button_module_wrapper {
  margin: 0;
  padding: 0;
  width: auto;
  align-self: flex-start;
}
.et-db .et-l .custom-section.location .card-location .et_pb_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: var(--space-10) var(--space-30) 12px !important;
  border: 1px solid var(--color-terracota);
  border-radius: var(--border-radius-50);
  background-color: transparent;
  background-image: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-terracota);
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transition:
    transform var(--transition-default),
    background-color var(--transition-default),
    color var(--transition-default),
    border-color var(--transition-default);
}
.et-db .et-l .custom-section.location .card-location .et_pb_button:hover {
  background-color: var(--color-terracota) !important;
  border-color: var(--color-terracota) !important;
  color: var(--color-cream) !important;
  transform: scale(0.98);
}
.et-db .et-l .custom-section.location .card-location .et_pb_button::before,
.et-db .et-l .custom-section.location .card-location .et_pb_button::after {
  display: none !important;
  content: none !important;
}

/* —— 28b.3 Mapa (custom-map) —— */

.et-db .et-l .custom-section.location .custom-map {
  margin: 0;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.location .custom-map .et_pb_code_inner {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--border-radius-30);
  line-height: 0;
}
.et-db .et-l .custom-section.location .custom-map iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 450px !important;
  border: 0;
  border-radius: var(--border-radius-30);
}

/* —— 28b.4 Horário / telefone —— */

.et-db .et-l .custom-section.location > .et_pb_row:has(.title-hour) > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.location .title-hour,
.et-db .et-l .custom-section.location .hour,
.et-db .et-l .custom-section.location .phone {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.location .title-hour .et_pb_text_inner,
.et-db .et-l .custom-section.location .title-hour .et_pb_text_inner p,
.et-db .et-l .custom-section.location .title-hour .et_pb_text_inner strong {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-terracota);
  text-align: center;
}
.et-db .et-l .custom-section.location .hour .et_pb_text_inner,
.et-db .et-l .custom-section.location .hour .et_pb_text_inner h3,
.et-db .et-l .custom-section.location .hour .et_pb_text_inner h4,
.et-db .et-l .custom-section.location .hour .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.location .phone .et_pb_text_inner,
.et-db .et-l .custom-section.location .phone .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
}

/* —— 28b.5 Bloco our-phone dark —— */

.et-db .et-l .custom-section.location .custom-content.our-phone {
  display: block !important;
  padding: var(--space-80) var(--space-50);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.location .custom-content.our-phone.dark {
  background-color: var(--color-night-blue);
  border-radius: var(--border-radius-30);
}
.et-db .et-l .custom-section.location .custom-content.our-phone > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.location .our-phone .text-feature {
  max-width: 900px;
}
.et-db .et-l .custom-section.location .our-phone .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.location .our-phone .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.location .our-phone .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.location .our-phone .text-feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-cream);
  text-align: center;
}
.et-db .et-l .custom-section.location .our-phone .text {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  max-width: 720px;
}
.et-db .et-l .custom-section.location .our-phone .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-cream);
  text-align: center;
}
.et-db .et-l .custom-section.location .our-phone .phone {
  margin: 0 !important;
  padding: var(--space-20) 0;
  width: 100%;
}
.et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner,
.et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner p,
.et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner a {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  letter-spacing: -0.02em;
  color: var(--color-amber);
  text-align: center;
  text-decoration: none;
}
.et-db .et-l .custom-section.location .our-phone .phrase {
  margin: 0 !important;
  padding: 0;
  width: 100%;
  max-width: 720px;
}
.et-db .et-l .custom-section.location .our-phone .phrase .et_pb_text_inner,
.et-db .et-l .custom-section.location .our-phone .phrase .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-cream);
  text-align: center;
}

/* ==========================================================================
   28c. DOWNLOAD (calendários / materiais)
   Section: custom-section download
   Row: custom-content (opcional: cards contact)
   Card: card download
   ========================================================================== */

/* —— 28c.1 Layout (grid 4 cards) —— */

.et-db .et-l .custom-section.download {
  padding: 0 0 var(--space-80);
  margin: 0;
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.download .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.download .custom-content > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-30);
  align-items: stretch;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  flex-direction: unset;
}

/* —— 28c.2 Card (imagem + título + botão) —— */

.et-db .et-l .custom-section.download .card.download {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: var(--space-20);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
  float: none;
  transition: transform var(--transition-default), box-shadow var(--transition-default);
}
.et-db .et-l .custom-section.download .card.download:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px -18px rgba(27, 58, 75, 0.18);
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.et-db .et-l .custom-section.download .card.download .et_pb_main_blurb_image {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.download .card.download .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 160px;
  overflow: hidden;
  border-radius: var(--border-radius-20);
  line-height: 0;
  aspect-ratio: 16 / 9;
}
.et-db .et-l .custom-section.download .card.download .et_pb_image_wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--border-radius-20);
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-20);
  width: 100%;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  text-align: center;
}
.et-db .et-l .custom-section.download .card.download .et_pb_module_header {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_description,
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_description p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  text-align: center;
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_description a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-10);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 12px 20px;
  border: 0;
  border-radius: var(--border-radius-10);
  background-color: var(--color-terracota);
  box-shadow: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-cream);
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition:
    background-color var(--transition-default),
    transform var(--transition-default),
    color var(--transition-default);
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_description a::before {
  content: "";
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: url(../images/icon-download.svg) center / contain no-repeat;
}
.et-db .et-l .custom-section.download .card.download .et_pb_blurb_description a:hover {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  transform: scale(0.98);
}
@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.download .card.download,
  .et-db .et-l .custom-section.download .card.download .et_pb_blurb_description a {
    transition: none;
    transform: none;
  }
}

/* ==========================================================================
   28d. SEARCH RESULT (lista de cards – shortcode [eg_search_results])
   Section: custom-section search-result
   ========================================================================== */

.et-db .et-l .custom-section.search-result {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-cream);
}
.et-db .et-l .custom-section.search-result .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.search-result .custom-content > .et_pb_column {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.search-result .et_pb_code,
.et-db .et-l .custom-section.search-result .et_pb_code_inner {
  margin: 0;
  padding: 0;
  width: 100%;
}

.eg-search-results,
.eg-search-results * {
  box-sizing: border-box;
}
.eg-search-results__list {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-30);
}
.eg-search-results__list > li,
.eg-search-results__item {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.eg-search-results__list > li::marker,
.eg-search-results__item::marker,
.eg-search-results__list > li::before,
.eg-search-results__item::before {
  content: none;
  display: none;
}
.eg-search-results__card {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: var(--space-30);
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: var(--space-20);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-default), box-shadow var(--transition-default);
}
.eg-search-results__item--no-image .eg-search-results__card {
  grid-template-columns: minmax(0, 1fr);
}
.eg-search-results__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 50px -18px rgba(27, 58, 75, 0.18);
}
.eg-search-results__media {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--border-radius-20);
  line-height: 0;
  text-decoration: none;
  background-color: var(--color-night-blue);
}
.eg-search-results__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 160px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--border-radius-20);
}
.eg-search-results__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-10);
  min-width: 0;
  padding: var(--space-10) var(--space-10) var(--space-10) 0;
}
.eg-search-results__item--no-image .eg-search-results__body {
  padding: var(--space-10);
}
.eg-search-results__title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
}
.eg-search-results__title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-default);
}
.eg-search-results__title a:hover {
  color: var(--color-terracota);
}
.eg-search-results__excerpt {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.eg-search-results--empty,
.eg-search-results--preview {
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
}
.eg-search-results--empty p,
.eg-search-results--preview p {
  margin: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.eg-search-results__pagination {
  margin-top: var(--space-50);
}
.eg-search-results__pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-10);
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.eg-search-results__pagination .page-numbers li {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.eg-search-results__pagination .page-numbers li::marker {
  content: none;
  display: none;
}
.eg-search-results__pagination .page-numbers a,
.eg-search-results__pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: var(--border-radius-10);
  background-color: var(--color-white);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  text-decoration: none;
  transition: background-color var(--transition-default), color var(--transition-default);
}
.eg-search-results__pagination .page-numbers a:hover {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
}
.eg-search-results__pagination .page-numbers .current {
  background-color: var(--color-terracota);
  color: var(--color-cream);
}
@media (prefers-reduced-motion: reduce) {
  .eg-search-results__card {
    transition: none;
    transform: none;
  }
}

/* ==========================================================================
   28e. BLOG (Acontece no Gracinha)
   Shortcode: [eg_blog_listing]
   ========================================================================== */

.eg-blog,
.eg-blog * {
  box-sizing: border-box;
}
.eg-blog {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0;
}
.eg-blog__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-15) var(--space-20);
  margin: 0 0 var(--space-50);
  padding: 0 !important;
  list-style: none !important;
}
.eg-blog__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: var(--space-10) var(--space-20);
  border: 1px solid var(--color-cream);
  border-radius: var(--border-radius-50);
  background: transparent;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-gray);
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--transition-default),
    color var(--transition-default),
    border-color var(--transition-default);
}
.eg-blog__filter:hover {
  color: var(--color-terracota);
  border-color: var(--color-terracota);
}
.eg-blog__filter.is-active {
  background-color: var(--color-terracota);
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
}
.eg-blog__filter.is-active:hover {
  color: var(--color-white);
  border-color: var(--color-terracota);
}
.eg-blog__featured {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: var(--space-50);
  align-items: center;
  margin: 0 0 var(--space-80);
}
.eg-blog__featured-media {
  display: block;
  overflow: hidden;
  border-radius: var(--border-radius-30);
}
.eg-blog__featured-media img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  transition: transform var(--transition-default);
}
.eg-blog__featured:hover .eg-blog__featured-media img {
  transform: scale(1.05);
}
.eg-blog__featured:hover .eg-blog__featured-title {
  color: var(--color-terracota);
}
.eg-blog__featured:hover .eg-blog__more::after {
  transform: translateX(4px);
}
.eg-blog__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-10);
  margin: 0 0 var(--space-15);
}
.eg-blog__tag {
  display: inline-flex;
  align-items: center;
  padding: var(--space-5) var(--space-15);
  border-radius: var(--border-radius-50);
  background-color: var(--color-terracota);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-decoration: none;
  transition: background-color var(--transition-default), color var(--transition-default);
}
.eg-blog__tag:hover {
  background-color: var(--color-night-blue);
  color: var(--color-white);
}
.eg-blog__date {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  color: var(--color-gray);
}
.eg-blog__featured-title {
  margin: 0 0 var(--space-20);
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  transition: color var(--transition-default);
  padding: 0;
}
.eg-blog__featured-title a,
.eg-blog__card-title a {
  color: inherit;
  text-decoration: none;
}
.eg-blog__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  margin: 0 0 var(--space-15);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.eg-blog__more {
  display: inline-flex;
  align-items: center;
  gap: var(--space-5);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-terracota);
  text-decoration: none;
}
.eg-blog__more::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  mask: url(../images/arrow-right.svg) no-repeat center / contain;
  -webkit-mask: url(../images/arrow-right.svg) no-repeat center / contain;
  transition: transform var(--transition-default);
}
.eg-blog__more:hover {
  color: var(--color-night-blue);
}
.eg-blog__latest{
  gap: var(--space-30);
  display: flex;
  flex-direction: column;
}
.eg-blog__latest-title {
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}
.eg-blog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-30);
  margin: 0;
  padding: 0 !important;
  list-style: none !important;
}
.eg-blog__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-30);
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: var(--shadow-card);
  transition:
    transform var(--transition-default),
    box-shadow var(--transition-default);
}
.eg-blog__card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 50px -14px rgba(27, 58, 75, 0.22);
}
.eg-blog__card-media {
  display: block;
  overflow: hidden;
  margin: 0 0 var(--space-20);
  border-radius: var(--border-radius-20);
}
.eg-blog__card-media img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform var(--transition-default);
}
.eg-blog__card:hover .eg-blog__card-media img {
  transform: scale(1.06);
}
.eg-blog__card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 var(--space-10) var(--space-10);
}
.eg-blog__card-body .eg-blog__meta {
  margin-bottom: var(--space-15);
}
.eg-blog__card-title {
  margin: 0 0 var(--space-15);
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  padding: 0;
  transition: color var(--transition-default);
}
.eg-blog__card:hover .eg-blog__card-title {
  color: var(--color-terracota);
}
.eg-blog__card:hover .eg-blog__more::after {
  transform: translateX(4px);
}
.eg-blog__card-body .eg-blog__excerpt {
  margin-bottom: var(--space-15);
}
.eg-blog__card-body .eg-blog__more {
  margin-top: auto;
}
.eg-blog__empty {
  margin: 0;
  padding: var(--space-50) 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  color: var(--color-gray);
  text-align: center;
}
.eg-blog__pagination {
  display: flex;
  justify-content: center;
  margin: var(--space-50) 0 0;
}
.eg-blog__pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.eg-blog__pagination .page-numbers a,
.eg-blog__pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border-radius: 50%;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  color: var(--color-gray);
  text-decoration: none;
  transition:
    transform var(--transition-default),
    background-color var(--transition-default),
    color var(--transition-default);
}
.eg-blog__pagination .page-numbers a:hover {
  background-color: var(--color-terracota);
  color: var(--color-white);
  transform: scale(1.08);
}
.eg-blog__pagination .page-numbers .current {
  background-color: var(--color-terracota);
  color: var(--color-white);
}
.eg-blog__pagination .page-numbers .dots {
  pointer-events: none;
}
.eg-blog.is-loading {
  opacity: 0.55;
  pointer-events: none;
}

/* —— 28e.1 Layout Instagram (Gracinha na mídia) —— */

.eg-blog--instagram {
  width: 100%;
  max-width: 100%;
  align-self: stretch;
}
.eg-blog__grid--instagram {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-10);
}
.eg-blog__tile {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 180px;
  overflow: hidden;
  background-color: var(--color-night-blue);
  text-decoration: none;
  color: var(--color-white);
  border-radius: var(--border-radius-20);
}
.eg-blog__tile-media {
  position: absolute;
  inset: 0;
  display: block;
}
.eg-blog__tile-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.eg-blog__tile:hover .eg-blog__tile-media img {
  transform: scale(1.04);
}
.eg-blog__tile-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: var(--space-15);
  padding: var(--space-30);
  background: linear-gradient(
    180deg,
    rgba(27, 58, 75, 0.3) 0%,
    rgba(27, 58, 75, 0.9) 100%
  )
}
.eg-blog__tile-title {
  display: -webkit-box;
  margin: 0;
  padding: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-subtitle);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-140);
  color: var(--color-white);
  letter-spacing: -0.01em;
}
.eg-blog__tile-foot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4px;
}
.eg-blog__tile-cat {
  display: none;
}
.eg-blog__tile-outlet {
  display: block;
  max-width: 100%;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-medium);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.et-db .et-l .custom-section.blog-listing {
  padding: 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.blog-listing .custom-content {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.blog-listing .et_pb_code,
.et-db .et-l .custom-section.blog-listing .et_pb_code_inner {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   28f. POST HERO (página do post)
   ========================================================================== */

.et-db .et-l .custom-section.post-hero {
  padding: var(--space-50) 0 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.post-hero .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.post-hero .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.post-hero .custom-title-post {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.post-hero .custom-breadcrumb {
  width: 100%;
  margin: 0;
  padding: 0 0 var(--space-50);
  background: transparent;
}
.et-db .et-l .custom-section.post-hero .et_pb_title_container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0 0 var(--space-30);
  padding: 0;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.post-hero .custom-meta {
  width: 100%;
  margin: 0;
  padding: 0 0 var(--space-50);
  background: transparent;
}
.et-db .et-l .custom-section.post-hero .et_pb_title_featured_container {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.post-hero .et_pb_code_inner {
  width: 100%;
  margin: 0;
  padding: 0;
}

.eg-post-breadcrumb,
.eg-post-breadcrumb * {
  box-sizing: border-box;
}
.eg-post-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0 !important;
  list-style: none;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-gray);
}
.eg-post-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.eg-post-breadcrumb__item:not(:last-child)::after {
  content: ">";
  margin: 0 var(--space-10);
  color: var(--color-soft-gray);
}
.eg-post-breadcrumb__item a {
  color: var(--color-gray);
  text-decoration: none;
}
.eg-post-breadcrumb__item a:hover {
  color: var(--color-terracota);
}
.eg-post-breadcrumb__item--current {
  display: inline-block;
  max-width: 200px;
  min-width: 0;
  overflow: hidden;
  color: var(--color-terracota);
  vertical-align: bottom;
}
.eg-post-breadcrumb__item--current span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.et-db .et-l .custom-section.post-hero .et_pb_title_meta_container {
  order: -1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
  font-size: .1px;
}
.et-db .et-l .custom-section.post-hero .et_pb_title_meta_container a {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: var(--border-radius-50);
  background-color: var(--color-terracota);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-decoration: none;
}
.et-db .et-l .custom-section.post-hero .et_pb_title_meta_container a:hover {
  background-color: var(--color-night-blue);
  color: var(--color-white);
}
.et-db .et-l .custom-section.post-hero .entry-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-100);
  color: var(--color-night-blue);
  text-align: left;
}

.eg-post-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}
.eg-post-meta__author {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}
.eg-post-meta__details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-15);
  margin: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-gray);
}
.eg-post-meta__read {
  display: inline-flex;
  align-items: center;
  gap: var(--space-15);
  color: var(--color-terracota);
}
.eg-post-meta__read::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--color-cream);
}

.et-db .et-l .custom-section.post-hero .et_pb_title_featured_container .et_pb_image_wrap {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--border-radius-30);
  line-height: 0;
}
.et-db .et-l .custom-section.post-hero .et_pb_title_featured_container img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
}

/* ==========================================================================
   28g. POST CONTENT (artigo)
   ========================================================================== */

.et-db .et-l .custom-section.post-content {
  padding: var(--space-50) 0 var(--space-80);
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.post-content .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.post-content .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content {
  width: 100%;
  margin: 0 0 var(--space-30);
  padding: 0;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content p {
  margin: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.post-content .et_pb_post_content p:last-child {
  margin-bottom: 0;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content h2 {
  margin: 0 0 var(--space-20);
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.post-content .et_pb_post_content h2:first-child {
  margin-top: 0;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content figure {
  width: 100%;
  margin: var(--space-20) auto;
  padding: 0;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}
.et-db .et-l .custom-section.post-content .et_pb_post_content figcaption {
  margin: var(--space-15) 0 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}

.et-db .et-l .custom-section.post-content .custom-tags {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.post-content .custom-tags .et_pb_code_inner,
.eg-post-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-10);
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.et-db .et-l .custom-section.post-content .custom-tags .et_pb_code_inner {
  margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.post-content .custom-tags a,
.eg-post-tags a {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border: 1px solid var(--color-cream);
  border-radius: var(--border-radius-50);
  background-color: var(--color-white);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  text-decoration: none;
}
.et-db .et-l .custom-section.post-content .custom-tags a::before,
.eg-post-tags a::before {
  content: "#";
}
.et-db .et-l .custom-section.post-content .custom-tags a:hover,
.eg-post-tags a:hover {
  border-color: var(--color-terracota);
  color: var(--color-terracota);
}

.eg-post-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-20);
  width: 100%;
  margin: 0;
}
.eg-post-share__label {
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  color: var(--color-night-blue);
}
.eg-post-share__list {
  display: flex;
  align-items: center;
  gap: var(--space-10);
}
.eg-post-share__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--color-night-blue);
  color: var(--color-white);
  text-decoration: none;
  transition: background-color var(--transition-default), transform var(--transition-default);
}
.eg-post-share__link svg,
.eg-post-share__link img {
  display: block;
  width: 16px;
  height: 16px;
}
.eg-post-share__link img {
  width: 14px;
  height: 14px;
}
.eg-post-share__link:hover {
  background-color: var(--color-terracota);
  color: var(--color-white);
  transform: scale(1.08);
}

.et-db .et-l .custom-section.post-content .custom-share {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* ==========================================================================
   28h. VEJA TAMBÉM (posts relacionados)
   ========================================================================== */

.et-db .et-l .custom-section.see-too:not(:has(.eg-blog__item)) {
  display: none;
}
.et-db .et-l .custom-section.see-too {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
  border-top: 1px solid var(--color-cream);
}
.et-db .et-l .custom-section.see-too .custom-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.see-too .custom-content > .et_pb_column {
  display: flex;
  flex-direction: column;
  gap: var(--space-30);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.see-too .title {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.see-too .title h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.see-too .custom-see-too {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.see-too .et_pb_code_inner,
.eg-see-too {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   28i. COMPARE TABLE (tabela de períodos)
   Section: custom-section compare-table
   Row 1: custom-content → .feature (título)
   Row 2: custom-content table
      nested .head  → colunas .blue / .amber / .terracota / .green
      nested .row   → 4 colunas (texto ou imagem .yes / .no)
   ========================================================================== */

.et-db .et-l .custom-section.compare-table {
  --compare-pad: var(--space-30);
  --compare-gap: var(--space-10);
  --compare-min-width: 860px;
  --compare-icon: 20px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-50);
  padding: var(--space-80) 0;
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  background-color: var(--color-light-gray);
}

/* —— 28i.1 Título —— */

.et-db .et-l .custom-section.compare-table .custom-content:not(.table) {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.compare-table .custom-content:not(.table) > .et_pb_column {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.compare-table .feature {
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.compare-table .feature .et_pb_text_inner,
.et-db .et-l .custom-section.compare-table .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.compare-table .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}

/* —— 28i.2 Card / grid —— */

.et-db .et-l .custom-section.compare-table .custom-content.table {
  position: relative;
  display: block !important;
  align-self: center;
  width: 100% !important;
  max-width: var(--layout-content-width) !important;
  min-width: 0 !important;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background-color: var(--color-white);
  border-radius: var(--border-radius-20);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .eg-compare-scroll {
  display: flex;
  flex-direction: column;
  gap: var(--compare-gap);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row {
  display: grid !important;
  grid-template-columns: minmax(200px, 1.15fr) repeat(3, minmax(170px, 1fr)) !important;
  align-items: stretch;
  gap: var(--compare-gap);
  width: max(100%, var(--compare-min-width)) !important;
  min-width: var(--compare-min-width) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 var(--compare-pad) !important;
  float: none;
  overflow: visible;
  box-sizing: border-box;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head {
  padding-top: var(--compare-pad) !important;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row:last-child {
  padding-bottom: var(--compare-pad) !important;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: var(--space-20);
  float: none;
  flex: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  overflow: visible !important;
  background-color: var(--color-white);
  border: 1px solid #F4F4F4;
  border-radius: var(--border-radius-10);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child {
  justify-content: center;
}

/* coluna Atividades fixa no scroll horizontal */
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column:first-child,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child {
  position: sticky;
  left: var(--compare-pad);
  z-index: 3;
  background-color: var(--color-light-gray);
  border: 0;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column:first-child {
  z-index: 3;
}
body.et-fb .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column:first-child,
body.et-fb .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child {
  position: static;
  box-shadow: none;
}

/* —— 28i.3 Cabeçalho colorido —— */

.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column {
  border: 0;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column.blue {
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column.amber {
  background-color: var(--color-amber);
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column.terracota {
  background-color: var(--color-terracota);
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column.green {
  background-color: var(--color-green);
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head .et_pb_text {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head .et_pb_text_inner,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-cream);
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}

/* —— 28i.4 Células e ícones —— */

.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column > .et_pb_module {
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  background: transparent;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row .et_pb_text_inner,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child .et_pb_text_inner,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child .et_pb_text_inner p {
  font-weight: var(--font-weight-light);
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.yes,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.no {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  text-align: center;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.yes .et_pb_image_wrap,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.no .et_pb_image_wrap {
  display: block;
  width: var(--compare-icon) !important;
  max-width: var(--compare-icon) !important;
  height: var(--compare-icon);
  margin: 0 auto;
  line-height: 0;
}
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.yes img,
.et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_image.no img {
  display: block;
  width: var(--compare-icon);
  max-width: 100%;
  height: var(--compare-icon);
  margin: 0;
}

/* ==========================================================================
   28k. IMAGE TEXT TWO COLUMNS
   Section: custom-section image-text-two-columns
   Rows: .custom-content (imagem) + .custom-content.two-columns
   Coluna destaque: .content-feature
   ========================================================================== */

/* —— 28k.0 Layout —— */

.et-db .et-l .custom-section.image-text-two-columns {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.image-text-two-columns > .custom-content {
  display: block;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.image-text-two-columns > .custom-content:not(.two-columns) {
  margin-bottom: var(--space-50);
}
.et-db .et-l .custom-section.image-text-two-columns > .custom-content > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
}

/* —— 28k.1 Imagem full —— */

.et-db .et-l .custom-section.image-text-two-columns .image {
  margin: 0 !important;
  padding: 0;
  width: 100%;
}
.et-db .et-l .custom-section.image-text-two-columns .image .et_pb_image_wrap {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--border-radius-50);
  line-height: 0;
}
.et-db .et-l .custom-section.image-text-two-columns .image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center center;
}

/* —— 28k.2 Colunas (texto + content-feature) —— */

.et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-50);
  row-gap: var(--space-50);
  align-items: start;
}
.et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
  flex: unset !important;
  flex-basis: auto !important;
}

/* Coluna esquerda: blocos título + texto */
.et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column:not(.content-feature) {
  gap: var(--space-20);
}
.et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column:not(.content-feature) .text + .feature {
  margin-top: var(--space-50);
}

/* Coluna direita: caixa creme */
.et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column.content-feature {
  gap: var(--space-20);
  padding: var(--space-50);
  border-radius: var(--border-radius-50);
  background-color: var(--color-cream);
  box-sizing: border-box;
}

/* Tipografia compartilhada */
.et-db .et-l .custom-section.image-text-two-columns .feature {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.image-text-two-columns .feature [data-metadata],
.et-db .et-l .custom-section.image-text-two-columns .feature [data-buffer],
.et-db .et-l .custom-section.image-text-two-columns .text [data-metadata],
.et-db .et-l .custom-section.image-text-two-columns .text [data-buffer] {
  display: none !important;
}
.et-db .et-l .custom-section.image-text-two-columns .feature .et_pb_text_inner,
.et-db .et-l .custom-section.image-text-two-columns .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.image-text-two-columns .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.image-text-two-columns .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.image-text-two-columns .content-feature .feature .et_pb_text_inner,
.et-db .et-l .custom-section.image-text-two-columns .content-feature .feature .et_pb_text_inner h1,
.et-db .et-l .custom-section.image-text-two-columns .content-feature .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.image-text-two-columns .content-feature .feature .et_pb_text_inner h3 {
  font-size: var(--font-size-manifest);
}
.et-db .et-l .custom-section.image-text-two-columns .text {
  width: 100%;
  margin: 0 0 30px !important;
  padding: 0;
}
.et-db .et-l .custom-section.image-text-two-columns .text:last-child {
  margin-bottom: 0 !important;
}
.et-db .et-l .custom-section.image-text-two-columns .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.image-text-two-columns .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}

/* ==========================================================================
   28j. SCHEDULE CALENDARS (grades de horários — CPT eg_calendario)
   Shortcode: [eg_calendario id="123"]
   Section wrapper Divi: custom-section schedule-calendars
   ========================================================================== */

.et-db .et-l .custom-section.schedule-calendars {
  padding: var(--space-80) 0;
  margin: 0;
  background-color: var(--color-white);
}

.et-db .et-l .custom-section.schedule-calendars .et_pb_code_inner {
  padding: 0;
}

.eg-schedule-calendar {
  --schedule-pad: var(--space-30);
  --schedule-gap: var(--space-10);
  --schedule-min-width: 980px;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto var(--space-50);
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}

.eg-schedule-calendar:last-child {
  margin-bottom: 0;
}

.eg-schedule-calendar__title {
  margin: 0 0 var(--space-50);
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  text-align: center;
}

.eg-schedule-calendar__groups {
  display: flex;
  flex-direction: column;
  gap: var(--space-30);
}

.eg-schedule-group {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--border-radius-20);
  background-color: var(--color-white);
  box-shadow: var(--shadow-card);
  padding: 0;
  margin: 0;
}

.et-db .et-l .eg-schedule-group {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--space-30);
  float: none;
  gap: var(--space-10);
}

.eg-schedule-group__head {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 100%;
  min-height: 72px;
  margin: 0;
  padding: var(--space-20) var(--space-30);
  background-color: var(--color-night-blue);
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
}

.et-db .et-l .eg-schedule-group__head {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--space-20);
  border-radius: var(--border-radius-10);
  background-color: var(--color-night-blue);
  border: 0;
  float: none;
}

.eg-schedule-group__title {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-120);
  color: var(--color-white);
  text-align: center;
}

.et-db .et-l .eg-schedule-group__title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-family-playfair) !important;
  font-size: var(--font-size-title) !important;
  font-weight: var(--font-weight-bold) !important;
  line-height: var(--line-height-120) !important;
  color: var(--color-white) !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
}

.eg-schedule-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.eg-schedule-table {
  display: flex;
  flex-direction: column;
  gap: var(--schedule-gap);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.eg-schedule-head,
.eg-schedule-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.05fr) repeat(5, minmax(130px, 1fr));
  align-items: stretch;
  gap: var(--schedule-gap);
  width: max(100%, var(--schedule-min-width));
  min-width: var(--schedule-min-width);
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.eg-schedule-head {
  padding: 0;
}
.eg-schedule-row:last-child {
  padding-bottom: var(--schedule-pad) !important;
}
.eg-schedule-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0 !important;
  padding: var(--space-20);
  background-color: var(--color-white);
  border: 1px solid #F4F4F4;
  border-radius: var(--border-radius-10);
  box-sizing: border-box;
  text-align: center;
}
.eg-schedule-cell.is-head {
  min-height: 48px;
  padding: var(--space-15) var(--space-10);
  border: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-120);
  color: var(--color-white);
}
.eg-schedule-cell.is-head.col-time {
  background-color: var(--color-night-blue);
}
.eg-schedule-cell.is-head.col-segunda {
  background-color: var(--color-terracota);
}
.eg-schedule-cell.is-head.col-terca {
  background-color: var(--color-green);
}
.eg-schedule-cell.is-head.col-quarta {
  background-color: var(--color-amber);
}
.eg-schedule-cell.is-head.col-quinta {
  background-color: var(--color-teal);
}
.eg-schedule-cell.is-head.col-sexta {
  background-color: var(--color-crimson);
}
.eg-schedule-cell.is-time {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: var(--color-light-gray);
  border-color: var(--color-light-gray);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
}
.eg-schedule-head .eg-schedule-cell.is-head.col-time {
  position: sticky;
  left: 0;
  z-index: 3;
}
.eg-schedule-cell__inner {
  width: 100%;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-120);
  color: var(--color-night-blue);
  overflow-wrap: anywhere;
}
.eg-schedule-cell__inner strong,
.eg-schedule-cell__inner b {
  font-weight: var(--font-weight-bold);
}
.eg-schedule-cell__inner p,
.eg-schedule-cell__inner span,
.eg-schedule-cell__inner a {
  margin: 0;
  padding: 0;
  font: inherit;
  line-height: inherit;
}
.eg-schedule-cell__inner p + p {
  margin-top: 0.15em;
}
.eg-schedule-calendar--preview {
  padding: var(--space-30);
  border: 1px dashed var(--color-soft-gray);
  border-radius: var(--border-radius-20);
  text-align: center;
}

/* ==========================================================================
   28l. TIMELINE (CPT eg_timeline — rolagem lateral)
   ========================================================================== */

.eg-timeline {
  --eg-timeline-item-width: 200px;
  --eg-timeline-gap: var(--space-20);
  --eg-timeline-line: color-mix(in srgb, var(--color-terracota) 72%, var(--color-amber));
  --eg-timeline-dot: var(--eg-timeline-line);
  --eg-timeline-pad-y: var(--space-50);
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  user-select: none;
  -webkit-user-select: none;
}
.eg-timeline--empty {
  padding: var(--space-40);
  background: var(--color-cream);
  border-radius: var(--border-radius-30);
  text-align: center;
  color: var(--color-gray);
  font-family: var(--font-family-manrope);
}
.eg-timeline__viewport {
  position: relative;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  background: var(--color-cream);
  border-radius: var(--border-radius-40);
  padding: var(--space-30) 0;
  box-sizing: border-box;
}
.eg-timeline__viewport::-webkit-scrollbar {
  display: none;
}
.eg-timeline.is-dragging .eg-timeline__viewport {
  cursor: grabbing;
}
.eg-timeline__track {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: var(--eg-timeline-gap);
  width: max-content;
  min-width: 100%;
  padding: 0 var(--space-50);
  box-sizing: border-box;
}
.eg-timeline__line {
  position: absolute;
  left: var(--space-50);
  right: var(--space-50);
  top: 50%;
  height: 2px;
  margin-top: -1px;
  background: var(--color-amber);
  opacity: 0.3;
  pointer-events: none;
  z-index: 1;
}
.eg-timeline__item {
  position: relative;
  display: grid;
  grid-template-rows: minmax(180px, 1fr) 14px minmax(180px, 1fr);
  align-items: stretch;
  width: var(--eg-timeline-item-width);
  min-width: var(--eg-timeline-item-width);
  flex: 0 0 var(--eg-timeline-item-width);
  z-index: 2;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.55s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--eg-timeline-i, 0) * 40ms);
}
.eg-timeline.is-ready .eg-timeline__item {
  opacity: 1;
  transform: translateY(0);
}
.eg-timeline__item.is-in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.eg-timeline__content,
.eg-timeline__media {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.eg-timeline__item--top .eg-timeline__content {
  grid-row: 1;
  justify-content: flex-end;
  padding-bottom: var(--space-20);
}
.eg-timeline__item--top .eg-timeline__dot {
  grid-row: 2;
  justify-self: center;
  align-self: center;
}
.eg-timeline__item--top .eg-timeline__media {
  grid-row: 3;
  justify-content: flex-start;
  padding-top: var(--space-20);
}
.eg-timeline__item--bottom .eg-timeline__media {
  grid-row: 1;
  justify-content: flex-end;
  padding-bottom: var(--space-20);
}
.eg-timeline__item--bottom .eg-timeline__dot {
  grid-row: 2;
  justify-self: center;
  align-self: center;
}
.eg-timeline__item--bottom .eg-timeline__content {
  grid-row: 3;
  justify-content: flex-start;
  padding-top: var(--space-20);
}
.eg-timeline__dot {
  position: relative;
  z-index: 3;
  display: block;
  width: 14px;
  height: 14px;
  margin: 0;
  border-radius: 50%;
  background: var(--eg-timeline-dot);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-cream) 85%, var(--eg-timeline-dot));
}
.eg-timeline__date {
  margin: 0 0 var(--space-10);
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: clamp(28px, 3.5vw, 52px);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-110);
  letter-spacing: -0.02em;
  color: var(--color-night-blue);
  overflow-wrap: break-word;
}
.eg-timeline__text {
  --eg-timeline-text-max: calc(var(--space-100) + var(--space-20));
  --eg-timeline-text-full: 40rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin: 0;
  padding: 0;
}
.eg-timeline__text-body {
  position: relative;
  width: 100%;
  overflow: hidden;
  max-height: none;
  transition: max-height 0.4s ease;
}
.eg-timeline__text.is-clamped .eg-timeline__text-body {
  max-height: var(--eg-timeline-text-max);
}
.eg-timeline__text.is-expanded .eg-timeline__text-body {
  max-height: var(--eg-timeline-text-full);
}
.eg-timeline__text.is-clamped .eg-timeline__text-body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--space-30);
  background: linear-gradient(to top, var(--color-cream), transparent);
  pointer-events: none;
  z-index: 1;
}
.eg-timeline__more {
  position: relative;
  z-index: 2;
  display: inline-block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-150);
  color: var(--color-coral-orange);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.eg-timeline__text,
.eg-timeline__text p,
.eg-timeline__text strong,
.eg-timeline__text span {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
}
.eg-timeline__text p + p {
  margin-top: var(--space-10);
}
.eg-timeline__text strong,
.eg-timeline__text b {
  font-weight: var(--font-weight-bold);
}
@media (prefers-reduced-motion: reduce) {
  .eg-timeline__text-body {
    transition: none;
  }
}
.eg-timeline__figure {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.eg-timeline__item.is-active .eg-timeline__figure,
.eg-timeline__item:hover .eg-timeline__figure {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px -16px rgba(27, 58, 75, 0.28);
}
.eg-timeline__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  object-fit: cover;
  border-radius: 2px;
  pointer-events: none;
  filter: sepia(0.12) contrast(1.02);
  clip-path: polygon(
    2% 4%,
    12% 1%,
    28% 3%,
    45% 0%,
    62% 2%,
    78% 1%,
    92% 4%,
    100% 8%,
    98% 22%,
    100% 40%,
    97% 58%,
    100% 74%,
    96% 88%,
    88% 98%,
    72% 100%,
    55% 97%,
    38% 100%,
    22% 96%,
    8% 100%,
    0% 90%,
    2% 72%,
    0% 52%,
    3% 34%,
    0% 18%
  );
}
.eg-timeline__hint {
  display: none;
}

/* —— 28l.1 Seção Divi .timeline (intro + shortcode + label) —— */

.et-db .et-l .custom-section.timeline {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.timeline .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.timeline .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.timeline .feature {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.timeline .feature .et_pb_text_inner,
.et-db .et-l .custom-section.timeline .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.timeline .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-110);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.timeline .text {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.timeline .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-15);
}
.et-db .et-l .custom-section.timeline .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: left;
}
.et-db .et-l .custom-section.timeline .text .et_pb_text_inner strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.timeline .et_pb_code {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.timeline .et_pb_code_inner {
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.timeline .label {
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.timeline .label .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-130);
  color: var(--color-coral-orange);
  text-align: center;
}

/* —— 28l.2 text-review (citação + texto — Figma 905:6392) —— */

.et-db .et-l .custom-section.text-review {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-review .custom-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: var(--space-100);
  align-items: stretch;
  width: var(--layout-content-width);
  max-width: var(--layout-content-width) !important;
  margin: 0 auto !important;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-review .custom-content > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  gap: var(--space-30);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
  min-width: 0;
}
.et-db .et-l .custom-section.text-review .custom-content > .et_pb_column:has(.simple-review) {
  justify-content: stretch;
}
.et-db .et-l .custom-section.text-review .custom-content > .et_pb_column:has(.feature),
.et-db .et-l .custom-section.text-review .custom-content > .et_pb_column:has(.text) {
  justify-content: center;
}
.et-db .et-l .custom-section.text-review .simple-review {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: var(--space-50);
  background-color: var(--color-cream);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.text-review .simple-review.et_pb_testimonial::before,
.et-db .et-l .custom-section.text-review .et_pb_testimonial.simple-review::before {
  display: none !important;
  content: none !important;
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-25);
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_inner::before {
  content: "";
  width: var(--space-55);
  height: var(--space-40);
  background: url(../images/icon-quote-orange.svg) center / contain no-repeat;
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_description {
  display: flex;
  flex-direction: column;
  gap: var(--space-25);
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_content,
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_content p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_author {
  margin: 0;
  padding: var(--space-25) 0 0;
  border-top: 1px solid color-mix(in srgb, var(--color-coral-orange) 20%, transparent);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  font-style: normal !important;
  line-height: var(--line-height-130);
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_author::before,
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_author::after {
  display: none !important;
  content: none !important;
}
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_meta,
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_portrait,
.et-db .et-l .custom-section.text-review .simple-review .et_pb_testimonial_quotes {
  display: none !important;
}
.et-db .et-l .custom-section.text-review .feature,
.et-db .et-l .custom-section.text-review .text {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.text-review .feature .et_pb_text_inner,
.et-db .et-l .custom-section.text-review .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-review .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-amber);
  text-align: left !important;
}
.et-db .et-l .custom-section.text-review .feature.terracota .et_pb_text_inner,
.et-db .et-l .custom-section.text-review .feature.terracota .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-review .feature.terracota .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-review .feature.amber .et_pb_text_inner,
.et-db .et-l .custom-section.text-review .feature.amber .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-review .feature.amber .et_pb_text_inner h3 {
  color: var(--color-amber);
}
.et-db .et-l .custom-section.text-review .text .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
.et-db .et-l .custom-section.text-review .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-white);
  text-align: left !important;
}
.et-db .et-l .custom-section.text-review .text .et_pb_text_inner strong {
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
}
.et-db .et-l .custom-section.text-review .text .et_pb_text_inner p:empty {
  display: none;
}

/* —— 28l.3 list-family (lista de nomes) —— */

.et-db .et-l .custom-section.list-family {
  padding: var(--space-80) 0 var(--space-100);
  margin: 0;
  background-color: var(--color-light-gray);
}
.et-db .et-l .custom-section.list-family .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.list-family .custom-content.text {
  margin-bottom: var(--space-60);
}
.et-db .et-l .custom-section.list-family .custom-content > .et_pb_column {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.list-family .feature .et_pb_text_inner,
.et-db .et-l .custom-section.list-family .feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.list-family .feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: center;
}
.et-db .et-l .custom-section.list-family .custom-content.list {
  margin-bottom: var(--space-30);
}
.et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner {
  --eg-list-family-max: calc((var(--font-size-base) * 1.5 * 10) + (var(--space-30) * 9));
  --eg-list-family-full: 80rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-30);
  margin: 0;
  padding: var(--space-30);
  background-color: var(--color-white);
  border-radius: var(--border-radius-30);
  box-shadow: 0 16px 70px -20px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  overflow: hidden;
}
/* Evita FOUC: só mostra depois do JS montar o grid (opacity — não display:none, senão scrollHeight=0) */
body:not(.et-fb) .custom-section.list-family .custom-content.list .et_pb_text_inner:not(.is-ready),
body:not(.et-fb) .et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner:not(.is-ready) {
  opacity: 0 !important;
  visibility: hidden !important;
  min-height: calc(var(--eg-list-family-max) + var(--space-30) + 4.5em);
}
body:not(.et-fb) .custom-section.list-family .custom-content.list .et_pb_text_inner.is-ready,
body:not(.et-fb) .et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner.is-ready {
  opacity: 1;
  visibility: visible;
}
.et-db .et-l .custom-section.list-family .custom-content.list .eg-list-family__body {
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: max-height 0.45s ease;
}
.et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner.is-clamped .eg-list-family__body {
  max-height: var(--eg-list-family-max);
}
.et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner.is-expanded .eg-list-family__body {
  max-height: var(--eg-list-family-full);
}
.et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner.is-clamped .eg-list-family__body::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--space-40);
  background: linear-gradient(to top, var(--color-white), transparent);
  pointer-events: none;
  z-index: 1;
}
.et-db .et-l .custom-section.list-family .eg-list-family__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: var(--space-30);
  row-gap: var(--space-30);
  width: 100%;
  margin: 0;
  padding: 0;
}
.et-db .et-l .custom-section.list-family .eg-list-family__item {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-night-blue);
  overflow-wrap: break-word;
  word-break: normal;
}
.et-db .et-l .custom-section.list-family .eg-list-family__more {
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--space-25) var(--space-20);
  border: 0;
  border-radius: 0;
  background-color: var(--color-light-gray);
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
  text-align: center;
  cursor: pointer;
  opacity: 0.3;
  transition: opacity var(--transition-default), color var(--transition-default);
}
.et-db .et-l .custom-section.list-family .eg-list-family__more:hover,
.et-db .et-l .custom-section.list-family .eg-list-family__more:focus-visible {
  opacity: 1;
  color: var(--color-coral-orange);
}
.et-db .et-l .custom-section.list-family .custom-content.label .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-130);
  color: var(--color-gray);
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .et-db .et-l .custom-section.list-family .custom-content.list .eg-list-family__body {
    transition: none;
  }
}

/* —— 28l.4 container-cards-download (Figma 902:5377) —— */

.et-db .et-l .custom-section.container-cards-download {
  padding: var(--space-100) 0;
  margin: 0;
  background-color: var(--color-white);
}
.et-db .et-l .custom-section.container-cards-download .custom-content {
  width: var(--layout-content-width);
  max-width: var(--layout-content-width);
  margin: 0 auto;
  padding: 0 var(--layout-content-pad-x);
  box-sizing: border-box;
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) {
  margin-bottom: calc(var(--space-60) + var(--space-5));
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) > .et_pb_column {
  display: flex !important;
  flex-direction: column;
  gap: var(--space-25);
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0;
  float: none;
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .et_pb_text,
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .et_pb_module {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text-feature .et_pb_text_inner h2,
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text-feature .et_pb_text_inner h3,
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text-feature .et_pb_text_inner h4 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-manifest);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) .text .et_pb_text_inner p + p {
  margin-top: var(--space-25);
}
.et-db .et-l .custom-section.container-cards-download .custom-content.cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-40);
  align-items: stretch;
}
.et-db .et-l .custom-section.container-cards-download .custom-content.cards > .et_pb_column.card-download {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-25);
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
  margin: 0 !important;
  padding: var(--space-50);
  background-color: var(--color-light-gray);
  border: 1px solid var(--color-cream);
  border-radius: var(--border-radius-30);
  box-sizing: border-box;
  float: none;
}
.et-db .et-l .custom-section.container-cards-download .card-download > .et_pb_text,
.et-db .et-l .custom-section.container-cards-download .card-download > .et_pb_module,
.et-db .et-l .custom-section.container-cards-download .card-download > .et_pb_button_module_wrapper {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}
.et-db .et-l .custom-section.container-cards-download .card-download .text-feature + .text {
  /* Figma: 12px entre título e texto (gap do card é 25) */
  margin-top: calc(var(--space-10) + var(--space-5) - var(--space-25)) !important;
}
.et-db .et-l .custom-section.container-cards-download .card-download .text-feature .et_pb_text_inner,
.et-db .et-l .custom-section.container-cards-download .card-download .text-feature .et_pb_text_inner h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-playfair);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-120);
  letter-spacing: -0.01em;
  color: var(--color-night-blue);
  text-align: left;
}
.et-db .et-l .custom-section.container-cards-download .card-download .text .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}
.et-db .et-l .custom-section.container-cards-download .card-download .et_pb_button_module_wrapper {
  width: auto;
  max-width: 100%;
}
.et-db .et-l .custom-section.container-cards-download .card-download .et_pb_button.custom-button,
.et-db .et-l .custom-section.container-cards-download .card-download a.custom-button {
  width: auto;
  max-width: 100%;
  white-space: normal;
  text-align: left;
}
.et-db .et-l .custom-section.container-cards-download .card-download .about-doc {
  width: 100%;
  margin: 0;
  padding: var(--space-25) 0 0;
  border-top: 1px solid var(--color-cream);
}
.et-db .et-l .custom-section.container-cards-download .card-download .about-doc .et_pb_text_inner p {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-manrope);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-150);
  color: var(--color-gray);
}

/* coral-orange em text-feature / feature (Miné) */
.et-db .et-l .custom-section .text-feature.coral-orange .et_pb_text_inner,
.et-db .et-l .custom-section .text-feature.coral-orange .et_pb_text_inner h2,
.et-db .et-l .custom-section .text-feature.coral-orange .et_pb_text_inner h3,
.et-db .et-l .custom-section .text-feature.coral-orange .et_pb_text_inner h4 {
  color: var(--color-coral-orange);
}
.et-db .et-l .custom-section .feature.coral-orange .et_pb_text_inner,
.et-db .et-l .custom-section .feature.coral-orange .et_pb_text_inner h2,
.et-db .et-l .custom-section .feature.coral-orange .et_pb_text_inner h3 {
  color: var(--color-coral-orange);
}

/* text-image-full.left — imagem full bleed à esquerda + texto (Figma 905:6285) */
.et-db .et-l .custom-section.text-image-full.left {
  background-color: var(--color-light-gray);
}
.et-db .et-l .custom-section.text-image-full.left .custom-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
}
.et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:first-child {
  position: relative;
  min-height: calc(var(--space-100) * 5 + var(--space-60));
  padding: 0 !important;
  overflow: hidden;
  justify-content: stretch;
  align-items: stretch;
  gap: 0;
}
.et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: var(--space-40);
  box-sizing: border-box;
  /* usar --container-max-width (px), não --layout-content-width (vira % ≤1280) */
  padding: var(--space-100)
    max(var(--space-50), calc((100vw - var(--container-max-width)) / 2))
    var(--space-100) var(--space-50);
}
.et-db .et-l .custom-section.text-image-full.left .text-feature,
.et-db .et-l .custom-section.text-image-full.left .text {
  max-width: none;
}
.et-db .et-l .custom-section.text-image-full.left .text .et_pb_text_inner p {
  color: var(--color-night-blue);
}
.et-db .et-l .custom-section.text-image-full .text-feature.coral-orange .et_pb_text_inner,
.et-db .et-l .custom-section.text-image-full .text-feature.coral-orange .et_pb_text_inner h2,
.et-db .et-l .custom-section.text-image-full .text-feature.coral-orange .et_pb_text_inner h3,
.et-db .et-l .custom-section.text-image-full .text-feature.coral-orange .et_pb_text_inner h4 {
  color: var(--color-coral-orange);
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
}

/* ==========================================================================
   29. RESPONSIVO
   ========================================================================== */

/* —— 29.1 ≤ 1280px —— */
@media screen and (max-width: 1280px) {
  :root {
    --font-size-hero: 50px;
    --font-size-manifest: 36px;
    --font-size-title: 22px;
    --font-size-subtitle: 18px;
    --layout-content-width: 95%;
  }
  .et-db .et-l .custom-section.footer .custom-content,
  .eg-smart-menu__inner,
  .et-db .et-l .custom-section.banner-full .et_pb_container {
    max-width: var(--layout-content-width) !important;
    width: var(--layout-content-width);
  }

  .et-db .et-l .custom-section .custom-content {
    max-width: 95%;
  }

  /* Text Image Full — mais espaço pro texto ≤1280 */
  .et-db .et-l .custom-section.text-image-full .custom-content {
    max-width: none !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
  .et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:first-child {
    padding: var(--space-50) 0 var(--space-50) var(--space-50);
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:first-child {
    padding: 0 !important;
    min-height: calc(var(--space-100) * 4 + var(--space-80));
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:last-child {
    padding: var(--space-60) var(--space-40);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.text-image-full.left .text-feature,
  .et-db .et-l .custom-section.text-image-full.left .text {
    max-width: none;
  }
  .et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content > .et_pb_column:has(.et_pb_image) {
    padding: 0 !important;
    min-height: 300px;
  }
  .et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-content > .et_pb_column:has(.custom-form) {
    padding: var(--space-50) var(--space-30) var(--space-50) 0;
  }
  .et-db .et-l .custom-section.text-image-full.image-right:has(.custom-form) .custom-content > .et_pb_column:has(.custom-form) {
    padding: var(--space-50) 0 var(--space-50) var(--space-50);
  }
  .et-db .et-l .custom-section.text-image-full.reverse .custom-content > .et_pb_column:first-child {
    padding: var(--space-80)
      max(var(--space-30), calc((100vw - var(--layout-content-width)) / 2))
      var(--space-80) var(--space-30);
  }
  .et-db .et-l .custom-section.text-image-full .text-feature,
  .et-db .et-l .custom-section.text-image-full .text {
    max-width: none;
  }
}

/* —— 29.2 ≤ 980px —— */
@media screen and (max-width: 980px) {
  :root {
    --font-size-hero: 40px;
    --font-size-manifest: 30px;
    --font-size-title: 24px;
    --font-size-subtitle: 20px;
  }

  .et-db .et-l .custom-section.timeline {
    padding: var(--space-50) 0;
  }
  .eg-timeline__text {
    --eg-timeline-text-max: var(--space-75);
  }

  /* Compare Table — manter 4 colunas e scroll só no card */
  .et-db .et-l .custom-section.compare-table .custom-content.table {
    width: 100% !important;
    max-width: var(--layout-content-width) !important;
    min-width: 0 !important;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row {
    display: grid !important;
    grid-template-columns: minmax(200px, 1.15fr) repeat(3, minmax(180px, 1fr)) !important;
    width: max(100%, var(--compare-min-width)) !important;
    min-width: var(--compare-min-width) !important;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    overflow: visible !important;
  }

  .eg-blog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .eg-blog__tile-overlay {
    padding: var(--space-25);
  }
  .eg-blog__tile-title {
    -webkit-line-clamp: 3;
  }
  
  .et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu {
    gap: var(--space-15);
  }
  .et-db .et-l .custom-section.primary-menu .custom-content {
    min-height: 76px;
    padding: var(--space-15) 0;
  }
  .et-db .et-l .custom-section.primary-menu .eg-header-actions {
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li > a {
    font-size: var(--font-size-small);
  }
  .eg-smart-menu__body {
    grid-template-columns: 1fr;
    gap: var(--space-30);
  }
  .eg-smart-menu__panels {
    display: none;
  }
  .eg-smart-menu__primary {
    gap: var(--space-30);
  }
  .eg-smart-menu__primary-item.has-children {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .eg-smart-menu__primary-item.is-active > button {
    color: var(--color-white);
    text-decoration: none;
  }
  .eg-smart-menu__primary-item.is-active > button .eg-smart-menu__caret {
    transform: rotate(90deg);
    opacity: 1;
  }

  /* —— 29.2.1 Section paddings (web → tablet) —— */
  .et-db .et-l .custom-section.video,
  .et-db .et-l .custom-section.simple-title-text,
  .et-db .et-l .custom-section.simple-title-text-process,
  .et-db .et-l .custom-section.how-to-works.list-cards,
  .et-db .et-l .custom-section.how-to-works.list-check,
  .et-db .et-l .custom-section.image-title-text,
  .et-db .et-l .custom-section.image-text-two-columns,
  .et-db .et-l .custom-section.cta-text-button,
  .et-db .et-l .custom-section.family-review,
  .et-db .et-l .custom-section.feature-text {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.how-to-works.list-check {
    gap: var(--space-40);
  }
  .et-db .et-l .custom-section.how-to-works.list-check .card {
    flex: 1 1 calc((100% - var(--space-25)) / 2);
    width: calc((100% - var(--space-25)) / 2) !important;
    max-width: calc((100% - var(--space-25)) / 2);
  }
  .et-db .et-l .custom-section.video .custom-video .et_pb_video_play {
    width: 60px;
    height: 60px;
    background-size: 12px;
  }
  .et-db .et-l .custom-section.simple-title-text:has(.cards.contact) {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.simple-title-text .custom-content.cards.contact > .et_pb_column {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.simple-title-text .cards.contact .card {
    padding: var(--space-30);
  }

  /* —— 29.2.2 Accordion —— */

  .eg-smart-menu__primary-item .eg-smart-menu__panel.is-visible {
    width: 100%;
    margin-top: var(--space-20);
    margin-bottom: var(--space-15);
    padding: 0 0 0 var(--space-10);
  }
  .eg-smart-menu__panel-title {
    font-size: var(--font-size-subtitle);
  }
  .eg-smart-menu__panel-desc {
    margin-bottom: var(--space-30);
    max-width: none;
  }
  .eg-smart-menu__panel-links {
    gap: var(--space-15);
  }
  .eg-smart-menu__panel-links a {
    font-size: var(--font-size-base);
  }
  .eg-smart-menu__top {
    margin-bottom: var(--space-50);
  }
  .et-db .et-l .custom-section.footer {
    padding: var(--space-50) 0 var(--space-30);
  }
  .et-db .et-l .custom-section.footer .primary-footer {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.footer .primary-footer .et_pb_column {
    flex: 1 1 calc(50% - var(--space-30));
    width: calc(50% - var(--space-15)) !important;
    max-width: none;
  }
  .et-db .et-l .custom-section.footer .secondary-footer {
    gap: var(--space-30);
    align-items: center;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child {
    flex: 1 1 100%;
    max-width: 100%;
    margin-right: 0 !important;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:nth-child(2) {
    flex: 1 1 auto;
    align-items: flex-start;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:last-child {
    align-items: flex-start;
    margin-left: 0 !important;
  }
  .et-db .et-l .custom-section.footer .et_pb_social_media_follow {
    justify-content: flex-start;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .text .et_pb_text_inner,
  .et-db .et-l .custom-section.footer .secondary-footer .text .et_pb_text_inner p {
    text-align: left;
  }

  /* —— 29.2.3 Footer menus (tablet) —— */

  .et-db .et-l .custom-section.footer .et_pb_menu .et_pb_menu__menu,
  .et-db .et-l .custom-section.footer .et_pb_menu .et-menu {
    display: flex !important;
    visibility: visible !important;
  }
  .et-db .et-l .custom-section.footer .et_pb_menu .et_mobile_nav_menu {
    display: none !important;
  }

  /* —— 29.2.4 Redes sociais —— */

  .et-db .et-l .custom-section.footer .et_pb_social_media_follow .et_pb_social_icon {
    margin: 0 !important;
  }
  .et-db .et-l .custom-section.banner-full {
    --banner-pad-y: var(--space-30);
  }

  /* —— 29.2.5 Text Feature —— */

  .et-db .et-l .custom-section.text-feature {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.text-feature .custom-content {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 0;
    padding: 0;
  }
  .et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:first-child {
    margin-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:first-child,
  .et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:last-child {
    grid-column: 1;
    width: 100% !important;
  }
  .et-db .et-l .custom-section.text-feature .subtitle {
    margin: 0;
  }
  .et-db .et-l .custom-section.text-feature .custom-content > .et_pb_column:last-child {
    max-width: 100%;
  }
  .et-db .et-l .custom-section.text-feature:has(.custom-content.review) .custom-content:not(.review) {
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.text-feature .custom-content.review {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--space-30);
  }

  /* —— 29.2.6 Cards —— */

  .et-db .et-l .custom-section.cards {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.cards .custom-content > .et_pb_column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cards.text-card .custom-content.text {
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.cards.text-card .custom-content:not(.text) > .et_pb_column {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.cards.text-card .card {
    flex: 0 1 calc((100% - var(--space-30)) / 2);
    width: calc((100% - var(--space-30)) / 2) !important;
    max-width: calc((100% - var(--space-30)) / 2);
  }
  .et-db .et-l .custom-section.cards.equal .custom-content:not(.text) > .et_pb_column {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cards.equal .card {
    flex: none;
    width: 100% !important;
    max-width: 100%;
    height: 100%;
  }
  .et-db .et-l .custom-section.cards.life-project .custom-content:not(:has(.card)) > .et_pb_column {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.cards.life-project .custom-content:has(.card) > .et_pb_column {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }

  /* —— 29.2.7 Cards with Buttons —— */

  .et-db .et-l .custom-section.cards-with-buttons {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cards-with-buttons .card {
    width: 100% !important;
    max-width: 100% !important;
    padding: var(--space-30);
  }
  .et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.feature) {
    margin-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.cards-with-buttons.four-columns .custom-content:has(.card) > .et_pb_column {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.download {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.download .custom-content > .et_pb_column {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.search-result {
    padding: var(--space-50) 0;
  }
  .eg-search-results__card {
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: var(--space-20);
  }

  /* —— 29.2.8 CTA Image Text —— */

  .et-db .et-l .custom-section.cta-image-text .custom-content {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .et-db .et-l .custom-section.cta-image-text::before {
    background-color: var(--color-white) !important;
    opacity: .9;
  }

  .et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column:first-child {
    display: none;
  }
  .et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column:last-child {
    padding: var(--space-50);
  }

  .et-db .et-l .custom-section.cta-image-text .et_pb_button_module_wrapper {
    margin: auto;
    padding: 0;
  }
  .et-db .et-l .custom-section.cta-image-text .text .et_pb_text_inner p {
    text-align: center;
  }
  .et-db .et-l .custom-section.cta-image-text .feature .et_pb_text_inner,
  .et-db .et-l .custom-section.cta-image-text .feature .et_pb_text_inner h2 {
    text-align: center;
  }
  .et-db .et-l .custom-section.cta-image-text.type2 {
    min-height: 0;
    background-position: center top;
  }
  .et-db .et-l .custom-section.cta-image-text.type2 .custom-content > .et_pb_column:last-child {
    padding: var(--space-50) 0;
    align-items: center;
  }
  .et-db .et-l .custom-section.cta-image-text.type2 .feature,
  .et-db .et-l .custom-section.cta-image-text.type2 .text {
    max-width: 100%;
  }

  /* —— 29.2.9 Text Image —— */

  .et-db .et-l .custom-section.text-image {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.text-image .custom-content,
  .et-db .et-l .custom-section.text-image .custom-content.review {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--space-30);
    justify-content: stretch;
  }
  .et-db .et-l .custom-section.text-image .custom-content.review > .et_pb_column.content-text,
  .et-db .et-l .custom-section.text-image .custom-content.review > .et_pb_column.content-image {
    max-width: none;
    width: 100% !important;
  }
  .et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.et_pb_image),
  .et-db .et-l .custom-section.text-image .custom-content > .et_pb_column.content-image,
  .et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.et_pb_image) {
    order: 1;
    align-items: center;
    justify-content: center;
  }
  .et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.text-feature),
  .et-db .et-l .custom-section.text-image .custom-content > .et_pb_column:has(.text),
  .et-db .et-l .custom-section.text-image .custom-content > .et_pb_column.content-text,
  .et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.text-feature),
  .et-db .et-l .custom-section.text-image.reverse .custom-content > .et_pb_column:has(.text) {
    order: 2;
  }
  .et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner,
  .et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h2,
  .et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h3,
  .et-db .et-l .custom-section.text-image .custom-content.review .text-feature .et_pb_text_inner h4 {
    font-size: var(--font-size-manifest);
  }
  .et-db .et-l .custom-section.text-image.light .custom-content.review > .et_pb_column.content-text {
    order: 1;
  }
  .et-db .et-l .custom-section.text-image.light .custom-content.review > .et_pb_column.content-image {
    order: 2;
  }
  .et-db .et-l .custom-section.text-image.light .custom-content.review .et_pb_image {
    max-width: none;
  }
  .et-db .et-l .custom-section.text-image .et_pb_image {
    max-width: 420px;
  }
  .et-db .et-l .custom-section.text-image .et_pb_image.no-radius .et_pb_image_wrap {
    max-width: 320px;
  }

  /* —— 29.2.10 Text Image Full —— */

  .et-db .et-l .custom-section.text-image-full .custom-content {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:has(.text-feature),
  .et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:has(.text) {
    order: 2;
    padding: 0 0 var(--space-50);
    max-width: 95%;
    margin: auto;
  }
  .et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:has(.custom-form) {
    order: 2;
    padding: 0 !important;
    max-width: 95%;
    margin: 0 auto !important;
  }
  .et-db .et-l .custom-section.text-image-full .custom-content > .et_pb_column:has(.et_pb_image) {
    order: 1;
    position: relative;
    min-height: 360px;
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:first-child {
    order: 1;
    width: 100%;
    max-width: none;
    min-height: 360px;
    padding: 0 !important;
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:last-child {
    order: 2;
    width: 100%;
    padding: 0 0 var(--space-50);
    gap: var(--space-30);
    max-width: 95%;
    margin: 0 auto;
    height: auto;
    min-height: auto;
  }
  .et-db .et-l .custom-section.text-image-full.left .text-feature,
  .et-db .et-l .custom-section.text-image-full.left .text {
    max-width: none;
  }
  .et-db .et-l .custom-section.text-image-full.image-right:has(.custom-form) .custom-content > .et_pb_column:has(.et_pb_image) {
    order: 1;
  }
  .et-db .et-l .custom-section.text-image-full.image-right:has(.custom-form) .custom-content > .et_pb_column:has(.custom-form) {
    order: 2;
  }
  .et-db .et-l .custom-section.text-image-full .text-feature,
  .et-db .et-l .custom-section.text-image-full .text {
    max-width: 100%;
  }
  body .custom-form .form-row > div,
  .et-db .et-l .custom-form .form-row > div {
    flex: 1 1 100%;
  }
  .et-db .et-l .custom-section.text-image-full:has(.custom-form) .custom-form {
    max-width: 100%;
  }

  /* —— 29.2.11 Itens Contact —— */

  .et-db .et-l .custom-section.itens-contact {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.itens-contact .custom-content > .et_pb_column:only-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-50) var(--space-30);
  }
  .et-db .et-l .custom-section.itens-contact .custom-content:has(> .et_pb_column:nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-50) var(--space-30);
  }
  .et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_content {
    align-items: center;
    text-align: center;
  }
  .et-db .et-l .custom-section.itens-contact .card .et_pb_module_header,
  .et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description,
  .et-db .et-l .custom-section.itens-contact .card .et_pb_blurb_description p {
    text-align: center;
  }
  .et-db .et-l .custom-section.itens-contact-type2 {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.itens-contact-type2 > .et_pb_row:not(.custom-content) {
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.itens-contact-type2 .custom-content > .et_pb_column:only-child {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.error404 {
    padding: var(--space-50) 0;
    min-height: calc(
      100dvh - var(--secondary-menu-height, 0px) - var(--primary-menu-height, 76px)
    );
  }
  .et-db .et-l .custom-section.error404 .custom-content > .et_pb_column {
    gap: var(--space-20);
  }

  /* —— 29.2.12 Students Review —— */

  .et-db .et-l .custom-section.students-review {
    --students-per-view: 2;
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.students-review .custom-content:not(.review) {
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.students-review .et_pb_testimonial {
    padding: var(--space-30);
  }

  /* —— 29.2.13 CTA Contact Gallery —— */

  .et-db .et-l .custom-section.cta-contact-gallery {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.cta-contact-gallery .custom-content {
    column-gap: var(--space-50);
  }
  .et-db .et-l .custom-section.cta-contact-gallery .feature {
    max-width: 100%;
  }
  .et-db .et-l .custom-section.cta-contact-gallery .text .et_pb_text_inner p {
    text-align: center;
  }

  /* —— 29.2.13b Location —— */

  .et-db .et-l .custom-section.location {
    padding: var(--space-50) 0;
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.location .custom-content.card-location {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.location .custom-content.card-location > .et_pb_column {
    padding: var(--space-30);
  }
  .et-db .et-l .custom-section.location .custom-map iframe {
    height: 360px !important;
  }
  .et-db .et-l .custom-section.location .custom-content.our-phone {
    padding: var(--space-50) var(--space-30);
  }
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner,
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner p,
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner a {
    font-size: var(--font-size-manifest);
    line-height: var(--line-height-120);
  }

  /* —— 29.2.14 Internal Top —— */

  .et-db .et-l .custom-section.internal-top {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.internal-top .custom-content:not(.review):not(.card-contact) {
    padding-bottom: var(--space-30);
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.internal-top.no-border .custom-content:not(.review):not(.card-contact) {
    padding-bottom: 0;
    margin-bottom: 0 !important;
  }
  .et-db .et-l .custom-section.internal-top .custom-content.review {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--space-30);
  }
  .et-db .et-l .custom-section.internal-top .custom-content.card-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-30);
    margin-top: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.internal-top .custom-content.card-contact > .et_pb_column {
    padding: var(--space-30);
  }

  /* —— 29.2.15 Text Simple —— */

  .et-db .et-l .custom-section.text-simple {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.text-simple .custom-content > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.simple-text {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.simple-text .custom-content > .et_pb_column.content-text,
  .et-db .et-l .custom-section.simple-text .custom-content > .et_pb_column {
    gap: var(--space-20);
    max-width: 100% !important;
  }
  .et-db .et-l .custom-section.simple-text .custom-content.period-block {
    margin-top: var(--space-30);
  }
  .et-db .et-l .custom-section.simple-text .custom-content.period-block > .et_pb_column {
    padding: var(--space-20) var(--space-30);
  }
  .et-db .et-l .custom-section.simple-text .custom-content.period-block .list ul {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    row-gap: var(--space-15);
  }

  /* Schedule Calendars */
  .et-db .et-l .custom-section.schedule-calendars {
    padding: var(--space-50) 0;
  }
  .eg-schedule-calendar {
    margin-bottom: var(--space-30);
  }
  .eg-schedule-calendar__title {
    margin-bottom: var(--space-30);
  }

  /* Period Split */
  .et-db .et-l .custom-section.period-split {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.period-split .custom-content,
  .et-db .et-l .custom-section.period-split.dark .custom-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: var(--space-30);
  }
  .et-db .et-l .custom-section.period-split .custom-content > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
  }
  .et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column:has(> .title) {
    display: contents;
  }
  .et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column:has(> .title) > .title {
    order: 1;
  }
  .et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column > .subtitle {
    order: 2;
  }
  .et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column > .text {
    order: 3;
  }
  .et-db .et-l .custom-section.period-split.dark .custom-content > .et_pb_column:has(.et_pb_image) {
    order: 4;
  }
  .et-db .et-l .custom-section.period-split.dark .period-block {
    order: 5;
    margin-top: 0 !important;
  }
  .et-db .et-l .custom-section.period-split .et_pb_image .et_pb_image_wrap,
  .et-db .et-l .custom-section.period-split .et_pb_image img {
    height: 420px;
  }

  /* —— 29.2.16 List Image Text —— */

  .et-db .et-l .custom-section.list-image-text {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.text {
    margin-bottom: var(--space-50) !important;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.item {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--space-30);
    margin-bottom: var(--space-50) !important;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.item:has(+ .custom-content:not(.text):not(.item)) {
    margin-bottom: 0 !important;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.item > .et_pb_column:has(.image) {
    order: 1;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.item > .et_pb_column:has(.et_pb_text) {
    order: 2;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content.item .et_pb_text {
    padding: 0;
  }
  .et-db .et-l .custom-section.list-image-text > .custom-content:not(.text):not(.item) {
    padding-top: var(--space-50);
  }

  /* —— 29.2.17 Image Text Two Columns —— */

  .et-db .et-l .custom-section.image-text-two-columns > .custom-content:not(.two-columns) {
    margin-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.image-text-two-columns .image .et_pb_image_wrap {
    border-radius: var(--border-radius-30);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--space-50);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column:not(.content-feature) .text + .feature {
    margin-top: var(--space-30);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column.content-feature {
    padding: var(--space-30);
    border-radius: var(--border-radius-30);
  }

  /* list-family — tablet: 4 colunas */
  .et-db .et-l .custom-section.list-family .eg-list-family__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--space-20);
    row-gap: var(--space-20);
  }
}

/* —— 29.3 ≤ 768px —— */
@media screen and (max-width: 768px) {
  :root {
    --font-size-hero: 28px;
    --font-size-manifest: 24px;
    --font-size-title: 20px;
    --font-size-subtitle: 18px;
  }

  /* —— 29.3.0 Compare Table —— */
  .et-db .et-l .custom-section.compare-table {
    --compare-pad: var(--space-20);
    --compare-min-width: 900px;
    gap: var(--space-30);
    padding: var(--space-50) 0;
    overflow-x: hidden;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
    min-width: 0 !important;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row {
    display: grid !important;
    grid-template-columns: 150px repeat(3, 150px) !important;
    width: var(--compare-min-width) !important;
    min-width: var(--compare-min-width) !important;
    max-width: none !important;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    overflow: visible !important;
    min-height: 48px;
    padding: 10px 12px;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column:first-child,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child {
    z-index: 3;
    box-shadow: calc(-1 * var(--compare-pad) - 8px) 0 0 var(--color-white);
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head > .et_pb_column:not(:first-child),
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:not(:first-child) {
    z-index: 1;
  }
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head .et_pb_text_inner,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.head .et_pb_text_inner h3,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row .et_pb_text_inner,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row .et_pb_text_inner p,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child .et_pb_text_inner,
  .et-db .et-l .custom-section.compare-table .custom-content.table .et_pb_row.row > .et_pb_column:first-child .et_pb_text_inner p {
    font-size: var(--font-size-medium);
  }

  /* Schedule Calendars */
  .eg-schedule-calendar {
    --schedule-pad: var(--space-20);
    --schedule-min-width: 860px;
  }
  .eg-schedule-cell.is-head,
  .eg-schedule-cell.is-time,
  .eg-schedule-cell__inner {
    font-size: 14px;
  }
  .eg-schedule-cell {
    padding: 10px 12px;
  }

  /* Timeline */
  .eg-timeline {
    --eg-timeline-item-width: 180px;
    --eg-timeline-gap: var(--space-15);
    --eg-timeline-pad-y: var(--space-40);
  }
  .eg-timeline__track {
    padding: 0 var(--space-30);
  }
  .eg-timeline__line {
    left: var(--space-30);
    right: var(--space-30);
  }
  .eg-timeline__item {
    grid-template-rows: minmax(150px, 1fr) 14px minmax(150px, 1fr);
  }
  .eg-timeline__img {
    max-height: 150px;
  }
  .et-db .et-l .custom-section.timeline,
  .et-db .et-l .custom-section.text-review,
  .et-db .et-l .custom-section.container-cards-download {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.list-family {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.list-family .custom-content.list .et_pb_text_inner {
    --eg-list-family-max: calc((var(--font-size-base) * 1.5 * 8) + (var(--space-30) * 7));
    padding: var(--space-20);
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.list-family .eg-list-family__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-20);
    row-gap: var(--space-20);
  }
  .et-db .et-l .custom-section.text-review .custom-content {
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--space-30);
    column-gap: 0;
  }
  .et-db .et-l .custom-section.text-review .simple-review {
    padding: var(--space-40);
  }
  .et-db .et-l .custom-section.container-cards-download .custom-content.cards {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.container-cards-download .custom-content:not(.cards) {
    margin-bottom: var(--space-40);
  }
  .et-db .et-l .custom-section.container-cards-download .custom-content.cards > .et_pb_column.card-download {
    padding: var(--space-30);
  }
  .et-db .et-l .custom-section.text-image-full.left .custom-content > .et_pb_column:first-child {
    padding: 0 !important;
  }
  .et-db .et-l .custom-section.text-image-full.left .text-feature,
  .et-db .et-l .custom-section.text-image-full.left .text {
    max-width: none;
  }

  /* Period Split */
  .et-db .et-l .custom-section.period-split .et_pb_image .et_pb_image_wrap,
  .et-db .et-l .custom-section.period-split .et_pb_image img {
    height: 280px;
  }
  .et-db .et-l .custom-section.period-split .period-block,
  .et-db .et-l .custom-section.period-split .et_pb_row_nested.period-block {
    flex-direction: column !important;
  }
  .et-db .et-l .custom-section.period-split .period-block > .et_pb_column,
  .et-db .et-l .custom-section.period-split .period-block > .et_flex_column {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: var(--space-20) var(--space-30);
  }

  /* —— 29.3.1 Hero Banner —— */
  .et-db .et-l .custom-section.hero-banner {
    height: auto;
    min-height: 300px;
  }
  .et-db .et-l .custom-section.hero-banner.hero-image {
    height: 400px;
    min-height: 400px;
  }
  .et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image,
  .et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image .et_pb_image_wrap,
  .et-db .et-l .custom-section.hero-banner.hero-image .et_pb_image img {
    width: 140px;
    max-width: 140px;
    height: 140px;
  }
  .et-db .et-l .custom-section.hero-banner .custom-content {
    padding: var(--space-50) var(--space-30);
  }
  .et-db .et-l .custom-section.hero-banner .tag .et_pb_text_inner p {
    font-size: var(--font-size-small);
  }
  .et-db .et-l .custom-section.post-hero .entry-title {
    line-height: var(--line-height-120);
  }
  .et-db .et-l .custom-section.hero-banner.blog .custom-search {
    max-width: 100%;
  }
  .et-db .et-l .custom-section.post-hero .custom-meta {
    padding-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.post-hero .custom-breadcrumb {
    padding-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.post-hero {
    padding: var(--space-30) 0;
  }
  .et-db .et-l .custom-section.post-content {
    padding: 0 0 var(--space-30);
  }
  .et-db .et-l .custom-section.post-content .custom-content {
    padding: 0 0 var(--space-30);
  }
  .et-db .et-l .custom-section.see-too {
    padding: var(--space-30) 0;
  }
  .et-db .et-l .custom-section.see-too .custom-content {
    padding: 0 0 var(--space-30);
  }
  .eg-blog__featured {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
    margin-bottom: var(--space-80);
  }
  .eg-blog__featured-media img {
    height: 280px;
  }
  .eg-blog__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .eg-blog__grid--instagram {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .eg-blog__tile-title {
    -webkit-line-clamp: 3;
  }

  /* —— 29.3.2 Simple Title Text —— */
  .et-db .et-l .custom-section.simple-title-text {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.simple-title-text .custom-content > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.simple-title-text .custom-content.cards.contact > .et_pb_column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.simple-title-text .cards.contact .card {
    padding: var(--space-30);
  }

  /* —— 29.3.2a Processo de Ingresso —— */
  .et-db .et-l .custom-section.simple-title-text-process {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.simple-title-text-process .custom-content > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.how-to-works.list-cards {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .custom-content > .et_pb_column {
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .feature + .card,
  .et-db .et-l .custom-section.how-to-works.list-cards .text + .card {
    margin-top: calc(var(--space-30) - var(--space-20)) !important;
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .card {
    padding: var(--space-20);
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_blurb_content {
    gap: var(--space-20);
    flex-direction: column;
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_main_blurb_image {
    flex-basis: 60px;
    width: 100%;
    max-width: 100%;
    height: 60px;
    justify-content: flex-start;
  }
  .et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_image_wrap,
  .et-db .et-l .custom-section.how-to-works.list-cards .card .et_pb_image_wrap img {
    width: 56px;
    height: 56px;
  }

  .et-db .et-l .custom-section.how-to-works.list-check {
    gap: var(--space-40);
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.how-to-works.list-check .card {
    flex: 1 1 100%;
    width: 100% !important;
    max-width: 100%;
    padding: var(--space-20);
  }
  .et-db .et-l .custom-section.simple-title-text-process .notice {
    padding: var(--space-20);
  }
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_content {
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.simple-title-text-process .text + .notice {
    margin-top: calc(var(--space-40) - var(--space-30));
  }
  .et-db .et-l .custom-section.text-image:has(.custom-content.review),
  .et-db .et-l .custom-section.text-image:has(.text.light) {
    padding: var(--space-50) 0;
  }

  /* —— 29.3.2b Image Title Text —— */
  .et-db .et-l .custom-section.image-title-text {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.image-title-text .custom-content > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.image-title-text .image .et_pb_image_wrap,
  .et-db .et-l .custom-section.image-title-text .image img {
    border-radius: var(--border-radius-20);
  }

  /* —— 29.3.2c Image Text Two Columns —— */
  .et-db .et-l .custom-section.image-text-two-columns {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content:not(.two-columns) {
    margin-bottom: var(--space-20);
  }
  .et-db .et-l .custom-section.image-text-two-columns .image .et_pb_image_wrap {
    border-radius: var(--border-radius-20);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns {
    row-gap: var(--space-30);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column:not(.content-feature) .text + .feature {
    margin-top: var(--space-20);
  }
  .et-db .et-l .custom-section.image-text-two-columns > .custom-content.two-columns > .et_pb_column.content-feature {
    padding: var(--space-20);
    border-radius: var(--border-radius-20);
  }

  /* —— 29.3.3 Video —— */
  .et-db .et-l .custom-section.video {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.video .custom-video,
  .et-db .et-l .custom-section.video .custom-video .et_pb_video_box,
  .et-db .et-l .custom-section.video .custom-video .et_pb_video_overlay {
    border-radius: var(--border-radius-30);
  }

  /* —— 29.3.4 CTA Text Button —— */
  .et-db .et-l .custom-section.cta-text-button {
    min-height: 360px;
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.cta-text-button .custom-content {
    gap: var(--space-30);
    padding: 0 var(--space-30);
  }

  .admin-bar .et_pb_section.custom-section.primary-menu.is-scrolled,
  .admin-bar .et-db .et-l .custom-section.primary-menu.is-scrolled {
    top: 46px;
  }
  .et-db .et-l .custom-section.secondary-menu {
    max-height: 72px;
  }
  .et-db .et-l .custom-section.secondary-menu .custom-content {
    flex-wrap: wrap;
    gap: var(--space-10);
    padding: var(--space-10) 0;
  }
  .et-db .et-l .custom-section.secondary-menu .subtitle-menu {
    display: none;
  }
  .et-db .et-l .custom-section.secondary-menu .custom-content .et_pb_column {
    width: 100% !important;
    justify-content: center;
    margin: 0 !important;
  }
  .et-db .et-l .custom-section.secondary-menu .custom-content .et_pb_column:last-child {
    justify-content: center;
  }
  .et-db .et-l .custom-section.secondary-menu .et_pb_menu .et-menu {
    justify-content: center;
    gap: var(--space-15);
  }
  .et-db .et-l .custom-section.primary-menu .et_pb_image,
  .et-db .et-l .custom-section.primary-menu .et_pb_image a,
  .et-db .et-l .custom-section.primary-menu .et_pb_image .et_pb_image_wrap {
    max-width: 140px;
  }
  .et-db .et-l .custom-section.primary-menu .et_pb_image img,
  .et-db .et-l .custom-section.primary-menu .et_pb_image img[src*=".svg"] {
    width: 140px !important;
  }
  .eg-smart-menu__logo {
    max-width: 140px;
  }
  .et-db .et-l .custom-section.footer .primary-footer .et_pb_column {
    flex: 1 1 100%;
    width: 100% !important;
  }

  /* —— 29.3.5 Banner —— */

  .et-db .et-l .custom-section.banner-full .et_pb_slide_title {
    margin: 0 auto var(--space-20);
  }
  .et-db .et-l .custom-section.banner-full .et_pb_slide_description,
  .et-db .et-l .custom-section.banner-full .et_pb_slide_content {
   text-align: center;
  }
  .et-db .et-l .custom-section.banner-full .et-pb-controllers {
    justify-content: center;
  }

  /* —— 29.3.6 Family Review —— */

  .et-db .et-l .custom-section.family-review {
    --review-quote-size: 72px;
    --review-quote-height: 52px;
    --review-quote-gap: var(--space-20);
    --review-portrait-size: 60px;
  }
  .et-db .et-l .custom-section.family-review.projeto-mine {
    --review-quote-size: 71px;
    --review-quote-height: 52px;
    --review-quote-gap: var(--space-20);
    --review-portrait-size: var(--space-60);
  }
  .et-db .et-l .custom-section.family-review.projeto-mine .custom-content.review {
    padding-bottom: var(--space-50);
    margin-bottom: var(--space-50) !important;
  }
  .et-db .et-l .custom-section.family-review.projeto-mine .custom-content:not(.review) > .et_pb_column {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.family-review .feature {
    margin-bottom: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.family-review.projeto-mine .feature {
    margin-bottom: 0 !important;
  }
  .et-db .et-l .custom-section.family-review .et_pb_testimonial_inner {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: var(--review-quote-gap);
  }
  .et-db .et-l .custom-section.family-review .et_pb_testimonial_inner::before {
    grid-column: 1;
    grid-row: 1;
    margin-top: 0;
  }
  .et-db .et-l .custom-section.family-review .et_pb_testimonial_description {
    grid-column: 1;
    grid-row: 2;
  }
  .et-db .et-l .custom-section.family-review .eg-review-person {
    gap: var(--space-15);
  }
  .et-db .et-l .custom-section.family-review.projeto-mine .eg-review-person {
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.family-review .et_pb_testimonial_author {
    font-size: var(--font-size-title);
  }
  .et-db .et-l .custom-section.family-review .eg-review-controllers {
    margin-left: 0;
  }

  /* —— 29.3.7 Cards —— */

  .et-db .et-l .custom-section.cards .custom-content > .et_pb_column {
    grid-template-columns: minmax(0, 1fr);
  }
  .et-db .et-l .custom-section.cards .card .et_pb_image_wrap {
    height: auto;
    max-height: 300px;
  }
  .et-db .et-l .custom-section.cards.text-card .custom-content:not(.text) > .et_pb_column {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.cards.text-card .card {
    flex: 0 0 auto;
    width: 100% !important;
    max-width: 100%;
  }
  .et-db .et-l .custom-section.cards.equal .custom-content:not(.text) > .et_pb_column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cards.equal .card {
    padding: var(--space-30);
  }
  .et-db .et-l .custom-section.cards.life-project .custom-content:not(:has(.card)) > .et_pb_column {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
  }
  .et-db .et-l .custom-section.cards.life-project .custom-content:has(.card) > .et_pb_column {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cards.life-project .card {
    padding: var(--space-20);
  }
  .et-db .et-l .custom-section.cards.life-project .card .et_pb_image_wrap {
    height: auto;
    max-height: 220px;
  }
  .et-db .et-l .custom-section.cards .card .et_pb_blurb_container {
    padding: 0 var(--space-30) var(--space-30);
  }
  .et-db .et-l .custom-section.cards.text-card .card .et_pb_blurb_container {
    padding: 0;
  }

  /* —— 29.3.7b Internal Top (card-contact) —— */

  .et-db .et-l .custom-section.internal-top .custom-content.card-contact {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
    margin-top: var(--space-30) !important;
  }
  .et-db .et-l .custom-section.internal-top .custom-content.card-contact > .et_pb_column {
    padding: var(--space-30);
  }

  /* —— 29.3.8 Itens Contact —— */

  .et-db .et-l .custom-section.itens-contact .custom-content > .et_pb_column:only-child {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.itens-contact .custom-content:has(> .et_pb_column:nth-child(2)) {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.itens-contact-type2 .custom-content > .et_pb_column:only-child {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-50);
  }
  .et-db .et-l .custom-section.cards .card .et_pb_blurb_content {
    font-size: var(--font-size-title);
  }

  /* —— 29.3.9 Cards with Buttons —— */

  .et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column,
  .et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column.eg-has-card-cols,
  .et-db .et-l .custom-section.cards-with-buttons .custom-content:has(.card) > .et_pb_column:has(.eg-cards-cols) {
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    grid-template-columns: none;
    align-items: stretch;
    gap: var(--space-20);
  }

  .et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols,
  .et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols__col {
    display: contents;
  }

  .et-db .et-l .custom-section.cards-with-buttons .card,
  .et-db .et-l .custom-section.cards-with-buttons .eg-cards-cols .card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin-top: 0 !important;
    padding: var(--space-30);
  }

  .et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_container,
  .et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_description,
  .et-db .et-l .custom-section.cards-with-buttons .card .et_pb_blurb_description p {
    gap: var(--space-20);
  }

  .et-db .et-l .custom-section.cards-with-buttons .feature {
    max-width: 100%;
  }
  .et-db .et-l .custom-section.cards-with-buttons .feature .et_pb_text_inner,
  .et-db .et-l .custom-section.cards-with-buttons .feature .et_pb_text_inner h2 {
    text-align: center;
    margin-bottom: var(--space-30);
  }
  .et-db .et-l .custom-section.cards-with-buttons.four-columns .custom-content:has(.card) > .et_pb_column,
  .et-db .et-l .custom-section.cards-with-buttons.four-columns .custom-content:has(.card) > .et_pb_column.eg-has-card-cols,
  .et-db .et-l .custom-section.cards-with-buttons.four-columns .custom-content:has(.card) > .et_pb_column:has(.eg-cards-cols) {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.download .custom-content > .et_pb_column {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none;
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.download .card.download {
    padding: var(--space-20);
  }
  .et-db .et-l .custom-section.download .card.download .et_pb_image_wrap {
    height: 180px;
  }
  .eg-search-results__list {
    gap: var(--space-20);
  }
  .eg-search-results__card {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-20);
    padding: var(--space-20);
  }
  .eg-search-results__body {
    padding: 0;
  }
  .eg-search-results__media img {
    min-height: 180px;
  }

  /* —— 29.3.10 CTA Image Text —— */

  .et-db .et-l .custom-section.cta-image-text .custom-content > .et_pb_column:last-child {
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.cta-image-text .feature,
  .et-db .et-l .custom-section.cta-image-text .text {
    max-width: 100%;
  }

  /* —— 29.3.11 Students Review —— */

  .et-db .et-l .custom-section.students-review {
    --students-per-view: 1;
    --students-card-gap: var(--space-20);
  }
  .et-db .et-l .custom-section.students-review .feature {
    max-width: 100%;
  }
  .et-db .et-l .custom-section.students-review .et_pb_testimonial_portrait {
    flex-basis: 48px;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }
  .et-db .et-l .custom-section.students-review .et_pb_testimonial_author {
    font-size: var(--font-size-subtitle);
  }
  .et-db .et-l .custom-section.students-review .eg-students-controllers button {
    width: 40px;
    height: 40px;
    background-size: 16px;
  }

  /* —— 29.3.12 CTA Contact Gallery —— */

  .et-db .et-l .custom-section.cta-contact-gallery .custom-content {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    row-gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:last-child {
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.cta-contact-gallery .custom-content > .et_pb_column:last-child {
    align-items: center;
  }
  .et-db .et-l .custom-section.cta-contact-gallery h2 {
    text-align: center !important;
  }
  .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image,
  .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image img {
    border-radius: var(--border-radius-30);
  }

  /* —— 29.3.12b Location —— */

  .et-db .et-l .custom-section.location {
    padding: var(--space-50) 0;
    gap: var(--space-30);
  }
  .et-db .et-l .custom-section.location > .et_pb_row {
    padding: 0;
  }
  .et-db .et-l .custom-section.location .custom-content.card-location {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-30);
    padding: 0;
  }
  .et-db .et-l .custom-section.location .custom-content.card-location > .et_pb_column {
    padding: var(--space-30);
  }
  .et-db .et-l .custom-section.location .custom-map iframe {
    height: 280px !important;
  }
  .et-db .et-l .custom-section.location .custom-map .et_pb_code_inner,
  .et-db .et-l .custom-section.location .custom-map iframe {
    border-radius: var(--border-radius-20);
  }
  .et-db .et-l .custom-section.location .custom-content.our-phone {
    padding: var(--space-50) var(--space-30);
    border-radius: var(--border-radius-20);
  }
  .et-db .et-l .custom-section.location .our-phone > .et_pb_column {
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.location .our-phone .phone {
    padding: var(--space-5) 0;
  }
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner,
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner p,
  .et-db .et-l .custom-section.location .our-phone .phone .et_pb_text_inner a {
    font-size: var(--font-size-hero);
    line-height: var(--line-height-120);
  }

  /* —— 29.3.13 Footer menus (mobile) —— */

  .et-db .et-l .custom-section.footer .et_pb_menu .et_pb_menu__menu,
  .et-db .et-l .custom-section.footer .et_pb_menu .et-menu {
    display: flex !important;
    visibility: visible !important;
  }
  .et-db .et-l .custom-section.footer .et_pb_menu .et_mobile_nav_menu {
    display: none !important;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:first-child {
    flex: 1 1 100%;
    max-width: none;
    margin-right: 0 !important;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:nth-child(2) {
    flex: 1 1 100%;
    width: 100% !important;
    align-items: flex-start;
  }
  .et-db .et-l .custom-section.footer .secondary-footer .et_pb_column:last-child {
    flex: 0 0 auto;
    width: auto !important;
  }
  .et-db .et-l .custom-section.banner-full {
    --banner-pad-y: var(--space-20);
  }
  .et-db .et-l .custom-section.cta-contact-us {
    padding: var(--space-30) 0;
  }
  .et-db .et-l .custom-section.cta-contact-us .custom-content {
    flex-direction: column;
    align-items: center;
    gap: var(--space-20);
  }
  .et-db .et-l .custom-section.cta-contact-us .custom-content > .et_pb_column:first-child {
    align-items: center;
    width: 100% !important;
    text-align: center;
  }
  .et-db .et-l .custom-section.cta-contact-us .subtitle .et_pb_text_inner,
  .et-db .et-l .custom-section.cta-contact-us .subtitle .et_pb_text_inner h2 {
    text-align: center;
  }
  .et-db .et-l .custom-section.cta-contact-us .text .et_pb_text_inner p {
    text-align: center;
  }
  .et-db .et-l .custom-section.cta-contact-us .custom-content > .et_pb_column:last-child {
    justify-content: center;
    width: 100% !important;
  }
  .et-db .et-l .custom-section.cta-contact-us .et_pb_button_module_wrapper {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .et-db .et-l .custom-section.family-review {
    --review-quote-size: var(--space-55);
    --review-quote-height: var(--space-40);
    --review-quote-gap: var(--space-20);
    --review-portrait-size: var(--space-55);
    padding: var(--space-50) 0;
  }
  .et-db .et-l .custom-section.family-review.projeto-mine .custom-content.review {
    padding-bottom: var(--space-40);
    margin-bottom: var(--space-40) !important;
  }
  .et-db .et-l .custom-section.family-review .custom-content:not(.review) {
    padding-bottom: var(--space-30);
    margin-bottom: 0 !important;
  }
}

/* —— 29.4 ≤ 600px —— */
@media screen and (max-width: 600px) {

  .eg-action-btn span:not(.eg-action-btn__icon) {
    display: none;
  }

  .et-db .et-l .custom-section.primary-menu .eg-header-actions {
    gap: var(--space-15);
  }

  .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_image a {
    height: 350px;
  }
  .et-db .et-l .custom-section.cta-contact-gallery .et_pb_gallery_items {
    min-height: 350px;
  }

  /* —— 29.4.0 Notice (informativo empilhado) —— */
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_content {
    flex-direction: column !important;
    align-items: flex-start;
    gap: var(--space-15);
  }
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_main_blurb_image {
    flex-basis: 32px;
    width: 32px;
    max-width: 32px;
    height: 32px;
    margin: 0 !important;
  }
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_image_wrap,
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_image_wrap img {
    width: 32px;
    height: 32px;
  }
  .et-db .et-l .custom-section.simple-title-text-process .notice .et_pb_blurb_container {
    width: 100%;
  }

  /* —— 29.4.1 Primary Menu —— */
  .et-db .et-l .custom-section.primary-menu .custom-actions,
  .et-db .et-l .custom-section.primary-menu .eg-header-actions {
    gap: var(--space-15) !important;
  }
  .et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu {
    gap: var(--space-10);
  }
  .et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li > a,
  .et-db .et-l .custom-section.primary-menu .button-feature {
    padding: 3px var(--space-15);
  }
  .eg-blog__grid--instagram {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-10);
  }
}

/* —— 29.5 ≤ 480px —— */
@media screen and (max-width: 480px) {
  .et-db .et-l .custom-section.primary-menu .custom-feature-menu .et-menu > li.hidden {
    display: none;
  }

  .et-db .et-l .custom-section.primary-menu .et_pb_image,
  .et-db .et-l .custom-section.primary-menu .et_pb_image a,
  .et-db .et-l .custom-section.primary-menu .et_pb_image .et_pb_image_wrap {
    max-width: 120px;
  }
  .et-db .et-l .custom-section.primary-menu .et_pb_image img,
  .et-db .et-l .custom-section.primary-menu .et_pb_image img[src*=".svg"] {
    width: 120px !important;
  }
  .eg-smart-menu__close span:not(.eg-smart-menu__close-icon) {
    display: none;
  }
}

/* Period Split: caixas com altura do conteúdo (vence CSS tardio do Divi 5) */
.et-db .et-l .custom-section.period-split .period-block {
  --align-items: flex-start;
  align-items: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  flex-grow: 0 !important;
}
.et-db .et-l .custom-section.period-split .period-block > .et_pb_column,
.et-db .et-l .custom-section.period-split .period-block > .et_flex_column,
.et-db .et-l .custom-section.period-split .period-block .et_pb_column.green,
.et-db .et-l .custom-section.period-split .period-block .et_pb_column.terracota,
.et-db .et-l .custom-section.period-split .period-block .et_pb_column.amber {
  --align-self: flex-start;
  align-self: flex-start !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: none !important;
}
