/* skin-95 — Apex Motors */

.wpopw-vw {
  --vw-font: 'Jost';
  --vw-graphite: #15171a;
  --vw-graphite-2: #0d0e10;
  --vw-red: var(--wpopw-accent, #e1142d);
  --vw-red-2: #ff3146;
  --vw-silver: #c7ccd2;
  --vw-metal: #9aa1ab;
  --vw-green: #25d366;
}

/* =========================================================
   LAUNCHER
   ========================================================= */
.wpopw-vw .vw-launcher {
  position: fixed; right: 24px; bottom: 24px;
  width: 72px; height: 72px;
  cursor: pointer; border: none; padding: 0;
  z-index: 2147483000;
  background: var(--vw-graphite);
  border-radius: 16px 16px 16px 4px;
  box-shadow: 0 14px 38px rgba(225,20,45,0.3), 0 4px 14px rgba(0,0,0,.65), inset 0 0 0 1px rgba(199,204,210,.16);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
  animation: vw-launch-in .5s cubic-bezier(.2,.9,.25,1) both;
  overflow: visible;
}
@keyframes vw-launch-in { from { transform: translateY(16px) scale(.5); opacity: 0; } to { transform: none; opacity: 1; } }
.wpopw-vw .vw-launcher:hover { transform: translateY(-3px) scale(1.05); }
.wpopw-vw .vw-launcher.vw-hidden { opacity: 0; transform: scale(.4); pointer-events: none; }
/* metallic sheen sweep (was .vw-launcher__sheen) */
.wpopw-vw .vw-launcher__ring2 {
  position: absolute; inset: 0; border-radius: inherit; overflow: hidden; z-index: 2; pointer-events: none;
}
.wpopw-vw .vw-launcher__ring2::after {
  content: ""; position: absolute; top: -60%; left: -40%;
  width: 40%; height: 220%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  transform: rotate(20deg);
  animation: vw-shine 3.4s ease-in-out infinite;
}
@keyframes vw-shine { 0% { left: -50%; } 55%,100% { left: 130%; } }
/* pulsing red ring */
.wpopw-vw .vw-launcher__ring {
  position: absolute; inset: -4px; border-radius: 18px 18px 18px 6px;
  border: 2px solid var(--vw-red); z-index: -1;
  animation: vw-pulse 2s ease-out infinite;
}
@keyframes vw-pulse {
  0% { transform: scale(1); opacity: .7; }
  70% { transform: scale(1.3); opacity: 0; }
  100% { transform: scale(1.3); opacity: 0; }
}
.wpopw-vw .vw-launcher__media {
  position: absolute; inset: 4px; width: calc(100% - 8px); height: calc(100% - 8px);
  object-fit: cover; object-position: center 20%; border-radius: 12px 12px 12px 2px; z-index: 1;
}
.wpopw-vw .vw-launcher__badge {
  position: absolute; top: -4px; right: -4px;
  width: 24px; height: 24px;
  background: var(--vw-red); color: #fff;
  border-radius: 50%; font-size: 12px; font-weight: 700;
  display: grid; place-items: center; z-index: 4;
  border: 2px solid var(--vw-graphite);
  box-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.wpopw-vw .vw-launcher__play {
  position: absolute; inset: 0; display: grid; place-items: center;
  z-index: 3; color: #fff; pointer-events: none;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.7));
}
.wpopw-vw .vw-launcher__play svg { width: 20px; height: 20px; }

/* Tooltip */
.wpopw-vw .vw-tooltip {
  position: fixed; right: 108px; bottom: 36px;
  max-width: 234px;
  background: var(--vw-graphite); color: #eef1f4;
  font-size: 13.5px; line-height: 1.4; font-weight: 500;
  padding: 13px 38px 13px 15px;
  border-radius: 12px 12px 4px 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,.55), inset 0 0 0 1px rgba(199,204,210,.14);
  z-index: 2147483000;
  transition: opacity .3s ease, transform .3s ease;
}
.wpopw-vw .vw-tooltip::after {
  content: ""; position: absolute; right: -7px; bottom: 14px;
  border: 8px solid transparent; border-left-color: var(--vw-graphite); border-right: 0;
}
.wpopw-vw .vw-tooltip strong { color: var(--vw-red); font-weight: 700; }
.wpopw-vw .vw-tooltip.vw-hidden { opacity: 0; transform: translateX(12px); pointer-events: none; }
.wpopw-vw .vw-tooltip__close {
  position: absolute; top: 5px; right: 8px; border: none; background: transparent;
  color: var(--vw-metal); font-size: 17px; cursor: pointer; line-height: 1; padding: 2px;
}

/* =========================================================
   PANEL
   ========================================================= */
.wpopw-vw .vw-panel {
  position: fixed; right: 22px; bottom: 22px;
  width: 380px; height: min(660px, calc(100dvh - 40px));
  border-radius: 22px 22px 22px 6px;
  overflow: hidden; z-index: 2147483001;
  background: var(--wpopw-panel-bg, #000);
  box-shadow: 0 30px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(199,204,210,.1);
  opacity: 0; transform: translateY(24px) scale(.96); pointer-events: none;
  transition: opacity .32s ease, transform .35s cubic-bezier(.2,.8,.2,1);
}
.wpopw-vw .vw-panel.vw-open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }

.wpopw-vw .vw-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; background: #000; cursor: pointer;
}

.wpopw-vw .vw-scrim-top {
  position: absolute; top: 0; left: 0; right: 0; height: 120px;
  background: linear-gradient(to bottom, rgba(0,0,0,.62), transparent);
  pointer-events: none; z-index: 2;
}
.wpopw-vw .vw-scrim-bottom {
  position: absolute; left: 0; right: 0; bottom: 0; height: 64%;
  background: linear-gradient(to top, rgba(13,14,16,.96) 0%, rgba(13,14,16,.82) 32%, rgba(13,14,16,.32) 64%, transparent 100%);
  pointer-events: none; z-index: 2;
}
/* red speed accent across top */
.wpopw-vw .vw-panel__fx {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--vw-red), var(--vw-red-2), transparent 70%);
  z-index: 8; pointer-events: none;
}

/* Top bar */
.wpopw-vw .vw-top {
  position: absolute; top: 16px; left: 14px; right: 14px;
  display: flex; align-items: center; justify-content: space-between; z-index: 6;
}
.wpopw-vw .vw-brand {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700;
  color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.7); pointer-events: none;
  transition: opacity .3s ease, transform .3s ease;
}
.wpopw-vw .vw-brand.vw-q-hidden { opacity: 0; transform: translateY(-10px); }
.wpopw-vw .vw-brand__logo {
  width: 30px; height: 30px; border-radius: 9px 9px 9px 2px;
  background: var(--vw-graphite);
  display: grid; place-items: center;
  box-shadow: inset 0 0 0 1px rgba(199,204,210,.2);
}
.wpopw-vw .vw-brand__logo svg { width: 20px; height: 20px; color: var(--vw-red); }
.wpopw-vw .vw-brand__logo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.wpopw-vw .vw-brand__name { font-weight: 700; font-size: 14px; letter-spacing: .16em; text-transform: uppercase; }
.wpopw-vw .vw-brand__name small { display: block; font-size: 10px; font-weight: 500; letter-spacing: .1em; color: var(--vw-red); }
.wpopw-vw .vw-top__actions { display: flex; gap: 8px; }
.wpopw-vw .vw-iconbtn {
  width: 40px; height: 40px; border-radius: 10px;
  border: 1px solid rgba(199,204,210,.2);
  background: rgba(13,14,16,.5);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  color: #fff; cursor: pointer; display: grid; place-items: center;
  transition: background .2s ease, transform .15s ease, border-color .2s ease;
}
.wpopw-vw .vw-iconbtn:hover { background: var(--vw-red); border-color: var(--vw-red); transform: scale(1.06); }
.wpopw-vw .vw-iconbtn:active { transform: scale(.94); }
.wpopw-vw .vw-iconbtn svg { width: 19px; height: 19px; display: block; }

/* Center play/pause */
.wpopw-vw .vw-centerbtn {
  position: absolute; top: 50%; left: 50%;
  width: 78px; height: 78px; border-radius: 50%;
  border: none;
  background: rgba(225,20,45,.94); color: #fff;
  display: grid; place-items: center; cursor: pointer;
  z-index: 5;
  box-shadow: 0 8px 30px rgba(225,20,45,.55), inset 0 0 0 2px rgba(255,255,255,.18);
  transform: translate(-50%,-50%);
  transition: opacity .25s ease, transform .25s ease;
}
.wpopw-vw .vw-centerbtn svg { width: 32px; height: 32px; margin-left: 2px; }
.wpopw-vw .vw-centerbtn:hover { transform: translate(-50%,-50%) scale(1.05); }
.wpopw-vw .vw-centerbtn.vw-faded { opacity: 0; pointer-events: none; transform: translate(-50%,-50%) scale(.7); }

/* Progress bar */
.wpopw-vw .vw-progress {
  position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
  background: rgba(255,255,255,.14); z-index: 7; cursor: pointer;
}
.wpopw-vw .vw-progress__fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--vw-red), var(--vw-red-2));
  box-shadow: 0 0 10px rgba(225,20,45,.7);
  transition: width .12s linear;
}

/* Bottom content */
.wpopw-vw .vw-bottom {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 0 16px 20px; z-index: 6;
  display: flex; flex-direction: column; gap: 13px;
}
.wpopw-vw .vw-overlay-text {
  display: flex; flex-direction: column; gap: 13px;
  transition: opacity .3s ease, transform .3s ease;
}
.wpopw-vw .vw-overlay-text.vw-q-hidden { opacity: 0; transform: translateY(16px); pointer-events: none; }
.wpopw-vw .vw-headline {
  font-size: 17px; font-weight: 600; margin: 0; line-height: 1.25;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,.7);
}
.wpopw-vw .vw-headline span { color: var(--vw-red); }

.wpopw-vw .vw-questions { display: flex; flex-wrap: wrap; gap: 8px; transition: opacity .3s ease, transform .3s ease; }
.wpopw-vw .vw-questions.vw-q-hidden { opacity: 0; transform: translateY(16px); pointer-events: none; }
.wpopw-vw .vw-pill {
  font-family: inherit; font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
  color: #fff;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(199,204,210,.22);
  padding: 9px 14px;
  border-radius: 8px 8px 8px 2px;
  cursor: pointer; white-space: nowrap;
  transition: all .18s ease;
}
.wpopw-vw .vw-pill:hover { background: rgba(225,20,45,.18); border-color: var(--vw-red); transform: translateY(-2px); }
.wpopw-vw .vw-pill.vw-active {
  background: linear-gradient(120deg, var(--vw-red), var(--vw-red-2));
  border-color: transparent; color: #fff;
  box-shadow: 0 5px 16px rgba(225,20,45,.45);
}

.wpopw-vw .vw-ctas { display: flex; gap: 10px; }
.wpopw-vw .vw-cta {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: .03em;
  text-decoration: none; padding: 14px 10px; border-radius: 10px; cursor: pointer;
  transition: transform .15s ease, filter .2s ease;
}
.wpopw-vw .vw-cta:hover { transform: translateY(-2px); filter: brightness(1.07); }
.wpopw-vw .vw-cta:active { transform: scale(.97); }
.wpopw-vw .vw-cta svg { width: 18px; height: 18px; flex: none; }
.wpopw-vw .vw-cta--wa { background: var(--wpopw-wa, #25d366); color: #04340f; box-shadow: 0 8px 22px rgba(37,211,102,.4); }
.wpopw-vw .vw-cta--call {
  background: var(--wpopw-call, #e1142d); color: #fff;
  box-shadow: 0 8px 22px rgba(225,20,45,.42);
}

@media (max-width: 480px) {
  .wpopw-vw .vw-panel { right: 0; bottom: 0; left: 0; top: 0; width: 100%; height: 100dvh; border-radius: 0; }
  .wpopw-vw .vw-launcher { right: 18px; bottom: 18px; }
  .wpopw-vw .vw-tooltip { right: 100px; bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .wpopw-vw .vw-launcher__ring, .wpopw-vw .vw-launcher__ring2::after { animation: none; }
}
