/* ══════════════════════════════════════════
   BASE CSS — Orb Digital Branding (site-v3)
   Variáveis, reset, tipografia, utilitários
══════════════════════════════════════════ */

/* ── Reset ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ── Tokens Orb ── */
:root{
  /* Cores principais */
  --orb:     #003FFF;
  --orb2:    #2255FF;
  --blue:    #003FFF;
  --blue2:   #2255FF;

  /* Backgrounds */
  --bg-dark:   #000820;
  --bg-light:  #FDFCFF;
  --bg-soft:   #F7F5FC;

  /* Texto */
  --text-dark:   #1A1520;
  --text-muted:  #6B5F80;
  --text-light:  #f0ede8;
  --muted:       #3a4870;
  --line:        rgba(255,255,255,0.06);

  /* Pilares 2026 */
  --p1: #00C8FF; /* Branding */
  --p2: #0055FF; /* Estratégia */
  --p3: #CC00FF; /* Conteúdo */
  --p4: #FF00AA; /* Campanhas */
  --p5: #8800EE; /* Análise */

  /* Tipografia */
  --serif: 'Ubuntu', Helvetica, Arial, sans-serif;
  --sans:  'IBM Plex Sans', Helvetica, Arial, sans-serif;

  /* Easing */
  --ease: cubic-bezier(.77,0,.175,1);
}

html{scroll-behavior:smooth}

body{
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* ── Tipografia base ── */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:300;letter-spacing:-.02em}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* ══════════════════════════════════════════
   TIPOGRAFIA — piso de legibilidade (desktop + mobile)
   Corpo de texto: mín 15px · Descritivo: mín 14px
══════════════════════════════════════════ */

/* Corpo de texto — piso 15px */
p, .body-dark, .body-light, .flex-body,
.card-text, .phase-desc, .programa-desc,
.hero-sub, .page-hero-body,
.qs-hero-sub,
.forwho-card-yes, .forwho-card-no,
.symptom-card p, .deliver-content p,
.case-desc, .pratica-desc, .final-body,
blockquote{
  font-size:15px !important;
  line-height:1.75 !important;
}

/* Subtítulos de seção */
.cta-sub, .s-title + p,
.price-item span:last-child{
  font-size:15px !important;
}

/* Cards e items descritivos — piso 14px */
.service-desc, .pillar-desc,
.log-desc, .price-detail,
.qs-archetype p, .qs-value-card p,
.qs-pilar p, .approach-card p{
  font-size:14px !important;
  line-height:1.7 !important;
}

/* Inline styles em <p> — override global
   Qualquer <p> com font-size inline entre 11-14px sobe para 15px */
p[style*="font-size:11px"],
p[style*="font-size:12px"],
p[style*="font-size:13px"],
p[style*="font-size:14px"]{
  font-size:15px !important;
  line-height:1.75 !important;
}

/* Divs descritivos com inline styles (não labels) */
div[style*="font-size:11px"]:not([style*="letter-spacing"]),
div[style*="font-size:12px"]:not([style*="letter-spacing"]),
div[style*="font-size:13px"]:not([style*="letter-spacing"]){
  font-size:14px !important;
}

/* Spans descritivos (não labels) */
span[style*="font-size:11px"]:not([style*="letter-spacing"]):not([style*="text-transform"]),
span[style*="font-size:12px"]:not([style*="letter-spacing"]):not([style*="text-transform"]){
  font-size:13px !important;
}

/* ── Utilitários ── */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);border:0;
}

/* ── Animações comuns ── */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}

/* ── WhatsApp Flutuante com ondas ── */
.wpp-wrap{
  position:fixed;
  bottom:100px;right:28px;
  z-index:9000;
  width:54px;height:54px;
  display:flex;align-items:center;justify-content:center;
}
.wpp-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1.5px solid #25D366;
  opacity:0;
  animation:wppPulse 2.8s ease-out infinite;
}
.wpp-ring:nth-child(2){animation-delay:.9s}
.wpp-ring:nth-child(3){animation-delay:1.8s}
@keyframes wppPulse{
  0%  {transform:scale(1);opacity:.5}
  100%{transform:scale(2.4);opacity:0}
}
.wpp-float{
  position:relative;z-index:1;
  width:54px;height:54px;
  border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(37,211,102,.45);
  transition:transform .25s ease, box-shadow .25s ease;
  text-decoration:none;
}
.wpp-float:hover{
  transform:scale(1.1);
  box-shadow:0 6px 20px rgba(37,211,102,.6);
}
.wpp-float svg{
  width:28px;height:28px;
  fill:#fff;
}
