/* Dova controls overlay the original 16:9 video; no frame space is added. */
.dova-video-card[data-dova-player],
.portal-premium .dova-video-card[data-dova-player] {
  --dova-player-accent: #7766ef;
  position: relative;
  padding: 0;
  background: #13182a;
  color: #f8f9ff;
  border-color: #dce1ef;
  isolation: isolate;
  font-family: inherit;
}
.dova-video-card[data-dova-player]::before { display: none; }
.dova-video-card.dova-player--native,
.portal-premium .dova-video-card.dova-player--native { padding: 0; }
.dova-player-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 5;
  height: 36px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: linear-gradient(180deg, rgba(8, 12, 27, .8), rgba(8, 12, 27, 0));
  pointer-events: none;
  transition: opacity .18s ease;
}
.dova-player-brand { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 12px; text-shadow: 0 1px 3px #000; }
.dova-player-brand strong { color: #fff; font-weight: 750; }
.dova-player-mark { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; color: #fff; background: rgba(110, 91, 226, .8); }
.dova-player-mark svg { width: 13px; height: 13px; }
.dova-player-tutorial { padding-left: 7px; border-left: 1px solid rgba(213, 214, 235, .4); color: #f4f4fa; font-size: 10px; font-weight: 500; }
.dova-player-voice { min-width: 0; color: #f4f4fa; font-size: 9px; line-height: 1.25; text-align: right; text-shadow: 0 1px 3px #000; }
.dova-player-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #06152a; }
.dova-video-card[data-dova-player] .dova-player-stage video { width: 100%; height: 100%; object-fit: contain; cursor: pointer; }
.dova-player-stage video::cue { color: #fff; background: rgba(8, 11, 23, .94); font-family: inherit; }
.dova-player-controls {
  position: absolute;
  inset: auto 0 0;
  z-index: 6;
  height: 70px;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: 28px 32px;
  padding: 5px 10px;
  background: linear-gradient(0deg, rgba(7, 11, 25, .93), rgba(7, 11, 25, .7) 74%, rgba(7, 11, 25, 0));
  transition: opacity .18s ease;
}
.dova-player-timeline { display: flex; align-items: center; gap: 8px; min-width: 0; }
.dova-player-time { min-width: 35px; color: #e5e8f7; font-size: 11px; font-variant-numeric: tabular-nums; text-align: center; line-height: 1; }
.dova-player-time:last-child { text-align: right; }
.dova-player-range { --dova-range-fill: 0%; appearance: none; -webkit-appearance: none; height: 28px; margin: 0; border: 0; border-radius: 5px; background: transparent; accent-color: #a49aff; cursor: pointer; touch-action: pan-y; }
.dova-player-range::-webkit-slider-runnable-track { height: 5px; border-radius: 6px; background: linear-gradient(to right, #a49aff 0 var(--dova-range-fill), #555d79 var(--dova-range-fill) 100%); }
.dova-player-range::-moz-range-track { height: 5px; border-radius: 6px; background: #555d79; }
.dova-player-range::-moz-range-progress { height: 5px; border-radius: 6px; background: #a49aff; }
.dova-player-range::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 12px; height: 12px; margin-top: -3.5px; border: 0; border-radius: 50%; background: #f5f3ff; box-shadow: 0 0 0 2px #7766ef; }
.dova-player-range::-moz-range-thumb { width: 12px; height: 12px; border: 0; border-radius: 50%; background: #f5f3ff; box-shadow: 0 0 0 2px #7766ef; }
.dova-player-range:disabled { cursor: default; opacity: .5; }
.dova-player-seek { min-width: 0; width: 100%; flex: 1; }
.dova-player-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; }
.dova-player-transport, .dova-player-settings, .dova-player-secondary { display: flex; align-items: center; gap: 4px; max-width: 100%; }
.dova-player-settings { margin-left: auto; }
.dova-player-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; min-height: 32px; margin: 0; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #f5f6ff; font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.dova-player-button svg { width: 20px; height: 20px; }
.dova-player-button:hover { background: rgba(120, 111, 163, .3); }
.dova-player-button:disabled { opacity: .42; cursor: default; }
.dova-player-button[aria-pressed="true"][data-dova-control="captions"] { color: #e2ddff; background: rgba(118, 101, 228, .45); border-color: rgba(165, 153, 247, .6); }
.dova-player-primary { background: rgba(108, 87, 226, .78); color: #fff; }
.dova-player-primary:hover { background: rgba(123, 105, 234, .9); }
.dova-player-volume { width: 54px; flex: 0 0 54px; }
.dova-player-speed { height: 32px; width: 58px; padding: 0 4px; border: 1px solid rgba(211, 210, 235, .3); border-radius: 7px; background: rgba(21, 27, 48, .5); color: #fff; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.dova-player-speed option { background: #252b42; color: #fff; }
.dova-player-button:focus-visible,
.dova-player-range:focus-visible,
.dova-player-speed:focus-visible { outline: 3px solid #bdb4ff; outline-offset: 2px; }
.dova-player-overlay { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(216, 209, 255, .5); border-radius: 50%; color: #fff; background: rgba(57, 42, 133, .64); box-shadow: 0 3px 18px rgba(0, 0, 0, .2); backdrop-filter: blur(5px); }
.dova-player-overlay:hover { background: rgba(99, 77, 200, .8); }
.dova-player-overlay svg { width: 23px; height: 23px; }
.dova-player-overlay-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dova-player-busy { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; background: rgba(10, 15, 31, .3); pointer-events: none; }
.dova-player-spinner { width: 38px; height: 38px; border: 3px solid #5d5778; border-top-color: #fff; border-radius: 50%; animation: dova-player-spin 1s linear infinite; }
.dova-player-message { position: absolute; z-index: 7; left: 10px; right: 10px; top: 38px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 8px 10px; border: 1px solid #606884; border-radius: 8px; background: rgba(19, 24, 44, .92); color: #fff; }
.dova-player-status { flex: 1 1 180px; margin: 0; color: #fff; font-size: 12px; line-height: 1.5; }
.dova-player-fallback { width: auto; min-height: 44px; padding: 0 10px; border-color: #9588f7; background: #3e356a; color: #fff; font-size: 12px; }
.dova-video-card[data-dova-player] [hidden] { display: none !important; }
.dova-video-card[data-dova-player]:fullscreen { width: 100%; height: 100%; max-width: none; margin: 0; border: 0; border-radius: 0; }
.dova-video-card[data-dova-player]:fullscreen .dova-player-stage { width: 100%; height: 100%; aspect-ratio: auto; }
.dova-video-card[data-dova-player]:fullscreen .dova-player-stage video { aspect-ratio: auto; }
.dova-player--controls-hidden .dova-player-header,
.dova-player--controls-hidden .dova-player-controls { opacity: 0; pointer-events: none; }
.dova-player--controls-hidden:focus-within .dova-player-header,
.dova-player--controls-hidden:focus-within .dova-player-controls { opacity: 1; pointer-events: auto; }
@media (max-width: 600px) {
  .dova-player-header { padding-inline: 10px; gap: 8px; }
  .dova-player-brand { gap: 6px; }
  .dova-player-tutorial { display: none; }
  .dova-player-voice { max-width: 160px; }
  .dova-player-controls { height: 90px; grid-template-rows: 44px 44px; padding: 1px 8px; }
  .dova-player-button { width: 44px; min-height: 44px; }
  .dova-player-range { height: 44px; }
  .dova-player-settings { gap: 3px; }
  .dova-player-secondary { position: absolute; bottom: calc(100% + 4px); right: 8px; gap: 4px; width: auto; max-width: calc(100% - 16px); padding: 6px 8px; border: 1px solid rgba(206, 201, 247, .35); border-radius: 9px; background: rgba(18, 23, 43, .94); box-shadow: 0 5px 20px rgba(0, 0, 0, .22); backdrop-filter: blur(7px); }
  .dova-player-volume { width: 48px; flex-basis: 48px; }
  .dova-player-speed { height: 44px; width: 58px; }
  .dova-player-overlay { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .dova-player-spinner { animation: none; }
  .dova-player-header, .dova-player-controls { transition: none; }
}
@keyframes dova-player-spin { to { transform: rotate(360deg); } }
