{"id":15,"date":"2026-05-05T13:43:00","date_gmt":"2026-05-05T13:43:00","guid":{"rendered":"https:\/\/googlecumbia.metricavisual.com\/trending\/"},"modified":"2026-07-04T12:35:58","modified_gmt":"2026-07-04T12:35:58","slug":"tv-bolivia","status":"publish","type":"page","link":"https:\/\/googlecumbia.metricavisual.com\/?page_id=15","title":{"rendered":"BOLIVIA TV"},"content":{"rendered":"\n<iframe loading=\"lazy\" src=\"https:\/\/ssh101.com\/securelive\/index.php?id=makins\" frameborder=\"0\" scrolling=\"no\" align=\"middle\" width=\"852\" height=\"480\" webkitallowfullscreen=\"\" mozallowfullscreen=\"\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<style>\n\/* ==========================================\n   REPRODUCTOR HLS GOOGLE CUMBIA\n========================================== *\/\n\n.gcp-tv-player,\n.gcp-tv-player * {\n    box-sizing: border-box;\n}\n\n.gcp-tv-player {\n    --gcp-accent: #ff5a00;\n    --gcp-bg: #090909;\n    --gcp-panel: #171717;\n\n    width: 100%;\n    max-width: 1200px;\n    margin: 24px auto;\n    padding: 18px;\n    overflow: hidden;\n    background:\n        radial-gradient(circle at top, rgba(255, 90, 0, 0.12), transparent 42%),\n        var(--gcp-panel);\n    border: 1px solid rgba(255, 255, 255, 0.08);\n    border-radius: 20px;\n    color: #fff;\n    font-family: Arial, sans-serif;\n    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.35);\n}\n\n.gcp-tv-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 15px;\n    margin-bottom: 15px;\n}\n\n.gcp-tv-heading {\n    min-width: 0;\n}\n\n.gcp-tv-heading h2 {\n    margin: 0;\n    color: #fff;\n    font-size: clamp(20px, 3vw, 30px);\n    line-height: 1.2;\n}\n\n.gcp-tv-status {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin: 7px 0 0;\n    color: #bbb;\n    font-size: 14px;\n}\n\n.gcp-tv-status-dot {\n    width: 9px;\n    height: 9px;\n    flex: 0 0 9px;\n    background: #777;\n    border-radius: 50%;\n}\n\n.gcp-tv-status.is-live .gcp-tv-status-dot {\n    background: #21c45a;\n    box-shadow: 0 0 0 5px rgba(33, 196, 90, 0.14);\n}\n\n.gcp-tv-live-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    flex: 0 0 auto;\n    padding: 8px 12px;\n    background: #d90000;\n    border-radius: 999px;\n    color: #fff;\n    font-size: 12px;\n    font-weight: 800;\n    letter-spacing: 0.7px;\n    text-transform: uppercase;\n}\n\n.gcp-tv-live-badge::before {\n    content: \"\";\n    width: 8px;\n    height: 8px;\n    background: #fff;\n    border-radius: 50%;\n    animation: gcp-live-pulse 1.3s ease-in-out infinite;\n}\n\n.gcp-tv-screen {\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    background: #000;\n    border-radius: 16px;\n    aspect-ratio: 16 \/ 9;\n}\n\n.gcp-tv-video {\n    display: block;\n    width: 100%;\n    height: 100%;\n    background: #000;\n    object-fit: contain;\n}\n\n\/* Capa inicial y errores *\/\n.gcp-tv-overlay {\n    position: absolute;\n    inset: 0;\n    z-index: 5;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 24px;\n    background:\n        linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.78));\n    text-align: center;\n    transition:\n        opacity 0.25s ease,\n        visibility 0.25s ease;\n}\n\n.gcp-tv-overlay.is-hidden {\n    visibility: hidden;\n    opacity: 0;\n    pointer-events: none;\n}\n\n.gcp-tv-overlay-content {\n    width: min(100%, 520px);\n}\n\n.gcp-tv-overlay-icon {\n    display: block;\n    margin-bottom: 12px;\n    font-size: 48px;\n}\n\n.gcp-tv-overlay-title {\n    margin: 0 0 8px;\n    color: #fff;\n    font-size: clamp(21px, 4vw, 30px);\n}\n\n.gcp-tv-overlay-message {\n    margin: 0 0 18px;\n    color: #d4d4d4;\n    font-size: 15px;\n    line-height: 1.6;\n}\n\n.gcp-tv-start-button,\n.gcp-tv-retry-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 9px;\n    min-height: 48px;\n    padding: 12px 22px;\n    border: 0;\n    border-radius: 999px;\n    background: var(--gcp-accent);\n    color: #fff;\n    font-size: 15px;\n    font-weight: 800;\n    cursor: pointer;\n    transition:\n        transform 0.2s ease,\n        filter 0.2s ease;\n}\n\n.gcp-tv-start-button:hover,\n.gcp-tv-retry-button:hover {\n    transform: translateY(-2px);\n    filter: brightness(1.08);\n}\n\n\/* Cargando *\/\n.gcp-tv-loader {\n    display: none;\n    position: absolute;\n    inset: 0;\n    z-index: 4;\n    align-items: center;\n    justify-content: center;\n    pointer-events: none;\n}\n\n.gcp-tv-loader.is-visible {\n    display: flex;\n}\n\n.gcp-tv-spinner {\n    width: 52px;\n    height: 52px;\n    border: 5px solid rgba(255, 255, 255, 0.2);\n    border-top-color: var(--gcp-accent);\n    border-radius: 50%;\n    animation: gcp-spinner 0.8s linear infinite;\n}\n\n\/* Barra inferior informativa *\/\n.gcp-tv-info {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 14px;\n    margin-top: 14px;\n    padding: 12px 14px;\n    background: rgba(255, 255, 255, 0.04);\n    border-radius: 12px;\n}\n\n.gcp-tv-info-text {\n    min-width: 0;\n}\n\n.gcp-tv-info strong {\n    display: block;\n    margin-bottom: 4px;\n    color: #fff;\n}\n\n.gcp-tv-info small {\n    display: block;\n    overflow: hidden;\n    color: #aaa;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n}\n\n.gcp-tv-actions {\n    display: flex;\n    flex: 0 0 auto;\n    gap: 8px;\n}\n\n.gcp-tv-action {\n    min-height: 40px;\n    padding: 9px 13px;\n    border: 1px solid rgba(255, 255, 255, 0.14);\n    border-radius: 10px;\n    background: rgba(255, 255, 255, 0.06);\n    color: #fff;\n    font-weight: 700;\n    cursor: pointer;\n}\n\n.gcp-tv-action:hover {\n    background: rgba(255, 255, 255, 0.12);\n}\n\n@keyframes gcp-spinner {\n    to {\n        transform: rotate(360deg);\n    }\n}\n\n@keyframes gcp-live-pulse {\n    0%,\n    100% {\n        opacity: 1;\n    }\n\n    50% {\n        opacity: 0.35;\n    }\n}\n\n@media (max-width: 700px) {\n    .gcp-tv-player {\n        margin: 14px auto;\n        padding: 10px;\n        border-radius: 14px;\n    }\n\n    .gcp-tv-screen {\n        border-radius: 10px;\n    }\n\n    .gcp-tv-header {\n        align-items: flex-start;\n    }\n\n    .gcp-tv-info {\n        align-items: stretch;\n        flex-direction: column;\n    }\n\n    .gcp-tv-actions {\n        width: 100%;\n    }\n\n    .gcp-tv-action {\n        flex: 1;\n    }\n}\n<\/style>\n\n<section class=\"gcp-tv-player\" id=\"gcpTvPlayer\">\n    <div class=\"gcp-tv-header\">\n        <div class=\"gcp-tv-heading\">\n            <h2>Televisi\u00f3n en vivo<\/h2>\n\n            <p class=\"gcp-tv-status\" id=\"gcpTvStatus\">\n                <span class=\"gcp-tv-status-dot\"><\/span>\n                <span id=\"gcpTvStatusText\">Preparando se\u00f1al\u2026<\/span>\n            <\/p>\n        <\/div>\n\n        <span class=\"gcp-tv-live-badge\">En vivo<\/span>\n    <\/div>\n\n    <div class=\"gcp-tv-screen\" id=\"gcpTvScreen\">\n        <video\n            class=\"gcp-tv-video\"\n            id=\"gcpHlsVideo\"\n            controls\n            playsinline\n            preload=\"metadata\"\n            crossorigin=\"anonymous\"\n        ><\/video>\n\n        <div class=\"gcp-tv-loader\" id=\"gcpTvLoader\">\n            <span class=\"gcp-tv-spinner\"><\/span>\n        <\/div>\n\n        <div class=\"gcp-tv-overlay\" id=\"gcpTvOverlay\">\n            <div class=\"gcp-tv-overlay-content\">\n                <span class=\"gcp-tv-overlay-icon\" id=\"gcpTvOverlayIcon\">\u25b6<\/span>\n\n                <h3 class=\"gcp-tv-overlay-title\" id=\"gcpTvOverlayTitle\">\n                    Se\u00f1al de televisi\u00f3n\n                <\/h3>\n\n                <p class=\"gcp-tv-overlay-message\" id=\"gcpTvOverlayMessage\">\n                    Pulsa el bot\u00f3n para iniciar la transmisi\u00f3n en vivo.\n                <\/p>\n\n                <button\n                    type=\"button\"\n                    class=\"gcp-tv-start-button\"\n                    id=\"gcpTvStartButton\"\n                >\n                    \u25b6 Ver transmisi\u00f3n\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"gcp-tv-info\">\n        <div class=\"gcp-tv-info-text\">\n            <strong>Canal en vivo<\/strong>\n            <small id=\"gcpTvTechnicalStatus\">HLS \u00b7 Calidad autom\u00e1tica<\/small>\n        <\/div>\n\n        <div class=\"gcp-tv-actions\">\n            <button\n                type=\"button\"\n                class=\"gcp-tv-action\"\n                id=\"gcpTvReload\"\n            >\n                \u21bb Recargar\n            <\/button>\n\n            <button\n                type=\"button\"\n                class=\"gcp-tv-action\"\n                id=\"gcpTvFullscreen\"\n            >\n                \u26f6 Pantalla completa\n            <\/button>\n        <\/div>\n    <\/div>\n<\/section>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@1\/dist\/hls.min.js\"><\/script>\n\n<script>\n(function () {\n    \"use strict\";\n\n    const STREAM_URL =\n        \"https:\/\/lbgo.bozztv.com\/ssh101\/ssh101\/retyroxtv\/chunks.m3u8?lb_backend_hint=7\";\n\n    const video = document.getElementById(\"gcpHlsVideo\");\n    const playerContainer = document.getElementById(\"gcpTvPlayer\");\n    const screen = document.getElementById(\"gcpTvScreen\");\n    const overlay = document.getElementById(\"gcpTvOverlay\");\n    const overlayIcon = document.getElementById(\"gcpTvOverlayIcon\");\n    const overlayTitle = document.getElementById(\"gcpTvOverlayTitle\");\n    const overlayMessage = document.getElementById(\"gcpTvOverlayMessage\");\n    const startButton = document.getElementById(\"gcpTvStartButton\");\n    const loader = document.getElementById(\"gcpTvLoader\");\n    const status = document.getElementById(\"gcpTvStatus\");\n    const statusText = document.getElementById(\"gcpTvStatusText\");\n    const technicalStatus = document.getElementById(\"gcpTvTechnicalStatus\");\n    const reloadButton = document.getElementById(\"gcpTvReload\");\n    const fullscreenButton = document.getElementById(\"gcpTvFullscreen\");\n\n    let hls = null;\n    let started = false;\n    let recoveryAttempts = 0;\n    const MAX_RECOVERY_ATTEMPTS = 3;\n\n    function setLoading(isLoading) {\n        loader.classList.toggle(\"is-visible\", isLoading);\n    }\n\n    function setStatus(message, isLive) {\n        statusText.textContent = message;\n        status.classList.toggle(\"is-live\", Boolean(isLive));\n    }\n\n    function hideOverlay() {\n        overlay.classList.add(\"is-hidden\");\n    }\n\n    function showOverlay(options) {\n        const config = Object.assign(\n            {\n                icon: \"\u26a0\",\n                title: \"No se pudo reproducir\",\n                message: \"La se\u00f1al no est\u00e1 disponible temporalmente.\",\n                button: \"Reintentar\"\n            },\n            options || {}\n        );\n\n        overlayIcon.textContent = config.icon;\n        overlayTitle.textContent = config.title;\n        overlayMessage.textContent = config.message;\n        startButton.textContent = config.button;\n        startButton.className = \"gcp-tv-retry-button\";\n        overlay.classList.remove(\"is-hidden\");\n    }\n\n    function destroyCurrentStream() {\n        if (hls) {\n            hls.destroy();\n            hls = null;\n        }\n\n        video.pause();\n        video.removeAttribute(\"src\");\n        video.load();\n    }\n\n    function tryPlay() {\n        const playPromise = video.play();\n\n        if (playPromise && typeof playPromise.catch === \"function\") {\n            playPromise.catch(function () {\n                \/*\n                 * El navegador puede bloquear el autoplay.\n                 * El usuario podr\u00e1 iniciar la reproducci\u00f3n con los controles.\n                 *\/\n                setStatus(\"Pulsa reproducir para comenzar\", false);\n                technicalStatus.textContent =\n                    \"La se\u00f1al est\u00e1 lista \u00b7 Autoplay bloqueado\";\n            });\n        }\n    }\n\n    function loadNativeHls() {\n        technicalStatus.textContent = \"HLS nativo \u00b7 Calidad autom\u00e1tica\";\n        video.src = STREAM_URL;\n\n        video.addEventListener(\n            \"loadedmetadata\",\n            function () {\n                setLoading(false);\n                setStatus(\"Se\u00f1al conectada\", true);\n                hideOverlay();\n                tryPlay();\n            },\n            { once: true }\n        );\n\n        video.addEventListener(\n            \"error\",\n            function () {\n                setLoading(false);\n                showOverlay({\n                    title: \"Error de reproducci\u00f3n\",\n                    message:\n                        \"El navegador no pudo abrir la se\u00f1al HLS nativa.\",\n                    button: \"Volver a intentar\"\n                });\n                setStatus(\"Se\u00f1al no disponible\", false);\n            },\n            { once: true }\n        );\n    }\n\n    function loadWithHlsJs() {\n        hls = new Hls({\n            enableWorker: true,\n            lowLatencyMode: true,\n            backBufferLength: 60,\n            maxBufferLength: 30,\n            maxMaxBufferLength: 60\n        });\n\n        technicalStatus.textContent =\n            \"hls.js \u00b7 Detectando calidad autom\u00e1ticamente\";\n\n        hls.loadSource(STREAM_URL);\n        hls.attachMedia(video);\n\n        hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {\n            recoveryAttempts = 0;\n            setLoading(false);\n            setStatus(\"Se\u00f1al conectada\", true);\n            hideOverlay();\n\n            const levels = data && data.levels ? data.levels.length : 0;\n\n            technicalStatus.textContent = levels > 1\n                ? \"HLS \u00b7 \" + levels + \" calidades disponibles\"\n                : \"HLS \u00b7 Calidad autom\u00e1tica\";\n\n            tryPlay();\n        });\n\n        hls.on(Hls.Events.LEVEL_SWITCHED, function (event, data) {\n            const level = hls.levels[data.level];\n\n            if (level && level.height) {\n                technicalStatus.textContent =\n                    \"HLS \u00b7 \" + level.height + \"p \u00b7 En vivo\";\n            }\n        });\n\n        hls.on(Hls.Events.ERROR, function (event, data) {\n            if (!data.fatal) {\n                return;\n            }\n\n            recoveryAttempts += 1;\n\n            if (recoveryAttempts > MAX_RECOVERY_ATTEMPTS) {\n                setLoading(false);\n                setStatus(\"Se\u00f1al interrumpida\", false);\n\n                showOverlay({\n                    title: \"Transmisi\u00f3n no disponible\",\n                    message:\n                        \"La se\u00f1al no respondi\u00f3 despu\u00e9s de varios intentos. Puede estar fuera de l\u00ednea o bloqueando la reproducci\u00f3n externa.\",\n                    button: \"Reintentar se\u00f1al\"\n                });\n\n                destroyCurrentStream();\n                return;\n            }\n\n            switch (data.type) {\n                case Hls.ErrorTypes.NETWORK_ERROR:\n                    setStatus(\"Reconectando se\u00f1al\u2026\", false);\n                    technicalStatus.textContent =\n                        \"Error de red \u00b7 Intentando reconectar\";\n                    hls.startLoad();\n                    break;\n\n                case Hls.ErrorTypes.MEDIA_ERROR:\n                    setStatus(\"Recuperando video\u2026\", false);\n                    technicalStatus.textContent =\n                        \"Error multimedia \u00b7 Recuperando\";\n                    hls.recoverMediaError();\n                    break;\n\n                default:\n                    destroyCurrentStream();\n                    startStream();\n                    break;\n            }\n        });\n    }\n\n    function startStream() {\n        destroyCurrentStream();\n\n        started = true;\n        recoveryAttempts = 0;\n\n        setLoading(true);\n        setStatus(\"Conectando con la se\u00f1al\u2026\", false);\n        technicalStatus.textContent = \"Cargando transmisi\u00f3n HLS\u2026\";\n\n        \/*\n         * Safari y algunos dispositivos Apple reproducen HLS\n         * directamente mediante la etiqueta video.\n         *\/\n        if (video.canPlayType(\"application\/vnd.apple.mpegurl\")) {\n            loadNativeHls();\n            return;\n        }\n\n        \/*\n         * Chrome, Edge, Firefox y muchos dispositivos Android\n         * utilizan hls.js mediante Media Source Extensions.\n         *\/\n        if (window.Hls && Hls.isSupported()) {\n            loadWithHlsJs();\n            return;\n        }\n\n        setLoading(false);\n        setStatus(\"Navegador incompatible\", false);\n\n        showOverlay({\n            icon: \"!\",\n            title: \"Navegador no compatible\",\n            message:\n                \"Este navegador no permite reproducir transmisiones HLS.\",\n            button: \"Intentar nuevamente\"\n        });\n    }\n\n    startButton.addEventListener(\"click\", function () {\n        startStream();\n    });\n\n    reloadButton.addEventListener(\"click\", function () {\n        startStream();\n    });\n\n    fullscreenButton.addEventListener(\"click\", function () {\n        if (document.fullscreenElement) {\n            document.exitFullscreen();\n            return;\n        }\n\n        if (screen.requestFullscreen) {\n            screen.requestFullscreen();\n        } else if (video.webkitEnterFullscreen) {\n            video.webkitEnterFullscreen();\n        }\n    });\n\n    video.addEventListener(\"waiting\", function () {\n        if (started) {\n            setLoading(true);\n            setStatus(\"Almacenando se\u00f1al\u2026\", false);\n        }\n    });\n\n    video.addEventListener(\"playing\", function () {\n        setLoading(false);\n        setStatus(\"Transmitiendo en vivo\", true);\n        hideOverlay();\n    });\n\n    video.addEventListener(\"pause\", function () {\n        if (!video.ended && video.currentTime > 0) {\n            setStatus(\"Transmisi\u00f3n pausada\", false);\n        }\n    });\n\n    video.addEventListener(\"ended\", function () {\n        setStatus(\"La transmisi\u00f3n termin\u00f3\", false);\n    });\n\n    window.addEventListener(\"beforeunload\", function () {\n        destroyCurrentStream();\n    });\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\">MR. BEAN<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/amg00627-amg00627c40-rakuten-uk-5725.playouts.now.amagi.tv\/ts-eu-w1-n2\/playlist\/amg00627-banijayfast-mrbeanpopupcc-rakutenuk\/cb7f3e167b726f8c9aca353086f840aa8855678b0135dd6365fe52c576cb180c80bcfbc4e54aec4a03e24094385631004262d519ce64669e802ef716776c69108a99b265d992026eeb86092e21a3321855e71e6490650f77eeec18238c29fa2c5644a65a38167aa6953dd00a4ed5dc53d02a39fcf88e3a66644a2cc71f02b8f541a2fbe84345c66cbfb10c2bc47914a5db5dccd71ba583d2498a41d27ff7469d94f096d41787858c62a801b379515c2628d4817895cc05e4dfc83e6a98281a75743a8e0b716e2f46e477661e9ccfcead708d6ba4eb16a010f93f9dfa35e903857ebe01e7c043a5bfb2dc433b59eea409234fa4947c7c0b5a29cb2e5bdba9fce27f35d727d80da54cd527393193fc84388dce14ac7b42efbb441222c99d499ad2e7cdbff0c57d952bcec8e38b7d6c7a235552c80df9da5ad2278b2cf38e0b770804048c8a45c883ee5b32494692cf0b874455ea8dcbcbf4260fe74c571ae469d25e454bc9376773ac6dda922e63842345d46164b5087bd00cacf81ff4a1daf70f74e08d900cac399dc060b8c10ba769334e11f3a37c2d22624990bf36436003802f82f4c5ee7005059687eef6d25c3502795a123b82ece37f8c9d824e3913d258326f641a74c7538e89beefc3c19caf26aa79f1dadf84352daec6b0b42d12b6\/178\/426x240_411840\/index.m3u8\"><\/video><\/figure>\n\n\n\n<!-- CORRECCIONES REALIZADAS:\n\u2714 Se elimin\u00f3 el bot\u00f3n HTML mal colocado dentro del CSS\n\u2714 Se corrigi\u00f3 el error del HLS\/video\n\u2714 Se arregl\u00f3 el cierre de llaves y par\u00e9ntesis\n\u2714 Se corrigi\u00f3 loadStation()\n\u2714 Se eliminaron algunos canales repetidos\n\u2714 Se dejaron solo enlaces m\u00e1s estables\n\u2714 Se mejor\u00f3 el reproductor M3U8\n\u2714 Se agreg\u00f3 control de errores\n-->\n\n<link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/5.15.4\/css\/all.min.css\" rel=\"stylesheet\"\/>\n\n<style>\n*{\n  margin:0;\n  padding:0;\n  box-sizing:border-box;\n}\n\nbody{\n  font-family:Arial,sans-serif;\n  background:#111;\n  color:#fff;\n  padding:20px;\n}\n\n.container{\n  max-width:480px;\n  margin:auto;\n  background:#1f2937;\n  border-radius:20px;\n  padding:20px;\n}\n\n.radio-header{\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-bottom:20px;\n}\n\n.radio-header h1{\n  color:#ec4899;\n}\n\n.live{\n  display:flex;\n  align-items:center;\n  gap:8px;\n}\n\n.live-dot{\n  width:12px;\n  height:12px;\n  background:#22c55e;\n  border-radius:50%;\n}\n\n.station-banner{\n  text-align:center;\n  margin-bottom:20px;\n}\n\n.station-banner img{\n  width:160px;\n  height:160px;\n  border-radius:20px;\n  object-fit:cover;\n}\n\n.station-info h2{\n  margin-top:10px;\n}\n\n.controls{\n  display:flex;\n  justify-content:center;\n  gap:20px;\n  margin:20px 0;\n}\n\n.btn{\n  width:60px;\n  height:60px;\n  border:none;\n  border-radius:50%;\n  cursor:pointer;\n  background:#374151;\n  color:#fff;\n  font-size:22px;\n}\n\n.btn.play{\n  background:#ec4899;\n  width:75px;\n  height:75px;\n}\n\n#btn-video{\n  width:100%;\n  padding:12px;\n  border:none;\n  border-radius:12px;\n  background:#8b5cf6;\n  color:#fff;\n  cursor:pointer;\n  font-size:16px;\n}\n\n.playlist{\n  margin-top:20px;\n}\n\n.station-list{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:10px;\n}\n\n.station-item{\n  background:#374151;\n  border-radius:12px;\n  padding:10px;\n  text-align:center;\n  cursor:pointer;\n}\n\n.station-item.active{\n  background:#ec4899;\n}\n\n.station-item img{\n  width:70px;\n  height:70px;\n  object-fit:cover;\n  border-radius:12px;\n  margin-bottom:10px;\n}\n\n\/* MODAL VIDEO *\/\n\n#modal-video{\n  display:none;\n  position:fixed;\n  inset:0;\n  background:rgba(0,0,0,.9);\n  justify-content:center;\n  align-items:center;\n  z-index:9999;\n}\n\n#modal-video.show{\n  display:flex;\n}\n\n#modal-video-content{\n  width:90%;\n  max-width:900px;\n  aspect-ratio:16\/9;\n  background:#000;\n  position:relative;\n}\n\n#video-player{\n  width:100%;\n  height:100%;\n}\n\n#cerrar-video{\n  position:absolute;\n  top:10px;\n  right:10px;\n  width:40px;\n  height:40px;\n  border:none;\n  border-radius:50%;\n  background:#ec4899;\n  color:#fff;\n  font-size:22px;\n  cursor:pointer;\n  z-index:10;\n}\n<\/style>\n\n<div class=\"container\">\n\n  <header class=\"radio-header\">\n    <h1>Radio + TV Player<\/h1>\n\n    <div class=\"live\">\n      <div class=\"live-dot\"><\/div>\n      EN VIVO\n    <\/div>\n  <\/header>\n\n  <div class=\"station-banner\">\n    <img decoding=\"async\" id=\"station-logo\" src=\"\">\n    \n    <div class=\"station-info\">\n      <h2 id=\"station-name\"><\/h2>\n      <p id=\"station-freq\"><\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"controls\">\n    <button class=\"btn\" onclick=\"prevStation()\">\n      <i class=\"fas fa-backward\"><\/i>\n    <\/button>\n\n    <button class=\"btn play\" id=\"play-btn\">\n      <i id=\"play-icon\" class=\"fas fa-play\"><\/i>\n    <\/button>\n\n    <button class=\"btn\" onclick=\"nextStation()\">\n      <i class=\"fas fa-forward\"><\/i>\n    <\/button>\n  <\/div>\n\n  <button id=\"btn-video\">\n    \u25b6 VER CANAL TV\n  <\/button>\n\n  <div class=\"playlist\">\n    <div id=\"station-list\" class=\"station-list\"><\/div>\n  <\/div>\n\n<\/div>\n\n<audio id=\"audio\"><\/audio>\n\n<!-- MODAL -->\n\n<div id=\"modal-video\">\n\n  <div id=\"modal-video-content\">\n\n    <button id=\"cerrar-video\">\u00d7<\/button>\n\n    <video\n      id=\"video-player\"\n      controls\n      autoplay\n      playsinline>\n    <\/video>\n\n  <\/div>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script>\n\n<script>\n\nconst stations = [\n\n{\nname:\"LA VOZ PERU\",\nfreq:\"TV EN LINEA\",\nurl:\"https:\/\/stream.zeno.fm\/jqmfghcszwlvv\",\nlogo:\"https:\/\/i.postimg.cc\/85z90095\/radio-la-voz-peru-la-firme.png\",\ntv:\"https:\/\/live20.bozztv.com\/akamaissh101\/ssh101\/ucchullo\/playlist.m3u8\"\n},\n\n{\nname:\"latin\",\nfreq:\"latina\",\nurl:\"https:\/\/stream-51.zeno.fm\/hpttv0nr4a0uv?zs=iiu2UdOAQ9GQ8K_EL19oQw\",\nlogo:\"https:\/\/i.postimg.cc\/jdF4ydzC\/rock-de-los-80.png\",\ntv:\"https:\/\/jireh-9-hls-video-us-isp.dps.live\/hls-video\/567ffde3fa319fadf3419efda25619456231dfea\/latinanoticias\/latinanoticias.smil\/latinanoticias\/livestream2\/chunks.m3u8?dpssid=b211934004269fbb0f554e34&sid=ba5t1l1xb273784619569fbb0f65fe4c&ndvc=0\"\n},\n\n{\nname:\"CUMBIAY RADIO\",\nfreq:\"VISION HD\",\nurl:\"https:\/\/stream.zeno.fm\/5g8ii1ncoiwuv\",\nlogo:\"https:\/\/i.postimg.cc\/BbD1rDhV\/CUMBIAY-RADIO.png\",\ntv:\"https:\/\/live20.bozztv.com\/akamaissh101\/ssh101\/visionhdrd\/playlist.m3u8\"\n},\n\n{\nname:\"VOCES PERUANAS\",\nfreq:\"UVA TV\",\nurl:\"https:\/\/stream.zeno.fm\/zhiunct47shtv\",\nlogo:\"https:\/\/i.postimg.cc\/mr0cY4Gs\/VOCES-P-RUANAS.png\",\ntv:\"https:\/\/live20.bozztv.com\/akamaissh101\/ssh101\/uvatvdh\/playlist.m3u8\"\n},\n{\nname:\"voves peruanas\",\nfreq:\"latina\",\nurl:\"https:\/\/stream.zeno.fm\/zhiunct47shtv\",\nlogo:\"https:\/\/i.postimg.cc\/mr0cY4Gs\/VOCES-P-RUANAS.png\",\ntv:\"https:\/\/jireh-9-hls-video-us-isp.dps.live\/hls-video\/567ffde3fa319fadf3419efda25619456231dfea\/latinanoticias\/latinanoticias.smil\/latinanoticias\/livestream2\/chunks.m3u8?dpssid=b211934004269fbb0f554e34&sid=ba5t1l1xb273784619569fbb0f65fe4c&ndvc=0\"\n},\n{\nname:\"poder wanca\",\nfreq:\"latina\",\nurl:\"https:\/\/i.postimg.cc\/mr0cY4Gs\/VOCES-P-RUANAS.png\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/tpWX7UerL1cUIZuKxBgDD6bnNs3fEwcZ54gWg5s3N1U\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJREF3cTd2Z3dvTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJREkxcDcwdmdzTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTY2MTYyNzc5NzAwMA.webp\",\ntv:\"https:\/\/jireh-9-hls-video-us-isp.dps.live\/hls-video\/567ffde3fa319fadf3419efda25619456231dfea\/latinanoticias\/latinanoticias.smil\/latinanoticias\/livestream2\/chunks.m3u8?dpssid=b211934004269fbb0f554e34&sid=ba5t1l1xb273784619569fbb0f65fe4c&ndvc=0\"\n},\n{\nname:\"full chichas\",\nfreq:\"sumac tv\",\nurl:\"https:\/\/stream-157.zeno.fm\/zwytkt2pgf9uv?zt\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/9q-sbNX7cW4gl0VPhY42t0mclIv9dVUuMZoR-ZP6tY4\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJQ1ExcUhsNGdvTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJRHduZDJwcGdzTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTY2MDg1MjQ0MzAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/makins\/chunks.m3u8\"\n},\n{\nname:\"la RIBERE\u00d1A\",\nfreq:\"el mago TV\",\nurl:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/elmagotv2\/chunks.m3u8\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/jxRWn-NPwDCgA819A-_fn0TqTpGdl0n0334Reg-m2Mo\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJRGctTG1mMndvTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJRGc2TGVDNXdvTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTcxNzAxMzMwMTAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/elmagotv2\/chunks.m3u8\"\n},\n{\nname:\"radio yunguyo\",\nfreq:\"tv en linea cuzco\",\nurl:\"https:\/\/stream-167.zeno.fm\/671md145hwzuv?zt\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/1fnTieOpPoKHgwMLJgWZPfpmO8vwDlgrLG913WX9sbk\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJQ1E4Tld1elFzTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJQ1FtUFBCNlFnTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTY2MTU0ODYyMjAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/ucchullo\/chunks.m3u8\"\n},\n{\nname:\"cuzco legal\",\nfreq:\"tv ayacucho\",\nurl:\"https:\/\/stream-158.zeno.fm\/ryrhxgus0wzuv?zt\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/fPzZN4zvNtw-ieMCQDUBjYTDiGuos0Ontr-qDteWBkU\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJQ1FyTGo0cUFvTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJQ1F6UDdGeXdzTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTY4NzI4ODk1OTAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/canal33ayacucho\/chunks.m3u8\"\n},\n{\nname:\"la sure\u00f1a\",\nfreq:\"pantalla clasica\",\nurl:\"https:\/\/stream-155.zeno.fm\/bg4qy23suxhvv?zt\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/wtweicIxQ4k8Mx0hBCFTsJgIUi2Z2NKidL1GH0ujjVc\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJRElydl96elFrTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJRElqdTd3N1FvTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTcyODk4OTAwODAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/pantallaclasics\/chunks.m3u8\"\n},\n{\nname:\"arequipa clasica\",\nfreq:\"tucuman\",\nurl:\"https:\/\/stream.zeno.fm\/h20h3vrrm2zuv?an-uid\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/T8-8PdELZAbYW5hkkqLPanpdl_Vs8hO8JSvA35W5MmY\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvYWd4emZucGxibTh0YzNSaGRITnlNZ3NTQ2tGMWRHaERiR2xsYm5RWWdJQ1FuczZ6LUFrTUN4SU9VM1JoZEdsdmJsQnliMlpwYkdVWWdJQ1FtYno1c1FnTW9nRUVlbVZ1YncvaW1hZ2UvP3U9MTcyOTM3ODYzMzAwMA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/lavoztuc\/chunks.m3u8\"\n},\n{\nname:\"onda azul\",\nfreq:\"martin tv\",\nurl:\"https:\/\/stream-162.zeno.fm\/eqotxvldgmpvv?zt\",\nlogo:\"https:\/\/zeno.fm\/_ipx\/s_144x144\/https:\/\/images.zeno.fm\/fSgf1EHjyP9Bp1CI2e8XrDhIyEA_4FRXei0iaWVC-gE\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvZDc0YmQ3ZGQtMWZkNi00OTA3LWJhZTUtNTk1NjRiNGVjMTI4L2ltYWdlLz91PTE2ODg2NjAyMTkwMDA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/lllmartinlll\/chunks.m3u8\"\n},\n{\nname:\"radio total\",\nfreq:\"ciudad magica\",\nurl:\"https:\/\/stream.zeno.fm\/buubpev72b9vv\",\nlogo:\"https:\/\/i.postimg.cc\/vZT7HPZJ\/RADIO-TOTAL500-X-500.png\",\ntv:\"https:\/\/live20.bozztv.com\/akamaissh101\/ssh101\/verycoolfgr\/playlist.m3u8\"\n},\n{\nname:\"cumbiay\",\nfreq:\"vision hd multimedia\",\nurl:\"https:\/\/stream.zeno.fm\/5g8ii1ncoiwuv\",\nlogo:\"https:\/\/i.postimg.cc\/BbD1rDhV\/CUMBIAY-RADIO.png\",\ntv:\"https:\/\/live20.bozztv.com\/akamaissh101\/ssh101\/visionhdrd\/playlist.m3u8\"\n},\n\n{\nname:\"siscoveri\",\nfreq:\"pachamama\",\nurl:\"https:\/\/stream-164.zeno.fm\/7heuhyl3swvvv?zt\",\nlogo:\"https:\/\/images.zeno.fm\/cq4x0x1UzbtlFYimKk37EGO-xdyoEXwSPu1blCA9a_Q\/rs:fill:288:288\/g:ce:0:0\/aHR0cHM6Ly9wcm94eS56ZW5vLmZtL2NvbnRlbnQvc3RhdGlvbnMvOTc2MzUyMmEtOGVhYi00M2YyLTg1ZTItYTgyZDZhYmUxZTdjL2ltYWdlLz91PTE2OTMwMTI1MTUwMDA.webp\",\ntv:\"https:\/\/183.bozztv.com\/ssh101\/ssh101\/jnetv\/chunks.m3u8\"\n}\n\n];\n\nlet currentStation = 0;\nlet isPlaying = false;\nlet hls;\n\nconst audio = document.getElementById(\"audio\");\nconst stationName = document.getElementById(\"station-name\");\nconst stationFreq = document.getElementById(\"station-freq\");\nconst stationLogo = document.getElementById(\"station-logo\");\nconst stationList = document.getElementById(\"station-list\");\nconst btnVideo = document.getElementById(\"btn-video\");\nconst modalVideo = document.getElementById(\"modal-video\");\nconst cerrarVideo = document.getElementById(\"cerrar-video\");\nconst video = document.getElementById(\"video-player\");\n\nfunction loadStation(index){\n\n  currentStation = index;\n\n  const station = stations[index];\n\n  stationName.textContent = station.name;\n  stationFreq.textContent = station.freq;\n  stationLogo.src = station.logo;\n\n  audio.src = station.url;\n\n  btnVideo.dataset.video = station.tv;\n\n  if(isPlaying){\n    audio.play();\n  }\n\n  highlightStation();\n}\n\nfunction highlightStation(){\n\n  [...stationList.children].forEach((el,i)=>{\n    el.classList.toggle(\"active\",i===currentStation);\n  });\n\n}\n\nfunction playPause(){\n\n  if(!isPlaying){\n\n    audio.play();\n\n    document.getElementById(\"play-icon\")\n    .className = \"fas fa-pause\";\n\n  }else{\n\n    audio.pause();\n\n    document.getElementById(\"play-icon\")\n    .className = \"fas fa-play\";\n  }\n\n  isPlaying = !isPlaying;\n}\n\nfunction nextStation(){\n\n  currentStation++;\n\n  if(currentStation >= stations.length){\n    currentStation = 0;\n  }\n\n  loadStation(currentStation);\n}\n\nfunction prevStation(){\n\n  currentStation--;\n\n  if(currentStation < 0){\n    currentStation = stations.length - 1;\n  }\n\n  loadStation(currentStation);\n}\n\ndocument.getElementById(\"play-btn\")\n.addEventListener(\"click\",playPause);\n\nstations.forEach((station,i)=>{\n\n  const div = document.createElement(\"div\");\n\n  div.className = \"station-item\";\n\n  div.innerHTML = `\n    <img decoding=\"async\" src=\"${station.logo}\">\n    <strong>${station.name}<\/strong>\n    <small>${station.freq}<\/small>\n  `;\n\n  div.onclick = ()=>loadStation(i);\n\n  stationList.appendChild(div);\n\n});\n\nloadStation(0);\n\naudio.addEventListener(\"error\",()=>{\n  alert(\"Radio no disponible\");\n});\n\n\/* VIDEO *\/\n\nbtnVideo.addEventListener(\"click\",()=>{\n\n  const url = btnVideo.dataset.video;\n\n  modalVideo.classList.add(\"show\");\n\n  if(Hls.isSupported()){\n\n    if(hls){\n      hls.destroy();\n    }\n\n    hls = new Hls();\n\n    hls.loadSource(url);\n\n    hls.attachMedia(video);\n\n    hls.on(Hls.Events.MANIFEST_PARSED,function(){\n\n      video.play();\n\n    });\n\n  }else{\n\n    video.src = url;\n    video.play();\n  }\n\n});\n\nfunction closeVideo(){\n\n  modalVideo.classList.remove(\"show\");\n\n  video.pause();\n\n  if(hls){\n    hls.destroy();\n  }\n\n}\n\ncerrarVideo.addEventListener(\"click\",closeVideo);\n\nmodalVideo.addEventListener(\"click\",(e)=>{\n\n  if(e.target === modalVideo){\n    closeVideo();\n  }\n\n});\n\n<\/script>\n\n\n\n\u00ab`html\n<style>\n\/* ========================================\n   SLIDER GOOGLE CUMBIA PARA WORDPRESS\n======================================== *\/\n\n.gcp-marquee-slider,\n.gcp-marquee-slider * {\n    box-sizing: border-box;\n}\n\n.gcp-marquee-slider {\n    --gcp-slider-height: 310px;\n    --gcp-slider-gap: 12px;\n    --gcp-slider-speed: 38s;\n\n    position: relative;\n    width: 100%;\n    max-width: 1200px;\n    margin: 25px auto;\n    overflow: hidden;\n    background: #000;\n    border-radius: 16px;\n    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);\n}\n\n\/* Degradado en los bordes *\/\n.gcp-marquee-slider::before,\n.gcp-marquee-slider::after {\n    content: \"\";\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    z-index: 5;\n    width: 55px;\n    pointer-events: none;\n}\n\n.gcp-marquee-slider::before {\n    left: 0;\n    background: linear-gradient(to right, #000, transparent);\n}\n\n.gcp-marquee-slider::after {\n    right: 0;\n    background: linear-gradient(to left, #000, transparent);\n}\n\n\/* Pista animada *\/\n.gcp-marquee-track {\n    display: flex;\n    align-items: center;\n    width: max-content;\n    animation: gcp-marquee-move var(--gcp-slider-speed) linear infinite;\n    will-change: transform;\n}\n\n\/* Pausar al pasar el mouse *\/\n.gcp-marquee-slider:hover .gcp-marquee-track,\n.gcp-marquee-slider.is-paused .gcp-marquee-track {\n    animation-play-state: paused;\n}\n\n\/* Grupo duplicado para movimiento continuo *\/\n.gcp-marquee-group {\n    display: flex;\n    align-items: center;\n    gap: var(--gcp-slider-gap);\n    padding-right: var(--gcp-slider-gap);\n}\n\n\/* Cada banner *\/\n.gcp-marquee-item {\n    position: relative;\n    display: block;\n    flex: 0 0 auto;\n    height: var(--gcp-slider-height);\n    overflow: hidden;\n    background: #111;\n    border-radius: 12px;\n    text-decoration: none;\n    transition:\n        transform 0.25s ease,\n        opacity 0.25s ease;\n}\n\n.gcp-marquee-item:hover {\n    z-index: 3;\n    transform: scale(1.025);\n}\n\n\/* Imagen completa, sin deformarse *\/\n.gcp-marquee-item img {\n    display: block;\n    width: auto;\n    max-width: 900px;\n    height: 100%;\n    object-fit: contain;\n    object-position: center;\n    border: 0;\n}\n\n\/* Texto alternativo visual *\/\n.gcp-marquee-title {\n    position: absolute;\n    right: 10px;\n    bottom: 10px;\n    left: 10px;\n    padding: 8px 12px;\n    overflow: hidden;\n    background: rgba(0, 0, 0, 0.72);\n    border-radius: 8px;\n    color: #fff;\n    font-size: 13px;\n    font-weight: 700;\n    line-height: 1.3;\n    text-align: center;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    opacity: 0;\n    transform: translateY(8px);\n    transition:\n        opacity 0.25s ease,\n        transform 0.25s ease;\n}\n\n.gcp-marquee-item:hover .gcp-marquee-title,\n.gcp-marquee-item:focus-visible .gcp-marquee-title {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n\/* Bot\u00f3n pausar\/reanudar *\/\n.gcp-marquee-control {\n    position: absolute;\n    right: 14px;\n    top: 14px;\n    z-index: 10;\n    display: grid;\n    width: 42px;\n    height: 42px;\n    padding: 0;\n    place-items: center;\n    border: 1px solid rgba(255, 255, 255, 0.25);\n    border-radius: 50%;\n    background: rgba(0, 0, 0, 0.78);\n    color: #fff;\n    font-size: 17px;\n    cursor: pointer;\n    backdrop-filter: blur(7px);\n}\n\n.gcp-marquee-control:hover {\n    background: #ff5a00;\n}\n\n\/* Movimiento infinito *\/\n@keyframes gcp-marquee-move {\n    from {\n        transform: translateX(0);\n    }\n\n    to {\n        transform: translateX(-50%);\n    }\n}\n\n\/* Tablet *\/\n@media (max-width: 900px) {\n    .gcp-marquee-slider {\n        --gcp-slider-height: 240px;\n        border-radius: 12px;\n    }\n\n    .gcp-marquee-item img {\n        max-width: 720px;\n    }\n}\n\n\/* Celular *\/\n@media (max-width: 600px) {\n    .gcp-marquee-slider {\n        --gcp-slider-height: 180px;\n        --gcp-slider-gap: 8px;\n        --gcp-slider-speed: 42s;\n        margin: 15px auto;\n        border-radius: 10px;\n    }\n\n    .gcp-marquee-slider::before,\n    .gcp-marquee-slider::after {\n        width: 25px;\n    }\n\n    .gcp-marquee-item {\n        border-radius: 8px;\n    }\n\n    .gcp-marquee-item img {\n        max-width: 520px;\n    }\n\n    .gcp-marquee-control {\n        top: 9px;\n        right: 9px;\n        width: 38px;\n        height: 38px;\n    }\n}\n\n\/* Accesibilidad: desactivar movimiento si el usuario lo solicita *\/\n@media (prefers-reduced-motion: reduce) {\n    .gcp-marquee-track {\n        animation: none;\n    }\n\n    .gcp-marquee-slider {\n        overflow-x: auto;\n    }\n}\n<\/style>\n\n<div class=\"gcp-marquee-slider\" id=\"gcpMarqueeSlider\">\n    <button type=\"button\" class=\"gcp-marquee-control\" id=\"gcpMarqueeControl\" aria-label=\"Pausar slider\" title=\"Pausar slider\">\n        \u275a\u275a\n    <\/button>\n\n    <div class=\"gcp-marquee-track\" id=\"gcpMarqueeTrack\">\n\n        <!-- GRUPO ORIGINAL -->\n        <div class=\"gcp-marquee-group\">\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/youtu.be\/5J0AZOKh-v4\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Melody Clips\">\n                <img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/cCGxFqsV\/BANDERA-LIUX.png\" alt=\"Melody Clips\" loading=\"eager\">\n                <span class=\"gcp-marquee-title\">Melody Clips<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/orquestabanderafullmelody.on.drv.tw\/html\/html.html\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Radio en vivo\">\n                <img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/qRB1fq1r\/RADIO-LOGO.png\" alt=\"Radio en vivo\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Radio en vivo<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/googlecumbia.blogspot.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Google Cumbia Radio\">\n                <img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/9MqrQt8Y\/logo-de-radio.jpg\" alt=\"Google Cumbia Radio\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Google Cumbia Radio<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.facebook.com\/rabyhuillca\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Nuestra p\u00e1gina en Facebook\">\n                <img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEg5wklMNnSbPbUnWPKSeTsRZNmtjt2HbVADNVfmZgaoioNLCWeHs9CiWPM6sgTy2YFTZOVa8w9jDDrlxMkWrtwEcVMm48S3_ltpbRy18id6Z1OoWT4pdvuTArdGfQELHyZjIbpGn6mAQhGu\/s1600\/fon-raby.jpg\" alt=\"P\u00e1gina de Facebook\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Nuestra p\u00e1gina en Facebook<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.youtube.com\/user\/musicajuliaca\/videos\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Mira nuestros videos en YouTube\">\n                <img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhKaREGIIUHrl4ZDLZPwFrTQBiv2weZCAyVaB6jtLtnuNW6u06x0EtLpDpL9BgewwV2NSveWfGoGGOwFLkeJZxspHg7CHkP5YjKFrwqL4bcbv1HCWpMHefr5YCSkgD1P8NVF8ZU7EMphEju\/s1600\/tarjeta-melody..png\" alt=\"Videos de M\u00fasica Juliaca\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Videos en YouTube<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.youtube.com\/watch?v=9R15aMC_Tm0\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Presentaci\u00f3n en vivo\">\n                <img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/yxvMJ4Sc\/EN-ESCENARIO.png\" alt=\"Presentaci\u00f3n en vivo\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Presentaci\u00f3n en vivo<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.youtube.com\/watch?v=CtHDbpdIddo\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Qu\u00edtame la vida\">\n                <img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEixeX88PGoAuoSRiv_EfakcEYirok-xjJtT_CyPFl-IcVC6tZX-aMCxJ897dbjBDExCXcc7eXbeHWxz6A5cGegeQjUcHgHqURgCJb9MOehiDLMjsI-tlshidwbZPRCyXkzjFn8i-H8nluu9ibw5B1x0vGa-p5yj9VPdyKPnnFI68ZswkkaXsEN6605qOA\/s320\/iconogooglecumbia.png\" alt=\"Qu\u00edtame la vida\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Qu\u00edtame la vida<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.facebook.com\/rabi.huillca\/videos\/328164900179508\/\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Thiago Alarc\u00f3n Huillca\">\n                <img decoding=\"async\" src=\"https:\/\/i.postimg.cc\/vZ6rTrJZ\/THIAGO.png\" alt=\"Thiago Alarc\u00f3n Huillca\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Thiago Alarc\u00f3n Huillca<\/span>\n            <\/a>\n\n            <a class=\"gcp-marquee-item\" href=\"https:\/\/www.youtube.com\/watch?v=x6F4zmGMn5I\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"Orquesta M\u00e9lody\">\n                <img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEii3l3c0xW74QlEZFvph2f6_tIbESCSswoEV_OlKGD-fxnhRqqBU4gYmJUFcLok0uyrAFxDOwIzmDB_EUdV57vSj6G6-0Snn5oqDeeJ8LFOVYX-zPctdG5RShttZ_F4fGDdB3uht8qzIMI\/s1600\/letrero12.jpg\" alt=\"Orquesta M\u00e9lody\" loading=\"lazy\">\n                <span class=\"gcp-marquee-title\">Orquesta M\u00e9lody<\/span>\n            <\/a>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function () {\n    \"use strict\";\n\n    const slider = document.getElementById(\"gcpMarqueeSlider\");\n    const track = document.getElementById(\"gcpMarqueeTrack\");\n    const control = document.getElementById(\"gcpMarqueeControl\");\n\n    if (!slider || !track || !control) {\n        return;\n    }\n\n    const originalGroup = track.querySelector(\".gcp-marquee-group\");\n\n    if (!originalGroup) {\n        return;\n    }\n\n    \/*\n     * Duplica el grupo para generar el desplazamiento infinito.\n     * aria-hidden evita que lectores de pantalla repitan los enlaces.\n     *\/\n    const clonedGroup = originalGroup.cloneNode(true);\n    clonedGroup.setAttribute(\"aria-hidden\", \"true\");\n\n    clonedGroup.querySelectorAll(\"a\").forEach(function (link) {\n        link.setAttribute(\"tabindex\", \"-1\");\n    });\n\n    track.appendChild(clonedGroup);\n\n    let isPaused = false;\n\n    function updateControl() {\n        control.textContent = isPaused ? \"\u25b6\" : \"\u275a\u275a\";\n        control.setAttribute(\n            \"aria-label\",\n            isPaused ? \"Reanudar slider\" : \"Pausar slider\"\n        );\n        control.setAttribute(\n            \"title\",\n            isPaused ? \"Reanudar slider\" : \"Pausar slider\"\n        );\n    }\n\n    control.addEventListener(\"click\", function () {\n        isPaused = !isPaused;\n        slider.classList.toggle(\"is-paused\", isPaused);\n        updateControl();\n    });\n\n    \/*\n     * En dispositivos t\u00e1ctiles se puede pausar tocando el bot\u00f3n.\n     * No se utiliza document.write ni se reemplaza window.onload.\n     *\/\n    updateControl();\n})();\n<\/script>\n\u00ab`\n","protected":false},"excerpt":{"rendered":"<p>Televisi\u00f3n en vivo Preparando se\u00f1al\u2026 En vivo \u25b6 Se\u00f1al de televisi\u00f3n Pulsa el bot\u00f3n para iniciar la transmisi\u00f3n en vivo. \u25b6 Ver transmisi\u00f3n Canal en vivo HLS \u00b7 Calidad autom\u00e1tica&#8230; dale Clik<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"magazineBlocksPostFeaturedMedia":{"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"magazineBlocksPostAuthor":{"name":"Rabi","avatar":"https:\/\/secure.gravatar.com\/avatar\/f801d06501b4b5f3b6f1dd296f2be2e92a3c3f2195efe2eba5a72ee5bdd2e8be?s=96&d=mm&r=g"},"magazineBlocksPostCommentsNumber":false,"magazineBlocksPostExcerpt":"Televisi\u00f3n en vivo Preparando se\u00f1al\u2026 En vivo \u25b6 Se\u00f1al de televisi\u00f3n Pulsa el bot\u00f3n para iniciar la transmisi\u00f3n en vivo. \u25b6 Ver transmisi\u00f3n Canal en vivo HLS \u00b7 Calidad autom\u00e1tica... dale Clik","magazineBlocksPostCategories":[],"magazineBlocksPostViewCount":0,"magazineBlocksPostReadTime":1,"_links":{"self":[{"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":15,"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":1242,"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions\/1242"}],"wp:attachment":[{"href":"https:\/\/googlecumbia.metricavisual.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}