/* === Henrique 3D — caixinhas para figurinhas === */
:root{
  --verde:#009c3b;
  --verde-2:#00853f;
  --azul:#002776;
  --amarelo:#ffdf00;
  --branco:#ffffff;
  --preto:#0e1116;
  --cinza:#f4f4f6;
  --cinza-2:#e6e6ea;
  --texto:#1b1f24;
  --muted:#5a6472;
  --radius:14px;
  --sombra:0 6px 24px rgba(0,0,0,.08);
  --max:1180px;
  --gap:24px;
  font-size:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter','Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  color:var(--texto);
  background:var(--branco);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.small{font-size:.88rem}

/* ===== topbar ===== */
.topbar{
  position:sticky;top:0;z-index:50;
  background:var(--branco);
  border-bottom:1px solid var(--cinza-2);
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand__name{font-weight:800;font-size:1.1rem;color:var(--preto)}
.brand__tag{font-size:.75rem;color:var(--muted)}
.nav a{margin-left:18px;font-weight:600;color:var(--preto);font-size:.95rem}
.nav a:hover{color:var(--verde-2);text-decoration:none}
@media (max-width:720px){
  .nav{display:none}
}

/* ===== hero ===== */
.hero{
  background:
    radial-gradient(1200px 500px at 80% 0%, rgba(255,223,0,.18), transparent 60%),
    radial-gradient(900px 400px at 0% 100%, rgba(0,39,118,.12), transparent 60%),
    linear-gradient(180deg,#fff,#f7faf7);
  padding:64px 0 48px;
  border-bottom:1px solid var(--cinza-2);
}
.hero__grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
}
.hero__copy h1{
  font-size:clamp(2rem, 4.2vw, 3.4rem);
  line-height:1.05;letter-spacing:-.02em;margin:8px 0 14px;
  color:var(--preto);
}
.hero__copy h1 span{color:var(--verde-2)}
.hero__copy p{font-size:1.08rem;color:#2b313a;max-width:48ch}
.hero__pill{
  display:inline-block;background:var(--amarelo);color:var(--preto);
  padding:6px 12px;border-radius:999px;font-weight:700;font-size:.8rem;
  text-transform:uppercase;letter-spacing:.06em;
}
.hero__cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.hero__badges{display:flex;gap:18px;margin:24px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.9rem}
.hero__badges li::before{content:"✓ ";color:var(--verde-2);font-weight:800}
.hero__art img{
  border-radius:var(--radius);
  box-shadow:var(--sombra);
}
@media (max-width:820px){
  .hero{padding:36px 0 28px}
  .hero__grid{grid-template-columns:1fr}
}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:999px;padding:12px 22px;font-weight:700;
  border:1px solid transparent;cursor:pointer;font-size:1rem;
  transition:.15s transform,.15s box-shadow,.15s background;
}
.btn--primary{background:var(--verde);color:#fff}
.btn--primary:hover{background:var(--verde-2);transform:translateY(-1px);text-decoration:none;box-shadow:0 6px 16px rgba(0,156,59,.35)}
.btn--ghost{background:transparent;border-color:var(--preto);color:var(--preto)}
.btn--ghost:hover{background:var(--preto);color:#fff;text-decoration:none}
.btn--lg{padding:16px 28px;font-size:1.05rem}

/* ===== sections ===== */
.section{padding:64px 0}
.section--alt{background:var(--cinza)}
.section h2{
  font-size:clamp(1.5rem,2.6vw,2.1rem);
  letter-spacing:-.01em;margin:0 0 6px;
}
.section .muted{margin-top:0;margin-bottom:24px}

/* ===== cards (produtos) ===== */
.cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.card{
  background:#fff;border:1px solid var(--cinza-2);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:.15s transform,.15s box-shadow;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--sombra)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card h3{margin:14px 16px 4px;font-size:1.1rem}
.card p{margin:0 16px 12px;color:var(--muted);font-size:.92rem}
.card__price{
  margin:auto 16px 16px;font-weight:800;color:var(--verde-2);font-size:1.1rem;
}
.card--feature{outline:2px solid var(--amarelo)}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.cards{grid-template-columns:1fr}}

/* ===== steps ===== */
.steps{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.steps li{
  background:#fff;border-radius:var(--radius);padding:18px;
  border:1px solid var(--cinza-2);
}
.steps strong{display:block;color:var(--verde-2);font-size:1rem;margin-bottom:4px}
.steps span{color:var(--muted);font-size:.95rem}
@media (max-width:820px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* ===== form ===== */
.form fieldset{
  border:1px solid var(--cinza-2);border-radius:var(--radius);
  padding:18px 20px 8px;margin:0 0 18px;background:#fff;
}
.form legend{padding:0 8px;font-weight:700;color:var(--preto)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
@media (max-width:640px){.grid-2{grid-template-columns:1fr}}
.form label{display:flex;flex-direction:column;font-size:.9rem;color:var(--preto);font-weight:600;gap:6px}
.form input,.form select,.form textarea{
  font:inherit;color:var(--preto);
  border:1px solid var(--cinza-2);border-radius:10px;
  padding:10px 12px;background:#fff;
  width:100%;
}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-color:var(--verde-2);box-shadow:0 0 0 3px rgba(0,156,59,.15)
}
.form .check{flex-direction:row;align-items:flex-start;font-weight:500;gap:10px}
.form .check input{width:auto;margin-top:4px}
.form .check input[aria-invalid="true"]{
  outline:2px solid #c1121f;outline-offset:2px;border-radius:3px;
}
.field-error{
  display:block;
  margin:6px 0 4px 28px;
  color:#c1121f;
  font-size:.88rem;
  font-weight:600;
  line-height:1.4;
}
.totalbox{
  display:grid;grid-template-columns:1fr auto;align-items:center;
  background:#f7faf7;border:1px dashed var(--verde-2);
  padding:12px 16px;border-radius:12px;margin:8px 0 16px;
}
.totalbox strong{font-size:1.4rem;color:var(--verde-2)}
.totalbox small{grid-column:1/-1;margin-top:4px}
.actions{margin-top:8px;text-align:center}
.actions .btn{min-width:280px}

/* ===== contato ===== */
.contact__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px}
.contact__card{
  background:#fff;border:1px solid var(--cinza-2);border-radius:var(--radius);
  padding:20px;display:flex;flex-direction:column;gap:4px;color:var(--preto);
}
.contact__card strong{font-size:1.1rem;color:var(--azul)}
.contact__card:hover{text-decoration:none;box-shadow:var(--sombra);transform:translateY(-2px)}
@media (max-width:600px){.contact__cards{grid-template-columns:1fr}}

/* ===== footer ===== */
.footer{background:var(--preto);color:#cdd2d8;padding:36px 0 18px;margin-top:0}
.footer a{color:#fff}
.footer ul{padding:0;margin:6px 0;list-style:none}
.footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:18px}
@media (max-width:700px){.footer__grid{grid-template-columns:1fr}}
.footer .muted{color:#8b94a0}

/* ===== cookie bar ===== */
.cookiebar{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:60;
  background:#fff;border:1px solid var(--cinza-2);border-radius:var(--radius);
  padding:14px 16px;box-shadow:var(--sombra);
  display:flex;flex-direction:column;gap:10px;
}
.cookiebar p{margin:0;font-size:.92rem}
.cookiebar div{display:flex;gap:10px;justify-content:flex-end}
.cookiebar .btn{padding:8px 14px;font-size:.9rem}
@media (min-width:720px){
  .cookiebar{flex-direction:row;align-items:center;justify-content:space-between;max-width:780px;margin:0 auto}
  .cookiebar div{justify-content:flex-end}
}

/* Garante que o atributo HTML "hidden" sobreponha display:flex/grid em qualquer elemento (corrige cookie banner) */
[hidden]{display:none !important}

/* ===== FAB compartilhar ===== */
:root{--fab-offset:24px}
.fab-share{
  position:fixed;
  right:24px;
  bottom:var(--fab-offset);
  z-index:55;
  display:inline-flex;align-items:center;justify-content:center;gap:0;
  height:56px;width:56px;
  padding:0;
  border:none;border-radius:999px;
  background:var(--verde);color:#fff;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(0,156,59,.35), 0 2px 6px rgba(0,0,0,.12);
  transition:width .2s ease, gap .2s ease, padding .2s ease, transform .15s ease, box-shadow .15s ease, background .15s ease, bottom .25s ease;
  overflow:hidden;
}
.fab-share:hover,
.fab-share:focus-visible{
  background:var(--verde-2);
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,156,59,.45), 0 3px 8px rgba(0,0,0,.15);
  outline:none;
}
.fab-share[aria-expanded="true"]{
  background:var(--verde-2);
  box-shadow:0 10px 24px rgba(0,156,59,.45), 0 3px 8px rgba(0,0,0,.15);
}
.fab-share__icon{flex:0 0 auto}
.fab-share__label{
  font:inherit;font-weight:700;font-size:.95rem;
  white-space:nowrap;
  max-width:0;opacity:0;
  transition:max-width .2s ease, opacity .15s ease;
}
@media (hover:hover) and (pointer:fine){
  .fab-share:hover,
  .fab-share:focus-visible{
    width:auto;
    padding:0 22px 0 18px;
    gap:10px;
  }
  .fab-share:hover .fab-share__label,
  .fab-share:focus-visible .fab-share__label{
    max-width:200px;opacity:1;
  }
}

/* ===== Share menu (popover ancorado no FAB) ===== */
.share-menu{
  position:fixed;
  right:24px;
  bottom:calc(var(--fab-offset) + 72px);
  z-index:70;
  background:#fff;
  border:1px solid var(--cinza-2);
  border-radius:var(--radius);
  box-shadow:var(--sombra);
  padding:6px;
  min-width:220px;
  display:flex;flex-direction:column;gap:2px;
  transform-origin:bottom right;
  animation:share-menu-in .15s ease-out;
  transition:bottom .25s ease;
}
@keyframes share-menu-in{
  from{opacity:0;transform:translateY(8px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.share-menu__item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;
  background:transparent;border:none;
  font:inherit;text-align:left;cursor:pointer;color:var(--preto);
  border-radius:10px;
  text-decoration:none;
  font-weight:600;font-size:.95rem;
  transition:background .12s ease;
  width:100%;
}
.share-menu__item:hover,
.share-menu__item:focus-visible{
  background:var(--cinza);
  outline:none;
  text-decoration:none;
}
.share-menu__item svg{flex:0 0 22px;width:22px;height:22px}
.share-menu__item--whatsapp svg{color:#25D366}
.share-menu__item--telegram svg{color:#0088cc}
.share-menu__item--email svg{color:var(--azul)}
.share-menu__item--copy svg{color:var(--muted)}
.share-menu__item--native svg{color:var(--preto)}

/* Toast de feedback (Link copiado!) */
.share-feedback{
  position:fixed;
  bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--preto);color:#fff;
  padding:10px 18px;border-radius:999px;
  z-index:80;font-size:.92rem;font-weight:600;
  box-shadow:var(--sombra);
  animation:share-feedback-in .2s ease-out;
  pointer-events:none;
}
@keyframes share-feedback-in{
  from{opacity:0;transform:translate(-50%,8px)}
  to{opacity:1;transform:translate(-50%,0)}
}

/* ===== Divisor "ou" entre MP e WhatsApp ===== */
.divider-ou{
  display:flex;align-items:center;gap:12px;
  margin:16px 0;color:var(--muted);font-size:.9rem;
}
.divider-ou::before,.divider-ou::after{
  content:'';flex:1;height:1px;background:var(--cinza-2);
}

/* ===== Modal QR Code PIX (AbacatePay) ===== */
.pix-modal{
  position:fixed;inset:0;z-index:90;
  background:rgba(14,17,22,.55);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
}
.pix-modal__box{
  background:#fff;border-radius:var(--radius);
  box-shadow:0 16px 48px rgba(0,0,0,.18);
  padding:28px 24px;max-width:420px;width:100%;
  text-align:center;
}
.pix-modal__box h3{margin:0 0 6px;color:var(--azul)}
.pix-qr{
  width:200px;height:200px;margin:14px auto;
  border:1px solid var(--cinza-2);border-radius:10px;
  display:block;
}
.pix-code{
  display:block;background:var(--cinza);
  padding:10px 12px;border-radius:8px;
  font-size:.78rem;word-break:break-all;
  margin:0 0 12px;text-align:left;
  max-height:80px;overflow-y:auto;
  color:var(--texto);
}
@media (max-width:460px){.pix-modal__box{padding:20px 14px}}

@media (prefers-reduced-motion:reduce){
  .fab-share{transition:bottom .25s ease}
  .fab-share:hover,
  .fab-share:focus-visible{transform:none}
  .fab-share__label{transition:none}
  .share-menu{animation:none;transition:bottom .25s ease}
  .share-feedback{animation:none}
}

/* ===== badge novidade + disclaimer IA (overlay sobre imagens) ===== */
.card{position:relative}
.card--novidade{outline:2px solid #ffd400}
.badge-novidade{
  position:absolute; top:10px; left:10px; z-index:2;
  background:#ffd400; color:#0a0a0a;
  padding:6px 10px; border-radius:6px;
  font-weight:800; font-size:.72rem; line-height:1.1;
  text-transform:uppercase; letter-spacing:.04em;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
  max-width:calc(100% - 20px);
}
.hero__art{position:relative}
.ia-disclaimer{
  position:absolute; bottom:10px; right:12px; z-index:2;
  background:rgba(0,0,0,.55); color:#fff;
  padding:4px 8px; border-radius:4px;
  font-size:.68rem; line-height:1.1;
  letter-spacing:.01em;
}

/* ===== card--cristal: moldura azul com brilho pulsante (Azul Seleção c/ taça) ===== */
.card--cristal{
  outline:4px solid #1e6fff;
  outline-offset:0;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.6) inset,
    0 0 18px rgba(30,111,255,.65),
    0 0 38px rgba(30,144,255,.45),
    0 0 60px rgba(0,170,255,.25);
  animation:cristal-shimmer 2.4s ease-in-out infinite;
  position:relative;
  isolation:isolate;
}
.card--cristal::after{
  content:"";
  position:absolute; inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.85) 0 1.2px, transparent 2px),
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.85) 0 1.4px, transparent 2px),
    radial-gradient(circle at 70% 30%, rgba(255,255,255,.7)  0 1px,   transparent 2px),
    radial-gradient(circle at 30% 65%, rgba(255,255,255,.7)  0 1.2px, transparent 2px),
    radial-gradient(circle at 92% 75%, rgba(255,255,255,.8)  0 1.4px, transparent 2px),
    radial-gradient(circle at 8% 90%,  rgba(255,255,255,.65) 0 1px,   transparent 2px);
  mix-blend-mode:screen;
  opacity:.0;
  animation:cristal-sparkle 3.2s ease-in-out infinite;
  z-index:3;
}
@keyframes cristal-shimmer{
  0%,100%{ box-shadow:
    0 0 0 1px rgba(255,255,255,.6) inset,
    0 0 16px rgba(30,111,255,.55),
    0 0 34px rgba(30,144,255,.40),
    0 0 56px rgba(0,170,255,.22);
  }
  50%    { box-shadow:
    0 0 0 1px rgba(255,255,255,.85) inset,
    0 0 28px rgba(30,111,255,.85),
    0 0 56px rgba(30,144,255,.65),
    0 0 82px rgba(0,170,255,.40);
  }
}
@keyframes cristal-sparkle{
  0%,100%{ opacity:.15; transform:scale(1); }
  50%    { opacity:.85; transform:scale(1.04); }
}
@media (prefers-reduced-motion: reduce){
  .card--cristal{ animation:none; }
  .card--cristal::after{ animation:none; opacity:.4; }
}

/* ===== Confetti caindo sobre a foto do Azul Seleção (clima de festa) ===== */
.card--cristal .card__img-wrap{
  position:relative;
  overflow:hidden;
  line-height:0;
}
.card--cristal .card__img-wrap img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.confetti{
  position:absolute; inset:0;
  pointer-events:none;
  z-index:4;
}
.confetti span{
  position:absolute;
  top:-18%;
  left:calc(var(--i) * 6.8% + 1%);
  width:7px; height:11px;
  background:#ffd400;
  border-radius:1px;
  opacity:0;
  animation:confetti-fall calc(2.8s + var(--i) * 0.18s) linear infinite;
  animation-delay:calc(var(--i) * -0.35s);
  transform-origin:center;
  box-shadow:0 0 2px rgba(0,0,0,.15);
}
/* variação de cor (cores Brasil + branco/azul claro) */
.confetti span:nth-child(2n){ background:#009c3b; width:8px; height:8px; border-radius:50%; }
.confetti span:nth-child(3n){ background:#002776; }
.confetti span:nth-child(4n){ background:#ffffff; }
.confetti span:nth-child(5n){ background:#1e90ff; width:6px; height:6px; border-radius:50%; }
.confetti span:nth-child(7n){ background:#ffd400; width:5px; height:14px; }
.confetti span:nth-child(11n){ background:#00c853; width:9px; height:9px; border-radius:2px; }
@keyframes confetti-fall{
  0%   { transform:translateY(0) rotate(0deg)   translateX(0);    opacity:0; }
  8%   { opacity:1; }
  50%  { transform:translateY(120px) rotate(360deg) translateX(8px); }
  100% { transform:translateY(260px) rotate(720deg) translateX(-6px); opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  .confetti{ display:none; }
}

/* ===== trust grid (vitrine — "Compre com confiança") ===== */
.trust-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:16px;
}
.trust-item{
  background:#f7faf7;border:1px solid var(--cinza-2);border-radius:var(--radius);
  padding:20px;
}
.trust-item strong{display:block;color:var(--preto);font-size:1rem;margin-bottom:6px}
.trust-item p{margin:0;font-size:.9rem}
@media (max-width:900px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.trust-grid{grid-template-columns:1fr}}
