/* Composiciones de interior. ACF guarda una sola elección en diseno_memorial.
 * La tipografía de las tarjetas y sus títulos pertenece a su propio catálogo;
 * una regla de letra sobre todo el interior la sobreescribía accidentalmente. */

/* El interior, la cabecera y el menú siguen la caja aprobada de la portada.
 * Cada diseño declara una sola medida de caja; no repetimos anchos en la
 * composición de interior. */
body.single-memorial.memorial-design-07.communio-vista-interior-activa {
  --communio-interior-shell: var(--d07-shell-width);
}
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-08, .memorial-design-09, .memorial-design-10, .memorial-design-11) {
  --communio-interior-shell: var(--communio-editorial-shell);
}
/* Solo la vista activa más interior recibe la caja. En Elementor, Media y
 * Huellas pueden vivir dentro de Main: aplicar ancho y relleno a ambas
 * desplaza el contenido hacia la derecha en cada nivel anidado. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08, .memorial-design-09, .memorial-design-10, .memorial-design-11):not(.elementor-editor-active):not(.elementor-editor-preview)
  :is(.memorial-main-view.main-activa:not(.memorial-main-inicio):not(:has(.memorial-media-view.media-activa, .memorial-huellas-view.huellas-activa)),
      .memorial-media-view.media-activa:not(:has(.memorial-huellas-view.huellas-activa)),
      .memorial-huellas-view.huellas-activa) {
  --communio-interior-inline-space: clamp(18px, 3vw, 32px);
  box-sizing: border-box !important;
  width: min(100%, var(--communio-interior-shell)) !important;
  max-width: var(--communio-interior-shell) !important;
  margin-inline: auto !important;
  padding-inline: var(--communio-interior-inline-space) !important;
}
/* Las URL relativas se consumen en la hoja interior de cada diseño. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):not(.elementor-editor-active):not(.elementor-editor-preview)::before {
  content: "" !important;
  position: fixed !important;
  z-index: 0 !important;
  top: 0 !important;
  left: 50% !important;
  display: block !important;
  width: var(--communio-interior-shell) !important;
  height: 100vh !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  background-color: var(--mem-landscape-interior-paper, var(--mem-bg)) !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
@supports (height: 100lvh) {
  body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):not(.elementor-editor-active):not(.elementor-editor-preview)::before {
    height: 100lvh !important;
  }
}
/* Los contenedores heredados del memorial tenían un fondo opaco que ocultaba
 * el paisaje. Solo sus hojas estructurales se vuelven transparentes: tarjetas,
 * cabecera, botones y formularios conservan sus superficies y contraste. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):not(.elementor-editor-active):not(.elementor-editor-preview)
  :is(.elementor, .memorial-main-view, .memorial-main-recuerdos,
      .memorial-media-view, .memorial-huellas-view,
      .memorial-main-memoria, .memorial-media-menu, .memorial-media-video,
      .memorial-media-galeria, .memorial-media-homenajes,
      .memorial-media-guiados, .memorial-media-recibidos,
      .memorial-media-condolencias, .memorial-media-oracion,
      .memorial-media-ceremonia, .memorial-huellas-menu,
      .memorial-huellas-contenido, .memorial-huellas-oracion,
      .memorial-huellas-ceremonia) {
  background: transparent !important;
}
/* Elementor puede pintar una hoja blanca adicional dentro de cada vista. La
 * superficie de lectura pertenece a las tarjetas, no al lienzo estructural. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):not(.elementor-editor-active):not(.elementor-editor-preview)
  :is(.memorial-main-memoria, .memorial-main-recuerdos, .memorial-media-view,
      .memorial-huellas-view) > :is(.e-con-inner, .elementor-widget-wrap) {
  background: transparent !important;
  background-image: none !important;
}
/* La hoja de Elementor puede estar un nivel más abajo que el contenedor de
 * vista. Se despeja solo la estructura; los bloques de lectura no se borran. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):not(.elementor-editor-active):not(.elementor-editor-preview)
  :is(.memorial-main-memoria, .memorial-main-recuerdos, .memorial-media-view,
      .memorial-huellas-view) :is(.e-con, .elementor-section, .elementor-column):not(
        .memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card,
        .memorial-recuerdo-card, .memorial-media-card, .memorial-huellas-card) {
  background: transparent !important;
  background-image: none !important;
}
/* Cuaderno y carta conservan su hoja, ahora translúcida por la paleta del
 * diseño en vez de tapar el paisaje con un blanco opaco. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-07, .memorial-design-08):is(.communio-body-style--cuaderno, .communio-body-style--carta):not(.elementor-editor-active)
  .memorial-main-memoria > .e-con-inner {
  background: var(--mem-card, transparent) !important;
}
/* Base neutra para 08–11. El 07 usa su separador de orientación y los
 * diseños anteriores conservan los ornamentos que ya tienen. */
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-08, .memorial-design-09, .memorial-design-10, .memorial-design-11):not(.elementor-editor-active)
  :is(.communio-titulo-principal, .communio-titulo-secundario,
      .memorial-subpantalla-titulo, .memorial-huellas-contenido-titulo,
      .memorial-titulo-seccion) :is(.elementor-heading-title,
      .communio-editable-acf-content, .memorial-editable-acf-content)::after,
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-08, .memorial-design-09, .memorial-design-10, .memorial-design-11):not(.elementor-editor-active)
  .communio-restored-memory-title__text::after {
  content: "" !important;
  display: block !important;
  width: min(70%, 245px) !important;
  height: 1px !important;
  margin: 12px auto 0 !important;
  border: 0 !important;
  background: var(--mem-border-strong, currentColor) !important;
}
body.single-memorial.communio-vista-interior-activa:is(.memorial-design-08, .memorial-design-09, .memorial-design-10, .memorial-design-11):not(.elementor-editor-active)
  .communio-cabecera-secundaria .communio-cabecera-separador::after {
  content: "" !important;
  display: block !important;
  width: min(78vw, 340px) !important;
  height: 1px !important;
  border: 0 !important;
  background: var(--mem-border-strong, currentColor) !important;
}
body.single-memorial[class*="communio-body-style--"] :is(.memorial-main-memoria, .memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  --cb-line: color-mix(in srgb, currentColor 23%, transparent);
  --cb-wash: color-mix(in srgb, currentColor 5%, transparent);
  --cb-sheet: var(--mem-card, transparent);
  box-sizing: border-box;
}
body.single-memorial[class*="communio-body-style--"] :is(.memorial-main-memoria, .memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  box-sizing: border-box;
  min-width: 0;
}
body.single-memorial[class*="communio-body-style--"] :is(.memorial-main-memoria, .memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) :is(.communio-titulo-principal, .communio-titulo-secundario, .memorial-huellas-contenido-titulo, .memorial-titulo-seccion) .communio-editable-acf-content {
  max-width: 100%;
  line-height: 1.22 !important;
  overflow-wrap: anywhere;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria .communio-titulo-principal .communio-text-size-md .communio-editable-acf-content,
body.single-memorial[class*="communio-body-style--"] :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .elementor-widget:first-child .communio-text-size-md .communio-editable-acf-content {
  font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important;
}
body.single-memorial[class*="communio-body-style--"] :is(.memorial-main-memoria, .memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) :is(.communio-titulo-secundario, .memorial-huellas-contenido-titulo).communio-text-size-md .communio-editable-acf-content {
  font-size: clamp(1.18rem, 1.7vw, 1.48rem) !important;
}

/* 01 — lectura contenida. */
body.communio-body-style--lectura .memorial-main-memoria > .e-con-inner,
body.communio-body-style--lectura :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100%, 760px) !important;
  margin-inline: auto !important;
}
body.communio-body-style--lectura :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  padding-block: 22px !important;
  border-bottom: 1px solid var(--cb-line) !important;
}

/* 02 — título en un margen lateral; en móvil pasa a un filete de entrada. */
@media (min-width: 769px) {
  body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) > .e-con-inner,
  body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card):not(:has(> .e-con-inner)) {
    display: grid !important;
    grid-template-columns: minmax(125px, 23%) minmax(0, 1fr) !important;
    column-gap: clamp(20px, 4vw, 54px) !important;
    align-items: start !important;
  }
  body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) :is(.communio-titulo-principal, .memorial-huellas-contenido-titulo) {
    grid-column: 1 !important;
  }
  body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) :is(.communio-texto, .elementor-widget-shortcode:not(:has(.memorial-huellas-contenido-titulo))) {
    grid-column: 2 !important;
  }
}
body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  border-left: 2px solid var(--cb-line) !important;
  padding-left: clamp(16px, 2vw, 28px) !important;
}

/* 03 — pliego de dos columnas, pero nunca divide una tarjeta entre columnas. */
body.communio-body-style--cuaderno .memorial-main-memoria > .e-con-inner,
body.communio-body-style--cuaderno :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  background: var(--cb-sheet) !important;
  border: 1px solid var(--cb-line) !important;
  padding: clamp(20px, 3vw, 40px) !important;
}
@media (min-width: 769px) {
  body.communio-body-style--cuaderno .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--cuaderno :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 25px 36px !important;
  }
  body.communio-body-style--cuaderno .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--cuaderno :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :first-child {
    grid-column: 1 / -1 !important;
  }
}
body.communio-body-style--cuaderno :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  border-bottom: 1px solid var(--cb-line) !important;
  padding-bottom: 20px !important;
}

/* 04 — encabezamiento en banda y lectura libre por debajo. */
body.communio-body-style--banda .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--banda :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  width: 100% !important;
  background: var(--cb-wash) !important;
  border-top: 3px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
  padding: clamp(22px, 3vw, 38px) !important;
}
body.communio-body-style--banda :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card):not(:first-child) {
  padding-inline: clamp(12px, 3vw, 42px) !important;
}

/* 05 — hoja de carta, con apertura y cierre diferenciados. */
body.communio-body-style--carta .memorial-main-memoria > .e-con-inner,
body.communio-body-style--carta :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100% - 24px, 760px) !important;
  margin: 18px auto !important;
  padding: clamp(24px, 5vw, 65px) !important;
  background: var(--cb-sheet) !important;
  border: 1px solid var(--cb-line) !important;
  box-shadow: 4px 6px 0 var(--cb-wash);
}
body.communio-body-style--carta :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  margin-block: 20px !important;
}
body.communio-body-style--carta :is(.memorial-memoria-frase-final, .memorial-oracion-bloque-silencio, .memorial-ceremonia-frase-final) {
  border-top: 1px solid var(--cb-line) !important;
  padding-top: 24px !important;
}

/* 06 — línea continua y puntos para cada fragmento. */
body.communio-body-style--hilo .memorial-main-memoria > .e-con-inner,
body.communio-body-style--hilo :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  border-left: 2px solid var(--cb-line) !important;
  padding-left: clamp(22px, 3vw, 42px) !important;
}
body.communio-body-style--hilo :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  position: relative;
  padding-block: 17px !important;
}
body.communio-body-style--hilo :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card)::before {
  content: "";
  position: absolute;
  top: 27px;
  left: calc(-1 * clamp(27px, 3vw, 47px));
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: var(--mem-bg, transparent);
}

/* 07 — primer bloque dominante, piezas secundarias en pareja. */
@media (min-width: 769px) {
  body.communio-body-style--modular .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--modular :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body.communio-body-style--modular .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--modular :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :first-child,
  body.communio-body-style--modular :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :last-child {
    grid-column: 1 / -1 !important;
  }
}
body.communio-body-style--modular :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  padding: clamp(20px, 2.5vw, 35px) !important;
  background: var(--cb-sheet) !important;
  border: 1px solid var(--cb-line) !important;
}
body.communio-body-style--modular :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card):first-of-type {
  border-top-width: 3px !important;
}

/* 08 — díptico: un plano principal y otro de cierre. */
@media (min-width: 769px) {
  body.communio-body-style--diptico .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--diptico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  body.communio-body-style--diptico .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--diptico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :first-child {
    grid-column: 1 / -1 !important;
  }
  body.communio-body-style--diptico .memorial-main-memoria > .e-con-inner > :last-child,
  body.communio-body-style--diptico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :last-child {
    grid-column: 2 !important;
  }
}
body.communio-body-style--diptico :is(.memorial-memoria-frase-final, .memorial-oracion-bloque-silencio, .memorial-ceremonia-frase-final) {
  padding: clamp(20px, 3vw, 35px) !important;
  border-left: 3px solid var(--cb-line) !important;
  background: var(--cb-wash) !important;
}

/* 09 — esquinas abiertas y encabezado alineado al extremo opuesto. */
body.communio-body-style--marco .memorial-main-memoria > .e-con-inner,
body.communio-body-style--marco :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100% - 24px, 860px) !important;
  margin: 18px auto !important;
  padding: clamp(22px, 4vw, 50px) !important;
  background:
    linear-gradient(var(--cb-line), var(--cb-line)) left top / 52px 1px no-repeat,
    linear-gradient(var(--cb-line), var(--cb-line)) left top / 1px 52px no-repeat,
    linear-gradient(var(--cb-line), var(--cb-line)) right bottom / 52px 1px no-repeat,
    linear-gradient(var(--cb-line), var(--cb-line)) right bottom / 1px 52px no-repeat !important;
}
body.communio-body-style--marco .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--marco :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  text-align: right !important;
  border-bottom: 1px solid var(--cb-line) !important;
  padding-bottom: 20px !important;
}
body.communio-body-style--marco :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card):not(:first-child) {
  border-left: 2px solid var(--cb-line) !important;
  padding-left: 22px !important;
}

@media (max-width: 768px) {
  body.single-memorial[class*="communio-body-style--"] :is(.memorial-main-memoria, .memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
    max-width: 100% !important;
  }
  body.communio-body-style--margen :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
    padding-left: 16px !important;
  }
  body.communio-body-style--cuaderno .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--cuaderno :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  body.communio-body-style--banda .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--banda :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    padding: 20px !important;
  }
  body.communio-body-style--modular .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--modular :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner,
  body.communio-body-style--diptico .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--diptico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
  }
  body.communio-body-style--diptico :is(.memorial-memoria-frase-final, .memorial-oracion-bloque-silencio, .memorial-ceremonia-frase-final) {
    order: -1;
  }
  body.communio-body-style--diptico .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--diptico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    order: -2;
  }
  body.communio-body-style--marco .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--marco :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    text-align: right !important;
  }
}

/* Nuevas composiciones de Memoria, Oración y Fechas. Los patrones se aplican
 * a las piezas reales del interior y conservan su estructura en pantalla estrecha. */
body.communio-body-style--atrio .memorial-main-memoria > .e-con-inner,
body.communio-body-style--atrio :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100% - 16px, 900px) !important;
  margin-inline: auto !important;
  padding-left: clamp(18px, 4vw, 48px) !important;
  border-left: 1px solid var(--cb-line) !important;
}
body.communio-body-style--atrio .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--atrio :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  padding: clamp(25px, 5vw, 56px) clamp(18px, 4vw, 42px) !important;
  background: var(--cb-wash) !important;
  border-top: 1px solid var(--cb-line) !important;
}
/* El ritmo del Atrio procede del filete y la apertura; las subsecciones
 * comparten eje, incluida «Su legado». */

body.communio-body-style--archivo .memorial-main-memoria > .e-con-inner,
body.communio-body-style--archivo :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100%, 960px) !important;
  margin-inline: auto !important;
  counter-reset: communio-archivo;
}
body.single-memorial.communio-body-style--archivo .memorial-main-memoria .memorial-memoria-card,
body.single-memorial.communio-body-style--archivo :is(.memorial-oracion-bloque, .memorial-ceremonia-card) {
  counter-increment: communio-archivo;
  position: relative;
  padding: clamp(20px, 3vw, 35px) clamp(18px, 3vw, 32px) !important;
  margin-block: 12px !important;
  background: var(--cb-wash) !important;
  border-top: 1px solid var(--cb-line) !important;
}
body.communio-body-style--archivo :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card)::before {
  content: counter(communio-archivo, decimal-leading-zero);
  display: block;
  margin-bottom: 12px;
  font: 400 clamp(1.15rem, 2vw, 1.6rem)/1 Georgia, serif;
  opacity: .65;
}
@media (min-width: 769px) {
  body.communio-body-style--archivo .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--archivo :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
  }
  body.communio-body-style--archivo .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--archivo :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > .e-con-inner > :first-child {
    grid-column: 1 / -1 !important;
  }
}

body.communio-body-style--pausa .memorial-main-memoria > .e-con-inner,
body.communio-body-style--pausa :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100%, 880px) !important;
  margin-inline: auto !important;
}
body.communio-body-style--pausa .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--pausa :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  width: 100% !important;
  padding: clamp(34px, 6vw, 70px) clamp(20px, 5vw, 58px) !important;
  margin-bottom: clamp(24px, 4vw, 48px) !important;
  text-align: center !important;
  background: var(--cb-wash) !important;
  border-block: 1px solid var(--cb-line) !important;
}
body.communio-body-style--pausa :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card):not(:first-child) {
  width: min(100%, 660px) !important;
  margin: 22px auto !important;
  padding-block: 20px !important;
  border-bottom: 1px solid var(--cb-line) !important;
}

@media (max-width: 768px) {
  body.communio-body-style--atrio .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--atrio :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
    padding-left: 16px !important;
  }
  body.communio-body-style--atrio .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--atrio :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    padding: 30px 18px !important;
  }
  body.single-memorial.communio-body-style--archivo .memorial-main-memoria .memorial-memoria-card,
  body.single-memorial.communio-body-style--archivo :is(.memorial-oracion-bloque, .memorial-ceremonia-card) {
    padding: 20px 18px !important;
    border-top-width: 2px !important;
  }
  body.communio-body-style--pausa .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--pausa :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    padding: 36px 20px !important;
  }
}

/* Crónica: una apertura de libro; la capitular real está en la capa tipográfica. */
body.communio-body-style--cronica .memorial-main-memoria > .e-con-inner,
body.communio-body-style--cronica :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100%, 820px) !important;
  margin-inline: auto !important;
}
body.communio-body-style--cronica .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--cronica :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  padding: clamp(20px, 3vw, 40px) 0 !important;
  border-block: 1px solid var(--cb-line) !important;
}
body.communio-body-style--cronica :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  width: min(100%, 700px) !important;
  margin-inline: auto !important;
  padding-block: clamp(18px, 2.5vw, 28px) !important;
  border-bottom: 1px solid var(--cb-line) !important;
}

/* Manuscrito: hoja con margen visible y un arranque más íntimo. */
body.communio-body-style--manuscrito .memorial-main-memoria > .e-con-inner,
body.communio-body-style--manuscrito :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100% - 12px, 850px) !important;
  margin-inline: auto !important;
  padding: clamp(22px, 4vw, 54px) clamp(20px, 5vw, 62px) !important;
  border-left: 1px solid var(--cb-line) !important;
  background: var(--cb-wash) !important;
}
body.communio-body-style--manuscrito :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  margin-block: clamp(20px, 3vw, 34px) !important;
  padding-bottom: 16px !important;
  border-bottom: 1px dotted var(--cb-line) !important;
}

/* Titular protagonista: contraste de escala, no una caja añadida. */
body.communio-body-style--tipografico .memorial-main-memoria > .e-con-inner,
body.communio-body-style--tipografico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
  width: min(100%, 960px) !important;
  margin-inline: auto !important;
}
body.communio-body-style--tipografico .memorial-main-memoria > .e-con-inner > :first-child,
body.communio-body-style--tipografico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
  padding: clamp(22px, 4vw, 46px) 0 !important;
  border-top: 4px solid var(--cb-line) !important;
  border-bottom: 1px solid var(--cb-line) !important;
}
body.communio-body-style--tipografico :is(.memorial-memoria-card, .memorial-oracion-bloque, .memorial-ceremonia-card) {
  width: min(100%, 720px) !important;
  margin: clamp(16px, 2.5vw, 28px) auto !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--cb-line) !important;
}

@media (max-width: 768px) {
  body.communio-body-style--cronica .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--cronica :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    padding: 20px 0 !important;
  }
  body.communio-body-style--manuscrito .memorial-main-memoria > .e-con-inner,
  body.communio-body-style--manuscrito :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) {
    width: min(100%, 100% - 8px) !important;
    padding: 22px 16px !important;
  }
  body.communio-body-style--tipografico .memorial-main-memoria > .e-con-inner > :first-child,
  body.communio-body-style--tipografico :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia, .memorial-media-oracion, .memorial-media-ceremonia) > :first-child {
    padding: 24px 0 !important;
  }
}

/* Voces: la presentación y el Loop son dos piezas distintas. La primera
 * ocupa todo el ancho, incluso si Memoria usa un pliego de dos columnas. */
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .memorial-memoria-frase-final:has(.communio-voices-intro) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro {
  box-sizing: border-box;
  width: min(100%, 700px);
  margin: 0 auto clamp(20px, 3vw, 34px) !important;
  padding: clamp(24px, 4vw, 42px) clamp(22px, 4vw, 44px) !important;
  border-block: 1px solid var(--cb-line);
  background: var(--cb-wash);
  text-align: center !important;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro .communio-restored-memory-title,
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro .communio-restored-memory-title__text {
  width: 100%;
  margin-inline: auto !important;
  text-align: center !important;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro .communio-restored-memory-title__text {
  font-family: var(--ct-body-title-font, var(--mem-serif, Georgia, serif)) !important;
  line-height: 1.18 !important;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro .elementor-widget-text-editor {
  max-width: 580px;
  margin-inline: auto !important;
}
body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
  .communio-voices-intro .elementor-widget-text-editor
  :is(.elementor-widget-container, .communio-editable-acf-content,
      .memorial-editable-acf-content, p) {
  text-align: center !important;
  text-align-last: center !important;
}
body.single-memorial.communio-body-style--tipografico .memorial-main-memoria
  .communio-voices-intro .communio-restored-memory-title__text {
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  text-transform: uppercase !important;
}
body.single-memorial.communio-body-style--manuscrito .memorial-main-memoria
  .communio-voices-intro .communio-restored-memory-title__text {
  font-family: "Snell Roundhand", "Apple Chancery", Georgia, serif !important;
  font-style: normal !important;
}
@media (min-width: 769px) {
  body.single-memorial:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    .memorial-main-memoria > .e-con-inner > :is(.memorial-memoria-frase-final, .elementor-widget-loop-grid) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
  }
  body.single-memorial:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    .memorial-main-memoria .memorial-memoria-frase-final .elementor-widget-loop-grid
    :is(.elementor-loop-container, .elementor-grid),
  body.single-memorial:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    .memorial-main-memoria > .e-con-inner > .elementor-widget-loop-grid
    :is(.elementor-loop-container, .elementor-grid) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2.5vw, 28px) !important;
  }
}
@media (max-width: 768px) {
  body.single-memorial.communio-body-style--margen .memorial-main-memoria
    :is(.memorial-memoria-card, .memorial-memoria-frase-final) {
    padding-inline: 24px !important;
  }
  body.single-memorial[class*="communio-body-style--"] .memorial-main-memoria
    .communio-voices-intro {
    width: 100%;
    padding: 24px 22px !important;
  }
}

/* Oración y Fechas tienen vistas con y sin .e-con-inner. Si no existe ese
 * envoltorio, la cuadrícula se aplica únicamente a la vista activa; las vistas
 * ocultas mantienen su display:none y no aparecen debajo de Memoria. */
body.communio-body-style--cuaderno { --cb-view-columns: repeat(2, minmax(0, 1fr)); --cb-view-gap: 25px 36px; }
body.communio-body-style--archivo { --cb-view-columns: repeat(2, minmax(0, 1fr)); --cb-view-gap: 16px 24px; }
body.communio-body-style--modular { --cb-view-columns: repeat(2, minmax(0, 1fr)); --cb-view-gap: 20px; }
body.communio-body-style--diptico { --cb-view-columns: minmax(0, 1.4fr) minmax(0, 1fr); --cb-view-gap: 24px; }
@media (min-width: 769px) {
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-media-view.media-activa.memorial-media-oracion,
        .memorial-media-view.media-activa.memorial-media-ceremonia,
        .memorial-huellas-view.huellas-activa.memorial-huellas-oracion,
        .memorial-huellas-view.huellas-activa.memorial-huellas-ceremonia,
        .memorial-media-view.media-activa :is(.memorial-media-oracion, .memorial-media-ceremonia),
        .memorial-huellas-view.huellas-activa :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia)
    ):not(:has(> .e-con-inner)) {
    display: grid !important;
    grid-template-columns: var(--cb-view-columns) !important;
    gap: var(--cb-view-gap) !important;
  }
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-media-view.media-activa.memorial-media-oracion,
        .memorial-media-view.media-activa.memorial-media-ceremonia,
        .memorial-huellas-view.huellas-activa.memorial-huellas-oracion,
        .memorial-huellas-view.huellas-activa.memorial-huellas-ceremonia,
        .memorial-media-view.media-activa :is(.memorial-media-oracion, .memorial-media-ceremonia),
        .memorial-huellas-view.huellas-activa :is(.memorial-huellas-oracion, .memorial-huellas-ceremonia)
    ):not(:has(> .e-con-inner)) > :first-child {
    grid-column: 1 / -1 !important;
  }
}

/* La estructura de Elementor no es idéntica en todos los diseños. La
 * composición elegida se coloca en el padre inmediato de los bloques de
 * Memoria, aunque exista una capa .e-con adicional entre vista y tarjetas. */
@media (min-width: 769px) {
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    .memorial-main-memoria > .e-con-inner:not(:has(> :is(
      .memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria))) {
    display: flex !important;
    flex-direction: column !important;
  }
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-main-memoria.main-activa,
        .memorial-main-view.main-activa .memorial-main-memoria)
    :is(.e-con-inner, .e-con, .elementor-container, .elementor-widget-wrap)
    :has(> :is(.memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria)) {
    display: grid !important;
    grid-template-columns: var(--cb-view-columns) !important;
    gap: var(--cb-view-gap) !important;
    align-items: start !important;
  }
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-main-memoria.main-activa,
        .memorial-main-view.main-activa .memorial-main-memoria)
    :is(.e-con-inner, .e-con, .elementor-container, .elementor-widget-wrap)
    :has(> :is(.memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria)) > :is(.communio-voices-intro,
      .memorial-memoria-frase-final, .elementor-widget-loop-grid) {
    grid-column: 1 / -1 !important;
  }
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-main-memoria.main-activa,
        .memorial-main-view.main-activa .memorial-main-memoria)
    :is(.e-con-inner, .e-con, .elementor-container, .elementor-widget-wrap)
    :has(> :is(.memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria)) > :first-child {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 769px) {
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-main-memoria.main-activa,
        .memorial-main-view.main-activa .memorial-main-memoria)
    :has(> :is(.memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria)) {
    display: grid !important;
    grid-template-columns: var(--cb-view-columns) !important;
    gap: var(--cb-view-gap) !important;
    align-items: start !important;
  }
  body:is(.communio-body-style--cuaderno, .communio-body-style--archivo,
      .communio-body-style--modular, .communio-body-style--diptico)
    :is(.memorial-main-memoria.main-activa,
        .memorial-main-view.main-activa .memorial-main-memoria)
    :has(> :is(.memorial-memoria-card, .memorial-memoria-frase-final,
      .communio-bloque-memoria)) > :is(.communio-voices-intro,
      .memorial-memoria-frase-final, .elementor-widget-loop-grid, :first-child) {
    grid-column: 1 / -1 !important;
  }
}
