/* Ministerio TV · Reproductor público de radio v1.
   Selectores limitados a .mtv-radio-v2 para no afectar TV/video ni el perfil del cliente. */
.mtv-channel-page .mtv-player-card .radio-player-shell.mtv-radio-v2 {
  display: grid;
  grid-template-columns: minmax(160px, 218px) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 36px);
  min-height: 292px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid #b7d9fa;
  border-radius: 22px;
  color: #123456;
  text-align: left;
  background: linear-gradient(124deg, #eaf6ff 0%, #d9edff 49%, #c6e4ff 100%);
  box-shadow: 0 14px 40px rgba(31, 100, 169, .13);
}
.mtv-radio-v2 * { box-sizing: border-box; }
.mtv-channel-page .mtv-radio-v2 .mtv-radio-album {
  min-width: 0;
  position: relative;
  aspect-ratio: 1;
  width: 100%;
  max-width: 218px;
  min-height: 172px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.9);
  background: linear-gradient(147deg,#98cdff 0%,#5caaf7 52%,#287ed0 100%);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.9),0 12px 25px rgba(24,92,170,.17);
}
.mtv-radio-v2 .mtv-radio-album::before {
  content: ''; position:absolute; inset:-20%; pointer-events:none;
  background:radial-gradient(circle at 23% 16%,rgba(255,255,255,.53),transparent 37%);
}
.mtv-radio-v2 .mtv-radio-record {
  width: 66%; aspect-ratio:1;
  border-radius:50%;display:grid;place-items:center;
  background:repeating-radial-gradient(circle,#153e76 0 3px,#1d528d 4px 6px,#133867 7px 9px);
  border:7px solid rgba(219,241,255,.88);
  box-shadow:0 12px 25px rgba(17,64,121,.25);
}
.mtv-radio-v2 .mtv-radio-record span {
  width:39%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  color:#1462aa;font-size:clamp(18px,3vw,29px);font-weight:800;
  background:#e7f5ff;box-shadow:0 0 0 3px rgba(255,255,255,.38);
}
.mtv-radio-v2 .mtv-radio-album-caption {
  position:absolute;bottom:12px;left:10px;right:10px;text-align:center;
  color:#fff;font-size:10px;font-weight:850;letter-spacing:1.5px;text-shadow:0 1px 4px #1e548a;
}
.mtv-channel-page .mtv-radio-v2 .radio-player-info.mtv-radio-content { min-width:0; width:100%; display:flex;flex-direction:column;justify-content:center; }
.mtv-radio-v2 .mtv-radio-kicker { color:#2a679d;font-size:11px;font-weight:850;letter-spacing:1.55px;display:flex;gap:8px;align-items:center; }
.mtv-radio-v2 .mtv-radio-kicker-dot { width:8px;height:8px;background:#2488df;border-radius:50%;box-shadow:0 0 0 4px rgba(36,136,223,.1); }
.mtv-radio-v2 .mtv-radio-now-playing { margin-top:24px; color:#376c98;font-size:11px;font-weight:850;letter-spacing:1.3px; }
.mtv-radio-v2 .mtv-radio-song-title { color:#102f53!important;font-size:clamp(23px,2.6vw,32px)!important;line-height:1.12;margin:8px 0 8px!important;letter-spacing:-.5px;overflow-wrap:anywhere; }
.mtv-radio-v2 .mtv-radio-artist { color:#466b8b;font-size:13px;line-height:1.45;margin:0;max-width:570px; }
.mtv-radio-v2 .mtv-radio-controls { display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:17px;border-top:1px solid rgba(49,113,171,.18); }
.mtv-radio-v2 .mtv-radio-play { appearance:none;display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;padding:0;border-radius:50%;border:2px solid #fff;background:linear-gradient(140deg,#2189ed,#0966c8);color:#fff;box-shadow:0 8px 18px rgba(15,104,194,.29);cursor:pointer;transition:transform .15s ease,filter .15s ease; }
.mtv-radio-v2 .mtv-radio-play:hover:not(:disabled) { transform:scale(1.05);filter:brightness(1.05); }
.mtv-radio-v2 .mtv-radio-play:focus-visible, .mtv-radio-v2 .mtv-radio-volume:focus-visible { outline:3px solid #176bd1;outline-offset:3px; }
.mtv-radio-v2 .mtv-radio-play:disabled { cursor:not-allowed;opacity:.48;filter:grayscale(.3); }
.mtv-radio-v2 .mtv-radio-play svg {width:23px;height:23px;display:block;}
.mtv-radio-v2 .mtv-radio-icon-play { margin-left:2px; }
.mtv-radio-v2 .mtv-radio-icon-pause { display:none!important; }
.mtv-radio-v2.is-playing .mtv-radio-icon-play { display:none!important; }
.mtv-radio-v2.is-playing .mtv-radio-icon-pause { display:block!important; }
.mtv-radio-v2 .mtv-radio-state-block { min-width:0;flex:1; }
.mtv-radio-v2 .mtv-radio-state-label { font-size:14px;color:#173d65;font-weight:850;line-height:1.3;overflow-wrap:anywhere; }
.mtv-radio-v2 .mtv-radio-status {font-size:12px;line-height:1.4;color:#4a718f;margin-top:4px;}
.mtv-radio-v2 .mtv-radio-volume-wrap { flex:0 0 110px;display:grid;gap:7px;align-content:center; }
.mtv-radio-v2 .mtv-radio-volume-wrap label {font-size:11px;color:#416b90;font-weight:800;}
.mtv-radio-v2 .mtv-radio-volume { width:100%;height:5px;margin:0;accent-color:#157ddc;cursor:pointer; }
/* Native player remains visible if JavaScript fails to load; custom controls replace it after binding. */
.mtv-radio-v2.is-enhanced #radio-player { position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important; }
.mtv-radio-v2 .mtv-radio-unavailable {margin:12px 0 0;color:#855165;font-size:12px;background:none;}
@media(max-width:720px) {
  .mtv-channel-page .mtv-player-card .radio-player-shell.mtv-radio-v2 {grid-template-columns:1fr;gap:20px;padding:22px;border-radius:18px;text-align:center;}
  .mtv-channel-page .mtv-radio-v2 .mtv-radio-album {width:min(200px,68vw);max-width:none;min-height:0;margin-inline:auto;}
  .mtv-radio-v2 .mtv-radio-kicker {justify-content:center;}
  .mtv-radio-v2 .mtv-radio-now-playing {margin-top:16px;}
  .mtv-radio-v2 .mtv-radio-artist {margin-inline:auto;}
  .mtv-radio-v2 .mtv-radio-controls {justify-content:center;text-align:left;flex-wrap:wrap;gap:12px;}
  .mtv-radio-v2 .mtv-radio-volume-wrap {flex:1 0 100%;max-width:220px;margin:4px auto 0;}
}
@media(min-width:721px) and (max-width:920px) {
  .mtv-channel-page .mtv-player-card .radio-player-shell.mtv-radio-v2 {grid-template-columns:158px 1fr;gap:19px;}
}
@media(prefers-reduced-motion:reduce) {.mtv-radio-v2 .mtv-radio-play {transition:none}}
.mtv-radio-v2 .mtv-radio-volume-wrap[hidden] {display:none!important;}

/* Radio v2: caratula y nombre de cancion/artista justo debajo. */
.mtv-channel-page .mtv-radio-v2 .mtv-radio-art-column{min-width:0;display:flex;flex-direction:column;align-items:stretch;max-width:218px;width:100%;}
.mtv-radio-v2 .mtv-radio-track{padding:14px 3px 1px;display:flex;flex-direction:column;gap:6px;color:#153c65;text-align:left;}
.mtv-radio-v2 .mtv-radio-track-label{color:#3477ae;font-weight:850;font-size:10px;letter-spacing:1.25px;}
.mtv-radio-v2 .mtv-radio-song-title{margin:0!important;font-size:clamp(16px,1.7vw,20px)!important;font-weight:850;line-height:1.24!important;letter-spacing:-.3px;overflow-wrap:anywhere;}
.mtv-radio-v2 .mtv-radio-artist{font-size:13px;line-height:1.35;color:#4a6788;overflow-wrap:anywhere;}
.mtv-radio-v2 .mtv-radio-album .mtv-radio-art-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;z-index:2;}
.mtv-radio-v2 .mtv-radio-album .mtv-radio-art-img[hidden]{display:none!important;}
.mtv-radio-v2 .mtv-radio-album.has-cover .mtv-radio-album-caption{display:none;}
.mtv-radio-v2 .mtv-radio-heading{font-size:clamp(23px,2.8vw,34px);line-height:1.16;font-weight:850;letter-spacing:-.5px;color:#153a67;overflow-wrap:anywhere;}
.mtv-radio-v2 .mtv-radio-visual-label{margin-top:8px;color:#477395;font-size:11px;font-weight:800;letter-spacing:1.5px;}
.mtv-radio-v2 .mtv-radio-visual-head{margin-top:15px;}
/* Simulacion visual: solo se anima cuando media element reporta playing; sin solicitud de microfono. */
.mtv-radio-v2 .mtv-radio-equalizer{height:83px;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px 6px;margin:18px 0 6px;border-radius:14px;background:rgba(255,255,255,.35);border:1px solid rgba(82,150,206,.17);}
.mtv-radio-v2 .mtv-radio-equalizer span{display:block;width:min(6px,3.25%);flex:0 1 6px;height:13px;border-radius:10px;background:linear-gradient(0deg,#1183e7,#60c6f8);transform-origin:center center;animation:mtv-equalize .8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-91ms);animation-duration:.83s;animation-play-state:paused;opacity:.8;transform:scaleY(.38);}
.mtv-radio-v2.is-playing .mtv-radio-equalizer span{animation-play-state:running;opacity:1;}
@keyframes mtv-equalize{0%{height:10px;transform:scaleY(.55)}25%{height:47px;transform:scaleY(.7)}55%{height:19px;transform:scaleY(1)}100%{height:55px;transform:scaleY(.9)}}
/* Control centrado en los dos ejes; se reemplaza estilo heredado que desplazaba el SVG. */
.mtv-channel-page .mtv-radio-v2 button.mtv-radio-play{position:relative;display:block!important;width:60px;height:60px;min-width:60px;flex:0 0 60px;padding:0!important;border-radius:50%!important;line-height:0;}
.mtv-channel-page .mtv-radio-v2 .mtv-radio-play svg{position:absolute!important;left:50%!important;top:50%!important;width:25px!important;height:25px!important;margin:0!important;transform:translate(-50%,-50%)!important;}
.mtv-radio-v2 .mtv-radio-icon-play{margin-left:0!important;}
.mtv-radio-v2 .mtv-radio-play .mtv-radio-icon-pause{display:none!important;}
.mtv-radio-v2.is-playing .mtv-radio-play .mtv-radio-icon-pause{display:block!important;}
.mtv-radio-v2.is-playing .mtv-radio-play .mtv-radio-icon-play{display:none!important;}
@media(max-width:720px){.mtv-channel-page .mtv-radio-v2 .mtv-radio-art-column{max-width:min(260px,85vw);margin-inline:auto}.mtv-channel-page .mtv-radio-v2 .mtv-radio-album{width:100%;max-width:none}.mtv-radio-v2 .mtv-radio-track{text-align:center}.mtv-radio-v2 .mtv-radio-equalizer{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.mtv-radio-v2 .mtv-radio-equalizer span{animation:none!important;transform:none;height:12px}.mtv-radio-v2.is-playing .mtv-radio-equalizer span:nth-child(3n){height:35px}}
.mtv-radio-v2 .mtv-radio-equalizer span:nth-child(3n){animation-duration:.56s}.mtv-radio-v2 .mtv-radio-equalizer span:nth-child(4n){animation-duration:1.1s}.mtv-radio-v2 .mtv-radio-equalizer span:nth-child(7n){animation-duration:.69s}

/* v3: Audio nativo siempre disponible; evitamos silencio por ocultarlo en la interfaz. */
.mtv-channel-page .mtv-radio-v2 #radio-player,
.mtv-channel-page .mtv-radio-v2.is-enhanced #radio-player {
 position:static!important;display:block!important;width:100%!important;
 height:46px!important;overflow:visible!important;opacity:1!important;
 pointer-events:auto!important; margin:13px 0 0; border-radius:18px;
}
.mtv-channel-page .mtv-radio-v2 #radio-player:focus-visible {outline:3px solid #207dca;outline-offset:3px;}

/* v4: el reproductor refinado oculta la barra nativa solo DESPUÉS de inicializar JS.
   El <audio src> y los eventos de reproducción de v3 NO se tocan. */
.mtv-channel-page .mtv-radio-v2.is-enhanced:not(.mtv-audio-fallback) #radio-player {
  position:absolute!important;left:-10000px!important;top:auto!important;
  width:1px!important;height:1px!important;opacity:0!important;
  overflow:hidden!important;pointer-events:none!important;
  margin:0!important;padding:0!important;border:0!important;
}
.mtv-channel-page .mtv-radio-v2.mtv-audio-fallback #radio-player {
  position:static!important;display:block!important;width:100%!important;
  height:48px!important;opacity:1!important;pointer-events:auto!important;
  margin:12px 0 0!important;
}
.mtv-radio-v2 .mtv-radio-art-credit {color:#2b628f;font-size:11px;text-decoration:underline;line-height:1.4;}
.mtv-radio-v2 .mtv-radio-art-credit[hidden] {display:none!important;}
.mtv-radio-v2 .mtv-radio-album .mtv-radio-record {transition:opacity .25s ease;}
.mtv-radio-v2 .mtv-radio-album.has-cover .mtv-radio-record{opacity:0;}
.mtv-radio-v2 .mtv-radio-album .mtv-radio-art-img{object-fit:cover;}
