/* ====================================================
   MadSSolutions · Public base CSS
   Paleta · Tipografia · Componentes · Light mode
   Padroniza todas as paginas publicas do projeto
   Versao: 2026-05-13-v1
   ====================================================
   Carrega ANTES do <style> inline de cada pagina. As
   regras aqui sao defaults. Pages podem sobrescrever via
   seu proprio <style> (cascade natural).
   ==================================================== */

/* === Reset === */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
img, svg { max-width:100%; display:block; }

/* === Palette · DARK (default) === */
:root,
:root[data-theme="dark"] {
  --preto:#0A0A0A;
  --preto2:#141414;
  --preto3:#1f1f1f;
  --branco:#FFFFFF;
  --cinza:#888;
  --cinza2:#aaa;
  --amarelo:#FFC300;
  --amarelo-vivo:#FFD60A;
  --amarelo-soft:#FFE94E;
  --ciano:#22D3EE;
  --ciano-deep:#0891B2;
  --roxo:#A855F7;
  --magenta:#EC4899;
  --verde:#10B981;
  --vermelho:#EF4444;
  --laranja:#FF8E3C;
  --gradient-tech:linear-gradient(90deg,#22D3EE 0%,#A855F7 50%,#FFC300 100%);
  --logo-fill:#0F0F12;

  /* Legacy aliases · paginas com tokens antigos continuam funcionando */
  --bg:var(--preto);
  --bg2:var(--preto2);
  --card:var(--preto3);
  --bd:#2A2A2E;
  --fg:var(--branco);
  --mu:var(--cinza2);
  --pl:var(--preto3);
  --pu:var(--roxo);
  --pr:var(--ciano);
  --gd:var(--amarelo);
  --ci:var(--ciano);
  --rd:var(--vermelho);
  --gr:var(--verde);
  --gradient:var(--gradient-tech);
}

/* === Palette · LIGHT === */
:root[data-theme="light"] {
  --preto:#FAFAFA;
  --preto2:#FFFFFF;
  --preto3:#F1F5F9;
  --branco:#0F172A;
  --cinza:#475569;
  --cinza2:#1E293B;
  --amarelo:#D97706;
  --amarelo-vivo:#F59E0B;
  --amarelo-soft:#FBBF24;
  --ciano:#0E7490;
  --ciano-deep:#155E75;
  --roxo:#7E22CE;
  --magenta:#BE185D;
  --gradient-tech:linear-gradient(90deg,#0E7490 0%,#7E22CE 50%,#D97706 100%);
  --logo-fill:#FFFFFF;
  --bd:#e2e8f0;
}

/* === Base typography === */
body {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--preto);
  color:var(--branco);
  line-height:1.6;
  overflow-x:hidden;
  font-feature-settings:"kern" 1, "liga" 1;
  -webkit-font-smoothing:antialiased;
}

a { color:inherit; text-decoration:none; }
h1, h2, h3, h4 { letter-spacing:-.5px; line-height:1.15; }

/* === Container utility === */
.container { max-width:1240px; margin:0 auto; padding:0 20px; }

/* === Padrao de Secao (igual ao index) === */
.section { padding:90px 32px; position:relative; }

.section-num {
  display:inline-block; font-size:12px; font-weight:900; letter-spacing:3px;
  color:var(--preto); background:var(--amarelo);
  padding:5px 12px; border-radius:5px; margin-bottom:16px;
}

h2.section-title, .section-title {
  font-size:clamp(26px,3.5vw,40px); font-weight:300; letter-spacing:-1px;
  line-height:1.2; margin-bottom:14px; max-width:880px;
}

h2.section-title .acento, .section-title .acento, .acento {
  background:var(--gradient-tech); -webkit-background-clip:text;
  background-clip:text; color:transparent; font-weight:900;
}

.section-sub {
  font-size:17px; color:var(--cinza2); max-width:760px;
  margin-bottom:50px; line-height:1.6;
}

/* === Botoes === */
.btn-primary {
  padding:16px 32px; border-radius:12px; background:var(--gradient-tech);
  color:var(--preto); font-weight:800; font-size:15px; letter-spacing:.5px;
  border:none; cursor:pointer; transition:.25s;
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(168,85,247,.5); }

.btn-ghost {
  padding:15px 30px; border-radius:12px; background:transparent;
  color:var(--branco); font-weight:600; font-size:14px;
  border:1px solid rgba(255,255,255,.18); cursor:pointer; transition:.2s;
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
}
.btn-ghost:hover { border-color:var(--amarelo); color:var(--amarelo); background:rgba(255,195,0,.06); }

/* === Cards padrao === */
.lista-cards {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px; margin-top:30px;
}
.lista-card {
  background:var(--preto3); border:1px solid rgba(255,255,255,.08);
  border-left:3px solid var(--amarelo); border-radius:14px;
  padding:22px; transition:.3s;
}
.lista-card:hover { transform:translateY(-4px); border-left-color:var(--ciano); }
.lista-card .ico { font-size:30px; margin-bottom:12px; }
.lista-card h4 { font-size:16px; font-weight:700; margin-bottom:6px; }
.lista-card p { font-size:13px; color:var(--cinza2); line-height:1.55; }

/* === Tabela de Precos === */
.tabela-precos {
  margin-top:30px; background:var(--preto3);
  border:1px solid rgba(255,255,255,.08); border-radius:18px; overflow:hidden;
}
.tabela-precos table { width:100%; border-collapse:collapse; }
.tabela-precos th, .tabela-precos td {
  padding:14px 18px; text-align:left; border-bottom:1px solid rgba(255,255,255,.05);
}
.tabela-precos th {
  background:var(--preto); color:var(--amarelo);
  font-size:12px; text-transform:uppercase; letter-spacing:1.5px; font-weight:800;
}
.tabela-precos tbody tr:hover { background:rgba(255,255,255,.02); }
.tabela-precos td { font-size:13.5px; color:var(--cinza2); }
.tabela-precos td strong { color:var(--branco); }

/* === Reveal animation (scrollspy) === */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s, transform .7s; }
.reveal.shown { opacity:1; transform:translateY(0); }

/* === CTA Final === */
.cta-final {
  text-align:center; padding:90px 32px;
  background:radial-gradient(ellipse at center, rgba(168,85,247,.12) 0%, transparent 60%), var(--preto2);
}
.cta-final h2, .cta-final h3 {
  font-size:clamp(26px,3.5vw,38px); font-weight:300; letter-spacing:-1px; margin-bottom:18px;
}
.cta-final p { font-size:17px; color:var(--cinza2); max-width:620px; margin:0 auto 30px; }

/* === Footer padrao === */
footer {
  background:var(--preto); border-top:1px solid rgba(255,255,255,.08);
  padding:50px 32px 24px; text-align:center; color:var(--cinza); font-size:13px;
}
footer a { color:var(--amarelo); font-weight:600; }

/* === Anim helpers === */
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes menuSlide { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }

/* ====================================================
   LIGHT MODE · sobrescritas universais
   Cobre inline styles hardcoded nas paginas antigas
   ==================================================== */
:root[data-theme="light"] body {
  background:linear-gradient(180deg,#FAFAFA 0%,#F1F5F9 100%);
  color:#0F172A;
}

:root[data-theme="light"] [style*="background:#1f1f1f"],
:root[data-theme="light"] [style*="background:#141414"],
:root[data-theme="light"] [style*="background:#0A0A0A"],
:root[data-theme="light"] [style*="background:#0a0a0a"],
:root[data-theme="light"] [style*="background:#0F0F12"],
:root[data-theme="light"] [style*="background:#1a1a2e"],
:root[data-theme="light"] [style*="background:#141420"] {
  background:#FFFFFF !important;
  color:#0F172A !important;
  border:1px solid rgba(15,23,42,.08) !important;
}

:root[data-theme="light"] [style*="color:#aaa"],
:root[data-theme="light"] [style*="color:#888"],
:root[data-theme="light"] [style*="color:#ccc"],
:root[data-theme="light"] [style*="color:#bbb"],
:root[data-theme="light"] [style*="color:#8d96b0"],
:root[data-theme="light"] [style*="color:#9095B5"] { color:#475569 !important; }

:root[data-theme="light"] [style*="color:#ddd"],
:root[data-theme="light"] [style*="color:#999"] { color:#334155 !important; }

:root[data-theme="light"] [style*="color:#F5F5F0"],
:root[data-theme="light"] [style*="color:#cbd5e1"],
:root[data-theme="light"] [style*="color:#fff"]:not([style*="background:var(--gradient"]):not([style*="background:linear-gradient"]) {
  color:#0F172A !important;
}

:root[data-theme="light"] [style*="rgba(255,255,255,.05)"],
:root[data-theme="light"] [style*="rgba(255,255,255,.06)"],
:root[data-theme="light"] [style*="rgba(255,255,255,.08)"],
:root[data-theme="light"] [style*="rgba(255,255,255,.10)"],
:root[data-theme="light"] [style*="rgba(255,255,255,.15)"] {
  background:rgba(15,23,42,.04) !important;
  border-color:rgba(15,23,42,.10) !important;
}

:root[data-theme="light"] .lista-card,
:root[data-theme="light"] .tabela-precos { background:#FFFFFF; border-color:rgba(15,23,42,.08); }

:root[data-theme="light"] .tabela-precos th { background:#F1F5F9; }

:root[data-theme="light"] footer {
  background:#FAFAFA;
  border-top-color:rgba(15,23,42,.08);
}

:root[data-theme="light"] [style*="border-left:3px solid"] {
  background:#F8FAFC !important;
  color:#0F172A !important;
}
