/*
 * Motor de plantillas de los sitios de revrid (periódicos, revistas, blogs).
 * Vistas: resources/views/revrid/sitio. Catálogo: config/revrid_plantillas.php.
 *
 * Primero el celular; tablet desde 640 px; computadora desde 1024 px; las
 * bandas publicitarias de los lados sólo desde 1560 px, donde caben sin
 * tapar nada. Todo con prefijo rv- para no chocar con el tema NewsLooks, que
 * sigue cargado debajo (páginas internas, cookies, scripts).
 *
 * Variables que pone cada plantilla (_cabeza.blade.php): --rv-color,
 * --rv-sobre-color, --rv-ft (títulos), --rv-fx (texto), --rv-radio, --rv-ancho,
 * --rv-mayus.
 */
body.rv-sitio {
    --rv-fondo: #ffffff; --rv-fondo-2: #f5f6f8; --rv-texto: #16181d; --rv-suave: #5f6672;
    --rv-borde: #e6e8ec; --rv-oscuro-fondo: #0d1117;
    background: var(--rv-fondo); color: var(--rv-texto); font-family: var(--rv-fx); -webkit-font-smoothing: antialiased;
}
body.rv-sitio.rv-oscuro {
    --rv-fondo: #0e1116; --rv-fondo-2: #161b22; --rv-texto: #e8eaed; --rv-suave: #9aa3ad; --rv-borde: #262c36;
}
.rv-s, .rv-s * { box-sizing: border-box; }
.rv-s a { color: inherit; text-decoration: none; }
.rv-s a:hover { color: var(--rv-color); }
.rv-s img { max-width: 100%; display: block; }
.rv-s h1, .rv-s h2, .rv-s h3, .rv-s h4 { font-family: var(--rv-ft); color: var(--rv-texto); margin: 0; letter-spacing: -.01em; line-height: 1.2; }
.rv-s p { margin: 0; }
.rv-s svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rv-s .rv-ico { fill: currentColor; stroke: none; width: 17px; height: 17px; }
.rv-contenedor { width: 100%; max-width: var(--rv-ancho); margin: 0 auto; padding: 0 16px; }
.rv-solo-movil { display: block; }
.rv-no-movil { display: none !important; }
@media (min-width: 1024px) {
    .rv-contenedor { padding: 0 24px; }
    .rv-solo-movil { display: none !important; }
    .rv-no-movil { display: flex !important; }
}

/* ── Botones y utilidades ───────────────────────────────────────── */
.rv-boton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 20px; border: 0; border-radius: calc(var(--rv-radio) + 2px); background: var(--rv-color); color: var(--rv-sobre-color) !important; font: 600 15px var(--rv-fx); cursor: pointer; transition: filter .15s; }
.rv-boton:hover { filter: brightness(1.08); }
.rv-boton--claro { background: transparent; color: var(--rv-texto) !important; border: 1px solid var(--rv-borde); }
.rv-boton--claro:hover { border-color: var(--rv-color); color: var(--rv-color) !important; filter: none; }
.rv-icobtn { width: 42px; height: 42px; display: grid; place-items: center; border: 0; background: transparent; color: inherit; border-radius: 10px; cursor: pointer; }
.rv-icobtn:hover { background: rgba(127,127,127,.12); }
.rv-acciones { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.rv-aviso { margin: 16px 0 0; padding: 12px 16px; border-radius: 10px; background: #fff7e6; border: 1px solid #ffd591; color: #874d00; font-size: 14px; }
.rv-vacio { text-align: center; padding: 80px 16px; }
.rv-vacio h1 { font-size: clamp(28px, 5vw, 44px); margin-bottom: 10px; }
.rv-vacio p { color: var(--rv-suave); margin-bottom: 22px; font-size: 17px; }

/* ── Logo ───────────────────────────────────────────────────────── */
.rv-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.rv-logo img { max-height: 44px; width: auto; max-width: 200px; object-fit: contain; }
.rv-logo__txt { font-family: var(--rv-ft); font-weight: 800; font-size: 24px; letter-spacing: -.02em; color: var(--rv-texto); line-height: 1; }
.rv-logo--grande img { max-height: 64px; max-width: 320px; }
.rv-logo--grande .rv-logo__txt { font-size: clamp(30px, 6vw, 56px); }
.rv-logo--claro .rv-logo__txt { color: #fff; }
.rv-logo--claro img { background: #fff; padding: 4px 10px; border-radius: 8px; }
@media (min-width: 1024px) { .rv-logo img { max-height: 52px; max-width: 240px; } .rv-logo--grande img { max-height: 84px; max-width: 420px; } }

/* ── Menú ───────────────────────────────────────────────────────── */
.rv-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.rv-menu a { display: block; padding: 14px 13px; font: 600 14.5px var(--rv-fx); text-transform: var(--rv-mayus); letter-spacing: .02em; white-space: nowrap; }
.rv-menu a.activo { color: var(--rv-color); }
.rv-menu--color { flex: 1; }
.rv-menu--color a { color: var(--rv-sobre-color) !important; }
.rv-menu--color a:hover, .rv-menu--color a.activo { background: rgba(0,0,0,.14); }
.rv-menu--centrado ul { justify-content: center; }
.rv-menu--espaciado a { letter-spacing: .12em; font-size: 13px; padding: 14px 18px; }
.rv-menu--oscuro a { color: #d8dce2 !important; }
.rv-menu--oscuro a:hover, .rv-menu--oscuro a.activo { color: #fff !important; box-shadow: inset 0 -3px 0 var(--rv-color); }
.rv-menu--suave a { text-transform: none; font-weight: 500; color: var(--rv-suave); }
/* en celular el menú de la barra se desliza de lado en vez de romperse en dos líneas */
@media (max-width: 1023px) {
    .rv-cab__barra .rv-menu ul, .rv-cab__lineas .rv-menu ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; justify-content: flex-start; }
    .rv-cab__barra .rv-menu ul::-webkit-scrollbar, .rv-cab__lineas .rv-menu ul::-webkit-scrollbar { display: none; }
    .rv-menu a { padding: 12px 11px; font-size: 13.5px; }
}

/* ── Barra superior y redes ─────────────────────────────────────── */
.rv-sup { background: #111418; color: #c6cbd2; font-size: 13px; }
.rv-sup--claro { background: transparent; color: var(--rv-suave); border-bottom: 1px solid var(--rv-borde); }
.rv-sup__in { display: flex; align-items: center; gap: 18px; min-height: 38px; }
.rv-sup__fecha { white-space: nowrap; }
.rv-sup__links { gap: 16px; margin-left: auto; }
.rv-sup__links a:hover { color: #fff; }
.rv-sup--claro .rv-sup__links a:hover { color: var(--rv-color); }
.rv-redes { display: flex; gap: 4px; align-items: center; }
.rv-redes a { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; }
.rv-redes a:hover { background: rgba(127,127,127,.18); }
.rv-redes--centro { justify-content: center; margin: 14px 0; }
.rv-redes--pie a { background: rgba(255,255,255,.08); color: #fff; }

/* ── Cabeceras ──────────────────────────────────────────────────── */
.rv-cab { background: var(--rv-fondo); position: relative; z-index: 50; }
.rv-cab__medio { display: flex; align-items: center; gap: 20px; min-height: 76px; padding-top: 10px; padding-bottom: 10px; }
.rv-cab__anuncio { margin-left: auto; flex: 0 1 928px; min-width: 0; }
.rv-cab__anuncio .rv-anuncio { width: 928px; max-width: 100%; margin: 0 0 0 auto; }
.rv-cab__barra { background: var(--rv-color); }
.rv-cab__barra-in { display: flex; align-items: center; }
.rv-cab__barra .rv-acciones { color: var(--rv-sobre-color); }
.rv-cab__centro { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 22px; padding-bottom: 18px; text-align: center; }
.rv-cab__lema { color: var(--rv-suave); font-size: 14px; margin-top: 8px !important; }
.rv-cab__esq { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
.rv-cab__izq { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); }
.rv-cab__lineas { border-top: 1px solid var(--rv-texto); border-bottom: 3px double var(--rv-texto); background: var(--rv-fondo); }
.rv-cab__lineas--fina { border-top: 1px solid var(--rv-borde); border-bottom: 1px solid var(--rv-borde); }
.rv-cab__fila { display: flex; align-items: center; gap: 16px; min-height: 66px; }
.rv-cab--oscura { background: #0d1117; color: #fff; }
.rv-cab--oscura .rv-menu { flex: 1; }
.rv-cab--compacta { border-bottom: 1px solid var(--rv-borde); }
.rv-cab--compacta .rv-menu { flex: 1; }
.rv-cab--compacta .rv-menu a { padding: 22px 10px; }
.rv-cab--blog { border-bottom: 1px solid var(--rv-borde); }
.rv-cab--blog .rv-cab__fila { min-height: 84px; }
.rv-cab__marca { display: flex; flex-direction: column; }
.rv-cab--blog .rv-cab__lema { margin-top: 4px !important; font-size: 13px; }
.rv-cab--blog .rv-menu { margin-left: auto; }
.rv-cab--blog .rv-acciones { margin-left: 0; }
.rv-fijo--pegado { position: fixed !important; top: 0; left: 0; right: 0; z-index: 900; box-shadow: 0 6px 20px -12px rgba(0,0,0,.35); animation: rv-baja .2s ease; }
@keyframes rv-baja { from { transform: translateY(-100%); } to { transform: none; } }
@media (max-width: 1023px) {
    .rv-cab__centro { padding-top: 16px; padding-bottom: 12px; }
    .rv-cab__esq { right: 4px; }
    .rv-cab--portal .rv-cab__medio { min-height: 64px; }
}

/* ── Última hora ────────────────────────────────────────────────── */
.rv-uh { background: var(--rv-fondo-2); border-bottom: 1px solid var(--rv-borde); font-size: 14px; }
.rv-uh__in { display: flex; align-items: center; gap: 14px; height: 42px; overflow: hidden; }
.rv-uh__rot { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; background: var(--rv-color); color: var(--rv-sobre-color); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; padding: 6px 10px; border-radius: 4px; }
.rv-uh__rot i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: rv-latido 1.4s infinite; }
.rv-uh__cinta { overflow: hidden; flex: 1; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.rv-uh__mov { display: inline-flex; gap: 36px; white-space: nowrap; animation: rv-cinta 60s linear infinite; }
.rv-uh__mov:hover { animation-play-state: paused; }
.rv-uh__mov a { font-weight: 500; }
@keyframes rv-cinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rv-latido { 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) { .rv-uh__mov { animation: none; } }

/* ── Cajón del celular y buscador ───────────────────────────────── */
.rv-cajon, .rv-busca { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.rv-cajon.abierto, .rv-busca.abierto { visibility: visible; }
.rv-cajon__fondo { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: opacity .25s; }
.rv-cajon.abierto .rv-cajon__fondo { opacity: 1; }
.rv-cajon__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(86vw, 340px); background: var(--rv-fondo); color: var(--rv-texto); transform: translateX(-100%); transition: transform .28s ease; overflow-y: auto; padding: 14px 16px 28px; }
.rv-cajon.abierto .rv-cajon__panel { transform: none; }
.rv-cajon__cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.rv-menu--cajon ul { flex-direction: column; }
.rv-menu--cajon a { padding: 13px 4px; border-bottom: 1px solid var(--rv-borde); font-size: 16px; text-transform: none; }
.rv-cajon__sec { display: flex; flex-direction: column; margin: 16px 0; font-size: 14px; color: var(--rv-suave); }
.rv-cajon__sec a { padding: 8px 4px; }
.rv-busca { background: rgba(10,12,16,.72); backdrop-filter: blur(4px); display: flex; align-items: flex-start; justify-content: center; padding: 14vh 16px 0; opacity: 0; transition: opacity .2s; }
.rv-busca.abierto { opacity: 1; }
.rv-busca__f { display: flex; gap: 8px; width: 100%; max-width: 680px; background: #fff; border-radius: 14px; padding: 8px; align-items: center; }
.rv-busca__f input { flex: 1; border: 0; outline: 0; font-size: 18px; padding: 10px 12px; min-width: 0; color: #16181d; background: transparent; }
.rv-busca__f .rv-icobtn { color: #16181d; }
@media (max-width: 639px) { .rv-busca__f .rv-boton { display: none; } }

/* ── Bloques ────────────────────────────────────────────────────── */
.rv-portada { padding-bottom: 20px; }
.rv-b { margin-top: 28px; }
@media (min-width: 1024px) { .rv-b { margin-top: 40px; } }
.rv-bt { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; border-bottom: 2px solid var(--rv-texto); padding-bottom: 8px; }
.rv-bt__h { font-size: 20px !important; text-transform: var(--rv-mayus); }
.rv-bt__h a { position: relative; }
.rv-bt__h::before { content: ''; display: inline-block; width: 10px; height: 10px; background: var(--rv-color); margin-right: 10px; vertical-align: middle; border-radius: 2px; }
.rv-bt__mas { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--rv-suave); display: inline-flex; align-items: center; gap: 2px; white-space: nowrap; }
.rv-bt__mas svg { width: 15px; height: 15px; }

/* rejillas */
.rv-rejilla { display: grid; gap: 22px 18px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rv-rejilla--3, .rv-rejilla--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rv-rejilla--3 { grid-template-columns: repeat(3, 1fr); } .rv-rejilla--4 { grid-template-columns: repeat(4, 1fr); } }

/* mosaico destacado: en celular apilado; en computadora 1 grande + 4 */
.rv-mosaico { display: grid; gap: 6px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rv-mosaico { grid-template-columns: 1fr 1fr; } .rv-mosaico__i--0 { grid-column: 1 / -1; } }
@media (min-width: 1024px) {
    .rv-mosaico--5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 250px 250px; }
    .rv-mosaico--5 .rv-mosaico__i--0 { grid-column: 1; grid-row: 1 / 3; }
    .rv-mosaico__i .rv-t { height: 100%; }
}
.rv-tres { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .rv-tres { grid-template-columns: repeat(3, 1fr); } }
.rv-tres .rv-t--sobre { min-height: 320px; }
.rv-tres--alto .rv-t--sobre { min-height: 460px; }

/* líder + lista */
.rv-lider { display: grid; gap: 24px; }
.rv-lider__rot { font: 700 13px var(--rv-fx); text-transform: uppercase; letter-spacing: .08em; color: var(--rv-color); margin-bottom: 12px; }
.rv-lider__l > .rv-t + .rv-t { border-top: 1px solid var(--rv-borde); padding-top: 12px; margin-top: 12px; }
@media (min-width: 1024px) { .rv-lider { grid-template-columns: 2fr 1fr; gap: 32px; } .rv-lider__l { border-left: 1px solid var(--rv-borde); padding-left: 28px; } }

/* carrusel */
.rv-carrusel { position: relative; }
.rv-carrusel__pista { display: grid; grid-auto-flow: column; grid-auto-columns: 88%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: var(--rv-radio); }
.rv-carrusel__pista::-webkit-scrollbar { display: none; }
.rv-carrusel__i { scroll-snap-align: start; }
.rv-carrusel__i .rv-t--sobre { min-height: 380px; }
@media (min-width: 768px) { .rv-carrusel__pista { grid-auto-columns: 62%; } .rv-carrusel__i .rv-t--sobre { min-height: 460px; } }
.rv-carrusel__btn { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; background: #fff; color: #111; box-shadow: 0 6px 20px rgba(0,0,0,.25); display: none; place-items: center; cursor: pointer; }
.rv-carrusel__btn--prev { left: 12px; } .rv-carrusel__btn--next { right: 12px; }
@media (min-width: 1024px) { .rv-carrusel__btn { display: grid; } }

/* sección con lista */
.rv-seclista__c { display: grid; gap: 20px; }
.rv-seclista__l { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 768px) { .rv-seclista__c { grid-template-columns: 1.15fr 1fr; gap: 26px; } }

/* columnas por sección */
.rv-columnas { display: grid; gap: 28px; }
.rv-columnas__c > .rv-t + .rv-t { border-top: 1px solid var(--rv-borde); padding-top: 11px; margin-top: 11px; }
@media (min-width: 768px) { .rv-columnas--2 { grid-template-columns: 1fr 1fr; } .rv-columnas--3 { grid-template-columns: repeat(3, 1fr); } }

/* últimas / blog */
.rv-ultimas > .rv-t, .rv-bloglista > .rv-t { padding: 18px 0; border-bottom: 1px solid var(--rv-borde); }
.rv-ultimas__mas, .rv-blog > .rv-boton, .rv-bloglista > .rv-boton { margin-top: 20px; }
.rv-blog > .rv-t + .rv-t, .rv-blog > .rv-anuncio + .rv-t { margin-top: 38px; }
.rv-blog .rv-anuncio { margin-top: 34px; }

/* lo más leído numerado */
.rv-numeradas__f { display: grid; gap: 14px; grid-template-columns: 1fr; counter-reset: rv; }
@media (min-width: 640px) { .rv-numeradas__f { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rv-numeradas__f { grid-template-columns: repeat(5, 1fr); } }

/* video */
.rv-video__in { background: #0d1117; border-radius: var(--rv-radio); padding: 20px 16px; }
.rv-video .rv-bt { border-color: #30363d; }
.rv-video .rv-bt__h, .rv-video h3 { color: #fff !important; }
.rv-video .rv-t__meta { color: #9aa3ad; }
.rv-video__c { display: grid; gap: 16px; }
.rv-video__l { display: flex; flex-direction: column; gap: 14px; }
.rv-video__p .rv-t--sobre { min-height: 300px; }
@media (min-width: 1024px) { .rv-video__in { padding: 28px; } .rv-video__c { grid-template-columns: 1.6fr 1fr; } .rv-video__p .rv-t--sobre { min-height: 420px; } }

/* galería */
.rv-galeria__g { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.rv-galeria__g .rv-t--sobre { min-height: 180px; }
@media (min-width: 1024px) {
    .rv-galeria__g { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; }
    .rv-galeria__g > .rv-t:first-child { grid-column: span 2; grid-row: span 2; }
    .rv-galeria__g .rv-t--sobre { min-height: 0; height: 100%; }
}

/* boletín */
.rv-boletin { display: grid; gap: 16px; align-items: center; padding: 28px 22px; background: var(--rv-fondo-2); border-radius: var(--rv-radio); border-left: 5px solid var(--rv-color); }
.rv-boletin h2 { font-size: 24px; margin-bottom: 6px; }
.rv-boletin p { color: var(--rv-suave); }
.rv-boletin__f { display: flex; gap: 8px; flex-wrap: wrap; }
.rv-boletin__f input, .rv-w--boletin input, .rv-pie__boletin input { flex: 1; min-width: 200px; height: 44px; border: 1px solid var(--rv-borde); border-radius: calc(var(--rv-radio) + 2px); padding: 0 14px; font-size: 15px; background: var(--rv-fondo); color: var(--rv-texto); }
@media (min-width: 1024px) { .rv-boletin { grid-template-columns: 1fr 1fr; padding: 36px 40px; } }

/* contenido + barra lateral */
.rv-conlat { display: grid; gap: 30px; }
.rv-conlat__p > .rv-b:first-child { margin-top: 0; }
@media (min-width: 1024px) {
    .rv-conlat { grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; }
    .rv-conlat__pega { position: sticky; top: 90px; }
}
/* La barra lateral acompaña al lector hasta el final de su sección (2026-10-03).
   El tema pone `main { overflow: hidden }` y `body { overflow-x: hidden !important }`:
   cualquiera de los dos anula position: sticky. `clip` recorta igual lo que se sale
   por los lados pero no crea un contenedor de scroll, así que lo pegajoso funciona.
   Si la barra es más alta que la pantalla, sitio.js le pone un `top` negativo para
   que se pegue por abajo (se ve hasta el último anuncio). */
body.rv-sitio { overflow-x: clip !important; }
body.rv-sitio main { overflow: clip; }
.rv-w + .rv-w { margin-top: 26px; }
.rv-w__h { font-size: 17px !important; text-transform: var(--rv-mayus); padding-bottom: 8px; margin-bottom: 14px !important; border-bottom: 2px solid var(--rv-color); }
.rv-w .rv-t--numerada + .rv-t--numerada { margin-top: 12px; }
.rv-w__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rv-w__chips a { padding: 7px 12px; border: 1px solid var(--rv-borde); border-radius: 999px; font-size: 14px; }
.rv-w__chips a:hover { border-color: var(--rv-color); }
.rv-w--boletin { background: var(--rv-fondo-2); padding: 18px; border-radius: var(--rv-radio); }
.rv-w--boletin p { color: var(--rv-suave); font-size: 14px; margin-bottom: 12px !important; }
.rv-w--boletin form { display: flex; flex-direction: column; gap: 8px; }
.rv-w__redes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rv-red { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 8px; color: #fff !important; font-weight: 600; font-size: 14px; }
.rv-red--facebook { background: #1877f2; } .rv-red--instagram { background: linear-gradient(45deg,#f09433,#dc2743,#bc1888); }
.rv-red--x, .rv-red--tiktok { background: #111; } .rv-red--youtube { background: #f00; } .rv-red--whatsapp { background: #25d366; }

/* ── Tarjeta de noticia ─────────────────────────────────────────── */
.rv-t { position: relative; }
.rv-t__img { display: block; position: relative; overflow: hidden; border-radius: var(--rv-radio); background: var(--rv-fondo-2); aspect-ratio: 16 / 10; }
.rv-t__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rv-t:hover .rv-t__img img { transform: scale(1.04); }
.rv-t__sinimg { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, var(--rv-color), #0d1117); color: rgba(255,255,255,.85); font: 700 14px var(--rv-fx); text-transform: uppercase; letter-spacing: .1em; }
.rv-t__play { position: absolute; left: 12px; bottom: 12px; width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,.6); display: grid; place-items: center; color: #fff; }
.rv-t__play svg { fill: #fff; stroke: none; width: 20px; height: 20px; margin-left: 3px; }
.rv-t__sec { display: inline-block; font: 700 12px var(--rv-fx); text-transform: uppercase; letter-spacing: .06em; color: var(--rv-color) !important; margin-bottom: 6px; }
.rv-t__tit { font-weight: 700; }
.rv-t__tit a:hover { color: var(--rv-color); }
.rv-t--xl .rv-t__tit { font-size: clamp(22px, 3.2vw, 34px); line-height: 1.15; }
.rv-t--l .rv-t__tit { font-size: clamp(19px, 2.2vw, 23px); }
.rv-t--m .rv-t__tit { font-size: 17.5px; }
.rv-t--s .rv-t__tit { font-size: 15.5px; line-height: 1.3; }
.rv-t__res { color: var(--rv-suave); font-size: 15px; line-height: 1.55; margin-top: 8px !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rv-t__meta { display: flex; gap: 10px; font-size: 12.5px; color: var(--rv-suave); margin-top: 8px; }
.rv-t__meta span::after { content: '·'; margin-left: 10px; }

/* vertical: foto arriba */
.rv-t--vertical .rv-t__txt { padding-top: 12px; }
/* sobre la foto */
.rv-t--sobre { display: flex; min-height: 240px; border-radius: var(--rv-radio); overflow: hidden; }
.rv-t--sobre .rv-t__img { position: absolute; inset: 0; aspect-ratio: auto; border-radius: 0; }
.rv-t--sobre .rv-t__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.82)); }
.rv-t--sobre .rv-t__txt { position: relative; margin-top: auto; padding: 18px; z-index: 1; pointer-events: none; }
.rv-t--sobre .rv-t__txt a { pointer-events: auto; }
.rv-t--sobre .rv-t__tit, .rv-t--sobre .rv-t__tit a { color: #fff !important; }
.rv-t--sobre .rv-t__res, .rv-t--sobre .rv-t__meta { color: rgba(255,255,255,.82); }
.rv-t--sobre .rv-t__sec { background: var(--rv-color); color: var(--rv-sobre-color) !important; padding: 4px 8px; border-radius: 4px; }
.rv-t--sobre.rv-t--xl .rv-t__txt { padding: 24px; }
.rv-t--sobre .rv-t__play { left: auto; right: 14px; top: 14px; bottom: auto; }
/* horizontal: miniatura a la izquierda */
.rv-t--horizontal { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: start; }
.rv-t--horizontal .rv-t__img { aspect-ratio: 4 / 3; }
.rv-t--horizontal .rv-t__sec { font-size: 11px; margin-bottom: 3px; }
/* fila: foto grande a la izquierda (río de noticias, blog en lista) */
.rv-t--fila { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .rv-t--fila { grid-template-columns: 38% 1fr; gap: 20px; align-items: center; } }
/* titular solo */
.rv-t--titular .rv-t__meta { margin-top: 4px; }
/* numerada */
.rv-t--numerada .rv-t__txt { display: grid; grid-template-columns: 44px 1fr; column-gap: 10px; }
.rv-t--numerada .rv-t__num { grid-row: span 2; font: 800 34px/1 var(--rv-ft); color: var(--rv-color); opacity: .9; }
.rv-t--numerada .rv-t__meta { margin-top: 4px; }
/* blog */
.rv-t--blog .rv-t__img { aspect-ratio: 16 / 9; margin-bottom: 16px; }
.rv-t--blog .rv-t__res { -webkit-line-clamp: 4; font-size: 16px; }
.rv-t__mas { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-weight: 700; color: var(--rv-color) !important; }
.rv-t__mas svg { width: 17px; height: 17px; }

/* ── Publicidad ─────────────────────────────────────────────────── */
.rv-anuncio { position: relative; margin: 0 auto; text-align: center; max-width: 100%; }
.rv-anuncio img, .rv-anuncio iframe { margin: 0 auto; max-width: 100%; height: auto; border: 0; }
.rv-anuncio__rotulo { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--rv-suave); margin-bottom: 4px; }
.rv-anuncio--libre .rv-anuncio__libre { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px dashed var(--rv-borde); background: repeating-linear-gradient(135deg, var(--rv-fondo-2), var(--rv-fondo-2) 10px, var(--rv-fondo) 10px, var(--rv-fondo) 20px); border-radius: 8px; color: var(--rv-suave) !important; min-height: 90px; padding: 10px; }
.rv-anuncio--libre b { font-size: 15px; color: var(--rv-texto); }
.rv-anuncio--libre small { font-size: 12px; }
.rv-anuncio--libre .rv-anuncio__rotulo { margin: 0; }
.rv-anuncio--libre:hover .rv-anuncio__libre { border-color: var(--rv-color); }
.rv-anuncio--entre, .rv-anuncio--pie, .rv-anuncio--articulo, .rv-anuncio--cabecera { max-width: 970px; }
.rv-anuncio--superior .rv-anuncio__libre { min-height: 90px; }
.rv-anuncio--lateral .rv-anuncio__libre { min-height: 250px; }
.rv-anuncio--lateral-alto .rv-anuncio__libre { min-height: 600px; }
@media (max-width: 1023px) { .rv-anuncio--lateral-alto .rv-anuncio__libre { min-height: 250px; } }
/* Cabecera y debajo del menú: banner de 928×90, nunca más alto de 90 px (2026-10-03) */
.rv-anuncio--cabecera, .rv-anuncio--superior { max-width: 928px; }
.rv-anuncio--cabecera img, .rv-anuncio--superior img { max-height: 90px; width: auto; }
.rv-anuncio--cabecera iframe, .rv-anuncio--superior iframe { max-height: 90px; }
.rv-anuncio--cabecera .rv-anuncio__libre { min-height: 90px; max-height: 90px; padding: 6px 10px; }
/* Insignia "Anuncio" en la esquina (sustituye al rótulo PUBLICIDAD de arriba) */
.rv-anuncio__info { position: absolute; top: 0; right: 0; z-index: 3; display: inline-flex; align-items: center; gap: 0; height: 18px; padding: 0 3px;
    background: rgba(255,255,255,.92); color: #1a73e8 !important; border-bottom-left-radius: 6px; font: 600 10.5px/18px system-ui, -apple-system, 'Segoe UI', sans-serif;
    text-decoration: none !important; box-shadow: -1px 1px 2px rgba(0,0,0,.08); transition: gap .2s, padding .2s; }
.rv-anuncio__info span { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .25s ease; }
.rv-anuncio__info:hover, .rv-anuncio__info:focus-visible { gap: 4px; padding: 0 6px 0 4px; }
.rv-anuncio__info:hover span, .rv-anuncio__info:focus-visible span { max-width: 60px; }
.rv-oscuro .rv-anuncio__info { background: rgba(20,24,30,.9); color: #8ab4f8 !important; }
/* el anuncio se pinta en un bloque del tamaño de la imagen para que la insignia quede en su esquina */
.rv-anuncio:has(> a.ad-clicker > img), .rv-anuncio:has(> iframe) { width: fit-content; }
.rv-anuncio > a.ad-clicker { display: block; }
.rv-anuncio > a.ad-clicker img { display: block; }

/* bandas de los lados: sólo si caben sin tapar el contenido */
.rv-bandas { display: none; }
@media (min-width: 1560px) {
    .rv-bandas { display: block; }
    .rv-bandas__i { position: fixed; top: 120px; width: 160px; z-index: 5; }
    .rv-bandas__i--izq { left: calc(50% - var(--rv-ancho) / 2 - 184px); }
    .rv-bandas__i--der { right: calc(50% - var(--rv-ancho) / 2 - 184px); }
    .rv-bandas .rv-anuncio__libre { min-height: 600px; }
}

/* ── Pies ───────────────────────────────────────────────────────── */
.rv-pie { margin-top: 48px; font-size: 14.5px; }
.rv-pie--completo, .rv-pie--titulares { background: #0d1117; color: #aeb6c0; }
.rv-pie--completo a:hover, .rv-pie--titulares a:hover { color: #fff !important; }
.rv-pie__cols { display: grid; gap: 30px; padding-top: 44px; padding-bottom: 36px; }
@media (min-width: 640px) { .rv-pie__cols { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .rv-pie__cols { grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 40px; } }
.rv-pie h4 { color: #fff; font-size: 15px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; }
.rv-pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rv-pie__marca p { margin: 14px 0 !important; line-height: 1.6; }
.rv-pie__boletin form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.rv-pie__boletin input { background: #161b22 !important; border-color: #30363d !important; color: #fff !important; }
.rv-pie__final { border-top: 1px solid #21262d; padding: 16px 0; font-size: 13px; }
.rv-pie--simple { border-top: 1px solid var(--rv-borde); padding: 40px 0 28px; text-align: center; }
.rv-pie--simple .rv-logo { justify-content: center; }
.rv-pie__txt { color: var(--rv-suave); max-width: 620px; margin: 14px auto 0 !important; line-height: 1.6; }
.rv-pie__secs { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin-top: 18px; font-weight: 600; }
.rv-pie__copy { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; font-size: 13px; color: var(--rv-suave); }
.rv-pie--titulares { padding: 40px 0 24px; }
.rv-pie__arriba { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 22px; border-bottom: 1px solid #21262d; }
.rv-pie__rejilla { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 20px; padding: 24px 0; font-weight: 600; color: #fff; }
@media (min-width: 768px) { .rv-pie__rejilla { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .rv-pie__rejilla { grid-template-columns: repeat(6, 1fr); } }
.rv-pie--titulares .rv-pie__txt { margin: 0 0 20px !important; max-width: none; color: #8b949e; }
.rv-pie--titulares .rv-pie__copy { justify-content: space-between; border-top: 1px solid #21262d; padding-top: 16px; color: #8b949e; }
.rv-pie--titulares .rv-pie__copy a { margin-left: 14px; }
.rv-pie--minimo { border-top: 1px solid var(--rv-borde); padding: 22px 0; font-size: 13px; color: var(--rv-suave); }
.rv-pie__linea { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; justify-content: space-between; }
.rv-pie__links { display: flex; gap: 14px; }

/* ── Modo oscuro (plantilla Noche) ──────────────────────────────── */
.rv-oscuro .rv-cab, .rv-oscuro .rv-cab__lineas { background: var(--rv-fondo); }
.rv-oscuro .rv-busca__f { background: #161b22; }
.rv-oscuro .rv-busca__f input, .rv-oscuro .rv-busca__f .rv-icobtn { color: #fff; }
.rv-oscuro .rv-bt { border-color: #30363d; }
.rv-oscuro .rv-aviso { background: #2b2111; border-color: #594214; color: #f0c674; }
body.rv-sitio.rv-oscuro main, body.rv-sitio.rv-oscuro .main-content--section { background: var(--rv-fondo); color: var(--rv-texto); }

/* Con barra lateral no caben 4 tarjetas por fila: 3 como mucho */
@media (min-width: 1024px) { .rv-conlat__p .rv-rejilla--4 { grid-template-columns: repeat(3, 1fr); } }
/* Cabecera y pie nunca más estrechos que 1080 px (la plantilla Minimal tiene el contenido a 760) */
.rv-cab .rv-contenedor, .rv-pie .rv-contenedor, .rv-sup .rv-contenedor, .rv-uh .rv-contenedor { max-width: max(var(--rv-ancho), 1080px); }
.rv-bandas { transition: opacity .25s; }
.rv-bandas.rv-bandas--oculto { opacity: 0; pointer-events: none; }

/* ══ Páginas internas del tema (noticia, sección, búsqueda, páginas) con la
   cara de la plantilla. No se reescriben sus vistas —comentarios, votos,
   compartir y contraseña siguen funcionando igual—: sólo la tipografía, los
   títulos de bloque, las etiquetas y los botones. ══ */
body.rv-sitio main h1, body.rv-sitio main h2, body.rv-sitio main h3, body.rv-sitio main h4, body.rv-sitio main h5,
body.rv-sitio main .title-font, body.rv-sitio main .post--title { font-family: var(--rv-ft) !important; letter-spacing: -.01em; }
body.rv-sitio main, body.rv-sitio main p, body.rv-sitio main li, body.rv-sitio main input, body.rv-sitio main textarea, body.rv-sitio main .btn { font-family: var(--rv-fx); }

/* la noticia */
body.rv-sitio main .post-title { font-size: clamp(28px, 4.2vw, 46px) !important; line-height: 1.12 !important; font-weight: 800; margin-bottom: 14px !important; }
body.rv-sitio main .post-single { font-size: 18px; line-height: 1.75; color: var(--rv-texto); }
body.rv-sitio main .post-single p { text-align: left !important; margin: 0 0 1.15em; }
body.rv-sitio main .post-single h2, body.rv-sitio main .post-single h3 { margin: 1.4em 0 .5em; line-height: 1.25; }
body.rv-sitio main .post-single h2 { font-size: 28px; } body.rv-sitio main .post-single h3 { font-size: 23px; }
body.rv-sitio main .post-single img { border-radius: var(--rv-radio); height: auto; max-width: 100%; }
body.rv-sitio main .post-single a { color: var(--rv-color); text-decoration: underline; text-underline-offset: 3px; }
body.rv-sitio main .post-single blockquote { border-left: 4px solid var(--rv-color); margin: 1.4em 0; padding: 4px 0 4px 20px; font-family: var(--rv-ft); font-size: 22px; line-height: 1.45; color: var(--rv-texto); font-style: italic; }
body.rv-sitio main .post-single ul, body.rv-sitio main .post-single ol { padding-left: 1.3em; margin-bottom: 1.15em; }
body.rv-sitio main .post-single figure figcaption { font-size: 14px; color: var(--rv-suave); margin-top: 6px; }
@media (max-width: 639px) { body.rv-sitio main .post-single { font-size: 17px; } }

/* títulos de bloque del tema (la forma con "pestañita") → como los de la plantilla */
body.rv-sitio main .section-title, body.rv-sitio main .nav-title { background: none !important; border-bottom: 2px solid var(--rv-texto) !important; padding: 0 0 8px !important; }
body.rv-sitio main .section-title::before, body.rv-sitio main .section-title::after,
body.rv-sitio main .has-bg-shape::before, body.rv-sitio main .has-bg-shape::after { display: none !important; }
body.rv-sitio main .section-title h2, body.rv-sitio main .section-title h3, body.rv-sitio main .section-title h4,
body.rv-sitio main .nav-title h2, body.rv-sitio main .nav-title h4 { font-size: 19px !important; text-transform: var(--rv-mayus); color: var(--rv-texto) !important; padding: 0 !important; margin: 0 !important; background: none !important; }
body.rv-sitio main .section-title h2::before, body.rv-sitio main .section-title h4::before { content: ''; display: inline-block; width: 10px; height: 10px; background: var(--rv-color); margin-right: 10px; vertical-align: middle; border-radius: 2px; }

/* etiquetas de sección, botones, formularios */
body.rv-sitio main .cat-btn, body.rv-sitio main .post--category { border-radius: 4px !important; font-family: var(--rv-fx) !important; font-size: 11.5px !important; font-weight: 700; letter-spacing: .05em; padding: 4px 8px !important; }
body.rv-sitio main .btn, body.rv-sitio main button[type=submit] { border-radius: calc(var(--rv-radio) + 2px) !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.rv-sitio main .theme-input-style, body.rv-sitio main input.form-control, body.rv-sitio main textarea { border-radius: calc(var(--rv-radio) + 2px) !important; border: 1px solid var(--rv-borde) !important; }
body.rv-sitio main .breadcrumb { font-size: 13px; color: var(--rv-suave); background: none !important; padding-left: 0 !important; }
body.rv-sitio main .post--item .post--img img, body.rv-sitio main .post--img img { border-radius: var(--rv-radio); }
body.rv-sitio main .widget { border-radius: var(--rv-radio); }

/* modo oscuro en las internas (plantilla Noche) */
body.rv-sitio.rv-oscuro main, body.rv-sitio.rv-oscuro main .bg-white, body.rv-sitio.rv-oscuro main .widget,
body.rv-sitio.rv-oscuro main .main-content--section, body.rv-sitio.rv-oscuro main .bg-light { background: var(--rv-fondo) !important; color: var(--rv-texto) !important; }
body.rv-sitio.rv-oscuro main h1, body.rv-sitio.rv-oscuro main h2, body.rv-sitio.rv-oscuro main h3, body.rv-sitio.rv-oscuro main h4,
body.rv-sitio.rv-oscuro main h5, body.rv-sitio.rv-oscuro main a:not(.btn):not(.cat-btn), body.rv-sitio.rv-oscuro main .text-dark,
body.rv-sitio.rv-oscuro main .title-color, body.rv-sitio.rv-oscuro main .title-color-two { color: var(--rv-texto) !important; }
body.rv-sitio.rv-oscuro main p, body.rv-sitio.rv-oscuro main .post-single { color: #c9d1d9 !important; }
body.rv-sitio.rv-oscuro main .theme-input-style, body.rv-sitio.rv-oscuro main input, body.rv-sitio.rv-oscuro main textarea { background: var(--rv-fondo-2) !important; color: var(--rv-texto) !important; border-color: var(--rv-borde) !important; }
body.rv-sitio.rv-oscuro .gdpr-cookie { color: #16181d; }
/* la "banderita" azul que el tema pone detrás del título de cada bloque */
body.rv-sitio main .section-title h2::after, body.rv-sitio main .section-title h3::after, body.rv-sitio main .section-title h4::after,
body.rv-sitio main .nav-title h2::after, body.rv-sitio main .nav-title h4::after { display: none !important; }
body.rv-sitio main .section-title h3::before, body.rv-sitio main .nav-title h2::before { content: ''; display: inline-block; width: 10px; height: 10px; background: var(--rv-color); margin-right: 10px; vertical-align: middle; border-radius: 2px; }
/* listados de sección: la etiqueta flotaba sobre el autor cuando la noticia no tiene foto en ese estilo */
body.rv-sitio main .post--item .post--content .post--category, body.rv-sitio main .post--item .post--content .cat-btn { position: static !important; display: inline-block; margin: 0 0 8px !important; transform: none !important; }

/* ══ Piezas añadidas: cabeceras Bicolor y Doble, pie Periódico y 6 bloques ══ */
.rv-sup--color { background: var(--rv-color); color: var(--rv-sobre-color); }
.rv-sup--color .rv-sup__links a:hover { color: var(--rv-sobre-color); opacity: .8; }
.rv-cab__blanca { background: var(--rv-fondo); border-top: 1px solid var(--rv-borde); border-bottom: 3px solid var(--rv-color); }
.rv-menu--subrayado a { color: var(--rv-texto); }
.rv-menu--subrayado a:hover, .rv-menu--subrayado a.activo { color: var(--rv-color); box-shadow: inset 0 -3px 0 var(--rv-color); }
.rv-cab__negra { background: #111418; }
.rv-cab__negra .rv-acciones { color: #fff; }
.rv-cab--doble .rv-cab__medio { min-height: 96px; }
.rv-cab__edicion { flex-direction: column; align-items: flex-end; text-align: right; gap: 2px; margin-left: 20px; flex-shrink: 0; }
.rv-cab__edicion b { font: 800 22px var(--rv-ft); text-transform: uppercase; letter-spacing: .02em; color: var(--rv-color); }
.rv-cab__edicion span { font-size: 13px; color: var(--rv-suave); }
@media (min-width: 1024px) and (max-width: 1239px) { .rv-cab--doble .rv-cab__anuncio { display: none !important; } }

/* pie Periódico */
.rv-pie--periodico { background: #0f1115; color: #aeb6c0; padding-top: 40px; }
.rv-pie--periodico .rv-pie__arriba { display: grid; gap: 14px; align-items: center; padding-bottom: 26px; border-bottom: 1px solid #23272f; }
.rv-pie--periodico .rv-pie__txt { margin: 0 !important; max-width: none; color: #8b949e; }
@media (min-width: 1024px) { .rv-pie--periodico .rv-pie__arriba { grid-template-columns: auto 1fr auto; gap: 28px; } }
.rv-pie__cols--periodico { padding-top: 30px !important; }
@media (min-width: 1024px) { .rv-pie__cols--periodico { grid-template-columns: 2fr 1fr 1.3fr !important; } }
.rv-pie__secs2 ul { grid-template-columns: repeat(2, 1fr); column-gap: 20px; }
.rv-pie__publi { background: #171a20; border: 1px solid #262b33; border-radius: var(--rv-radio); padding: 20px; }
.rv-pie__publi p { margin: 0 0 14px !important; line-height: 1.55; }
.rv-pie--periodico a:hover { color: #fff !important; }

/* tríptico */
.rv-trip { display: grid; gap: 24px; }
.rv-trip__rot { font: 700 12.5px var(--rv-fx); text-transform: uppercase; letter-spacing: .08em; color: var(--rv-color); padding-bottom: 8px; margin-bottom: 12px; border-bottom: 2px solid var(--rv-texto); }
.rv-trip__izq > .rv-t + .rv-t, .rv-trip__der > .rv-t + .rv-t { border-top: 1px solid var(--rv-borde); padding-top: 12px; margin-top: 12px; }
@media (min-width: 1024px) {
    .rv-trip { grid-template-columns: 1fr 2.1fr 1.1fr; gap: 30px; }
    .rv-trip__izq, .rv-trip__der { padding-top: 2px; }
    .rv-trip__centro { border-left: 1px solid var(--rv-borde); border-right: 1px solid var(--rv-borde); padding: 0 30px; }
    .rv-trip__centro .rv-t--xl .rv-t__tit { text-align: center; }
    .rv-trip__centro .rv-t__txt { text-align: center; }
    .rv-trip__centro .rv-t__meta { justify-content: center; }
}
@media (max-width: 1023px) { .rv-trip__centro { order: -1; } }

/* portada de impacto */
.rv-hero__p .rv-t--sobre { min-height: 380px; }
.rv-hero__p .rv-t--sobre.rv-t--xl .rv-t__tit { font-size: clamp(28px, 4.6vw, 54px); max-width: 900px; }
.rv-hero__f { display: grid; gap: 16px; margin-top: 16px; }
@media (min-width: 768px) { .rv-hero__p .rv-t--sobre { min-height: 520px; } .rv-hero__f { grid-template-columns: repeat(3, 1fr); } }

/* pestañas */
.rv-pest__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; border-bottom: 2px solid var(--rv-texto); padding-bottom: 8px; margin-bottom: 18px; }
.rv-pest__cab .rv-bt__h { margin: 0; }
.rv-pest__tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin-left: auto; }
.rv-pest__tabs::-webkit-scrollbar { display: none; }
.rv-pest__tabs button { border: 1px solid var(--rv-borde); background: transparent; color: var(--rv-suave); border-radius: 999px; padding: 7px 14px; font: 600 13.5px var(--rv-fx); cursor: pointer; white-space: nowrap; }
.rv-pest__tabs button.activo { background: var(--rv-color); border-color: var(--rv-color); color: var(--rv-sobre-color); }
@media (max-width: 639px) { .rv-pest__tabs { margin-left: 0; width: 100%; } }

/* franja de color */
.rv-banda { background: var(--rv-color); border-radius: var(--rv-radio); }
.rv-banda__in { padding: 22px 18px 26px; }
.rv-banda__cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.rv-banda__cab h2 { color: var(--rv-sobre-color) !important; font-size: 26px !important; text-transform: var(--rv-mayus); }
.rv-banda__cab a { color: var(--rv-sobre-color) !important; font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; }
.rv-banda__cab svg { width: 16px; height: 16px; }
.rv-banda .rv-t__tit, .rv-banda .rv-t__tit a { color: var(--rv-sobre-color) !important; }
.rv-banda .rv-t__meta { color: var(--rv-sobre-color); opacity: .75; }
.rv-banda .rv-t__sec { color: var(--rv-sobre-color) !important; opacity: .85; }
@media (min-width: 1024px) { .rv-banda__in { padding: 32px 32px 36px; } }

/* titulares en dos columnas */
.rv-tit2__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; column-gap: 34px; }
@media (min-width: 768px) { .rv-tit2__l { grid-template-columns: 1fr 1fr; } }
.rv-tit2__l li { display: grid; grid-template-columns: 58px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--rv-borde); }
.rv-tit2__h { font: 700 13px var(--rv-fx); color: var(--rv-color); padding-top: 2px; }
.rv-tit2__l .rv-t__sec { margin-bottom: 3px; font-size: 11px; }
.rv-tit2__t { display: block; font: 700 16px/1.3 var(--rv-ft); color: var(--rv-texto); }

/* minuto a minuto */
.rv-crono__l { list-style: none; margin: 0; padding: 0; position: relative; }
.rv-crono__l::before { content: ''; position: absolute; left: 64px; top: 6px; bottom: 6px; width: 2px; background: var(--rv-borde); }
.rv-crono__i { display: grid; grid-template-columns: 56px 1fr; gap: 26px; padding: 12px 0; position: relative; }
.rv-crono__i::before { content: ''; position: absolute; left: 59px; top: 18px; width: 12px; height: 12px; border-radius: 50%; background: var(--rv-color); box-shadow: 0 0 0 4px var(--rv-fondo); }
.rv-crono__h { font: 700 13px var(--rv-fx); color: var(--rv-color); text-align: right; padding-top: 14px; }
.rv-crono__i:first-child .rv-crono__c { background: var(--rv-fondo-2); border-radius: var(--rv-radio); padding: 12px; }
@media (min-width: 640px) { .rv-crono__i .rv-t--horizontal { grid-template-columns: 150px 1fr; } }
/* cabeceras Bicolor y Doble: en celular el menú se desliza de lado (como en las demás) */
@media (max-width: 1023px) {
    .rv-cab__negra .rv-menu, .rv-cab__blanca .rv-menu { min-width: 0; flex: 1; }
    .rv-cab__negra .rv-menu ul, .rv-cab__blanca .rv-menu ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .rv-cab__negra .rv-menu ul::-webkit-scrollbar, .rv-cab__blanca .rv-menu ul::-webkit-scrollbar { display: none; }
}
/* Impacto: Anton sólo en los titulares grandes; en los chicos se hace ilegible */
.rv-pl-impacto .rv-t--s .rv-t__tit, .rv-pl-impacto .rv-t--m .rv-t__tit, .rv-pl-impacto .rv-tit2__t { font-family: var(--rv-fx) !important; font-weight: 700; letter-spacing: 0; }
.rv-pl-impacto .rv-t--xl .rv-t__tit, .rv-pl-impacto .rv-t--l .rv-t__tit, .rv-pl-impacto .rv-bt__h, .rv-pl-impacto .rv-banda__cab h2 { letter-spacing: .01em; font-weight: 400; }

/* ══ Página de noticia (revrid/sitio/noticia) y listados (revrid/sitio/listado) ══ */
.rv-migas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--rv-suave); margin: 18px 0 14px; }
.rv-migas a:hover { color: var(--rv-color); }
.rv-nota__cab { margin-bottom: 20px; }
.rv-nota__sec { font-size: 13px !important; margin-bottom: 10px !important; }
.rv-nota__h1 { font-size: clamp(28px, 4.4vw, 48px) !important; line-height: 1.1 !important; font-weight: 800; letter-spacing: -.02em; margin: 0 0 14px !important; }
.rv-nota__lead { font-size: clamp(17px, 2vw, 21px); line-height: 1.5; color: var(--rv-suave); margin: 0 0 16px !important; font-family: var(--rv-fx); }
.rv-nota__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13.5px; color: var(--rv-suave); align-items: center; }
.rv-nota__meta b { color: var(--rv-texto); }
.rv-nota__meta > * + *::before { content: '·'; margin-right: 16px; opacity: .6; }
.rv-nota__media { margin: 0 0 26px; }
.rv-nota__media > img { width: 100%; height: auto; border-radius: var(--rv-radio); display: block; }
.rv-nota__video { position: relative; padding-top: 56.25%; border-radius: var(--rv-radio); overflow: hidden; background: #000; }
.rv-nota__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rv-nota__galeria { position: relative; }
.rv-nota__galeria .rv-carrusel__pista { grid-auto-columns: 100%; }
.rv-nota__galeria img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--rv-radio); }
.rv-nota__audio { margin-top: 12px; } .rv-nota__audio audio { width: 100%; }
.rv-nota__cuerpo { position: relative; }
.rv-nota__texto { font-family: var(--rv-fx); font-size: 18.5px; line-height: 1.78; color: var(--rv-texto); overflow-wrap: anywhere; }
.rv-nota__texto p { margin: 0 0 1.15em; text-align: justify !important; -webkit-hyphens: auto; hyphens: auto; }
.rv-nota__texto blockquote p, .rv-nota__texto .rv-fuente { text-align: left !important; }
.rv-nota__texto h2, .rv-nota__texto h3 { margin: 1.5em 0 .5em; line-height: 1.25; }
.rv-nota__texto h2 { font-size: 28px; } .rv-nota__texto h3 { font-size: 23px; }
.rv-nota__texto img { max-width: 100%; height: auto; border-radius: var(--rv-radio); margin: 8px 0; }
.rv-nota__texto a { color: var(--rv-color); text-decoration: underline; text-underline-offset: 3px; }
.rv-nota__texto blockquote { border-left: 4px solid var(--rv-color); margin: 1.5em 0; padding: 4px 0 4px 20px; font: italic 22px/1.45 var(--rv-ft); }
.rv-nota__texto ul, .rv-nota__texto ol { padding-left: 1.3em; margin-bottom: 1.15em; }
.rv-nota__texto iframe { max-width: 100%; }
.rv-nota__texto--capital > p:first-of-type::first-letter { float: left; font: 800 4.2em/.85 var(--rv-ft); margin: .06em .12em 0 0; color: var(--rv-color); }
@media (max-width: 639px) { .rv-nota__texto { font-size: 17px; } }
.rv-nota__publi { margin: 30px 0; clear: both; }
.rv-nota__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.rv-nota__tags a { padding: 6px 12px; border-radius: 999px; background: var(--rv-fondo-2); font-size: 14px; font-weight: 600; }
.rv-nota__tags a:hover { background: var(--rv-color); color: var(--rv-sobre-color) !important; }
.rv-nota__autor { display: flex; gap: 16px; align-items: flex-start; padding: 20px; background: var(--rv-fondo-2); border-radius: var(--rv-radio); margin: 26px 0; }
.rv-nota__avatar { width: 54px; height: 54px; flex: 0 0 54px; border-radius: 50%; background: var(--rv-color); color: var(--rv-sobre-color); display: grid; place-items: center; font: 800 22px var(--rv-ft); }
.rv-nota__autor b { font-size: 16px; } .rv-nota__autor p { color: var(--rv-suave); font-size: 14.5px; line-height: 1.55; margin-top: 4px !important; }
.rv-nota__nav { display: grid; gap: 12px; margin: 10px 0 26px; }
@media (min-width: 640px) { .rv-nota__nav { grid-template-columns: 1fr 1fr; } }
.rv-nota__nav a { display: block; padding: 16px; border: 1px solid var(--rv-borde); border-radius: var(--rv-radio); font: 700 15.5px/1.35 var(--rv-ft); }
.rv-nota__nav a:hover { border-color: var(--rv-color); }
.rv-nota__nav a.der { text-align: right; }
.rv-nota__nav small { display: block; font: 600 12px var(--rv-fx); color: var(--rv-suave); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.rv-nota__coment .comment-section, .rv-nota__coment .comment-respond { font-family: var(--rv-fx); }
.rv-nota__coment .theme-input-style { width: 100%; border: 1px solid var(--rv-borde); border-radius: calc(var(--rv-radio) + 2px); padding: 10px 14px; font-size: 15px; background: var(--rv-fondo); color: var(--rv-texto); }
.rv-nota__coment .btn { background: var(--rv-color) !important; color: var(--rv-sobre-color) !important; border: 0; border-radius: calc(var(--rv-radio) + 2px) !important; padding: 12px 22px; font-weight: 700; }
.rv-nota__coment .comment-reply-title { font-size: 22px; }
.rv-nota__rel { margin-top: 36px; }

/* compartir */
.rv-comp { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0; }
.rv-comp__rot { font-size: 13px; font-weight: 700; color: var(--rv-suave); text-transform: uppercase; letter-spacing: .06em; margin-right: 4px; }
.rv-comp__b { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff !important; border: 0; cursor: pointer; }
.rv-comp__b .rv-ico, .rv-comp__b svg { width: 18px; height: 18px; }
.rv-comp__b--gris { background: var(--rv-fondo-2); color: var(--rv-texto) !important; }
.rv-comp__b--gris:hover { background: var(--rv-color); color: var(--rv-sobre-color) !important; }
.rv-comp__b.copiado { background: #00a86b; color: #fff !important; }
@media (min-width: 1200px) {
    /* en pantallas grandes, la columna de compartir flota a la izquierda del texto */
    .rv-nota--revista .rv-comp--lado, .rv-nota--inmersivo .rv-comp--lado { position: absolute; left: -76px; top: 4px; flex-direction: column; margin: 0; }
    .rv-nota--revista .rv-comp--lado .rv-comp__rot, .rv-nota--inmersivo .rv-comp--lado .rv-comp__rot { display: none; }
}
.rv-nota--clasico .rv-comp--lado, .rv-nota--minimo .rv-comp--lado { margin-top: 0; }

/* estilo Inmersivo */
.rv-nota__hero { position: relative; min-height: 78vh; display: flex; align-items: flex-end; background: #0d1117 center/cover no-repeat; color: #fff; }
.rv-nota__hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.15) 20%, rgba(0,0,0,.85)); }
.rv-nota__hero-in { position: relative; padding-top: 60px; padding-bottom: 46px; max-width: 900px !important; }
.rv-nota__hero .rv-nota__h1, .rv-nota__hero .rv-nota__meta b { color: #fff !important; }
.rv-nota__hero .rv-nota__lead, .rv-nota__hero .rv-nota__meta { color: rgba(255,255,255,.85); }
.rv-nota__hero .rv-nota__sec { background: var(--rv-color); color: var(--rv-sobre-color) !important; padding: 4px 9px; border-radius: 4px; }
.rv-nota--inmersivo .rv-nota__h1 { font-size: clamp(32px, 5.4vw, 64px) !important; }
.rv-nota__sola { max-width: 760px; margin: 0 auto; }
.rv-nota--inmersivo .rv-migas { justify-content: center; }

/* estilo Revista */
.rv-nota--revista .rv-nota__cab { text-align: center; max-width: 900px; margin: 10px auto 28px; }
.rv-nota--revista .rv-nota__meta { justify-content: center; }
.rv-nota--revista .rv-migas { justify-content: center; }
.rv-nota__media--ancha { width: min(1100px, calc(100vw - 32px)); position: relative; left: 50%; transform: translateX(-50%); }
.rv-nota--revista .rv-nota__h1 { font-size: clamp(30px, 5vw, 56px) !important; }

/* estilo Solo texto */
.rv-nota--minimo .rv-nota__h1 { font-size: clamp(32px, 5vw, 58px) !important; }
.rv-nota--minimo .rv-nota__cab { border-bottom: 1px solid var(--rv-borde); padding-bottom: 20px; margin-bottom: 26px; }

/* listados */
.rv-listado__cab { padding: 6px 0 22px; border-bottom: 2px solid var(--rv-texto); margin-bottom: 26px; }
.rv-listado__cab small { display: block; font: 700 12.5px var(--rv-fx); text-transform: uppercase; letter-spacing: .08em; color: var(--rv-color); margin-bottom: 6px; }
.rv-listado__cab h1 { font-size: clamp(30px, 5vw, 52px) !important; font-weight: 800; }
.rv-listado__cab p { color: var(--rv-suave); margin-top: 8px !important; font-size: 14px; }
.rv-listado__dest { margin-bottom: 26px; }
.rv-listado__dest .rv-t--sobre { min-height: 360px; }
@media (min-width: 768px) { .rv-listado__dest .rv-t--sobre { min-height: 460px; } }
.rv-listado__fila + .rv-listado__fila, .rv-b--anuncio + .rv-listado__fila { margin-top: 26px; }
.rv-pag { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 36px 0 10px; }
.rv-pag a, .rv-pag span { min-width: 42px; height: 42px; padding: 0 14px; display: inline-grid; place-items: center; border: 1px solid var(--rv-borde); border-radius: 10px; font-weight: 600; font-size: 14.5px; }
.rv-pag a:hover { border-color: var(--rv-color); color: var(--rv-color); }
.rv-pag .act { background: var(--rv-color); border-color: var(--rv-color); color: var(--rv-sobre-color); }
.rv-pag .off { opacity: .4; }
/* Inmersivo: la foto a pantalla completa pasa por delante de las bandas publicitarias de los lados */
.rv-nota__hero { z-index: 6; }
@media (max-width: 639px) { .rv-nota__meta { gap: 4px 14px; } .rv-nota__meta > * + *::before { display: none; } }

/* Celular: nada puede ensanchar la página. El menú de la barra crecía hasta
   ~800 px (un hijo flex no encoge por debajo de su contenido sin min-width:0)
   y la página se iba a la derecha dejando una franja blanca. */
.rv-menu { min-width: 0; max-width: 100%; }
.rv-cab__barra-in > *, .rv-cab__fila > *, .rv-cab__medio > * { min-width: 0; }
.rv-cab__barra-in .rv-menu, .rv-cab__fila .rv-menu { flex: 1 1 0; }
html:has(body.rv-sitio), body.rv-sitio { overflow-x: clip; max-width: 100%; }
/* Celular: buscador y menú (☰) pegados al borde derecho, no al lado del logo */
.rv-cab__medio > .rv-solo-movil { margin-left: auto; }
.rv-cab__medio > .rv-solo-movil .rv-acciones { margin-right: -8px; }
.rv-logo { max-width: 62%; }
.rv-logo img { max-width: 100%; }
@media (max-width: 1023px) { .rv-cab--blog .rv-acciones { margin-left: auto; } }

/* ══ Diseñador de portada: números de bloque y códigos de espacio (sólo en su vista previa) ══ */
.rv-numerado { position: relative; outline: 2px dashed rgba(26, 111, 216, .45); outline-offset: 6px; border-radius: 4px; margin-top: 34px; }
.rv-numerado--sub { outline-color: rgba(0, 168, 107, .5); margin-top: 26px; }
.rv-numerado__n { position: absolute; z-index: 20; top: -16px; left: -10px; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 16px; background: #1a6fd8; color: #fff; font: 800 15px/32px system-ui, sans-serif; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.rv-numerado--sub > .rv-numerado__n { background: #00a86b; font-size: 13px; }
.rv-numerado > .rv-b:first-of-type { margin-top: 0; }
.rv-numerado.rv-resaltado { outline: 3px solid #f0b429; outline-offset: 6px; }
.rv-anuncio { position: relative; }
.rv-anuncio__codigo { position: absolute; z-index: 21; top: -12px; right: -8px; background: #f0b429; color: #3d2a00; font: 800 13px/26px system-ui, sans-serif; padding: 0 10px; border-radius: 13px; box-shadow: 0 4px 12px rgba(0,0,0,.25); }

/* ── Menú que no cabe (celular): desvanecido + flecha en el lado que tiene más.
   La máscara funciona sobre cualquier color de barra (roja, negra, blanca). */
.rv-menu { position: relative; }
.rv-menu__flecha { display: none; }
.rv-menu--desliza ul { scroll-behavior: smooth; }
.rv-menu--desliza.hay-der ul { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent calc(100% - 14px)); mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent calc(100% - 14px)); }
.rv-menu--desliza.hay-izq ul { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 44px), transparent calc(100% - 14px)); mask-image: linear-gradient(to left, #000 calc(100% - 44px), transparent calc(100% - 14px)); }
.rv-menu--desliza.hay-izq.hay-der ul { -webkit-mask-image: linear-gradient(to right, transparent 14px, #000 44px, #000 calc(100% - 44px), transparent calc(100% - 14px)); mask-image: linear-gradient(to right, transparent 14px, #000 44px, #000 calc(100% - 44px), transparent calc(100% - 14px)); }
.rv-menu--desliza .rv-menu__flecha { position: absolute; top: 0; bottom: 0; z-index: 2; width: 18px; border: 0; padding: 0; background: none; color: var(--rv-texto, #111827); font: 400 20px/1 system-ui, sans-serif; opacity: 0; pointer-events: none; transition: opacity .2s; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.rv-menu--color .rv-menu__flecha { color: var(--rv-sobre-color); }
.rv-menu--oscuro .rv-menu__flecha, .rv-cab__negra .rv-menu__flecha { color: #d8dce2; }
.rv-menu__flecha--der { right: 0; }
.rv-menu__flecha--izq { left: 0; }
.rv-menu--desliza.hay-der .rv-menu__flecha--der, .rv-menu--desliza.hay-izq .rv-menu__flecha--izq { opacity: .75; pointer-events: auto; }

/* ── Bloques por dispositivo (diseñador: "Mostrar en") */
@media (min-width: 1024px) { .rv-ver-movil { display: none !important; } }
@media (max-width: 1023.98px) { .rv-ver-pc { display: none !important; } }

/* ── Escuchar la noticia (lectura en voz alta del dispositivo) */
.rv-escuchar { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; border: 1px solid var(--rv-borde, #e5e7eb); background: #fff; color: var(--rv-texto, #111827); border-radius: 999px; padding: 8px 16px 8px 12px; font: 600 14.5px var(--rv-fx); cursor: pointer; }
.rv-escuchar[hidden] { display: none; }
.rv-escuchar svg { width: 20px; height: 20px; fill: none; stroke: var(--rv-color); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rv-escuchar small { color: #6b7280; font-weight: 500; }
.rv-escuchar:hover { border-color: var(--rv-color); }
.rv-nota__hero .rv-escuchar { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.35); }
.rv-nota__hero .rv-escuchar small { color: rgba(255,255,255,.75); }
.rv-voz { position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 1200; width: min(560px, calc(100% - 24px)); background: #0f172a; color: #fff; border-radius: 16px; box-shadow: 0 12px 34px rgba(0,0,0,.35); padding: 10px 12px; display: flex; align-items: center; gap: 10px; font: 500 14px var(--rv-fx); }
.rv-voz[hidden] { display: none; }
.rv-voz button { border: 0; background: none; color: #fff; cursor: pointer; padding: 0; }
.rv-voz__play { width: 42px; height: 42px; border-radius: 50%; background: var(--rv-color) !important; color: var(--rv-sobre-color) !important; display: grid; place-items: center; flex: 0 0 42px; font-size: 17px; }
.rv-voz__info { flex: 1; min-width: 0; }
.rv-voz__info b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13.5px; }
.rv-voz__barra { height: 4px; background: rgba(255,255,255,.18); border-radius: 2px; margin-top: 6px; overflow: hidden; }
.rv-voz__barra i { display: block; height: 100%; width: 0; background: var(--rv-color); transition: width .3s; }
.rv-voz__vel { font-weight: 700 !important; font-size: 13px !important; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 8px; padding: 5px 7px !important; min-width: 46px; }
.rv-voz__cerrar { font-size: 18px; opacity: .7; width: 28px; }
.rv-leyendo { background: color-mix(in srgb, var(--rv-color) 12%, transparent); border-radius: 4px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--rv-color) 12%, transparent); }

/* ── "Powered by revrid.com" junto al copyright de todos los pies */
.rv-powered { white-space: nowrap; opacity: .8; }
.rv-powered::before { content: "·"; margin: 0 8px; }
.rv-powered a { color: inherit; font-weight: 700; text-decoration: none; }
.rv-powered a:hover { text-decoration: underline; }

/* ── Fotos dentro del cuerpo de la noticia (las trae la IA de la nota original) */
.rv-nota__figura { margin: 1.4em 0; }
.rv-nota__figura img { width: 100%; height: auto; border-radius: var(--rv-radio); display: block; margin: 0; }
.rv-nota__figura figcaption { font: 500 13px var(--rv-fx); color: #6b7280; margin-top: 6px; text-align: left; }

/* ── Letras sobre foto legibles (sobre todo en celular). Antes el degradado
   empezaba tarde y era suave: en fotos claras (banderas, paredes blancas) el
   título y el resumen se perdían. */
.rv-t--sobre .rv-t__img::after { background: linear-gradient(180deg, rgba(0,0,0,0) 15%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.9) 100%); }
.rv-t--sobre .rv-t__tit, .rv-t--sobre .rv-t__res, .rv-t--sobre .rv-t__meta { text-shadow: 0 1px 3px rgba(0,0,0,.55); }
.rv-t--sobre .rv-t__res { color: rgba(255,255,255,.9); }
/* Las caras quedan en la parte de arriba de casi todas las fotos de prensa. */
.rv-t__img img { object-position: center 28%; }
@media (max-width: 767.98px) {
    .rv-t--sobre { min-height: 300px; }
    .rv-t--sobre .rv-t__txt { padding: 16px; }
    .rv-t--sobre .rv-t__res { display: none; }
    .rv-t--sobre .rv-t__tit { font-size: 22px !important; line-height: 1.18; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
    .rv-t--sobre.rv-t--m .rv-t__tit, .rv-t--sobre.rv-t--s .rv-t__tit { font-size: 19px !important; -webkit-line-clamp: 3; }
    .rv-t--sobre .rv-t__sec { font-size: 11.5px; }
}

/* ── Encuestas (App\Services\Encuestas, _encuesta.blade.php) ─────────── */
.rv-enc { background: var(--rv-fondo); border: 1px solid var(--rv-borde); border-radius: calc(var(--rv-radio) + 4px); padding: 20px; position: relative; overflow: hidden; }
.rv-enc::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--rv-color); }
.rv-enc--bloque { max-width: 760px; margin: 0 auto; padding: 26px; }
.rv-enc--pagina { max-width: 680px; margin: 10px auto 0; padding: 30px; box-shadow: 0 10px 34px rgba(16, 24, 40, .08); }
.rv-enc--lateral { padding: 16px; }
.rv-enc__cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.rv-enc__eti { display: inline-flex; align-items: center; gap: 6px; font: 700 12px var(--rv-fx); letter-spacing: .08em; text-transform: uppercase; color: var(--rv-color); }
.rv-s .rv-enc__eti svg { width: 15px; height: 15px; }
.rv-enc__estado { font-size: 12px; font-weight: 600; color: var(--rv-suave); background: var(--rv-fondo-2); border-radius: 999px; padding: 3px 10px; }
.rv-enc__img { width: 100%; max-height: 260px; object-fit: cover; border-radius: var(--rv-radio); margin-bottom: 14px; }
.rv-s .rv-enc__q { font-size: 21px; line-height: 1.25; margin-bottom: 6px; }
.rv-enc--lateral .rv-enc__q { font-size: 17px; }
.rv-enc--pagina .rv-enc__q { font-size: 26px; }
.rv-enc__d { color: var(--rv-suave); font-size: 14.5px; line-height: 1.5; margin-bottom: 4px !important; }
.rv-enc__ops, .rv-enc__res { display: flex; flex-direction: column; gap: 9px; margin-top: 14px; }
.rv-enc__op, .rv-enc__fila { position: relative; display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--rv-borde); border-radius: calc(var(--rv-radio) + 2px); overflow: hidden; font-size: 15px; line-height: 1.35; }
.rv-enc__op { cursor: pointer; transition: border-color .15s, background .15s; }
.rv-enc__op:hover { border-color: var(--rv-color); }
.rv-enc__op input { position: absolute; opacity: 0; pointer-events: none; }
.rv-enc__marca { flex: 0 0 20px; width: 20px; height: 20px; border: 2px solid var(--rv-borde); border-radius: 50%; position: relative; z-index: 1; background: var(--rv-fondo); transition: border-color .15s; }
.rv-enc__op input[type=checkbox] + .rv-enc__marca { border-radius: 5px; }
.rv-enc__op input:checked + .rv-enc__marca { border-color: var(--rv-color); background: var(--rv-color); box-shadow: inset 0 0 0 3px var(--rv-fondo); }
.rv-enc__op:has(input:checked) { border-color: var(--rv-color); background: color-mix(in srgb, var(--rv-color) 7%, transparent); }
.rv-enc__op input:focus-visible + .rv-enc__marca { outline: 2px solid var(--rv-color); outline-offset: 2px; }
.rv-enc__txt { flex: 1; position: relative; z-index: 1; font-weight: 500; }
.rv-enc__pct { position: relative; z-index: 1; font-weight: 800; font-variant-numeric: tabular-nums; }
.rv-enc__barra { position: absolute; inset: 0 auto 0 0; background: color-mix(in srgb, var(--rv-color) 13%, transparent); transition: width .8s cubic-bezier(.2, .8, .2, 1); }
.rv-enc__fila.lider .rv-enc__barra { background: color-mix(in srgb, var(--rv-color) 24%, transparent); }
.rv-enc__fila.lider .rv-enc__txt { font-weight: 700; }
.rv-enc__fila.mio { border-color: var(--rv-color); }
.rv-enc__tu { font-size: 12px; color: var(--rv-color); white-space: nowrap; }
.rv-enc--anima .rv-enc__barra { width: 0 !important; }
.rv-enc__ayuda { display: block; color: var(--rv-suave); font-size: 13px; margin-top: 8px; }
.rv-enc__msg { color: #c0392b; font-size: 13.5px; font-weight: 600; min-height: 0; margin-top: 8px; }
.rv-enc__msg:empty { display: none; }
.rv-enc__votar { margin-top: 14px; width: 100%; }
.rv-enc__votar[disabled] { opacity: .6; cursor: wait; }
.rv-enc__gracias { margin-top: 12px !important; font-weight: 600; color: var(--rv-texto); }
.rv-enc__pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--rv-borde); font-size: 13px; color: var(--rv-suave); }
.rv-enc__comp { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--rv-color) !important; }
.rv-s .rv-enc__comp svg { width: 16px; height: 16px; }
.rv-enc--vacia { border-style: dashed; background: var(--rv-fondo-2); }
.rv-enc-pagina__comp { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center; margin: 22px auto 0; max-width: 680px; }
.rv-enc-pagina__comp .rv-red { border: 1px solid var(--rv-borde); border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: 14px; background: var(--rv-fondo); cursor: pointer; color: var(--rv-texto); }
.rv-w--encuesta .rv-enc { border: 0; padding: 4px 0 0; }
.rv-w--encuesta .rv-enc::before { display: none; }

/* ── Páginas de sección y noticia con diseño propio (App\Services\Paginas) ── */
.rv-pagina__arriba { margin-top: 22px; }
.rv-pagina__arriba > .rv-b:first-child, .rv-pagina__arriba > .rv-numerado:first-child > .rv-b { margin-top: 0; }
.rv-listado__sola { max-width: 100%; }
.rv-listado__lista { display: flex; flex-direction: column; gap: 18px; margin-top: 24px; }
@media (min-width: 640px) { .rv-rejilla--2 { grid-template-columns: repeat(2, 1fr); } }
.rv-numerado--pieza { margin-top: 30px; outline-color: rgba(124, 58, 237, .5); }
.rv-numerado--pieza > .rv-numerado__n { background: #7c3aed; font-size: 13px; }
.rv-numerado--vacia { min-height: 44px; display: grid; place-items: center; color: #98a2b3; font: 600 13px system-ui, sans-serif; outline-color: rgba(152, 162, 179, .6); }
.rv-numerado--vacia > .rv-numerado__n { background: #98a2b3; }
.rv-numerado:hover { outline-color: #f0b429; cursor: pointer; }
