/* ===================================================================
   Restitui — estilos auxiliares para o conteúdo nativo do Elementor
   Aplicados via "Classes CSS" nos widgets/colunas do template do Elementor.
   Carregado no front-end e dentro do editor do Elementor.
=================================================================== */

/* ---------- Botão CTA (widget Botão do Elementor) ---------- */
.re-cta .elementor-button,
.elementor-button.re-cta {
	background-color: var(--green, #b5be62);
	color: var(--teal, #1a475c);
	font-family: 'Open Sans', sans-serif;
	font-weight: 800;
	border-radius: 30px;
	padding: 15px 30px;
	box-shadow: 0 8px 18px rgba(16, 47, 61, .16);
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.re-cta .elementor-button:hover,
.elementor-button.re-cta:hover {
	background-color: #aab35a;
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(16, 47, 61, .26);
}
.re-cta .elementor-button-icon svg { fill: var(--teal, #1a475c); width: 20px; height: 20px; }
.re-cta .elementor-button-icon i   { color: var(--teal, #1a475c); }

/* ---------- Badges do banner (cards creme) ---------- */
.re-badge { background: #fff5d1; border-radius: 18px; box-shadow: 0 14px 30px rgba(16, 47, 61, .16); }
.re-badge .elementor-icon-box-icon { margin-bottom: 0 !important; }
.re-badge .elementor-icon-box-title { color: var(--teal, #1a475c); font-weight: 700; font-size: 15px; line-height: 1.2; }

/* ---------- Foto do herói (alinhada à base) ---------- */
.re-photo-bottom .elementor-widget-container { display: flex; align-items: flex-end; height: 100%; }

/* ---------- Cards teal com selo no topo (bloco "Você pode ter direito") ---------- */
.re-card-teal { position: relative; }
.re-card-teal, .re-card-teal * { color: #fff; }
.re-seal { position: absolute; top: -24px; left: 0; right: 0; z-index: 2; }
.re-seal img { width: 48px; height: 48px; margin: 0 auto; display: block; }

/* ---------- Cards com ícone flutuante no topo (bloco "Diferenciais") ---------- */
.re-card { position: relative; }
.re-icotop { position: absolute; top: -28px; left: 0; right: 0; z-index: 2; }
.re-icotop img { width: 56px; height: 56px; margin: 0 auto; display: block; }
.re-glass > .elementor-widget-wrap,
.re-glass > .elementor-element-populated { background: rgba(255, 255, 255, .16); }

/* ---------- FAQ (widget Sanfona/Accordion nativo, estilizado) ---------- */
.re-faq .elementor-accordion-item { background: #fff; border: 1.5px solid var(--green, #b5be62); border-radius: 9px; margin-bottom: 14px; overflow: hidden; }
.re-faq .elementor-tab-title { font-family: 'Open Sans', sans-serif; font-weight: 700; color: var(--teal, #1a475c); font-size: 15.5px; padding: 16px 20px; }
.re-faq .elementor-tab-title.elementor-active { color: var(--green-dark, #a1aa54); }
.re-faq .elementor-tab-content { color: var(--body, #3f5b67); font-size: 14.5px; line-height: 1.6; padding: 2px 20px 18px; }
.re-faq .elementor-accordion-icon { color: var(--teal, #1a475c); }

/* ---------- Setas decorativas (bloco CTA) ---------- */
.re-arrows .elementor-widget-container { line-height: 0; }

/* ---------- Ajuste geral: usar o container da marca não é necessário aqui,
   pois o Elementor controla a largura via configurações da seção. ---------- */

/* ---------- Fundos dos cards de container (bloco "Diferenciais") ---------- */
.re-card-cream { background: #fff5d1; }
.re-card-glass { background: rgba(255, 255, 255, .16); }
.re-card-teal  { background: #1a475c; }
/* selo/ícone no topo precisam de espaço: o padding-top vem das configs do container */
.re-badge .e-con-inner, .re-badge > .elementor-widget-wrap { width: 100%; }

/* ---------- Etapas do processo (widgets nativos) ---------- */
.re-stepnum { width: 54px; height: 54px; border-radius: 50%; background: var(--green, #b5be62); display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
.re-stepnum .elementor-heading-title { -webkit-text-stroke: 1.5px var(--teal, #1a475c); color: transparent; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 26px; line-height: 1; }
.re-step .elementor-widget-image img { height: 54px; width: auto; margin: 0 auto; }

/* ---------- Depoimento (widgets nativos) ---------- */
.re-namepill { display: inline-block; }
.re-namepill .elementor-widget-container { background: var(--green, #b5be62); color: #fff; border-radius: 12px; padding: 10px 20px; box-shadow: 0 8px 18px rgba(16,47,61,.16); }
.re-quote .elementor-widget-container { background: rgba(26,71,92,.92); border-radius: 16px; padding: 30px 28px 22px; color: #eef1e6; box-shadow: 0 18px 40px rgba(16,47,61,.12); }
.re-stars .elementor-heading-title { color: var(--green, #b5be62); font-size: 26px; letter-spacing: 4px; }
.re-phone { max-width: 280px; margin: 0 auto; border-radius: 34px; border: 9px solid #15323f; background: #15323f; overflow: hidden; }
.re-phone .elementor-widget-video, .re-phone video, .re-phone .e-hosted-video { border-radius: 26px; overflow: hidden; }
