/* =========================================================
   Kit 2.500 Atividades BNCC — Landing standalone
   CSS BASE (sem comparativo, cadernos e pricing — esses
   ficam inline no index.html para garantir o visual)
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img { max-width: 100%; display: block; height: auto; }
a { text-decoration: none; color: inherit; }
button { font: inherit; cursor: pointer; border: 0; background: none; }
ul { list-style: none; }

:root{
  --bg:#ffffff;
  --fg:#0f172a;
  --muted:#f1f5f9;
  --muted-fg:#64748b;
  --border:#e2e8f0;
  --card:#ffffff;

  --primary:#2563eb;
  --primary-glow:#60a5fa;
  --primary-fg:#ffffff;

  --success:#16a34a;
  --success-dark:#15803d;
  --success-fg:#ffffff;

  --danger:#dc2626;
  --accent:#f59e0b;
  --accent-fg:#1f2937;

  --grad-hero: linear-gradient(135deg, #1d4ed8 0%, #2563eb 55%, #38bdf8 100%);
  --grad-fire: linear-gradient(135deg, #2563eb, #0ea5e9 50%, #16a34a);
  --grad-cta:  linear-gradient(135deg, #16a34a, #15803d);
  --grad-dark: linear-gradient(135deg, #0f172a, #1e2748);

  --shadow-soft: 0 10px 30px -14px rgba(15,23,42,.14);
  --shadow-pop:  0 20px 45px -15px rgba(37,99,235,.28);
  --shadow-cta:  0 14px 34px -12px rgba(22,163,74,.4);
  --shadow-glow: 0 15px 40px -15px rgba(37,99,235,.35);
}

body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,.font-display{
  font-family: 'Poppins','Inter',sans-serif;
  letter-spacing: -.02em;
  line-height: 1.15;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* ===== FULL-BLEED: força seções a ocuparem 100% da largura ===== */
.ticker,
header.hero,
section,
footer{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box;
}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 1rem;
}
@media(min-width:768px){ .container{ padding:0 1.5rem; } }
@media(min-width:1024px){ .container{ padding:0 2rem; } }

.text-center{ text-align:center; }

/* ---------- Ticker ---------- */
.ticker{
  background: linear-gradient(90deg,#1d4ed8,#2563eb,#1d4ed8);
  color:#fff; font-weight:700; font-size:.78rem;
  padding:.55rem 0; overflow:hidden; white-space:nowrap;
}
.ticker-track{ display:inline-flex; gap:2.5rem; padding-left:100%; animation: ticker 28s linear infinite; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-100%)} }

/* ---------- Hero ---------- */
.hero{
  background: var(--grad-hero);
  color:#fff;
  padding: 2rem 0 2.75rem;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0; opacity:.18;
  background-image: radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px),
                    radial-gradient(circle at 80% 70%, #fff 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events:none;
}
.hero .grid{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; position:relative; z-index:1; }
@media(min-width:960px){
  .hero .grid{ grid-template-columns:1fr 1fr; gap:3rem; }
  .hero{ padding: 4rem 0 5rem; }
}

.badge-pill{
  display:inline-flex; align-items:center; gap:.4rem;
  background: rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35);
  padding:.45rem .85rem; border-radius:999px; font-size:.72rem; font-weight:700;
  margin-bottom:1rem; backdrop-filter: blur(6px);
  max-width: 100%;
}
@media(min-width:480px){ .badge-pill{ font-size:.85rem; padding:.5rem 1rem; } }

.hero h1{
  font-size: clamp(1.6rem, 7vw, 4rem);
  font-weight:700; margin-bottom:.9rem;
  line-height: 1.08;
}
@media(min-width:960px){ .hero h1{ font-size: clamp(2.5rem, 4.5vw, 4.25rem); } }
.hero h1 .hl{
  background:#f59e0b; color:#1f2937;
  padding:.05em .35em; border-radius:.45rem;
  display:inline-block;
}

.hero p.lead{ font-size: clamp(.95rem, 2.6vw, 1.1rem); margin-bottom:1.1rem; opacity:.97; font-weight:500; }

.hero-img-wrap{ position:relative; padding: 1.5rem 0; max-width: 460px; margin: 0 auto; }
.hero-img-wrap img{ max-width: min(460px, 100%); margin:0 auto; border-radius:1.25rem; filter: drop-shadow(0 20px 30px rgba(0,0,0,.25)); position:relative; z-index:5; animation: float 4s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

.hero-img-wrap-full{ max-width: 1200px; padding: 1rem 0 1.5rem; }
.hero-img-wrap-full img{
  max-width: 100%; width:100%; border-radius:1rem;
  box-shadow: 0 25px 60px -20px rgba(0,0,0,.35);
  animation: none;
}

/* ---------- CTA Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family: 'Poppins','Inter',sans-serif; font-weight:700;
  padding:.95rem 1.25rem; border-radius:1rem; transition: transform .25s ease, box-shadow .25s ease;
  text-align:center;
  width: 100%;
  max-width: 100%;
  font-size: 1rem;
  line-height: 1.2;
  word-break: break-word;
}
@media(min-width:600px){ .btn{ width:auto; padding:1rem 1.75rem; font-size:1.1rem; gap:.6rem; } }
@media(hover:hover){ .btn:hover{ transform: translateY(-2px) scale(1.02); } }
.btn-cta{
  background: var(--grad-cta); color:#fff;
  padding:1.05rem 1rem;
  border-radius:1rem; box-shadow: var(--shadow-cta);
  position:relative;
  font-size: clamp(.95rem, 3.5vw, 1.3rem);
}
@media(min-width:600px){ .btn-cta{ padding:1.2rem 2rem; } }
@media(hover:hover){ .btn-cta:hover{ box-shadow: 0 18px 40px -10px rgba(22,163,74,.5); } }
.btn-dark{ background:#0f172a; color:#fff; }
.btn-dark:hover{ background:#1f2a4a; }
.btn-cta-lg{ font-size: clamp(1.05rem, 4vw, 1.45rem) !important; padding: 1.35rem 1.5rem !important; margin-top:.5rem; }
@media(min-width:600px){ .btn-cta-lg{ padding:1.5rem 2.75rem !important; } }

/* ---------- Hero proof strip (above CTA) ---------- */
.hero-proof-strip{
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem;
  margin-bottom:1rem; padding-bottom:1rem; border-bottom:1px solid rgba(255,255,255,.25);
  font-size:.82rem; font-weight:700;
}
@media(min-width:600px){ .hero-proof-strip{ font-size:.9rem; } }
.hero-proof-strip .stars-sm{ color:#f59e0b; letter-spacing:.03em; }

/* ---------- Hero trust badges & social proof ---------- */
.hero-trust-badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }
.hero-trust-badges .badge{
  display:inline-flex; align-items:center; gap:.35rem;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  padding:.42rem .8rem; border-radius:999px; font-size:.72rem; font-weight:700;
  backdrop-filter: blur(4px);
}
.hero-trust-badges .badge svg{ width:13px; height:13px; flex-shrink:0; }


.trust-row{
  margin-top:.9rem; display:flex; flex-wrap:wrap; gap:.6rem 1rem;
  font-size:.78rem; opacity:.95; justify-content:flex-start;
}
@media(min-width:480px){ .trust-row{ font-size:.85rem; } }
.trust-row span{ display:inline-flex; align-items:center; gap:.3rem; }

/* ---------- Bar social ---------- */
.bar-social{ background:#0f172a; color:#fff; padding:1.25rem 0; }
.bar-social .row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:1rem;
  align-items:center;
}
@media(min-width:600px){ .bar-social .row{ grid-template-columns: repeat(4,1fr); } }
.bar-social .item{ display:flex; align-items:center; gap:.5rem; justify-content:center; }
.bar-social .item .num{ font-weight:800; font-size:1rem; line-height:1.1; }
.bar-social .item .lab{ font-size:.7rem; opacity:.7; line-height:1.1; }
@media(min-width:480px){ .bar-social .item .num{ font-size:1.15rem; } .bar-social .item .lab{ font-size:.75rem; } }
.bar-social .ico{ display:inline-flex; color:#60a5fa; }

/* ---------- Sections (padding generoso) ---------- */
section{ padding: 3.5rem 0; }
@media(min-width:768px){ section{ padding: 5rem 0; } }
@media(min-width:1200px){ section{ padding: 6rem 0; } }
.section-muted{ background: var(--muted); }
.eyebrow{ color: var(--primary); font-weight:800; letter-spacing:.1em; text-transform:uppercase; font-size:.72rem; }
@media(min-width:480px){ .eyebrow{ font-size:.8rem; letter-spacing:.12em; } }
.eyebrow-danger{ color: var(--danger); }
.h2{ font-size: clamp(1.5rem, 5.5vw, 3.25rem); font-weight:700; margin: .5rem 0; line-height:1.1; }
.text-fire{ background: var(--grad-fire); -webkit-background-clip:text; background-clip:text; color:transparent; }
.lead-muted{ color: var(--muted-fg); font-size: clamp(.92rem, 2.4vw, 1.05rem); max-width: 640px; margin:.5rem auto 0; }

/* ---------- How It Works ---------- */
.how-steps{
  display:flex; flex-direction:column; align-items:center; gap:1.25rem;
  max-width:820px; margin:2.5rem auto 0;
}
@media(min-width:700px){ .how-steps{ flex-direction:row; align-items:flex-start; justify-content:center; gap:1rem; } }
.how-step{ text-align:center; max-width:220px; }
.how-num{
  width:4rem; height:4rem; border-radius:50%; background: var(--grad-hero); color:#fff;
  display:flex; align-items:center; justify-content:center; margin:0 auto .75rem;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1.5rem; box-shadow: var(--shadow-pop);
}
.how-step h3{ font-size:1.1rem; margin-bottom:.35rem; }
.how-step p{ font-size:.85rem; color: var(--muted-fg); line-height:1.4; }
.how-arrow{ color: var(--primary); font-size:1.5rem; font-weight:800; line-height:1; padding-top:1.1rem; }
.how-arrow .arrow-h{ display:none; }
@media(min-width:700px){ .how-arrow .arrow-v{ display:none; } .how-arrow .arrow-h{ display:inline; } }

/* ---------- Learning Journey (What's Inside) ---------- */
.journey{ position:relative; max-width:900px; margin:2.5rem auto 0; }
.journey::before{
  content:""; position:absolute; left:1.75rem; top:.5rem; bottom:.5rem; width:3px;
  background: linear-gradient(180deg, #2563eb, #0ea5e9, #16a34a);
  border-radius:999px;
}
@media(min-width:600px){ .journey::before{ left:2.25rem; } }

.journey-step{ position:relative; display:flex; gap:1rem; padding-bottom:1.5rem; }
@media(min-width:600px){ .journey-step{ gap:1.25rem; padding-bottom:1.75rem; } }
.journey-step:last-child{ padding-bottom:0; }

.journey-num{
  position:relative; z-index:2; flex-shrink:0;
  width:3.5rem; height:3.5rem; border-radius:50%;
  background:#fff; border:3px solid #2563eb; color:#2563eb;
  display:flex; align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1.25rem;
  box-shadow: 0 8px 20px -6px rgba(37,99,235,.35);
}
@media(min-width:600px){ .journey-num{ width:4.5rem; height:4.5rem; font-size:1.6rem; } }

.journey-card{
  flex:1; min-width:0; background:#fff; border:1px solid var(--border); border-radius:1.25rem;
  padding:1rem; box-shadow: var(--shadow-soft);
  display:grid; grid-template-columns: 72px 1fr; gap:.85rem; align-items:center;
}
@media(min-width:600px){ .journey-card{ grid-template-columns: 110px 1fr; padding:1.5rem; gap:1.25rem; } }

.journey-thumb{
  position:relative; aspect-ratio:3/4; border-radius:.6rem; overflow:hidden;
  border:1px solid var(--border); background:#f1f5f9; box-shadow: 0 8px 18px -8px rgba(15,23,42,.2);
}
.journey-thumb img{ width:100%; height:100%; object-fit:cover; }
.journey-thumb::after{
  content:""; position:absolute; top:0; right:0; width:0; height:0;
  border-style:solid; border-width:0 12px 12px 0; border-color: transparent #fff transparent transparent;
  filter:drop-shadow(-1px 1px 1px rgba(0,0,0,.15));
}

.journey-body h3{ font-size:1rem; margin-bottom:.25rem; }
@media(min-width:600px){ .journey-body h3{ font-size:1.2rem; } }
.journey-body p{ font-size:.8rem; color:var(--muted-fg); margin-bottom:.5rem; line-height:1.4; }
@media(min-width:600px){ .journey-body p{ font-size:.9rem; } }
.journey-body ul{ display:flex; flex-direction:column; gap:.25rem; font-size:.74rem; font-weight:600; }
@media(min-width:600px){ .journey-body ul{ font-size:.8rem; } }
.journey-body ul li{ display:flex; align-items:flex-start; gap:.35rem; }
.journey-body ul li::before{ content:"✓"; color:#16a34a; font-weight:900; flex-shrink:0; }

.journey-capstones{
  display:grid; grid-template-columns:1fr; gap:.85rem; max-width:900px; margin:2rem auto 0;
}
@media(min-width:600px){ .journey-capstones{ grid-template-columns:repeat(3,1fr); gap:1.1rem; } }
.capstone{
  background: linear-gradient(135deg,#f8fafc,#fff); border:1.5px dashed #93c5fd; border-radius:1rem;
  padding:1.1rem; text-align:center;
}
.capstone .ic{
  width:2.6rem; height:2.6rem; margin:0 auto .6rem; border-radius:50%;
  background: var(--grad-cta); color:#fff; display:flex; align-items:center; justify-content:center;
}
.capstone .ic svg{ width:1.3rem; height:1.3rem; }
.capstone h4{ font-family:'Poppins',sans-serif; font-weight:800; font-size:.92rem; margin-bottom:.25rem; }
.capstone p{ font-size:.75rem; color:var(--muted-fg); }

/* ---------- Authority statement ---------- */
.authority{ padding: 2.75rem 0; background:#fff; border-bottom:1px solid var(--border); }
@media(min-width:768px){ .authority{ padding: 3.5rem 0; } }
.authority-inner{ max-width:680px; margin:0 auto; text-align:center; }
.authority-inner h2{ font-size: clamp(1.3rem, 3.5vw, 1.9rem); margin-bottom:.85rem; }
.authority-inner p{ color: var(--muted-fg); font-size:.98rem; line-height:1.6; }

/* ---------- Imagine Your Child (transformation) ---------- */
.imagine-grid{ display:grid; grid-template-columns:1fr; gap:1rem; max-width:720px; margin:2.25rem auto 0; }
@media(min-width:600px){ .imagine-grid{ grid-template-columns:1fr 1fr; gap:1.25rem; } }
.imagine-item{
  display:flex; align-items:center; gap:.85rem; background:#fff; border:1px solid var(--border);
  border-radius:1rem; padding:1.1rem 1.25rem; box-shadow: var(--shadow-soft); font-weight:700; font-size:1rem;
}
.imagine-item .ic{
  width:2.4rem; height:2.4rem; border-radius:50%; background: var(--grad-cta); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.imagine-item .ic svg{ width:1.1rem; height:1.1rem; }

/* ---------- Depoimentos (real WhatsApp screenshots) ---------- */
.depoimentos{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
@media(min-width:680px){ .depoimentos{ grid-template-columns:1fr 1fr; gap:1.1rem; margin-top:2.5rem; } }
@media(min-width:1000px){ .depoimentos{ grid-template-columns:repeat(3,1fr); } }
.depoimentos-wa{ max-width:1100px; margin-left:auto; margin-right:auto; align-items:start; }
.depo-wa{ background:#fff; border:1px solid var(--border); border-radius:1rem; padding:.5rem; box-shadow: var(--shadow-soft); overflow:hidden; }
.depo-wa img{ width:100%; height:auto; border-radius:.6rem; display:block; }

/* ---------- Bônus ---------- */
.bonus-list{ display:flex; flex-direction:column; gap:.7rem; margin-top:2rem; }
@media(min-width:768px){ .bonus-list{ gap:.8rem; margin-top:2.5rem; } }
.bonus-item{
  display:flex; align-items:center; gap:.75rem; background:#fff; border:1px solid var(--border);
  border-radius:1rem; padding:.85rem .9rem; box-shadow: var(--shadow-soft);
  transition: border-color .2s; min-width:0;
}
@media(min-width:480px){ .bonus-item{ gap:1rem; padding:1rem 1.25rem; } }
.bonus-item:hover{ border-color: var(--primary); }
.bonus-num{
  flex-shrink:0; width:2.7rem; height:2.7rem;
  background: var(--grad-hero); color:#fff; border-radius:.75rem;
  display:flex; align-items:center; justify-content:center;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:1.1rem;
  box-shadow: var(--shadow-glow);
}
@media(min-width:480px){ .bonus-num{ width:3.4rem; height:3.4rem; font-size:1.4rem; border-radius:1rem; } }
@media(min-width:768px){ .bonus-num{ width:4.5rem; height:4.5rem; font-size:1.8rem; } }
.bonus-item .info{ flex:1; min-width:0; }
.bonus-item .bonus-label{ display:block; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color: var(--primary); margin-bottom:.15rem; }
.bonus-item h3{ font-size:.88rem; line-height:1.2; }
.bonus-item h3 .val{ color: var(--success); font-family:'Poppins',sans-serif; }
@media(min-width:480px){ .bonus-item h3{ font-size:1rem; } }
@media(min-width:768px){ .bonus-item h3{ font-size:1.2rem; } }
.bonus-item p{ font-size:.74rem; color: var(--muted-fg); line-height:1.35; margin-top:.15rem; }
@media(min-width:480px){ .bonus-item p{ font-size:.82rem; } }
.bonus-item .price-side{ text-align:right; flex-shrink:0; }
.bonus-item .price-side .reg-lbl{ font-size:.6rem; color:#94a3b8; text-transform:uppercase; letter-spacing:.03em; font-weight:700; display:block; }
.bonus-item .price-side .old{ text-decoration:line-through; color: var(--muted-fg); font-size:.7rem; }
.bonus-item .price-side .free{ color: var(--success); font-weight:800; font-family:'Poppins',sans-serif; font-size:.85rem; }
@media(min-width:480px){ .bonus-item .price-side .reg-lbl{ font-size:.65rem; } .bonus-item .price-side .old{ font-size:.75rem; } .bonus-item .price-side .free{ font-size:1rem; } }

.bonus-total{
  max-width: 560px; margin: 2rem auto 0; text-align:center;
  background: linear-gradient(135deg,#fffbeb,#fff); border:2px solid #f59e0b; border-radius:1.1rem;
  padding: 1.1rem 1.5rem; box-shadow: 0 15px 35px -15px rgba(245,158,11,.4);
}
.bonus-total .lbl{ font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#92400e; }
.bonus-total .amt{ font-family:'Poppins',sans-serif; font-weight:800; font-size:1.8rem; color:#0f172a; margin:.2rem 0; }
.bonus-total .amt small{ font-size:1rem; color:#16a34a; font-weight:700; }

/* ---------- Who Is This For ---------- */
.who-badges{ display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin-top:2rem; }
.who-badges span{
  display:inline-flex; align-items:center; gap:.45rem;
  background:#fff; border:1.5px solid var(--border); border-radius:999px;
  padding:.65rem 1.25rem; font-size:.88rem; font-weight:700; color:#0f172a;
  box-shadow: var(--shadow-soft);
}
.who-badges svg{ width:16px; height:16px; color: var(--success); flex-shrink:0; }

/* ---------- Garantia ---------- */
.guarantee{
  background:#fff; border:4px solid var(--success); border-radius:1.5rem;
  padding:2rem 1.25rem; text-align:center; box-shadow: var(--shadow-pop);
  position:relative; max-width:760px; margin: 4rem auto 0;
}
@media(min-width:480px){ .guarantee{ padding:2.5rem 2rem; margin: 4.5rem auto 0; } }
.guarantee .seal{
  width:5rem; height:5rem; border-radius:50%; background: var(--grad-cta);
  display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-cta); margin: -4.5rem auto 1rem;
  color:#fff; font-size:2.4rem;
  outline: 4px solid #fff; outline-offset: 4px;
  border: 3px dashed rgba(22,163,74,.35);
}
@media(min-width:480px){ .guarantee .seal{ width:6rem; height:6rem; font-size:3rem; margin:-5rem auto 1.2rem; } }
.guarantee .seal-lg{ width:6.5rem; height:6.5rem; }
@media(min-width:480px){ .guarantee .seal-lg{ width:8rem; height:8rem; margin:-6.5rem auto 1.2rem; } }

.guarantee-badges{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem;
  margin-top:1.5rem; padding-top:1.4rem; border-top:1px solid var(--border);
}
.guarantee-badges span{
  display:inline-flex; align-items:center; gap:.4rem;
  background:#fff; border:1px solid var(--border); border-radius:999px;
  padding:.5rem 1rem; font-size:.8rem; font-weight:700; color:#0f172a;
  box-shadow: var(--shadow-soft);
}
.guarantee-badges svg{ width:15px; height:15px; color: var(--success); flex-shrink:0; }

/* ---------- Why Parents Love Printable Learning ---------- */
.why-grid{ display:grid; grid-template-columns:1fr; gap:1.1rem; max-width:1000px; margin:2.25rem auto 0; }
@media(min-width:700px){ .why-grid{ grid-template-columns:repeat(3,1fr); gap:1.5rem; } }
.why-card{
  background:#fff; border:1px solid var(--border); border-radius:1.25rem; padding:1.5rem;
  text-align:center; box-shadow: var(--shadow-soft);
}
.why-card .ic{
  width:3rem; height:3rem; border-radius:50%; background: var(--grad-cta); color:#fff;
  display:flex; align-items:center; justify-content:center; margin:0 auto .9rem;
}
.why-card .ic svg{ width:1.4rem; height:1.4rem; }
.why-card h3{ font-size:1.1rem; margin-bottom:.5rem; }
.why-card p{ font-size:.88rem; color: var(--muted-fg); line-height:1.5; }

/* ---------- FAQ ---------- */
.faq{ display:flex; flex-direction:column; gap:.7rem; max-width:760px; margin:2rem auto 0; }
@media(min-width:768px){ .faq{ gap:.8rem; margin-top:2.5rem; } }
.faq details{ background:#fff; border:1px solid var(--border); border-radius:1rem; box-shadow: var(--shadow-soft); overflow:hidden; transition: box-shadow .2s, border-color .2s; }
.faq details[open]{ border-color: var(--primary); box-shadow: 0 15px 35px -15px rgba(37,99,235,.25); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.1rem 1.25rem;
  display:flex; justify-content:space-between; align-items:center; gap:.75rem;
  font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem; line-height:1.25;
  transition: background .2s;
}
.faq summary:hover{ background: var(--muted); }
@media(min-width:480px){ .faq summary{ padding:1.2rem 1.5rem; font-size:1.05rem; } }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; color:#fff; background: var(--primary);
  width:1.5rem; height:1.5rem; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; font-weight:700; line-height:1;
  transition: transform .25s;
}
.faq details[open] summary::after{ content:"−"; transform: rotate(180deg); background: var(--success); }
.faq .a{ padding: 0 1.1rem 1.1rem; color: var(--muted-fg); font-size:.9rem; }
@media(min-width:480px){ .faq .a{ padding: 0 1.4rem 1.2rem; font-size:1rem; } }

/* ---------- Final CTA ---------- */
.final{
  background: var(--grad-hero);
  color:#fff;
  text-align:center;
  padding: 4rem 0 5rem;
}
@media(min-width:768px){ .final{ padding: 6rem 0 7rem; } }
.final h2{ font-size: clamp(1.7rem, 6vw, 3.6rem); margin-bottom:1rem; }
.final .heart{ font-size:2.5rem; margin-bottom:.85rem; }
@media(min-width:480px){ .final .heart{ font-size:3rem; } }

/* ---------- Footer ---------- */
footer{ background:#0f172a; color: rgba(255,255,255,.75); padding:3rem 0 2rem; font-size:.85rem; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:2rem; max-width:1100px; margin:0 auto; padding:0 1.25rem; }
@media(min-width:700px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; padding:0 2rem; } }
.footer-brand .ttl{ color:#fff; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.15rem; margin-bottom:.6rem; }
.footer-brand p{ font-size:.85rem; line-height:1.6; opacity:.75; max-width:340px; }
.footer-col h5{ color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.9rem; }
.footer-col ul{ display:flex; flex-direction:column; gap:.55rem; }
.footer-col a{ color:rgba(255,255,255,.7); font-size:.85rem; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
  max-width:1100px; margin:2.5rem auto 0; padding:1.5rem 1.25rem 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex; flex-direction:column; gap:1rem; align-items:center; text-align:center;
}
@media(min-width:700px){ .footer-bottom{ flex-direction:row; justify-content:space-between; text-align:left; padding:1.5rem 2rem 0; } }
.footer-payments{ display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; }
.footer-payments span{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:.4rem; padding:.3rem .6rem; font-size:.68rem; font-weight:700; }
footer .small{ opacity:.55; font-size:.72rem; margin-top:.4rem; }

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{
  position: fixed; bottom:0; left:0; right:0; z-index:99;
  background:#fff; border-top:2px solid var(--primary); padding:.6rem .7rem;
  box-shadow: 0 -10px 30px rgba(0,0,0,.15);
  display: none;
  padding-bottom: calc(.6rem + env(safe-area-inset-bottom));
}
.sticky-cta a{
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  background: var(--grad-cta); color:#fff; font-family:'Poppins',sans-serif; font-weight:700;
  padding: .9rem .8rem; border-radius:.85rem; box-shadow: var(--shadow-cta);
  font-size: clamp(.88rem, 3.5vw, 1rem);
  white-space: nowrap;
}
@media(max-width: 900px){ .sticky-cta{ display:block; } body{ padding-bottom: 5.5rem; } }

/* ============ NOTIFICAÇÕES DE COMPRA ============ */
.pp-notify{
  position: fixed; left: 16px; bottom: 20px; z-index: 9999;
  display: flex; align-items: center; gap: 12px;
  width: min(340px, calc(100vw - 32px));
  background: #ffffff; color: #0f172a;
  border-radius: 14px; padding: 12px 14px 12px 12px;
  box-shadow: 0 18px 45px -12px rgba(15,23,42,.28), 0 4px 12px rgba(15,23,42,.08);
  border: 1px solid rgba(15,23,42,.06);
  font-family: 'Outfit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  transform: translateX(-120%); opacity: 0;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .45s ease;
  pointer-events: auto;
  bottom: calc(20px + env(safe-area-inset-bottom));
}
.pp-notify.show{ transform: translateX(0); opacity: 1; }
.pp-notify .pp-avatar{
  position: relative; flex-shrink: 0;
  width: 46px; height: 46px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: 'Poppins','Inter',sans-serif;
  font-weight: 700; font-size: 1.15rem;
  background: linear-gradient(135deg, #2563eb, #60a5fa);
  box-shadow: 0 6px 14px -4px rgba(37,99,235,.5);
}
.pp-notify .pp-verified{
  position: absolute; right: -3px; bottom: -3px;
  width: 18px; height: 18px;
  background: #1d9bf0; color: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff; font-size: 10px; line-height: 1;
}
.pp-notify .pp-verified svg{ width: 11px; height: 11px; display:block; }
.pp-notify .pp-body{ flex: 1; min-width: 0; line-height: 1.3; }
.pp-notify .pp-name-line{ display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .9rem; }
.pp-notify .pp-name{ font-weight: 700; color: #0f172a; }
.pp-notify .pp-check-mini{
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; background: #1d9bf0; color: #fff;
  border-radius: 50%; flex-shrink: 0;
}
.pp-notify .pp-check-mini svg{ width: 9px; height: 9px; }
.pp-notify .pp-text{ font-size: .82rem; color: #334155; margin-top: 2px; }
.pp-notify .pp-text strong{ color: #2563eb; font-weight: 700; }
.pp-notify .pp-meta{ font-size: .7rem; color: #94a3b8; margin-top: 4px; display: flex; align-items: center; gap: 6px; }
.pp-notify .pp-meta .pp-dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.7);
  animation: ppPulse 1.6s infinite;
}
@keyframes ppPulse {
  0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.6); }
  70%  { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
.pp-notify .pp-close{
  position: absolute; top: 6px; right: 8px;
  background: transparent; border: 0; cursor: pointer;
  color: #94a3b8; font-size: 16px; line-height: 1;
  padding: 2px 6px; border-radius: 6px;
}
.pp-notify .pp-close:hover{ color: #0f172a; background: #f1f5f9; }
@media (max-width: 480px){
  .pp-notify{ left: 10px; right: 10px; width: auto; bottom: calc(80px + env(safe-area-inset-bottom)); }
}
