/* ─────────────────────────────────────────────────────────────
   landing.css — página pública (default.php)
   Usa os tokens de default.css. Tema claro/escuro. Sem CSS inline.
   ───────────────────────────────────────────────────────────── */

.lp { overflow-x:hidden; }

/* header */
.lp-header { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; background:color-mix(in srgb,var(--surface) 78%,transparent); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border); }
.lp-logo img { height:26px; width:auto; display:block; }
@media (prefers-color-scheme: dark){ .lp-logo img{filter:invert(1);} }
:root[data-theme="light"] .lp-logo img{filter:none;}
:root[data-theme="dark"] .lp-logo img{filter:invert(1);}
.lp-header-actions { display:flex; align-items:center; gap:12px; }
.theme-toggle { width:38px; height:38px; border-radius:11px; border:1px solid var(--border); background:var(--surface); cursor:pointer; display:grid; place-items:center; color:var(--ink-soft); padding:0; }
.theme-toggle svg { width:18px; height:18px; }
.theme-toggle:hover { border-color:var(--border-strong); color:var(--ink); }
.enter-btn { display:inline-flex; align-items:center; gap:7px; padding:9px 20px; border-radius:99px; font-weight:700; font-size:.9rem;
  color:#fff; background:linear-gradient(120deg,var(--primary),var(--secondary)); box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 40%,transparent); }
.enter-btn:hover { filter:brightness(1.05); transform:translateY(-1px); }

/* hero */
.lp-hero { position:relative; overflow:hidden; padding:70px 32px 110px; }
/* fade suave do hero para a seção de baixo (transição melhor) */
.lp-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:220px; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb,var(--bg) 55%,transparent) 55%, var(--bg) 100%); }
.hero-mesh { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter:blur(80px); opacity:.55; }
.orb-1 { width:520px; height:520px; background:var(--primary); top:-160px; left:-120px; }
.orb-2 { width:460px; height:460px; background:var(--secondary); top:-80px; right:-80px; opacity:.45; }
.orb-3 { width:420px; height:420px; background:var(--accent); bottom:-200px; left:38%; opacity:.4; }
@media (prefers-color-scheme: dark){ .orb{opacity:.32;} }
:root[data-theme="dark"] .orb{opacity:.32;}
.hero-inner { position:relative; z-index:2; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }

.hero-badge { display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.02em;
  color:var(--accent); background:var(--accent-wash); border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  padding:6px 14px; border-radius:99px; }
.hero-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--good); box-shadow:0 0 0 3px var(--good-wash); }
.hero-left h1 { font-size:clamp(2.1rem,4.4vw,3.4rem); line-height:1.08; font-weight:800; letter-spacing:-.03em; margin:20px 0 0; text-wrap:balance; }
.hero-left h1 .grad { background:linear-gradient(120deg,var(--primary),var(--secondary) 55%,var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-left p { color:var(--muted); font-size:1.08rem; line-height:1.6; margin:18px 0 0; max-width:52ch; }
.hero-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:28px; }
.btn-cta { display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:12px; font-weight:700; font-size:.98rem;
  color:#fff; background:linear-gradient(120deg,var(--primary),var(--secondary)); box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 38%,transparent); }
.btn-cta:hover { transform:translateY(-2px); filter:brightness(1.05); }
.btn-cta svg { width:18px; height:18px; }
.btn-ghost-lp { display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:12px; font-weight:600; font-size:.95rem;
  color:var(--ink); border:1px solid var(--border-strong); background:var(--surface); }
.btn-ghost-lp:hover { border-color:var(--primary); color:var(--primary); }

.hero-stats { display:flex; align-items:center; gap:22px; margin-top:40px; flex-wrap:wrap; }
.hero-stat strong { display:block; font-size:1.7rem; font-weight:800; letter-spacing:-.02em; background:linear-gradient(120deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-stat span { font-size:.82rem; color:var(--muted); }
.hero-stat-divider { width:1px; height:38px; background:var(--border); }

/* mockup do produto no hero */
.hero-preview { position:relative; }
.preview-card { background:var(--surface); border:1px solid var(--border); border-radius:20px; box-shadow:var(--shadow-lg); padding:16px; transform:rotate(1.4deg); }
.preview-card:hover { transform:rotate(0); transition:transform .3s ease; }
.preview-top { display:flex; align-items:center; gap:8px; padding:4px 6px 12px; border-bottom:1px solid var(--border); }
.preview-top .dot { width:9px; height:9px; border-radius:50%; }
.preview-top .dot:nth-child(1){background:#ff5f57;} .preview-top .dot:nth-child(2){background:#febc2e;} .preview-top .dot:nth-child(3){background:#28c840;}
.preview-top .pv-title { margin-left:8px; font-size:.75rem; font-weight:700; color:var(--muted); }
.preview-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:14px 6px; }
.pv-kpi { background:var(--surface-2); border:1px solid var(--border); border-radius:11px; padding:11px 12px; }
.pv-kpi .pv-label { font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; }
.pv-kpi .pv-val { font-size:1.05rem; font-weight:800; letter-spacing:-.02em; margin-top:4px; }
.pv-kpi .pv-delta { font-size:.62rem; font-weight:700; color:var(--good); margin-top:3px; }
.pv-chart { padding:6px; }
.pv-chart svg { width:100%; height:110px; display:block; }
.pv-float { position:absolute; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-md); border-radius:14px; padding:11px 14px; display:flex; align-items:center; gap:10px; }
.pv-float.f1 { bottom:-18px; left:-26px; }
.pv-float.f2 { top:-16px; right:-14px; }
.pv-float .pf-ic { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; background:var(--good-wash); color:var(--good); flex-shrink:0; }
.pv-float .pf-ic.warn { background:var(--warn-wash); color:var(--warn); }
.pv-float .pf-ic svg { width:17px; height:17px; }
.pv-float .pf-txt b { display:block; font-size:.82rem; }
.pv-float .pf-txt span { font-size:.68rem; color:var(--muted); }

/* features */
.lp-features { padding:80px 32px; }
.lp-container { max-width:1160px; margin:0 auto; }
.section-head { text-align:center; max-width:640px; margin:0 auto 48px; }
.section-head h2 { font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; letter-spacing:-.02em; }
.section-head p { color:var(--muted); font-size:1.05rem; margin-top:12px; }
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feat-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.feat-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--border-strong); }
.feat-ic { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; margin-bottom:16px; color:var(--fic); background:color-mix(in srgb, var(--fic) 12%, transparent); }
.feat-ic svg { width:26px; height:26px; }
.feat-card h3 { font-size:1.1rem; font-weight:700; letter-spacing:-.01em; }
.feat-card p { color:var(--muted); font-size:.92rem; line-height:1.55; margin-top:8px; }
.fic-vendas{--fic:var(--primary);} .fic-abc{--fic:var(--secondary);} .fic-estoque{--fic:var(--accent);}
.fic-acesso{--fic:#2f6fed;} .fic-excel{--fic:var(--good);} .fic-busca{--fic:var(--warn);}

/* cta band */
.cta-band { margin:20px 32px 80px; }
.cta-inner { max-width:1160px; margin:0 auto; border-radius:24px; padding:56px 40px; text-align:center; position:relative; overflow:hidden;
  background:linear-gradient(120deg,var(--primary),var(--secondary) 60%,var(--accent)); color:#fff; }
.cta-inner h2 { font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; letter-spacing:-.02em; }
.cta-inner p { opacity:.92; margin-top:10px; font-size:1.05rem; }
.btn-cta-light { display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:13px 28px; border-radius:12px; font-weight:800; font-size:1rem; color:var(--primary); background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.btn-cta-light:hover { transform:translateY(-2px); }

/* footer */
.lp-footer { border-top:1px solid var(--border); padding:34px 32px; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.lp-footer img { height:22px; opacity:.85; }
@media (prefers-color-scheme: dark){ .lp-footer img{filter:invert(1);} }
:root[data-theme="dark"] .lp-footer img{filter:invert(1);}
:root[data-theme="light"] .lp-footer img{filter:none;}
.lp-footer p { color:var(--muted); font-size:.82rem; }

@media (max-width:900px){
  .hero-inner { grid-template-columns:1fr; gap:48px; }
  .hero-preview { max-width:460px; }
  .feat-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){ .feat-grid { grid-template-columns:1fr; } .lp-hero{padding:48px 20px 64px;} }
@media (prefers-reduced-motion: reduce){ *{transition:none!important;} }

/* landing fixa no tema claro — neutraliza @media dark em SO escuro */
:root[data-theme="light"] .orb{ opacity:.55; }
:root[data-theme="light"] .lp-footer img{ filter:none; }
