/* Shared skin for the existing GTV playback engines. */
.gtv-modern-player { --gtv-accent: #00adef; position: relative; border-radius: 12px; background: #080b10 !important; overflow: hidden; isolation: isolate; }
.gtv-modern-player video { object-fit: contain; background: #080b10; }
.gtv-modern-player .mejs__controls, .gtv-modern-player .mejs-controls,
.gtv-modern-player .vjs-control-bar, .gtv-modern-player .fluid_controls_container {
  background: rgba(20, 29, 33, .64) !important;
  box-sizing: border-box; min-height: 44px;
}

/* Transparent transport bar, inspired by the supplied Vimeo reference.
   Keep each engine's controls and menus so playback/ad handlers remain intact. */
.gtv-modern-player { --gtv-glass: rgba(24, 34, 37, .68); }
.gtv-modern-player .mejs__controls:not([style*="display: none"]),
.gtv-modern-player .mejs-controls:not([style*="display: none"]),
.gtv-modern-player .vjs-control-bar {
  left: 14px; right: 14px; bottom: 14px; width: auto;
  height: 48px; min-height: 48px; padding: 0 10px 0 0;
  align-items: center; border: 0; background: transparent !important;
  overflow: visible; gap: 2px;
}
.gtv-modern-player .mejs__controls::before,
.gtv-modern-player .mejs-controls::before,
.gtv-modern-player .vjs-control-bar::before {
  content: ''; position: absolute; inset: 0 0 0 64px;
  background: var(--gtv-glass); border: 1px solid rgba(255,255,255,.25);
  border-radius: 7px; box-shadow: 0 2px 12px rgba(0,0,0,.16);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  z-index: -1; pointer-events: none;
}
.gtv-modern-player .mejs__controls,
.gtv-modern-player .mejs-controls,
.gtv-modern-player .vjs-control-bar { isolation: isolate; }
.gtv-modern-player .mejs__playpause-button,
.gtv-modern-player .mejs-playpause-button,
.gtv-modern-player .vjs-play-control {
  flex: 0 0 54px; width: 54px; height: 48px; margin-right: 16px;
  border: 1px solid rgba(255,255,255,.3); border-radius: 7px;
  background: var(--gtv-glass); box-shadow: 0 2px 12px rgba(0,0,0,.16);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  transition: background-color .15s ease;
}
.gtv-modern-player .mejs__playpause-button:hover,
.gtv-modern-player .mejs-playpause-button:hover,
.gtv-modern-player .vjs-play-control:hover { background: var(--gtv-accent); }
.gtv-modern-player .mejs__playpause-button > button,
.gtv-modern-player .mejs-playpause-button > button { margin: 13px 16px; }
.gtv-modern-player .mejs__play > button,
.gtv-modern-player .mejs-play > button {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M6 3v18l15-9z'/%3E%3C/svg%3E") center / 22px 22px no-repeat !important;
}
.gtv-modern-player .mejs__pause > button,
.gtv-modern-player .mejs-pause > button {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M5 3h5v18H5zm9 0h5v18h-5z'/%3E%3C/svg%3E") center / 22px 22px no-repeat !important;
}
.gtv-modern-player .vjs-play-control .vjs-icon-placeholder::before { line-height: 46px; font-size: 25px; }
.gtv-modern-player .mejs__time, .gtv-modern-player .mejs-time { color: #fff; font-size: 12px; font-variant-numeric: tabular-nums; }
.gtv-modern-player .mejs__time-rail { min-width: 32px; }
.gtv-modern-player .mejs__time-total,
.gtv-modern-player .mejs-time-total,
.gtv-modern-player .vjs-progress-holder { background: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); border-radius: 2px; }
.gtv-modern-player .mejs__time-total,
.gtv-modern-player .mejs__time-current,
.gtv-modern-player .mejs__time-loaded,
.gtv-modern-player .mejs__time-hovered,
.gtv-modern-player .mejs__time-buffering { height: 8px; border-radius: 2px; }
.gtv-modern-player .mejs__time-current, .gtv-modern-player .vjs-play-progress,
.gtv-modern-player .fluid_controls_currentprogress { background: linear-gradient(#16c6f4, #00a5db) !important; }
.gtv-modern-player .mejs__time-loaded, .gtv-modern-player .vjs-load-progress,
.gtv-modern-player .vjs-load-progress div { background: rgba(255,255,255,.25); }
.gtv-modern-player .mejs__time-handle-content { border-width: 5px; top: -2px; }
.gtv-modern-player .mejs__time-float { background: #fff; color: #182126; border: 0; border-radius: 3px; box-shadow: 0 2px 5px #0004; }
.gtv-modern-player .mejs__time-float-corner { border-top-color: #fff; }
.gtv-modern-player .mejs__horizontal-volume-current,
.gtv-modern-player .mejs__volume-current, .gtv-modern-player .vjs-volume-level,
.gtv-modern-player .fluid_control_currentvolume { background: var(--gtv-accent); }
.gtv-modern-player .mejs__overlay-play .mejs__overlay-button,
.gtv-modern-player .vjs-big-play-button,
.gtv-modern-player .fluid_initial_play {
  background-color: var(--gtv-glass); border: 1px solid rgba(255,255,255,.3);
  border-radius: 12px; box-shadow: 0 4px 24px #0003;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.gtv-modern-player .mejs__overlay-play:hover .mejs__overlay-button,
.gtv-modern-player .vjs-big-play-button:hover,
.gtv-modern-player .fluid_initial_play:hover { background-color: var(--gtv-accent); }
.gtv-modern-player .fluid_controls_container {
  left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important;
  border: 1px solid rgba(255,255,255,.25); border-radius: 7px;
  background: var(--gtv-glass) !important;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.gtv-modern-player .fluid_controls_left .fluid_button:hover { background-color: var(--gtv-accent); border-radius: 4px; }
.gtv-modern-player .gtv-player-button { background: var(--gtv-glass); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.gtv-modern-player .gtv-player-button:hover,
.gtv-modern-player .gtv-player-button[aria-pressed="true"] { background: #009dcc; }
/* Compact transport: retain volume, quality and fullscreen, and give seek room. */
@media (max-width: 600px) {
  .gtv-modern-player .mejs__controls:not([style*="display: none"]),
  .gtv-modern-player .mejs-controls:not([style*="display: none"]),
  .gtv-modern-player .vjs-control-bar { left: 8px; right: 8px; bottom: 8px; padding-right: 4px; gap: 0; }
  .gtv-modern-player .mejs__playpause-button,
  .gtv-modern-player .mejs-playpause-button, .gtv-modern-player .vjs-play-control { flex-basis: 44px; width: 44px; margin-right: 10px; }
  .gtv-modern-player .mejs__playpause-button > button,
  .gtv-modern-player .mejs-playpause-button > button { margin-left: 11px; margin-right: 11px; }
  .gtv-modern-player .mejs__controls::before, .gtv-modern-player .mejs-controls::before,
  .gtv-modern-player .vjs-control-bar::before { left: 50px; }
  .gtv-modern-player .mejs__duration-container, .gtv-modern-player .mejs__skipback-button,
  .gtv-modern-player .mejs__jumpforward-button { display: none; }
}
.gtv-player-floating .mejs__duration-container, .gtv-player-floating .mejs__skipback-button,
.gtv-player-floating .mejs__jumpforward-button { display: none; }
@media (prefers-reduced-motion: reduce) {
  .gtv-modern-player .mejs__playpause-button, .gtv-modern-player .mejs-playpause-button,
  .gtv-modern-player .vjs-play-control { transition: none; }
}
.gtv-modern-player .mejs__time-current, .gtv-modern-player .mejs-time-current,
.gtv-modern-player .vjs-play-progress, .gtv-modern-player .fluid_controls_currentprogress {
  background: var(--gtv-accent) !important;
}
.gtv-modern-player .vjs-big-play-button { background: rgba(0,173,239,.92); border: 0; border-radius: 12px; }
.gtv-player-tools { position: absolute; top: 12px; right: 12px; display: flex; gap: 6px; z-index: 45; }
.gtv-player-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; background: rgba(8,13,22,.8); color: #fff; cursor: pointer; font: 24px/1 sans-serif; }
.gtv-player-button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.gtv-player-button:hover, .gtv-player-button[aria-pressed="true"] { background: #007ead; }
.gtv-player-button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.gtv-player-button:disabled { opacity: .45; cursor: default; }
.gtv-player-button[hidden], .gtv-floating-only, .gtv-player-notice[hidden] { display: none !important; }
.gtv-player-floating .gtv-floating-only { display: inline-flex !important; }
.gtv-modern-player.gtv-player-floating {
  position: fixed !important; inset: auto 18px max(18px, env(safe-area-inset-bottom)) auto !important;
  width: min(380px, calc(100vw - 24px)) !important; height: auto !important;
  aspect-ratio: 16 / 9; max-height: none !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; z-index: 1035 !important;
  box-shadow: 0 12px 45px rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.2);
}
.gtv-player-floating video, .gtv-player-floating .mejs__inner, .gtv-player-floating .mejs__mediaelement,
.gtv-player-floating .mejs-inner, .gtv-player-floating .mejs-mediaelement { width: 100% !important; height: 100% !important; }
.gtv-player-placeholder { width: 100%; pointer-events: none; }
.gtv-player-notice { position: absolute; left: 12px; right: 12px; top: 64px; z-index: 46; padding: 10px; background: #101722; color: white; border-radius: 8px; font: 13px/1.4 sans-serif; }
@media (max-width: 600px) {
  .gtv-modern-player.gtv-player-floating { right: 12px !important; bottom: max(82px, calc(env(safe-area-inset-bottom) + 70px)) !important; width: min(320px, calc(100vw - 24px)) !important; }
  .gtv-player-tools { top: 6px; right: 6px; gap: 4px; }
}
