/* =====================================================================
   Novedades (5 nov 2026): página /novedades (todo el sitio, motor del Analizador y Panel)
   y sección «Nuevo» de la portada. Usa los colores de mr.css y rediseno.css.
   ===================================================================== */

/* Lo que el JS oculta (los filtros y «Ver más» solo aparecen con JavaScript) */
.nv-filtros[hidden], .nv-ver-mas[hidden], .nv-entrada[hidden], .nv-dia[hidden], .nv-tarjeta[hidden], .nv-sin-resultados[hidden] { display: none !important; }

/* Etiqueta «Nuevo» con punto que late */
.nv-etiqueta {
  display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .75rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--mr-cempa-texto); background: var(--mr-cempa-claro); border-radius: 999px; padding: .3rem .8rem .3rem .65rem;
}
.oscuro .nv-etiqueta, .nv-cabecera .nv-etiqueta { color: #1a1230; background: var(--mr-cempa); }
.nv-punto { width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; position: relative; flex: none; }
.nv-punto::after {
  content: ''; position: absolute; inset: 0; border-radius: 50%; background: currentColor;
  animation: nv-latido 2s ease-out infinite;
}
@keyframes nv-latido { 0% { transform: scale(1); opacity: .6; } 80%, 100% { transform: scale(2.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .nv-punto::after { animation: none; } }

.nv-chip-nuevo {
  display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  background: var(--mr-cempa); color: #1a1230; border-radius: 999px; padding: .12rem .5rem; vertical-align: middle;
}
.nv-version {
  display: inline-block; font-size: .75rem; font-weight: 600; font-variant-numeric: tabular-nums;
  background: var(--mr-morado-claro); color: var(--mr-morado-2); border-radius: 999px; padding: .1rem .55rem; vertical-align: middle;
}

/* ---------------------------------------------------------------------
   Página /novedades
   --------------------------------------------------------------------- */
.nv-cabecera h1 em { font-style: italic; color: #f3c37e; }

.nv-pestanas { background: #fff; border-bottom: 1px solid var(--mr-linea); }
.nv-pestanas ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; }
.nv-pestanas ul::-webkit-scrollbar { display: none; }
.nv-pestanas a {
  display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap;
  padding: 1rem .9rem .9rem; font-weight: 600; font-size: .95rem; color: var(--mr-piedra); text-decoration: none;
  border-bottom: 3px solid transparent;
}
.nv-pestanas a:hover { color: var(--mr-tinta); }
.nv-pestanas a[aria-current="page"] { color: var(--mr-morado-2); border-bottom-color: var(--mr-morado); }
.nv-pestanas a:focus-visible { outline: 2px solid var(--mr-morado); outline-offset: -2px; border-radius: 6px; }

.nv-seccion { padding-top: 2rem; }
.nv-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 2.5rem; align-items: start; }
@media (max-width: 991.98px) { .nv-rejilla { grid-template-columns: minmax(0, 1fr); gap: 2rem; } }

/* Filtros por área */
.nv-filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.75rem; }
.nv-filtro {
  display: inline-flex; align-items: center; gap: .4rem; font: inherit; font-size: .88rem; font-weight: 550;
  padding: .4rem .85rem; border-radius: 999px; background: #fff; border: 1px solid var(--mr-linea-2); color: var(--mr-tinta); cursor: pointer;
}
.nv-filtro span { font-size: .78rem; color: var(--mr-piedra); font-variant-numeric: tabular-nums; }
.nv-filtro:hover { border-color: var(--mr-morado); }
.nv-filtro[aria-pressed="true"] { background: var(--mr-morado); border-color: var(--mr-morado); color: #fff; }
.nv-filtro[aria-pressed="true"] span { color: rgba(255, 255, 255, .8); }
.nv-filtro:focus-visible { outline: 2px solid var(--mr-morado); outline-offset: 2px; }
@media (max-width: 575.98px) {
  .nv-filtros { flex-wrap: nowrap; overflow-x: auto; margin-inline: -1.5rem; padding: 0 1.5rem .25rem; scrollbar-width: none; }
  .nv-filtros::-webkit-scrollbar { display: none; }
  .nv-filtro { flex: none; }
}

/* Días y línea de tiempo */
.nv-dia + .nv-dia { margin-top: 2.25rem; }
.nv-dia-fecha {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
  font-family: var(--mr-sans); font-size: 1rem; font-weight: 700; letter-spacing: .02em; color: var(--mr-tinta);
  margin: 0 0 1rem; padding-bottom: .55rem; border-bottom: 1px solid var(--mr-linea);
}
.nv-dia-fecha small { font-size: .88rem; font-weight: 500; color: var(--mr-piedra); }
.nv-linea { list-style: none; margin: 0; padding: 0; position: relative; }
.nv-linea::before { content: ''; position: absolute; left: 1.2rem; top: .5rem; bottom: .5rem; width: 2px; background: var(--mr-linea); }
.nv-entrada { position: relative; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 1rem; scroll-margin-top: 5rem; }
.nv-entrada + .nv-entrada { margin-top: 1rem; }
.nv-entrada > article {
  background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: 1.15rem 1.35rem;
  box-shadow: var(--mr-sombra); min-width: 0;
}
.nv-entrada:target > article { border-color: var(--mr-cempa); box-shadow: 0 0 0 3px var(--mr-cempa-claro), var(--mr-sombra); }
.nv-entrada.reciente > article { border-color: #d8c6ef; }
.nv-entrada h2, .nv-entrada h3 { font-size: 1.15rem; line-height: 1.35; margin: .35rem 0 .45rem; }
.nv-entrada article > p { margin: 0; color: #3d3549; font-size: .98rem; }
.nv-icono {
  position: relative; z-index: 1; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center;
  background: var(--mr-morado-claro); color: var(--mr-morado-2); border: 3px solid var(--mr-papel); font-size: .95rem;
}
.nv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .5rem; margin: 0; font-size: .85rem; color: var(--mr-piedra); }
.nv-area { font-size: .74rem; font-weight: 650; border-radius: 999px; padding: .12rem .55rem; background: var(--mr-morado-claro); color: var(--mr-morado-2); }

/* Color por área */
.area-memorial { background: #fdf0dc; color: #8f4f00; }
.area-legislativo { background: #e6eef9; color: #1d4f91; }
.area-medios { background: #f1eaf9; color: #5c3296; }
.area-datos { background: #e3f3ec; color: #1f6b50; }
.area-sitio { background: #eef0f3; color: #3f4756; }
.area-panel { background: #fbe9e7; color: #9a2a1f; }

.nv-puntos { margin: .75rem 0 0; padding-left: 1.15rem; font-size: .94rem; color: #3d3549; }
.nv-puntos li + li { margin-top: .3rem; }
.nv-detalle { margin-top: .7rem; }
.nv-detalle summary {
  cursor: pointer; font-weight: 600; font-size: .9rem; color: var(--mr-morado-2); list-style: none; display: inline-flex; align-items: center; gap: .35rem;
}
.nv-detalle summary::-webkit-details-marker { display: none; }
.nv-detalle summary::before { content: '\25B8'; transition: transform .15s; }
.nv-detalle[open] summary::before { transform: rotate(90deg); }
.nv-cuantos { font-weight: 500; color: var(--mr-piedra); }
.nv-ir { display: inline-flex; align-items: center; gap: .35rem; margin-top: .8rem; font-weight: 600; font-size: .92rem; text-decoration: none; }
.nv-ir:hover { text-decoration: underline; }
.nv-dato { margin: .85rem 0 0 !important; font-size: .9rem; color: var(--mr-verde) !important; display: flex; gap: .5rem; align-items: baseline; }
.nv-sin-resultados { color: var(--mr-piedra); padding: 1.5rem 0; }

/* Columna lateral */
.nv-lado { display: grid; gap: 1rem; position: sticky; top: 6.5rem; }
@media (max-width: 991.98px) { .nv-lado { position: static; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); } }
.nv-caja { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: 1.1rem 1.25rem; }
.nv-caja h2 { display: flex; gap: .5rem; align-items: center; margin: 0 0 .45rem; font-family: var(--mr-sans); font-weight: 700; }
.nv-caja h2 i { color: var(--mr-morado); }
.nv-caja p { font-size: .92rem; color: var(--mr-piedra); margin: 0 0 .75rem; }
.nv-caja p:last-child { margin-bottom: 0; }
.nv-caja-motor { background: var(--mr-morado-claro); border-color: #dccbf1; }

@media (max-width: 575.98px) {
  .nv-linea::before { left: .95rem; }
  .nv-entrada { grid-template-columns: 1.9rem minmax(0, 1fr); gap: .65rem; }
  .nv-icono { width: 1.9rem; height: 1.9rem; font-size: .78rem; border-width: 2px; }
  .nv-entrada > article { padding: 1rem 1.05rem; border-radius: var(--mr-radio); }
  .nv-entrada h2, .nv-entrada h3 { font-size: 1.05rem; }
}

/* ---------------------------------------------------------------------
   Sección «Nuevo» de la portada
   --------------------------------------------------------------------- */
.nv-portada { background: linear-gradient(180deg, #fff 0%, var(--mr-papel) 100%); border-bottom: 1px solid var(--mr-linea); }
.nv-portada-cabeza { display: flex; align-items: end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.nv-portada-cabeza h2 { margin: 0; }
.nv-portada-lead { margin: .45rem 0 0; color: var(--mr-piedra); max-width: 40rem; }
.nv-filtros-portada { margin-bottom: 1.25rem; }

.nv-tarjetas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 991.98px) { .nv-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nv-tarjetas.nv-recortado .nv-extra { display: none; }
/* 5 nov 2026: la caja es el <li>; adentro va el enlace a la página del sitio y, aparte, el de la nota original (externo). */
.nv-tarjeta {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); box-shadow: var(--mr-sombra);
  border-top: 4px solid var(--nv-color, var(--mr-morado)); transition: transform .15s, box-shadow .15s;
}
.nv-tarjeta:hover { transform: translateY(-2px); box-shadow: var(--mr-sombra-alta, var(--mr-sombra)); }
.nv-tarjeta-enlace {
  flex: 1; display: flex; flex-direction: column; gap: .7rem; min-width: 0; padding: 1.05rem 1.15rem 1rem;
  color: var(--mr-tinta); text-decoration: none;
}
.nv-tarjeta-enlace:focus-visible, .nv-tarjeta-externo:focus-visible { outline: 3px solid var(--mr-morado); outline-offset: -3px; border-radius: var(--mr-radio); }
@media (prefers-reduced-motion: reduce) { .nv-tarjeta { transition: none; } .nv-tarjeta:hover { transform: none; } }
.nv-calif {
  display: flex; align-items: baseline; gap: .45rem; font-size: .84rem; line-height: 1.4; color: #3d3549;
  background: var(--mr-papel); border-radius: var(--mr-radio); padding: .5rem .7rem;
}
.nv-calif i { color: var(--mr-morado); }
.nv-calif strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
.nv-calif.nivel-muy-buena, .nv-calif.nivel-buena { background: var(--mr-verde-claro, #e3f3ec); }
.nv-calif.nivel-regular { background: var(--mr-ambar-claro, #fdf3e1); }
.nv-calif.nivel-deficiente, .nv-calif.nivel-mala { background: var(--mr-rojo-claro, #fbe9e7); }
.nv-tarjeta-externo {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; padding: .6rem 1.15rem; font-size: .82rem;
  color: var(--mr-piedra); text-decoration: none; background: #faf9fc; border-top: 1px solid var(--mr-linea);
}
.nv-tarjeta-externo strong { color: var(--mr-tinta); font-weight: 600; word-break: break-all; }
.nv-tarjeta-externo:hover span:not(.nv-externo-chip) { text-decoration: underline; }
.nv-externo-chip {
  margin-left: auto; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: #8f4f00; background: var(--mr-cempa-claro, #fdf0dc); border-radius: 999px; padding: .12rem .5rem;
}

/* Aviso antes de salir a un sitio externo */
.nv-salir { border: 0; border-radius: var(--mr-radio-lg); padding: 0; max-width: min(28rem, calc(100vw - 2rem)); box-shadow: 0 24px 60px rgba(21, 18, 43, .35); }
.nv-salir::backdrop { background: rgba(21, 18, 43, .55); }
.nv-salir-caja { padding: 1.5rem 1.5rem 1.25rem; }
.nv-salir-icono { width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; background: var(--mr-cempa-claro, #fdf0dc); color: #8f4f00; font-size: 1.1rem; margin-bottom: .85rem; }
.nv-salir h2 { font-size: 1.25rem; margin: 0 0 .5rem; }
.nv-salir p { color: #3d3549; font-size: .95rem; margin: 0 0 .6rem; }
.nv-salir-dominio { font-weight: 600; word-break: break-all; color: var(--mr-tinta); }
.nv-salir-botones { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; margin-top: 1.1rem; }
.nv-tarjeta-tipo { display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 700; letter-spacing: .02em; color: var(--nv-texto, var(--mr-morado-2)); }
.nv-tarjeta-cuerpo { display: flex; gap: .8rem; align-items: flex-start; flex: 1; }
.nv-tarjeta-foto { width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover; flex: none; background: var(--mr-linea); }
.nv-tarjeta-titulo {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  font-family: var(--mr-serif); font-weight: 600; font-size: 1.08rem; line-height: 1.3;
}
.nv-tarjeta-texto {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: .35rem; font-size: .9rem; line-height: 1.45; color: var(--mr-piedra);
}
.nv-tarjeta-pie { display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: .82rem; color: var(--mr-piedra); padding-top: .6rem; border-top: 1px dashed var(--mr-linea); }
.nv-tarjeta-ir { font-weight: 600; color: var(--mr-morado-2); display: inline-flex; gap: .35rem; align-items: center; }

.tipo-memorial { --nv-color: #f2a541; --nv-texto: #8f4f00; }
.tipo-alerta { --nv-color: #b42318; --nv-texto: #9a2a1f; }
.tipo-legislativo { --nv-color: #2a63ad; --nv-texto: #1d4f91; }
.tipo-blog { --nv-color: #1f7a5a; --nv-texto: #1f6b50; }
.tipo-sitio { --nv-color: #7b4bb7; --nv-texto: #5c3296; }

.nv-ver-mas { margin-top: 1rem; }

/* Celular: tarjetas en carrusel que se desliza con el dedo */
@media (max-width: 767.98px) {
  .nv-tarjetas {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .75rem;
    margin-inline: -1.5rem; padding: .25rem 1.5rem 1rem; scroll-padding-inline: 1.5rem; scrollbar-width: none; overscroll-behavior-x: contain;
  }
  .nv-tarjetas::-webkit-scrollbar { display: none; }
  .nv-tarjeta { flex: 0 0 84%; scroll-snap-align: start; }
  .nv-tarjetas.nv-recortado .nv-extra { display: flex; } /* en el carrusel caben todas */
  .nv-tarjeta:hover { transform: none; }
  .nv-ver-mas { display: none; }
  .nv-portada-cabeza .enlace-flecha { order: 3; }
}
/* 5 nov 2026: tarjeta que lleva directo a la nota del medio (ya analizada). */
.nv-tarjeta-enlace[data-nv-externo] .nv-tarjeta-pie { flex-wrap: wrap; row-gap: .35rem; }
.nv-pie-izq { display: inline-flex; align-items: center; gap: .45rem; }
.nv-pie-izq .nv-externo-chip { margin-left: 0; }
.nv-ir-externo { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* ¿Cómo numeramos las versiones de Turing? (6 nov 2026) */
.nv-numeros { display: grid; grid-template-columns: auto 1fr; gap: .45rem .75rem; margin: .35rem 0 .75rem; font-size: .9rem; }
.nv-numeros dt { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--mr-morado); white-space: nowrap; }
.nv-numeros dd { margin: 0; color: var(--mr-piedra); }
