/**
 * Puertas de Recuerdos: una estructura compartida para las ocho composiciones.
 * La elección vive en ACF; el diseño solo aporta la paleta --mem-*.
 * La tipografía y la geometría de las tarjetas son comunes a todos los diseños.
 * «Original del diseño» conserva su geometría.
 */

/* Títulos y descripciones iguales en las tres puertas de cualquier diseño,
 * incluso cuando Elementor colocó los widgets en contenedores distintos. */
body.single-memorial .memorial-media-menu .memorial-recuerdos-grid
  > .memorial-recuerdo-card:is(.memorial-card-video, .memorial-card-galeria, .memorial-card-recuerdos)
  .elementor-widget-heading :is(.elementor-heading-title,
    .elementor-heading-title *, .communio-editable-acf-content,
    .communio-editable-acf-content *, .memorial-editable-acf-content,
    .memorial-editable-acf-content *) {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(17px, 1.6vw, 20px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.26 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--mem-brown, #453a31) !important;
  overflow-wrap: anywhere !important;
}
body.single-memorial .memorial-media-menu .memorial-recuerdos-grid
  > .memorial-recuerdo-card:is(.memorial-card-video, .memorial-card-galeria, .memorial-card-recuerdos)
  :is(.elementor-widget-text-editor, .elementor-widget-text-editor *,
    .communio-recuerdos-menu-text, .communio-recuerdos-menu-text *) {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(14px, 1.2vw, 16px) !important;
  font-style: normal !important;
  line-height: 1.48 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--mem-text, #302d29) !important;
  overflow-wrap: anywhere !important;
}

/* El contenido se reúne una vez por memory-menu-card-styles.js. Las reglas
 * de cada estilo actúan sobre las mismas dos piezas en todos los diseños. */
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-grid-shell {
  display: block !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-grid {
  --mm-paper: var(--mem-card, #fffaf2);
  --mm-page: var(--mem-bg, #f2eee6);
  --mm-line: var(--mem-border, #d8d0c3);
  --mm-accent: var(--mem-brown-soft, #8b6750);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(14px, 2vw, 22px) !important;
  width: 100% !important;
  max-width: min(100%, 990px) !important;
  margin: 26px auto !important;
  align-items: stretch !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-card > .communio-memory-menu-source {
  display: none !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-grid
  > .memorial-recuerdo-card:not(.communio-recuerdo-oculto) {
  display: block !important;
  flex: none !important;
  width: var(--mm-card-width, 100%) !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: var(--mm-card-margin, 0) !important;
  box-sizing: border-box !important;
  overflow: var(--mm-card-overflow, hidden) !important;
  background: var(--mm-card-background, var(--mm-paper)) !important;
  border: var(--mm-card-border, 1px solid var(--mm-line)) !important;
  border-left: var(--mm-card-left-border, var(--mm-card-border, 1px solid var(--mm-line))) !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-layout {
  display: grid !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  transform: none !important;
  overflow: hidden !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}
/* Elementor puede conservar la proporción apaisada de la imagen de origen.
 * La fotografía debe llenar el marco elegido por la plantilla, también cuando
 * ese marco es una columna estrecha, un círculo o un retrato vertical. */
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen
  :is(.elementor-widget-container, .elementor-widget-image,
    .elementor-widget-container > a,
    .elementor-widget-container > picture, .elementor-widget-container > figure,
    .elementor-image, img) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  inset: auto !important;
  flex: none !important;
  justify-content: center !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: clamp(14px, 2.2vw, 24px) !important;
  margin: 0 !important;
  float: none !important;
  transform: none !important;
  box-sizing: border-box !important;
  background: transparent !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
}

/* El editor de imagen es un desplegable al pie, fuera de la composición. */
body.single-memorial.communio-modo-edicion-activo[class*="communio-card-memory_menu--"]
  .memorial-media-menu .communio-memory-menu-card > .communio-memory-menu-layout {
  height: auto !important;
}
body.single-memorial.communio-modo-edicion-activo[class*="communio-card-memory_menu--"]
  .memorial-media-menu .communio-memory-menu-card > .communio-recuerdo-editar-imagen {
  position: relative !important;
  inset: auto !important;
  z-index: 5 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  background: var(--mm-paper, var(--mem-card, #fffaf2)) !important;
  border-top: 1px solid var(--mm-line, var(--mem-border, #d8d0c3)) !important;
}
body.single-memorial.communio-modo-edicion-activo.communio-card-memory_menu--medallones
  .memorial-media-menu .communio-memory-menu-card > .communio-recuerdo-editar-imagen {
  background: transparent !important;
  border-top: 0 !important;
}
body.single-memorial.communio-modo-edicion-activo[class*="communio-card-memory_menu--"]
  .memorial-media-menu .communio-memory-menu-card > .communio-recuerdo-editar-imagen .cmi-editor-actions {
  justify-content: center !important;
  gap: 5px !important;
}

/* 01 · Editorial lateral: la fotografía permanece a la izquierda en móvil. */
body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid { max-width: min(100%, 820px) !important; }
body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout {
  grid-template-columns: minmax(0, 38%) minmax(0, 1fr) !important;
  min-height: 190px !important;
}
body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdo-card { --mm-card-left-border: 4px solid var(--mm-accent); }
body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen { align-self: stretch !important; height: 100% !important; aspect-ratio: auto !important; }

/* 02 · Mosaico: una pieza principal y dos entradas breves. */
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: min(100%, 880px) !important;
}
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid > .memorial-card-video:not(.communio-recuerdo-oculto) { grid-column: 1 / -1 !important; }
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-video .communio-memory-menu-layout {
  grid-template-columns: minmax(0, 48%) minmax(0, 1fr) !important;
  min-height: 260px !important;
}
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-video .communio-memory-menu-layout > .memorial-card-contenido {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-video .communio-memory-menu-layout > .memorial-card-imagen {
  align-self: stretch !important;
  height: 100% !important;
  aspect-ratio: auto !important;
}
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu :is(.memorial-card-galeria, .memorial-card-recuerdos) .communio-memory-menu-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
  .memorial-media-menu :is(.memorial-card-galeria, .memorial-card-recuerdos) .memorial-card-imagen {
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}

/* 03 · Tríptico: tres fotografías pares; en teléfono se ordenan en dos columnas. */
body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) !important; }
body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-imagen { height: auto !important; aspect-ratio: 2 / 3 !important; }

/* 04 · Índice ilustrado: filas compactas y medallón a la derecha en móvil. */
body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid { max-width: min(100%, 820px) !important; }
body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout {
  grid-template-columns: minmax(0, 25%) minmax(0, 1fr) !important;
  min-height: 150px !important;
}
body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdo-card { border-radius: 4px !important; }
body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen { align-self: stretch !important; height: 100% !important; aspect-ratio: auto !important; }

/* 05 · Escenas: la fotografía llena el plano y la lectura va sobre un velo. */
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdo-card { --mm-card-background: #26342f; --mm-card-border: 0; }
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout { position: relative !important; display: block !important; min-height: 340px !important; }
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 18%, rgba(12, 20, 18, .88) 100%);
  pointer-events: none;
}
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  aspect-ratio: auto !important;
}
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido {
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 2 !important;
  padding: 28px 22px !important;
}
body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid > .memorial-recuerdo-card .memorial-card-contenido :is(.elementor-heading-title,
    .elementor-heading-title *, .communio-editable-acf-content,
    .communio-editable-acf-content *, .elementor-widget-text-editor,
    .elementor-widget-text-editor *) {
  color: #fffdf6 !important;
  -webkit-text-fill-color: #fffdf6 !important;
}

/* 06 · Medallones: fotografías circulares independientes. */
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  padding: 24px !important;
  background: var(--mm-page) !important;
}
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdo-card { --mm-card-border: 0; --mm-card-background: transparent; --mm-card-overflow: visible; box-shadow: none !important; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen {
  width: min(72%, 180px) !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  margin: 0 auto 12px !important;
  border: 6px solid var(--mm-paper) !important;
  border-radius: 50% !important;
  box-shadow: 0 8px 24px rgba(30, 35, 32, .16) !important;
}
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-imagen :is(.elementor-widget-container, img) { border-radius: 50% !important; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-contenido { max-width: 240px !important; margin-inline: auto !important; text-align: center !important; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid > .memorial-recuerdo-card .memorial-card-contenido :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor *) { text-align: center !important; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-galeria { --mm-card-margin: 35px 0 0; }
body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-recuerdos { --mm-card-margin: 70px 0 0; }

/* 07 · Capítulos: navegación real y una sola puerta visible. */
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid {
  max-width: min(100%, 850px) !important;
  padding: 16px !important;
  background: var(--mm-page) !important;
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapters {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapters button {
  min-width: 0;
  padding: 12px 8px;
  border: 1px solid var(--mm-line);
  border-radius: 6px;
  background: var(--mm-paper);
  color: var(--mem-brown, #453a31);
  font: 400 clamp(12px, 1.4vw, 17px)/1.25 var(--mem-serif, Georgia, serif);
  cursor: pointer;
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapters button[aria-selected="true"] {
  color: var(--mm-paper);
  background: var(--mem-brown, #453a31);
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapters-ready > :is(.memorial-card-video, .memorial-card-galeria, .memorial-card-recuerdos):not(.communio-memory-chapter-active) { display: none !important; }
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapters-ready > .communio-memory-chapter-active:not(.communio-recuerdo-oculto) { display: block !important; }
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapter-active .communio-memory-menu-layout {
  grid-template-columns: minmax(0, 55%) minmax(0, 1fr) !important;
  min-height: 320px !important;
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapter-active .communio-memory-menu-layout > .memorial-card-contenido {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-chapter-active .communio-memory-menu-layout > .memorial-card-imagen { align-self: stretch !important; height: 100% !important; aspect-ratio: auto !important; }

/* 08 · Álbum: tres copias de papel escalonadas. */
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  padding: 30px !important;
  background: color-mix(in srgb, var(--mm-page) 82%, var(--mm-accent)) !important;
}
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdo-card {
  padding: 10px !important;
  --mm-card-border: 0;
  border-radius: 2px !important;
  box-shadow: 0 12px 20px rgba(30, 35, 32, .17) !important;
}
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) !important; }
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-imagen { height: auto !important; aspect-ratio: 16 / 9 !important; }
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-video { transform: rotate(-2deg) !important; }
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-galeria { transform: rotate(2.5deg) !important; --mm-card-margin: 24px 0 0; }
body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-recuerdos {
  grid-column: 1 / -1 !important;
  --mm-card-width: 58%;
  justify-self: center !important;
  transform: rotate(-1deg) !important;
}

/* Si solo hay una o dos puertas visibles, no quedan huecos fantasma. */
@media (min-width: 720px) {
body.single-memorial:is(.communio-card-memory_menu--triptico-fotografico,
    .communio-card-memory_menu--escenas-inmersivas,
    .communio-card-memory_menu--medallones,
    .communio-card-memory_menu--album-papel):not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid.communio-recuerdos-1 {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: min(100%, 430px) !important;
}
body.single-memorial:is(.communio-card-memory_menu--triptico-fotografico,
    .communio-card-memory_menu--escenas-inmersivas,
    .communio-card-memory_menu--medallones,
    .communio-card-memory_menu--album-papel):not(.elementor-editor-active)
  .memorial-media-menu .communio-memory-menu-grid.communio-recuerdos-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: min(100%, 700px) !important;
}
}

@media (max-width: 719px) {
  /* Editorial nunca cambia la fotografía lateral por una cabecera. */
  body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 34%) minmax(0, 1fr) !important; min-height: 155px !important; }

  body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-video .communio-memory-menu-layout { grid-template-columns: minmax(0, 44%) minmax(0, 1fr) !important; min-height: 190px !important; }
  body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
    .memorial-media-menu :is(.memorial-card-galeria, .memorial-card-recuerdos) .communio-memory-menu-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 32%) !important;
    min-height: 125px !important;
  }
  body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
    .memorial-media-menu :is(.memorial-card-galeria, .memorial-card-recuerdos) .communio-memory-menu-layout > .memorial-card-imagen {
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }
  body.single-memorial.communio-card-memory_menu--mosaico-sereno:not(.elementor-editor-active)
    .memorial-media-menu :is(.memorial-card-galeria, .memorial-card-recuerdos) .communio-memory-menu-layout > .memorial-card-contenido {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  /* Dos tarjetas por fila. La tercera se centra conservando su mismo ancho. */
  body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 12px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding: 4px 8px 14px !important;
  }
  body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid:not(.communio-recuerdos-1):not(.communio-recuerdos-2)
    > .memorial-card-recuerdos:not(.communio-recuerdo-oculto) {
    grid-column: 1 / -1 !important;
    --mm-card-width: calc((100% - 12px) / 2);
    justify-self: center !important;
  }
  body.single-memorial.communio-card-memory_menu--triptico-fotografico:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid.communio-recuerdos-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) 76px !important; min-height: 116px !important; }
  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout > .memorial-card-imagen {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 76px !important;
    height: 76px !important;
    min-height: 0 !important;
    aspect-ratio: 1 !important;
    margin: 0 10px 0 0 !important;
    border-radius: 50% !important;
  }
  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-imagen :is(.elementor-widget-container, img) { border-radius: 50% !important; }
  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido { grid-column: 1 !important; grid-row: 1 !important; }

  body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 4px 8px 14px !important;
  }
  body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(clamp(285px, 84vw, 360px), auto) !important;
    min-height: 0 !important;
  }
  body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout > .memorial-card-contenido {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    padding: 18px 10px 12px !important;
  }
  body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid:not(.communio-recuerdos-1):not(.communio-recuerdos-2)
    > .memorial-card-recuerdos:not(.communio-recuerdo-oculto) {
    grid-column: 1 / -1 !important;
    --mm-card-width: calc((100% - 12px) / 2);
    justify-self: center !important;
  }
  body.single-memorial.communio-card-memory_menu--escenas-inmersivas:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid.communio-recuerdos-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 16px 10px !important; }
  body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-imagen { width: min(86%, 118px) !important; }
  body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-galeria { --mm-card-margin: 26px 0 0; }
  body.single-memorial.communio-card-memory_menu--medallones:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-recuerdos { grid-column: 1 / -1 !important; justify-self: center !important; --mm-card-width: 100%; --mm-card-margin: 0; }

  /* Los capítulos conservan imagen y texto lado a lado incluso en 320 px. */
  body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-chapter-active .communio-memory-menu-layout { grid-template-columns: minmax(0, 40%) minmax(0, 1fr) !important; min-height: 220px !important; }
  body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid { padding: 10px !important; }
  body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-chapters { gap: 4px !important; }
  body.single-memorial.communio-card-memory_menu--capitulos:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-chapters button { padding: 9px 5px; font-size: 12px; }

  body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-grid { grid-template-columns: minmax(0, 1fr) !important; padding: 24px 12px !important; }
  body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
    .memorial-media-menu .memorial-recuerdo-card:not(.communio-recuerdo-oculto) { --mm-card-width: 88%; grid-column: auto !important; }
  body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-video { justify-self: start !important; }
  body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-galeria { justify-self: end !important; --mm-card-margin: 0; }
  body.single-memorial.communio-card-memory_menu--album-papel:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-recuerdos { justify-self: start !important; }
}

@media (max-width: 359px) {
  body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 31%) minmax(0, 1fr) !important; }
  body.single-memorial.communio-card-memory_menu--editorial-lateral:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-contenido { padding: 11px !important; }
  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) 66px !important; }
  body.single-memorial.communio-card-memory_menu--indice-ilustrado:not(.elementor-editor-active)
    .memorial-media-menu .memorial-card-imagen { width: 66px !important; height: 66px !important; }
}

/* Si falta la imagen de una puerta, su texto ocupa el ancho disponible. */
body.single-memorial[class*="communio-card-memory_menu--"]:where(:not(.communio-card-memory_menu--original):not(.elementor-editor-active))
  .memorial-media-menu .memorial-recuerdo-card:not(:has(.memorial-card-imagen))
  .communio-memory-menu-layout { grid-template-columns: minmax(0, 1fr) !important; }

/* Oración, Ceremonia y Fechas son páginas propias. Se oculta la tarjeta
 * completa también cuando Elementor la envuelve dentro de .e-con-inner. */
body.single-memorial:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdos-grid
  .memorial-recuerdo-card:is(.memorial-card-oracion, .memorial-card-ceremonia,
    .memorial-card-fechas, [data-media-target="oracion"],
    [data-media-target="ceremonia"], [data-media-target="fechas"],
    :has([data-media-target="oracion"]), :has([data-media-target="ceremonia"]),
    :has([data-media-target="fechas"])),
body.single-memorial:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdos-grid
  .memorial-recuerdo-card.communio-memory-menu-excluded,
body.single-memorial:not(.elementor-editor-active)
  .memorial-media-menu .memorial-recuerdos-grid
  .communio-memory-menu-excluded {
  display: none !important;
}
