/* NY - GLOBAL CSS + BLOG INDEX FIX v5 */
/* LA NUEVA RADIO YA - Vinculado al Master Clock */

/* === ENLACES EN EL CUERPO: AZUL, NEGRILLA Y SIN SUBRAYADO === */
.ny-v21-body p a,
.ny-v21-body table a,
.ny-v21-body ul a,
.ny-v21-body ol a,
.td-page-content p a,
.td-post-content p a,
.td-excerpt a {
    text-decoration: none !important;
    color: #004a99 !important;
    font-weight: 600 !important;
    transition: all 0.2s ease-in-out;
}

/* Estado Hover Universal */
.ny-v21-body p a:hover, 
.ny-v21-body table a:hover, 
.ny-v21-body ul a:hover, 
.ny-v21-body ol a:hover,
.td-page-content p a:hover,
.td-post-content p a:hover,
.td-excerpt a:hover { 
    color: #cc0000 !important;
    border-bottom: 1px solid #cc0000;
    text-decoration: none !important;
}

/* === LIMPIEZA DE CONTENEDORES VACIOS (ANTI-CLS) === */
.td_block_wrap:empty, 
.td-fix-index:empty,
.tdc-column:empty,
.vc_column_container:empty { 
    display: none !important; 
    margin: 0 !important; 
    padding: 0 !important; 
    height: 0 !important;
}

/* === BLOG INDEX === */

/* RESET DE LISTAS Y PUNTOS */
.td-blog-index ul.td-category, 
.td-blog-index li.entry-category {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

/* CATEGORIA (Badge Azul) */
.td-blog-index .td-category a {
    background-color: #083363 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* ESTRUCTURA Y ALINEACION IZQUIERDA */
.td-blog-index .td-container, 
.td-blog-index #td-outer-wrap { 
    max-width: 1068px !important;
    margin-left: 0 !important;
    padding-left: 0 !important; 
}

.td-blog-index .td-main-content { 
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
}

/* TITULAR */
.td-blog-index .entry-title { 
    text-align: left !important;
    margin: 10px 0 !important;
}

.td-blog-index .entry-title a {
    color: #083363 !important;
    font-size: 26px !important;
    font-weight: 900 !important; 
    line-height: 1.1 !important;
    text-decoration: none !important;
}

/* METADATOS (Solo Autor y Fecha) */
.td-blog-index .td-module-meta-info {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
}

.td-blog-index .td-post-author-name a { 
    color: #083363 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.td-blog-index .td-author-line { 
    display: none !important;
}

/* EXTERMINIO DE VISTAS Y COMENTARIOS */
.td-blog-index .td-post-comments, 
.td-blog-index .td-post-views,
.td-blog-index .td-module-comments { 
    display: none !important; 
}

/* IMAGEN */
.td-blog-index .td-module-thumb { 
    margin: 0 0 15px 0 !important;
    overflow: hidden;
}

.td-blog-index .td-module-thumb img { 
    border-radius: 8px !important; 
    aspect-ratio: 16 / 9 !important; 
    object-fit: cover !important; 
    width: 100% !important;
    height: auto !important;
}

/* EXTRACTO */
.td-blog-index .td-excerpt { 
    text-align: left !important;
    font-size: 17px !important;
    color: #333 !important;
}

/* BOTON LEER MAS V21 */
.td-blog-index .more-link-wrap { 
    display: block !important;
    margin-top: 20px !important;
    text-align: left !important;
}

.td-blog-index a.more-link {
    background-color: #083363 !important;
    color: transparent !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding: 10px 25px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    display: inline-block !important;
    position: relative !important;
    min-width: 130px;
    text-align: center;
}

.td-blog-index a.more-link::after {
    content: "Leer mas" !important;
    color: #ffffff !important;
    position: absolute !important;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    visibility: visible !important;
}

.td-blog-index a.more-link:hover { 
    background-color: #cc0000 !important;
}

@media (max-width: 767px) {
    .td-blog-index .td-container { 
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .td-blog-index .entry-title a { 
        font-size: 22px !important;
    }
    .td-blog-index .td-module-thumb img { 
        max-height: 250px !important;
    }
}

/* --- 1. ESTRUCTURA Y TIPOGRAFÃA --- */
.ny-v21-wrap {
    /* Pila de fuentes nativas del sistema: Carga instantÃ¡nea */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    width: 100% !important;
    background: #fff !important;
    padding: 10px 0 !important;
    -webkit-font-smoothing: antialiased;
}

/* FIX CLS: Reservamos el espacio del grid antes de que cargue el contenido */
.ny-v21-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr) !important;
    gap: 40px !important;
    align-items: start;
    width: 100% !important;
    min-height: 800px; 
}

.ny-v21-main {
    min-width: 0; /* Evita que elementos anchos rompan el grid */
}

/* FIX CLS: Reservamos ancho para el sidebar */
.ny-v21-sidebar-dynamic {
    width: 100% !important;
    max-width: 320px !important;
    min-height: 500px; /* Reserva espacio para los widgets de mÃ¡s leÃ­das */
}

.ny-v21-title {
    font-size: 42px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #083363 !important;
    margin-bottom: 25px !important;
    letter-spacing: -0.5px !important;
}

.ny-v21-badge {
    background: #083363 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    padding: 6px 16px !important;
    display: inline-block !important;
    margin-bottom: 15px !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    text-transform: uppercase;
}

/* --- BREADCRUMBS --- */
.ny-v21-breadcrumbs {
    margin-bottom: 20px !important;
    font-size: 13px !important;
    color: #666 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
}

.ny-v21-breadcrumbs a {
    color: #083363 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.ny-v21-breadcrumbs a:hover {
    text-decoration: underline !important;
}

.ny-v21-breadcrumbs .sep {
    color: #ccc !important;
}

.ny-v21-breadcrumbs .current {
    color: #595959 !important; /* Cambiado de #999 a #595959 para ratio 7:1 (AAA) */
    font-weight: 600 !important; /* AÃ±adido peso para mejor legibilidad */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 250px !important;
}

/* --- META DATOS --- */
.ny-v21-meta {
    display: flex !important;
    gap: 15px !important;
    padding: 15px 0 !important;
    margin-bottom: 30px !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    color: #666 !important;
    font-size: 15px !important;
    align-items: center;
}

.ny-v21-meta-item strong a {
    color: #083363 !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

/* --- 2. CUERPO DE NOTICIA --- */
.ny-v21-body {
    font-size: 19px !important;
    line-height: 1.8 !important;
    color: #222 !important;
    text-align: left !important;
}

/* Letra Capital */
.ny-v21-body > p:first-of-type::first-letter {
    color: #083363 !important;
    float: left !important;
    font-size: 75px !important;
    line-height: 60px !important;
    padding: 4px 12px 0 3px !important;
    font-family: 'Georgia', serif !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.ny-cat-roja .ny-v21-body > p:first-of-type::first-letter { 
    color: #cc0000 !important; 
}

/* FIX PARA EMBEDS */
.ny-v21-body iframe, 
.ny-v21-body .wp-block-embed, 
.ny-v21-body .twitter-tweet {
    max-width: 100% !important;
    width: 100% !important;
    margin: 30px auto !important;
    display: block !important;
    background-color: #f9f9f9; /* Anti-CLS para contenedores vacÃ­os */
}

.ny-v21-body iframe[src*="youtube.com"], 
.ny-v21-body iframe[src*="youtu.be"] {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    background: #000;
}

/* FIX PARA VIDEOS INSERTADOS */
.ny-v21-body .wp-block-video {
    max-width: 720px;
    margin: 30px auto;
}

.ny-v21-body .wp-block-video video {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* --- 3. ETIQUETAS --- */
.ny-v21-tags {
    margin-top: 45px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    border-top: 2px solid #f7f7f7 !important;
    padding-top: 30px !important;
}

.ny-v21-tag-item {
    background: #fff !important;
    color: #083363 !important;
    padding: 7px 18px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    border: 2px solid #083363 !important;
    border-radius: 50px !important;
    transition: background 0.2s, color 0.2s !important;
}

.ny-v21-tag-item:hover {
    background: #083363 !important;
    color: #fff !important;
}

/* --- 4. RESPONSIVE --- */
@media (max-width: 1023px) {
    .ny-v21-grid { 
        display: flex !important; 
        flex-direction: column !important;
        min-height: auto;
    }
    .ny-v21-sidebar-dynamic { 
        max-width: 100% !important; 
        margin-top: 40px;
        padding-top: 30px;
        border-top: 1px solid #eee;
    }
    .ny-v21-title { font-size: 30px !important; line-height: 1.2 !important; }
    .ny-v21-body { font-size: 18px !important; line-height: 1.7 !important; }
    
    .ny-v21-meta { 
        flex-direction: column !important; 
        gap: 5px !important; 
        padding: 10px 0 !important; 
        align-items: flex-start !important; 
    }
    
    .ny-v21-body > p:first-of-type::first-letter { 
        font-size: 60px !important; 
        line-height: 50px !important; 
    }
    .ny-v21-body .wp-block-video {
        max-width: 100%;
    }
}

/* FACADE TWITTER/X */
.ny-tw-facade {
    margin: 25px auto;
    max-width: 550px;
    background: #000;
    border-radius: 16px;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ny-tw-facade:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.ny-tw-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 28px 24px;
}

.ny-tw-logo {
    flex-shrink: 0;
}

.ny-tw-text {
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
}

/* NY WIDGET MAS LEIDAS - LA NUEVA RADIO YA */
/* Vinculado al Master Clock */

.ny-widget-wrapper { 
    width: 100% !important; 
    display: block !important; 
    margin-bottom: 30px !important; 
    font-family: inherit !important; 
    clear: both !important; 
}

.ny-widget-header { 
    background-color: #083363 !important; 
    color: #ffffff !important; 
    font-size: 18px !important; 
    font-weight: 800 !important; 
    text-align: center !important; 
    padding: 12px 10px !important; 
    text-transform: uppercase !important; 
    border-radius: 4px 4px 0 0 !important; 
    line-height: 1.2 !important; 
    display: block !important; 
}

.ny-widget-box { 
    border: 1px solid #e1e8ed !important; 
    border-top: none !important; 
    background-color: #f9f9f9 !important; 
    padding: 10px 15px !important; 
    border-radius: 0 0 4px 4px !important; 
    display: block !important; 
}

.ny-text-list { 
    list-style: none !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}

.ny-text-item { 
    margin: 0 !important; 
    padding: 12px 0 !important; 
    border-bottom: 1px solid #ececec !important; 
    display: block !important; 
}

.ny-text-item:last-child { 
    border-bottom: none !important; 
}

a.ny-text-link { 
    color: #083363 !important; 
    text-decoration: none !important; 
    font-weight: 700 !important; 
    font-size: 16px !important; 
    display: block !important; 
    line-height: 1.4 !important; 
    text-align: left !important; 
}

/* NY NOTICIAS RELACIONADAS - LA NUEVA RADIO YA */
/* Vinculado al Master Clock */

.ny-rel-container { 
    width: 100%; 
    margin: 25px 0; 
    clear: both; 
    font-family: inherit !important; 
}

.ny-rel-header { 
    background: #083363; 
    color: #fff; 
    padding: 11px 15px; 
    font-weight: 800; 
    border-radius: 4px 4px 0 0; 
    border-bottom: 2px solid #cc0000; 
    text-transform: uppercase; 
    font-size: 16px; 
    line-height: 1.2; 
}

.ny-rel-box { 
    border: 1px solid #e1e8ed; 
    border-top: none; 
    background: #fff; 
    border-radius: 0 0 4px 4px; 
}

.ny-rel-list { 
    list-style: none; 
    margin: 0; 
    padding: 0; 
}

.ny-rel-item { 
    border-bottom: 1px solid #f0f0f0; 
}

.ny-rel-item:last-child { 
    border-bottom: none; 
}

.ny-rel-link { 
    display: flex; 
    align-items: flex-start; 
    padding: 12px 15px; 
    color: #1e293b; 
    text-decoration: none; 
    font-weight: 700; 
    font-size: 16.5px; 
    line-height: 1.3; 
    transition: background 0.2s; 
}

.ny-rel-link:hover { 
    color: #cc0000; 
    background: #f8fafc; 
}

.ny-rel-bullet { 
    min-width: 8px; 
    height: 8px; 
    background: #cc0000; 
    border-radius: 50%; 
    margin-top: 8px; 
    margin-right: 12px; 
}

/* --- DESCRIPCIÓN DE IMÁGENES (FIGCAPTION) --- */
.ny-v21-body figcaption,
.ny-v21-body .wp-element-caption,
.td-post-content figcaption,
.td-post-content .wp-element-caption {
    font-size: 14px !important;
    font-style: italic !important;
    color: #595959 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    padding: 8px 0 !important;
    margin-top: 4px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #e0e0e0 !important;
    font-weight: 400 !important;
    letter-spacing: 0.2px !important;
}

