/*
 * De Buena Fe — hoja de estilos única del sitio público (fase 4).
 * Se arma con: fuentes propias + diseno/tokens.css + diseno/estilos.css (diseño aprobado en la fase 3).
 * Si cambia el diseño, cambiar primero diseno/ y volver a copiarlo aquí.
 */

/* Fuentes propias (subconjunto latino, variables: un archivo cubre todos los grosores) */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url(../fonts/cormorant-garamond.woff2) format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-italica.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fonts/dm-sans.woff2) format('woff2');
}

/* ===== Tokens (diseno/tokens.css) ===== */
/* =====================================================================
   De Buena Fe 2.0 — Tokens de diseño (fase 3)
   ---------------------------------------------------------------------
   Un "token" es un nombre para un valor de diseño: en vez de escribir
   #007FB2 en cien lugares, se escribe var(--marca). Si mañana cambia el
   color, se cambia acá una sola vez.

   Reglas:
   - El color de marca sale del logo original (#007FB2).
   - Todo texto cumple contraste AA (4,5:1). Lo mide
     scripts/verificar_contraste.php leyendo este archivo.
   - El modo oscuro redefine los mismos nombres, nunca agrega otros.
   - El color litúrgico del día se aplica con data-liturgia en <html>.
   ===================================================================== */

:root {
  /* --- Neutros (con un leve tinte del azul del logo) --- */
  --fondo:          #FFFFFF;  /* fondo de la página */
  --superficie:     #F1F5F7;  /* franjas y bloques apartados */
  --superficie-2:   #E4ECF0;  /* hover y separadores gruesos */
  --linea:          #D3DEE4;  /* filetes de 1 px */
  --tinta:          #14212A;  /* títulos y texto principal */
  --tinta-suave:    #36444E;  /* bajadas y texto secundario */
  --tinta-meta:     #55636D;  /* fechas, autores, pies de foto */

  /* --- Marca (logo) --- */
  --marca:          #007FB2;  /* el azul del logo: fondos, íconos, adornos */
  --marca-texto:    #006A95;  /* el mismo azul, más oscuro, para texto y enlaces */
  --marca-fuerte:   #00577A;  /* hover de botones */
  --marca-suave:    #E3F1F7;  /* fondos claros con tinte de marca */
  --sobre-marca:    #FFFFFF;  /* texto sobre --marca-texto */

  /* --- Dorado: solo para Colaborá y detalles litúrgicos --- */
  --dorado:         #C4982A;  /* fondo del botón Colaborá y filetes */
  --dorado-texto:   #835F0F;  /* texto dorado sobre fondo claro */
  --dorado-suave:   #FAF3E1;  /* fondo del bloque Colaborá */
  --sobre-dorado:   #14212A;  /* texto sobre --dorado */

  /* --- Secciones (D6): siempre acompañan al nombre, nunca solos --- */
  --sec-diocesis:   #006A95;  /* azul del logo: lo de casa */
  --sec-mundo:      #4A3FA0;  /* índigo */
  --sec-sociedad:   #4B5A66;  /* pizarra */
  --sec-fe:         #2E3A44;  /* tinta: el dorado queda para Colaborá (manual, 30/10) */
  --sec-cultura:    #8A5A3C;  /* sepia: el verde era el del Tiempo Ordinario (manual, 30/10) */
  --sec-opinion:    #2E3A44;  /* = --sec-fe: sin color propio, se marca con itálica y firma (manual, 30/10) */

  /* --- Colores litúrgicos (franja de la cabecera y página Hoy) --- */
  --lit-verde:      #2B7A4B;
  --lit-morado:     #6A3D9A;
  --lit-blanco:     #C4982A;  /* el blanco litúrgico se dibuja con dorado: el blanco no se ve sobre blanco */
  --lit-rojo:       #B3261E;
  --lit-rosa:       #C2507A;
  --liturgia:       var(--lit-verde); /* valor por defecto; lo cambia data-liturgia */

  /* --- Estados --- */
  --aviso:          #8A5300;  /* "horario sin verificar hace más de 60 días" */
  --aviso-suave:    #FFF1DB;
  --foco:           #007FB2;  /* anillo de foco del teclado */

  /* --- Pie de página: siempre oscuro, del azul del logo --- */
  --pie-fondo:      #0B2532;
  --pie-fondo-2:    #0F2F3F;  /* franja de apoyo y cajas dentro del pie */
  --pie-linea:      #24485A;
  --pie-tinta:      #EEF4F7;
  --pie-suave:      #B9CBD4;
  --pie-acento:     #7CCDEE;  /* títulos de columna y enlaces al pasar */

  /* --- Tipografía --- */
  --fuente-titulo:  'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --fuente-texto:   'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Escala. Cormorant tiene la "x" chica: por eso sus tamaños son más
     grandes que los de un título común. Nada baja de 14 px. */
  --t-meta:         0.875rem;  /* 14 px: fechas, autores, etiquetas */
  --t-chico:        1rem;      /* 16 px: botones, menú */
  --t-cuerpo:       1.125rem;  /* 18 px: texto de la nota */
  --t-bajada:       1.25rem;   /* 20 px: bajada (copete) */
  --t-tarjeta:      1.5rem;    /* 24 px: título de tarjeta (Cormorant) */
  --t-tarjeta-grande: clamp(1.75rem, 1.2rem + 2vw, 2.25rem);
  --t-seccion:      clamp(2rem, 1.5rem + 2vw, 2.75rem);
  --t-nota:         clamp(2.25rem, 1.6rem + 2.8vw, 3.5rem);
  --interlineado:   1.65;

  /* --- Espacios (múltiplos de 4 px) --- */
  --e-1: 0.25rem;  --e-2: 0.5rem;  --e-3: 0.75rem; --e-4: 1rem;
  --e-5: 1.5rem;   --e-6: 2rem;    --e-7: 3rem;    --e-8: 4rem;

  /* --- Formas --- */
  --radio:          6px;    /* botones y campos */
  --radio-grande:   12px;   /* bloques destacados (Colaborá, Hoy) */
  --radio-chico:    4px;    /* fotos, avisos y caja de publicidad */
  --radio-redondo:  50%;    /* avatar y punto litúrgico */
  --toque-minimo:   44px;   /* alto mínimo de botones y enlaces, para el dedo */
  --franja-liturgica: 5px;  /* franja de color litúrgico de arriba */
  --ancho-texto:    40rem;  /* ~68 caracteres por línea en la nota */
  --ancho-pagina:   80rem;  /* 1280 px */
  --sombra:         0 1px 2px rgb(20 33 42 / 0.06), 0 4px 16px rgb(20 33 42 / 0.06);
}

/* Colores litúrgicos: <html data-liturgia="morado"> */
[data-liturgia="verde"]  { --liturgia: var(--lit-verde); }
[data-liturgia="morado"] { --liturgia: var(--lit-morado); }
[data-liturgia="blanco"] { --liturgia: var(--lit-blanco); }
[data-liturgia="rojo"]   { --liturgia: var(--lit-rojo); }
[data-liturgia="rosa"]   { --liturgia: var(--lit-rosa); }

/* ---------------------------------------------------------------------
   Modo oscuro. Se aplica si el sistema del lector está en oscuro (salvo
   que haya elegido claro) o si eligió oscuro con el botón de la cabecera.
   Los dos bloques tienen los mismos valores a propósito.
   --------------------------------------------------------------------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fondo:        #0F171C;
    --superficie:   #16222A;
    --superficie-2: #1F2E37;
    --linea:        #2A3B46;
    --tinta:        #E9EFF2;
    --tinta-suave:  #C2CED5;
    --tinta-meta:   #9AAAB4;
    --marca:        #4DB6E0;
    --marca-texto:  #6CC5EA;
    --marca-fuerte: #9AD8F1;
    --marca-suave:  #12303D;
    --sobre-marca:  #0F171C;
    --dorado:       #D4AE4E;
    --dorado-texto: #E3C26F;
    --dorado-suave: #2A2412;
    --sobre-dorado: #0F171C;
    --sec-diocesis: #6CC5EA;
    --sec-mundo:    #A9A2EE;
    --sec-sociedad: #AFBCC6;
    --sec-fe:       #C2CED5;
    --sec-cultura:  #D2A27E;
    --sec-opinion:  #C2CED5;
    --lit-verde:    #5CBF84;
    --lit-morado:   #B08BE0;
    --lit-blanco:   #E3C26F;
    --lit-rojo:     #F07A70;
    --lit-rosa:     #F08DB2;
    --aviso:        #F2B661;
    --aviso-suave:  #2E2210;
    --foco:         #6CC5EA;
    --sombra:       0 1px 2px rgb(0 0 0 / 0.3), 0 4px 16px rgb(0 0 0 / 0.3);
    --pie-fondo:    #09141A;
    --pie-fondo-2:  #0F1F28;
    --pie-linea:    #22343F;
    --pie-tinta:    #E9EFF2;
    --pie-suave:    #AEBFC9;
    --pie-acento:   #6CC5EA;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --fondo:        #0F171C;
  --superficie:   #16222A;
  --superficie-2: #1F2E37;
  --linea:        #2A3B46;
  --tinta:        #E9EFF2;
  --tinta-suave:  #C2CED5;
  --tinta-meta:   #9AAAB4;
  --marca:        #4DB6E0;
  --marca-texto:  #6CC5EA;
  --marca-fuerte: #9AD8F1;
  --marca-suave:  #12303D;
  --sobre-marca:  #0F171C;
  --dorado:       #D4AE4E;
  --dorado-texto: #E3C26F;
  --dorado-suave: #2A2412;
  --sobre-dorado: #0F171C;
  --sec-diocesis: #6CC5EA;
  --sec-mundo:    #A9A2EE;
  --sec-sociedad: #AFBCC6;
  --sec-fe:       #C2CED5;
  --sec-cultura:  #D2A27E;
  --sec-opinion:  #C2CED5;
  --lit-verde:    #5CBF84;
  --lit-morado:   #B08BE0;
  --lit-blanco:   #E3C26F;
  --lit-rojo:     #F07A70;
  --lit-rosa:     #F08DB2;
  --aviso:        #F2B661;
  --aviso-suave:  #2E2210;
  --foco:         #6CC5EA;
  --sombra:       0 1px 2px rgb(0 0 0 / 0.3), 0 4px 16px rgb(0 0 0 / 0.3);
  --pie-fondo:    #09141A;
  --pie-fondo-2:  #0F1F28;
  --pie-linea:    #22343F;
  --pie-tinta:    #E9EFF2;
  --pie-suave:    #AEBFC9;
  --pie-acento:   #6CC5EA;
  color-scheme: dark;
}

/* ===== Estilos (diseno/estilos.css) ===== */
/* =====================================================================
   De Buena Fe 2.0 — Componentes (fase 3)
   ---------------------------------------------------------------------
   Prototipo de la hoja de estilos única de la fase 4. Mobile-first:
   primero se escribe cómo se ve en el celular y después, con @media,
   qué cambia en pantallas más anchas. Usa solo los tokens de tokens.css.

   Idea visual: la barra "/" del logo (/deBuenaFe) marca las secciones
   ("/ Diócesis"), y una franja fina con el color litúrgico del día corona
   todas las páginas.
   ===================================================================== */

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--tinta);
  font-family: var(--fuente-texto);
  font-size: var(--t-cuerpo);
  line-height: var(--interlineado);
  font-variant-numeric: lining-nums; /* números de altura pareja también en Cormorant */
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--marca-texto); text-underline-offset: 0.18em; }
a:hover { color: var(--marca-fuerte); }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3 { font-family: var(--fuente-titulo); font-weight: 700; line-height: 1.12; text-wrap: balance; margin: 0; letter-spacing: -0.005em; }
p { margin: 0; }
.solo-lector { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.icono { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

.contenedor {
  max-width: var(--ancho-pagina);
  margin-inline: auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width: 64rem) {
  .contenedor { padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); }
}

/* ---------- Colores de sección ----------
   Cada elemento con s-… define --color-seccion y sus hijos lo usan. */
.s-diocesis { --color-seccion: var(--sec-diocesis); }
.s-mundo    { --color-seccion: var(--sec-mundo); }
.s-sociedad { --color-seccion: var(--sec-sociedad); }
.s-fe       { --color-seccion: var(--sec-fe); }
.s-cultura  { --color-seccion: var(--sec-cultura); }
.s-opinion  { --color-seccion: var(--sec-opinion); }

/* ---------- Franja litúrgica ---------- */
.franja-liturgica { height: var(--franja-liturgica); background: var(--liturgia); }

/* ---------- Cabecera ----------
   Como la tapa de un diario: una barra fina con las acciones, el logo
   grande y centrado con su lema, y el menú centrado debajo. No queda fija
   al bajar, para no tapar la lectura. */
.cabecera { background: var(--fondo); border-bottom: 1px solid var(--linea); position: relative; }
.cabecera__utilidades { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); min-height: 56px; }
.cabecera__fecha { display: none; font-size: var(--t-meta); color: var(--tinta-meta); margin: 0; }
.cabecera__acciones { display: flex; align-items: center; gap: var(--e-1); }
.cabecera__acciones--izquierda { margin-right: auto; }
.cabecera__marca { display: grid; justify-items: center; gap: var(--e-1); padding-block: var(--e-2) var(--e-4); text-align: center; }
.cabecera__logo { display: block; }
.cabecera__logo img { width: 240px; height: auto; margin-block: 14px; } /* logo SVG recortado justo: se mide por el ancho; el margen repone el aire que traía el PNG de 72 px */
.cabecera__lema { font-family: var(--fuente-titulo); font-style: italic; font-weight: 500; font-size: 1.1875rem; line-height: 1.3; color: var(--tinta-suave); }
.logo-oscuro { display: none; }
.boton-icono {
  display: inline-grid; place-items: center; width: 44px; height: 44px;
  border: 0; border-radius: var(--radio); background: transparent; color: var(--tinta); cursor: pointer;
}
.boton-icono:hover { background: var(--superficie); }
.boton-icono .icono { width: 24px; height: 24px; }
@media (min-width: 48rem) {
  .cabecera__fecha { display: block; }
  .cabecera__acciones--izquierda { display: none; }
  .cabecera__logo img { width: 335px; margin-block: 20px; }
  .cabecera__lema { font-size: 1.375rem; }
  .cabecera__marca { padding-block: 0 var(--e-5); }
}
/* En el celular, la búsqueda y el tema van a la izquierda y Colaborá a la derecha. */
@media (max-width: 47.99rem) {
  .cabecera__acciones--derecha .boton-icono { display: none; }
}

/* Menú de secciones: centrado. En el celular ocupa dos renglones. */
.menu-secciones { border-top: 1px solid var(--linea); }
.menu-secciones ul {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 0 var(--e-1);
  list-style: none; margin: 0 auto; padding-block: var(--e-1);
}
.menu-secciones a {
  display: block; padding: var(--e-2) var(--e-3); white-space: nowrap;
  font-size: var(--t-chico); font-weight: 500; color: var(--tinta); text-decoration: none;
  border-bottom: 3px solid transparent;
}
.menu-secciones a:hover, .menu-secciones a[aria-current="page"] { border-bottom-color: var(--color-seccion, var(--marca)); color: var(--tinta); }
.menu-secciones .menu-hoy { color: var(--marca-texto); font-weight: 700; }
@media (min-width: 48rem) {
  .menu-secciones ul { gap: var(--e-3); padding-block: 0; }
  .menu-secciones a { padding: var(--e-3) var(--e-3); font-size: 1.0625rem; }
}

/* ---------- Botones ---------- */
.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--e-2);
  min-height: var(--toque-minimo); padding: var(--e-2) var(--e-5);
  border: 2px solid transparent; border-radius: var(--radio);
  font: 700 var(--t-chico)/1.2 var(--fuente-texto); text-decoration: none; cursor: pointer;
}
.boton--principal { background: var(--marca-texto); color: var(--sobre-marca); }
.boton--principal:hover { background: var(--marca-fuerte); color: var(--sobre-marca); }
.boton--secundario { background: transparent; color: var(--marca-texto); border-color: var(--marca); }
.boton--secundario:hover { background: var(--marca-suave); color: var(--marca-texto); }
.boton--colabora { background: var(--dorado); color: var(--sobre-dorado); }
.boton--colabora:hover { background: var(--dorado-texto); color: var(--fondo); }
.boton--chico { min-height: var(--toque-minimo); padding: var(--e-1) var(--e-4); }
.boton--pildora {
  min-height: 36px; padding: 6px 14px; border-radius: 9999px;
  font-size: 0.85rem; font-weight: 600; letter-spacing: 0.01em; gap: 0.35rem;
  box-shadow: 0 1px 2px rgb(20 33 42 / 0.12);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.boton--pildora:hover { transform: translateY(-1px); }
.boton--pildora .icono { width: 1.15em; height: 1.15em; }
.boton--ancho { width: 100%; }

/* ---------- Etiqueta de sección ("/ Diócesis") ---------- */
.etiqueta {
  display: inline-flex; align-items: baseline; gap: 0.35em;
  font-size: var(--t-meta); font-weight: 700; letter-spacing: 0.02em; line-height: 1.3;
  color: var(--color-seccion, var(--marca-texto)); text-decoration: none;
}
.etiqueta::before { content: "/"; font-weight: 500; }
.etiqueta--opinion { color: var(--sec-opinion); font-style: italic; }
/* Etiqueta flotante sobre la imagen de la tarjeta (Glassmorphism) */
.foto > .etiqueta,
.etiqueta--sobre-foto {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 6px;
  background: rgba(15, 23, 42, 0.78);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-family: var(--fuente-texto); font-size: 0.7rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.2;
  color: #FFFFFF;
}
.foto > .etiqueta::before,
.etiqueta--sobre-foto::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%; flex: none;
  background: var(--pie-acento);
}
.foto > .etiqueta--local::before,
.s-diocesis .foto > .etiqueta::before,
.etiqueta--sobre-foto.etiqueta--local::before {
  background: #F59E0B;
}

/* ---------- Metadatos ---------- */
.meta { display: flex; flex-wrap: wrap; gap: 0 var(--e-2); font-size: var(--t-meta); color: var(--tinta-meta); line-height: 1.5; }
.meta > * + *::before { content: "·"; margin-right: var(--e-2); }

/* ---------- Imagen con espacio reservado (evita saltos al cargar) ---------- */
.foto { position: relative; aspect-ratio: 16 / 9; background: var(--superficie-2); overflow: hidden; border-radius: 8px; max-width: 100%; }
.foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.foto--4x3 { aspect-ratio: 4 / 3; }
.foto--1x1 { aspect-ratio: 1; }

/* ---------- Tarjeta ----------
   Toda la tarjeta es un solo enlace: se toca en cualquier parte. */
.tarjeta { display: grid; gap: var(--e-2); color: inherit; text-decoration: none; align-content: start; min-width: 0; }
.tarjeta__titulo { font-size: var(--t-tarjeta); color: var(--tinta); transition: color 0.2s ease, opacity 0.2s ease; }
.tarjeta:hover .foto img { transform: scale(1.03); }
.tarjeta:hover .tarjeta__titulo { color: var(--color-seccion, var(--marca-texto)); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.tarjeta__bajada { font-size: var(--t-chico); color: var(--tinta-suave); line-height: 1.5; }
.tarjeta--grande .tarjeta__titulo { font-size: var(--t-tarjeta-grande); }
.tarjeta--grande .tarjeta__bajada { font-size: var(--t-cuerpo); }
/* Horizontal: foto chica a la izquierda (listas y "Últimas"). */
.tarjeta--horizontal { grid-template-columns: 7.5rem 1fr; column-gap: var(--e-4); align-items: start; }
.tarjeta--horizontal .foto { grid-row: span 3; aspect-ratio: 4 / 3; }
.tarjeta--horizontal .tarjeta__titulo { font-size: 1.3125rem; }
.tarjeta--texto .tarjeta__titulo { font-size: 1.3125rem; }

/* ---------- Títulos de bloque ---------- */
.titulo-bloque { display: flex; align-items: baseline; justify-content: space-between; gap: var(--e-4); padding-bottom: var(--e-3); border-bottom: 2px solid var(--color-seccion, var(--tinta)); margin-bottom: var(--e-5); }
.titulo-bloque h2 { font-size: 1.875rem; }
.titulo-bloque h2::before { content: "/ "; color: var(--color-seccion, var(--marca)); font-weight: 500; }
.titulo-bloque a { font-size: var(--t-chico); font-weight: 500; white-space: nowrap; }

/* ---------- Franja Hoy (debajo de la cabecera) ---------- */
.hoy-franja { background: var(--superficie); border-bottom: 1px solid var(--linea); }
.hoy-franja__fila { display: grid; gap: var(--e-3); padding-block: var(--e-3); }
.hoy-franja__dia { display: flex; align-items: center; gap: var(--e-3); font-size: var(--t-meta); color: var(--tinta-suave); line-height: 1.4; }
.hoy-franja__dia strong { color: var(--tinta); font-weight: 700; }
.liturgia-verde  { color: var(--lit-verde); }
.liturgia-morado { color: var(--lit-morado); }
.liturgia-rojo   { color: var(--lit-rojo); }
.liturgia-blanco { color: var(--lit-blanco); }
.liturgia-rosa   { color: var(--lit-rosa); }
.punto-liturgico {
  width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-right: 4px;
  color: var(--liturgia); background: currentColor; flex: none;
  box-shadow: 0 0 8px currentColor;
}
.hoy-franja__enlaces { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--e-2); }
.hoy-franja__enlaces a {
  display: flex; align-items: center; justify-content: center; gap: var(--e-2); min-height: var(--toque-minimo); padding: var(--e-1) var(--e-2);
  background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--radio);
  font-size: var(--t-chico); font-weight: 700; color: var(--tinta); text-decoration: none;
}
.hoy-franja__enlaces a:hover { border-color: var(--marca); color: var(--marca-texto); }
.hoy-franja__enlaces .icono { color: var(--marca); }
@media (min-width: 48rem) {
  .hoy-franja__fila { grid-template-columns: 1fr auto; align-items: center; }
  .hoy-franja__enlaces { grid-template-columns: repeat(3, auto); }
  .hoy-franja__enlaces a { padding-inline: var(--e-4); }
}

/* ---------- Bloque Colaborá ---------- */
.colabora {
  display: grid; gap: var(--e-4);
  padding: var(--e-5); border-radius: var(--radio-grande);
  background: var(--dorado-suave); border-top: 4px solid var(--dorado);
}
.colabora__titulo { font-size: 1.875rem; }
.colabora__texto { color: var(--tinta-suave); }
.colabora__montos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--e-2); }
.monto {
  display: grid; place-items: center; min-height: 52px; padding: var(--e-2);
  background: var(--fondo); border: 2px solid var(--linea); border-radius: var(--radio);
  font-weight: 700; font-size: var(--t-chico); color: var(--tinta); text-decoration: none; text-align: center; line-height: 1.2;
}
.monto:hover, .monto[aria-pressed="true"] { border-color: var(--dorado-texto); color: var(--tinta); }
.monto[aria-pressed="true"] { box-shadow: inset 0 0 0 1px var(--dorado-texto); }
.colabora__nota { font-size: var(--t-meta); color: var(--tinta-meta); }
.colabora__nota strong { color: var(--tinta-suave); }

/* ---------- Espacio de Publicidad (siempre con su alto reservado) ---------- */
.publicidad { display: grid; gap: var(--e-1); justify-items: center; margin-block: var(--e-6); }
.publicidad__rotulo { font-size: var(--t-meta); color: var(--tinta-meta); letter-spacing: 0.06em; text-transform: uppercase; }
.publicidad__caja {
  width: 100%; max-width: 336px; aspect-ratio: 336 / 280;
  display: grid; place-items: center; background: var(--superficie); border: 1px dashed var(--linea);
  font-size: var(--t-meta); color: var(--tinta-meta); border-radius: var(--radio-chico);
}
.publicidad--horizontal .publicidad__caja { max-width: 728px; aspect-ratio: 728 / 90; }
/* Aviso real (fase 10): la imagen trae su ancho y alto, así el lugar queda reservado (sin CLS) */
.publicidad__aviso { display: block; width: 100%; }
.publicidad__aviso img { display: block; width: 100%; height: auto; border-radius: var(--radio-chico); }
.nota__lateral .publicidad { margin-top: 0; }
/* /publicidad/ (fase 10) */
.espacio__precio { font-weight: 700; color: var(--tinta); }
.formulario { max-width: 40rem; }
.campo { display: grid; gap: var(--e-1); }
.campo label { font-size: var(--t-chico); font-weight: 500; }
.campo input, .campo select, .campo textarea { min-height: 48px; padding: var(--e-2) var(--e-3); border: 2px solid var(--linea); border-radius: var(--radio); background: var(--fondo); color: var(--tinta); font: inherit; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 3px solid var(--foco); outline-offset: 1px; border-color: var(--marca); }
.campo--trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 47.99rem) { .publicidad--horizontal .publicidad__caja { max-width: 336px; aspect-ratio: 320 / 100; } }

/* =====================================================================
   PORTADA
   Celular: principal, dos secundarias, Hoy, Últimas y secciones.
   Escritorio: principal y secundarias a la izquierda, Últimas a la derecha.
   ===================================================================== */
.portada { display: grid; gap: var(--e-7); padding-block: var(--e-5) 0; }
.apertura { display: grid; gap: var(--e-6); }
.apertura__izquierda { display: grid; gap: var(--e-6); min-width: 0; }
.apertura__secundarias { display: grid; gap: var(--e-5); }
@media (min-width: 40rem) { .apertura__secundarias { grid-template-columns: 1fr 1fr; } }
@media (max-width: 39.99rem) {
  .apertura__secundarias .tarjeta { grid-template-columns: 7.5rem 1fr; column-gap: var(--e-4); }
  .apertura__secundarias .foto { grid-row: span 3; aspect-ratio: 4 / 3; }
  .apertura__secundarias .foto > .etiqueta { top: 6px; left: 6px; padding: 2px 6px; font-size: 0.625rem; }
  .apertura__secundarias .tarjeta__titulo { font-size: 1.3125rem; }
  .portada { gap: var(--e-6); }
}
@media (min-width: 64rem) {
  .apertura__izquierda .especial-papa { order: 1; }
  .apertura__secundarias { order: 2; }
  .apertura__izquierda .hoy-portada { order: 3; }
}
@media (min-width: 64rem) {
  .apertura { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: var(--e-7); align-items: start; }
  .apertura .tarjeta--grande .tarjeta__titulo { font-size: 2.75rem; }
}

/* Lista "Últimas": línea de tiempo vertical, sin fotos, para leer de un vistazo. */
.ultimas { min-width: 0; }
.ultimas ol {
  list-style: none; margin: var(--e-4) 0 0 8px; padding: 0 0 0 18px;
  border-left: 1px solid rgba(148, 163, 184, 0.35);
  display: grid; gap: var(--e-4);
}
.ultimas li { position: relative; }
.ultimas li + li { border-top: 0; }
.ultimas li::before {
  content: ""; position: absolute; left: -23px; top: 0.35rem;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--fondo); border: 2px solid var(--tinta-meta);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.ultimas li:hover::before {
  background: var(--color-seccion, var(--marca));
  border-color: var(--color-seccion, var(--marca));
  transform: scale(1.2);
}
.ultimas a { display: grid; gap: var(--e-1); padding-block: 0; color: inherit; text-decoration: none; }
.ultimas__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--e-2); font-size: 0.75rem; color: var(--tinta-meta); line-height: 1.3; }
.ultimas__hora { font-size: 0.75rem; font-weight: 600; color: var(--tinta-meta); font-variant-numeric: tabular-nums; }
.ultimas .etiqueta {
  font-size: 0.75rem; font-weight: 600; padding: 1px 7px; border-radius: 999px;
  background: var(--superficie); color: var(--color-seccion, var(--marca-texto));
}
.ultimas .etiqueta::before { content: none; }
.ultimas__titulo { font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.3125rem; line-height: 1.22; color: var(--tinta); transition: color 0.2s ease; }
.ultimas a:hover .ultimas__titulo { color: var(--color-seccion, var(--marca-texto)); text-decoration: underline; text-decoration-thickness: 1px; }
@media (min-width: 64rem) { .ultimas { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--e-5)); } }

/* Hoy en la portada: la liturgia abierta, sin clic de por medio. */
.hoy-portada { background: var(--superficie); border-radius: var(--radio-grande); border-top: 5px solid var(--liturgia); padding: var(--e-5); display: grid; gap: var(--e-5); }
.hoy-portada__cabeza { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--e-2) var(--e-4); }
.hoy-portada__cabeza h2 { font-size: 1.875rem; }
.hoy-portada__cabeza h2::before { content: "/ "; color: var(--marca); font-weight: 500; }
.hoy-portada__cabeza h2 a { color: inherit; text-decoration: none; }
.hoy-portada__cabeza h2 a:hover { color: var(--marca-texto); }
.hoy-portada__cabeza p { font-size: var(--t-meta); color: var(--tinta-suave); display: flex; align-items: center; gap: var(--e-2); }
.hoy-portada__grilla { display: grid; gap: var(--e-4); }
@media (min-width: 40rem) {
  .hoy-portada__grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.hoy-caja { display: grid; gap: var(--e-2); align-content: start; padding: var(--e-4); background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--radio); color: inherit; text-decoration: none; min-width: 0; transition: border-color 0.2s ease, transform 0.2s ease; }
a.hoy-caja:hover { border-color: var(--marca); }
.hoy-caja--evangelio { border-left: 3px solid var(--liturgia); }
.hoy-caja__rotulo { display: flex; align-items: center; gap: var(--e-2); font-size: var(--t-meta); font-weight: 700; color: var(--marca-texto); text-transform: uppercase; letter-spacing: 0.06em; }
.hoy-caja__rotulo .icono { color: var(--marca); }
.hoy-caja__titulo { font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.5rem; line-height: 1.15; color: var(--tinta); }
.hoy-caja__texto { font-size: var(--t-chico); color: var(--tinta-suave); line-height: 1.5; }
.hoy-caja__accion { font-size: var(--t-chico); font-weight: 700; color: var(--marca-texto); display: inline-flex; align-items: center; gap: var(--e-1); }
.hoy-caja--santo { grid-template-columns: 4.5rem 1fr; column-gap: var(--e-3); }
.hoy-caja--santo .hoy-caja__rotulo, .hoy-caja--santo .hoy-caja__accion { grid-column: 1 / -1; }
.hoy-caja--santo .foto { grid-row: span 2; }

/* Bloque de sección: una nota grande y tres en lista. */
.bloque-seccion__grilla { display: grid; gap: var(--e-5); }
.bloque-seccion__lista { display: grid; gap: var(--e-5); align-content: start; }
@media (min-width: 48rem) { .bloque-seccion__grilla { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--e-6); } }
.dos-bloques { display: grid; gap: var(--e-7); }
@media (min-width: 64rem) {
  .dos-bloques { grid-template-columns: 1fr 1fr; }
  .dos-bloques .bloque-seccion__grilla { grid-template-columns: 1fr; }
}

/* Colaborá a lo ancho, en la mitad de la portada. */
.colabora__acciones { display: grid; gap: var(--e-3); }
@media (min-width: 64rem) {
  .colabora--ancho { grid-template-columns: 1.2fr 1fr; align-items: center; column-gap: var(--e-7); padding: var(--e-6) var(--e-7); }
  .colabora--ancho .colabora__acciones { grid-column: 2; grid-row: 1 / span 2; }
}

/* =====================================================================
   NOTA
   Una columna de lectura de ~68 caracteres. En escritorio, a la derecha,
   una columna con Últimas y un espacio de publicidad.
   ===================================================================== */
.progreso { position: fixed; left: 0; top: env(safe-area-inset-top, 0px); height: 4px; width: 0; background: var(--marca); z-index: 30; }
.migas { font-size: var(--t-meta); color: var(--tinta-meta); padding-top: var(--e-4); }
.migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--e-1) var(--e-2); }
.migas li + li::before { content: "/"; margin-right: var(--e-2); color: var(--tinta-meta); }
.migas a { color: var(--tinta-meta); }
.nota { display: grid; gap: var(--e-7); padding-block: var(--e-5) 0; }
@media (min-width: 64rem) { .nota { grid-template-columns: minmax(0, 1fr) 18.75rem; column-gap: var(--e-8); align-items: start; } }
@media (min-width: 64rem) { .nota--sola { grid-template-columns: minmax(0, 1fr); } } /* páginas de WordPress, sin columna */
.nota__principal { display: grid; gap: var(--e-6); min-width: 0; }
.nota__cabeza { display: grid; gap: var(--e-4); max-width: 48rem; }
.nota__titulo { font-size: var(--t-nota); line-height: 1.06; }
.nota__bajada { font-size: var(--t-bajada); color: var(--tinta-suave); line-height: 1.5; }
.firma { display: flex; align-items: center; gap: var(--e-3); }
.avatar { width: 48px; height: 48px; border-radius: var(--radio-redondo); display: grid; place-items: center; flex: none; background: var(--marca-suave); color: var(--marca-texto); font-weight: 700; font-size: var(--t-chico); }
.firma__datos { display: grid; line-height: 1.35; }
.firma__nombre { font-weight: 700; color: var(--tinta); text-decoration: none; font-size: var(--t-chico); }
.firma .meta { display: grid; gap: 0; }
.firma .meta > * + *::before { content: none; }
.firma__nombre:hover { text-decoration: underline; color: var(--tinta); }

.herramientas { display: flex; flex-wrap: wrap; gap: var(--e-2); padding-block: var(--e-3); border-block: 1px solid var(--linea); }
.herramienta {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: var(--toque-minimo); padding: var(--e-1) var(--e-4);
  border: 1px solid var(--linea); border-radius: 999px; background: var(--fondo); color: var(--tinta);
  font: 500 var(--t-chico) var(--fuente-texto); text-decoration: none; cursor: pointer;
}
.herramienta:hover { border-color: var(--marca); color: var(--tinta); }
.herramienta--whatsapp { background: var(--marca-texto); border-color: var(--marca-texto); color: var(--sobre-marca); font-weight: 700; }
.herramienta--whatsapp:hover { background: var(--marca-fuerte); color: var(--sobre-marca); }
.herramienta--letra { margin-left: auto; font-family: var(--fuente-titulo); font-weight: 700; font-size: 1.25rem; }
@media (max-width: 30rem) { .herramienta .texto-opcional { display: none; } }

.nota__foto { margin: 0; display: grid; gap: var(--e-2); }
.nota__foto .foto { aspect-ratio: 3 / 2; }
.nota__foto figcaption { font-size: var(--t-meta); color: var(--tinta-meta); }

/* Cuerpo de la nota. --t-lectura cambia con el botón de tamaño de letra. */
.cuerpo { --t-lectura: var(--t-cuerpo); max-width: var(--ancho-texto); font-size: var(--t-lectura); display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.1em; overflow-wrap: break-word; }
/* Contenido de WordPress con anchos fijos: nunca más ancho que la columna */
.cuerpo figure { margin: 0; max-width: 100%; }
.cuerpo iframe, .cuerpo video, .cuerpo embed, .cuerpo object { max-width: 100%; }
.cuerpo iframe[src*="youtube"], .cuerpo iframe[src*="youtu.be"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.cuerpo table { display: block; max-width: 100%; overflow-x: auto; }
.cuerpo [style*="width"] { max-width: 100%; }
[data-letra="grande"] .cuerpo { --t-lectura: 1.3125rem; }
[data-letra="enorme"] .cuerpo { --t-lectura: 1.5rem; }
.cuerpo h2 { font-size: 1.875rem; margin-top: 0.6em; }
.cuerpo h3 { font-size: 1.5rem; margin-top: 0.4em; }
.cuerpo blockquote { margin: 0.3em 0; padding: var(--e-1) 0 var(--e-1) var(--e-5); border-left: 3px solid var(--marca); font-family: var(--fuente-titulo); font-style: italic; font-weight: 500; font-size: 1.4em; line-height: 1.3; color: var(--tinta); }
.cuerpo hr { border: 0; height: 1px; background: var(--linea); width: 100%; margin: var(--e-4) 0; }
.cuerpo .publicidad { margin-block: var(--e-3); }
.cuerpo__corte { font-size: var(--t-meta); color: var(--tinta-meta); font-style: italic; }

.autor-caja { display: grid; grid-template-columns: auto 1fr; gap: var(--e-2) var(--e-4); align-items: start; padding: var(--e-5); background: var(--superficie); border-radius: var(--radio-grande); max-width: var(--ancho-texto); }
.autor-caja .avatar { width: 64px; height: 64px; font-size: 1.25rem; grid-row: span 3; }
.avatar--foto { overflow: hidden; background: var(--superficie-2); }
.avatar--foto img { width: 100%; height: 100%; object-fit: cover; }
.firma__actualizada { color: var(--tinta-suave); }

/* ---------- Vistas de la nota (fase 6b, D52) ----------
   Nivel 1 (30 a 99): número gris. Nivel 2 (100 a 499): "Muy leída" en azul.
   Nivel 3 (500 o más): etiqueta azul rellena, también en las tarjetas. */
.lecturas { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 0.35em; }
.lecturas .icono { width: 1.05em; height: 1.05em; }
.marca-lectura { font-weight: 700; color: var(--marca-texto); }
.marca-lectura--2::before { content: "·"; font-weight: 400; color: var(--tinta-meta); margin-right: 0.35em; }
.marca-lectura--3 { padding: 0.05em 0.5em; border-radius: 999px; background: var(--marca-texto); color: var(--sobre-marca); font-size: 0.85em; letter-spacing: 0.02em; }
.meta > .marca-lectura::before { content: none; }
/* Página de autor (/author/…, fase 8) */
.autor-perfil { display: grid; grid-template-columns: auto 1fr; gap: var(--e-3) var(--e-5); align-items: start; max-width: var(--ancho-texto); }
.autor-perfil .avatar { width: 96px; height: 96px; font-size: 1.75rem; grid-row: span 2; }
.autor-perfil__bio { color: var(--tinta-suave); }
.autor-perfil__redes { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.autor-caja__nombre { font-family: var(--fuente-titulo); font-size: 1.5rem; line-height: 1.1; }
.autor-caja p { font-size: var(--t-chico); color: var(--tinta-suave); }
.nota__principal > .colabora { max-width: var(--ancho-texto); }

.relacionadas__grilla { display: grid; gap: var(--e-5); }
@media (min-width: 40rem) { .relacionadas__grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.relacionadas .tarjeta__titulo { font-size: 1.375rem; }

.nota__lateral { display: grid; gap: var(--e-6); min-width: 0; }
@media (min-width: 64rem) { .nota__lateral { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--e-5)); } }
.nota__lateral .publicidad { margin: 0; }

/* Acceso a Misas en la portada: CTA destacado con ícono a la izquierda y flecha animada a la derecha. */
.hoy-acceso {
  grid-column: 1 / -1; display: flex; align-items: center; gap: var(--e-3);
  min-height: 60px; padding: var(--e-3) var(--e-4);
  background: var(--dorado-suave); border: 1.5px solid var(--dorado); border-radius: 8px;
  color: var(--tinta); text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.hoy-acceso:hover { border-color: var(--dorado-texto); box-shadow: var(--sombra); color: var(--tinta); }
.hoy-acceso > .icono:first-child {
  color: var(--dorado-texto); width: 24px; height: 24px;
}
.hoy-acceso__texto { display: grid; line-height: 1.3; margin-right: auto; }
.hoy-acceso__texto strong { font-size: var(--t-chico); color: var(--tinta); }
.hoy-acceso__texto span { font-size: var(--t-meta); color: var(--tinta-suave); }
.hoy-acceso__flecha { color: var(--dorado-texto); width: 22px; height: 22px; transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.hoy-acceso:hover .hoy-acceso__flecha { transform: translateX(4px); }

/* Encabezado de página (Sección, Hoy, Colaborá). */
.encabezado { display: grid; gap: var(--e-3); padding-block: var(--e-6) var(--e-5); border-bottom: 2px solid var(--color-seccion, var(--tinta)); }
.encabezado h1 { font-size: var(--t-seccion); }
.encabezado h1::before { content: "/ "; color: var(--color-seccion, var(--marca)); font-weight: 500; }
.encabezado__texto { max-width: var(--ancho-texto); color: var(--tinta-suave); }
.encabezado__dato { font-size: var(--t-meta); color: var(--tinta-meta); }
/* Buscador (/buscar) */
.buscador { display: flex; gap: var(--e-2); max-width: var(--ancho-texto); }
.buscador input { flex: 1; min-width: 0; min-height: 48px; padding: 0 var(--e-4); border: 2px solid var(--linea); border-radius: var(--radio); background: var(--fondo); color: var(--tinta); font: inherit; }
.buscador input:focus { outline: 3px solid var(--foco); outline-offset: 2px; border-color: var(--marca); }

/* Filtros (subsecciones, misas): botones-píldora que se envuelven. */
.filtros { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.filtro {
  display: inline-flex; align-items: center; min-height: var(--toque-minimo); padding: var(--e-1) var(--e-4);
  border: 1px solid var(--linea); border-radius: 999px; background: var(--fondo);
  font: 500 var(--t-chico) var(--fuente-texto); color: var(--tinta); text-decoration: none; cursor: pointer;
}
.filtro:hover { border-color: var(--color-seccion, var(--marca)); color: var(--tinta); }
.filtro[aria-current="page"], .filtro[aria-pressed="true"] { background: var(--tinta); border-color: var(--tinta); color: var(--fondo); }

/* =====================================================================
   SECCIÓN
   ===================================================================== */
.seccion { display: grid; gap: var(--e-7); padding-bottom: var(--e-4); }
.seccion__destacadas { display: grid; gap: var(--e-5); }
@media (min-width: 48rem) {
  .seccion__destacadas { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--e-6); }
  .seccion__destacadas > :first-child { grid-row: span 2; }
}
.seccion__cuerpo { display: grid; gap: var(--e-7); }
@media (min-width: 64rem) { .seccion__cuerpo { grid-template-columns: minmax(0, 1fr) 18.75rem; column-gap: var(--e-8); align-items: start; } }
.lista-notas { display: grid; gap: var(--e-5); }
.lista-notas > .tarjeta + .tarjeta { padding-top: var(--e-5); border-top: 1px solid var(--linea); }
@media (min-width: 48rem) {
  .lista-notas .tarjeta--horizontal { grid-template-columns: 15rem 1fr; column-gap: var(--e-5); }
  .lista-notas .tarjeta--horizontal .tarjeta__titulo { font-size: var(--t-tarjeta); }
}
.lista-notas .publicidad { margin-block: 0; }
.paginacion { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--e-2); padding-top: var(--e-5); border-top: 1px solid var(--linea); }
.paginacion a, .paginacion span { display: inline-grid; place-items: center; min-width: 44px; min-height: var(--toque-minimo); padding: 0 var(--e-3); border-radius: var(--radio); font-weight: 500; text-decoration: none; color: var(--tinta); }
.paginacion a:hover { background: var(--superficie); color: var(--tinta); }
.paginacion [aria-current="page"] { background: var(--tinta); color: var(--fondo); }
.paginacion .paginacion__mas { font-weight: 700; color: var(--marca-texto); border: 2px solid var(--marca); padding-inline: var(--e-5); }
.lateral { display: grid; gap: var(--e-6); min-width: 0; }
@media (min-width: 64rem) { .lateral { position: sticky; top: var(--e-5); } }
.lateral .publicidad { margin: 0; }
.colabora--chico .colabora__titulo { font-size: 1.5rem; }

/* =====================================================================
   HOY
   ===================================================================== */
.hoy-pagina { display: grid; gap: var(--e-7); }
.hoy-cabeza { display: grid; gap: var(--e-3); padding-block: var(--e-6) var(--e-5); border-bottom: 5px solid var(--liturgia); }
.hoy-cabeza__fecha { font-size: var(--t-chico); font-weight: 700; color: var(--marca-texto); text-transform: uppercase; letter-spacing: 0.06em; }
.hoy-cabeza h1 { font-size: var(--t-nota); }
.hoy-cabeza__liturgia { display: flex; align-items: center; gap: var(--e-3); color: var(--tinta-suave); }
.hoy-indice { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--e-2); }
.hoy-indice a { display: flex; align-items: center; justify-content: center; gap: var(--e-2); min-height: 52px; border-radius: var(--radio); background: var(--superficie); color: var(--tinta); font-weight: 700; text-decoration: none; }
.hoy-indice a:hover { background: var(--superficie-2); color: var(--tinta); }
.hoy-indice .icono { color: var(--marca); }
.hoy-seccion { display: grid; gap: var(--e-5); scroll-margin-top: var(--e-5); }
.hoy-seccion__rotulo { display: flex; align-items: center; gap: var(--e-2); font-size: var(--t-meta); font-weight: 700; color: var(--marca-texto); text-transform: uppercase; letter-spacing: 0.06em; }
.hoy-seccion__rotulo .icono { color: var(--marca); }
.hoy-seccion h2 { font-size: var(--t-seccion); }
.hoy-dos { display: grid; gap: var(--e-6); }
@media (min-width: 64rem) { .hoy-dos { grid-template-columns: minmax(0, 1fr) 20rem; gap: var(--e-8); align-items: start; } }

.evangelio { display: grid; gap: var(--e-5); max-width: var(--ancho-texto); }
.evangelio__cita { font-family: var(--fuente-titulo); font-size: 1.5rem; font-weight: 600; font-style: italic; color: var(--tinta-suave); }
.evangelio__texto { display: grid; gap: var(--e-4); font-size: var(--t-cuerpo); line-height: 1.7; }
.evangelio__fuente { font-size: var(--t-meta); color: var(--tinta-meta); }
.renglon { height: 0.9rem; border-radius: var(--radio-chico); background: var(--superficie-2); }
.evangelio__comentario { display: grid; gap: var(--e-3); padding-left: var(--e-5); border-left: 3px solid var(--liturgia); }
.evangelio__comentario h3 { font-family: var(--fuente-texto); font-size: var(--t-meta); text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-meta); }
.dias { display: flex; justify-content: space-between; gap: var(--e-3); flex-wrap: wrap; }

.santo { display: grid; gap: var(--e-5); }
@media (min-width: 48rem) { .santo { grid-template-columns: 16rem 1fr; align-items: start; } }
.santo__texto { display: grid; gap: var(--e-4); max-width: var(--ancho-texto); }
.santo--sin-nota { grid-template-columns: 1fr; }
.santo__nota { font-size: 1.5rem; }
.santo__nota a { color: inherit; text-decoration: none; }
.santo__nota a:hover { color: var(--marca-texto); }
.santo__boton { justify-self: start; }
.santo__otras { display: grid; gap: var(--e-2); }
.santo__otras h3 { font-family: var(--fuente-texto); font-size: var(--t-meta); text-transform: uppercase; letter-spacing: 0.06em; color: var(--tinta-meta); }
.santo__otras ul { margin: 0; padding-left: var(--e-5); display: grid; gap: var(--e-1); }
.video-santo { color: inherit; text-decoration: none; }
.video-santo__miniatura { position: relative; overflow: hidden; }
.video-santo__miniatura img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video-santo__miniatura .icono { position: relative; color: #fff; filter: drop-shadow(0 1px 3px rgb(0 0 0 / 0.6)); }

/* Santoral (/santoral/): el año entero, mes por mes */
.santoral__meses { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--e-1); }
@media (min-width: 48rem) { .santoral__meses { grid-template-columns: repeat(12, 1fr); } }
.santoral__meses a { display: grid; place-items: center; min-height: var(--toque-minimo); border-radius: var(--radio); background: var(--superficie); color: var(--tinta); text-decoration: none; font-weight: 500; }
.santoral__meses a:hover { background: var(--superficie-2); }
.santoral__mes { display: grid; gap: var(--e-4); scroll-margin-top: var(--e-5); }
.santoral__mes h2 { font-size: var(--t-seccion); }
.santoral__dias { list-style: none; margin: 0; padding: 0; }
@media (min-width: 64rem) { .santoral__dias { columns: 2; column-gap: var(--e-7); } } /* los días bajan por columna */
.santoral__dia { break-inside: avoid; display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--e-3); padding-block: var(--e-3); border-bottom: 1px solid var(--linea); scroll-margin-top: var(--e-5); }
.santoral__dia[aria-current="date"] { background: var(--marca-suave); border-radius: var(--radio); padding-inline: var(--e-2); }
.santoral__numero { font-weight: 700; font-size: 1.25rem; font-variant-numeric: tabular-nums; color: var(--marca-texto); }
.santoral__detalle { display: grid; gap: var(--e-1); min-width: 0; }
.santoral__detalle a { font-size: var(--t-chico); }
.santoral__nombre { font-weight: 500; line-height: 1.35; }
.santoral__nombre--feria { color: var(--tinta-meta); font-weight: 400; }
.santoral__propio { display: inline-block; margin-left: var(--e-1); padding: 0 var(--e-2); border-radius: 999px; background: var(--superficie-2); font-size: var(--t-meta); font-weight: 700; color: var(--tinta-suave); vertical-align: middle; }
.santo__frase { font-family: var(--fuente-titulo); font-style: italic; font-size: 1.5rem; line-height: 1.3; padding-left: var(--e-5); border-left: 3px solid var(--marca); }
.video-santo { display: grid; grid-template-columns: 5.5rem 1fr; gap: var(--e-4); align-items: center; padding: var(--e-4); background: var(--superficie); border-radius: var(--radio-grande); color: inherit; text-decoration: none; }
.video-santo__miniatura { aspect-ratio: 9 / 16; border-radius: var(--radio); background: var(--superficie-2); display: grid; place-items: center; color: var(--marca); }
.video-santo__miniatura .icono { width: 32px; height: 32px; }
.video-santo strong { display: block; font-size: var(--t-chico); }
.video-santo span { font-size: var(--t-meta); color: var(--tinta-meta); }

/* Misas (/misas/ y /hoy/): días fijos al bajar, aviso de temporada, próxima misa, buscador y filtros,
   lista por hora en franjas (filas finas) y vista por parroquia (horarios como etiquetas) */
.misas { display: grid; gap: var(--e-4); }
.misas__dias {
  position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--e-1);
  padding-block: var(--e-2); background: var(--fondo); box-shadow: 0 1px 0 var(--linea);
}
.misas__dias a { display: grid; place-items: center; min-height: var(--toque-minimo); border-radius: var(--radio); background: var(--superficie); color: var(--tinta); font-weight: 500; font-size: var(--t-chico); text-decoration: none; }
.misas__dias a:hover { background: var(--superficie-2); }
.misas__dias a[aria-current="page"] { background: var(--tinta); color: var(--fondo); }
.misas__aviso { display: flex; gap: var(--e-2); align-items: flex-start; margin: 0; padding: var(--e-3) var(--e-4); border-radius: var(--radio); background: var(--superficie); font-size: var(--t-chico); color: var(--tinta-suave); line-height: 1.45; }
.misas__aviso .icono { flex: none; margin-top: 2px; color: var(--marca); }
.misa__circulo { display: inline-block; width: 0.8em; height: 0.8em; border: 2px dashed var(--aviso); border-radius: 999px; vertical-align: -0.05em; }
.misas__proxima {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--e-1) var(--e-3); margin: 0;
  padding: var(--e-4); border-left: 4px solid var(--marca); border-radius: var(--radio); background: var(--marca-suave); color: var(--tinta);
}
.misas__proxima[hidden] { display: none; }
.misas__proxima-rotulo { flex-basis: 100%; font-size: var(--t-meta); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--marca-texto); }
.misas__proxima-hora { font-size: 1.75rem; font-variant-numeric: tabular-nums; line-height: 1; }
.misas__proxima-falta { font-size: var(--t-chico); font-weight: 700; color: var(--marca-texto); }
.misas__proxima-lugares { flex-basis: 100%; font-weight: 500; }
.misas__controles { display: grid; gap: var(--e-3); }
.misas__controles[hidden] { display: none; }
.misas__buscar { display: flex; align-items: center; gap: var(--e-2); min-height: 48px; padding: 0 var(--e-4); border: 2px solid var(--linea); border-radius: var(--radio); background: var(--fondo); color: var(--tinta-meta); }
.misas__buscar:focus-within { border-color: var(--marca); outline: 3px solid var(--foco); outline-offset: 2px; } /* el anillo va en la caja: el input no lleva el suyo */
.misas__buscar input { flex: 1; min-width: 0; min-height: var(--toque-minimo); border: 0; background: transparent; font: inherit; color: var(--tinta); }
.misas__buscar input:focus { outline: none; } /* sustituido por el anillo de la caja (:focus-within) */
.misas [hidden] { display: none; }
.misas__franja { display: grid; }
.misas__franja-titulo { padding-block: var(--e-2); font: 700 var(--t-meta) var(--fuente-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-meta); border-bottom: 2px solid var(--tinta); }
.misas__lista, .lugar__horas { margin: 0; padding: 0; list-style: none; }
.misa { display: grid; grid-template-columns: 3.75rem 1fr auto; gap: var(--e-3); align-items: start; padding: var(--e-3) var(--e-2); border-bottom: 1px solid var(--linea); }
.misa--ahora { box-shadow: inset 3px 0 0 var(--marca); }
.misa__hora { font-weight: 700; font-size: 1.125rem; font-variant-numeric: tabular-nums; line-height: 1.35; }
.misa__cuerpo { display: grid; gap: 2px; min-width: 0; }
.misa__lugar { font-weight: 700; line-height: 1.35; }
.misa__detalle { margin: 0; font-size: var(--t-meta); color: var(--tinta-suave); }
.misa__estado { font-size: var(--t-meta); font-weight: 700; color: var(--marca-texto); }
.misa__mapa { justify-self: start; display: inline-flex; align-items: center; gap: var(--e-1); font-size: var(--t-meta); font-weight: 500; color: var(--marca-texto); }
.misa__mapa .icono { width: 1.1em; height: 1.1em; }
/* Marca de verificación: ◌ sin verificar, ✓ verificado; al tocarla aparece cuándo se verificó */
.misa__marca { position: relative; }
.misa__marca summary { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; list-style: none; cursor: pointer; font-size: 1.25rem; font-weight: 700; line-height: 1; color: var(--tinta-meta); }
.misa__marca summary::-webkit-details-marker { display: none; }
.misa__marca summary:hover { background: var(--superficie); }
.misa__marca--alerta summary { color: var(--aviso); }
.misa__marca > span { position: absolute; right: 0; top: calc(100% + 4px); z-index: 3; width: max-content; max-width: 14rem; padding: var(--e-2) var(--e-3); border-radius: var(--radio); background: var(--tinta); color: var(--fondo); font-size: var(--t-meta); line-height: 1.35; box-shadow: var(--sombra); }
.misas__lugares { display: grid; gap: var(--e-3); }
@media (min-width: 40rem) { .misas__lugares:not([hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lugar { display: grid; gap: var(--e-2); align-content: start; padding: var(--e-4); border: 1px solid var(--linea); border-radius: var(--radio); }
.lugar__cabeza { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--e-3); align-items: center; }
.lugar__datos { display: grid; gap: 2px; min-width: 0; }
.lugar__nombre { font: 700 var(--t-cuerpo) var(--fuente-texto); line-height: 1.3; }
.lugar__horas { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.horario { display: inline-flex; align-items: center; gap: var(--e-1); padding: 0 0 0 var(--e-3); border-radius: 999px; background: var(--superficie); }
.horario__hora { font-weight: 700; font-variant-numeric: tabular-nums; }
.horario__detalle { font-size: var(--t-meta); color: var(--tinta-suave); }
.horario.misa--ahora { box-shadow: inset 0 0 0 2px var(--marca); }
.horario .misa__marca > span { left: 0; right: auto; }
.misas__vacio { margin: 0; color: var(--tinta-suave); }
.misas__pie { display: grid; gap: var(--e-3); justify-items: start; padding-top: var(--e-2); }
.misas__pie .encabezado__dato { margin: 0; }
.enlace { padding: 0; border: 0; background: none; font: inherit; color: var(--marca-texto); text-decoration: underline; cursor: pointer; }

/* =====================================================================
   COLABORÁ
   ===================================================================== */
.colabora-pagina { display: grid; gap: var(--e-8); padding-bottom: var(--e-4); }
.colabora-apertura { display: grid; gap: var(--e-5); padding-block: var(--e-7) 0; max-width: 48rem; }
.colabora-apertura h1 { font-size: var(--t-nota); }
.colabora-apertura p { font-size: var(--t-bajada); color: var(--tinta-suave); line-height: 1.5; }
.colabora-apertura .boton { justify-self: start; }
.parte { display: grid; gap: var(--e-5); }
.parte > h2 { font-size: var(--t-seccion); }
.parte > h2::before { content: "/ "; color: var(--dorado-texto); font-weight: 500; }
.parte__texto { max-width: var(--ancho-texto); color: var(--tinta-suave); display: grid; gap: var(--e-3); }
.obras { display: grid; gap: var(--e-4); }
@media (min-width: 48rem) { .obras { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.obra { display: grid; gap: var(--e-2); align-content: start; padding: var(--e-5); border: 1px solid var(--linea); border-radius: var(--radio-grande); }
.obra h3 { font-size: 1.625rem; }
.obra__dato { font-family: var(--fuente-texto); font-weight: 700; font-size: 2rem; line-height: 1.1; color: var(--dorado-texto); font-variant-numeric: tabular-nums; }
.obra p { font-size: var(--t-chico); color: var(--tinta-suave); }

.aporte { display: grid; gap: var(--e-6); padding: var(--e-5); background: var(--dorado-suave); border-top: 4px solid var(--dorado); border-radius: var(--radio-grande); }
@media (min-width: 48rem) { .aporte { padding: var(--e-7); } }
.aporte fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: var(--e-3); min-width: 0; }
.aporte legend { font-weight: 700; font-size: var(--t-cuerpo); padding: 0; margin-bottom: var(--e-3); }
.opciones { display: grid; gap: var(--e-2); grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); }
.opcion { position: relative; }
.opcion input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.opcion label { display: grid; gap: var(--e-1); height: 100%; min-height: 56px; padding: var(--e-3) var(--e-4); background: var(--fondo); border: 2px solid var(--linea); border-radius: var(--radio); cursor: pointer; line-height: 1.3; }
.opcion label strong { font-size: var(--t-chico); }
.opcion label span { font-size: var(--t-meta); color: var(--tinta-suave); }
.opcion input:checked + label { border-color: var(--dorado-texto); box-shadow: inset 0 0 0 1px var(--dorado-texto); }
.opcion input:focus-visible + label { outline: 3px solid var(--foco); outline-offset: 2px; }
.opciones--montos .opcion label strong { font-size: 1.375rem; font-variant-numeric: tabular-nums; }
.monto-libre { display: grid; gap: var(--e-1); max-width: 20rem; }
.monto-libre label { font-size: var(--t-chico); font-weight: 500; }
.monto-libre__campo { display: flex; align-items: center; background: var(--fondo); border: 2px solid var(--linea); border-radius: var(--radio); }
.monto-libre__campo:focus-within { border-color: var(--dorado-texto); outline: 3px solid var(--foco); outline-offset: 2px; }
.monto-libre__campo span { padding-left: var(--e-4); font-weight: 700; }
.monto-libre input { flex: 1; min-width: 0; min-height: 52px; border: 0; background: transparent; padding: 0 var(--e-3); font: 700 1.25rem var(--fuente-texto); color: var(--tinta); }
.monto-libre input:focus { outline: none; } /* sustituido por el anillo de la caja (:focus-within) */
.aporte__enviar { display: grid; gap: var(--e-3); }
.aporte__enviar .boton { min-height: 56px; font-size: var(--t-cuerpo); }
.aporte__resumen { font-size: var(--t-chico); color: var(--tinta-suave); }
.colabora__aviso { padding: var(--e-3) var(--e-4); border-radius: var(--radio); background: var(--aviso-suave); color: var(--tinta); font-size: var(--t-chico); }
.pago__boton { justify-self: start; }

.pagos { display: grid; gap: var(--e-4); }
@media (min-width: 48rem) { .pagos { grid-template-columns: 1fr 1fr; } }
.pago { display: grid; gap: var(--e-3); align-content: start; padding: var(--e-5); background: var(--superficie); border-radius: var(--radio-grande); }
.pago h3 { font-size: 1.625rem; }
.pago p { font-size: var(--t-chico); color: var(--tinta-suave); }
.dato-copiable { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); padding: var(--e-3) var(--e-4); background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--radio); }
.dato-copiable span { display: grid; font-size: var(--t-meta); color: var(--tinta-meta); min-width: 0; }
.dato-copiable b { font-size: var(--t-cuerpo); color: var(--tinta); overflow-wrap: anywhere; }

.transparencia { display: grid; gap: var(--e-3); max-width: var(--ancho-texto); }
.barra-uso { display: grid; gap: var(--e-1); }
.barra-uso__fila { display: flex; justify-content: space-between; gap: var(--e-3); font-size: var(--t-chico); }
.barra-uso__fila b { font-variant-numeric: tabular-nums; }
.barra-uso__pista { height: 10px; background: var(--superficie-2); border-radius: 999px; overflow: hidden; }
.barra-uso__pista span { display: block; height: 100%; background: var(--dorado); border-radius: 999px; }

.preguntas { display: grid; max-width: var(--ancho-texto); }
.preguntas details { border-top: 1px solid var(--linea); }
.preguntas details:last-child { border-bottom: 1px solid var(--linea); }
.preguntas summary { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); min-height: 56px; padding-block: var(--e-3); font-weight: 700; cursor: pointer; list-style: none; }
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary::after { content: "+"; font-size: 1.5rem; font-weight: 500; color: var(--marca-texto); }
.preguntas details[open] summary::after { content: "–"; }
.preguntas details p { padding-bottom: var(--e-4); color: var(--tinta-suave); }

/* ---------- Pie ----------
   Siempre oscuro: marca con claridad dónde termina la página.
   Arriba, una franja de apoyo; después la obra y los canales; después
   los enlaces (de a dos columnas en el celular) y la línea legal. */
.pie { margin-top: var(--e-8); background: var(--pie-fondo); color: var(--pie-suave); font-size: var(--t-chico); line-height: 1.5; }
.pie a { color: var(--pie-tinta); text-decoration: none; }
.pie a.boton--colabora { color: var(--sobre-dorado); } /* el botón dorado conserva los colores de .boton--colabora */
.pie a.boton--colabora:hover { color: var(--fondo); text-decoration: none; }
.pie__correo a { text-decoration: underline; } /* dentro de un texto, el enlace no se distingue solo por el color */
.pie a:hover { color: var(--pie-acento); text-decoration: underline; }
.pie :focus-visible { outline-color: var(--pie-acento); }

.pie__apoyo { background: var(--pie-fondo-2); border-top: 4px solid var(--dorado); }
.pie__apoyo-fila { display: grid; gap: var(--e-4); padding-block: var(--e-5); align-items: center; }
.pie__apoyo-texto { display: grid; gap: var(--e-1); }
.pie__apoyo-texto strong { font-family: var(--fuente-titulo); font-size: 1.625rem; line-height: 1.15; color: var(--pie-tinta); }
.pie__apoyo .boton { justify-self: start; }
@media (min-width: 48rem) { .pie__apoyo-fila { grid-template-columns: 1fr auto; } }

.pie__principal { display: grid; gap: var(--e-6); padding-block: var(--e-7) var(--e-6); border-bottom: 1px solid var(--pie-linea); }
.pie__obra { display: grid; gap: var(--e-4); max-width: 34rem; }
.pie__obra img { width: 148px; height: auto; margin-block: 8px; }
.pie__obra p { color: var(--pie-suave); }
.pie__obra .pie__lema { font-family: var(--fuente-titulo); font-size: 1.375rem; line-height: 1.3; color: var(--pie-tinta); }
.pie__pertenencia { padding-left: var(--e-4); border-left: 3px solid var(--dorado); color: var(--pie-suave); }
.pie__pertenencia strong { display: block; color: var(--pie-tinta); font-size: var(--t-cuerpo); }

.pie__canales { display: grid; gap: var(--e-3); align-content: start; }
.pie__canales-lista { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.pie__canal {
  display: inline-flex; align-items: center; gap: var(--e-2); min-height: var(--toque-minimo); padding: var(--e-2) var(--e-4);
  border: 1px solid var(--pie-linea); border-radius: 999px; font-weight: 500;
}
.pie a.pie__canal:hover { border-color: var(--pie-acento); text-decoration: none; }
.pie__canal--whatsapp { background: var(--pie-fondo-2); }
.pie__correo { font-size: var(--t-meta); }
@media (min-width: 64rem) { .pie__principal { grid-template-columns: 1.3fr 1fr; gap: var(--e-8); } }

.pie__enlaces { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-6) var(--e-5); padding-block: var(--e-6); }
.pie h2 { font-family: var(--fuente-texto); font-size: var(--t-meta); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--pie-acento); margin-bottom: var(--e-3); }
.pie ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-1); }
.pie ul a { display: inline-block; padding-block: var(--e-1); }
.pie .pie__sub { color: var(--pie-suave); padding-left: var(--e-4); }
.pie .pie__sub::before { content: "/ "; color: var(--pie-acento); }
@media (min-width: 48rem) { .pie__enlaces { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pie__legal { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-5); justify-content: space-between; align-items: center; padding-block: var(--e-4) var(--e-5); border-top: 1px solid var(--pie-linea); font-size: var(--t-meta); }
.pie__legal ul { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-1) var(--e-4); }
.pie__arriba { display: inline-flex; align-items: center; gap: var(--e-1); min-height: var(--toque-minimo); }
.pie__arriba .icono { transform: rotate(-90deg); }

/* ---------- Modo oscuro: logo claro ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-claro { display: none; }
  :root:not([data-theme="light"]) .logo-oscuro { display: block; }
}
:root[data-theme="dark"] .logo-claro { display: none; }
:root[data-theme="dark"] .logo-oscuro { display: block; }
:root[data-theme="light"] .logo-claro { display: block; }
:root[data-theme="light"] .logo-oscuro { display: none; }

/* ── Quiénes somos y Contacto ─────────────────────────────────── */
.institucional .parte > h2::before { color: var(--marca); } /* el dorado queda para Colaborá */
.acciones { display: flex; flex-wrap: wrap; gap: var(--e-3); }
.cifras { display: grid; gap: var(--e-4); }
@media (min-width: 48rem) { .cifras { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cifra { display: grid; gap: var(--e-1); align-content: start; padding: var(--e-5); background: var(--superficie); border-top: 3px solid var(--marca); border-radius: var(--radio); font-size: var(--t-chico); color: var(--tinta-suave); }
.cifra b { font-family: var(--fuente-titulo); font-size: 2.5rem; line-height: 1; color: var(--marca-texto); font-variant-numeric: lining-nums tabular-nums; }
.equipo { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-4); }
@media (min-width: 40rem) { .equipo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.persona { display: flex; align-items: center; gap: var(--e-4); padding: var(--e-4) var(--e-5); border: 1px solid var(--linea); border-radius: var(--radio-grande); }
.persona .avatar { width: 56px; height: 56px; font-size: 1.125rem; }
.persona__nombre { display: block; font-family: var(--fuente-titulo); font-size: 1.375rem; line-height: 1.15; color: var(--tinta); }
.persona__cargo { display: block; font-size: var(--t-meta); color: var(--tinta-meta); }
.compromisos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-4); max-width: var(--ancho-texto); }
.compromisos li { padding-left: var(--e-5); border-left: 3px solid var(--marca); color: var(--tinta-suave); }
.compromisos b { color: var(--tinta); }
.vias { display: grid; gap: var(--e-4); }
@media (min-width: 48rem) { .vias { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.via { display: grid; gap: var(--e-2); align-content: start; padding: var(--e-5); border: 1px solid var(--linea); border-radius: var(--radio-grande); }
.via h3 { font-size: 1.625rem; }
.via p { font-size: var(--t-chico); color: var(--tinta-suave); }
.via__enlaces { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-5); font-weight: 700; }
.via--colabora { border-color: var(--dorado); background: var(--superficie); }
.via--colabora .via__enlaces a { color: var(--dorado-texto); }
.datos-contacto { display: grid; gap: var(--e-3); max-width: 36rem; }
.redes { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.red { display: inline-flex; align-items: center; gap: var(--e-2); min-height: var(--toque-minimo); padding: var(--e-2) var(--e-4); border: 1px solid var(--linea); border-radius: 999px; font-weight: 500; color: var(--tinta); text-decoration: none; }
.red:hover { border-color: var(--marca); color: var(--tinta); }

/* ── Cobertura especial: El Papa León XIV en la Argentina (identidad oficial CEA) ── */
.especial-papa,
.especial-papa-encabezado {
  --papa-crema: #F7F2E9;
  --papa-crema-borde: #DFD5C3;
  --papa-celeste: #5CA2E8;
  --papa-celeste-claro: #78C7F2;
  --papa-celeste-suave: #E6F3FC;
  --papa-celeste-texto: #1A62A8;
  --papa-bronce: #A68B5B;
  --papa-bronce-texto: #6E572C;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .especial-papa,
  :root:not([data-theme="light"]) .especial-papa-encabezado {
    --papa-crema: #15232E;
    --papa-crema-borde: #263D4F;
    --papa-celeste: #6FB5F5;
    --papa-celeste-claro: #8AD0FA;
    --papa-celeste-suave: #1C3244;
    --papa-celeste-texto: #8AD0FA;
    --papa-bronce: #D4B886;
    --papa-bronce-texto: #E5CCA0;
  }
}
:root[data-theme="dark"] .especial-papa,
:root[data-theme="dark"] .especial-papa-encabezado {
  --papa-crema: #15232E;
  --papa-crema-borde: #263D4F;
  --papa-celeste: #6FB5F5;
  --papa-celeste-claro: #8AD0FA;
  --papa-celeste-suave: #1C3244;
  --papa-celeste-texto: #8AD0FA;
  --papa-bronce: #D4B886;
  --papa-bronce-texto: #E5CCA0;
}

.especial-papa {
  position: relative; overflow: hidden;
  display: grid; gap: var(--e-3); padding: var(--e-3) var(--e-4);
  background: var(--papa-crema);
  border: 1px solid var(--papa-crema-borde);
  border-top: 4px solid var(--papa-celeste);
  border-radius: var(--radio-grande);
  box-shadow: var(--sombra);
}
.especial-papa::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--papa-celeste), #FFFFFF, var(--papa-celeste), var(--papa-bronce), var(--papa-celeste));
  background-size: 200% 100%;
  animation: franja-argentina 7s linear infinite;
}
@keyframes franja-argentina {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
.especial-papa__cabecera {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--e-2) var(--e-3); padding-bottom: var(--e-2); border-bottom: 1px solid var(--papa-crema-borde);
}
.especial-papa__identidad {
  display: flex; align-items: center; gap: var(--e-3);
  text-decoration: none; color: var(--tinta); min-width: 0;
}
.especial-papa__logo-envoltura {
  position: relative; flex: none; width: 3.5rem; height: 3.5rem;
  display: inline-flex; align-items: center; justify-content: center;
}
.especial-papa__logo-envoltura::before {
  content: ""; position: absolute; inset: -3px; border-radius: 50%;
  border: 2px dashed var(--papa-celeste);
  animation: giro-papa 22s linear infinite;
}
@keyframes giro-papa {
  to { transform: rotate(360deg); }
}
.especial-papa__logo {
  width: 3.25rem; height: 3.25rem; border-radius: 50%;
  background: var(--fondo); padding: 3px;
  box-shadow: 0 2px 8px rgb(20 33 42 / 0.12);
  transition: transform 0.25s ease;
}
.especial-papa__identidad:hover .especial-papa__logo { transform: scale(1.07); }
.especial-papa__textos { display: grid; gap: 2px; min-width: 0; }
.especial-papa__titulo-fila { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-1) var(--e-2); }
.especial-papa__insignia {
  justify-self: start; display: inline-flex; align-items: center; gap: 6px; padding: 2px var(--e-2);
  border-radius: var(--radio-chico); background: var(--papa-celeste-suave); color: var(--papa-celeste-texto);
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
}
.especial-papa__punto-vivo {
  width: 7px; height: 7px; border-radius: 50%; background: var(--papa-celeste);
  animation: pulso-papa 2s infinite;
}
.especial-papa__lema {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.04em;
  text-transform: uppercase; color: var(--papa-bronce-texto);
}
.especial-papa h2 { font-size: 1.3125rem; line-height: 1.15; color: var(--tinta); }
.especial-papa__identidad:hover h2 { color: var(--papa-celeste-texto); }
.especial-papa__enlace {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: var(--t-meta); font-weight: 700; color: var(--papa-celeste-texto);
  text-decoration: none; white-space: nowrap;
}
.especial-papa__enlace .icono { transition: transform 0.2s ease; }
.especial-papa__enlace:hover { text-decoration: underline; color: var(--papa-celeste-texto); }
.especial-papa__enlace:hover .icono { transform: translateX(3px); }

/* Píldoras de recorrido en portada */
.especial-papa__escalas {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-2);
}
@media (min-width: 44rem) {
  .especial-papa__escalas { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.especial-papa__escala {
  display: flex; align-items: center; gap: 6px;
  padding: 5px var(--e-2); border-radius: var(--radio);
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  font-size: 0.75rem; color: var(--tinta-suave); text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  min-width: 0;
}
.especial-papa__escala .icono {
  flex: none; width: 1.1rem; height: 1.1rem; color: var(--papa-celeste-texto);
  transition: transform 0.2s ease;
}
.especial-papa__escala span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.especial-papa__escala b { color: var(--papa-bronce-texto); }
.especial-papa__escala:hover {
  border-color: var(--papa-celeste); transform: translateY(-2px); box-shadow: var(--sombra); color: var(--tinta);
}
.especial-papa__escala:hover .icono { transform: scale(1.15); }

.especial-papa__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e-3); }
@media (min-width: 40rem) { .especial-papa__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.especial-papa__item a {
  display: flex; align-items: center; gap: var(--e-2);
  color: var(--tinta); text-decoration: none; min-width: 0;
}
.especial-papa__item a:hover .especial-papa__nota-titulo {
  color: var(--papa-celeste-texto); text-decoration: underline; text-decoration-thickness: 1px;
}
.especial-papa__miniatura {
  flex: none; width: 3.25rem; height: 3.25rem; border-radius: var(--radio-chico);
  overflow: hidden; background: var(--superficie-2); border: 1px solid var(--papa-crema-borde);
}
.especial-papa__miniatura img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.especial-papa__item a:hover .especial-papa__miniatura img { transform: scale(1.08); }
.especial-papa__nota-titulo {
  font-family: var(--fuente-titulo); font-weight: 700; font-size: 0.9375rem; line-height: 1.22;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Cabecera hero con logo y lema oficial en /papa-en-argentina/ */
.papa-hero {
  position: relative; overflow: hidden;
  display: grid; gap: var(--e-5); padding: var(--e-5);
  background: radial-gradient(circle at 15% 20%, var(--papa-celeste-suave), transparent 55%), var(--papa-crema);
  border: 1px solid var(--papa-crema-borde);
  border-top: 5px solid var(--papa-celeste);
  border-radius: var(--radio-grande);
  box-shadow: var(--sombra);
}
@media (min-width: 52rem) {
  .papa-hero {
    grid-template-columns: minmax(18rem, 23rem) minmax(0, 1fr);
    align-items: center; gap: var(--e-6); padding: var(--e-6);
  }
}
.papa-hero__emblema {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: var(--e-3); padding: var(--e-4);
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  border-radius: var(--radio-grande);
  box-shadow: var(--sombra);
}
.papa-hero__logo-halo {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  padding: 10px; border-radius: 50%;
}
.papa-hero__logo-halo::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  border: 2px dashed var(--papa-celeste);
  animation: giro-papa 28s linear infinite;
}
.papa-hero__logo-halo::after {
  content: ""; position: absolute; inset: 5px; border-radius: 50%;
  border: 1px solid var(--papa-bronce); opacity: 0.45;
}
.papa-hero__logo {
  width: 8.5rem; height: 8.5rem; object-fit: contain;
  animation: flotar-papa 4.5s ease-in-out infinite;
}
@keyframes flotar-papa {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
.papa-hero__marca-lema { display: grid; gap: 2px; }
.papa-hero__lema-grande {
  font-family: var(--fuente-titulo); font-size: 1.625rem; font-weight: 700;
  letter-spacing: 0.04em; line-height: 1.05; color: var(--papa-bronce-texto);
}
.papa-hero__lema-sub {
  font-size: 0.875rem; font-weight: 700; letter-spacing: 0.14em;
  color: var(--papa-bronce-texto); padding-bottom: var(--e-2);
  border-bottom: 1px solid var(--papa-bronce);
}
.papa-hero__lema-fecha {
  padding-top: var(--e-1); font-size: 0.75rem; font-weight: 700;
  color: var(--papa-celeste-texto); letter-spacing: 0.03em;
}
.papa-hero__contenido { display: grid; gap: var(--e-3); align-content: start; }
.papa-hero__oracion {
  margin-top: var(--e-1); padding: var(--e-3) var(--e-4);
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  border-left: 4px solid var(--papa-bronce); border-radius: var(--radio);
  transition: box-shadow 0.2s ease;
}
.papa-hero__oracion:hover { box-shadow: var(--sombra); }
.papa-hero__oracion summary {
  cursor: pointer; font-weight: 700; font-size: var(--t-meta);
  color: var(--papa-bronce-texto); list-style: none;
  display: inline-flex; align-items: center; gap: var(--e-2);
}
.papa-hero__oracion summary::-webkit-details-marker { display: none; }
.papa-hero__oracion-texto {
  margin-top: var(--e-3); padding-top: var(--e-3);
  border-top: 1px solid var(--linea);
  font-size: var(--t-chico); line-height: 1.6; color: var(--tinta-suave);
  display: grid; gap: var(--e-2);
  animation: entrada-agenda 0.25s ease;
}
.papa-hero__oracion-texto strong { color: var(--tinta); }

/* ── Agenda interactiva del viaje papal (/papa-en-argentina/) ── */
.papa-agenda {
  display: grid; gap: var(--e-4); margin-top: var(--e-4);
}
.papa-agenda__barra {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e-3);
}
.papa-agenda__titulo-bloque { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-4); }
.papa-agenda__titulo {
  display: inline-flex; align-items: center; gap: var(--e-2);
  font-family: var(--fuente-texto); font-size: var(--t-meta); font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta);
}
.papa-agenda__titulo .icono { color: var(--papa-celeste-texto); }
.papa-agenda__estado {
  display: inline-flex; align-items: center; gap: var(--e-2);
  padding: 4px var(--e-3); border-radius: 999px;
  background: var(--papa-celeste-suave); color: var(--papa-celeste-texto);
  font-size: var(--t-meta); font-weight: 700;
}
.papa-agenda__pulso {
  width: 8px; height: 8px; border-radius: 50%; background: var(--papa-celeste);
  box-shadow: 0 0 0 0 var(--papa-celeste); animation: pulso-papa 2s infinite;
}
@keyframes pulso-papa {
  0% { box-shadow: 0 0 0 0 rgb(92 162 232 / 0.6); }
  70% { box-shadow: 0 0 0 7px rgb(92 162 232 / 0); }
  100% { box-shadow: 0 0 0 0 rgb(92 162 232 / 0); }
}
.papa-agenda__ver-todo {
  min-height: 36px; padding: var(--e-1) var(--e-3);
  border: 1px solid var(--papa-crema-borde); border-radius: 999px;
  background: var(--fondo); color: var(--tinta-suave);
  font: inherit; font-size: var(--t-meta); font-weight: 700; cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}
.papa-agenda__ver-todo:hover,
.papa-agenda__ver-todo[aria-pressed="true"] {
  border-color: var(--papa-celeste); background: var(--papa-celeste-suave); color: var(--papa-celeste-texto);
}

/* Selector horizontal de los 4 días con íconos característicos */
.papa-agenda__ruta {
  display: grid; gap: var(--e-2);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 48rem) {
  .papa-agenda__ruta { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--e-3); }
}
.papa-agenda__tab {
  position: relative; display: flex; align-items: center; gap: var(--e-3); text-align: left;
  padding: var(--e-3) var(--e-4); border: 1px solid var(--papa-crema-borde);
  border-top: 3px solid var(--papa-bronce); border-radius: var(--radio-grande);
  background: var(--papa-crema); color: var(--tinta); font: inherit; cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.papa-agenda__tab-icono {
  flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  color: var(--papa-celeste-texto);
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}
.papa-agenda__tab-icono .icono { width: 1.4rem; height: 1.4rem; }
.papa-agenda__tab-info { display: grid; gap: 2px; min-width: 0; }
.papa-agenda__tab:hover {
  border-color: var(--papa-celeste); transform: translateY(-3px); box-shadow: var(--sombra);
}
.papa-agenda__tab:hover .papa-agenda__tab-icono {
  transform: scale(1.08) rotate(-4deg); border-color: var(--papa-celeste);
}
.papa-agenda__tab.es-activo {
  background: var(--fondo); border-color: var(--papa-celeste);
  border-top-width: 4px; border-top-color: var(--papa-celeste);
  box-shadow: var(--sombra);
}
.papa-agenda__tab.es-activo .papa-agenda__tab-icono {
  background: var(--papa-celeste); border-color: var(--papa-celeste); color: #FFFFFF;
  transform: scale(1.08);
}
.papa-agenda__tab-paso {
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--papa-celeste-texto);
}
.papa-agenda__tab-ciudad {
  font-family: var(--fuente-titulo); font-size: 1.35rem; line-height: 1.15; color: var(--tinta);
}
.papa-agenda__tab-hito { font-size: var(--t-meta); color: var(--papa-bronce-texto); }

/* Paneles de cada jornada */
.papa-agenda__paneles { display: grid; gap: var(--e-4); }
.papa-agenda--completa .papa-agenda__paneles {
  grid-template-columns: 1fr;
}
@media (min-width: 56rem) {
  .papa-agenda--completa .papa-agenda__paneles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.papa-agenda__dia {
  display: grid; gap: var(--e-4); align-content: start;
  padding: var(--e-4) var(--e-5); background: var(--papa-crema);
  border: 1px solid var(--papa-crema-borde); border-left: 4px solid var(--papa-celeste);
  border-radius: var(--radio-grande);
}
.papa-agenda__dia.es-visible {
  animation: entrada-agenda 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.papa-agenda__dia.es-visible .papa-evento {
  animation: cascada-evento 0.36s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.papa-agenda__dia.es-visible .papa-evento:nth-child(1) { animation-delay: 0.04s; }
.papa-agenda__dia.es-visible .papa-evento:nth-child(2) { animation-delay: 0.11s; }
.papa-agenda__dia.es-visible .papa-evento:nth-child(3) { animation-delay: 0.18s; }
@keyframes entrada-agenda {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cascada-evento {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}
.papa-agenda__dia-cabecera {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--e-2) var(--e-4); padding-bottom: var(--e-3); border-bottom: 1px solid var(--papa-crema-borde);
}
.papa-agenda__dia-titulo {
  display: flex; align-items: center; gap: var(--e-3);
}
.papa-agenda__dia-emblema {
  flex: none; width: 3.25rem; height: 3.25rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--fondo); border: 2px solid var(--papa-celeste);
  color: var(--papa-celeste-texto); box-shadow: var(--sombra);
}
.papa-agenda__dia-emblema .icono { width: 1.65rem; height: 1.65rem; }
.papa-agenda__fecha {
  display: block; font-size: var(--t-meta); font-weight: 700;
  color: var(--papa-bronce-texto); text-transform: uppercase; letter-spacing: 0.05em;
}
.papa-agenda__lugar { font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem); color: var(--tinta); margin-top: 2px; }
.papa-agenda__sede {
  display: inline-flex; align-items: center; gap: var(--e-1);
  padding: 4px var(--e-3); border-radius: 999px;
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  font-size: var(--t-meta); font-weight: 500; color: var(--tinta-suave);
}
.papa-agenda__sede .icono { color: var(--papa-celeste-texto); }

/* Línea de tiempo (cronograma hora por hora con medallones e íconos) */
.papa-cronograma {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--e-3); position: relative;
}
.papa-evento {
  display: grid; gap: var(--e-2);
  padding: var(--e-3) var(--e-4); border-radius: var(--radio-grande);
  background: var(--fondo); border: 1px solid var(--papa-crema-borde);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.papa-evento:hover {
  border-color: var(--papa-celeste); transform: translateX(3px); box-shadow: var(--sombra);
}
@media (min-width: 40rem) {
  .papa-evento { grid-template-columns: 8.5rem minmax(0, 1fr); align-items: start; gap: var(--e-4); }
}
.papa-evento__hora {
  display: inline-flex; align-items: center; gap: var(--e-2);
  font-weight: 700; font-size: var(--t-meta); color: var(--papa-celeste-texto);
  font-variant-numeric: tabular-nums;
}
.papa-evento__nodo {
  flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--papa-celeste-suave); color: var(--papa-celeste-texto);
  border: 1px solid var(--papa-celeste);
  transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}
.papa-evento__nodo .icono { width: 1.15rem; height: 1.15rem; }
.papa-evento__nodo--destacado {
  background: var(--dorado-suave); color: var(--papa-bronce-texto); border-color: var(--papa-bronce);
}
.papa-evento:hover .papa-evento__nodo {
  transform: scale(1.12); background: var(--papa-celeste); color: #FFFFFF;
}
.papa-evento__cuerpo { display: grid; gap: var(--e-2); min-width: 0; }
.papa-evento__tope {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--e-2);
}
.papa-evento__tipo {
  display: inline-block; padding: 2px var(--e-2); border-radius: var(--radio-chico);
  background: var(--papa-celeste-suave); color: var(--papa-celeste-texto);
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
}
.papa-evento__tipo--destacado {
  background: var(--dorado-suave); color: var(--papa-bronce-texto);
}
.papa-evento__mapa {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: var(--t-meta); color: var(--papa-celeste-texto); text-decoration: none; font-weight: 500;
}
.papa-evento__mapa:hover { text-decoration: underline; }
.papa-evento__titulo {
  font-family: var(--fuente-titulo); font-size: 1.3125rem; line-height: 1.2; color: var(--tinta);
}
.papa-evento__resumen { font-size: var(--t-chico); color: var(--tinta-suave); line-height: 1.5; }
.papa-evento__mas {
  margin-top: var(--e-1); padding-top: var(--e-2); border-top: 1px dashed var(--papa-crema-borde);
  font-size: var(--t-meta); color: var(--tinta-suave);
}
.papa-evento__mas summary {
  cursor: pointer; font-weight: 700; color: var(--papa-celeste-texto); list-style: none;
  display: inline-flex; align-items: center; gap: var(--e-1);
}
.papa-evento__mas summary::-webkit-details-marker { display: none; }
.papa-evento__mas summary::before {
  content: "+"; display: inline-flex; align-items: center; justify-content: center;
  width: 1.15rem; height: 1.15rem; border-radius: 50%;
  background: var(--papa-celeste-suave); color: var(--papa-celeste-texto); font-weight: 700; line-height: 1;
  transition: transform 0.2s ease;
}
.papa-evento__mas[open] summary::before { content: "−"; transform: rotate(180deg); }
.papa-evento__mas p { margin-top: var(--e-2); line-height: 1.55; color: var(--tinta-suave); animation: entrada-agenda 0.22s ease; }
