/**
 * Roxom TV editorial overrides
 * Clean, strong typography, tab section headers, consistent cards.
 *
 * @package NewsArc
 */

/* -------------------------------------------------------------------------
   Ticker: full-width verdadero.
   Estrategia: el wrapper .front-page-ticker-wrap pierde max-width y padding
   lateral para volverse un contenedor de ancho completo. El ticker hereda
   ese ancho sin trucos de vw (que se rompen con overflow-x:hidden en body).
   ------------------------------------------------------------------------- */
.front-page-ticker-wrap {
    /* Anula el max-width y padding de .front-page-blocks */
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    /* Asegura que el elemento ocupe el 100% del viewport (no centrado con auto margins) */
    width: 100% !important;
}
/* El ticker ocupa el 100% del wrapper full-width — sin trucos */
.front-page-ticker-wrap .wpi-ticker-section {
    width: 100%;
    position: static;
    left: auto;
    box-sizing: border-box;
}
/* El .wrapper interno del ticker sí puede tener padding visual para el contenido.
   Usamos !important para ganar a .front-page-blocks .wpi-section > .wrapper { padding:0 } */
.front-page-ticker-wrap .wpi-ticker-section > .wrapper {
    max-width: none !important;
    padding-left: var(--wpi-gutter) !important;
    padding-right: var(--wpi-gutter) !important;
}

/* -------------------------------------------------------------------------
   Palette & typography (Roxom TV)
   ------------------------------------------------------------------------- */
:root {
    --wpi-gutter: 2.4rem;
    --wpi--base-bg-color: #ffffff;
    --wpi--base-text-color: #1a1a1a;
    --wpi--base-border-color: #e5e5e5;
    --wpi--link-color: #1a1a1a;
    --wpi--link-hover-color: #f7931a;
    --wpi--primary-bg-color: #111111;
    --wpi--primary-text-color: #ffffff;
    --wpi--secondary-bg-color: #1a1a1a;
    --wpi--secondary-text-color: #ffffff;
    --wpi-footer-background: #111111;
    --wpi-footer-text-color: rgba(255, 255, 255, 0.85);
    --wpi-footer-link-color: #fff;
    --wpi-footer-link-hover-color: #f7931a;
    --wpi--verticle-spacing-large: 7rem;
    --wpi--verticle-spacing-big: 5rem;
    --wpi--verticle-spacing-medium: 2.5rem;
    --wpi--verticle-spacing-small: 1.25rem;
    --wpi--font-heading-weight: 700;
    --wpi--font-size-large: 3.2rem;
    --wpi--font-size-big: 2.4rem;
    --wpi--font-size-medium: 2rem;
    --wpi--font-size-small: 1.6rem;
    --wpi--font-size-x-small: 1.1rem;
    --wpi--meta-font-size: 1.3rem;
}

/* Site-wide: clean background */
body,
.site {
    background-color: var(--wpi--base-bg-color);
}

/* -------------------------------------------------------------------------
   Section headers: tab style site-wide
   ------------------------------------------------------------------------- */
.wpi-section-header {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--wpi--base-border-color);
    padding-bottom: 0;
    margin-bottom: var(--wpi--verticle-spacing-medium);
    position: relative;
}

.section-header-title {
    background: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
    margin: 0;
    padding: 0.65em 1.25em;
    font-size: var(--wpi--font-size-x-small);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px 4px 0 0;
}

.wpi-section-header--tab .section-header-title--tab {
    padding-inline-end: 1.5em;
}

/* -------------------------------------------------------------------------
   Cards & entries: clear hierarchy, spacing
   ------------------------------------------------------------------------- */
.wpi-post .entry-title a,
.entry-title a {
    color: var(--wpi--link-color);
}

.wpi-post .entry-title a:hover,
.entry-title a:hover {
    color: var(--wpi--link-hover-color);
}

.wpi-post .entry-meta-wrapper,
.entry-meta-wrapper {
    color: var(--wpi--base-text-color);
    opacity: 0.85;
    font-size: var(--wpi--meta-font-size);
}

.entry-content-excerpt,
.entry-content .entry-content-excerpt {
    color: var(--wpi--base-text-color);
    line-height: 1.55;
}

.wpi-category-block-section .wpi-post-featured .entry-title-medium a {
    color: #fff;
}

.wpi-category-block-section .wpi-post-featured .entry-title-medium a:hover {
    color: rgba(255, 255, 255, 0.9);
}

/* ================================================================
   Manual Featured — side cards: imagen full + título overlay
   Cada card ocupa 1/3 del alto de la columna lateral (flex:1 1 0)
   ================================================================ */

/* Columna lateral: flex column para que las 3 cards llenen el alto total */
.wpi-manual-featured-section .manual-featured-side {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 0.4rem;
}

/* Cada card: ocupa 1/3 del alto disponible */
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card {
    position: relative;
    overflow: hidden;
    border-radius: 0.3rem;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    flex: 1 1 0;
    min-height: 0;
}

/* Imagen: rellena todo el espacio del card */
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-img-link {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-img-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card:hover .manual-side-card-img-link img {
    transform: scale(1.04);
}

/* Overlay: gradiente en la parte inferior con el título */
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem 0.9rem 0.7rem;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
    z-index: 1;
}

/* Título sobre la imagen */
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-title {
    margin: 0;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
}
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-title a {
    color: #fff;
    text-decoration: none;
}
.wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card .manual-side-card-title a:hover {
    color: rgba(255,255,255,0.85);
}

/* Móvil: columna lateral apilada → flex sigue activo pero las cards necesitan alto mínimo propio */
@media (max-width: 991px) {
    .wpi-manual-featured-section .manual-featured-side {
        min-height: 0;
    }
    .wpi-manual-featured-section .manual-featured-side .wpi-manual-side-card {
        flex: 0 0 auto;
        min-height: 160px;
        aspect-ratio: 16 / 9;
    }
}

/* -------------------------------------------------------------------------
   Single post: editorial reading width, typography
   ------------------------------------------------------------------------- */
.single-post .primary-area .wpi-post-default .entry-header .entry-title {
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0.5rem;
}

.single-post .primary-area .wpi-post-default .entry-header .entry-meta-wrapper {
    margin-top: 1rem;
}

.single-post .primary-area .wpi-post-default .entry-content {
    font-size: 1.7rem;
    line-height: 1.65;
}

@media (min-width: 768px) {
    .single-post .primary-area .wpi-post-default .entry-details {
        padding-left: 2rem;
        padding-right: 2rem;
        max-width: 80rem;
        margin-left: auto;
        margin-right: auto;
    }
}

/* -------------------------------------------------------------------------
   Archive: grid/list consistency
   ------------------------------------------------------------------------- */
.main #primary .article-groups .wpi-post-default .entry-title {
    font-weight: 700;
    line-height: 1.3;
}

.main #primary .article-groups .wpi-post-default .entry-details {
    padding-top: 1rem;
}

/* -------------------------------------------------------------------------
   Wrapper: comfortable max-width + margen unificado en todos los bloques
   ------------------------------------------------------------------------- */
.wrapper {
    box-sizing: border-box;
    padding-left: var(--wpi-gutter);
    padding-right: var(--wpi-gutter);
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1280px) {
    .wrapper {
        max-width: 120rem;
    }
}

/* Portada: contenedor único con el mismo margen para todos los bloques */
.front-page-blocks {
    box-sizing: border-box;
    padding-left: var(--wpi-gutter);
    padding-right: var(--wpi-gutter);
    margin-left: auto;
    margin-right: auto;
    /* SIN overflow-x: clip aquí — eso cortaría el ticker al ancho del contenedor.
       El scroll horizontal se previene en html (ver abajo). */
}

/* Previene scroll horizontal global sin cortar el ticker full-width */
html {
    overflow-x: hidden;
}

@media (min-width: 1280px) {
    .front-page-blocks {
        max-width: 120rem;
    }
}

/* Category blocks (vertical): sin margen propio; respetan el de .front-page-blocks */
.front-page-category-blocks-wrapper {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.front-page-category-blocks-wrapper .wpi-category-block-section > .wrapper {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
}

/* Las secciones de portada con .wrapper interno no duplican padding (lo da .front-page-blocks) */
.front-page-blocks .wpi-section > .wrapper {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
}

/* Secciones internas (single): .wpi-section-content mismo margen */
.wpi-section-content {
    box-sizing: border-box;
    padding-left: var(--wpi-gutter);
    padding-right: var(--wpi-gutter);
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1280px) {
    .wpi-section-content {
        max-width: 120rem;
    }
}

/* Archive header: contenedor alineado al wrapper */
.wpi-archive-header .archive-header-wrapper {
    padding-left: 0;
    padding-right: 0;
}

/* -------------------------------------------------------------------------
   Buttons & accents
   ------------------------------------------------------------------------- */
.wpi-button,
button[type="submit"],
input[type="submit"] {
    background-color: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
    font-weight: 600;
    letter-spacing: 0.02em;
}

.wpi-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
    background-color: var(--wpi--link-hover-color);
    color: #fff;
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.site-footer {
    background-color: var(--wpi-footer-background);
    color: var(--wpi-footer-text-color);
    padding-top: var(--wpi--verticle-spacing-medium);
    padding-bottom: var(--wpi--verticle-spacing-medium);
}

.site-footer a:hover {
    color: var(--wpi-footer-link-hover-color);
}

.wpi-mustread-section .section-header-title {
    background-color: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
}

.header-title-single.section-header-title {
    background: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}

/* -------------------------------------------------------------------------
   Archive / category page title: tab style
   ------------------------------------------------------------------------- */
.archive-header.page-header {
    border-bottom: 1px solid var(--wpi--base-border-color);
    padding-bottom: var(--wpi--verticle-spacing-small);
    margin-bottom: var(--wpi--verticle-spacing-medium);
}

.archive-header .page-title {
    display: inline-block;
    background: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
    padding: 0.5em 1em;
    margin: 0 0 -1px 0;
    font-size: var(--wpi--font-size-x-small);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px 4px 0 0;
}

.archive-header .archive-description {
    margin-top: 1rem;
    color: var(--wpi--base-text-color);
    opacity: 0.9;
}

/* -------------------------------------------------------------------------
   Latest Videos: cursor clickeable y tamaño cuando hay uno solo
   ------------------------------------------------------------------------- */
.wpi-latest-videos-section .wpi-latest-videos-card {
    cursor: pointer !important;
    pointer-events: auto !important;
}

.wpi-latest-videos-section .wpi-latest-videos-card * {
    pointer-events: none;
}

/* Un solo video: que no quede diminuto */
.wpi-latest-videos-section .wpi-latest-videos-grid:not(.has-featured) {
    grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
}

.wpi-latest-videos-section .wpi-latest-videos-grid:not(.has-featured) .wpi-latest-videos-card:only-child {
    max-width: 36rem;
}

/* Playlist: enlace para ver la lista completa en YouTube (el embed no muestra sidebar) */
.wpi-latest-videos-playlist-link {
    margin: 1rem 0 0;
    padding: 0 1.5rem 1.5rem;
}
.wpi-latest-videos-playlist-link .wpi-button {
    display: inline-block;
    padding: 0.55em 1.25em;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 4px;
    color: rgba(255, 255, 255, 0.85);
    font-size: var(--wpi--font-size-x-small);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s;
}
.wpi-latest-videos-playlist-link .wpi-button:hover {
    background-color: #fff;
    border-color: #fff;
    color: #000;
}

/* Referencia: cabecera cuando hay playlist con lista (usa colores del sitio) */
.wpi-latest-videos-section.has-playlist-sidebar .wpi-section-header .section-header-title {
    background: var(--wpi--primary-bg-color);
    color: var(--wpi--primary-text-color);
}

/* Cabecera dentro del bloque oscuro: mismos colores que el resto del sitio */
.wpi-latest-videos-playlist-block-header {
    margin: 0;
    padding: 0.65em 1.25rem;
    background: var(--wpi--primary-bg-color);
}
.wpi-latest-videos-playlist-block-title {
    margin: 0;
    font-size: var(--wpi--font-size-x-small);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wpi--primary-text-color);
}
.wpi-latest-videos-playlist-block .wpi-latest-videos-playlist-layout {
    padding: 0;
}

/* Bloque oscuro reproductor + lista (estilo referencia) */
.wpi-latest-videos-playlist-block {
    background: #111;
    border-radius: 0.4rem;
    overflow: hidden;
    padding: 1.5rem;
}
.wpi-latest-videos-playlist-block .wpi-latest-videos-playlist-layout {
    padding: 0;
}
.wpi-latest-videos-playlist-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.5rem;
    align-items: start;
    min-height: 0;
}
@media (min-width: 768px) {
    /* container-type permite usar cqw para calcular el alto del sidebar en CSS puro,
       sin depender de JavaScript para igualar la altura del video.
       Selectores con .wpi-latest-videos-playlist-layout padre para ganar especificidad
       sobre las reglas base que aparecen más abajo en el archivo. */
    .wpi-latest-videos-playlist-layout {
        display: flex;
        align-items: flex-start;
        container-type: inline-size;
        container-name: video-layout;
    }
    /* Video ocupa 2/3 del espacio */
    .wpi-latest-videos-playlist-layout .wpi-latest-videos-player-wrap {
        flex: 2;
        min-width: 0;
    }
    .wpi-latest-videos-playlist-layout .wpi-latest-videos-player-wrap .wpi-latest-videos-embed-wrapper {
        height: auto;
    }
    /* Sidebar: altura = ancho del video (2/3 del layout) × 9/16 = layout × 3/8 = 37.5cqw.
       Se ajusta por el gap de 1.5rem (gap × 3/8 = 0.5625rem).
       El selector doble (.wpi-latest-videos-playlist-layout .wpi-latest-videos-sidebar)
       tiene especificidad (0,2,0) vs (0,1,0) de las reglas base → gana aunque aparezca antes. */
    .wpi-latest-videos-playlist-layout .wpi-latest-videos-sidebar {
        flex: 1;
        min-width: 0;
        height: calc(37.5cqw - 0.5625rem);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        position: static !important;
        box-sizing: border-box;
    }
    /* Lista scrollable dentro del sidebar: el selector doble gana al max-height:17rem base */
    .wpi-latest-videos-playlist-layout .wpi-latest-videos-sidebar-list {
        flex: 1;
        min-height: 0;
        max-height: none !important;
        overflow-y: auto;
    }
}
.wpi-latest-videos-player-wrap {
    min-width: 0;
    min-height: 0;
}
.wpi-latest-videos-player-wrap .wpi-latest-videos-embed-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 0.25rem;
    border: none;
    background: #000;
}
.wpi-latest-videos-player-wrap .wpi-latest-videos-embed-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.wpi-latest-videos-sidebar {
    position: sticky;
    top: var(--wpi--verticle-spacing-small);
    background: #1a1a1a;
    border-radius: 0.25rem;
    padding: 0.5rem;
    min-width: 0;
    min-height: 0;
}
.wpi-latest-videos-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    /* ~5 items visible, rest scroll (evita espacio sobrante debajo) */
    max-height: 17rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.wpi-latest-videos-sidebar-item {
    margin: 0;
}
.wpi-latest-videos-sidebar-button {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.5rem 0.6rem;
    text-align: left;
    background: transparent;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    font-family: inherit;
    font-size: var(--wpi--font-size-x-small);
    color: rgba(255, 255, 255, 0.9);
    transition: background 0.15s;
}
.wpi-latest-videos-sidebar-button:hover {
    background: rgba(255, 255, 255, 0.08);
}
.wpi-latest-videos-sidebar-item.is-active .wpi-latest-videos-sidebar-button {
    background: rgba(255, 255, 255, 0.12);
}
.wpi-latest-videos-sidebar-thumb {
    flex-shrink: 0;
    width: 120px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 0.2rem;
}
.wpi-latest-videos-sidebar-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wpi-latest-videos-sidebar-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.wpi-latest-videos-sidebar-title {
    line-height: 1.3;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.wpi-latest-videos-sidebar-duration {
    font-size: 0.95em;
    opacity: 0.75;
    font-weight: 400;
}
@media (max-width: 991px) {
    .wpi-latest-videos-playlist-layout {
        grid-template-columns: 1fr 280px;
    }
    .wpi-latest-videos-sidebar-thumb {
        width: 100px;
    }
}
@media (max-width: 767px) {
    .wpi-latest-videos-playlist-block .wpi-latest-videos-playlist-layout {
        padding: 1rem;
    }
    .wpi-latest-videos-playlist-layout {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .wpi-latest-videos-sidebar {
        position: static;
        max-height: 65vh;
    }
    .wpi-latest-videos-sidebar-list {
        max-height: none;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .wpi-latest-videos-sidebar-item {
        flex: 0 0 100%;
        min-width: 0;
    }
    .wpi-latest-videos-sidebar-button {
        flex-direction: row;
    }
    .wpi-latest-videos-sidebar-thumb {
        width: 100px;
    }
}
@media (max-width: 480px) {
    .wpi-latest-videos-sidebar-thumb {
        width: 80px;
    }
}

/* -------------------------------------------------------------------------
   Mobile: portada y secciones
   ------------------------------------------------------------------------- */
/* Menos padding en portada para pantallas chicas (más área útil) */
@media (max-width: 767px) {
    .front-page-blocks-inner.wrapper {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .wpi-section-header {
        margin-bottom: var(--wpi--verticle-spacing-small);
    }
    .section-header-title {
        font-size: 1rem;
        padding: 0.5em 1em;
        word-break: break-word;
    }
}
@media (max-width: 480px) {
    .front-page-blocks-inner.wrapper {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
    .section-header-title {
        font-size: 0.95rem;
        padding: 0.45em 0.85em;
    }
}

/* ================================================================
   Category Blocks verticales — diseño Roxom TV
   • Featured: imagen 3/2 con overlay de título al pie
   • Lista (2ª-4ª nota): thumbnail compacto + texto pequeño
   ================================================================ */

/* FEATURED: imagen más alta (3:2 en vez de 16:9) */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-post-featured .entry-image-large {
    aspect-ratio: 3 / 2;
}

/* FEATURED overlay: gradiente pronunciado */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-post-featured .entry-details-overlay {
    padding: 1.25rem 1rem 0.9rem;
    background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 60%, transparent 100%);
}

/* FEATURED título */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-post-featured .entry-title-medium {
    font-size: var(--wpi--font-size-small) !important;
    margin: 0 0 0.3rem;
    line-height: 1.3;
}

/* LISTA: columna fija de 72px para el thumbnail — evita que "auto" expanda a tamaño natural de imagen */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .wpi-post-list {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    gap: 0.6rem !important;
    padding-bottom: 0.6rem !important;
    align-items: start;
}

/* LISTA thumbnail: forzar exactamente 72px */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .entry-image-thumbnail {
    width: 72px !important;
    min-width: 0 !important;
    max-width: 72px !important;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    flex-shrink: 0;
}
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .entry-image-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* LISTA título: fuente pequeña en píxeles fijos para no depender del rem base */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .wpi-post-list .entry-title-small {
    font-size: 12px !important;
    line-height: 1.35;
    margin: 0 0 0.2rem;
    font-weight: 600;
}
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .wpi-post-list .entry-title-small a {
    color: var(--wpi--link-color);
}

/* LISTA meta (fecha): pequeña y discreta */
.front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .wpi-post-list .entry-meta-wrapper {
    font-size: 10px !important;
    opacity: 0.65;
}

/* Tablet (2 columnas): thumbnail algo más grande */
@media (max-width: 1199px) {
    .front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .wpi-post-list {
        grid-template-columns: 90px 1fr !important;
    }
    .front-page-category-blocks-wrapper .wpi-category-block-section .wpi-category-block-posts .entry-image-thumbnail {
        width: 90px !important;
        max-width: 90px !important;
    }
}

/* Latest Videos: en móvil un solo video ocupa todo el ancho disponible */
@media (max-width: 767px) {
    .wpi-latest-videos-section .wpi-latest-videos-grid:not(.has-featured) .wpi-latest-videos-card:only-child {
        max-width: none;
    }
}
