:root{
  /* Identidade Theorema (PB + cinzas) */
  --brand-bg:#0f0f10;          /* topo/nav escuro */
  --brand:#111214;             /* “preto” principal */
  --brand-2:#1a1b1f;           /* secundário */
  --brand-acc:#bdbdbd;         /* acento cinza */

  --text:#2a2a2a;              /* texto padrão */
  --muted:#6a6a6a;             /* texto secundário */
  --soft:#f5f5f6;              /* cinza muito claro para faixas */
  --white:#fff;

  --ok:#25D366;                /* WhatsApp */
  --danger:#d33b3b;

  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);

  /* Mantém variáveis usadas na seção cf-... (caso você use depois) */
  --cf-blue: #111214;
  --cf-gold: #bdbdbd;
  --cf-text: #444444;
  --cf-soft: #f5f5f6;
}

/* Base */
body{
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:#fff
}
h1,h2,h3,h4{
  /*font-family:"Noto Serif", Georgia, serif;*/
  color:#1f1f1f
}


/* Desktop: background fixo (parallax simples) */
.bg-fixed-desktop{
  background-attachment: fixed !important;
}

/* Mobile: desliga o fixed (melhor performance/compatibilidade) */
@media only screen and (max-width: 600px) {
  .bg-fixed-desktop{
    background-attachment: scroll !important;
  }
}

.bg-light{
	background:#eaeaea !important;
	border-bottom:1px solid var(--bs-border-color) !important;
}

/* TEXT ALIGN */
.text-align-center{text-align:center !important}
.text-align-left{text-align:left !important}
.text-align-right{text-align:right !important}
.text-align-justify{text-align:justify !important}

@media only screen and (max-width: 600px) {
  .text-align-center{text-align:center !important}
  .text-align-left{text-align:center !important}
  .text-align-right{text-align:center !important}
  .text-align-justify{text-align:center !important}
}

.py-5{padding-top:6rem!important;padding-bottom:6rem!important}

.form-label{font-weight:800 !important}

.text-content-all{
  color: var(--text) !important;
  font-size:1rem !important
}

/* Mantém o comportamento que você tinha (usando cor do accordion do BS) */
.text-secondary{
  color: var(--bs-accordion-color) !important
}

/* Topbar / Navbar */
.topbar{
  background:var(--brand-bg);
  color:var(--white);
  font-size:.9rem
}

.navbar{
  background:linear-gradient(0deg, rgba(255,255,255,.9), rgba(255,255,255,.98));
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid rgba(0,0,0,.08);
}

.navbar .nav-link{
  color:#273037;
  font-weight:600;
  margin:0 12px
}
.navbar .nav-link:hover{color:var(--brand)}

/* Botões */
.btn-brand{
  background:var(--brand);
  color:#fff;
  border:none;
  border-radius:10px;
  padding:.9rem 1.2rem;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.btn-brand:hover{background:#2a2a2a; color:#fff;}

.btn-outline-brand{
  border:2px solid var(--brand);
  color:var(--brand);
  border-radius:10px;
  padding:.8rem .9rem
}
.btn-outline-brand:hover{background:var(--brand);color:#fff}

.btn-whatsapp{
  border:2px solid #22b759;
  background:#22b759;
  color:#fff;
  border-radius:10px;
  padding:.8rem .9rem;
  box-shadow:0 10px 24px rgba(37,211,102,.45)
}
.btn-whatsapp:hover{background:#1d8f47; color:#fff}

.btn-outline-whatsapp{
  border:2px solid #22b759;
  color:#22b759;
  border-radius:10px;
  padding:.8rem .9rem
}
.btn-outline-whatsapp:hover{background:var(--brand);color:#fff}

/* WhatsApp flutuante */
.floating-wpp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:999
}
.floating-wpp .btn{
  background:#22b759;
  color:#fff;
  border:none;
  border-radius:999px;
  font-weight:800;
  font-size:2.1rem;
  padding:0.2rem 1rem;
  box-shadow:0 10px 24px rgba(37,211,102,.45)
}
.floating-wpp .btn:hover{background:#1d8f47; color:#fff}

#titulo-form{
  text-align:center;
  padding:5px 25px;
  background: var(--brand-acc);
  color:#fff !important;
  border-radius:15px;
  margin-bottom:10px
}

/* Hero (Theorema - neutro PB) */
.hero{
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(0,0,0,.08), transparent 60%),
    radial-gradient(1000px 400px at -10% 10%, rgba(0,0,0,.06), transparent 60%),
    linear-gradient(180deg, #fafafa 0%, #ffffff 100%);
  padding: 250px 0 180px;
}

.hero .card{
  border:none;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  background:#ffffffd9
}

.hero-badge{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  background:var(--brand);
  border:1px solid rgba(0,0,0,.08);
  color:#fff;
  border-radius:999px;
  padding:.4rem .8rem;
  font-weight:700;
  font-size:.85rem
}

/* ---------- Métricas em boxes ---------- */
.metrics-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.metric-box {
  flex: 1 1 150px;
  min-width: 160px;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: 1.2rem .8rem;
  box-shadow: 0 8px 16px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}

.metric-box i {
  font-size: 1.8rem;
  color: var(--brand);
}

.metric-box .kpi {
  font-weight: 700;
  color: var(--brand);
  margin-top: .4rem;
}

.metric-box small {
  color: #666;
  font-size: .875rem;
}

.metric-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(0,0,0,.10);
}

@media (max-width: 576px){
  .metric-box { flex: 1 1 100%; }
}

/* Cards / Features */
.feature-card{
  border:1px solid var(--bs-border-color);
  border-radius:16px;
  padding:26px;
  transition:transform .2s, box-shadow .2s;
  background:#fff
}
.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

.feature-icon {
  width: 58px;
  height: 58px;
  border-radius: 12px;
  background: #000;
  display: grid;
  place-items: center;
  color:#fff;
  font-size: 2rem;
  margin-right:5px;
}

/* centraliza no mobile */
@media (max-width: 575.98px) {
  .feature-icon { margin: 0 auto 10px; }
  .feature-card h3, .feature-card p { text-align: center; }
}

.feature-icon h6{font-weight:800 !important}

/* Etapas */
.step{display:flex;gap:14px}
.step .num{
  width:36px;height:36px;border-radius:9px;background:#f1f1f1;
  color:var(--brand);display:grid;place-items:center;font-weight:800
}

/* Formulário */
.lead-card{border:none;border-radius:16px;box-shadow:var(--shadow)}
.form-check a{color:var(--brand);text-decoration:underline dotted}

/* Faixas suaves */
#vantagens{background:var(--soft)}

/* Rodapé */
footer{background:#0f0f10;color:#e7e7e7}
footer a{color:#e7e7e7;text-decoration:none}
footer a:hover{text-decoration:underline;color:#fff}

/* Acessibilidade */
.sr-only{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Seções principais normalmente usam py-5; banners/logos podem usar py-4 */
section{scroll-margin-top:90px}

/* Dourado/acento virou cinza (mantém classes se existirem) */
a.link-accent{color:var(--brand-acc)}
.badge-accent{
  background:rgba(189,189,189,.18);
  border:1px solid rgba(189,189,189,.35);
  color:#2a2a2a;
  border-radius:999px;
  padding:.3rem .6rem;
  font-weight:700
}

/* ========= Seção cf-steps (mantida, caso use depois) ========= */
.cf-section{ background: #fff; }

.cf-title{
  color: var(--cf-blue);
  font-weight: 800;
  letter-spacing: .2px;
}

.cf-subtitle{
  color: var(--cf-text);
  max-width: 760px;
  margin-left: auto; margin-right: auto;
}

/* Layout das etapas */
.cf-steps{
  display: grid;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr 40px 1fr;
  align-items: start;
  gap: 18px;
}

/* mobile: empilha e esconde setas */
@media (max-width: 991.98px){
  .cf-steps{
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

.cf-step{
  text-align: center;
  color: var(--cf-text);
}

.cf-icon{
  width: 120px; height: 120px;
  border-radius: 50%;
  margin: 0 auto 12px;
  display: grid; place-items: center;
  background: var(--cf-gold);
  color: #111214;
  font-size: 55px;
  position: relative;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.cf-badge{
  position: absolute;
  right: -2px; top: -2px;
  background: var(--cf-blue);
  color:#fff;
  font-size: .85rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}

.cf-step-title{
  margin: 20px 0 6px;
  font-weight: 800;
  font-size: 1.3rem;
}

.cf-step-text{ margin:0; line-height:1.55; }

.cf-arrow{
  align-items: center; justify-content: center;
  color: var(--cf-gold);
  font-size: 28px;
  opacity: .95;
}


@media (max-width: 767.98px) {

  .list-clean-mobile {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
  }

  .list-clean-mobile li {
    padding-left: 0;
    margin-left: 0;
    font-weight: 400; /* normal */
  }

  /* itens pares em negrito */
  .list-clean-mobile li:nth-child(even) {
    font-weight: 700;
	margin-bottom:12px
  }
}

/* Feature icon fixo (não encolhe com textos maiores) */
.feature-icon{
  flex-shrink: 0;          /* NÃO deixa o ícone diminuir */
  width: 68px;
  height: 68px;
  min-width: 68px;         /* garante largura fixa */
  min-height: 68px;
  display: grid;
  place-items: center;
}

/* Accordion aberto – fundo preto e texto branco */
.accordion-button:not(.collapsed){
  background-color: #111214;   /* preto (Theorema) */
  color: #ffffff !important;
}

/* Remove o gradiente padrão do Bootstrap */
.accordion-button:not(.collapsed)::after{
  filter: invert(1);           /* deixa a seta branca */
}

/* Corpo do accordion (opcional, se quiser manter coerência) */
.accordion-body{
  background-color: #ffffff;   /* pode trocar pra #f8f9fa se quiser */
  color: #2a2a2a;
}

/* Bordas do accordion */
.accordion-item{
  border-color: #dee2e6;
}