.elementor-kit-7{--e-global-color-primary:#0F766E;--e-global-color-secondary:#6B7280;--e-global-color-text:#111827;--e-global-color-accent:#EAB308;--e-global-color-646fd5b:#E6EAF0;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:#FFFFFF;font-family:"Inter", Sans-serif;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#0F62FE;border-radius:12px 12px 12px 12px;padding:14px 14px 14px 14px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-accent );}.elementor-kit-7 h1{color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", Sans-serif;font-size:1.6em;font-weight:400;}.elementor-kit-7 h2{color:var( --e-global-color-secondary );}.elementor-kit-7 h3{color:var( --e-global-color-text );}.elementor-kit-7 h4{color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ========== Design Tokens — Paleta Neutra + Realce Teal (AA) ========== */
:root{
  /* Cores base (neutras) */
  --color-text:    #111827;   /* chumbo (texto principal) */
  --color-muted:   #6B7280;   /* cinza médio (texto secundário) */
  --color-bg:      #FFFFFF;   /* fundo padrão */
  --color-bg-soft: #F5F7FA;   /* blocos claros */
  --color-hero:    #F8FAFC;   /* hero muito claro */
  --color-section: #F3F4F6;   /* alternância de seções */
  --color-border:  #E5E7EB;   /* bordas suaves */

  /* Cor de realce (teal sóbrio – AA com texto branco) */
  --color-primary: #0F766E;   /* teal-700 */
  --color-primary-600: #115E59;/* teal-800 p/ hover/foco */

  /* Realce secundário opcional (badge, microdestaques) */
  --color-accent:  #EAB308;   /* amber-500 (usado com texto escuro) */

  /* Tipografia */
  --font-head: "Plus Jakarta Sans", "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* Escalas responsivas */
  --fs-h1: clamp(2.1rem, 3.6vw, 3.1rem);
  --fs-h2: clamp(1.55rem, 2.4vw, 2.2rem);
  --fs-h3: clamp(1.15rem, 1.8vw, 1.45rem);
  --fs-body: clamp(1rem, 1.1vw, 1.125rem);
  --fs-small: 0.9375rem;

  /* Espaços e radius */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem;  --space-7:3rem;   --space-8:4rem;
  --radius: .75rem; --radius-lg: 1rem; --radius-2xl: 1.25rem;

  /* Sombras suaves */
  --shadow-sm: 0 1px 2px rgba(17,24,39,.06);
  --shadow:    0 10px 30px rgba(17,24,39,.08);
}

/* ========== Base tipográfica e links ========== */
html{scroll-behavior:smooth}
body{background:var(--color-bg); color:var(--color-text); font-family:var(--font-body);}
.elementor-heading-title{font-family:var(--font-head); color:var(--color-text);}
h1.elementor-heading-title{font-size:var(--fs-h1); line-height:1.08; letter-spacing:-.01em; font-weight:800;}
h2.elementor-heading-title{font-size:var(--fs-h2); line-height:1.15; font-weight:800;}
h3.elementor-heading-title{font-size:var(--fs-h3); line-height:1.2; font-weight:700;}
.elementor-widget-text-editor{font-size:var(--fs-body); color:var(--color-text);}
.elementor-widget-text-editor p{margin:0 0 .75em;}
.elementor-widget-text-editor em{color:var(--color-muted);}
a{color:var(--color-primary);}
a:hover{text-decoration:underline;}

/* ========== Utilitários ========== */
.u-container{max-width:1200px; margin-inline:auto; padding-inline:var(--space-4);}
.u-maxw-900{max-width:900px; margin-inline:auto;}
.u-muted{color:var(--color-muted);}
.u-center{text-align:center;}
.u-shadow{box-shadow:var(--shadow);}
.u-card{background:#fff; border:1px solid var(--color-border); border-radius:var(--radius); padding:var(--space-5); box-shadow:var(--shadow-sm);}

/* ========== Seções (aplique classes na seção) ========== */
.section--hero{
  /* gradiente bem sutil, neutro */
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(17,24,39,.05) 0%, rgba(17,24,39,.02) 30%, transparent 60%),
    var(--color-hero);
  border-bottom:1px solid var(--color-border);
  padding-block: clamp(48px, 8vw, 88px) !important;
}
.section--alt{  background: var(--color-section); }
.section--soft{ background: var(--color-bg-soft); }
.section--tight{ padding-block: clamp(28px, 6vw, 48px) !important; }
.section--roomy{ padding-block: clamp(40px, 8vw, 72px) !important; }

/* ========== Badge (texto escuro em fundo âmbar claro) ========== */
.badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background: color-mix(in srgb, var(--color-accent) 0%, #fff);
  border:1px solid var(--color-border);
  color:#1F2937; /* cinza-800 para leitura AA sobre o âmbar claro */
  border-radius:999px; padding:.4rem .75rem; font-weight:700; box-shadow:var(--shadow-sm);
}

.badge2{
  display:inline-flex; align-items:center; gap:.5rem;
  background: color-mix(in srgb, var(--color-accent) 0%, #fff);
  border:1px solid var(--color-border);
  color:#1F2323; /* cinza-800 para leitura AA sobre o âmbar claro */
  border-radius:999px; padding:.4rem .75rem; font-weight:700; box-shadow:var(--shadow-sm);
}


/* ========== Listas com ícones ========== */
.elementor-icon-list-items{row-gap:.5rem;}
.elementor-icon-list-item{align-items:flex-start;}
.elementor-icon-list-icon i{font-size:1rem;}
.icon-negative .elementor-icon-list-icon i{color:#DC2626;} /* red-600 */
.icon-positive .elementor-icon-list-icon i{color:var(--color-primary);} /* teal */

/* ========== Botões ========== */
.elementor-button{
  border-radius:.75rem; padding:.85rem 1.1rem; font-weight:700;
  border:1px solid transparent; transition: transform .08s ease, filter .15s ease;
}
.elementor-button:hover{transform:translateY(-1px); filter:brightness(.98);}
.btn--primary .elementor-button{
  background:var(--color-primary); border-color:var(--color-primary); color:#fff;
}
.btn--primary .elementor-button:hover{filter:brightness(.95);}
.btn--primary .elementor-button:focus{ outline:3px solid color-mix(in srgb, var(--color-primary) 40%, white); outline-offset:2px; }
.btn--ghost .elementor-button{
  background:#fff; color:var(--color-primary); border-color:var(--color-primary);
}

/* ========== Cards / Grids ========== */
.feature-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:var(--space-4); }
.feature-card{
  grid-column: span 6;
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius);
  padding:var(--space-5); box-shadow:var(--shadow-sm);
}
@media (max-width: 900px){ .feature-card{grid-column: 1 / -1;} }

/* ========== Investimento (caixas) ========== */
.pricing{ display:grid; grid-template-columns: repeat(12,1fr); gap:var(--space-4); }
.pricing__card{
  grid-column: span 6; background:#fff; border:1px solid var(--color-border);
  border-radius:var(--radius-lg); padding:var(--space-5); box-shadow:var(--shadow-sm);
}
.pricing__title{ font-size:1.125rem; font-weight:800; margin:0 0 .25rem; color:#1F2937; }
.pricing__price{ font-size:clamp(1.5rem,2.6vw,2rem); font-weight:800; margin:.25rem 0 .5rem; color:var(--color-primary);}
.pricing__list li{ margin:.35rem 0; color:var(--color-muted); }
@media (max-width: 900px){ .pricing__card{grid-column: 1 / -1;} }

/* ========== Depoimento / citação ========== */
.quote{
  position:relative; background:#fff; border:1px solid var(--color-border);
  border-radius:var(--radius-lg); padding:var(--space-5); box-shadow:var(--shadow-sm);
}
.quote:before{
  content:"“"; position:absolute; left:16px; top:-10px; font-size:4rem; line-height:1;
  color:var(--color-primary-600); opacity:.12;
}
.quote__cite{ margin-top:.5rem; color:var(--color-muted); font-size:var(--fs-small); }

/* ========== Rodapé mínimo ========== */
.footer-min{ border-top:1px solid var(--color-border); padding-block:var(--space-5); color:var(--color-muted); }

/* ========== Acessibilidade e micro-ajustes ========== */
a:focus,button:focus,.elementor-button:focus{outline:3px solid var(--color-primary); outline-offset:2px;}
img{height:auto; max-width:100%;}
section.elementor-section{scroll-margin-top:90px;}

/* --- Hard reset contra Globais do Elementor que pintam o fundo --- */

.section--hero{ background:
  radial-gradient(1200px 600px at 20% 0%, rgba(17,24,39,.05) 0%, rgba(17,24,39,.02) 30%, transparent 60%),
  var(--color-hero) !important; }
.section--alt{  background: var(--color-section) !important; }
.section--soft{ background: var(--color-bg-soft) !important; }

/* Força o botão primário sempre AA */
.btn--primary .elementor-button{
  background: var(--color-primary) !important;
  color:#fff !important; border-color: var(--color-primary) !important;
}

/* ===== Cards elegantes (neutros) ===== */

/* Grid utilitário (2 ou 3 colunas, responsivo) */
.grid-2, .grid-3{
  display:grid; gap: var(--space-4);
}
.grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 900px){
  .grid-2, .grid-3{ grid-template-columns: 1fr; }
}

/* Card base */
.card{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: clamp(16px, 2.5vw, 24px);
  box-shadow: var(--shadow-sm);
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: color-mix(in srgb, var(--color-border) 60%, var(--color-primary));
}

/* Variante “feature” com ícone no topo */
.card--feature{
  display:flex; flex-direction:column; gap: .75rem;
}
.card__icon{
  width: 40px; height: 40px; display:inline-grid; place-items:center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 12%, #fff);
  color: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border));
  box-shadow: var(--shadow-sm);
}
.card__title{
  font-size: var(--fs-h3);
  font-weight: 800;
  margin: .25rem 0 0;
  color: var(--color-text);
}
.card__desc{
  color: var(--color-muted);
  margin: 0;
}

/* Lista de checagens 2 colunas (para “Entregas”) */
.list--checks-2col .elementor-icon-list-items{
  display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.5rem 1rem;
}
@media (max-width: 900px){
  .list--checks-2col .elementor-icon-list-items{ grid-template-columns: 1fr; }
}
.list--checks-2col .elementor-icon-list-text{ color: var(--color-text); }
.list--checks-2col .elementor-icon-list-icon i{ color: var(--color-primary); }

/* Pricing melhorado (já existente, agora com header e rodapé opcionais) */
.pricing__card{
  position:relative;
  background:#fff !important;
  border:1px solid var(--color-border) !important;
  border-radius: var(--radius-2xl);
  padding: clamp(20px, 3vw, 28px);
  box-shadow: var(--shadow-sm);
}
.pricing__card:hover{ box-shadow: var(--shadow); }
.pricing__title{ font-weight: 800; color:#1F2937; margin:0 0 .25rem; }
.pricing__price{ font-weight: 800; color: var(--color-primary); margin:.35rem 0 .5rem; }
.pricing__meta{ color: var(--color-muted); font-size: var(--fs-small); margin-bottom:.5rem; border-top:1px dashed var(--color-border); padding-top:.5rem; }

/* Citação com barra lateral teal e aspas pequenas no topo */
.quote{
  position:relative; background:#fff !important;
  border:1px solid var(--color-border);
  border-left:4px solid var(--color-primary);
  border-radius: var(--radius-lg);
  padding: clamp(18px, 2.6vw, 24px)  clamp(18px, 2.6vw, 24px);
  box-shadow: var(--shadow-sm);
}
.quote:before{
  content:"“";
  position:absolute; left:12px; top:8px;
  font-size:1.75rem; color: var(--color-primary-600); opacity:.35;
}


.card { margin:5px; }

/* Labels dos campos */
#lead label{
  display:block;
  font-size: clamp(0.95rem, 0.9vw, 1rem);
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
}

/* Só o label do opt-in */
#lead .optin-label{
  font-size: clamp(0.5rem, 0.8vw, 0.95rem);
  font-weight: 500;
  line-height: 1.5;
  margin-top: 4px;
}
#lead .optin-label input[type="checkbox"]{
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 8px;
}
/* 1) Seção com altura de tela */
.vh-100{
  min-height: 100vh;              /* ocupa a altura visível */
  display: flex;
}
/* compatibilidade: container/section internos ocupam o flex */
.vh-100 > .elementor-container,
.vh-100 > .e-con{
  flex: 1 1 auto;
  display: flex;
}

/* 2) Coluna/Container esticando verticalmente */
.h-100,
.h-100 > .elementor-column-wrap,
.h-100 > .elementor-widget-wrap,
.h-100 > .e-con-inner{
  height: 100%;
  display: flex;
  align-items: stretch;            /* faz os filhos esticarem */
}

/* 3) Icon Box ocupar 100% da coluna/section */
.iconbox-fill{
  height: 100%;
}
.iconbox-fill .elementor-widget-container{
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;         /* ajuste conforme seu layout */
  justify-content: space-between;  /* título/descrição ocupam o espaço */
  /* Estilo opcional do “cartão” do icon box */
  background: #fff;
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: var(--radius-lg, 12px);
  padding: 24px;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(0,0,0,.06));
}

/* (Opcional) se quiser que o texto ocupe o espaço e o botão/grupo fique no final */
.iconbox-fill .elementor-icon-box-content{
  display: flex;
  flex-direction: column;
  gap: .5rem;
  flex: 1 1 auto;                  /* empurra o conteúdo para preencher */
}

/* --- REMOVER/COMENTAR a linha problemática ---
.elementor-section{ background: var(--color-bg) !important; }
*/

/* 1) Padrão: tudo transparente (não sobrescreve seções coloridas) */
.elementor-section,
.elementor-inner-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con,
.e-con-inner{
  background: transparent !important;
}

/* 2) Seções que DEVEM ter cor (já existentes) */
.section--hero{
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(17,24,39,.05) 0%, rgba(17,24,39,.02) 30%, transparent 60%),
    var(--color-hero) !important;
}
.section--alt{  background: var(--color-section) !important; }
.section--soft{ background: var(--color-bg-soft) !important; }

/* 3) Garanta que “cards” continuem brancos mesmo com o reset */
.e-con.card,
.elementor-column.card,
.pricing__card,
.u-card,
.quote,
.card,
.iconbox-fill .elementor-widget-container{
  background:#fff !important;
}/* End custom CSS */