/* ==========================================================================
   20 · DIVI
   Override dos modulos. Regra geral: cor saturada so em traco fino, texto
   curto ou marca. Bloco grande de rosa sobre branco vira cartaz de promocao.
   ========================================================================== */

/* --- BOTOES --------------------------------------------------------------
   Sem gradiente, sem borda arredondada exagerada, sem seta do Divi.
   Rosa chapado, texto branco, hover que desliza para o asfalto. */
.et_pb_button,
body #page-container .et_pb_button,
body .et_pb_module .et_pb_button{
  font-family: var(--mf-font-display);
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: -.015em;
  line-height: 1;
  padding: 15px 26px !important;
  border: 0;
  border-radius: var(--mf-raio-p);
  background: var(--mf-rosa);
  color: var(--mf-btn-texto);
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body #page-container .et_pb_button:hover{
  background: var(--mf-ink);
  color: var(--mf-bg);
  border: 0;
  padding: 15px 26px !important;
  transform: translateY(-2px);
  box-shadow: var(--mf-shadow);
}
html[data-mf-modo="cidade"] body #page-container .et_pb_button:hover{
  background: var(--mf-rosa);
  color: #fff;
  box-shadow: 0 0 26px rgba(255, 46, 136, .5);
}
/* mata a setinha nativa do Divi */
body #page-container .et_pb_button:after,
body #page-container .et_pb_button:before{ display: none !important; }

/* variante secundaria · contorno */
.mf-btn-linha.et_pb_button,
body #page-container .mf-btn-linha.et_pb_button{
  background: transparent;
  color: var(--mf-ink);
  box-shadow: inset 0 0 0 2px var(--mf-ink);
}
body #page-container .mf-btn-linha.et_pb_button:hover{
  background: var(--mf-ink);
  color: var(--mf-bg);
  box-shadow: inset 0 0 0 2px var(--mf-ink);
}

/* --- SECOES E LINHAS ----------------------------------------------------- */
.et_pb_section{ padding: 84px 0; }
.et_pb_section.mf-secao-compacta{ padding: 48px 0; }
.et_pb_row{ max-width: 1140px; }

/* divisor de secao: filete + marca de cor a esquerda */
.mf-secao-filete{ border-top: 1px solid var(--mf-line); position: relative; }
.mf-secao-filete::before{
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 72px; height: 3px;
  background: var(--mf-rosa);
}

/* --- MENU / HEADER -------------------------------------------------------
   Linha grossa embaixo, item ativo em rosa. Nada de sombra difusa. */
#main-header,
.et-fixed-header#main-header{
  background: var(--mf-bg) !important;
  box-shadow: none !important;
  border-bottom: 2px solid var(--mf-ink);
  transition: background-color var(--mf-transicao);
}
#top-menu li a,
.et_pb_menu .et-menu li a{
  font-family: var(--mf-font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mf-ink);
  text-decoration: none;
  opacity: 1;
  padding-bottom: 12px;
}
#top-menu li a:hover,
.et_pb_menu .et-menu li a:hover{ color: var(--mf-rosa); opacity: 1; }
#top-menu li.current-menu-item > a,
.et_pb_menu .et-menu li.current-menu-item > a{
  color: var(--mf-rosa);
  text-shadow: var(--mf-glow) rgba(255, 46, 136, .5);
}
#top-menu li a::after{ display: none; }

.nav li ul,
.et_pb_menu .et-menu li ul{
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-top: 3px solid var(--mf-rosa);
  box-shadow: var(--mf-shadow);
  padding: 8px 0;
}

.mobile_menu_bar::before{ color: var(--mf-rosa) !important; }
.et_mobile_menu{
  background: var(--mf-surface);
  border-top: 3px solid var(--mf-rosa);
}
.et_mobile_menu li a{ color: var(--mf-ink); border-bottom: 1px solid var(--mf-line); }

/* --- BLURB ---------------------------------------------------------------
   Vira card com marca de cor no topo. As quatro cores rodam por posicao. */
.et_pb_blurb{
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-radius: var(--mf-raio);
  padding: 26px 24px;
  position: relative;
  overflow: hidden;
}
.et_pb_blurb::before{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 46px; height: 4px;
  background: var(--mf-rosa);
}
.et_pb_column:nth-child(2) .et_pb_blurb::before{ background: var(--mf-agua); }
.et_pb_column:nth-child(3) .et_pb_blurb::before{ background: var(--mf-sol); }
.et_pb_column:nth-child(4) .et_pb_blurb::before{ background: var(--mf-violeta); }

.et_pb_blurb .et_pb_module_header{
  font-size: 1.25rem;
  margin-top: 6px;
  margin-bottom: 10px;
}
.et_pb_blurb .et_pb_blurb_description{ font-size: .97rem; color: var(--mf-muted); }
.et_pb_blurb .et_pb_main_blurb_image .et-pb-icon{ color: var(--mf-rosa); }

/* --- TOGGLE / ACCORDION -------------------------------------------------- */
.et_pb_toggle{
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-radius: var(--mf-raio-p);
  padding: 20px 22px;
}
.et_pb_toggle_open{ border-left: 3px solid var(--mf-rosa); }
.et_pb_toggle_title{
  font-family: var(--mf-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -.02em;
  color: var(--mf-ink);
}
.et_pb_toggle_title::before{ color: var(--mf-rosa); }

/* --- TABS ---------------------------------------------------------------- */
.et_pb_tabs{ border: 1px solid var(--mf-line); border-radius: var(--mf-raio); overflow: hidden; }
.et_pb_tabs_controls{ background: var(--mf-surface); border-bottom: 1px solid var(--mf-line); }
.et_pb_tabs_controls li{
  font-family: var(--mf-font-mono);
  font-size: .68rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  border: 0 !important;
  background: transparent;
}
.et_pb_tabs_controls li.et_pb_tab_active{
  background: var(--mf-bg);
  border-bottom: 3px solid var(--mf-rosa) !important;
}
.et_pb_all_tabs{ background: var(--mf-bg); }

/* --- FORMULARIOS --------------------------------------------------------- */
.et_pb_contact_field input,
.et_pb_contact_field textarea,
.et_pb_newsletter_field input,
input[type="text"], input[type="email"], input[type="search"], textarea, select{
  font-family: var(--mf-font-body) !important;
  background: var(--mf-bg) !important;
  color: var(--mf-ink) !important;
  border: 1px solid var(--mf-line) !important;
  border-radius: var(--mf-raio-p) !important;
  padding: 14px 16px !important;
  font-size: 1rem !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.et_pb_contact_field input:focus,
.et_pb_contact_field textarea:focus,
input:focus, textarea:focus{
  border-color: var(--mf-rosa) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mf-rosa) 22%, transparent) !important;
  outline: none;
}
::placeholder{ color: var(--mf-muted); opacity: 1; }

/* --- BARRA DE PROGRESSO / CONTADORES ------------------------------------- */
.et_pb_counter_amount{ background: var(--mf-rosa) !important; }
.et_pb_counter_container{ background: var(--mf-surface) !important; }
.et_pb_number_counter .percent p{
  font-family: var(--mf-font-display);
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--mf-rosa) !important;
}

/* --- RODAPE -------------------------------------------------------------- */
#main-footer{
  background: var(--mf-bg);
  border-top: 1px solid var(--mf-line);
}
#footer-bottom{ background: transparent; padding: 22px 0 34px; }
#footer-info,
#footer-bottom .et-social-icon a{
  font-family: var(--mf-font-mono);
  font-size: var(--mf-t-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mf-muted);
}

/* --- BOTAO VOLTAR AO TOPO ------------------------------------------------ */
.et_pb_scroll_top{ background: var(--mf-rosa); border-radius: var(--mf-raio-p); }
