/* ============================================================
   DEMONTRE RADIO - OVERRIDES GLOBALES (persistentes)
   Inyectado en <head> Y al final de <body> (despues del JS del
   widget) para GANAR sobre cualquier CSS embebido del builder.
   No se pierde al republicar desde el suite de Neolo.
   ============================================================ */

/* ---------- FONDO NEGRO UNIFORME (toda la web) ---------- */
html, body,
body.site,
#wro, #wb_root, #wb_header, #wb_main, #wb_footer,
#wro .wb_content, #wb_root .wb_content,
.wb_cont, .wb_cont_inner, .wb_cont_bg,
.wb_section, .wb_footer, #wb_footer_c,
.root, section, article, header, footer, main, nav,
.wb_layout, .wb-layout-vertical, .wb-layout-horizontal,
.wb_box, .wb_element {
    background-color: #000000 !important;
    background-image: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

body.site:before, body:before,
body.site:after, body:after,
.wb_sbg, .wb-bg-image {
    display: none !important;
    background: #000000 !important;
    content: none !important;
}

/* ---------- ELIMINAR BARRAS DE COMPARTIR EN REDES (definitivo) ----------
   Regla CSS de maxima prioridad: ni siquiera un instante aparece. */
html body .wb_share_button,
html body .wb_share,
html body .wb-share,
html body .wb-social-share,
html body [data-plugin="BookmarksShare"],
html body .BookmarksShare,
html body .wb_bookmarks_share,
html body .wb_share_button_wrap {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
    opacity: 0 !important;
    z-index: -9999 !important;
    clip: rect(0,0,0,0) !important;
}

/* ---------- CORREGIR RECUADROS NEGROS SOBRE LOS SLIDERS ---------- */
#ccRoot, #ccRoot .cc-slider, #ccRoot .cc-viewport, #ccRoot .cc-track, #ccRoot .cc-card,
#ytwRoot, #ytwRoot .ytw-slider, #ytwRoot .ytw-viewport, #ytwRoot .ytw-track, #ytwRoot .ytw-card,
[data-plugin="CustomHtml"], .jodit-wysiwyg, .wb_pswp {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
}

.wb_cont_inner:has(#ytwRoot), .wb_cont_inner:has(#ccRoot),
.wb_element:has(#ytwRoot), .wb_element:has(#ccRoot),
.wb_content:has(#ytwRoot), .wb_content:has(#ccRoot) {
    background: transparent !important;
    overflow: visible !important;
}

/* ---------- SLIDERS CONTENEDOR ---------- */
#ytwRoot, #ccRoot {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background: transparent !important;
}

#ytwRoot .ytw-viewport, #ccRoot .cc-viewport { overflow: hidden !important; }
#ytwRoot .ytw-track, #ccRoot .cc-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    box-sizing: border-box;
}

/* === TARJETAS: 3 en PC, 3 en tablet, 3 en movil === */
#ytwRoot .ytw-card, #ccRoot .cc-card {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
    padding: 8px !important;
    box-sizing: border-box !important;
}

/* ---------- TITULOS SIEMPRE VISIBLES (blanco, legible) ---------- */
#ytwRoot .ytw-meta, #ccRoot .cc-meta { padding: 10px 10px 12px !important; }
#ytwRoot .ytw-meta h4,
#ccRoot .cc-card .cc-title,
#ccRoot .cc-meta h4 {
    color: #ffffff !important;
    font-size: 0.95em !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    display: block !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-shadow: 0 0 4px rgba(0,0,0,.9) !important;
    min-height: 2.6em !important;
    max-height: none !important;
    white-space: normal !important;
}

/* Encabezados de seccion (Ultimos videos / Proximos conciertos) */
#ytwRoot .ytw-title, #ccRoot .cc-title {
    color: #ffffff !important;
    text-align: center !important;
    font-family: 'Orbitron', sans-serif !important;
    font-size: 2em !important;
    letter-spacing: 1px !important;
    font-weight: 800 !important;
    text-shadow: 0 0 10px #0af, 0 0 20px #f00 !important;
    display: block !important;
}
/* Mismo estilo metal en movil (PC y telefono iguales) */
@media (max-width: 600px) {
    #ytwRoot .ytw-title, #ccRoot .cc-title {
        color: #ffffff !important;
        text-align: center !important;
        font-family: 'Orbitron', sans-serif !important;
        font-size: 1.6em !important;
        letter-spacing: 1px !important;
        font-weight: 800 !important;
        text-shadow: 0 0 10px #0af, 0 0 20px #f00 !important;
        display: block !important;
    }
}

/* Fondo de tarjetas para que el titulo resalte */
#ytwRoot .ytw-card a, #ccRoot .cc-card a {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 8px;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: #fff !important;
    box-shadow: 2px 8px rgba(0,0,0,.35);
}

#ytwRoot .ytw-card a:hover, #ccRoot .cc-card a:hover { background: #222 !important; }

/* Puntos / dots */
#ytwRoot .ytw-dots button, #ccRoot .cc-dots button { background: #555 !important; }
#ytwRoot .ytw-dots button.ytw-active, #ccRoot .cc-dots button.cc-active { background: #ff0000 !important; }

/* ---------- RESPONSIVE (3 afiches/videos en movil, sin desborde) ---------- */
@media (max-width: 900px) {
    #ytwRoot .ytw-card, #ccRoot .cc-card { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
}
@media (max-width: 600px) {
    #ytwRoot, #ccRoot { overflow: hidden; padding: 0 4px; box-sizing: border-box; }
    /* 3 por pantalla en telefono (afiches Y videos) */
    #ytwRoot .ytw-card, #ccRoot .cc-card {
        flex: 0 0 33.3333% !important;
        max-width: 33.3333% !important;
        padding: 3px !important;
    }
    #ytwRoot .ytw-title, #ccRoot .cc-title { font-size: 1.3em !important; }
    /* TITULOS VISIBLES EN TELEFONO */
    #ytwRoot .ytw-meta h4, #ccRoot .cc-meta h4, #ccRoot .cc-card .cc-title {
        color: #ffffff !important;
        font-size: 0.8em !important;
        line-height: 1.25 !important;
        display: block !important;
        -webkit-line-clamp: 2 !important;
        overflow: hidden !important;
        min-height: 2.4em !important;
        text-shadow: 0 0 3px #000 !important;
    }
    #ytwRoot .ytw-prev { left: -6px !important; }
    #ytwRoot .ytw-next { right: -6px !important; }
}

/* ---------- ICONOS SOCIALES + APP/TUNEIN: fila horizontal en movil ---------- */
@media (max-width: 600px) {
    /* Forzar a los contenedores de botones a ser fila */
    .wb_content:has(.wb_button) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
    }
    /* Botones sociales y app/tunein: mismo tamaño, en fila */
    .wb_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 48% !important;
        width: auto !important;
        margin: 2px !important;
        padding: 8px 10px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
    .wb_button svg { width: 20px !important; height: 20px !important; flex-shrink: 0 !important; }
    .wb_button span { font-size: 12px !important; }
}

html, body { max-width: 100% !important; overflow-x: hidden !important; }
img { max-width: 100% !important; height: auto !important; }

.wb-anim-entry, .wb-anim-entry-on {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}
