/* =====================================================================
   Páginas institucionales, recursos y blog
   (nosotrxs, dona, contacto, legal, recursos, blog)
   Se carga con $estilos desde cada vista del área.
   ===================================================================== */

/* ---------------------------------------------------------------------
   Encabezados propios
   --------------------------------------------------------------------- */
.pg-cabecera { position: relative; overflow: hidden; isolation: isolate; }
.pg-cabecera .lead { max-width: 38rem; }
.pg-cabecera.oscuro .migas a:hover { color: #fff; }
.pg-cita {
  font-family: var(--mr-serif); font-style: italic; font-weight: 500;
  font-size: clamp(1.15rem, 2vw, 1.4rem); color: #f3c37e; margin: 1.25rem 0 0; max-width: 34rem;
}
.pg-recuento { display: flex; gap: 1.5rem 2.75rem; flex-wrap: wrap; margin-top: 2.25rem; color: #cfc6dd; font-size: .95rem; }
.pg-recuento strong { display: block; font-family: var(--mr-serif); font-weight: 600; font-size: 2rem; line-height: 1.1; color: #fff; }
.pg-vela-fondo {
  position: absolute; right: -4rem; bottom: -6rem; z-index: -1; width: 28rem; height: 28rem; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(232, 137, 12, .22), rgba(232, 137, 12, .06) 55%, transparent);
  pointer-events: none;
}
@media (max-width: 767.98px) { .pg-vela-fondo { width: 18rem; height: 18rem; right: -6rem; bottom: -8rem; } }

/* ---------------------------------------------------------------------
   Bloques de texto con rótulo a la izquierda (nosotrxs, dona)
   --------------------------------------------------------------------- */
.pg-bloque { display: grid; gap: 1rem 3rem; }
@media (min-width: 992px) { .pg-bloque { grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); } }
.pg-bloque > h2 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.pg-bloque-texto { font-size: 1.1rem; line-height: 1.75; }
.pg-bloque-texto p { max-width: 62ch; }
.pg-bloque-texto p:last-child { margin-bottom: 0; }
.pg-dos { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .pg-dos { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.pg-dos h3 { font-size: 1.25rem; margin-bottom: .6rem; }
.pg-dos p { color: #3b3248; line-height: 1.7; }

/* Rejilla dividida (ejes de acción, usos del donativo) */
.pg-rejilla {
  display: grid; gap: 1px; background: var(--mr-linea); border: 1px solid var(--mr-linea);
  border-radius: var(--mr-radio-lg); overflow: hidden;
}
@media (min-width: 768px) { .pg-rejilla.dos { grid-template-columns: 1fr 1fr; } .pg-rejilla.tres { grid-template-columns: repeat(3, 1fr); } }
.pg-celda { background: #fff; padding: clamp(1.4rem, 3vw, 2rem); }
.pg-celda > i { font-size: 1.35rem; color: var(--mr-morado); margin-bottom: .9rem; display: block; }
.pg-celda h3 { font-size: 1.3rem; margin-bottom: .75rem; }
.pg-celda p { color: var(--mr-piedra); margin-bottom: 0; }
.pg-celda dl { margin: 0; display: grid; gap: .85rem; }
.pg-celda dt { font-weight: 650; }
.pg-celda dd { margin: .1rem 0 0; color: var(--mr-piedra); line-height: 1.55; }

/* Principios */
.pg-principios { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--mr-linea); }
.pg-principios li { display: grid; grid-template-columns: 2.25rem 1fr; gap: .25rem 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--mr-linea); }
.pg-principios i { color: var(--mr-morado); font-size: 1.1rem; margin-top: .25rem; }
.pg-principios strong { display: block; font-size: 1.05rem; }
.pg-principios span { color: var(--mr-piedra); line-height: 1.6; }

/* Equipos */
.pg-equipos { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.pg-equipos li {
  display: inline-flex; align-items: center; gap: .65rem; background: #fff; border: 1px solid var(--mr-linea-2);
  border-radius: 999px; padding: .55rem 1.1rem .55rem .6rem; font-weight: 600;
}
.pg-equipos .avatar { width: 34px; height: 34px; font-size: .85rem; }
.pg-equipos li.principal .avatar { background: var(--mr-morado); }

/* Memoria (bloque oscuro con vela) */
.pg-memoria { background: var(--mr-noche); color: #e9e3f2; position: relative; overflow: hidden; isolation: isolate; }
.pg-memoria .contenedor { padding-block: clamp(3.5rem, 8vw, 6rem); }
.pg-memoria-vela { color: var(--mr-cempa); font-size: 1.75rem; margin-bottom: 1.25rem; display: block; filter: drop-shadow(0 0 14px rgba(232, 137, 12, .55)); }
.pg-memoria p.nombre { font-family: var(--mr-serif); font-weight: 600; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.12; color: #fff; margin: .25rem 0 1rem; max-width: 22ch; }
.pg-memoria p { color: #cfc6dd; max-width: 40rem; }
.pg-memoria .antetitulo { color: #f3c37e; }

/* Llamado final */
.pg-llamado { display: flex; gap: 1.5rem 2rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.pg-llamado h2 { margin: 0 0 .4rem; }
.pg-llamado p { margin: 0; color: var(--mr-piedra); }

/* ---------------------------------------------------------------------
   Dona
   --------------------------------------------------------------------- */
.pg-donar { display: grid; gap: 2rem; align-items: start; }
.pg-donar { grid-template-areas: "meta" "accion" "uso"; }
.pg-donar-meta { grid-area: meta; } .pg-donar-accion { grid-area: accion; } .pg-donar-uso { grid-area: uso; }
.pg-donar-meta:empty { display: none; }
@media (min-width: 992px) {
  .pg-donar { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-areas: "meta accion" "uso accion"; gap: 2.5rem 3.5rem; }
  .pg-donar-accion { align-self: start; position: sticky; top: 6rem; }
}
.pg-meta { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: clamp(1.5rem, 3vw, 2.25rem); }
.pg-meta-cifras { display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.pg-meta-cifras .cifra { font-size: clamp(2rem, 4vw, 2.6rem); }
.pg-meta-objetivo { text-align: right; color: var(--mr-piedra); }
.pg-meta-objetivo strong { display: block; font-family: var(--mr-serif); font-size: 1.35rem; color: var(--mr-tinta); }
.pg-progreso { height: .85rem; background: var(--mr-cempa-claro); border-radius: 999px; overflow: hidden; }
.pg-progreso > span { display: block; height: 100%; min-width: .85rem; background: var(--mr-cempa); border-radius: 999px; }
.pg-meta-pie { margin: .75rem 0 0; font-size: .92rem; color: var(--mr-piedra); }
.pg-meta.invitacion { background: var(--mr-noche); border-color: var(--mr-noche); color: #e9e3f2; }
.pg-meta.invitacion .cifra { color: #fff; }
.pg-meta.invitacion p { color: #cfc6dd; }
.pg-meta.invitacion .pg-meta-vela { color: var(--mr-cempa); font-size: 1.4rem; filter: drop-shadow(0 0 10px rgba(232, 137, 12, .6)); }

.pg-metodo { border-top: 1px solid var(--mr-linea); padding-top: 1.75rem; margin-top: 1.75rem; }
.pg-metodo:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.pg-metodo h3 { display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; }
.pg-metodo h3 i { color: var(--mr-morado); }
.pg-garantias { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .5rem; color: var(--mr-piedra); font-size: .95rem; }
.pg-garantias i { color: var(--mr-verde); width: 1.25rem; }

.pg-gratitud { columns: 15rem auto; column-gap: 2rem; list-style: none; padding: 0; margin: 0; }
.pg-gratitud li { break-inside: avoid; padding: .45rem 0; border-bottom: 1px solid var(--mr-linea); display: flex; justify-content: space-between; gap: 1rem; }
.pg-gratitud .pais { color: var(--mr-piedra); font-size: .9rem; }

/* ---------------------------------------------------------------------
   Contacto
   --------------------------------------------------------------------- */
.pg-contacto { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 992px) { .pg-contacto { grid-template-columns: minmax(0, 1fr) 20rem; gap: 3.5rem; } }
.pg-form { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: clamp(1.25rem, 3.5vw, 2.5rem); }
.pg-form .opciones { grid-template-columns: 1fr; }
@media (min-width: 576px) { .pg-form .opciones { grid-template-columns: 1fr 1fr; } }
.pg-form fieldset.pg-medios { border: 0; padding: 0; margin: 0; }
.pg-form fieldset.pg-medios legend { font-size: 1rem; font-weight: 600; margin-bottom: .2rem; float: none; width: auto; }
.pg-lateral { display: grid; gap: 1.5rem; }
.pg-lateral h2 { font-family: var(--mr-sans); font-size: 1rem; font-weight: 650; letter-spacing: 0; margin-bottom: .6rem; }
.pg-lateral-item { padding-bottom: 1.5rem; border-bottom: 1px solid var(--mr-linea); }
.pg-lateral-item:last-child { border-bottom: 0; padding-bottom: 0; }
.pg-lateral-item p { color: var(--mr-piedra); font-size: .95rem; margin-bottom: .6rem; }
.pg-correo { font-weight: 600; word-break: break-all; }
.pg-confirmacion { text-align: left; }
.pg-confirmacion > i { font-size: 2.25rem; color: var(--mr-verde); margin-bottom: 1rem; display: block; }
.pg-confirmacion h2 { margin-bottom: .75rem; }
.pg-confirmacion ol { padding-left: 1.2rem; color: #3b3248; }
.pg-confirmacion li { margin-bottom: .4rem; }

/* ---------------------------------------------------------------------
   Documentos con índice lateral (legal, guías)
   --------------------------------------------------------------------- */
.pg-documento { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 992px) { .pg-documento { grid-template-columns: 15.5rem minmax(0, 1fr); gap: 4rem; } }
.pg-indice { font-size: .95rem; }
@media (min-width: 992px) { .pg-indice { position: sticky; top: 6.5rem; max-height: calc(100vh - 8rem); overflow-y: auto; } }
.pg-indice h2 { font-family: var(--mr-sans); font-size: .9rem; font-weight: 650; color: var(--mr-piedra); letter-spacing: 0; margin-bottom: .75rem; }
.pg-indice ol, .pg-indice ul { list-style: none; padding: 0; margin: 0; border-left: 2px solid var(--mr-linea); }
.pg-indice li a {
  display: block; padding: .38rem 0 .38rem 1rem; margin-left: -2px; border-left: 2px solid transparent;
  color: var(--mr-tinta); text-decoration: none; line-height: 1.35;
}
.pg-indice li a:hover { color: var(--mr-morado); border-left-color: var(--mr-linea-2); }
.pg-indice li a.activo { color: var(--mr-morado); border-left-color: var(--mr-cempa); font-weight: 600; }
.pg-indice li.sub a { padding-left: 1.85rem; font-size: .9rem; color: var(--mr-piedra); }
@media (max-width: 991.98px) {
  .pg-indice { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: 1rem 1.15rem; }
  .pg-indice li.sub { display: none; }
}
.pg-indice-acciones { margin-top: 1.25rem; display: grid; gap: .5rem; }
@media (max-width: 991.98px) { .pg-indice-acciones { display: none; } }

.pg-doc { min-width: 0; }
.pg-doc section, .pg-doc [id] { scroll-margin-top: 6.5rem; }
.pg-doc > section + section { margin-top: clamp(2.75rem, 6vw, 4rem); padding-top: clamp(2.75rem, 6vw, 4rem); border-top: 1px solid var(--mr-linea); }
.pg-doc h2 { margin-top: 0; }
.pg-doc .prosa h3 { font-size: 1.25rem; margin-top: 2rem; margin-bottom: .75rem; }
.pg-doc .prosa > :first-child { margin-top: 0; }
.pg-doc .prosa p, .pg-doc .prosa li { color: #2c2438; }
.pg-actualizado { font-size: .92rem; color: var(--mr-piedra); }

/* Nota de fuente al final de una guía */
.pg-fuente { display: flex; gap: .9rem; align-items: flex-start; }
.pg-fuente > i { margin-top: .25rem; }

/* Listas de puntos clave dentro de la prosa */
.pg-claves { list-style: none; padding: 0 !important; margin: 1.5rem 0; display: grid; gap: 1rem; }
.pg-claves li { display: grid; grid-template-columns: 2.5rem 1fr; gap: .2rem .9rem; margin: 0 !important; }
.pg-claves li > i {
  width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center;
  background: var(--mr-morado-claro); color: var(--mr-morado); font-size: 1rem;
}
.pg-claves strong { display: block; font-size: 1.05rem; color: var(--mr-tinta); }
.pg-claves span { color: #3b3248; }

/* Argumentos inválidos / prohibidos */
.pg-prohibidos { background: var(--mr-rojo-claro); border-radius: var(--mr-radio); padding: 1.1rem 1.25rem; margin: 1.25rem 0; }
.pg-prohibidos p { font-weight: 650; color: #7a1810; margin-bottom: .6rem; }
.pg-prohibidos ul { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: .5rem; }
.pg-prohibidos li { display: flex; gap: .6rem; margin: 0 !important; color: #4d1610 !important; }
.pg-prohibidos li i { color: var(--mr-rojo); margin-top: .35rem; }

/* Pasos reales (secuencia) */
.pg-secuencia { list-style: none; counter-reset: s; padding: 0 !important; margin: 1.5rem 0; display: grid; gap: 1rem; }
.pg-secuencia li { counter-increment: s; display: grid; grid-template-columns: 2.25rem 1fr; gap: .9rem; margin: 0 !important; }
.pg-secuencia li::before {
  content: counter(s); width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center;
  background: var(--mr-noche); color: #fff; font-weight: 650; font-size: .95rem;
}
.pg-secuencia li.alerta::before { background: var(--mr-rojo); }
.pg-secuencia strong { display: block; }

/* Mitos y realidades */
.pg-mitos { border-top: 1px solid var(--mr-linea); margin: 1.5rem 0; }
.pg-mitos details { border-bottom: 1px solid var(--mr-linea); }
.pg-mitos summary {
  list-style: none; cursor: pointer; padding: 1rem 2rem 1rem 0; position: relative;
  font-family: var(--mr-serif); font-size: 1.15rem; font-weight: 600;
}
.pg-mitos summary::-webkit-details-marker { display: none; }
.pg-mitos summary::after { content: "\f067"; font-family: "Font Awesome 7 Free", "Font Awesome 6 Free"; font-weight: 900; font-size: .85rem; position: absolute; right: .25rem; top: 1.3rem; color: var(--mr-morado); }
.pg-mitos details[open] summary::after { content: "\f068"; }
.pg-mitos details > div { padding: 0 0 1.1rem; color: #3b3248; }

/* Cifras de una guía */
.pg-cifras { display: grid; gap: 1rem; margin: 1.5rem 0; }
@media (min-width: 576px) { .pg-cifras { grid-template-columns: 1fr 1fr; } }
.pg-cifras > div { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio); padding: 1.15rem 1.25rem; }
.pg-cifras .cifra { color: var(--mr-morado-2); }
.pg-cifras p { margin: .5rem 0 0; color: var(--mr-piedra); font-size: .95rem; line-height: 1.5; }

/* Clasificación de riesgo (tabla) */
.pg-tabla td ul { margin: 0; padding-left: 1.1rem; }
.pg-tabla td li { margin-bottom: .2rem; font-size: .95rem; }
@media (max-width: 767.98px) {
  .pg-tabla thead { display: none; }
  .pg-tabla tr { display: block; padding: 1rem; border-bottom: 1px solid var(--mr-linea); }
  .pg-tabla td { display: block; border: 0 !important; padding: .3rem 0 !important; }
}

/* Ayuda inmediata (líneas de apoyo) */
.pg-crisis { background: var(--mr-noche); color: #e9e3f2; border-radius: var(--mr-radio-lg); padding: clamp(1.4rem, 3vw, 2rem); }
.pg-crisis h2 { color: #fff; font-size: clamp(1.35rem, 2.4vw, 1.7rem); margin-bottom: .5rem; }
.pg-crisis > p { color: #cfc6dd; margin-bottom: 1.25rem; }
.pg-lineas { display: grid; gap: .75rem; }
@media (min-width: 768px) { .pg-lineas { grid-template-columns: repeat(3, 1fr); } }
.pg-linea {
  display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.1rem; border-radius: var(--mr-radio);
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #fff; text-decoration: none;
}
.pg-linea:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 213, 154, .6); }
.pg-linea small { color: #b9b0c8; font-size: .85rem; }
.pg-linea strong { font-family: var(--mr-serif); font-size: 1.35rem; font-weight: 600; color: #ffd59a; line-height: 1.2; }
.pg-linea span { font-size: .9rem; color: #e9e3f2; }

/* Pestañas de público (guía de salud mental) */
.pg-audiencias { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 2rem; }

/* ---------------------------------------------------------------------
   Recursos: índice
   --------------------------------------------------------------------- */
.pg-guias { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--mr-linea); }
.pg-guias > li { border-bottom: 1px solid var(--mr-linea); }
.pg-guia {
  display: grid; grid-template-columns: 3rem 1fr; gap: .5rem 1.25rem; padding: 1.75rem .25rem;
  text-decoration: none; color: inherit; align-items: start;
}
@media (min-width: 768px) { .pg-guia { grid-template-columns: 3.25rem 1fr auto; align-items: center; padding-block: 2rem; } }
.pg-guia > i {
  width: 3rem; height: 3rem; border-radius: 14px; display: grid; place-items: center; font-size: 1.2rem;
  background: var(--mr-morado-claro); color: var(--mr-morado);
}
.pg-guia h2 { font-size: clamp(1.35rem, 2.2vw, 1.7rem); margin: 0 0 .35rem; }
.pg-guia p { color: var(--mr-piedra); margin: 0; }
.pg-guia .meta { font-size: .88rem; color: var(--mr-piedra-2); margin-top: .5rem; }
.pg-guia .ir { grid-column: 2; font-weight: 600; color: var(--mr-morado); white-space: nowrap; }
@media (min-width: 768px) { .pg-guia .ir { grid-column: auto; } }
.pg-guia:hover { background: #fff; color: inherit; }
.pg-guia:hover h2 { color: var(--mr-morado); }
.pg-guia.salud > i { background: var(--mr-cempa-claro); color: var(--mr-cempa-texto); }

/* ---------------------------------------------------------------------
   Blog
   --------------------------------------------------------------------- */
.pg-filtro { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.pg-filtro a { text-decoration: none; }
.pg-filtro a.chip:hover { border-color: var(--mr-morado); color: var(--mr-morado); }
.pg-filtro a.chip[aria-current="page"] { background: var(--mr-morado); border-color: var(--mr-morado); color: #fff; }

.pg-destacado { display: grid; gap: 1.5rem; text-decoration: none; color: inherit; margin-bottom: 3rem; align-items: center; }
@media (min-width: 992px) { .pg-destacado { grid-template-columns: 1.25fr 1fr; gap: 3rem; } }
.pg-destacado .portada { aspect-ratio: 16 / 10; border-radius: var(--mr-radio-lg); overflow: hidden; background: var(--mr-noche-2); }
.pg-destacado .portada img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pg-destacado:hover .portada img { transform: scale(1.02); }
.pg-destacado h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); margin: .5rem 0 1rem; }
.pg-destacado p { color: var(--mr-piedra); font-size: 1.1rem; }
.pg-destacado:hover h2 { color: var(--mr-morado); }
.pg-destacado.sin-portada { grid-template-columns: 1fr; border-left: 3px solid var(--mr-cempa); padding-left: clamp(1rem, 3vw, 2rem); }

.pg-portada-vacia {
  width: 100%; height: 100%; display: grid; place-items: center; background: var(--mr-noche);
  color: rgba(255, 213, 154, .7); font-size: 2rem;
}
.pg-meta-art { display: flex; gap: .35rem 1rem; flex-wrap: wrap; font-size: .9rem; color: var(--mr-piedra); align-items: center; }
.pg-meta-art .categoria { color: var(--mr-cempa-texto); font-weight: 650; }

.pg-articulos { display: grid; gap: 2.5rem 2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.pg-tarjeta { display: flex; flex-direction: column; gap: .75rem; text-decoration: none; color: inherit; }
.pg-tarjeta .portada { aspect-ratio: 16 / 10; border-radius: var(--mr-radio); overflow: hidden; background: var(--mr-noche-2); }
.pg-tarjeta .portada img { width: 100%; height: 100%; object-fit: cover; }
.pg-tarjeta h3 { font-size: 1.3rem; margin: 0; }
.pg-tarjeta p { color: var(--mr-piedra); margin: 0; font-size: .98rem; }
.pg-tarjeta:hover h3 { color: var(--mr-morado); }

.pg-vacio { max-width: 36rem; padding: clamp(2rem, 6vw, 4rem) 0; }
.pg-vacio > i { font-size: 1.6rem; color: var(--mr-cempa); margin-bottom: 1rem; display: block; }
.pg-vacio h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); }
.pg-vacio p { color: var(--mr-piedra); font-size: 1.08rem; }

/* Artículo */
.pg-articulo-cabecera { padding-block: clamp(2.5rem, 6vw, 4.5rem) 2rem; background: #fff; }
.pg-articulo-cabecera h1 { max-width: 24ch; font-size: clamp(2.1rem, 4.4vw, 3.5rem); }
.pg-articulo-cabecera .lead { max-width: 40rem; margin-top: 1.25rem; }
.pg-autor { display: flex; align-items: center; gap: .85rem; margin-top: 2rem; }
.pg-autor .avatar { width: 44px; height: 44px; font-size: .95rem; background: var(--mr-morado); }
.pg-autor strong { display: block; line-height: 1.2; }
.pg-autor .pg-meta-art { margin-top: .15rem; }
.pg-articulo-portada { background: linear-gradient(#fff 50%, var(--mr-papel) 50%); }
.pg-articulo-portada figure { margin: 0; }
.pg-articulo-portada img { width: 100%; max-height: 34rem; object-fit: cover; border-radius: var(--mr-radio-lg); }
.pg-articulo { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 6vw, 4.5rem); }
.pg-articulo .prosa { font-family: var(--mr-serif); font-size: 1.16rem; line-height: 1.8; max-width: 40rem; }
.pg-articulo .prosa h2, .pg-articulo .prosa h3, .pg-articulo .prosa h4 { font-family: var(--mr-serif); }
.pg-articulo .prosa h4 { font-size: 1.1rem; margin-top: 1.75rem; }
.pg-articulo .prosa > p:first-child::first-letter { font-size: 3.4em; float: left; line-height: .9; padding: .08em .1em 0 0; color: var(--mr-morado); font-weight: 600; }
.pg-compartir { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.pg-compartir > span { font-weight: 600; margin-right: .25rem; }
.pg-compartir .btn { --bs-btn-padding-x: .8rem; }
.pg-articulo-pie { max-width: 40rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--mr-linea); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: center; }

@media print {
  .pg-indice, .pg-compartir, .pg-articulo-pie, .pg-lateral { display: none !important; }
  .pg-documento { display: block; }
  .pg-crisis, .pg-memoria { background: #fff !important; color: #000 !important; border: 1px solid #000; }
  .pg-crisis h2, .pg-linea strong, .pg-linea span, .pg-memoria p { color: #000 !important; }
}

/* Secciones consecutivas separadas por una línea: recuperan el aire superior. */
.seccion + .seccion.seccion-borde { padding-top: clamp(3rem, 7vw, 5.5rem); }
@media (max-width: 575.98px) { .pg-meta-objetivo { text-align: left; } }

/* Selector de donativos (Stripe · Nodo Cívico) */
.dn-segmentos { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.dn-segmentos label, .dn-monto { position: relative; cursor: pointer; margin: 0; }
.dn-segmentos input, .dn-monto input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.dn-segmentos span {
  display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.9rem;
  border: 1.5px solid var(--mr-linea-2); border-radius: 999px; font-weight: 600; background: #fff; transition: border-color .15s, background-color .15s;
}
.dn-segmentos span i { color: var(--mr-morado); }
.dn-montos { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.dn-monto span {
  display: flex; flex-direction: column; gap: .1rem; padding: .7rem .85rem; height: 100%;
  border: 1.5px solid var(--mr-linea-2); border-radius: var(--mr-radio); background: #fff; transition: border-color .15s, background-color .15s;
}
.dn-monto strong { font-family: var(--mr-serif); font-size: 1.35rem; line-height: 1.1; }
.dn-monto small { color: var(--mr-piedra); font-size: .82rem; }
.dn-segmentos input:checked + span, .dn-monto input:checked + span { border-color: var(--mr-morado); background: var(--mr-morado-claro); box-shadow: inset 0 0 0 1px var(--mr-morado); }
.dn-segmentos input:focus-visible + span, .dn-monto input:focus-visible + span { outline: 3px solid var(--mr-cempa); outline-offset: 2px; }
.dn-segmentos label:hover span, .dn-monto:hover span { border-color: #bdb5c9; }
.dn-todos summary { cursor: pointer; color: var(--mr-morado); font-weight: 600; font-size: .92rem; }
