.axvp-wrap{
  width:100%;
  max-width:600px;
  margin:0 auto;
}

.axvp-player{
  --axvp-brand:#8B6CFF;
  --axvp-brand-soft:#B9A7FF;
  --axvp-brand-pink:#FF73D2;

  position:relative;
  width:100%;
  aspect-ratio:9 / 13.2;
  overflow:hidden;
  border-radius:18px;
  background:#07090f;

  border:1px solid rgba(255,255,255,.16);

  box-shadow:
    0 24px 70px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 36px rgba(139,108,255,.10);

  isolation:isolate;
}

.axvp-frame{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:inherit;
  background:#07090f;
  isolation:isolate;
}

.axvp-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    inset 0 0 32px rgba(0,0,0,.28);
}

.axvp-frame::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:34%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.55) 38%,
    rgba(0,0,0,.18) 72%,
    transparent 100%
  );
}

.axvp-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  background:#07090f;
}

.axvp-big-play{
  position:absolute !important;
  left:50%;
  top:50%;
  z-index:5;
  width:82px;
  height:82px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  cursor:pointer;

  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
    rgba(5,7,12,.78) !important;

  border:1px solid rgba(255,255,255,.12) !important;
  outline:none !important;

  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);

  box-shadow:
    inset .8px .8px 0 rgba(255,255,255,.16),
    inset -.8px -.8px 0 rgba(255,255,255,.05),
    0 14px 34px rgba(0,0,0,.48),
    0 0 26px rgba(139,108,255,.18) !important;

  transition:
    transform .22s ease,
    opacity .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}

.axvp-big-play svg{
  width:39px;
  height:39px;
  margin-left:5px;
  fill:#ffffff;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.32));
}

.axvp-player:hover .axvp-big-play{
  background:
    linear-gradient(180deg, rgba(185,167,255,.16), rgba(139,108,255,.08)),
    rgba(5,7,12,.82) !important;

  box-shadow:
    inset .8px .8px 0 rgba(185,167,255,.22),
    inset -.8px -.8px 0 rgba(255,115,210,.08),
    0 16px 40px rgba(0,0,0,.52),
    0 0 30px rgba(139,108,255,.34),
    0 0 54px rgba(255,115,210,.12) !important;
}

.axvp-player.is-playing .axvp-big-play{
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.92);
}

.axvp-bottom{
  position:absolute;
  left:22px;
  right:22px;
  bottom:17px;
  z-index:6;

  display:grid;
  grid-template-columns:26px auto 1fr auto 26px;
  align-items:center;
  gap:12px;
}

/* Strong reset for Elementor/theme button styles */
.axvp-player .axvp-play-btn,
.axvp-player .axvp-fullscreen{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;

  border:0 !important;
  border-radius:8px !important;
  padding:0 !important;
  margin:0 !important;

  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;

  color:#ffffff !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  cursor:pointer;
  opacity:.96;

  box-shadow:none !important;
  outline:none !important;

  appearance:none;
  -webkit-appearance:none;

  transition:
    opacity .18s ease,
    transform .18s ease,
    filter .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

/* Purple only on hover/focus/click */
.axvp-player .axvp-play-btn:hover,
.axvp-player .axvp-play-btn:focus-visible,
.axvp-player .axvp-fullscreen:hover,
.axvp-player .axvp-fullscreen:focus-visible{
  background:rgba(139,108,255,.18) !important;
  background-color:rgba(139,108,255,.18) !important;

  opacity:1;
  transform:scale(1.08);

  box-shadow:
    0 0 0 1px rgba(185,167,255,.22) inset,
    0 0 12px rgba(139,108,255,.45),
    0 0 22px rgba(255,115,210,.12) !important;

  filter:drop-shadow(0 0 7px rgba(139,108,255,.55));
}

.axvp-player .axvp-play-btn:active,
.axvp-player .axvp-fullscreen:active{
  background:rgba(139,108,255,.32) !important;
  background-color:rgba(139,108,255,.32) !important;

  transform:scale(.96);

  box-shadow:
    0 0 0 1px rgba(185,167,255,.35) inset,
    0 0 16px rgba(139,108,255,.58),
    0 0 28px rgba(255,115,210,.18) !important;
}

.axvp-play-btn svg{
  width:25px;
  height:25px;
  fill:currentColor;
  pointer-events:none;
}

.axvp-fullscreen svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

.axvp-icon-pause{
  display:none;
}

.axvp-player.is-playing .axvp-icon-play{
  display:none;
}

.axvp-player.is-playing .axvp-icon-pause{
  display:block;
}

.axvp-time{
  color:rgba(255,255,255,.88);
  font-size:13px;
  font-weight:600;
  line-height:1;
  letter-spacing:.01em;
  font-family:inherit;
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}

.axvp-progress{
  width:100%;
  height:18px;
  margin:0;
  padding:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  outline:none;

  --axvp-progress-value:0%;
}

.axvp-progress::-webkit-slider-runnable-track{
  height:4px;
  border-radius:999px;
  background:
    linear-gradient(
      to right,
      var(--axvp-brand) 0%,
      var(--axvp-brand-soft) var(--axvp-progress-value),
      rgba(255,255,255,.22) var(--axvp-progress-value),
      rgba(255,255,255,.22) 100%
    );
  box-shadow:
    0 0 10px rgba(139,108,255,.32),
    inset 0 0 0 1px rgba(255,255,255,.05);
}

.axvp-progress::-moz-range-track{
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}

.axvp-progress::-moz-range-progress{
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--axvp-brand), var(--axvp-brand-soft));
  box-shadow:0 0 10px rgba(139,108,255,.32);
}

.axvp-progress::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:13px;
  height:13px;
  border-radius:50%;
  margin-top:-4.5px;
  background:var(--axvp-brand);
  border:2px solid rgba(255,255,255,.82);
  box-shadow:
    0 0 0 4px rgba(139,108,255,.18),
    0 0 14px rgba(139,108,255,.82),
    0 2px 8px rgba(0,0,0,.38);
}

.axvp-progress::-moz-range-thumb{
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--axvp-brand);
  border:2px solid rgba(255,255,255,.82);
  box-shadow:
    0 0 0 4px rgba(139,108,255,.18),
    0 0 14px rgba(139,108,255,.82),
    0 2px 8px rgba(0,0,0,.38);
}

/* Fullscreen fix: keep the video frame vertical */
.axvp-player:fullscreen{
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:#05070f !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.axvp-player:-webkit-full-screen{
  width:100vw !important;
  height:100vh !important;
  max-width:none !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:#05070f !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.axvp-player:fullscreen .axvp-frame{
  width:min(100vw, calc(100vh * 9 / 13.2)) !important;
  height:min(100vh, calc(100vw * 13.2 / 9)) !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 36px rgba(139,108,255,.16) !important;
}

.axvp-player:-webkit-full-screen .axvp-frame{
  width:min(100vw, calc(100vh * 9 / 13.2)) !important;
  height:min(100vh, calc(100vw * 13.2 / 9)) !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 36px rgba(139,108,255,.16) !important;
}

.axvp-player:fullscreen .axvp-video,
.axvp-player:-webkit-full-screen .axvp-video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

@media(max-width:767px){
  .axvp-wrap{
    max-width:100%;
  }

  .axvp-player{
    border-radius:16px;
  }

  .axvp-big-play{
    width:70px;
    height:70px;
  }

  .axvp-big-play svg{
    width:34px;
    height:34px;
  }

  .axvp-bottom{
    left:16px;
    right:16px;
    bottom:14px;
    grid-template-columns:24px auto 1fr auto 24px;
    gap:9px;
  }

  .axvp-time{
    font-size:12px;
  }

  .axvp-player .axvp-play-btn,
  .axvp-player .axvp-fullscreen{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
    border-radius:7px !important;
  }

  .axvp-play-btn svg{
    width:23px;
    height:23px;
  }

  .axvp-fullscreen svg{
    width:21px;
    height:21px;
  }

  .axvp-player:fullscreen .axvp-frame,
  .axvp-player:-webkit-full-screen .axvp-frame{
    border-radius:16px !important;
  }
}




.axvp-player{--axvp-brand:#8B8BE4;--axvp-brand-soft:#B9B9F1;--axvp-brand-pink:#8B8BE4}
.axvp-wrap{max-width:none;margin:0;width:100%}
.axvp-player:not(.custom-ready) .axvp-big-play,.axvp-player:not(.custom-ready) .axvp-bottom,
.axvp-player.native-fallback .axvp-big-play,.axvp-player.native-fallback .axvp-bottom{display:none}
.axvp-player .axvp-progress{padding:0;border:0}
