/* VirtusVR — galeria + tracked points (frontend) */
.vptp-gallery,.vptp-points,.vptp-tracked-image,.vptp-bodymap,.vptp-price,.vptp-timer,.vptp-videos{
  --vptp-blue:#3a6bff;--vptp-cyan:#5ec9ff;--vptp-deep:#1730b8;
  --vptp-bg:#0a1020;--vptp-elev:#0c1428;--vptp-line:rgba(91,140,255,.16);
  --vptp-line-strong:rgba(120,170,255,.30);--vptp-text:#eef2fb;--vptp-dim:#94a1bf;
  font-family:inherit;color:var(--vptp-text);box-sizing:border-box;
}
.vptp-gallery *,.vptp-points *,.vptp-tracked-image *,.vptp-bodymap *,.vptp-price *{box-sizing:border-box}

/* ---------- BODY MAP ---------- */
.vptp-bodymap{text-align:center;padding:18px;border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(58,107,255,.10),transparent 55%),var(--vptp-elev);border:1px solid var(--vptp-line)}
.vptp-bm-title{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vptp-dim);margin-bottom:8px}
.vptp-bm-title b{color:var(--vptp-cyan);font-size:1rem;margin-left:4px;letter-spacing:0;text-transform:none}
.vptp-bm-stage{position:relative;display:inline-block;max-width:100%;line-height:0}
.vptp-bm-bg{display:block;max-width:100%;height:auto;border-radius:12px}
.vptp-bm-dots{position:absolute;inset:0;pointer-events:none}
.vptp-bm-dot{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;
  background:var(--vptp-cyan);color:#04060d;font-weight:800;font-size:.82rem;display:grid;place-items:center;line-height:1;
  box-shadow:0 0 0 3px rgba(94,201,255,.35),0 4px 10px rgba(0,0,0,.45)}
.vptp-bm-dot .vptp-bm-pulse{position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--vptp-cyan);opacity:.7;animation:vptpPulse 1.8s ease-out infinite}
@keyframes vptpPulse{0%{opacity:.6;transform:scale(.55)}70%{opacity:0;transform:scale(1.8)}100%{opacity:0;transform:scale(1.8)}}
@media(prefers-reduced-motion:reduce){.vptp-bm-dot .vptp-bm-pulse{animation:none}}
/* body map dentro da galeria: ocupa a altura do palco */
.vptp-stage .vptp-bm-stage{height:100%}
.vptp-stage .vptp-bm-bg{height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:0}

/* imagem que muda conforme o nº de trackers */
.vptp-tracked-image{border-radius:18px;overflow:hidden;border:1px solid var(--vptp-line);
  background:radial-gradient(circle at 50% 0%,rgba(58,107,255,.10),transparent 55%),var(--vptp-elev)}
.vptp-tracked-image .vptp-ti-img{width:100%;height:auto;display:block;transition:opacity .3s ease}

/* ---------- GALERIA ---------- */
.vptp-gallery{display:flex;flex-direction:column;gap:14px}
.vptp-gallery-row{display:flex;gap:16px;align-items:stretch}
.vptp-thumbs{display:flex;flex-direction:column;gap:12px;width:158px;flex-shrink:0}
.vptp-thumb{
  position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;cursor:pointer;
  padding:16px 14px;border-radius:16px;background:var(--vptp-bg);
  border:1px solid var(--vptp-line);color:var(--vptp-dim);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease;
  font:inherit;
}
.vptp-thumb b{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;
  font-weight:800;font-size:.9rem;color:var(--vptp-cyan);
  background:linear-gradient(135deg,rgba(58,107,255,.22),rgba(94,201,255,.06));
  border:1px solid rgba(94,201,255,.28);
}
.vptp-thumb .vptp-thumb-label{font-weight:600;font-size:.92rem;line-height:1.2;color:inherit}
.vptp-thumb .vptp-thumb-play{position:absolute;top:14px;right:14px;font-size:.7rem;color:var(--vptp-cyan);opacity:.8}
.vptp-thumb:hover{transform:translateY(-3px);border-color:var(--vptp-line-strong);color:#fff}
.vptp-thumb.active{
  color:#fff;border-color:rgba(94,201,255,.55);
  background:linear-gradient(150deg,rgba(58,107,255,.18),rgba(12,20,40,.9));
  box-shadow:0 22px 50px -28px rgba(58,107,255,.85),0 0 0 1px rgba(94,201,255,.18);
}
.vptp-thumb.active b{background:linear-gradient(135deg,var(--vptp-blue),var(--vptp-deep));color:#fff}

.vptp-stage{
  position:relative;flex:1;min-height:340px;border-radius:20px;overflow:hidden;
  background:radial-gradient(circle at 50% 0%,rgba(58,107,255,.10),transparent 55%),var(--vptp-elev);
  border:1px solid var(--vptp-line);display:flex;align-items:center;justify-content:center;
}
.vptp-slide{position:absolute;inset:0;display:none;align-items:center;justify-content:center}
.vptp-slide.active{display:flex;animation:vptpFade .4s ease}
@keyframes vptpFade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
.vptp-media{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s ease}
.vptp-slide video.vptp-media{object-fit:cover}
.vptp-caption{
  padding:16px 18px;border-radius:14px;text-align:left;
  background:var(--vptp-bg);border:1px solid var(--vptp-line);
}
.vptp-cap-title{margin:0 0 2px;font-size:1.05rem;font-weight:700;color:#fff}
.vptp-cap-hint{margin:0;font-size:.86rem;color:var(--vptp-dim)}

@media(max-width:760px){
  .vptp-gallery-row{flex-direction:column}
  .vptp-thumbs{flex-direction:row;width:auto;overflow-x:auto;padding-bottom:4px}
  .vptp-thumb{min-width:130px}
  .vptp-stage{min-height:300px}
}

/* ---------- PREÇO + SAVE ---------- */
.vptp-price{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0}
.vptp-price-now{font-family:'Unbounded','Inter',sans-serif;font-size:2.7rem;line-height:.9;font-weight:900;letter-spacing:-.035em;
  background:linear-gradient(180deg,#fff,#c8d6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.vptp-price-now small{font-size:.42em;font-weight:800;letter-spacing:0;margin-left:2px;vertical-align:baseline;opacity:.95;
  background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:#cfd9ff;color:#cfd9ff}
.vptp-price-meta{display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.vptp-price-old{color:var(--vptp-dim);text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(255,46,91,.5);font-size:1.05rem;line-height:1}
.vptp-price-save{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;
  color:#ffd93d;font-weight:900;font-size:.78rem;letter-spacing:.06em;padding:6px 10px;border-radius:8px;
  background:rgba(255,217,61,.12);border:1px solid rgba(255,217,61,.32)}

/* ---------- TRACKED POINTS ---------- */
.vptp-points{margin-top:18px}
.vptp-points-label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vptp-dim);margin-bottom:10px}
.vptp-points-label b{color:#fff;letter-spacing:0;text-transform:none;font-size:.95rem;margin-left:6px}
.vptp-points-row{display:flex;flex-wrap:wrap;gap:8px;position:relative;overflow:visible;z-index:1;margin-top:22px}
.vptp-chip{
  position:relative;overflow:visible;flex:1 1 54px;min-width:0;cursor:pointer;font:inherit;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:11px 4px;line-height:1;border-radius:12px;
  border:1px solid rgba(91,140,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  color:#94a1bf;font-weight:900;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .25s cubic-bezier(.22,.8,.25,1),border-color .25s,color .2s,transform .2s,box-shadow .25s;
}
.vptp-chip b{font-family:'Unbounded',sans-serif;font-size:1.04rem;font-weight:900;letter-spacing:-.02em}
.vptp-chip small{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.48rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.72;text-indent:.1em}
.vptp-chip:hover{transform:translateY(-2px);border-color:rgba(94,201,255,.45);background:linear-gradient(180deg, rgba(94,201,255,.10), rgba(58,107,255,.04));color:#fff;box-shadow:0 10px 20px -12px rgba(94,201,255,.5)}
.vptp-chip.active{color:#04060d;border-color:transparent;background:linear-gradient(135deg,#5ec9ff,#6b8fff);box-shadow:0 16px 30px -16px rgba(94,201,255,.9), inset 0 1px 0 rgba(255,255,255,.35)}
.vptp-chip[data-tag]{z-index:5}
.vptp-chip[data-tag]::after{
  content:attr(data-tag);position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  padding:2px 8px;border-radius:999px;background:linear-gradient(90deg, #ffd93d, #ff7a2d);
  color:#04060d;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.54rem;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase;text-indent:.12em;white-space:nowrap;z-index:10;
  box-shadow:0 6px 14px -6px rgba(255,217,61,.6);
}
.vptp-rec{
  display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;
  background:rgba(94,201,255,.06);border:1px solid var(--vptp-line);font-size:.9rem;color:var(--vptp-dim);
}
.vptp-rec[hidden]{display:none}
.vptp-rec-icon{font-size:1.15rem;line-height:1}
.vptp-rec-text b{color:#fff}

/* ---------- AVISO DE UPGRADE (ligado ao tracker) ---------- */
.vptp-upgrade{display:none;align-items:flex-start;gap:9px;margin:10px 0 4px;padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg, rgba(255,217,61,.13), rgba(94,201,255,.08));
  border:1px solid rgba(255,217,61,.28);color:#94a1bf;font-size:.74rem;line-height:1.4}
.vptp-upgrade.show{display:flex}
.vptp-upgrade[hidden]{display:none}
.vptp-upgrade::before{content:'';width:9px;height:9px;margin-top:5px;border-radius:50%;background:#ffd93d;box-shadow:0 0 12px rgba(255,217,61,.75);flex-shrink:0}
.vptp-upgrade b,.vptp-upgrade strong{color:#fff}
.vptp-upgrade strong{font-weight:900}

/* ---------- BADGES ---------- */
.vptp-badges{display:flex !important;gap:8px;flex-wrap:wrap;align-items:center !important;margin-bottom:14px}
.vptp-badge{box-sizing:border-box !important;display:inline-flex !important;align-items:center !important;align-self:center !important;justify-content:center;gap:9px;height:34px !important;min-height:34px !important;max-height:34px !important;margin:0 !important;padding:0 16px !important;border-radius:999px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1;white-space:nowrap;vertical-align:middle}
.vptp-badge>*{line-height:1;margin:0}
.vptp-badge .vptp-bdot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:vptpDot 1.4s ease-in-out infinite}
.vptp-badge.offer{background:linear-gradient(90deg,#3a6bff,#5ec9ff);color:#04060d;box-shadow:0 8px 22px -8px rgba(94,201,255,.6), inset 0 1px 0 rgba(255,255,255,.32)}
.vptp-badge.offer .vptp-bdot{background:#04060d;box-shadow:0 0 8px rgba(4,6,13,.4)}
.vptp-badge.stock{background:linear-gradient(90deg,#ff2e5b,#ff7a2d);box-shadow:0 8px 22px -8px rgba(255,46,91,.65), inset 0 1px 0 rgba(255,255,255,.22);animation:vptpStockPulse 1.6s ease-in-out infinite}
.vptp-badge.stock,.vptp-badge.stock *{color:#fff !important}
.vptp-badge.stock .vptp-bdot{background:#fff;box-shadow:0 0 10px rgba(255,255,255,.85)}
.vptp-badge .vptp-stock-n{font-size:inherit !important;line-height:1 !important;font-weight:900}
.vptp-badge[hidden]{display:none}
@keyframes vptpStockPulse{0%,100%{box-shadow:0 8px 22px -8px rgba(255,46,91,.65), inset 0 1px 0 rgba(255,255,255,.22)}50%{box-shadow:0 12px 32px -8px rgba(255,46,91,.95), inset 0 1px 0 rgba(255,255,255,.3)}}
@keyframes vptpDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

/* ---------- BOTÃO COMPRAR ---------- */
.vptp-buy{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  padding:18px 24px;border-radius:14px;text-decoration:none;text-align:center;
  background:linear-gradient(180deg,#3a6bff 0%,#1730b8 100%);color:#fff;font-weight:800;font-size:1.05rem;
  box-shadow:0 12px 30px -10px rgba(58,107,255,.7), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .2s ease,box-shadow .25s ease}
.vptp-buy:hover{transform:translateY(-2px);box-shadow:0 20px 44px -12px rgba(58,107,255,.9);color:#fff}
/* ---------- CONTADOR (promo) ---------- */
.vptp-timer{margin:6px 0;padding:18px;border-radius:16px;
  background:radial-gradient(circle at 0% 0%, rgba(255,122,45,.16), transparent 45%),linear-gradient(135deg, rgba(255,46,91,.13), rgba(255,122,45,.10));
  border:1px solid rgba(255,122,45,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.vptp-timer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#ffd93d;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.vptp-timer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.vptp-tbox{padding:11px 6px;border-radius:11px;background:linear-gradient(180deg, rgba(4,6,13,.85), rgba(4,6,13,.65));text-align:center;border:1px solid rgba(255,122,45,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.vptp-tnum{font-family:'JetBrains Mono',ui-monospace,monospace;color:#ff7a2d;font-size:1.25rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(255,122,45,.4)}
.vptp-tlbl{color:#5a657f;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;margin-top:6px;display:block}
/* ---------- VÍDEOS YOUTUBE ---------- */
.vptp-videos{--vcv-cyan:#5ec9ff;--vcv-blue:#3a6bff;--vcv-text:#e8ecf5;--vcv-dim:#94a1bf;--vcv-spring:cubic-bezier(.34,1.56,.64,1);display:block;margin-top:16px}
.vptp-videos .vcv-card{display:grid;grid-template-columns:.94fr 1.06fr;border:1px solid rgba(94,201,255,.2);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(94,201,255,.035),rgba(0,0,0,.22));box-shadow:0 18px 38px -26px rgba(94,201,255,.3)}
.vptp-videos .vcv-thumb{min-height:200px;position:relative;cursor:pointer;background-color:#071021;background-size:cover;background-position:center;background-repeat:no-repeat;display:grid;place-items:center;overflow:hidden}
.vptp-videos .vcv-thumb::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,13,.12),rgba(4,6,13,.58));z-index:1}
.vptp-videos .vcv-thumb::after{content:attr(data-watch);position:absolute;top:14px;right:14px;z-index:3;padding:6px 11px;border-radius:8px;background:rgba(255,46,91,.92);color:#fff;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.66rem;font-weight:900;letter-spacing:.14em;box-shadow:0 8px 20px -8px rgba(255,46,91,.7);transition:transform .25s var(--vcv-spring),box-shadow .25s}
.vptp-videos .vcv-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:4;display:none}
.vptp-videos .vcv-thumb.playing iframe{display:block}
.vptp-videos .vcv-thumb.playing .vcv-play,.vptp-videos .vcv-thumb.playing .vcv-label,.vptp-videos .vcv-thumb.playing::before,.vptp-videos .vcv-thumb.playing::after{display:none}
.vptp-videos .vcv-play{position:relative;z-index:2;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.1));border:2px solid rgba(255,255,255,.4);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-items:center;box-shadow:0 22px 50px -16px rgba(0,0,0,.7),0 0 0 6px rgba(255,255,255,.04),0 0 40px rgba(94,201,255,.35),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .3s var(--vcv-spring),background .25s,box-shadow .3s}
.vptp-videos .vcv-play::before{content:'';position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.28);animation:vcvRing 2.4s ease-out infinite;pointer-events:none}
@keyframes vcvRing{0%{transform:scale(1);opacity:1}100%{transform:scale(1.45);opacity:0}}
.vptp-videos .vcv-play svg{width:20px;height:20px;fill:#fff;margin-left:2px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.vptp-videos .vcv-thumb:hover .vcv-play{transform:scale(1.12);background:linear-gradient(135deg,rgba(94,201,255,.55),rgba(58,107,255,.3));box-shadow:0 28px 56px -14px rgba(0,0,0,.8),0 0 0 10px rgba(94,201,255,.14),0 0 70px rgba(94,201,255,.7)}
.vptp-videos .vcv-thumb:hover::after{transform:scale(1.08);box-shadow:0 12px 24px -6px rgba(255,46,91,.85)}
.vptp-videos .vcv-label{position:absolute;left:16px;bottom:16px;right:16px;z-index:2;padding:10px 12px;border-radius:12px;background:rgba(4,6,13,.72);border:1px solid rgba(255,255,255,.08);color:var(--vcv-text);font-weight:800;font-size:.82rem}
.vptp-videos .vcv-info{padding:14px 18px}
.vptp-videos .vcv-src{font-family:'JetBrains Mono',ui-monospace,monospace;color:var(--vcv-cyan);letter-spacing:.16em;font-size:.6rem;margin-bottom:5px;font-weight:700;text-transform:uppercase}
.vptp-videos .vcv-title{font-family:'Unbounded',sans-serif;font-size:1rem;line-height:1.1;margin:0 0 5px;color:#fff;letter-spacing:-.018em}
.vptp-videos .vcv-desc{color:var(--vcv-dim);font-size:.78rem;margin:0 0 8px;line-height:1.45}
.vptp-videos .vcv-switcher{display:flex;gap:6px;flex-wrap:nowrap;margin:10px 0 8px}
.vptp-videos .vcv-tab{flex:1;min-width:0;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 8px;border-radius:11px;border:1.5px solid rgba(94,201,255,.55);background:linear-gradient(180deg,rgba(94,201,255,.18),rgba(58,107,255,.06));color:#fff;font:inherit;font-size:.8rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .22s var(--vcv-spring),background .25s,border-color .25s,color .2s,box-shadow .3s;box-shadow:0 8px 18px -8px rgba(94,201,255,.6),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.15)}
.vptp-videos .vcv-tab::before{content:'\25B6';font-size:.6rem;color:var(--vcv-cyan);text-shadow:0 0 8px var(--vcv-cyan);transition:transform .25s var(--vcv-spring),color .25s}
.vptp-videos .vcv-tab:hover{transform:translateY(-3px);border-color:rgba(94,201,255,.95);background:linear-gradient(180deg,rgba(94,201,255,.32),rgba(58,107,255,.14));box-shadow:0 18px 30px -10px rgba(94,201,255,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.vptp-videos .vcv-tab:hover::before{transform:translateX(2px) scale(1.15)}
.vptp-videos .vcv-tab.active{color:#04060d;background:linear-gradient(135deg,var(--vcv-cyan),var(--vcv-blue));border-color:transparent;box-shadow:0 18px 34px -10px rgba(94,201,255,.95),inset 0 1px 0 rgba(255,255,255,.4)}
.vptp-videos .vcv-tab.active::before{color:#04060d;text-shadow:none}
.vptp-videos .vcv-points{display:flex;gap:10px;flex-wrap:wrap}
.vptp-videos .vcv-points span{padding:5px 10px;border-radius:999px;background:linear-gradient(180deg,rgba(94,201,255,.14),rgba(94,201,255,.05));border:1px solid rgba(94,201,255,.28);color:var(--vcv-cyan);font-size:.66rem;font-weight:800;letter-spacing:.02em}
@media(max-width:720px){.vptp-videos .vcv-card{grid-template-columns:1fr}}