/* ZapProBot — design system da landing/site público (novo, comercial e profissional).
   Independente de imagens do CMS (usa cor/gradiente/ícones), responsivo e i18n-friendly. */
:root{
  --zp-green:#1ebe5d; --zp-green-d:#15994a; --zp-ink:#0b1324; --zp-ink-2:#1c2740;
  --zp-muted:#5b6577; --zp-bg:#ffffff; --zp-bg-soft:#f5f8fb; --zp-line:#e6ebf2;
  --zp-radius:16px; --zp-shadow:0 10px 30px rgba(16,29,54,.08); --zp-shadow-lg:0 24px 60px rgba(16,29,54,.14);
  --zp-max:1160px;
}
*{box-sizing:border-box}
.zp{font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--zp-ink);background:var(--zp-bg);line-height:1.6;margin:0;-webkit-font-smoothing:antialiased}
.zp img{max-width:100%;height:auto;display:block}
.zp a{color:inherit;text-decoration:none}
.zp-wrap{max-width:var(--zp-max);margin:0 auto;padding:0 20px}
.zp-section{padding:84px 0}
.zp-bg-soft{background:var(--zp-bg-soft)}
.zp-center{text-align:center}
.zp-eyebrow{display:inline-block;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--zp-green-d);background:rgba(30,190,93,.1);padding:6px 14px;border-radius:999px;margin-bottom:16px}
.zp-h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:0 0 18px}
.zp-h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.15;font-weight:800;letter-spacing:-.01em;margin:0 0 14px}
.zp-h3{font-size:1.2rem;font-weight:700;margin:0 0 8px}
.zp-lead{font-size:1.12rem;color:var(--zp-muted);max-width:680px}
.zp-center .zp-lead{margin-left:auto;margin-right:auto}
.zp-muted{color:var(--zp-muted)}
/* Buttons */
.zp-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;transition:.2s;font-size:1rem;white-space:nowrap}
.zp-btn-primary{background:var(--zp-green);color:#fff}
.zp-btn-primary:hover{background:var(--zp-green-d);color:#fff;transform:translateY(-1px);box-shadow:var(--zp-shadow)}
.zp-btn-ghost{background:transparent;color:var(--zp-ink);border-color:var(--zp-line)}
.zp-btn-ghost:hover{border-color:var(--zp-green);color:var(--zp-green-d)}
.zp-btn-light{background:#fff;color:var(--zp-ink)}
.zp-btn-light:hover{transform:translateY(-1px);box-shadow:var(--zp-shadow)}
/* Header */
.zp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--zp-line)}
.zp-nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:18px}
.zp-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem}
.zp-brand img{height:34px;width:auto}
.zp-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.zp-menu a{font-weight:600;color:var(--zp-ink-2)}
.zp-menu a:hover{color:var(--zp-green-d)}
.zp-nav-cta{display:flex;align-items:center;gap:12px}
.zp-burger{display:none;background:none;border:0;font-size:1.5rem;color:var(--zp-ink)}
/* Hero */
.zp-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 80% -10%,rgba(30,190,93,.16),transparent 60%),linear-gradient(180deg,#fff, var(--zp-bg-soft))}
.zp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:80px 0}
.zp-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.zp-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--zp-line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:.9rem;box-shadow:var(--zp-shadow)}
.zp-chip i{color:var(--zp-green)}
.zp-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.zp-hero-note{margin-top:14px;font-size:.92rem;color:var(--zp-muted)}
.zp-hero-art{position:relative;background:linear-gradient(160deg,var(--zp-ink),var(--zp-ink-2));border-radius:24px;padding:26px;box-shadow:var(--zp-shadow-lg);color:#fff}
.zp-hero-art .zp-bubble{background:#0f7a3d;color:#fff;border-radius:14px 14px 14px 4px;padding:12px 16px;margin:0 0 12px;max-width:80%;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.zp-hero-art .zp-bubble.me{background:#e9fff2;color:#0b1324;margin-left:auto;border-radius:14px 14px 4px 14px}
.zp-hero-art .zp-bubble small{display:block;opacity:.7;font-size:.72rem;margin-top:4px}
/* Trust bar */
.zp-trust{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;align-items:center;opacity:.85}
.zp-trust .zp-stat{ text-align:center}
.zp-trust .zp-stat b{display:block;font-size:1.8rem;font-weight:800;color:var(--zp-ink)}
.zp-trust .zp-stat span{font-size:.9rem;color:var(--zp-muted)}
/* Grid cards */
.zp-grid{display:grid;gap:24px}
.zp-grid-3{grid-template-columns:repeat(3,1fr)}
.zp-grid-4{grid-template-columns:repeat(4,1fr)}
.zp-card{background:#fff;border:1px solid var(--zp-line);border-radius:var(--zp-radius);padding:28px;box-shadow:var(--zp-shadow);transition:.2s;height:100%}
.zp-card:hover{transform:translateY(-4px);box-shadow:var(--zp-shadow-lg);border-color:rgba(30,190,93,.4)}
.zp-ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;background:linear-gradient(160deg,var(--zp-green),var(--zp-green-d));margin-bottom:16px}
/* Steps */
.zp-steps{counter-reset:step}
.zp-step{position:relative;padding-left:64px}
.zp-step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--zp-ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
/* Pricing */
.zp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:stretch}
.zp-plan{background:#fff;border:1px solid var(--zp-line);border-radius:var(--zp-radius);padding:30px;display:flex;flex-direction:column;box-shadow:var(--zp-shadow);position:relative;text-align:center}
.zp-plan .zp-ic{margin-left:auto;margin-right:auto}
.zp-plan ul{text-align:left}
/* Conteúdo legal (privacidade/termos/DPA) */
.zp-legal{max-width:840px;margin:0 auto}
.zp-legal h2{font-size:1.3rem;font-weight:800;margin:30px 0 10px}
.zp-legal p,.zp-legal li{color:var(--zp-ink-2);margin:0 0 12px}
.zp-legal ul{padding-left:20px}
.zp-legal .muted{color:var(--zp-muted);font-size:.92rem}
.zp-plan.featured{border-color:var(--zp-green);box-shadow:var(--zp-shadow-lg);transform:translateY(-6px)}
.zp-plan .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--zp-green);color:#fff;font-weight:700;font-size:.78rem;padding:6px 14px;border-radius:999px}
.zp-plan .price{font-size:2.2rem;font-weight:800;margin:8px 0}
.zp-plan .price small{font-size:.95rem;font-weight:600;color:var(--zp-muted)}
.zp-plan ul{list-style:none;padding:0;margin:18px 0;flex:1}
.zp-plan li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;color:var(--zp-ink-2)}
.zp-plan li i{color:var(--zp-green);margin-top:4px}
/* FAQ */
.zp-faq{max-width:820px;margin:0 auto}
.zp-faq details{background:#fff;border:1px solid var(--zp-line);border-radius:12px;padding:0;margin-bottom:12px;overflow:hidden}
.zp-faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.zp-faq summary::-webkit-details-marker{display:none}
.zp-faq summary:after{content:'+';font-size:1.4rem;color:var(--zp-green-d)}
.zp-faq details[open] summary:after{content:'–'}
.zp-faq .zp-faq-body{padding:0 22px 20px;color:var(--zp-muted)}
/* CTA band */
.zp-cta{background:linear-gradient(160deg,var(--zp-ink),var(--zp-ink-2));color:#fff;border-radius:24px;padding:56px;text-align:center;box-shadow:var(--zp-shadow-lg)}
.zp-cta .zp-h2{color:#fff}
/* Footer */
.zp-footer{background:var(--zp-ink);color:#c7cedd;padding:64px 0 28px}
.zp-footer a{color:#c7cedd}
.zp-footer a:hover{color:#fff}
.zp-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
.zp-foot-grid h5{color:#fff;font-size:1rem;margin:0 0 14px}
.zp-foot-grid ul{list-style:none;padding:0;margin:0}
.zp-foot-grid li{padding:5px 0}
.zp-social{display:flex;gap:12px;margin-top:14px}
.zp-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.zp-social a:hover{background:var(--zp-green)}
.zp-foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.9rem}
.zp-foot-bottom select{background:var(--zp-ink-2);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 12px}
/* Page hero (inner pages) — banner com destaque (faixa escura + acento verde) */
.zp-pagehead{position:relative;overflow:hidden;color:#fff;padding:84px 0 76px;text-align:center;background:radial-gradient(800px 360px at 85% -10%,rgba(30,190,93,.5),transparent 60%),radial-gradient(700px 340px at 10% 120%,rgba(30,190,93,.28),transparent 60%),linear-gradient(160deg,var(--zp-ink),var(--zp-ink-2))}
.zp-pagehead .zp-h1{color:#fff}
.zp-pagehead .zp-lead{color:#c9d3e4}
.zp-pagehead .zp-eyebrow{background:rgba(30,190,93,.22);color:#9bf3bf}
/* Cartão centralizado (benefícios/recursos/sobre) */
.zp-card--c{text-align:center}
.zp-card--c .zp-ic{margin-left:auto;margin-right:auto}
/* Responsive */
@media (max-width:991px){
  .zp-hero-grid{grid-template-columns:1fr;gap:32px;padding:54px 0}
  .zp-grid-3,.zp-grid-4{grid-template-columns:1fr 1fr}
  .zp-foot-grid{grid-template-columns:1fr 1fr}
  .zp-menu,.zp-nav-cta .zp-btn-ghost{display:none}
  .zp-burger{display:block}
  .zp-menu.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--zp-line);padding:18px 20px;gap:14px}
}
@media (max-width:575px){
  .zp-grid-3,.zp-grid-4,.zp-foot-grid{grid-template-columns:1fr}
  .zp-section{padding:56px 0}
  .zp-cta{padding:36px 22px}
}

/* ===== Modo escuro (acessibilidade) — aplicado em <html> (antes do 1º paint, sem flash) ===== */
html.zp-dark{
  --zp-ink:#e8edf6; --zp-ink-2:#cdd6e6; --zp-muted:#9aa7bd;
  --zp-bg:#0f1623; --zp-bg-soft:#141d2c; --zp-line:#27324a;
  --zp-shadow:0 10px 30px rgba(0,0,0,.35); --zp-shadow-lg:0 24px 60px rgba(0,0,0,.55);
  background:#0f1623; color-scheme:dark;
}
html.zp-dark body.zp{ background:#0f1623; color:#e8edf6; }
/* Superfícies com branco fixo → escuras */
html.zp-dark .zp-card,
html.zp-dark .zp-plan,
html.zp-dark .zp-faq details,
html.zp-dark .zp-chip,
html.zp-dark .zp-auth__card{ background:#161f30 !important; border-color:var(--zp-line); color:var(--zp-ink); }
html.zp-dark .zp-btn-light{ background:#161f30 !important; color:var(--zp-ink); }
html.zp-dark .zp-header{ background:rgba(15,22,35,.92) !important; border-bottom-color:var(--zp-line); }
html.zp-dark .zp-menu.open{ background:#0f1623 !important; }
/* Hero (gradiente branco fixo) → escuro */
html.zp-dark .zp-hero{ background:radial-gradient(1200px 500px at 80% -10%,rgba(30,190,93,.14),transparent 60%),linear-gradient(180deg,#0f1623,#141d2c) !important; }
/* Textos */
html.zp-dark .zp-h1,html.zp-dark .zp-h2,html.zp-dark .zp-h3,
html.zp-dark .zp-trust .zp-stat b,html.zp-dark .zp-plan .price,
html.zp-dark .zp-legal h2,html.zp-dark .zp-fld label,html.zp-dark .zp-field label{ color:var(--zp-ink); }
html.zp-dark .zp-muted,html.zp-dark .zp-lead,html.zp-dark .zp-plan li{ color:var(--zp-muted); }
html.zp-dark .zp-menu a{ color:var(--zp-ink-2); }
html.zp-dark .zp-btn-ghost{ color:var(--zp-ink); border-color:var(--zp-line); }
/* Formulários (contato/login) */
html.zp-dark .zp-fld input,html.zp-dark .zp-field input,html.zp-dark .zp-field textarea{ background:#0f1623; color:var(--zp-ink); border-color:var(--zp-line); }
html.zp-dark .zp-auth__form{ background:#141d2c; }
/* Passo numerado e bolha clara mantêm contraste */
html.zp-dark .zp-step:before{ background:var(--zp-green-d); }
html.zp-dark .zp-hero-art .zp-bubble.me{ color:#0b1324; }
/* Botão de alternância */
.zp-theme-toggle{ background:transparent; border:1px solid var(--zp-line); color:var(--zp-ink); width:42px; height:42px; border-radius:50%; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:1rem; transition:.2s; }
.zp-theme-toggle:hover{ border-color:var(--zp-green); color:var(--zp-green-d); }
/* Dark: seções com fundo via var(--zp-ink) (invertia p/ claro no dark) → fixo escuro */
html.zp-dark .zp-cta{ background:linear-gradient(160deg,#161f30,#0b1120) !important; }
html.zp-dark .zp-footer{ background:#0b1120 !important; color:#c7cedd !important; }
html.zp-dark .zp-hero-art{ background:linear-gradient(160deg,#0b1120,#161f30) !important; }
html.zp-dark .zp-pagehead{ background:radial-gradient(800px 360px at 85% -10%,rgba(30,190,93,.45),transparent 60%),linear-gradient(160deg,#161f30,#0b1120) !important; }
html.zp-dark .zp-auth__brand{ background:radial-gradient(700px 360px at 80% 0%,rgba(30,190,93,.35),transparent 60%),linear-gradient(160deg,#161f30,#0b1120) !important; }
