/* =====================================================================
   Memoria y Resistencia — estilo Nocturno (paquete 99, 12 nov 2026).
   Visto bueno de Daniel: noche (#15122B), lavanda y perla, Fraunces + Manrope,
   y una bandera de la comunidad por sección (App\Banderas).
   REGLA: los colores de las banderas solo van en franjas, banderitas y animaciones.
   Botones, enlaces y gráficas siguen en morado, lavanda y perla. Sin vino ni colores de partidos.
   Va después de mr.css, rediseno.css y navbar.css: solo ajusta.
   ===================================================================== */
:root {
  --nc-noche: #15122b;
  --nc-noche-2: #1d1838;
  --nc-noche-3: #2a2150;
  --nc-lavanda: #ede7fa;
  --nc-lavanda-2: #cdb8f5;
  --nc-lavanda-3: #a79fc8;
  --nc-perla: #eadfcb;
  --nc-borde: #4a3f78;
  --nc-borde-2: #3a3168;
  --nc-tinta-suave: #3d3858;
  --mr-serif: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --mr-sans: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
  /* Sin naranja (regla de colores de Daniel, 12 nov): lo que era cempasúchil pasa a perla, y su texto a morado. */
  --mr-cempa: #eadfcb;
  --mr-cempa-texto: #5b3fa8;
  --mr-cempa-claro: #f3eee4;
}
body { font-family: var(--mr-sans); }

/* ---- Franja y banderitas ---- */
.nc-franja { position: relative; height: var(--nc-franja-alto, 6px); overflow: hidden; }
.nc-franja-cuna { position: absolute; inset: 0 auto 0 0; line-height: 0; }
.nc-franja-cuna svg { height: 100%; width: auto; }
.nc-franja-aro { position: absolute; left: 50%; top: 50%; width: calc(var(--nc-franja-alto, 6px) * 3); height: calc(var(--nc-franja-alto, 6px) * 3); transform: translate(-50%, -50%); border-radius: 50%; border: 2px solid #7902aa; }
.nc-mini { position: relative; display: inline-block; flex: none; border-radius: 3px; overflow: hidden; vertical-align: middle; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); }
.nc-mini-cuna { position: absolute; inset: 0 auto 0 0; line-height: 0; }
.nc-mini-cuna svg { height: 100%; width: auto; }

/* ---- Cabecera de noche ---- */
.cabecera.nc-cabecera {
  background: var(--nc-noche); border-bottom: 0; box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--nc-lavanda);
}
.cabecera.nc-cabecera.compacta, .cabecera-v3.nc-cabecera.compacta { background: rgba(21, 18, 43, .94); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); }
.nc-cabecera > .nc-franja { position: absolute; left: 0; right: 0; bottom: 0; }
.nc-cabecera .navbar { padding-block: .45rem; }
.nc-cabecera .marca img { height: 3.4rem; width: auto; }

/* Secciones: texto lavanda, sin íconos, con el listón de su bandera debajo. */
.nc-cabecera .nav-secciones { gap: .35rem; }
.nc-cabecera .nav-sec-enlace { color: var(--nc-lavanda); font-weight: 600; background: transparent; padding: 0 .55rem; flex-wrap: wrap; height: 3rem; }
.nc-cabecera .nav-sec-enlace > i:first-child { display: none; }
.nc-cabecera .nav-sec-flecha { color: var(--nc-lavanda-3); }
.nc-cabecera .nav-sec-texto.doble small { color: var(--nc-lavanda-3); }
.nc-cabecera .nav-sec-enlace:hover, .nc-cabecera .nav-sec:focus-within > .nav-sec-enlace, .nc-cabecera .nav-sec.abierto > .nav-sec-enlace { background: rgba(237, 231, 250, .08); color: #fff; }
.nc-cabecera .nav-sec.activa > .nav-sec-enlace { background: rgba(237, 231, 250, .1); color: #fff; }
.nc-cabecera .nav-sec.activa > .nav-sec-enlace .doble small { color: var(--nc-lavanda-2); }
.nc-cabecera .nav-sec.activa > .nav-sec-enlace::after { content: none; }
.nc-liston { position: absolute; left: .55rem; right: .55rem; bottom: .3rem; height: 3px; border-radius: 3px; opacity: .5; transition: opacity .2s; }
.nc-cabecera .nav-sec-enlace:hover .nc-liston, .nc-cabecera .nav-sec.activa .nc-liston { opacity: 1; }
.nc-cabecera .nav-sec-enlace:focus-visible, .nc-cabecera .nav-acciones a:focus-visible, .nc-cabecera .nav-acciones button:focus-visible { outline: 3px solid var(--nc-perla); outline-offset: 2px; }

/* Botones de la derecha: Turing (contorno lavanda), buscar redondo, Entrar, Donar en perla. */
.nc-cabecera .nav-turing-boton { background: transparent; color: var(--nc-lavanda); border: 1px solid #6b5ba8; }
.nc-cabecera .nav-turing-boton:hover, .nc-cabecera .nav-turing-boton.activa { background: var(--nc-lavanda); color: var(--nc-noche); border-color: var(--nc-lavanda); }
.cabecera-secciones.nc-cabecera .btn-buscar-nav, .cabecera-secciones.nc-cabecera .nav-perfil { background: transparent; color: var(--nc-lavanda); border: 1px solid var(--nc-borde); }
.cabecera-secciones.nc-cabecera .btn-buscar-nav { border-radius: 50%; }
.cabecera-secciones.nc-cabecera .nav-buscar { background: transparent; color: var(--nc-lavanda); border: 1px solid var(--nc-borde); }
.cabecera-secciones.nc-cabecera .nav-buscar > i { color: var(--nc-lavanda); }
.cabecera-secciones.nc-cabecera .nav-buscar:hover, .cabecera-secciones.nc-cabecera .nav-buscar[aria-expanded="true"] { background: rgba(237, 231, 250, .1); color: #fff; border-color: #6b5ba8; box-shadow: none; }
.cabecera-secciones.nc-cabecera .nav-buscar:focus-visible { outline: 3px solid var(--nc-perla); }
.cabecera-secciones.nc-cabecera .btn-buscar-nav:hover, .cabecera-secciones.nc-cabecera .btn-buscar-nav[aria-expanded="true"], .cabecera-secciones.nc-cabecera .nav-perfil:hover { background: rgba(237, 231, 250, .1); color: #fff; border-color: #6b5ba8; }
.nc-cabecera .nav-perfil { display: inline-flex; align-items: center; gap: .45rem; height: var(--nav-alto-boton); padding: 0 .9rem 0 .75rem; border-radius: 999px; font-weight: 700; text-decoration: none; }
.nc-cabecera .nav-donar, .nc-cabecera .btn-vela.nav-donar { background: var(--nc-perla); border-color: var(--nc-perla); color: var(--nc-noche); border-radius: 999px; font-weight: 700; }
.nc-cabecera .nav-donar:hover { background: #f4ecdd; color: var(--nc-noche); }
.nc-cabecera .nav-donar > i { color: #7b4bb7; }
.nc-cabecera .nav-menu-boton, .cabecera-secciones.nc-cabecera .nav-menu-boton { background: var(--nc-lavanda); border-color: var(--nc-lavanda); color: var(--nc-noche); }
.nc-cabecera .nav-menu-boton:hover, .cabecera-secciones.nc-cabecera .nav-menu-boton[aria-expanded="true"] { background: #fff; border-color: #fff; color: var(--nc-noche); }
.nc-cabecera .nav-usuario-boton { color: var(--nc-lavanda); }
.nc-cabecera .nav-usuario-nombre { color: var(--nc-lavanda); }

/* Foto de la cuenta con el aro de su bandera (Mi bandera; Progress si no eligió). */
.nc-cabecera .nav-avatar { position: relative; padding: 3px; background: var(--nc-aro, conic-gradient(#E05252 0 60deg, #EE9B4D 0 120deg, #F2D45C 0 180deg, #4FAF77 0 240deg, #5B83E0 0 300deg, #9B6FD0 0)); box-shadow: none; }
.nc-cabecera .nav-avatar > span, .nc-cabecera .nav-avatar > img { box-shadow: 0 0 0 2px var(--nc-noche); }
.nc-cabecera .nav-avatar > span { width: 100%; height: 100%; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(150deg, #3a2d6b, #241b47); color: #f4ecdd; }
.nc-cabecera .nav-avatar > img { inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); border-radius: 50%; }
body .nc-cabecera .nav-usuario-boton { background: transparent; border-color: rgba(201, 182, 242, .35); }
body .nc-cabecera .nav-usuario-boton:hover, body .nc-cabecera .nav-usuario-boton[aria-expanded="true"] { border-color: #c9b6f2; color: #fff; }
.nc-cabecera .nav-usuario-punto { background: var(--nc-perla); box-shadow: 0 0 0 2px var(--nc-noche); }

/* Barra de la sección: pastillas sobre la noche. */
.nc-cabecera .nav-sub { background: var(--nc-noche-2); border-top: 1px solid var(--nc-borde-2); }
.nc-cabecera .nav-sub-area { background: transparent; color: var(--nc-lavanda); border-color: var(--nc-borde); }
.nc-cabecera .nav-sub-area > i:first-child { background: var(--nc-noche-3); color: var(--nc-lavanda); }
.nc-cabecera .nav-sub-area:hover { color: #fff; border-color: #6b5ba8; }
.nc-cabecera .nav-pestana { color: var(--nc-lavanda-3); }
.nc-cabecera .nav-pestana > i { color: var(--nc-lavanda-3); }
.nc-cabecera .nav-pestana:hover, .nc-cabecera .nav-pestana:hover > i { color: #fff; }
.nc-cabecera .nav-pestana.activa { color: #fff; }
.nc-cabecera .nav-pestana.activa > i { color: var(--nc-lavanda-2); }
.nc-cabecera .nav-pestana.activa::after { background: var(--nc-lavanda); }
.nc-cabecera .nav-sub-accion { color: var(--nc-lavanda); border-color: #6b5ba8; }
.nc-cabecera .nav-sub-accion:hover { background: var(--nc-lavanda); color: var(--nc-noche); border-color: var(--nc-lavanda); }
.nc-cabecera .nav-pestanas.con-sombra-izq, .nc-cabecera .nav-pestanas.con-sombra-der { filter: none; }

/* El listón de cada página de un menú de sección: su bandera en la cabeza del menú. */
.nc-cabecera .nav-sec-menu .nav-sec-cabeza { border-bottom: 3px solid transparent; }

/* ---- Pie: las diez banderas juntas ---- */
/* El pie va de noche en todas las páginas (también el Memorial), sin vino ni naranja. */
body .pie, body .pie.pie-corto { background: var(--nc-noche); color: #cfc8e6; }
body .pie .pie-reporte { background: var(--nc-noche-2); border-bottom: 1px solid var(--nc-borde-2); }
body .pie .pie-reporte-icono { background: var(--nc-noche-3); color: var(--nc-perla); }
body .pie .pie-grupo h2 { color: var(--nc-lavanda-2); }
body .pie a { color: var(--nc-lavanda); }
body .pie a:hover { color: #fff; }
body .pie a.btn-vela, body .pie a.btn-vela:hover { color: var(--nc-noche); }
body .pie .pie-legal, body .pie .pie-legal span { color: var(--nc-lavanda-3); }
body .pie .pie-redes a:hover { color: var(--nc-perla); }
body .pie .pie-memoria i { color: var(--nc-perla); }
body .pie .pie-legal { border-top-color: var(--nc-borde-2); }
body .pie .btn-light-noche { color: var(--nc-lavanda); border-color: #6b5ba8; }
body .pie .btn-light-noche:hover { background: rgba(237, 231, 250, .1); color: #fff; }
body .pie .pie-nodo { border-color: var(--nc-borde-2); background: var(--nc-noche-2); }
body .pie ul.nc-pie-banderas, .nc-pie-banderas { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; align-items: center; justify-content: center; padding: 1.6rem 0 .6rem; margin: 1.5rem 0 0; list-style: none; border-top: 1px solid var(--nc-borde-2); }

/* Donar y las llamadas «vela» van en perla (la paleta Nocturno no usa naranja). */
.btn-vela {
  --bs-btn-bg: var(--nc-perla); --bs-btn-border-color: var(--nc-perla); --bs-btn-color: #15122b;
  --bs-btn-hover-bg: #f4ecdd; --bs-btn-hover-border-color: #f4ecdd; --bs-btn-hover-color: #15122b;
  --bs-btn-active-bg: #dccfb6; --bs-btn-active-border-color: #dccfb6; --bs-btn-active-color: #15122b;
}
.btn-vela > .fa-heart, .btn-vela > .fa-solid.fa-heart { color: #7b4bb7; }
.nc-pie-banderas li { display: inline-flex; align-items: center; gap: .45rem; font-size: .78rem; color: var(--nc-lavanda-3); }
.nc-pie-franja { display: flex; height: 6px; }
.nc-pie-franja > span { flex: 1 1 0; }

/* ---- Encabezados: el texto de los títulos en Fraunces ---- */
.obs-portada h1, .mapa-portada h1, .ficha2-cabecera h1, .reportar2-cabecera h1, .datos-cabecera h1, .om-cabecera h1,
.dona-portada h1, .encabezado-pagina h1, .obsv-hero h1, .dip-hero h1, .cuenta2-hero h1, .vr-portada h1, .nc-hero h1 {
  font-family: var(--mr-serif); font-weight: 400; letter-spacing: -.015em;
}

/* Encabezados genéricos (Aprende, Nosotrxs, guías, blog…): también de noche. */
.encabezado-pagina, .encabezado-pagina:not(.oscuro) {
  background: radial-gradient(1100px 520px at 80% 30%, #2a2150 0%, #15122b 62%); color: #f1edf9; border-bottom: 0;
}
.encabezado-pagina:not(.oscuro)::after { content: none; }
.encabezado-pagina h1 { color: #fff; }
.encabezado-pagina .lead, .encabezado-pagina > .contenedor > p { color: #cfc8e6; }
.encabezado-pagina .migas, .encabezado-pagina .migas a { color: var(--nc-lavanda-3); }
.encabezado-pagina .migas li + li::before { color: #6f66a0; }
.encabezado-pagina .lead a, .encabezado-pagina p a:not(.btn) { color: var(--nc-lavanda); }

/* La palabra en cursiva de cada título va en lavanda (antes dorada). Turing conserva su azul. */
body .obs-portada h1 em, body .obsv-hero h1 em, body .om-cabecera h1 em, body .datos-cabecera h1 em, body .reportar2-cabecera h1 em,
body .vr-portada h1 em, body .acceso2-arte h1 em, body .nv-cabecera h1 em, body .portada h1 em, body .encabezado-pagina h1 em { color: var(--nc-lavanda-2); }
body .linea-barras button.actual { background: linear-gradient(180deg, #ffffff, var(--nc-lavanda-2)); }
body .portada::after { background: radial-gradient(closest-side, rgba(155, 111, 208, .16), transparent 70%); }
body.pagina-turing .om-cabecera h1 em { color: var(--tu-celeste); }

/* Encabezado propio de las páginas nuevas del paquete 99 (Quién es quién, Informe, Mi cuenta). */
.nc-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(1100px 560px at 78% 40%, #2a2150 0%, #15122b 62%); padding: 3.2rem 0 3rem; }
.nc-hero .nc-migas { font-size: .88rem; font-weight: 500; color: var(--nc-lavanda-3); margin: 0 0 1rem; }
.nc-hero .nc-migas a { color: var(--nc-lavanda-3); text-decoration: none; }
.nc-hero .nc-migas a:hover { color: #fff; text-decoration: underline; }
.nc-hero .nc-chip { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nc-lavanda-2); }
.nc-hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.6rem); line-height: 1.04; margin: 0 0 1rem; max-width: 18ch; }
.nc-hero .nc-lead { font-size: 1.12rem; line-height: 1.6; color: #cfc8e6; max-width: 36rem; margin: 0; }
.nc-hero .nc-pildoras { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.4rem; }
.nc-pildora { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: 0 1.1rem; border-radius: 999px; font-weight: 600; font-size: .92rem; color: var(--nc-lavanda); text-decoration: none; box-shadow: inset 0 0 0 1px var(--nc-borde); }
.nc-pildora:hover { color: #fff; box-shadow: inset 0 0 0 1px #8a7bc8; }
.nc-pildora.activa { background: var(--nc-lavanda); color: var(--nc-noche); box-shadow: none; }
.nc-hero + .nc-franja { margin-top: 0; }
.nc-btn-perla { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.2rem; border-radius: 999px; background: var(--nc-perla); color: var(--nc-noche); font-weight: 700; text-decoration: none; border: 0; }
.nc-btn-perla:hover { background: #f4ecdd; color: var(--nc-noche); }
.nc-btn-contorno { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.2rem; border-radius: 999px; color: var(--nc-lavanda); font-weight: 700; text-decoration: none; border: 1px solid #6b5ba8; background: transparent; }
.nc-btn-contorno:hover { background: rgba(237, 231, 250, .1); color: #fff; }

/* Tarjetas claras del cuerpo. */
.nc-cuerpo { background: #faf8f5; padding: 3rem 0 4rem; }
.nc-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #5b3fa8; margin: 0; }
.nc-h2 { font-family: var(--mr-serif); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.1; letter-spacing: -.015em; color: var(--nc-noche); margin: .4rem 0 0; }
.nc-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; margin-top: 1.6rem; }
.nc-tarjeta { display: flex; flex-direction: column; gap: .55rem; padding: 1.4rem; border-radius: 18px; background: #fff; color: var(--nc-noche); text-decoration: none; box-shadow: 0 1px 0 #e7e1f2, 0 0 0 1px #eee9f6; transition: box-shadow .15s; }
.nc-tarjeta:hover { box-shadow: 0 0 0 2px #b9a3f0; color: var(--nc-noche); }
.nc-tarjeta h3 { font-family: var(--mr-serif); font-weight: 400; font-size: 1.45rem; margin: 0; }
.nc-tarjeta p { margin: 0; color: var(--nc-tinta-suave); font-size: .95rem; line-height: 1.5; }
.nc-tarjeta .nc-num { font-family: var(--mr-serif); font-size: 2.6rem; line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.nc-tarjeta .nc-ir { margin-top: auto; font-weight: 700; color: #5b3fa8; font-size: .92rem; }

/* Buscador del encabezado y lista de personas (Quién es quién). */
.nc-buscar { position: relative; display: flex; align-items: center; gap: .5rem; max-width: 38rem; margin-top: 1.6rem; padding: .35rem .35rem .35rem 1.1rem; border-radius: 999px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.nc-buscar > i { color: #5b3fa8; }
.nc-buscar input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 1rem; color: var(--nc-noche); padding: .55rem .2rem; }
.nc-buscar input:focus { outline: none; }
.nc-buscar:focus-within { box-shadow: 0 0 0 3px var(--nc-lavanda-2), 0 10px 30px rgba(0, 0, 0, .25); }
.nc-buscar .nc-btn-perla { flex: none; background: var(--nc-noche); color: #fff; }
.nc-buscar .nc-btn-perla:hover { background: #2a2150; color: #fff; }
.nc-hero h1 { color: #fff; }
.nc-hero h1 em { font-style: italic; color: var(--nc-lavanda-2); }
.nc-personas { list-style: none; padding: 0; margin: 1.4rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .7rem; }
.nc-persona { display: flex; align-items: center; gap: .85rem; padding: .8rem 1rem; border-radius: 16px; background: #fff; color: var(--nc-noche); text-decoration: none; box-shadow: 0 0 0 1px #eee9f6; }
.nc-persona:hover { box-shadow: 0 0 0 2px #b9a3f0; color: var(--nc-noche); }
.nc-persona img, .nc-persona-inicial { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.nc-persona-inicial { display: grid; place-items: center; background: #ece6f8; color: #5b3fa8; font-family: var(--mr-serif); font-size: 1.5rem; }
.nc-persona-texto { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nc-persona-texto strong { font-weight: 700; line-height: 1.25; }
.nc-persona-texto small { color: var(--nc-tinta-suave); font-size: .85rem; line-height: 1.35; }
.nc-persona-tipo { flex: none; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5b3fa8; background: #f1ecfb; border-radius: 999px; padding: .25rem .6rem; }
.nc-vacio { margin: 1rem 0 0; color: var(--nc-tinta-suave); max-width: 40rem; }
.nc-vacio a, .nc-nota a { color: #5b3fa8; }
.nc-nota { margin: 1.4rem 0 0; color: var(--nc-tinta-suave); font-size: .92rem; max-width: 44rem; }
.nc-separa { margin: 2.6rem 0; border-color: #e4def0; opacity: 1; }

/* ---- Portada de cinco bloques ---- */
.nc-pt-bloque { padding: clamp(3rem, 6vw, 4.5rem) 0; background: #faf8f5; }
.nc-pt-bloque + .nc-pt-bloque { padding-top: 0; }
.nc-pt-aniv + .nc-pt-bloque { padding-top: clamp(2.5rem, 5vw, 4rem); }
.nc-pt-cabeza { display: flex; justify-content: space-between; align-items: end; gap: 1rem 1.5rem; flex-wrap: wrap; }
.nc-pt-mas { font-weight: 700; color: #5b3fa8; text-decoration: none; }
.nc-pt-mas:hover { text-decoration: underline; color: #43307d; }
.nc-pt-lead { margin: .6rem 0 0; color: var(--nc-tinta-suave); max-width: 44rem; }
.nc-pt-lead a { color: #5b3fa8; }
.nc-pt-recientes { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; margin-top: 1.6rem; }
.nc-pt-etiqueta { display: inline-flex; align-items: center; gap: .55rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5b3fa8; }
.nc-pt-reciente h3 { font-size: 1.35rem; line-height: 1.25; }
.nc-pt-puertas { background: #f1ecfb; padding-top: clamp(3rem, 6vw, 4.5rem) !important; }
.nc-puertas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 1.8rem; }
.nc-puerta { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: radial-gradient(260px 180px at 50% 0%, #2a2150, #15122b); color: #fff; text-decoration: none; box-shadow: 0 0 0 1px #2a2150; transition: transform .15s, box-shadow .15s; }
.nc-puerta:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 0 0 2px var(--nc-lavanda-2), 0 14px 30px rgba(21, 18, 43, .25); }
.nc-puerta:focus-visible { outline: 3px solid #5b3fa8; outline-offset: 3px; }
.nc-puerta-cuerpo { display: flex; flex-direction: column; gap: .5rem; padding: 1.3rem 1.3rem 1.5rem; flex: 1; }
.nc-puerta .nc-chip { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--nc-lavanda-2); }
.nc-puerta .nc-num { font-family: var(--mr-serif); font-size: 2.5rem; line-height: 1; margin-top: .4rem; font-variant-numeric: lining-nums tabular-nums; }
.nc-puerta-texto { font-size: .9rem; line-height: 1.45; color: #cfc8e6; }
.nc-puerta-ir { margin-top: auto; padding-top: .6rem; font-weight: 700; font-size: .92rem; color: var(--nc-perla); }
.nc-pt-reportar { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; border-radius: 28px; overflow: hidden; background: var(--nc-noche); color: #fff; }
.nc-pt-reportar-texto { padding: clamp(1.8rem, 4vw, 3rem); }
.nc-pt-reportar .nc-chip { display: inline-flex; align-items: center; gap: .55rem; margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nc-lavanda-2); }
.nc-pt-reportar h2 { font-family: var(--mr-serif); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.12; color: #fff; margin: .9rem 0 0; }
.nc-pt-reportar p { color: #cfc8e6; font-size: 1.05rem; line-height: 1.6; margin: .8rem 0 0; max-width: 34rem; }
.nc-pt-acciones { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }
.nc-pt-ondas { position: relative; height: 100%; min-height: 260px; overflow: hidden; }
.nc-pt-ondas span { position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; border: 2px solid #ff218c; opacity: 0; animation: nc-onda 6s linear infinite; }
.nc-pt-ondas span:nth-child(2) { border-color: #ffd800; animation-delay: 1.5s; }
.nc-pt-ondas span:nth-child(3) { border-color: #21b1ff; animation-delay: 3s; }
.nc-pt-ondas span:nth-child(4) { border-color: var(--nc-lavanda-2); animation-delay: 4.5s; }
.nc-pt-ondas::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--nc-perla); box-shadow: 0 0 24px 6px rgba(234, 223, 203, .35); }
@keyframes nc-onda { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(9); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .nc-pt-ondas span { animation: none; opacity: .5; }
  .nc-pt-ondas span:nth-child(1) { transform: scale(2); } .nc-pt-ondas span:nth-child(2) { transform: scale(3.5); }
  .nc-pt-ondas span:nth-child(3) { transform: scale(5); } .nc-pt-ondas span:nth-child(4) { transform: scale(6.5); }
}
@media (max-width: 1199.98px) { .nc-puertas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .nc-puertas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-pt-reportar { grid-template-columns: 1fr; }
  .nc-pt-ondas { min-height: 160px; }
}
@media (max-width: 459.98px) { .nc-puertas { grid-template-columns: 1fr; } }

/* ---- Informe único ---- */
.nc-inf-filtro { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; margin-top: 1.6rem; }
.nc-inf-filtro label { display: flex; flex-direction: column; gap: .3rem; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nc-lavanda-3); }
.nc-inf-filtro select { min-height: 44px; min-width: 12rem; border-radius: 12px; border: 1px solid var(--nc-borde); background: var(--nc-noche-2); color: #fff; padding: 0 .8rem; font: 600 1rem var(--mr-sans); text-transform: none; letter-spacing: 0; }
.nc-inf-filtro select:focus { outline: 3px solid var(--nc-lavanda-2); outline-offset: 1px; }
.nc-inf-quitar { color: var(--nc-lavanda); align-self: center; }
.nc-inf-descargas .nc-pildora { background: transparent; border: 0; cursor: pointer; }
.nc-inf-indice { position: sticky; top: var(--nc-indice-arriba, 0); z-index: 5; background: #fff; border-bottom: 1px solid #ebe6f4; }
.nc-inf-indice ol { display: flex; gap: .25rem; list-style: none; margin: 0; padding: .45rem 0; overflow-x: auto; scrollbar-width: none; }
.nc-inf-indice a { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: 0 .8rem; border-radius: 999px; font-weight: 600; font-size: .9rem; color: var(--nc-noche); text-decoration: none; white-space: nowrap; }
.nc-inf-indice a:hover { background: #f1ecfb; }
.nc-inf-cap { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 0 0 1px #ece7f5; margin: 0 0 1.5rem; scroll-margin-top: 9rem; }
.nc-inf-cap-cuerpo { padding: clamp(1.4rem, 3vw, 2.2rem); }
.nc-inf-texto { color: var(--nc-tinta-suave); margin: .5rem 0 0; }
.nc-inf-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .75rem; margin: 1.4rem 0 0; }
.nc-inf-cifras > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .35rem; padding: 1rem 1.1rem; border-radius: 14px; background: #f7f4fc; }
.nc-inf-cifras dd { margin: 0; font-family: var(--mr-serif); font-size: 2.1rem; line-height: 1; color: var(--nc-noche); font-variant-numeric: lining-nums tabular-nums; }
.nc-inf-cifras dt { font-size: .85rem; font-weight: 600; color: var(--nc-tinta-suave); }
.nc-inf-graficas { display: grid; grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); gap: 1.6rem 2rem; margin-top: 1.8rem; }
.nc-inf-grafica { margin: 0; min-width: 0; }
.nc-inf-grafica.ancha { grid-column: 1 / -1; }
.nc-inf-grafica figcaption { font-weight: 700; font-size: .95rem; margin-bottom: .7rem; color: var(--nc-noche); }
.nc-inf-barras { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.nc-inf-barras li { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr auto; align-items: center; gap: .7rem; font-size: .88rem; }
.nc-inf-etq { color: var(--nc-tinta-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-inf-pista { height: 12px; border-radius: 999px; background: #f1ecfb; overflow: hidden; }
.nc-inf-pista > span[style="width: 0%"] { min-width: 0; }
.nc-inf-pista > span { display: block; height: 100%; min-width: 3px; border-radius: 999px; background: linear-gradient(90deg, #7b4bb7, #9b6fd0); }
.nc-inf-n { font-weight: 700; font-variant-numeric: tabular-nums; min-width: 2.5rem; text-align: right; }
.nc-inf-columnas { list-style: none; padding: 0; margin: 0; display: flex; align-items: flex-end; gap: 3px; height: 170px; border-bottom: 1px solid #e4def0; }
.nc-inf-columnas li { position: relative; flex: 1 1 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; min-width: 0; }
.nc-inf-col { display: block; width: 100%; min-height: 2px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #9b6fd0, #5b3fa8); }
.nc-inf-col-etq { position: absolute; top: 100%; margin-top: .3rem; font-size: .66rem; color: var(--nc-tinta-suave); white-space: nowrap; }
.nc-inf-columnas li:not(:nth-child(5n + 1)):not(:last-child) .nc-inf-col-etq { visibility: hidden; }
.nc-inf-grafica.ancha { padding-bottom: 1.4rem; }
.nc-inf-tabla-caja { overflow-x: auto; margin-top: 1.4rem; border-radius: 14px; box-shadow: 0 0 0 1px #ece7f5; }
.nc-inf-tabla { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.nc-inf-tabla th, .nc-inf-tabla td { padding: .6rem .8rem; border-bottom: 1px solid #f0ecf7; text-align: right; white-space: nowrap; }
.nc-inf-tabla th:first-child { text-align: left; }
.nc-inf-tabla thead th { background: #f7f4fc; font-size: .78rem; font-weight: 700; color: var(--nc-tinta-suave); white-space: normal; vertical-align: bottom; }
.nc-inf-vacio { color: var(--nc-tinta-suave); margin: .8rem 0 0; }
.nc-inf-ir { margin: 1.2rem 0 0; }
.nc-inf-ir a { font-weight: 700; color: #5b3fa8; }
.nc-inf-imprimir-cabeza { display: none; }
@media (max-width: 575.98px) {
  .nc-inf-barras li { grid-template-columns: minmax(5.5rem, 8rem) 1fr auto; }
  .nc-inf-filtro label, .nc-inf-filtro select { width: 100%; }
}
@media print {
  .cabecera, .pie, .nc-inf-indice, .nc-inf-filtro, .nc-inf-descargas, .nc-hero .nc-migas, .nc-inf-ir, canvas, .boton-flotante, [data-novedades-aviso] { display: none !important; }
  .nc-hero { background: none !important; color: #000; padding: 0 0 1rem; }
  .nc-hero h1, .nc-hero .nc-lead, .nc-hero .nc-chip { color: #000 !important; }
  .nc-cuerpo { background: #fff; padding: 0; }
  .nc-inf-imprimir-cabeza { display: block; font-size: .75rem; color: #444; margin: 0 0 1rem; }
  .nc-inf-cap { box-shadow: none; border: 1px solid #ccc; break-inside: avoid-page; }
  .nc-inf-pista > span, .nc-inf-col { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .nc-franja { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ---- Mi cuenta: Seguir, Avisos, Lo que sigo, Mi bandera ---- */
.nc-seguir-form { display: inline-block; margin: 0; }
.nc-seguir { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: 0 1rem; border-radius: 999px; border: 1px solid #6b5ba8; background: transparent; color: var(--nc-lavanda); font-weight: 700; font-size: .9rem; text-decoration: none; cursor: pointer; }
.nc-seguir:hover { background: rgba(237, 231, 250, .1); color: #fff; }
.nc-seguir.activo { background: var(--nc-lavanda); border-color: var(--nc-lavanda); color: var(--nc-noche); }
.nc-seguir-claro, .ficha2-acciones .nc-seguir { border-color: #cdbdf0; color: #5b3fa8; }
.nc-seguir-claro:hover, .ficha2-acciones .nc-seguir:hover { background: #f1ecfb; color: #43307d; }
.nc-seguir-claro.activo, .ficha2-acciones .nc-seguir.activo { background: #5b3fa8; border-color: #5b3fa8; color: #fff; }
.dip-identidad-texto .nc-seguir-form, .dip-identidad-texto > .nc-seguir { margin: .2rem 0 .6rem; }
.ficha2-acciones .nc-seguir.ficha2-icono { min-height: 0; }
.nc-avisos { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.nc-avisos a { display: flex; align-items: center; gap: .85rem; padding: .85rem 1rem; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px #ece7f5; color: var(--nc-noche); text-decoration: none; }
.nc-avisos a:hover { box-shadow: 0 0 0 2px #b9a3f0; }
.nc-avisos li.nuevo a { background: #f7f3ff; box-shadow: 0 0 0 1px #cdbdf0; }
.nc-avisos-icono { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: #f1ecfb; color: #5b3fa8; }
.nc-avisos-texto { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nc-avisos-texto small { color: var(--nc-tinta-suave); }
.nc-avisos-nuevo { flex: none; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #5b3fa8; border-radius: 999px; padding: .2rem .55rem; }
.nc-sigo-caja { overflow-x: auto; border-radius: 14px; box-shadow: 0 0 0 1px #ece7f5; background: #fff; }
.nc-sigo { width: 100%; border-collapse: collapse; font-size: .92rem; }
.nc-sigo th, .nc-sigo td { padding: .7rem .9rem; border-bottom: 1px solid #f0ecf7; text-align: left; vertical-align: middle; }
.nc-sigo thead th { background: #f7f4fc; font-size: .78rem; color: var(--nc-tinta-suave); }
.nc-sigo tbody th a { font-weight: 700; color: var(--nc-noche); }
.nc-sigo tbody th small { display: block; font-weight: 500; color: var(--nc-tinta-suave); }
.nc-sigo td:last-child { text-align: right; }
.nc-sigo form { margin: 0; }
.nc-mi-bandera fieldset { border: 0; padding: 0; margin: 0; }
.nc-mi-bandera-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .6rem; }
.nc-mi-bandera-op { position: relative; display: flex; align-items: center; gap: .65rem; padding: .6rem .8rem; border-radius: 14px; box-shadow: 0 0 0 1px #e4def0; cursor: pointer; font-weight: 600; }
.nc-mi-bandera-op small { font-weight: 500; color: var(--nc-tinta-suave); }
.nc-mi-bandera-op input { position: absolute; opacity: 0; }
.nc-mi-bandera-op:has(input:checked) { box-shadow: 0 0 0 2px #5b3fa8; background: #f7f3ff; }
.nc-mi-bandera-op:has(input:focus-visible) { outline: 3px solid #9b6fd0; outline-offset: 2px; }
.nc-mi-bandera-aro { flex: none; width: 2rem; height: 2rem; border-radius: 50%; box-shadow: inset 0 0 0 5px transparent; -webkit-mask: radial-gradient(circle, transparent 46%, #000 48%); mask: radial-gradient(circle, transparent 46%, #000 48%); }
.cuenta2-avatar { box-shadow: 0 0 0 4px var(--nc-noche), 0 0 0 9px transparent, 0 20px 40px -16px rgba(0, 0, 0, .7); background: #2a2150; color: #fff; outline: 5px solid transparent; }
.cuenta2-avatar::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; background: var(--nc-aro); z-index: -1; }
.cuenta2-persona { isolation: isolate; }
.cuenta2-avatar { overflow: visible; }
.cuenta2-avatar img, .cuenta2-avatar > span { border-radius: 50%; }

/* Mi cuenta en Nocturno: sin dorado ni naranja (paquete 99) */
body .cuenta2-hero { background: radial-gradient(50rem 26rem at 85% 0%, rgba(116, 68, 180, .4), transparent 70%), radial-gradient(30rem 20rem at 0% 100%, rgba(155, 111, 208, .14), transparent 70%), var(--nc-noche); }
body .cuenta2-avatar { overflow: visible; background: linear-gradient(150deg, #3a2d6b, #241b47); color: #f4ecdd; box-shadow: 0 0 0 4px var(--nc-noche), 0 20px 40px -16px rgba(0, 0, 0, .7); }
body .cuenta2-avatar img { border-radius: 50%; }
body .cuenta2-foto-mini { background: linear-gradient(150deg, #3a2d6b, #241b47); color: #f4ecdd; }
body .cuenta2-etiqueta, body .cuenta2-resumen small.nuevo { color: #c9b6f2; }
body .cuenta2-boton-claro:hover { border-color: #c9b6f2; color: #c9b6f2; }
body .cuenta2-pestanas a { padding-inline: .62rem; }

/* Aniversarios fuera del Memorial: lavanda y perla en vez de dorado (paquete 99) */
body:not(.pagina-memorial) .aniv-antetitulo, body:not(.pagina-memorial) .aniv-anios { color: #c9b6f2; }
body:not(.pagina-memorial) .aniv-cuando { color: #e6dcff; }
body:not(.pagina-memorial) .aniv-cuando.hoy { background: #f4ecdd; color: #15122b; }
body:not(.pagina-memorial) .aniv-item.hoy .aniv-tarjeta { border-color: #9b6fd0; box-shadow: 0 0 0 1px #9b6fd0, 0 0 32px rgba(155, 111, 208, .35); }
body:not(.pagina-memorial) .aniv-tarjeta:hover, body:not(.pagina-memorial) .aniv-tarjeta:focus-visible { border-color: rgba(201, 182, 242, .6); }
body:not(.pagina-memorial) .aniv-boton:hover:not(:disabled) { background: rgba(201, 182, 242, .16); border-color: #c9b6f2; }
body:not(.pagina-memorial) .aniv-boton:focus-visible, body:not(.pagina-memorial) .aniv-pista:focus-visible { outline-color: #c9b6f2; }
body .aviso.aviso-tipo i.fa-solid, body .aviso.info i.fa-solid { color: #c9b6f2; }
body .pie a:hover { color: #fff; }

.ficha2-acciones .nc-seguir-form { flex: none; margin: 0; }
@media (max-width: 575.98px) { body .ficha2-acciones { flex-wrap: wrap; } .ficha2-acciones .nc-seguir.ficha2-icono { width: 2.9rem; padding: 0; justify-content: center; } .ficha2-acciones .nc-seguir.ficha2-icono span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

/* Portada: tres cifras en una fila (con cuatro ya hay su propia rejilla) */
body .portada-cifras:not(:has(> div:nth-child(4))) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; max-width: 34rem; }

@media (max-width: 991.98px) {
  .nc-cabecera .marca img { height: 2.8rem; }
  .nc-hero { padding: 2.2rem 0 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nc-liston { transition: none; }
}
