/* ============================================================
   PRODUTO V2 — versão final. Mobile-first (base = celular). Prefixo
   "pv2-" em tudo, isolado da versão estável. Princípio de cor: o verde
   de destaque aparece SÓ no preço e no botão de comprar — o resto da
   página fica neutro de propósito, pra não competir por atenção.
   ============================================================ */

.pv2-overlay{
  display:none;position:fixed;inset:0;z-index:9000;
  background:rgba(0,0,0,.6);overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.pv2-overlay.open{ display:block; }

.pv2-sheet{
  background:var(--bg);color:var(--ink);min-height:100vh;
  max-width:1180px;margin:0 auto;position:relative;padding-bottom:90px;
}

.pv2-close-btn{
  position:fixed;top:16px;right:16px;z-index:20;width:40px;height:40px;border-radius:50%;
  background:rgba(10,18,9,.75);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--ink);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;
}
.pv2-close-btn svg{ width:16px;height:16px; }
.pv2-close-btn:hover{ background:rgba(10,18,9,.95); }

.pv2-body{ padding:0 16px; }

@media (prefers-reduced-motion: no-preference){
  .pv2-anim{ animation:pv2FadeSlide .5s ease both; animation-delay:calc(var(--pv2-delay, 0) * 40ms); }
}
@keyframes pv2FadeSlide{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }

/* ── foco visível (acessibilidade) ── */
.pv2-overlay button:focus-visible,
.pv2-overlay [tabindex]:focus-visible{
  outline:2.5px solid var(--green-bright);outline-offset:2px;border-radius:8px;
}

/* ══════════════════ SKELETON (capa) ══════════════════ */
.pv2-skeleton{
  position:absolute;inset:0;background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2, #1c2e20) 50%, var(--surface) 75%);
  background-size:200% 100%;
}
@media (prefers-reduced-motion: no-preference){
  .pv2-skeleton{ animation:pv2Shimmer 1.4s ease-in-out infinite; }
}
@keyframes pv2Shimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }

/* ══════════════════ HERO ══════════════════ */
.pv2-hero{ padding:56px 0 20px; }
.pv2-hero-cover{
  position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-lg);aspect-ratio:16/10;margin-bottom:18px;
}
.pv2-hero-cover img{ position:relative;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease;z-index:1; }
.pv2-console-tag{
  position:absolute;top:12px;left:12px;z-index:2;background:rgba(10,18,9,.85);backdrop-filter:blur(6px);
  color:var(--ink);font-weight:800;font-size:.72rem;letter-spacing:.3px;
  padding:6px 12px;border-radius:100px;border:1px solid var(--line);
  display:flex;align-items:center;gap:6px;
}
.pv2-console-tag svg{ width:14px;height:14px; }
.pv2-eyebrow{ font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px; }
.pv2-title{ font-size:1.6rem;font-weight:900;line-height:1.1;margin:0 0 16px;letter-spacing:-.4px; }

.pv2-price-block{
  background:linear-gradient(135deg, rgba(82,208,23,.16), rgba(82,208,23,.03));
  border:1.5px solid rgba(82,208,23,.4);border-radius:14px;padding:16px 18px;margin-bottom:16px;
}
.pv2-price-tag{ display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;color:var(--green-bright);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px; }
.pv2-price-tag svg{ width:14px;height:14px; }
.pv2-pix-logo{ width:16px;height:16px;object-fit:contain;vertical-align:-3px; }
.pv2-price-pix{ font-size:2.1rem;font-weight:900;color:var(--green-4);line-height:1;letter-spacing:-.5px; }
.pv2-price-pix small{ font-size:.9rem;font-weight:700;color:var(--muted);margin-left:6px; }
.pv2-price-sub{ font-size:.78rem;color:var(--muted);font-weight:600;margin-top:6px; }
.pv2-price-play{
  display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--ink);font-weight:700;
  margin-top:10px;padding-top:10px;border-top:1px solid rgba(82,208,23,.25);
}
.pv2-price-play svg{ width:15px;height:15px;color:var(--green-bright);flex:none; }

.pv2-hero-actions{ display:flex;gap:10px;flex-wrap:wrap; }
.pv2-btn-comprar{
  flex:1 1 100%;background:linear-gradient(135deg, var(--green-1), var(--green-bright));
  color:#08260a;font-weight:900;font-size:1rem;border:none;border-radius:14px;
  padding:17px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 10px 26px rgba(82,208,23,.3);font-family:inherit;
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.pv2-btn-comprar svg{ width:19px;height:19px; }
.pv2-btn-comprar:hover{ transform:translateY(-2px);box-shadow:0 14px 32px rgba(82,208,23,.4); }
.pv2-btn-comprar:active{ transform:translateY(0);box-shadow:0 6px 16px rgba(82,208,23,.35); }
.pv2-btn-comprar:disabled{ opacity:.7;cursor:default;transform:none; }

.pv2-btn-trailer{
  flex:1;background:var(--surface);border:1.5px solid var(--line);color:var(--ink);
  font-weight:800;font-size:.88rem;border-radius:14px;padding:13px 14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;transition:.15s ease;
}
.pv2-btn-trailer svg{ width:15px;height:15px; }
.pv2-btn-trailer:hover{ border-color:#ff3b3b;background:rgba(255,59,59,.08);color:#ff3b3b; }

.pv2-btn-fav, .pv2-btn-share{
  width:48px;flex:none;background:var(--surface);border:1.5px solid var(--line);color:var(--muted);
  border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s ease;
}
.pv2-btn-fav svg, .pv2-btn-share svg{ width:17px;height:17px; }
.pv2-btn-fav:hover, .pv2-btn-share:hover{ border-color:var(--green-bright);color:var(--green-4); }
.pv2-btn-fav.active{ color:#ff4d6d;border-color:#ff4d6d; }

.pv2-link-whatsapp{
  display:block;width:100%;text-align:center;background:none;border:none;
  color:var(--muted);font-size:.78rem;font-weight:700;text-decoration:underline;
  padding:10px 0 4px;cursor:pointer;font-family:inherit;transition:color .15s ease;
}
.pv2-link-whatsapp:hover{ color:var(--ink); }

/* ══════════════════ SEÇÕES / CARDS ══════════════════ */
.pv2-section{ padding:0 0 26px; }
.pv2-section-head{ margin-bottom:12px; }
.pv2-section-head h2{ font-size:1.05rem;font-weight:800;margin:0;letter-spacing:-.2px; }
.pv2-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;box-shadow:var(--shadow);
}

/* ── confiança (3 linhas, neutras — sem verde aqui, o verde já foi usado no preço) ── */
.pv2-confianca{
  display:flex;flex-direction:column;gap:12px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;
}
.pv2-confianca-item{ display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;color:var(--ink); }
.pv2-confianca-item svg{ width:18px;height:18px;color:var(--muted);flex:none; }

/* ── entrega (destaque isolado — responde o maior medo do cliente) ── */
.pv2-entrega-card{ display:flex;align-items:flex-start;gap:14px; }
.pv2-entrega-icon{
  width:44px;height:44px;border-radius:12px;background:var(--surface-2, #1c2e20);
  display:flex;align-items:center;justify-content:center;flex:none;color:var(--green-bright);
}
.pv2-entrega-icon svg{ width:22px;height:22px; }
.pv2-entrega-card h3{ font-size:.92rem;font-weight:800;margin:0 0 4px; }
.pv2-entrega-card p{ font-size:.8rem;color:var(--muted);margin:0;line-height:1.5; }

/* ── como funciona (4 passos numerados) ── */
.pv2-passos-grid{ display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.pv2-passo-item{ text-align:center;position:relative; }
.pv2-passo-numero{
  position:absolute;top:-6px;left:calc(50% + 16px);width:20px;height:20px;border-radius:50%;
  background:var(--green-bright);color:#08260a;font-size:.68rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
}
.pv2-passo-icon{
  width:56px;height:56px;border-radius:50%;background:var(--surface-2, #1c2e20);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--ink);
}
.pv2-passo-icon svg{ width:22px;height:22px; }
.pv2-passo-item h4{ font-size:.82rem;font-weight:800;margin:0 0 4px; }
.pv2-passo-item p{ font-size:.72rem;color:var(--muted);margin:0;line-height:1.4; }

/* ── informações ── */
.pv2-info-grid{ display:flex;flex-direction:column; }
.pv2-info-item{ display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line); }
.pv2-info-item:last-child{ border-bottom:none; }
.pv2-info-icon{ width:34px;height:34px;border-radius:9px;background:var(--surface-2, #1c2e20);display:flex;align-items:center;justify-content:center;flex:none;color:var(--ink); }
.pv2-info-icon svg{ width:16px;height:16px; }
.pv2-info-label{ font-size:.66rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:block; }
.pv2-info-value{ font-size:.86rem;font-weight:700; }

/* ── trailer ── */
.pv2-trailer-player{
  position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;
  background:#000;box-shadow:var(--shadow-lg);
}
.pv2-trailer-player img{ width:100%;height:100%;object-fit:cover;opacity:.75; }
.pv2-trailer-player iframe{ width:100%;height:100%;border:0;position:relative;z-index:1;transition:opacity .25s ease; }
.pv2-trailer-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:rgba(255,0,0,.92);
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(255,0,0,.5);cursor:pointer;
  transition:transform .15s ease;
}
.pv2-trailer-play:hover{ transform:translate(-50%,-50%) scale(1.08); }
.pv2-trailer-play svg{ width:24px;height:24px;color:#fff;margin-left:3px; }
.pv2-trailer-duration{
  position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.75);color:#fff;
  font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px;
}
.pv2-trailer-loading{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;background:#0c0c0c;color:var(--muted);font-size:.8rem;font-weight:600;
  transition:opacity .25s ease;z-index:2;
}
.pv2-spinner{ width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--green-bright); }
@media (prefers-reduced-motion: no-preference){ .pv2-spinner{ animation:pv2Spin .8s linear infinite; } }
@keyframes pv2Spin{ to{ transform:rotate(360deg); } }

/* ── descrição ── */
.pv2-descricao{ font-size:.9rem;line-height:1.7;color:var(--ink);margin:0; }

/* ── depoimentos (fotos reais) ── */
.pv2-depoimentos-row{ display:flex;gap:10px;overflow-x:auto;padding-bottom:4px; }
.pv2-depoimentos-row img{ width:200px;height:auto;border-radius:12px;flex:none;box-shadow:var(--shadow); }

/* ── FAQ ── */
.pv2-faq-item{ border-bottom:1px solid var(--line); }
.pv2-faq-item:last-child{ border-bottom:none; }
.pv2-faq-q{
  width:100%;background:none;border:none;color:var(--ink);text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  font-weight:800;font-size:.86rem;cursor:pointer;padding:14px 2px;font-family:inherit;
}
.pv2-faq-chevron{ flex:none;transition:transform .2s ease;color:var(--muted); }
.pv2-faq-chevron svg{ width:16px;height:16px; }
.pv2-faq-q.open .pv2-faq-chevron{ transform:rotate(180deg);color:var(--green-bright); }
.pv2-faq-a{ display:none;font-size:.8rem;color:var(--muted);line-height:1.6;padding:0 2px 14px; }
.pv2-faq-a.open{ display:block; }

/* ── relacionados ── */
.pv2-relacionados-row{ display:flex;gap:12px;overflow-x:auto;padding-bottom:4px; }
.pv2-rel-card{ flex:none;width:130px;cursor:pointer;transition:transform .15s ease; }
.pv2-rel-card:hover{ transform:translateY(-3px); }
.pv2-rel-card img{ width:130px;height:173px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow);margin-bottom:6px; }
.pv2-rel-card h5{ font-size:.74rem;font-weight:700;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.pv2-rel-card span{ font-size:.72rem;color:var(--green-4);font-weight:800; }

/* ══════════════════ TOAST (confirmação de clique) ══════════════════ */
.pv2-toast{
  position:fixed;bottom:100px;left:50%;transform:translate(-50%,10px);z-index:9600;
  background:rgba(10,18,9,.95);color:var(--ink);border:1px solid var(--line);
  padding:10px 18px;border-radius:100px;font-size:.8rem;font-weight:700;
  opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:8px;
}
.pv2-toast-icon{ display:flex;width:15px;height:15px;color:var(--green-bright);flex:none; }
.pv2-toast-icon svg{ width:100%;height:100%; }
.pv2-toast.show{ opacity:1;transform:translate(-50%,0); }

/* ══════════════════ BARRA FIXA MOBILE ══════════════════ */
.pv2-mobile-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:9500;
  display:flex;gap:10px;align-items:center;
  background:rgba(10,18,9,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px rgba(0,0,0,.4);
}
.pv2-mb-fav, .pv2-mb-trailer{
  width:46px;height:46px;border-radius:13px;background:var(--surface);border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;flex:none;font-family:inherit;cursor:pointer;color:var(--ink);
}
.pv2-mb-fav svg, .pv2-mb-trailer svg{ width:18px;height:18px; }
.pv2-mb-fav.active{ color:#ff4d6d;border-color:#ff4d6d; }
.pv2-mb-trailer{ color:#ff3b3b; }
.pv2-mb-buy{
  flex:1;height:50px;border-radius:13px;background:linear-gradient(135deg, var(--green-1), var(--green-bright));
  color:#08260a;font-weight:900;font-size:.92rem;border:none;display:flex;align-items:center;justify-content:center;
  gap:8px;font-family:inherit;cursor:pointer;
}
.pv2-mb-buy svg{ width:17px;height:17px; }

/* ══════════════════ DESKTOP ══════════════════ */
@media (min-width: 861px){
  .pv2-body{ padding:0 32px; }
  .pv2-hero{ display:grid;grid-template-columns:380px 1fr;gap:40px;padding:64px 0 40px;align-items:start; }
  .pv2-hero-info{ display:flex;flex-direction:column;height:100%;justify-content:space-between; }
  .pv2-hero-cover{ aspect-ratio:3/4;margin-bottom:0; }
  .pv2-title{ font-size:2.4rem; }
  .pv2-price-pix{ font-size:2.8rem; }
  .pv2-hero-actions{ flex-wrap:nowrap; }
  .pv2-btn-comprar{ flex:1.6 1 auto; }
  .pv2-confianca{ flex-direction:row;justify-content:space-between;flex-wrap:wrap; }
  .pv2-passos-grid{ grid-template-columns:repeat(4,1fr); }
  .pv2-info-grid{ display:grid;grid-template-columns:1fr 1fr;gap:0 24px; }
  .pv2-info-item{ border-bottom:1px solid var(--line); }
  .pv2-mobile-bar{ display:none; }
}
