/* Llenar el marco 16:9 de la ficha (video-js / embed-responsive) */
.embed-responsive > #videoPlayer,
.embed-responsive .kp-prem-player{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;
  padding:0!important;margin:0!important;background:#000;overflow:hidden
}
.kp-prem-player{position:relative;width:100%;height:100%;min-height:180px;background:#000;color:#fff}
/* overflow hidden: evita que thumbs/tooltips “empujen” 1–2px el ancho del marco */
.kp-prem-plyr-wrap{position:absolute;inset:0;background:#000;overflow:hidden}
.kp-prem-plyr-wrap .plyr,
.kp-prem-player .plyr{
  /* block (no flex de Plyr): el flex + opacity de controles provocaba micro-reflow horizontal */
  display:block!important;
  position:absolute;inset:0;width:100%;height:100%;
  max-height:100%!important;min-height:0!important;min-width:0!important;max-width:none!important;
  overflow:hidden!important;border:0!important;box-shadow:none!important;
  --plyr-color-main:#ff0000;
  --plyr-video-control-color:#fff;
  --plyr-video-control-color-hover:#fff;
  --plyr-range-fill-background:#ff0000;
  --plyr-range-thumb-background:#ff0000;
  --plyr-range-thumb-height:12px;
  --plyr-range-thumb-width:12px;
  --plyr-range-track-height:3px;
  --plyr-control-spacing:8px;
  --plyr-control-icon-size:18px;
  --plyr-video-controls-background:linear-gradient(transparent,rgba(0,0,0,.75));
  --plyr-menu-background:rgba(28,28,28,.95);
  --plyr-menu-color:#fff;
  --plyr-tooltip-background:rgba(28,28,28,.95);
  --plyr-tooltip-color:#fff
}
.kp-prem-plyr-wrap .plyr__video-wrapper,
.kp-prem-player .plyr__video-wrapper,
.kp-prem-plyr-wrap .plyr__video-wrapper--fixed-ratio,
.kp-prem-player .plyr__video-wrapper--fixed-ratio{
  position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  padding:0!important;padding-bottom:0!important;margin:0!important;
  border:0!important;overflow:hidden!important;
  /* tamaño estable: no reflow al mostrar/ocultar .plyr__controls */
  contain:layout style paint!important;
  transform:none!important;
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  aspect-ratio:auto!important
}
.kp-prem-plyr-wrap .plyr video,
.kp-prem-player .plyr video{
  /* Exacto al marco: el overscan +2px hacía “crecer” el vídeo al ocultar controles */
  position:absolute!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;outline:0!important;
  object-fit:contain!important;object-position:center center;background:#000;
  display:block!important;vertical-align:top!important;
  transform:none!important
}
/* Controles ocultos: mismas medidas (Plyr a veces toca el wrapper al toggle) */
.kp-prem-plyr-wrap .plyr--hide-controls .plyr__video-wrapper,
.kp-prem-player .plyr--hide-controls .plyr__video-wrapper,
.kp-prem-plyr-wrap .plyr--hide-controls video,
.kp-prem-player .plyr--hide-controls video{
  width:100%!important;height:100%!important;
  padding:0!important;padding-bottom:0!important;margin:0!important;
  transform:none!important
}
.kp-prem-plyr-wrap .plyr__poster{background-size:cover}

/* Controles estilo YouTube: una sola barra inferior (no pildoras sueltas) */
.kp-prem-plyr-wrap .plyr__controls{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:0!important;
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  /* sin padding horizontal en el contenedor: el progreso va a sangre; el pad va en .kp-yt-row */
  padding:0 0 6px!important;margin:0!important;
  /* visible: tooltips hacia arriba sobre el vídeo (dentro del .plyr ya clippeado) */
  overflow:visible!important;
  background:linear-gradient(transparent 0%, rgba(0,0,0,.55) 40%, rgba(0,0,0,.88) 100%)!important;
  transition:none!important;
  transform:none!important
}
.kp-prem-plyr-wrap .plyr--hide-controls .plyr__controls{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:none!important
}
.kp-prem-plyr-wrap .plyr--hide-controls .plyr__control--overlaid{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important
}
.kp-prem-plyr-wrap .plyr__progress__buffer{color:rgba(255,255,255,.4)}
/* Anular offset Plyr (left:6.5px / width:calc(100%+13px)) */
.kp-prem-plyr-wrap .plyr__controls .plyr__progress__container{
  flex:0 0 auto!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;
  /* inset mínimo (como YT): evita que el thumb se coma el borde sin “encoger” el frame */
  padding:6px 2px 4px!important;margin:0!important;
  position:relative;z-index:1;overflow:visible
}
.kp-prem-plyr-wrap .plyr__progress{
  position:relative!important;
  left:0!important;right:0!important;
  margin:0!important;
  width:100%!important;max-width:100%!important;
  height:20px;min-height:20px;
  box-sizing:border-box!important;transform:none!important
}
.kp-prem-plyr-wrap .plyr__progress input[type=range],
.kp-prem-plyr-wrap .plyr__progress__buffer{
  position:absolute!important;
  left:0!important;right:0!important;
  top:50%!important;transform:translateY(-50%)!important;
  margin:0!important;
  width:100%!important;max-width:none!important;
  box-sizing:border-box!important;padding:0!important
}
.kp-prem-plyr-wrap .plyr__progress input[type=range]{
  z-index:2;height:20px;color:#ff0000!important;
  background:transparent!important;-webkit-appearance:none;appearance:none
}
/* Rojo desde el borde izquierdo del track (Plyr actualiza --value) */
.kp-prem-plyr-wrap .plyr__progress input[type=range]::-webkit-slider-runnable-track{
  height:var(--plyr-range-track-height,3px);border:0;border-radius:2px;
  background-color:rgba(255,255,255,.28);
  background-image:linear-gradient(to right,currentColor var(--value,0%),transparent var(--value,0%))
}
.kp-prem-plyr-wrap .plyr__progress input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:var(--plyr-range-thumb-width,12px);height:var(--plyr-range-thumb-height,12px);
  background:#ff0000;border:0;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.25);
  opacity:0;transition:opacity .12s ease;
  margin-top:calc((var(--plyr-range-track-height,3px) - var(--plyr-range-thumb-height,12px)) / 2)
}
.kp-prem-plyr-wrap .plyr__progress:hover input[type=range]::-webkit-slider-thumb,
.kp-prem-plyr-wrap .plyr__progress:focus-within input[type=range]::-webkit-slider-thumb{
  opacity:1
}
.kp-prem-plyr-wrap .plyr__progress input[type=range]::-moz-range-track{
  height:var(--plyr-range-track-height,3px);border:0;border-radius:2px;background:rgba(255,255,255,.28)
}
.kp-prem-plyr-wrap .plyr__progress input[type=range]::-moz-range-progress{
  height:var(--plyr-range-track-height,3px);border:0;border-radius:2px;background:#ff0000
}
.kp-prem-plyr-wrap .plyr__progress input[type=range]::-moz-range-thumb{
  width:var(--plyr-range-thumb-width,12px);height:var(--plyr-range-thumb-height,12px);
  background:#ff0000;border:0;border-radius:50%;opacity:0
}
.kp-prem-plyr-wrap .plyr__progress:hover input[type=range]::-moz-range-thumb{opacity:1}
.kp-prem-plyr-wrap .plyr__progress__buffer{
  z-index:1;height:var(--plyr-range-track-height,3px);border-radius:2px;pointer-events:none
}
.kp-prem-plyr-wrap .plyr__controls .plyr__progress__container:hover{
  --plyr-range-track-height:5px
}
.kp-prem-plyr-wrap .plyr__control{
  background:transparent!important;
  border-radius:0!important;
  padding:.4rem!important;
  box-shadow:none!important
}
.kp-prem-plyr-wrap .plyr__control:hover,
.kp-prem-plyr-wrap .plyr__control:focus,
.kp-prem-plyr-wrap .plyr__control[aria-expanded=true]{
  background:transparent!important;color:#fff!important;opacity:.92
}
.kp-prem-plyr-wrap .plyr__control.plyr__tab-focus{box-shadow:none}
.kp-prem-plyr-wrap .plyr__control--overlaid{
  background:rgba(0,0,0,.55)!important;
  border:2px solid rgba(255,255,255,.85);
  box-shadow:none;padding:16px
}
.kp-prem-plyr-wrap .plyr__control--overlaid:hover,
.kp-prem-plyr-wrap .plyr__control--overlaid:focus{
  background:rgba(255,0,0,.85)!important;border-color:#fff
}
.kp-prem-plyr-wrap .plyr__time{
  font-size:12px;font-weight:500;letter-spacing:.02em;
  opacity:.95;padding:0 .15rem!important
}
.kp-prem-plyr-wrap .plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{
  background:#ff0000
}

/* Tooltips por encima de la barra de progreso */
.kp-prem-plyr-wrap .plyr__tooltip,
.kp-prem-plyr-wrap .plyr__progress .plyr__tooltip,
.kp-prem-plyr-wrap .plyr__control:hover .plyr__tooltip,
.kp-prem-plyr-wrap .plyr__control.plyr__tab-focus .plyr__tooltip,
.kp-prem-plyr-wrap .plyr__tooltip--visible{
  z-index:50!important
}
.kp-prem-plyr-wrap .plyr__progress{
  overflow:visible!important
}
.kp-prem-plyr-wrap .plyr__control{
  overflow:visible!important
}

.kp-prem-plyr-wrap{touch-action:manipulation}

/* Fila: play + vol + tiempo ………… cápsula derecha */
.kp-prem-plyr-wrap .plyr__controls .kp-yt-row{
  display:flex!important;align-items:center;width:100%;max-width:100%;gap:8px;min-width:0;
  box-sizing:border-box!important;
  padding:0 10px!important;
  position:relative;z-index:6;overflow:visible
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-left{
  /* No crecer: si no, .plyr__volume{flex:1} empuja el tiempo a la derecha */
  display:inline-flex!important;align-items:center;flex:0 0 auto!important;min-width:0;gap:8px;margin-right:auto
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right{
  display:inline-flex!important;align-items:center;justify-content:center;
  flex:0 0 auto!important;margin-left:0;margin-right:0;
  height:36px;min-height:36px;box-sizing:border-box;
  background:rgba(40,40,40,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:999px;padding:0 6px;gap:6px
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right .plyr__menu{
  display:inline-flex;align-items:center;height:100%
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right .plyr__control{
  position:relative;background:transparent!important;border-radius:0!important;
  padding:0 .45rem!important;height:100%;display:inline-flex!important;align-items:center;justify-content:center
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right .plyr__control:hover,
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right .plyr__control:focus,
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right .plyr__control[aria-expanded=true]{
  background:rgba(255,255,255,.08)!important
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-right [data-plyr="settings"]::after{
  content:"HD";
  position:absolute;top:2px;right:0;
  font-size:8px;font-weight:800;line-height:1;letter-spacing:.02em;
  color:#fff;background:#f00;border-radius:2px;padding:1px 2px;pointer-events:none
}
/* Ocultar menú nativo de Plyr: usamos panel estilo YouTube */
.kp-prem-plyr-wrap .plyr__menu__container{
  display:none!important;visibility:hidden!important;pointer-events:none!important
}

/* Píldoras independientes: play | volumen | tiempo (misma altura) */
.kp-prem-plyr-wrap .plyr__controls .kp-yt-left > [data-plyr="play"],
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol,
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time{
  background:rgba(40,40,40,.55)!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:999px!important;
  box-shadow:none!important;
  height:36px;min-height:36px;box-sizing:border-box;
  display:inline-flex!important;align-items:center
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-left > [data-plyr="play"]{
  padding:0 .75rem!important
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-left > [data-plyr="play"]:hover{
  background:rgba(55,55,55,.72)!important
}

/* Tiempo en píldora; clic = modo regresivo */
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time{
  flex:0 0 auto!important;gap:0;padding:0 12px!important;cursor:pointer;user-select:none;
  color:#fff;font-size:12px;font-weight:500;letter-spacing:.02em;line-height:1
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time:hover{
  background:rgba(55,55,55,.72)!important
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time .plyr__time{
  padding:0!important;margin:0!important;flex:0 0 auto!important;
  font-size:inherit;font-weight:inherit;letter-spacing:inherit;opacity:1;cursor:pointer;
  line-height:1;pointer-events:none
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time .plyr__time+.plyr__time{padding-left:0!important}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-time .plyr__time+.plyr__time::before{
  content:'\2044';margin:0 5px 0 4px;opacity:.75
}

/* Volumen: icono fijo; barra blanca al hover */
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol{
  flex:0 0 auto!important;padding:0 8px 0 4px
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol:hover{
  background:rgba(55,55,55,.72)!important
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__control[data-plyr="mute"]{
  flex:0 0 auto!important;padding:.35rem!important;background:transparent!important;height:auto
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume{
  display:flex!important;align-items:center;flex:0 0 auto!important;position:relative;
  width:0;max-width:0;overflow:hidden;opacity:0;margin:0!important;padding:0!important;
  transition:max-width .18s ease,width .18s ease,opacity .14s ease,margin .18s ease;
  --plyr-range-fill-background:#fff;
  --plyr-range-thumb-background:#fff;
  --plyr-range-track-background:rgba(255,255,255,.3);
  color:#fff
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]{
  width:68px;max-width:68px;margin:0;padding:0;cursor:pointer;flex:0 0 auto;color:#fff;
  --plyr-range-fill-background:#fff;
  --plyr-range-thumb-background:#fff
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]::-webkit-slider-runnable-track{
  background:rgba(255,255,255,.28);height:4px;border-radius:2px
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]::-webkit-slider-thumb{
  background:#fff!important;border:0;box-shadow:none;margin-top:-4px
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]::-moz-range-track{
  background:rgba(255,255,255,.28);height:4px;border-radius:2px
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]::-moz-range-thumb{
  background:#fff!important;border:0;box-shadow:none
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume input[type=range]::-moz-range-progress{
  background:#fff
}
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol:hover .plyr__volume,
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol:focus-within .plyr__volume,
.kp-prem-plyr-wrap .plyr__controls .kp-yt-vol.is-open .plyr__volume{
  width:72px;max-width:72px;opacity:1;margin-left:2px!important;margin-right:4px!important
}
@media (max-width:520px){
  .kp-prem-plyr-wrap .plyr__controls .kp-yt-vol .plyr__volume,
  .kp-prem-plyr-wrap .plyr__controls .kp-yt-vol:hover .plyr__volume,
  .kp-prem-plyr-wrap .plyr__controls .kp-yt-vol:focus-within .plyr__volume,
  .kp-prem-plyr-wrap .plyr__controls .kp-yt-vol.is-open .plyr__volume{
    width:0!important;max-width:0!important;opacity:0!important;margin:0!important;pointer-events:none
  }
}

/* Menú ajustes estilo YouTube */
.kp-yt-set{
  position:absolute;right:10px;bottom:58px;z-index:12;
  min-width:260px;max-width:min(320px,94%);
  background:rgba(28,28,28,.92);color:#fff;
  border-radius:12px;border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 32px rgba(0,0,0,.5);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:none;overflow:hidden;user-select:none
}
.kp-yt-set.is-open{display:block}
.kp-yt-set__head{
  display:flex;align-items:center;gap:10px;padding:12px 14px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;font-weight:500
}
.kp-yt-set__back{
  flex:0 0 auto;width:28px;height:28px;border:0;border-radius:50%;
  background:transparent;color:#fff;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;justify-content:center
}
.kp-yt-set__back:hover{background:rgba(255,255,255,.1)}
.kp-yt-set__back svg{width:18px;height:18px;display:block}
.kp-yt-set__title{flex:1 1 auto;min-width:0}
.kp-yt-set__row{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:11px 14px;border:0;background:transparent;color:#fff;
  font:inherit;font-size:13px;text-align:left;cursor:pointer
}
.kp-yt-set__row:hover{background:rgba(255,255,255,.1)}
.kp-yt-set__ico{
  flex:0 0 22px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;opacity:.95
}
.kp-yt-set__ico svg{width:20px;height:20px;display:block}
.kp-yt-set__lab{flex:1 1 auto;min-width:0}
.kp-yt-set__val{flex:0 0 auto;opacity:.85;font-size:12px;display:inline-flex;align-items:center;gap:4px}
.kp-yt-set__val svg{width:14px;height:14px;opacity:.7}
.kp-yt-set__speed-cur{
  text-align:center;font-size:28px;font-weight:600;padding:16px 12px 8px;letter-spacing:.02em
}
.kp-yt-set__speed-ctrl{
  display:flex;align-items:center;gap:10px;padding:8px 16px 14px
}
.kp-yt-set__speed-btn{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0
}
.kp-yt-set__speed-btn:hover{background:rgba(255,255,255,.16)}
.kp-yt-set__speed-range{
  flex:1 1 auto;min-width:0;height:28px;margin:0;cursor:pointer;
  -webkit-appearance:none;appearance:none;background:transparent
}
.kp-yt-set__speed-range::-webkit-slider-runnable-track{
  height:3px;border-radius:2px;background:rgba(255,255,255,.35)
}
.kp-yt-set__speed-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;margin-top:-6.5px;border:0
}
.kp-yt-set__speed-range::-moz-range-track{height:3px;border-radius:2px;background:rgba(255,255,255,.35)}
.kp-yt-set__speed-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:0}
.kp-yt-set__presets{
  display:flex;justify-content:space-between;gap:6px;padding:4px 14px 16px
}
.kp-yt-set__preset{
  flex:1 1 0;min-width:0;border:0;border-radius:999px;padding:8px 0;
  background:rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:600;cursor:pointer;line-height:1.1
}
.kp-yt-set__preset small{display:block;font-size:9px;font-weight:500;opacity:.8;margin-top:3px}
.kp-yt-set__preset.is-on,.kp-yt-set__preset:hover{background:rgba(255,255,255,.22)}
.kp-yt-set__qlist{padding:4px 0 8px;max-height:260px;overflow:auto}
.kp-yt-set__q{
  display:flex;align-items:center;justify-content:center;gap:6px;width:100%;
  padding:10px 16px;border:0;background:transparent;color:#fff;
  font:inherit;font-size:14px;cursor:pointer;position:relative
}
.kp-yt-set__q:hover{background:rgba(255,255,255,.1)}
.kp-yt-set__q.is-on{background:rgba(255,255,255,.12)}
.kp-yt-set__q .kp-yt-set__check{
  position:absolute;left:14px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center
}
.kp-yt-set__q .kp-yt-set__check svg{width:16px;height:16px}
.kp-yt-set__hd{
  font-size:9px;font-weight:800;color:#fff;background:#f00;border-radius:2px;padding:1px 3px;
  vertical-align:super;line-height:1
}

/* Menú contextual (clic derecho) más compacto */
.kp-yt-ctx{
  position:fixed;z-index:10050;min-width:220px;max-width:min(300px,90vw);
  padding:4px 0;margin:0;list-style:none;
  background:rgba(40,40,40,.92);color:#fff;
  border:1px solid rgba(255,255,255,.08);border-radius:10px;
  box-shadow:0 8px 28px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:none;user-select:none
}
.kp-yt-ctx.is-open{display:block}
.kp-yt-ctx__item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:7px 12px;border:0;background:transparent;color:#fff;
  font:inherit;font-size:12px;line-height:1.2;text-align:left;cursor:pointer
}
.kp-yt-ctx__item:hover,
.kp-yt-ctx__item:focus{background:rgba(255,255,255,.1);outline:0}
.kp-yt-ctx__item.is-on{color:#fff}
.kp-yt-ctx__item.is-on .kp-yt-ctx__ico{color:#f00}
.kp-yt-ctx__ico{
  flex:0 0 18px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.95
}
.kp-yt-ctx__ico svg{width:16px;height:16px;display:block}
.kp-yt-ctx__label{flex:1 1 auto;min-width:0}
.kp-yt-ctx__sep{height:1px;margin:4px 0;background:rgba(255,255,255,.12);border:0;padding:0}
.kp-yt-toast{
  position:absolute;left:50%;bottom:64px;z-index:8;transform:translateX(-50%);
  padding:8px 14px;border-radius:6px;background:rgba(28,28,28,.92);color:#fff;
  font-size:13px;font-weight:500;pointer-events:none;opacity:0;transition:opacity .18s ease
}
.kp-yt-toast.is-on{opacity:1}

/* Stats estilo YouTube (semitransparente + [x]) */
.kp-yt-stats{
  position:absolute;left:10px;top:10px;z-index:9;min-width:240px;max-width:min(340px,94%);
  padding:6px 22px 6px 8px;border-radius:5px;
  background:rgba(28,28,28,.72);color:#fff;
  font:10.5px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  display:none;pointer-events:auto;box-sizing:border-box;
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)
}
.kp-yt-stats.is-on{display:block}
.kp-yt-stats__close{
  position:absolute;top:2px;right:4px;z-index:2;
  width:20px;height:20px;padding:0;border:0;border-radius:3px;
  background:transparent;color:#fff;font:700 12px/20px ui-monospace,monospace;
  cursor:pointer;opacity:.85
}
.kp-yt-stats__close:hover{opacity:1;background:rgba(255,255,255,.12)}
.kp-yt-stats__grid{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:baseline}
.kp-yt-stats__k{text-align:right;color:rgba(255,255,255,.7);white-space:nowrap;padding:0;line-height:1.3}
.kp-yt-stats__v{text-align:left;color:#fff;min-width:0;word-break:break-word;padding:0;line-height:1.3}
.kp-yt-stats__bar{
  display:inline-block;height:6px;min-width:4px;max-width:100px;margin-right:5px;vertical-align:middle;
  background:#3ea6ff;border-radius:1px
}
.kp-yt-stats__bar--buf{background:#1e8e3e}
.kp-yt-stats__bar--net{background:#f9ab00;max-width:40px}

/* Mini barra de progreso: visible solo cuando se ocultan los controles */
.kp-yt-mini{
  position:absolute;left:0;right:0;bottom:0;height:3px;z-index:4;
  background:rgba(255,255,255,.22);
  opacity:0;transition:opacity .2s ease;pointer-events:none
}
.kp-yt-mini__buf{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,255,255,.4)}
.kp-yt-mini__played{position:absolute;left:0;top:0;bottom:0;width:0;background:#ff0000}
.kp-prem-plyr-wrap .plyr--hide-controls ~ .kp-yt-mini{opacity:1}

/* Indicadores de salto ±Ns (doble clic / doble toque / teclado) */
.kp-yt-seekind{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;justify-content:space-between}
.kp-yt-seekind__side{display:flex;align-items:center;justify-content:center;width:38%}
.kp-yt-seekind__pill{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  width:118px;height:118px;max-width:33vw;max-height:33vw;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;
  opacity:0;transform:scale(.82);
  transition:opacity .18s ease,transform .18s ease
}
.kp-yt-seekind__side.is-on .kp-yt-seekind__pill{opacity:1;transform:scale(1)}
.kp-yt-seekind__pill svg{width:32px;height:32px;display:block}
.kp-yt-seekind__pill span{font-size:13px;font-weight:600;letter-spacing:.02em}

/* Sin botón central persistente de Plyr: usamos el flash central + barra.
   (Evita el "play" fijo en medio del vídeo al pausar.) */
.kp-prem-plyr-wrap .plyr__control--overlaid{display:none!important}

/* Flash central play/pausa (estilo YouTube) */
.kp-yt-cflash{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}
.kp-yt-cflash__ic{
  width:76px;height:76px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;
  display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7)
}
.kp-yt-cflash__ic svg{width:38px;height:38px;display:block}
.kp-yt-cflash.is-on .kp-yt-cflash__ic{animation:kp-yt-pop .5s ease-out forwards}
@keyframes kp-yt-pop{
  0%{opacity:.95;transform:scale(.7)}
  60%{opacity:.9;transform:scale(1)}
  100%{opacity:0;transform:scale(1.3)}
}

/* Banner centrado al pausar (desktop + móvil) */
.kp-pause-ad{
  position:absolute;inset:0;z-index:6;
  display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);pointer-events:none;
  padding:6px;box-sizing:border-box;
  overflow:hidden
}
.kp-pause-ad.is-on{display:flex;pointer-events:auto}
.kp-pause-ad__box{
  position:relative;
  width:auto;
  max-width:min(300px,94%);
  max-height:min(290px,92%);
  background:rgba(20,20,20,.92);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  padding:32px 6px 6px;
  box-shadow:0 12px 40px rgba(0,0,0,.55);
  box-sizing:border-box;
  /* ExoClick a menudo infla el iframe → sin esto la caja crece y la X queda abajo */
  overflow:hidden;
  isolation:isolate;
  contain:paint
}
.kp-pause-ad__close{
  position:absolute!important;top:2px!important;right:2px!important;bottom:auto!important;left:auto!important;
  z-index:20;
  width:34px;height:34px;border-radius:50%;border:0;padding:0;
  background:#ff0000;color:#fff;font-size:22px;line-height:34px;
  text-align:center;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
  -webkit-tap-highlight-color:transparent
}
.kp-pause-ad__close:hover,
.kp-pause-ad__close:active{background:#cc0000}
.kp-pause-ad__slot{
  display:block;
  width:300px;height:250px;
  max-width:100%;
  max-height:250px;
  margin:0 auto;
  overflow:hidden;
  transform-origin:top center;
  position:relative;
  contain:paint
}
.kp-pause-ad__slot ins,
.kp-pause-ad__slot iframe,
.kp-pause-ad__slot > div{
  display:block!important;
  margin:0 auto!important;
  max-width:100%!important;
  max-height:250px!important;
  overflow:hidden!important;
  vertical-align:top
}
.kp-pause-ad__slot iframe{
  width:300px!important;
  height:250px!important
}
/* ≤300: no mostrar (JS también lo bloquea) */
@media (max-width:300px){
  .kp-pause-ad,
  .kp-pause-ad.is-on{display:none!important;pointer-events:none!important}
}
/* 301–539: creativo 150×150 + marco flotante */
@media (min-width:301px) and (max-width:539px){
  .kp-pause-ad{padding:4px;align-items:center}
  .kp-pause-ad__box{
    max-width:min(178px,88vw);
    padding:30px 4px 4px
  }
  .kp-pause-ad__close{width:32px;height:32px;line-height:32px;font-size:20px}
  .kp-pause-ad__slot{
    width:150px;height:150px;
    max-height:150px;
    transform:none;
    margin-bottom:0
  }
  .kp-pause-ad__slot iframe{
    width:150px!important;
    height:150px!important;
    max-height:150px!important
  }
}

/* Status: loading / error sobre cover oscurecido */
.kp-prem-status{
  position:absolute;inset:0;z-index:5;overflow:hidden;background:#0a0a0a
}
.kp-prem-status-cover{
  position:absolute;inset:0;
  background:#0a0a0a;
  transform:scale(1.04)
}
.kp-prem-status-cover__img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;border:0
}
.kp-prem-status-cover--empty{background:#111}
.kp-prem-status-veil{
  position:absolute;inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(1px)
}
.kp-prem-status-body{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:14px;padding:24px;text-align:center;z-index:1
}
.kp-prem-status-msg{
  margin:0;max-width:22rem;
  color:#ececec;font-size:15px;font-weight:500;line-height:1.35;
  text-shadow:0 1px 8px rgba(0,0,0,.65)
}
.kp-prem-status-icon{display:flex;align-items:center;justify-content:center}
.kp-prem-status-icon--loading{width:56px;height:56px}
.kp-prem-spinner{
  box-sizing:border-box;display:block;width:52px;height:52px;
  border:3px solid rgba(255,255,255,.22);
  border-top-color:#fff;
  border-radius:50%;
  animation:kp-prem-spin .75s linear infinite
}
@keyframes kp-prem-spin{to{transform:rotate(360deg)}}
.kp-prem-status-icon--error{
  color:#e53935;
  filter:drop-shadow(0 2px 12px rgba(229,57,53,.45))
}
.kp-prem-status-icon--error svg{width:72px;height:72px}
.kp-prem-status--error .kp-prem-status-msg{color:#ffc9c9}

/* legacy aliases */
.kp-prem-loading,.kp-prem-gate{display:none}
.kp-prem-gate a{color:#ff55a5}

.embed-responsive .video-iframe,
.kp-prem-player .video-iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;background:#000
}
.opserver--premium{background:linear-gradient(135deg,#3a2040,#1a1a1f)!important;border:1px solid rgba(255,85,165,.55)!important;color:#ffb3d6!important;font-weight:700;display:inline-flex!important;align-items:center;gap:6px}
.opserver--premium.active{background:linear-gradient(135deg,#ff55a5,#c43a7a)!important;color:#fff!important;border-color:#ff55a5!important}
.opserver--premium .prem-crown{margin-right:6px;opacity:.95}
.opserver--premium-lock{opacity:.85;cursor:pointer}
.opserver--guest-lock{opacity:.88;cursor:pointer;border:1px dashed rgba(255,152,0,.45)!important}
.opserver--guest-lock i{margin-right:6px;color:#ff9800}

/* VAST pre-roll overlay */
.kp-vast-overlay{
  position:absolute;inset:0;z-index:8;background:#000;
  display:flex;align-items:center;justify-content:center
}
.kp-vast-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000
}
.kp-vast-ui{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
  pointer-events:none
}
.kp-vast-ui > *{pointer-events:auto}
.kp-vast-badge{
  display:inline-block;padding:3px 8px;border-radius:4px;
  background:rgba(255,255,255,.14);color:#eee;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em
}
.kp-vast-skip{
  margin-left:auto;border:0;border-radius:4px;padding:7px 12px;
  background:#ff55a5;color:#fff;font-size:12px;font-weight:700;cursor:pointer
}
.kp-vast-skip:hover{background:#e04892}
.kp-vast-cta{
  color:#ffb3d6!important;font-size:12px;font-weight:600;text-decoration:underline!important
}

/* iOS / fullscreen: el video nativo debe poder salir del marco 16:9 */
.kp-prem-plyr-wrap .plyr.plyr--fullscreen-active,
.kp-prem-player .plyr.plyr--fullscreen-active,
.kp-prem-plyr-wrap .plyr:fullscreen,
.kp-prem-player .plyr:fullscreen{
  position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:2147483646
}
.kp-prem-plyr-wrap .plyr video::-webkit-media-controls-fullscreen-button{display:block}
.kp-prem-video{
  /* tamaño real lo fija .plyr video (calc + centrado); esto es fallback pre-Plyr */
  width:100%;height:100%;object-fit:contain;background:#000
}

/* Banner upsell Premium (no-premium / invitados) */
.kp-prem-upsell{
  margin:10px 0 12px;padding:0 2px
}
.kp-prem-upsell-inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;
  padding:12px 14px;border-radius:6px;
  background:linear-gradient(105deg,#1a1218 0%,#2a1824 45%,#1c1018 100%);
  border:1px solid rgba(255,85,165,.35)
}
.kp-prem-upsell-text{
  margin:0;flex:1 1 220px;color:#e8dce3;font-size:13px;line-height:1.4
}
.kp-prem-upsell-text strong{color:#ffb3d6;font-weight:700}
.kp-prem-upsell-btn{
  flex:0 0 auto;display:inline-block;padding:8px 14px;border-radius:4px;
  background:#9c1458;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none!important;
  white-space:nowrap
}
.kp-prem-upsell-btn:hover,.kp-prem-upsell-btn:focus{background:#880e4f;color:#fff!important;text-decoration:none!important}
@media (max-width:575px){
  .kp-prem-upsell{margin:8px 0 10px}
  .kp-prem-upsell-inner{
    flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;
    gap:8px;padding:8px 10px;text-align:left
  }
  .kp-prem-upsell-text{
    flex:1 1 auto;font-size:12px;line-height:1.35;min-width:0
  }
  .kp-prem-upsell-btn{
    flex:0 0 auto;width:auto;max-width:100%;padding:7px 12px;font-size:12px;white-space:normal;text-align:center
  }
}
