/* Plyr player — uses site theme vars (--c-accent from theme-css.php) */
.dp-player-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 16px;
  background: var(--c-bg, #0b0f1a);
  z-index: 2;
  clear: both;
  overflow: hidden;
  container-type: inline-size;
  container-name: dp-player;
}
.dp-player-wrap > .dp-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.dp-player-wrap--loading .dp-player .plyr__control--overlaid {
  opacity: 0;
  pointer-events: none;
}
.dp-player {
  position: relative;
  width: 100%;
  background: var(--c-bg, #0b0f1a);
  overflow: hidden;
}
.dp-player__video {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  background: var(--c-bg, #0b0f1a);
  vertical-align: top;
}
.dp-player .plyr {
  --plyr-color-main: var(--c-accent, #f56c08);
  --plyr-video-background: var(--c-bg, #0b0f1a);
  --plyr-menu-background: rgba(11, 15, 26, 0.96);
  --plyr-menu-color: #f4f6ff;
  --plyr-control-icon-size: 18px;
  --plyr-control-spacing: 10px;
  --plyr-control-radius: 4px;
  --plyr-range-thumb-height: 14px;
  --plyr-range-track-height: 4px;
  --plyr-font-family: inherit;
  width: 100%;
  border-radius: 0;
}
.dp-player .plyr--video {
  height: auto;
}
.dp-player .plyr--video .plyr__control.plyr__control--overlaid {
  background: var(--c-accent, #f56c08);
  color: #fff;
  padding: 22px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.dp-player .plyr--video .plyr__control.plyr__control--overlaid:hover,
.dp-player .plyr--video .plyr__control.plyr__control--overlaid:focus {
  background: var(--c-accent-hot, #fc5729);
}
.dp-player .plyr--full-ui input[type=range] {
  color: var(--c-accent, #f56c08);
}
.dp-player .plyr__controls {
  background: linear-gradient(transparent, rgba(8, 12, 24, 0.92));
  padding: 12px 10px 8px;
}
.dp-player .plyr__control:hover {
  background: rgba(var(--c-accent-rgb, 245, 108, 8), 0.28);
}
.dp-player .plyr__control--overlaid svg {
  fill: #fff;
}
.dp-player .plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: var(--c-accent, #f56c08);
}
/* Native fullscreen — fill device screen on mobile */
.dp-player .plyr:fullscreen,
.dp-player .plyr:-webkit-full-screen,
.dp-player .plyr--fullscreen-fallback {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  z-index: 2147483647;
}
.dp-player .plyr:fullscreen video,
.dp-player .plyr:-webkit-full-screen video,
.dp-player .plyr--fullscreen-fallback video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
video:fullscreen,
video:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  background: #000;
}
/* Keep related/grid content below the player */
.video-bottom-content,
.row.h,
.portfolio-item {
  position: relative;
  z-index: 1;
}

.dp-player-wrap > .dp-player__loading{
  position:absolute;inset:0;z-index:40;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(11,15,26,.72);
  pointer-events:none;
}
.dp-player__loading[hidden]{display:none!important;}
.dp-player__loading.is-on{display:flex!important;}
.dp-player__spinner{
  width:46px;height:46px;margin:0 0 14px;
  border:3px solid rgba(255,255,255,.22);
  border-top-color:var(--c-accent, #f56c08);
  border-radius:50%;
  animation:dp-load-spin .85s linear infinite;
}
.dp-player__loading-text{
  color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
  animation:dp-load-pulse 1.1s ease-in-out infinite;
}
@keyframes dp-load-spin{to{transform:rotate(360deg)}}
@keyframes dp-load-pulse{
  0%,100%{opacity:.75}
  50%{opacity:1}
}

.dp-player-wrap > .dp-preroll {
  position: absolute;
  inset: 0;
  z-index: 45;
  background: #000;
  overflow: hidden;
  pointer-events: auto;
}
.dp-preroll[hidden] {
  display: none !important;
}
.dp-preroll__stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.dp-preroll__hit {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
.dp-preroll__creative {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.dp-preroll__creative--js {
  pointer-events: auto;
}
.dp-preroll__creative iframe,
.dp-preroll__creative img,
.dp-preroll__creative video {
  max-width: 100%;
  max-height: 100%;
}
.dp-preroll__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: #000;
  pointer-events: none;
}
.dp-player-wrap > .dp-preroll .dp-preroll__skip {
  position: absolute;
  right: 3%;
  bottom: 3%;
  top: auto;
  left: auto;
  z-index: 4;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-radius: 4px;
  padding: clamp(10px, 2.4cqw, 16px) clamp(16px, 4.8cqw, 32px);
  font-size: clamp(15px, 3.6cqw, 22px);
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  color: #fff;
  background: rgba(15, 15, 15, 0.88);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.55);
  min-height: clamp(40px, 9cqw, 52px);
}
.dp-preroll__skip:disabled {
  opacity: 0.9;
  cursor: not-allowed;
}
.dp-preroll__skip:not(:disabled):hover {
  background: rgba(30, 30, 30, 0.96);
  border-color: #fff;
}
@supports not (font-size: 1cqw) {
  .dp-player-wrap > .dp-preroll .dp-preroll__skip {
    font-size: clamp(15px, 2.8vw, 22px);
    padding: 12px 22px;
    min-height: 44px;
  }
}
.dp-player-wrap--preroll .dp-player .plyr__control--overlaid,
.dp-player-wrap--preroll .dp-player .plyr__controls {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.dp-preroll--hijack {
  background: transparent !important;
  pointer-events: none;
}
.dp-preroll--hijack .dp-preroll__stage {
  display: none !important;
}
.dp-preroll--hijack .dp-preroll__skip {
  pointer-events: auto;
}
.dp-player-wrap--preroll-hijack .dp-player .plyr__control--overlaid {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
