/**
 * COMMUNIO — Diseño 03 «Jardín sereno»
 * Versión consolidada: una sola capa de identidad, sin reglas históricas.
 */
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap");
@import url("./base.css?ver=1.10.0");

body.single-memorial.memorial-design-03 {
  --mem-bg: #e8efec;
  --mem-white: #f8f5f0;
  --mem-card: #f8f5f0;
  --mem-brown: #304b50;
  --mem-brown-soft: #71877c;
  --mem-text: #46575a;
  --mem-muted: #68777a;
  --mem-accent: #b8898e;
  --mem-border: rgba(48, 75, 80, .14);
  --mem-border-strong: rgba(48, 75, 80, .28);
  --mem-shadow-card: 0 14px 34px rgba(48, 75, 80, .09);
  --mem-shadow-photo: 0 20px 46px rgba(48, 75, 80, .2);
  --mem-serif: "Bodoni Moda", Didot, Georgia, serif;
  --mem-body-serif: "Lora", Georgia, serif;
  --mem-cross-leaves: url("../../../images/design-03/rework/cross-leaves.webp?v=1.23.61");
  --mem-photo-bouquet: url("../../../images/design-03/rework/photo-bouquet.webp?v=1.23.61");
  --mem-floral-divider: url("../../../images/design-03/rework/floral-divider.webp?v=1.23.61");
  --mem-floral-corner: url("../../../images/design-03/floral-corner.webp?v=1.23.61");
  --mem-menu-flower: url("../../../images/design-03/rework/menu-flower.webp?v=1.23.61");
  color: var(--mem-text) !important;
  background: var(--mem-bg) !important;
}

/* 1.17.0 — Imágenes de las tarjetas según la orientación del memorial. */
body.single-memorial.memorial-design-03.memorial-content-pack-neutral,
body.single-memorial.memorial-design-03.memorial-content-pack-laica {
  --communio-card-pinceladas: url("../../../images/design-03/cards/laica/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/laica/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/laica/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-cristiana {
  --communio-card-pinceladas: url("../../../images/design-03/cards/cristiana/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/cristiana/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/cristiana/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-musulmana {
  --communio-card-pinceladas: url("../../../images/design-03/cards/musulmana/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/musulmana/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/musulmana/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-judia {
  --communio-card-pinceladas: url("../../../images/design-03/cards/judia/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/judia/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/judia/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-espiritual {
  --communio-card-pinceladas: url("../../../images/design-03/cards/espiritual/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/espiritual/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/espiritual/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03:is(.memorial-content-pack-otra_religiosa,.memorial-content-pack-otra-religiosa) {
  --communio-card-pinceladas: url("../../../images/design-03/cards/otra_religiosa/pinceladas-de-una-vida.webp?v=1.23.61");
  --communio-card-galeria: url("../../../images/design-03/cards/otra_religiosa/galeria-de-imagenes.webp?v=1.23.61");
  --communio-card-recuerdos: url("../../../images/design-03/cards/otra_religiosa/recuerdos-compartidos.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03 :is(
  .elementor, .memorial-main-view, .memorial-media-view,
  .memorial-huellas-view, .memorial-main-memoria,
  .memorial-main-recuerdos, .memorial-media-video,
  .memorial-media-galeria, .memorial-media-recibidos,
  .memorial-media-condolencias, .memorial-media-oracion,
  .memorial-media-ceremonia, .memorial-huellas-menu,
  .memorial-huellas-contenido
) {
  background-color: var(--mem-bg) !important;
}

body.single-memorial.memorial-design-03 :is(
  h1, h2, h3, h4, .elementor-heading-title,
  .communio-header-interior-nombre,
  .communio-header-interior-nombre .communio-editable-acf-content
) {
  font-family: var(--mem-serif) !important;
  color: var(--mem-brown) !important;
}

body.single-memorial.memorial-design-03 :is(
  p, li, .elementor-widget-text-editor, .communio-editable-acf-content
) {
  font-family: var(--mem-body-serif) !important;
  color: var(--mem-text) !important;
}

/* PORTADA */
body.single-memorial.memorial-design-03 .memorial-main-inicio {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  min-height: calc(100vh - var(--communio-header-altura, 64px)) !important;
  padding: 0 0 clamp(86px, 10vh, 140px) !important;
  background:
    radial-gradient(circle at 50% 25%, rgba(255, 255, 255, .66), transparent 34%),
    linear-gradient(145deg, #edf3f0, #e4ede8 64%, #dce8e2) !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::before,
body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  width: clamp(220px, 26vw, 350px) !important;
  height: clamp(220px, 26vw, 350px) !important;
  background: var(--mem-floral-corner) center / contain no-repeat !important;
  opacity: .92 !important;
  pointer-events: none !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
  content: none !important;
  display: none !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  right: 10px !important;
  bottom: 10px !important;
  transform: rotate(180deg) !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio > * {
  position: relative !important;
  z-index: 1 !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-hero-media, .communio-portada-stack,
  .communio-portada-stack > .e-con-inner
) {
  width: 100% !important;
  max-width: 860px !important;
  margin-inline: auto !important;
  padding: clamp(46px, 6vh, 76px) 24px 44px !important;
  gap: 0 !important;
  align-items: center !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-hero-image, .communio-portada-imagen
) {
  position: relative !important;
  isolation: isolate !important;
  width: fit-content !important;
  max-width: min(78vw, 370px) !important;
  margin: 0 auto 70px !important;
  overflow: visible !important;
  transform: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-hero-image, .communio-portada-imagen
)::before {
  content: none !important;
  display: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-hero-image, .communio-portada-imagen
)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  right: 50% !important;
  bottom: -66px !important;
  display: block !important;
  width: clamp(280px, 35vw, 430px) !important;
  height: auto !important;
  aspect-ratio: 3.48 / 1 !important;
  transform: translateX(50%) !important;
  background: var(--mem-photo-bouquet) center / contain no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-hero-image img, .communio-portada-imagen img
) {
  position: relative !important;
  z-index: 1 !important;
  border: 1px solid rgba(48, 75, 80, .58) !important;
  border-radius: 48% 48% 16px 16px / 22% 22% 16px 16px !important;
  outline: 1px solid rgba(48, 75, 80, .46) !important;
  outline-offset: 6px !important;
  box-shadow: var(--mem-shadow-photo) !important;
}

body.single-memorial.memorial-design-03 .memorial-hero-content,
body.single-memorial.memorial-design-03 .memorial-hero-content > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 720px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  gap: 10px !important;
}

body.single-memorial.memorial-design-03 .memorial-hero-content::before {
  content: "" !important;
  order: -1 !important;
  display: block !important;
  flex: 0 0 88px !important;
  width: 72px !important;
  height: 88px !important;
  margin: -6px auto 8px !important;
  background: var(--mem-cross-leaves) center / contain no-repeat !important;
  pointer-events: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .communio-editable-nombre .elementor-heading-title,
  .communio-portada-nombre .communio-editable-acf-content
) {
  margin: 0 auto !important;
  font-family: var(--mem-serif) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: var(--mem-brown) !important;
  text-align: center !important;
}

body.single-memorial.memorial-design-03 :is(
  .communio-editable-nombre .elementor-heading-title,
  .communio-portada-nombre .communio-editable-acf-content
)::before,
body.single-memorial.memorial-design-03 :is(
  .communio-editable-nombre .elementor-heading-title,
  .communio-portada-nombre .communio-editable-acf-content
)::after {
  content: none !important;
  display: none !important;
}

/* CABECERA Y MENÚ */
body.single-memorial.memorial-design-03 .communio-header-interior,
body.single-memorial.memorial-design-03:not(.elementor-editor-active) .communio-header-interior,
body.single-memorial.memorial-design-03.modo-edicion .communio-header-interior {
  background: #dfe9e5 !important;
  background-color: #dfe9e5 !important;
  background-image: none !important;
  border-bottom-color: rgba(48, 75, 80, .2) !important;
  box-shadow: 0 7px 22px rgba(48, 75, 80, .1) !important;
}

body.single-memorial.memorial-design-03 .communio-header-interior :is(
  .communio-header-interior-identidad, .communio-header-interior-contenido,
  .communio-header-interior-menu, .e-con-inner
) {
  background-color: transparent !important;
  background-image: none !important;
}

@keyframes communio-menu-flower-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.055); }
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-toggle,
body.single-memorial.memorial-design-03
  .communio-header-interior-menu .memorial-radial-toggle {
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  border: 1px solid rgba(48, 75, 80, .28) !important;
  border-radius: 50% !important;
  background-color: rgba(248, 245, 240, .96) !important;
  background-image: var(--mem-menu-flower) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 68% auto !important;
  box-shadow: 0 5px 16px rgba(48, 75, 80, .15) !important;
  animation: communio-menu-flower-breathe 2.8s ease-in-out infinite !important;
  transform-origin: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-items {
  position: fixed !important;
  top: 50vh !important;
  left: 50vw !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(138px, 168px)) !important;
  gap: 14px !important;
  width: min(370px, calc(100vw - 32px)) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  justify-content: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-item {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 74px !important;
  min-height: 74px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  transform: none !important;
  border: 1px solid rgba(48, 75, 80, .28) !important;
  border-radius: 14px !important;
  background: rgba(248, 245, 240, .98) !important;
  color: var(--mem-brown) !important;
  box-shadow: 0 10px 24px rgba(48, 75, 80, .15) !important;
  font-family: var(--mem-body-serif) !important;
  font-size: 13px !important;
}

body.single-memorial.memorial-design-03 .memorial-radial-backdrop.radial-abierto {
  background: rgba(232, 239, 236, .84) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* TÍTULOS INTERIORES: ADORNO / TÍTULO / LÍNEA */
body.single-memorial.memorial-design-03 :is(
  .memorial-main-memoria, .memorial-main-recuerdos,
  .memorial-media-view, .memorial-huellas-view,
  .memorial-huellas-contenido
) :is(.elementor-divider, .elementor-divider-separator, .communio-cabecera-separador) {
  display: none !important;
  border: 0 !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) > .communio-editable-acf-content,
body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) .elementor-heading-title {
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  text-align: center !important;
  overflow: visible !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) > .communio-editable-acf-content::before,
body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) .elementor-heading-title::before {
  content: "" !important;
  display: block !important;
  width: 172px !important;
  height: 42px !important;
  margin: 0 auto 10px !important;
  border: 0 !important;
  background: var(--mem-floral-divider) center / contain no-repeat !important;
  opacity: 1 !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) > .communio-editable-acf-content::after,
body.single-memorial.memorial-design-03 :is(
  .memorial-titulo-seccion, .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo, .communio-titulo-principal,
  .communio-cabecera-titulo, .communio-titulo-secundario
) .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 1px !important;
  margin: 10px auto 0 !important;
  border: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(48, 75, 80, .25), transparent) !important;
  opacity: 1 !important;
}

/* TARJETAS DE RECUERDOS, VOCES Y CONDOLENCIAS */
body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
) {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 1px solid var(--mem-border-strong) !important;
  border-radius: 22px !important;
  background: var(--mem-card) !important;
  box-shadow: var(--mem-shadow-card) !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::before {
  content: none !important;
  display: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: -14px !important;
  right: -14px !important;
  bottom: auto !important;
  display: block !important;
  width: clamp(164px, 20vw, 224px) !important;
  height: clamp(164px, 20vw, 224px) !important;
  transform: scaleX(-1) !important;
  background: var(--mem-floral-corner) center / contain no-repeat !important;
  opacity: .8 !important;
  pointer-events: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
) > * {
  position: relative !important;
  z-index: 1 !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card .memorial-voz-relacion,
  .communio-recuerdo-card .communio-recuerdo-identidad,
  .communio-acompanamiento-card .communio-acompanamiento-identidad
) {
  padding-right: clamp(130px, 19vw, 184px) !important;
  box-sizing: border-box !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  aspect-ratio: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 50% !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto :is(
  img, picture, .elementor-widget-container, .elementor-image,
  .communio-editable-image, .communio-editable-image-content
) {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  overflow: hidden !important;
  border-radius: 50% !important;
}

/* ORACIÓN: MENOS CARGA EN LOS NIVELES SECUNDARIOS */
body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-subpantalla-titulo > .communio-editable-acf-content::before,
body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-subpantalla-titulo .elementor-heading-title::before {
  width: 124px !important;
  height: 30px !important;
  margin-bottom: 9px !important;
  opacity: .78 !important;
}

body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-oracion-bloque .memorial-huellas-contenido-titulo
  > .communio-editable-acf-content::before,
body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-oracion-bloque .memorial-huellas-contenido-titulo
  .elementor-heading-title::before {
  width: 86px !important;
  height: 22px !important;
  margin: 22px auto 7px !important;
  opacity: .48 !important;
}

body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-oracion-bloque-palabra .memorial-huellas-contenido-titulo
  > .communio-editable-acf-content::before,
body.single-memorial.memorial-design-03 .memorial-huellas-oracion
  .memorial-oracion-bloque-palabra .memorial-huellas-contenido-titulo
  .elementor-heading-title::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio::before,
  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    width: 190px !important;
    height: 190px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
    top: 4px !important;
    left: 4px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    right: 4px !important;
    bottom: 4px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-hero-media, .communio-portada-stack,
    .communio-portada-stack > .e-con-inner
  ) {
    padding: 44px 20px 36px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-hero-image, .communio-portada-imagen
  ) {
    max-width: min(calc(100vw - 92px), 330px) !important;
    margin-bottom: 62px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-hero-image, .communio-portada-imagen
  )::after {
    bottom: -56px !important;
    width: min(88vw, 354px) !important;
  }

  body.single-memorial.memorial-design-03 .memorial-hero-content::before {
    flex-basis: 76px !important;
    width: 62px !important;
    height: 76px !important;
    margin: -2px auto 7px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-radial-menu .memorial-radial-toggle,
  body.single-memorial.memorial-design-03
    .communio-header-interior-menu .memorial-radial-toggle {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-radial-menu .memorial-radial-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: calc(100vw - 34px) !important;
    max-width: 350px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-radial-menu .memorial-radial-item {
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-titulo-seccion, .memorial-subpantalla-titulo,
    .memorial-huellas-contenido-titulo, .communio-titulo-principal,
    .communio-cabecera-titulo, .communio-titulo-secundario
  ) > .communio-editable-acf-content::before,
  body.single-memorial.memorial-design-03 :is(
    .memorial-titulo-seccion, .memorial-subpantalla-titulo,
    .memorial-huellas-contenido-titulo, .communio-titulo-principal,
    .communio-cabecera-titulo, .communio-titulo-secundario
  ) .elementor-heading-title::before {
    width: 146px !important;
    height: 35px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card, .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item,
    .communio-acompanamiento-card,
    .memorial-condolencias-recibidas .e-loop-item
  )::after {
    top: -10px !important;
    right: -10px !important;
    width: 158px !important;
    height: 158px !important;
    opacity: .78 !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card .memorial-voz-relacion,
    .communio-recuerdo-card .communio-recuerdo-identidad,
    .communio-acompanamiento-card .communio-acompanamiento-identidad
  ) {
    padding-right: 120px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }
}


/* 1.10.4 — Limpieza final de ornamentos y ajustes de cabecera/portada. */

/* La portada termina con aire: se elimina la flor inferior para no pisar textos. */
body.single-memorial.memorial-design-03 .memorial-main-inicio {
  height: auto !important;
  min-height: calc(100svh + 80px) !important;
  max-height: none !important;
  padding-bottom: clamp(150px, 18vh, 230px) !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* El ángulo se conserva en Voces y Recuerdos, pero se elimina de Condolencias. */
body.single-memorial.memorial-design-03 :is(
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Eliminar los pequeños motivos botanical-sprig heredados del Diseño 01. */
body.single-memorial.memorial-design-03 :is(
  .communio-titulo-principal,
  .memorial-titulo-seccion,
  .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo,
  .communio-titulo-secundario,
  .communio-cabecera-titulo
)::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
}

/* El clavel queda alineado con la fotografía de cabecera. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-toggle,
body.single-memorial.memorial-design-03
  .communio-header-interior-menu .memorial-radial-toggle {
  position: relative !important;
  top: -2px !important;
  background-color: #edf4f0 !important;
  border-color: rgba(48, 75, 80, .22) !important;
  box-shadow: 0 4px 12px rgba(48, 75, 80, .12) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio {
    min-height: calc(100svh + 64px) !important;
    padding-bottom: 170px !important;
  }
}

/* 1.11.1 — Voces cercanas y Recuerdos recibidos más ligeros.
   Condolencias conserva expresamente su tratamiento aprobado. */
body.single-memorial.memorial-design-03 {
  --mem-light-sprig: url("../../../images/design-03/botanical-sprig.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card,
  .memorial-media-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item
)::after {
  top: 18px !important;
  right: 16px !important;
  bottom: auto !important;
  z-index: 2 !important;
  width: clamp(48px, 7vw, 70px) !important;
  height: clamp(70px, 10vw, 96px) !important;
  transform: rotate(4deg) !important;
  transform-origin: top right !important;
  background: var(--mem-light-sprig) center / contain no-repeat !important;
  opacity: .48 !important;
  filter: saturate(.72) contrast(.92) !important;
  pointer-events: none !important;
}

/* La fotografía de cada voz respira dentro del marco. */
body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
  top: 20px !important;
  left: 20px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
  min-height: 132px !important;
  padding-top: 24px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
  padding-right: clamp(62px, 9vw, 88px) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card,
    .memorial-media-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item
  )::after {
    top: 14px !important;
    right: 12px !important;
    width: 45px !important;
    height: 66px !important;
    opacity: .44 !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
    top: 18px !important;
    left: 18px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
    min-height: 112px !important;
    padding-top: 22px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
    padding-right: 54px !important;
  }
}

/* 1.12.26 — Fondo de orientación encajado en la caja del memorial. */
body.single-memorial.memorial-design-03:is(
  .memorial-content-pack-cristiana,
  .memorial-content-pack-musulmana,
  .memorial-content-pack-judia,
  .memorial-content-pack-laica,
  .memorial-content-pack-espiritual,
  .memorial-content-pack-otra_religiosa
) {
  background-attachment: scroll, scroll !important;
  background-position: center top, center top !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: min(100vw, 860px) 100%, min(100vw, 860px) auto !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:is(
    .memorial-content-pack-cristiana,
    .memorial-content-pack-musulmana,
    .memorial-content-pack-judia,
    .memorial-content-pack-laica,
    .memorial-content-pack-espiritual,
    .memorial-content-pack-otra_religiosa
  )::before {
    position: absolute !important;
    background-position: center top, center top !important;
    background-repeat: no-repeat, no-repeat !important;
    background-size: 100% 100%, 100% auto !important;
  }
}

/* 1.12.24 FINAL — Debe permanecer después de las reglas históricas de fondo. */
body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa) {
  background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
}
@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa)::before {
    background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
  }
}

/* 1.12.24 — Contraste integrado en el fondo de Jardín sereno. */
body.single-memorial.memorial-design-03.memorial-content-pack-cristiana { --communio-reading-bg: url("../../../images/design-03/orientations/cristiana-fondo-v2.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03.memorial-content-pack-musulmana { --communio-reading-bg: url("../../../images/design-03/orientations/musulmana-fondo.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03.memorial-content-pack-judia { --communio-reading-bg: url("../../../images/design-03/orientations/judia-fondo.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03.memorial-content-pack-laica { --communio-reading-bg: url("../../../images/design-03/orientations/laica-fondo.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03.memorial-content-pack-espiritual { --communio-reading-bg: url("../../../images/design-03/orientations/espiritual-fondo.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03.memorial-content-pack-otra_religiosa { --communio-reading-bg: url("../../../images/design-03/orientations/otra-religiosa-fondo.webp?v=1.23.61"); }
body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa) {
  background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
}
@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa)::before {
    background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
  }
}


/* 1.12.21 — Fondos continuos por orientación para «03 Jardín sereno». */
html:has(
  body.single-memorial.memorial-design-03:is(
    .memorial-content-pack-cristiana,
    .memorial-content-pack-musulmana,
    .memorial-content-pack-judia,
    .memorial-content-pack-laica,
    .memorial-content-pack-espiritual,
    .memorial-content-pack-otra_religiosa
  )
) {
  background-color: #edf3f0 !important;
}

body.single-memorial.memorial-design-03:is(
  .memorial-content-pack-cristiana,
  .memorial-content-pack-musulmana,
  .memorial-content-pack-judia,
  .memorial-content-pack-laica,
  .memorial-content-pack-espiritual,
  .memorial-content-pack-otra_religiosa
) {
  background-color: #edf3f0 !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: fixed !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-cristiana {
  background-image: url("../../../images/design-03/orientations/cristiana-fondo-v2.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-musulmana {
  background-image: url("../../../images/design-03/orientations/musulmana-fondo.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-judia {
  background-image: url("../../../images/design-03/orientations/judia-fondo.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-laica {
  background-image: url("../../../images/design-03/orientations/laica-fondo.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-espiritual {
  background-image: url("../../../images/design-03/orientations/espiritual-fondo.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03.memorial-content-pack-otra_religiosa {
  background-image: url("../../../images/design-03/orientations/otra-religiosa-fondo.webp?v=1.23.61") !important;
}

body.single-memorial.memorial-design-03:is(
  .memorial-content-pack-cristiana,
  .memorial-content-pack-musulmana,
  .memorial-content-pack-judia,
  .memorial-content-pack-laica,
  .memorial-content-pack-espiritual,
  .memorial-content-pack-otra_religiosa
)
  :is(
    .elementor,
    .memorial-main-view,
    .memorial-media-view,
    .memorial-huellas-view,
    .memorial-main-inicio,
    .memorial-main-memoria,
    .memorial-main-recuerdos,
    .memorial-media-video,
    .memorial-media-galeria,
    .memorial-media-recibidos,
    .memorial-media-condolencias,
    .memorial-media-oracion,
    .memorial-media-ceremonia,
    .memorial-huellas-menu,
    .memorial-huellas-contenido
  ) {
  background-color: transparent !important;
  background-image: none !important;
}

body.single-memorial.memorial-design-03:is(
  .memorial-content-pack-cristiana,
  .memorial-content-pack-musulmana,
  .memorial-content-pack-judia,
  .memorial-content-pack-laica,
  .memorial-content-pack-espiritual,
  .memorial-content-pack-otra_religiosa
).elementor-editor-active {
  background-attachment: scroll !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:is(
    .memorial-content-pack-cristiana,
    .memorial-content-pack-musulmana,
    .memorial-content-pack-judia,
    .memorial-content-pack-laica,
    .memorial-content-pack-espiritual,
    .memorial-content-pack-otra_religiosa
  ) {
    position: relative !important;
    z-index: 0 !important;
    background-image: none !important;
  }

  body.single-memorial.memorial-design-03:is(
    .memorial-content-pack-cristiana,
    .memorial-content-pack-musulmana,
    .memorial-content-pack-judia,
    .memorial-content-pack-laica,
    .memorial-content-pack-espiritual,
    .memorial-content-pack-otra_religiosa
  )::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background-color: #edf3f0 !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-cristiana::before {
    background-image: url("../../../images/design-03/orientations/cristiana-fondo-v2.webp?v=1.23.61") !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-musulmana::before {
    background-image: url("../../../images/design-03/orientations/musulmana-fondo.webp?v=1.23.61") !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-judia::before {
    background-image: url("../../../images/design-03/orientations/judia-fondo.webp?v=1.23.61") !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-laica::before {
    background-image: url("../../../images/design-03/orientations/laica-fondo.webp?v=1.23.61") !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-espiritual::before {
    background-image: url("../../../images/design-03/orientations/espiritual-fondo.webp?v=1.23.61") !important;
  }

  body.single-memorial.memorial-design-03.memorial-content-pack-otra_religiosa::before {
    background-image: url("../../../images/design-03/orientations/otra-religiosa-fondo.webp?v=1.23.61") !important;
  }
}

/* 1.11.2 FINAL — bloquea la decoración histórica únicamente en Condolencias. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .e-loop-item::after,
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-gesto,
    .communio-acompanamiento-gesto.elementor-widget,
    .communio-acompanamiento-gesto .elementor-widget-container,
    .communio-acompanamiento-gesto .communio-acomp-visual-card
  ) {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-card {
    border-radius: 18px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
    aspect-ratio: 16 / 9 !important;
  }
}

/* 1.11.2 — Condolencias con imagen protagonista y cuerpo editorial. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(.elementor-loop-container, .elementor-grid) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(20px, 2.5vw, 30px) !important;
  width: min(100%, 1180px) !important;
  margin-inline: auto !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .e-loop-item {
  height: 100% !important;
  overflow: visible !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: rgba(250, 247, 241, .97) !important;
  border: 1px solid rgba(48, 75, 80, .18) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(48, 75, 80, .09) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(.communio-acompanamiento-card, .e-loop-item)::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: 100% !important;
  padding: 0 !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-cabecera,
    .communio-acompanamiento-cabecera > .e-con-inner
  ) {
  display: contents !important;
}

/* La imagen del gesto ocupa la cabecera visual de la tarjeta. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-gesto,
    .communio-acompanamiento-gesto.elementor-widget,
    .communio-acompanamiento-gesto .elementor-widget-container,
    .communio-acompanamiento-gesto .communio-acomp-visual-card
  ) {
  display: block !important;
  order: 1 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #e9ece7 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Identidad y tipo de acompañamiento forman el cuerpo editorial. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-identidad,
    .communio-acompanamiento-identidad > .e-con-inner
  ) {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  order: 2 !important;
  gap: 5px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 24px 31px !important;
  text-align: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-identidad::after {
  position: absolute !important;
  bottom: 5px !important;
  left: 50% !important;
  display: block !important;
  width: 112px !important;
  height: 28px !important;
  content: "" !important;
  background: var(--mem-floral-divider) center / contain no-repeat !important;
  opacity: .62 !important;
  transform: translateX(-50%) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-nombre,
    .communio-acompanamiento-nombre .elementor-heading-title,
    .communio-acompanamiento-nombre .communio-editable-acf-content
  ) {
  color: var(--mem-brown) !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(22px, 2vw, 27px) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-relacion,
    .communio-acompanamiento-relacion p,
    .communio-acompanamiento-frase,
    .communio-acompanamiento-frase .communio-acomp-frase
  ) {
  color: #75817c !important;
  font-family: var(--mem-body-serif) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-frase {
  color: #9a744d !important;
  margin-top: 3px !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-mensaje {
  display: flex !important;
  flex: 1 1 auto !important;
  align-items: flex-start !important;
  justify-content: center !important;
  order: 3 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 28px 30px !important;
  color: #4e6060 !important;
  font-family: var(--mem-body-serif) !important;
  font-size: 16px !important;
  font-style: normal !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-mensaje::before,
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-mensaje p::before,
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-mensaje p::after {
  display: none !important;
  content: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-mensaje :is(
    .elementor-widget-container,
    .communio-editable-acf-content,
    p
  ) {
  color: inherit !important;
  font: inherit !important;
  text-align: center !important;
  text-align-last: center !important;
}

@media (max-width: 1023px) {
  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas :is(.elementor-loop-container, .elementor-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas :is(.elementor-loop-container, .elementor-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-card {
    border-radius: 18px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
    aspect-ratio: 16 / 9 !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas :is(
      .communio-acompanamiento-identidad,
      .communio-acompanamiento-identidad > .e-con-inner
    ) {
    padding: 22px 20px 29px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-mensaje {
    padding: 8px 22px 26px !important;
  }
}

/* 1.10.3 — Ángulos florales reales extraídos del motivo facilitado. */
body.single-memorial.memorial-design-03 {
  --mem-corner-upper-left: url("../../../images/design-03/rework/corner-upper-left.webp?v=1.23.61");
  --mem-corner-lower-right: url("../../../images/design-03/rework/corner-lower-right.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
  top: 0 !important;
  left: 0 !important;
  width: clamp(250px, 31vw, 410px) !important;
  height: clamp(238px, 29.4vw, 389px) !important;
  transform: none !important;
  background: var(--mem-corner-upper-left) left top / contain no-repeat !important;
  opacity: 1 !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(270px, 33vw, 430px) !important;
  height: clamp(218px, 26.7vw, 347px) !important;
  transform: none !important;
  background: var(--mem-corner-lower-right) right bottom / contain no-repeat !important;
  opacity: 1 !important;
}

/* En tarjetas, el ángulo cruza el borde y cae por el lateral derecho. */
body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  top: -40px !important;
  right: -28px !important;
  bottom: auto !important;
  width: clamp(178px, 21vw, 238px) !important;
  height: clamp(169px, 20vw, 226px) !important;
  transform: scaleX(-1) !important;
  transform-origin: center !important;
  background: var(--mem-corner-upper-left) right top / contain no-repeat !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
    top: 0 !important;
    left: 0 !important;
    width: 270px !important;
    height: 257px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    right: 0 !important;
    bottom: 0 !important;
    width: 286px !important;
    height: 231px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card, .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item,
    .communio-acompanamiento-card,
    .memorial-condolencias-recibidas .e-loop-item
  )::after {
    top: -34px !important;
    right: -24px !important;
    width: 184px !important;
    height: 175px !important;
    transform: scaleX(-1) !important;
  }
}

/* 1.11.1 FINAL — prioridad sobre los antiguos ángulos florales. */
body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card,
  .memorial-media-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item
)::after {
  top: 18px !important;
  right: 16px !important;
  bottom: auto !important;
  z-index: 2 !important;
  width: clamp(48px, 7vw, 70px) !important;
  height: clamp(70px, 10vw, 96px) !important;
  transform: rotate(4deg) !important;
  transform-origin: top right !important;
  background: var(--mem-light-sprig) center / contain no-repeat !important;
  opacity: .48 !important;
  filter: saturate(.72) contrast(.92) !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
  top: 20px !important;
  left: 20px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
  min-height: 132px !important;
  padding-top: 24px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
  padding-right: clamp(62px, 9vw, 88px) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card,
    .memorial-media-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item
  )::after {
    top: 14px !important;
    right: 12px !important;
    width: 45px !important;
    height: 66px !important;
    opacity: .44 !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
    top: 18px !important;
    left: 18px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
    min-height: 112px !important;
    padding-top: 22px !important;
  }

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
    padding-right: 54px !important;
  }
}

/* 1.16.0 — Jerarquía ornamental por orientación.
   El separador grande presenta cada página interior y el pequeño ordena
   únicamente subsecciones narrativas. Ambos forman parte del diseño. */
body.single-memorial.memorial-design-03.memorial-content-pack-neutral {
  --communio-orientation-divider: url("../../../images/design-03/separators/laica-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/laica-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-cristiana {
  --communio-orientation-divider: url("../../../images/design-03/separators/cristiana-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/cristiana-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-musulmana {
  --communio-orientation-divider: url("../../../images/design-03/separators/musulmana-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/musulmana-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-judia {
  --communio-orientation-divider: url("../../../images/design-03/separators/judia-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/judia-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-laica {
  --communio-orientation-divider: url("../../../images/design-03/separators/laica-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/laica-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.memorial-content-pack-espiritual {
  --communio-orientation-divider: url("../../../images/design-03/separators/espiritual-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/espiritual-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03:is(.memorial-content-pack-otra_religiosa,.memorial-content-pack-otra-religiosa) {
  --communio-orientation-divider: url("../../../images/design-03/separators/otra-religiosa-separador.webp?v=1.23.61");
  --communio-subsection-divider: url("../../../images/design-03/separators/otra-religiosa-subseccion.webp?v=1.23.61");
}

body.single-memorial.memorial-design-03.communio-vista-interior-activa
  .memorial-main-view.main-activa:not(.memorial-main-inicio):has(> .e-con-inner)::before {
  content: none !important;
}

body.single-memorial.memorial-design-03.communio-vista-interior-activa
  .memorial-main-view.main-activa:not(.memorial-main-inicio) > .e-con-inner::before,
body.single-memorial.memorial-design-03.communio-vista-interior-activa
  .memorial-main-view.main-activa:not(.memorial-main-inicio):not(:has(> .e-con-inner))::before {
  content: "" !important;
  display: block !important;
  position: relative !important;
  inset: auto !important;
  align-self: center !important;
  width: min(400px, 88%) !important;
  height: 130px !important;
  flex: 0 0 130px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: .92 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-image: var(--communio-orientation-divider) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

body.single-memorial.memorial-design-03
  .memorial-main-memoria.main-activa > .e-con-inner
  > .communio-bloque-memoria ~ .communio-bloque-memoria::before,
body.single-memorial.memorial-design-03
  .memorial-oracion-section.main-activa
  > .memorial-oracion-bloque ~ .memorial-oracion-bloque::before,
body.single-memorial.memorial-design-03
  .communio-subseccion + .communio-subseccion::before {
  content: "" !important;
  display: block !important;
  position: relative !important;
  inset: auto !important;
  align-self: center !important;
  width: min(290px, 72%) !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  margin: 6px auto 14px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: .76 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-image: var(--communio-subsection-divider) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% auto !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03.communio-vista-interior-activa
    .memorial-main-view.main-activa:not(.memorial-main-inicio) > .e-con-inner::before,
  body.single-memorial.memorial-design-03.communio-vista-interior-activa
    .memorial-main-view.main-activa:not(.memorial-main-inicio):not(:has(> .e-con-inner))::before {
    width: min(320px, 90%) !important;
    height: 104px !important;
    flex-basis: 104px !important;
    margin-bottom: 12px !important;
  }

  body.single-memorial.memorial-design-03
    .memorial-main-memoria.main-activa > .e-con-inner
    > .communio-bloque-memoria ~ .communio-bloque-memoria::before,
  body.single-memorial.memorial-design-03
    .memorial-oracion-section.main-activa
    > .memorial-oracion-bloque ~ .memorial-oracion-bloque::before,
  body.single-memorial.memorial-design-03
    .communio-subseccion + .communio-subseccion::before {
    width: min(230px, 76%) !important;
    height: 40px !important;
    flex-basis: 40px !important;
    margin: 4px auto 10px !important;
  }
}

/* 1.12.25 FINAL — La ilustración queda dentro de la caja de la vista. */
@media (min-width: 1024px) {
  body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa) {
    background-color: #dfe7e3 !important;
    background-position: center top, center top !important;
    background-size: 860px 100%, 860px auto !important;
  }
}

/* 1.10.4 FINAL — prevalece sobre las reglas florales anteriores. */
body.single-memorial.memorial-design-03 .memorial-main-inicio {
  height: auto !important;
  min-height: calc(100svh + 80px) !important;
  max-height: none !important;
  padding-bottom: clamp(150px, 18vh, 230px) !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after,
body.single-memorial.memorial-design-03 :is(
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
}

body.single-memorial.memorial-design-03 :is(
  .communio-titulo-principal,
  .memorial-titulo-seccion,
  .memorial-subpantalla-titulo,
  .memorial-huellas-contenido-titulo,
  .communio-titulo-secundario,
  .communio-cabecera-titulo
)::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  background-image: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-toggle,
body.single-memorial.memorial-design-03
  .communio-header-interior-menu .memorial-radial-toggle {
  position: relative !important;
  top: -2px !important;
  background-color: #edf4f0 !important;
  border-color: rgba(48, 75, 80, .22) !important;
  box-shadow: 0 4px 12px rgba(48, 75, 80, .12) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio {
    min-height: calc(100svh + 64px) !important;
    padding-bottom: 170px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-memorial.memorial-design-03 *,
  body.single-memorial.memorial-design-03 *::before,
  body.single-memorial.memorial-design-03 *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}

/* 1.10.1 — Bouquet recuperado y montado sobre los marcos. */
body.single-memorial.memorial-design-03 {
  --mem-card-bouquet: url("../../../images/design-03/rework/card-bouquet.webp?v=1.23.61");
}

/* Portada: el mismo bouquet floral, completo y claramente visible. */
body.single-memorial.memorial-design-03 .memorial-main-inicio::before,
body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  width: clamp(210px, 26vw, 350px) !important;
  height: clamp(146px, 18vw, 244px) !important;
  background: var(--mem-card-bouquet) center / contain no-repeat !important;
  opacity: .94 !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
  top: -8px !important;
  left: -22px !important;
  transform: none !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  right: -18px !important;
  bottom: -4px !important;
  transform: rotate(180deg) !important;
}

/* La base antigua posicionaba cualquier ::before de portada de forma absoluta.
   Se restablece como elemento real de la columna para separar foto y nombre. */
body.single-memorial.memorial-design-03 .memorial-hero-content::before {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  align-self: center !important;
  order: -1 !important;
  flex: 0 0 88px !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  height: 88px !important;
  min-height: 88px !important;
  max-height: 88px !important;
  margin: -6px auto 8px !important;
}

body.single-memorial.memorial-design-03 :is(
  .communio-editable-nombre, .communio-portada-nombre
) :is(.communio-editable-acf-content, .elementor-heading-title)::before {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Menú: círculo más pequeño que no rebasa la altura de la cabecera. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-radial-menu .memorial-radial-toggle,
body.single-memorial.memorial-design-03
  .communio-header-interior-menu .memorial-radial-toggle {
  width: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  background-size: 72% auto !important;
}

/* Tarjetas: el bouquet se coloca encima del marco, nunca dentro de la caja. */
body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
) {
  overflow: visible !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  top: -38px !important;
  right: -22px !important;
  bottom: auto !important;
  z-index: 3 !important;
  width: clamp(154px, 19vw, 214px) !important;
  height: clamp(108px, 13.5vw, 150px) !important;
  transform: none !important;
  background: var(--mem-card-bouquet) right top / contain no-repeat !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio::before,
  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    width: 220px !important;
    height: 154px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
    top: -10px !important;
    left: -44px !important;
    transform: none !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    right: -42px !important;
    bottom: -2px !important;
    transform: rotate(180deg) !important;
  }

  body.single-memorial.memorial-design-03 .memorial-hero-content::before {
    flex-basis: 76px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    margin: -2px auto 7px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-radial-menu .memorial-radial-toggle,
  body.single-memorial.memorial-design-03
    .communio-header-interior-menu .memorial-radial-toggle {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card, .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item,
    .communio-acompanamiento-card,
    .memorial-condolencias-recibidas .e-loop-item
  )::after {
    top: -30px !important;
    right: -16px !important;
    width: 152px !important;
    height: 106px !important;
  }
}

/* 1.10.3 FINAL — los dos ángulos conservan su orientación original. */
body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
  top: 0 !important;
  left: 0 !important;
  width: clamp(250px, 31vw, 410px) !important;
  height: clamp(238px, 29.4vw, 389px) !important;
  transform: none !important;
  background: var(--mem-corner-upper-left) left top / contain no-repeat !important;
  opacity: 1 !important;
}

body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(270px, 33vw, 430px) !important;
  height: clamp(218px, 26.7vw, 347px) !important;
  transform: none !important;
  background: var(--mem-corner-lower-right) right bottom / contain no-repeat !important;
  opacity: 1 !important;
}

body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card, .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item,
  .communio-acompanamiento-card,
  .memorial-condolencias-recibidas .e-loop-item
)::after {
  top: -40px !important;
  right: -28px !important;
  bottom: auto !important;
  width: clamp(178px, 21vw, 238px) !important;
  height: clamp(169px, 20vw, 226px) !important;
  transform: scaleX(-1) !important;
  background: var(--mem-corner-upper-left) right top / contain no-repeat !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
    width: 270px !important;
    height: 257px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-main-inicio::after {
    width: 286px !important;
    height: 231px !important;
  }

  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card, .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item,
    .communio-acompanamiento-card,
    .memorial-condolencias-recibidas .e-loop-item
  )::after {
    top: -34px !important;
    right: -24px !important;
    width: 184px !important;
    height: 175px !important;
    transform: scaleX(-1) !important;
  }
}

/* 1.11.2 PRIORIDAD DE ENTREGA — Condolencias. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .e-loop-item::after,
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-card {
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acompanamiento-gesto,
    .communio-acompanamiento-gesto.elementor-widget,
    .communio-acompanamiento-gesto .elementor-widget-container,
    .communio-acompanamiento-gesto .communio-acomp-visual-card
  ) {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-card {
    border-radius: 18px !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acompanamiento-gesto .communio-acomp-visual-card img {
    aspect-ratio: 16 / 9 !important;
  }
}

/* 1.11.3 — Imágenes definitivas y dos columnas en Condolencias. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-condolencias .memorial-condolencias-recibidas {
  width: 100% !important;
  max-width: 960px !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(.elementor-loop-container, .elementor-grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 960px !important;
}

/* La clase funcional del gesto decide la imagen; el orden de las tarjetas no importa. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-card {
  aspect-ratio: 16 / 10 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-card > img {
  opacity: 0 !important;
  visibility: hidden !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acomp-visual-flores,
    .communio-acomp-visual-agradecimiento
  ) {
  background-image: var(--communio-condolencia-gesto) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-vela {
  background-image: var(--communio-condolencia-vela) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas :is(
    .communio-acomp-visual-mensaje_apoyo,
    .communio-acomp-visual-legado
  ) {
  background-image: var(--communio-condolencia-recuerdo) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-oracion_intencion {
  background-image: var(--communio-condolencia-oracion) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-abrazo {
  background-image: var(--communio-condolencia-presencia) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-condolencias-recibidas .communio-acomp-visual-otro {
  background-image: var(--communio-condolencia-otro) !important;
}

/* 1.12.4 — Portada estable también durante la edición.
   El ancho explícito impide que las herramientas alteren la caja de la foto.
   El ramo pertenece únicamente a esa caja interior, evitando duplicados cuando
   Elementor y el editor generan dos envoltorios distintos. */
body.single-memorial.memorial-design-03 :is(
  .memorial-hero-image,
  .communio-portada-imagen
) {
  width: min(74vw, 302px) !important;
  max-width: min(74vw, 302px) !important;
}

body.single-memorial.memorial-design-03 .communio-portada-imagen::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03 .memorial-hero-image::after {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  display: block !important;
  right: 50% !important;
  bottom: -54px !important;
  width: min(72vw, 350px) !important;
  height: auto !important;
  aspect-ratio: 3.48 / 1 !important;
  transform: translateX(50%) !important;
  background: var(--mem-photo-bouquet) center / contain no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

body.single-memorial.memorial-design-03 .communio-portada-imagen :is(
  picture,
  .elementor-widget-container,
  .elementor-image,
  .communio-editable-image,
  .communio-editable-image-content,
  .cmi-editable-image-target
) {
  width: 100% !important;
  max-width: 100% !important;
}

body.single-memorial.memorial-design-03 .communio-portada-imagen img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* En modo edición el ramo es un elemento real dentro de la caja de la foto.
   Así las pestañas superiores desplazan foto, marco y ramo como una unidad. */
body.single-memorial.memorial-design-03.communio-modo-edicion-activo
  .memorial-hero-image::after,
body.single-memorial.memorial-design-03.communio-modo-edicion-activo
  .communio-portada-imagen::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03 .communio-portada-ramo-edicion {
  position: absolute !important;
  z-index: 8 !important;
  right: 50% !important;
  bottom: -54px !important;
  display: block !important;
  width: min(72vw, 350px) !important;
  height: auto !important;
  aspect-ratio: 3.48 / 1 !important;
  transform: translateX(50%) !important;
  background: var(--mem-photo-bouquet) center / contain no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* El ángulo floral superior forma parte del marco y lo cubre ligeramente.
   Se elimina su antigua copia, anclada al fondo de la portada. */
body.single-memorial.memorial-design-03 .memorial-main-inicio::before {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.single-memorial.memorial-design-03 .communio-portada-flor-superior {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 :is(
    .memorial-hero-image,
    .communio-portada-imagen
  ) {
    width: min(calc(100vw - 126px), 270px) !important;
    max-width: min(calc(100vw - 126px), 270px) !important;
    margin-bottom: 52px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-hero-image::after {
    bottom: -47px !important;
    width: min(74vw, 292px) !important;
  }

  body.single-memorial.memorial-design-03 .communio-portada-ramo-edicion {
    bottom: -47px !important;
    width: min(74vw, 292px) !important;
  }

}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas :is(.elementor-loop-container, .elementor-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.single-memorial.memorial-design-03:not(.elementor-editor-active)
    .memorial-condolencias-recibidas .communio-acomp-visual-card {
    aspect-ratio: 16 / 9 !important;
  }
}

/* 1.12.24 EFECTIVO — Contraste posterior a las reglas de fondos. */
body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa) {
  background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
}
@media (max-width: 767px) {
  body.single-memorial.memorial-design-03:is(.memorial-content-pack-cristiana,.memorial-content-pack-musulmana,.memorial-content-pack-judia,.memorial-content-pack-laica,.memorial-content-pack-espiritual,.memorial-content-pack-otra_religiosa)::before {
    background-image: linear-gradient(to bottom, rgba(246,251,249,.08) 0%, rgba(246,251,249,.14) 62%, rgba(246,251,249,.28) 100%), var(--communio-reading-bg) !important;
  }
}

/* 1.11.1 ENTREGA — Voces y Recuerdos recibidos. */
body.single-memorial.memorial-design-03 :is(
  .memorial-voz-card,
  .memorial-media-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .communio-recuerdo-card,
  .memorial-recuerdos-recibidos .e-loop-item
)::after {
  top: 18px !important;
  right: 16px !important;
  bottom: auto !important;
  z-index: 2 !important;
  width: clamp(48px, 7vw, 70px) !important;
  height: clamp(70px, 10vw, 96px) !important;
  transform: rotate(4deg) !important;
  background: var(--mem-light-sprig) center / contain no-repeat !important;
  opacity: .48 !important;
  filter: saturate(.72) contrast(.92) !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
  top: 20px !important;
  left: 20px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
  min-height: 132px !important;
  padding-top: 24px !important;
}

body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
  padding-right: clamp(62px, 9vw, 88px) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-03 :is(
    .memorial-voz-card,
    .memorial-media-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .communio-recuerdo-card,
    .memorial-recuerdos-recibidos .e-loop-item
  )::after {
    top: 14px !important;
    right: 12px !important;
    width: 45px !important;
    height: 66px !important;
    opacity: .44 !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-foto,
  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner > .memorial-voz-foto {
    top: 18px !important;
    left: 18px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card > .e-con-inner {
    min-height: 112px !important;
    padding-top: 22px !important;
  }

  body.single-memorial.memorial-design-03 .memorial-voz-card .memorial-voz-relacion {
    padding-right: 54px !important;
  }
}

/* La imagen de cada tarjeta forma parte del diseño y cambia automáticamente
   con la orientación; la imagen genérica de Elementor queda solo como reserva. */
body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-video
  :is(.memorial-card-imagen,.memorial-card-imagen .elementor-widget-container) {
  background-image: var(--communio-card-pinceladas) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-galeria
  :is(.memorial-card-imagen,.memorial-card-imagen .elementor-widget-container) {
  background-image: var(--communio-card-galeria) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-menu .memorial-card-recuerdos
  :is(.memorial-card-imagen,.memorial-card-imagen .elementor-widget-container) {
  background-image: var(--communio-card-recuerdos) !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-menu :is(.memorial-card-video,.memorial-card-galeria,.memorial-card-recuerdos)
  :is(.memorial-card-imagen,.memorial-card-imagen .elementor-widget-container) {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.single-memorial.memorial-design-03:not(.elementor-editor-active)
  .memorial-media-menu :is(.memorial-card-video,.memorial-card-galeria,.memorial-card-recuerdos)
  .memorial-card-imagen img {
  opacity: 0 !important;
  visibility: hidden !important;
}
