/**
 * COMMUNIO — Single Memorial
 * Migración literal desde Elementor, plantilla "Memorial single" (ID 26459).
 *
 * IMPORTANTE:
 * - No editar en paralelo con el CSS personalizado de Elementor.
 * - Durante la validación inicial puede permanecer duplicado temporalmente.
 * - La limpieza y segmentación se harán después de confirmar equivalencia visual.
 */

/* =========================================================
   COMMUNIO / MEMORIAL — CSS LIMPIO UNIFICADO
   Versión organizada desde el CSS actual
   ========================================================= */

/* =========================================================
   00 — VARIABLES VISUALES BASE
   ========================================================= */

:root {
  --mem-bg: #fbf8f3;
  --mem-white: #ffffff;
  --mem-card: rgba(255,255,255,0.90);

  --mem-brown: #7a4f34;
  --mem-brown-soft: #7a5c45;
  --mem-text: #4f463f;
  --mem-muted: #5f5248;

  --mem-border: rgba(122, 92, 69, 0.12);
  --mem-border-strong: rgba(122, 92, 69, 0.22);

  --mem-shadow-card: 0 12px 30px rgba(55, 42, 32, 0.065);
  --mem-shadow-card-hover: 0 16px 38px rgba(55, 42, 32, 0.10);
  --mem-shadow-photo: 0 16px 38px rgba(55, 42, 32, 0.18);

  --mem-serif: Georgia, "Times New Roman", serif;
  --mem-radius: 24px;
  --mem-radius-large: 28px;
}


/* =========================================================
   01 — MINIAPP / VISTAS / NAVEGACIÓN INTERNA
   No tocar salvo cambio funcional
   ========================================================= */

.memorial-main-view {
  display: none !important;
}

.memorial-main-view.main-activa:not(.memorial-media-view) {
  display: block !important;
}

.memorial-main-view.main-activa.memorial-media-view.media-activa {
  display: block !important;
}

.memorial-media-view {
  display: none !important;
}

.memorial-huellas-view {
  display: none !important;
}

.memorial-huellas-view.huellas-activa {
  display: block !important;
}

.memorial-oculto {
  display: none !important;
}


/* =========================================================
   02 — FONDO GLOBAL / ESTRUCTURA GENERAL
   ========================================================= */

body.single-memorial,
.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: var(--mem-bg) !important;
}

.memorial-main-view,
.memorial-media-view,
.memorial-huellas-view {
  scroll-margin-top: 0 !important;
}





/* =========================================================
   04 — MODO EDICIÓN ELEMENTOR
   ========================================================= */

body.elementor-editor-active .memorial-main-view,
body.elementor-editor-active .memorial-media-view,
body.elementor-editor-active .memorial-huellas-view {
  display: none !important;
}

body.elementor-editor-active .memorial-main-inicio,
body.elementor-editor-active .editar-ahora,
body.elementor-editor-active .memorial-main-view.editar-ahora,
body.elementor-editor-active .memorial-media-view.editar-ahora,
body.elementor-editor-active .memorial-huellas-view.editar-ahora {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================================
   BOTONES VOLVER — VISIBLES, UNIFICADOS Y FLOTANTES
   Fuente única para botones Volver en subpantallas activas.
   Sustituye la antigua responsabilidad de:
   10.12 — BOTONES VOLVER EN SUBPANTALLAS
   ========================================================= */

/* Contenedor del botón Volver SOLO dentro de vistas activas */
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;

  position: fixed !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 18px !important;

  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  justify-content: center !important;
  align-items: center !important;

  overflow: visible !important;
  pointer-events: none !important;

  z-index: 999990 !important;
}

/* Wrapper interno de Elementor */
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver .elementor-button-wrapper,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante .elementor-button-wrapper,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver .elementor-button-wrapper,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante .elementor-button-wrapper,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver .elementor-button-wrapper,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante .elementor-widget-container,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante .elementor-button-wrapper {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;

  width: auto !important;
  max-width: 100% !important;
  height: auto !important;

  justify-content: center !important;
  align-items: center !important;

  overflow: visible !important;
  pointer-events: auto !important;
}

/* Botón real */
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver .elementor-button,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante .elementor-button,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver .elementor-button,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante .elementor-button,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver .elementor-button,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante .elementor-button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;

  align-items: center !important;
  justify-content: center !important;

  min-height: 42px !important;
  padding: 10px 18px !important;

  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;

  color: #6b4b36 !important;

  border: 1px solid rgba(122, 92, 69, 0.28) !important;
  border-radius: 999px !important;

  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;

  box-shadow: 0 8px 22px rgba(55, 42, 32, 0.14) !important;

  pointer-events: auto !important;
  z-index: 999991 !important;
}

body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver .elementor-button:hover,
body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante .elementor-button:hover,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver .elementor-button:hover,
body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante .elementor-button:hover,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver .elementor-button:hover,
body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante .elementor-button:hover {
  background: #f7f1ea !important;
  color: #563927 !important;
  border-color: rgba(122, 92, 69, 0.42) !important;
  box-shadow: 0 10px 26px rgba(55, 42, 32, 0.18) !important;
}

/* Contenido interno */
.memorial-boton-volver .elementor-button-content-wrapper,
.memorial-volver-flotante .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
}

.memorial-boton-volver .elementor-button-text,
.memorial-volver-flotante .elementor-button-text,
.memorial-boton-volver .elementor-button-icon,
.memorial-volver-flotante .elementor-button-icon {
  color: inherit !important;
}

.memorial-boton-volver .elementor-button-icon,
.memorial-volver-flotante .elementor-button-icon {
  margin: 0 !important;
}

/* Móvil */
@media (max-width: 767px) {
  body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver,
  body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante,
  body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver,
  body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante,
  body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver,
  body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-boton-volver .elementor-button,
  body:not(.elementor-editor-active) .memorial-main-view.main-activa .memorial-volver-flotante .elementor-button,
  body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-boton-volver .elementor-button,
  body:not(.elementor-editor-active) .memorial-media-view.media-activa .memorial-volver-flotante .elementor-button,
  body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-boton-volver .elementor-button,
  body:not(.elementor-editor-active) .memorial-huellas-view.huellas-activa .memorial-volver-flotante .elementor-button {
    min-height: 40px !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    box-shadow: 0 7px 18px rgba(55, 42, 32, 0.15) !important;
  }
}
/* =========================================================
   06 — PORTADA 01
   Vertical estable + apaisado controlado
   ========================================================= */

/*
   Base:
   - Móvil y escritorio normal: foto arriba + textos debajo.
   - Apaisado amplio: foto izquierda + textos derecha.
   - Editor contextual sigue funcionando porque mantenemos:
     .communio-editable-nombre
     .communio-editable-fechas
     .communio-editable-frase
*/

.memorial-main-inicio {
  overflow: visible !important;
}

/* Contenedor principal de portada */
.memorial-hero-media,
.communio-portada-stack,
.communio-portada-stack > .e-con-inner {
  width: 100% !important;
  max-width: 860px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 30px 24px 44px !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 27px !important;
  row-gap: 27px !important;

  text-align: center !important;
  overflow: visible !important;

  --display: flex !important;
  --flex-direction: column !important;
  --align-items: center !important;
  --justify-content: flex-start !important;
  --gap: 27px !important;
}

/* Imagen */
.memorial-hero-image,
.memorial-hero-image .elementor-widget-container {
  width: 100% !important;
  max-width: 390px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  flex: 0 0 auto !important;

  overflow: visible !important;
  box-sizing: border-box !important;

  --width: 100% !important;
  --max-width: 390px !important;
  --flex-grow: 0 !important;
  --flex-shrink: 0 !important;
}

.memorial-hero-image img {
  display: block !important;

  width: auto !important;
  max-width: 100% !important;

  height: auto !important;
  max-height: 52vh !important;

  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;

  margin: 0 auto !important;

  border-radius: 28px !important;
  box-shadow: var(--mem-shadow-photo) !important;
}

/* Contenedor de textos */
.memorial-hero-content,
.memorial-hero-content > .e-con-inner {
  width: 100% !important;
  max-width: 720px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 13px !important;
  row-gap: 13px !important;

  text-align: center !important;
  box-sizing: border-box !important;

  --display: flex !important;
  --flex-direction: column !important;
  --align-items: center !important;
  --justify-content: flex-start !important;
  --gap: 13px !important;
}

/* Limpieza de márgenes raros de Elementor dentro de textos */
.memorial-hero-content > *,
.memorial-hero-content > .e-con-inner > *,
.memorial-hero-content .elementor-widget,
.memorial-hero-content .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Nombre */
.communio-editable-nombre,
.communio-editable-nombre .elementor-widget-container,
.memorial-hero-content > .elementor-widget-heading:first-child,
.memorial-hero-content > .elementor-widget-heading:first-child .elementor-widget-container {
  width: 100% !important;
  max-width: 720px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 0 !important;

  text-align: center !important;
  box-sizing: border-box !important;
}

/* Título/nombre */
.communio-editable-nombre .elementor-heading-title,
.memorial-hero-content > .elementor-widget-heading:first-child .elementor-heading-title {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 auto !important;
  padding: 0 !important;

  font-family: var(--mem-serif) !important;
  font-size: clamp(30px, 3.2vw, 42px) !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  color: #5a4030 !important;

  text-align: center !important;

  white-space: pre-line !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Cruz sobre el nombre */
.communio-editable-nombre .elementor-heading-title::before,
.memorial-hero-content > .elementor-widget-heading:first-child .elementor-heading-title::before {
  content: "" !important;

  display: block !important;
  width: 36px !important;
  height: 36px !important;

  margin: 0 auto 10px !important;
  padding: 0 !important;

  background:
    linear-gradient(
      rgba(122, 79, 52, 0.70),
      rgba(122, 79, 52, 0.70)
    ) center center / 2px 32px no-repeat,
    linear-gradient(
      rgba(122, 79, 52, 0.70),
      rgba(122, 79, 52, 0.70)
    ) center 13px / 18px 2px no-repeat !important;

  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
}

/* Fechas */
.communio-editable-fechas,
.communio-editable-fechas .elementor-widget-container,
.communio-editable-fechas .elementor-heading-title,
.communio-editable-fechas p,
.memorial-hero-content > .elementor-element:nth-child(2) {
  width: 100% !important;
  max-width: 660px !important;

  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  text-align: center !important;
  box-sizing: border-box !important;
}

.memorial-hero-content > .elementor-element:nth-child(2) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 4px 10px !important;

  padding: 0 !important;

  --display: flex !important;
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --align-items: center !important;
  --justify-content: center !important;
  --gap: 10px !important;
}

.memorial-hero-content > .elementor-element:nth-child(2) > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

.communio-editable-fechas .elementor-heading-title,
.communio-editable-fechas p,
.memorial-hero-content > .elementor-element:nth-child(2) .elementor-heading-title {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: rgba(90, 64, 48, 0.72) !important;
  letter-spacing: 0.03em !important;
  text-align: center !important;
}

/* Frase */
.communio-editable-frase,
.communio-editable-frase .elementor-widget-container,
.communio-editable-frase p,
.memorial-hero-content .elementor-widget-text-editor,
.memorial-hero-content .elementor-widget-text-editor .elementor-widget-container {
  width: 100% !important;
  max-width: 620px !important;

  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  text-align: center !important;
  box-sizing: border-box !important;
}

.communio-editable-frase,
.communio-editable-frase p,
.memorial-hero-content .elementor-widget-text-editor,
.memorial-hero-content .elementor-widget-text-editor p {
  font-family: var(--mem-serif) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: rgba(79, 70, 63, 0.86) !important;
  text-align: center !important;
}

/* Tamaños guardados del nombre */
body.single-memorial.memorial-portada-nombre-muy_pequeno .communio-editable-nombre .elementor-heading-title {
  font-size: clamp(22px, 2.2vw, 29px) !important;
}

body.single-memorial.memorial-portada-nombre-pequeno .communio-editable-nombre .elementor-heading-title {
  font-size: clamp(25px, 2.6vw, 34px) !important;
}

body.single-memorial.memorial-portada-nombre-grande .communio-editable-nombre .elementor-heading-title {
  font-size: clamp(34px, 3.8vw, 50px) !important;
}

body.single-memorial.memorial-portada-nombre-muy_grande .communio-editable-nombre .elementor-heading-title {
  font-size: clamp(38px, 4.3vw, 56px) !important;
}

/* Tamaños guardados de fechas */
body.single-memorial.memorial-portada-fechas-muy_pequeno .communio-editable-fechas,
body.single-memorial.memorial-portada-fechas-muy_pequeno .communio-editable-fechas .elementor-heading-title,
body.single-memorial.memorial-portada-fechas-muy_pequeno .communio-editable-fechas p {
  font-size: 12px !important;
}

body.single-memorial.memorial-portada-fechas-pequeno .communio-editable-fechas,
body.single-memorial.memorial-portada-fechas-pequeno .communio-editable-fechas .elementor-heading-title,
body.single-memorial.memorial-portada-fechas-pequeno .communio-editable-fechas p {
  font-size: 14px !important;
}

body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas,
body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas .elementor-heading-title,
body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas p {
  font-size: 19px !important;
}

body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas,
body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas .elementor-heading-title,
body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas p {
  font-size: 22px !important;
}

/* Tamaños guardados de frase */
body.single-memorial.memorial-portada-frase-muy_pequeno .communio-editable-frase,
body.single-memorial.memorial-portada-frase-muy_pequeno .communio-editable-frase p {
  font-size: 12.5px !important;
  line-height: 1.42 !important;
}

body.single-memorial.memorial-portada-frase-pequeno .communio-editable-frase,
body.single-memorial.memorial-portada-frase-pequeno .communio-editable-frase p {
  font-size: 14px !important;
  line-height: 1.46 !important;
}

body.single-memorial.memorial-portada-frase-grande .communio-editable-frase,
body.single-memorial.memorial-portada-frase-grande .communio-editable-frase p {
  font-size: 19px !important;
  line-height: 1.58 !important;
}

body.single-memorial.memorial-portada-frase-muy_grande .communio-editable-frase,
body.single-memorial.memorial-portada-frase-muy_grande .communio-editable-frase p {
  font-size: 22px !important;
  line-height: 1.62 !important;
}

/* Tablet vertical / escritorio estrecho: sigue vertical */
@media (max-width: 1024px) {
  .memorial-hero-media,
  .communio-portada-stack,
  .communio-portada-stack > .e-con-inner {
    max-width: 760px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    gap: 24px !important;
    row-gap: 24px !important;
  }

  .memorial-hero-image,
  .memorial-hero-image .elementor-widget-container {
    max-width: 360px !important;
  }

  .memorial-hero-content,
  .memorial-hero-content > .e-con-inner {
    gap: 12px !important;
    row-gap: 12px !important;
  }
}

/* Móvil: vertical */
@media (max-width: 767px) {
  .memorial-hero-media,
  .communio-portada-stack,
  .communio-portada-stack > .e-con-inner {
    max-width: 100% !important;
    padding: 26px 18px 38px !important;
    gap: 22px !important;
    row-gap: 22px !important;
  }

  .memorial-hero-image,
  .memorial-hero-image .elementor-widget-container {
    max-width: min(92vw, 360px) !important;
  }

  .memorial-hero-image img {
    max-height: 54vh !important;
    border-radius: 26px !important;
  }

  .memorial-hero-content,
  .memorial-hero-content > .e-con-inner {
    max-width: 100% !important;
    gap: 11px !important;
    row-gap: 11px !important;
  }

  .communio-editable-nombre .elementor-heading-title,
  .memorial-hero-content > .elementor-widget-heading:first-child .elementor-heading-title {
    font-size: clamp(29px, 7.4vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .communio-editable-nombre .elementor-heading-title::before,
  .memorial-hero-content > .elementor-widget-heading:first-child .elementor-heading-title::before {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 9px !important;

    background:
      linear-gradient(
        rgba(122, 79, 52, 0.70),
        rgba(122, 79, 52, 0.70)
      ) center center / 2px 30px no-repeat,
      linear-gradient(
        rgba(122, 79, 52, 0.70),
        rgba(122, 79, 52, 0.70)
      ) center 12px / 17px 2px no-repeat !important;
  }

  .communio-editable-fechas .elementor-heading-title,
  .communio-editable-fechas p,
  .memorial-hero-content > .elementor-element:nth-child(2) .elementor-heading-title {
    font-size: 13.5px !important;
    line-height: 1.3 !important;
  }

  .communio-editable-frase,
  .communio-editable-frase p,
  .memorial-hero-content .elementor-widget-text-editor,
  .memorial-hero-content .elementor-widget-text-editor p {
    font-size: 15.5px !important;
    line-height: 1.48 !important;
  }

  body.single-memorial.memorial-portada-nombre-grande .communio-editable-nombre .elementor-heading-title {
    font-size: clamp(32px, 7.8vw, 42px) !important;
  }

  body.single-memorial.memorial-portada-nombre-muy_grande .communio-editable-nombre .elementor-heading-title {
    font-size: clamp(34px, 8.4vw, 46px) !important;
  }
}

/* =========================================================
   PORTADA — MÓVIL APAISADO EN TRES FRANJAS
   Izquierda: imagen, ocupa 1/3.
   Derecha: nombre, fechas y frase, ocupan 2/3.
   El resto de dispositivos conserva la portada vertical.
   ========================================================= */

@media screen
  and (orientation: landscape)
  and (max-width: 1024px)
  and (max-height: 600px)
  and (pointer: coarse) {

  body.single-memorial .memorial-hero-media,
  body.single-memorial .communio-portada-stack > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    padding: 14px 22px 18px !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 20px !important;
    row-gap: 0 !important;
    column-gap: 20px !important;

    --flex-direction: row !important;
    --flex-wrap: nowrap !important;
    --align-items: center !important;
    --justify-content: center !important;
    --gap: 20px !important;
  }

  /* Primera franja: fotografía */
  body.single-memorial .memorial-hero-image,
  body.single-memorial .memorial-hero-image .elementor-widget-container {
    width: calc(33.333% - 10px) !important;
    max-width: calc(33.333% - 10px) !important;
    flex: 0 0 calc(33.333% - 10px) !important;

    margin: 0 !important;
    padding: 0 !important;
  }

body.single-memorial .memorial-hero-image img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;

    height: min(82vh, 340px) !important;
    max-height: min(82vh, 340px) !important;

    object-fit: contain !important;
    object-position: center top !important;

    margin: 0 auto !important;
    border-radius: 20px !important;
}

  /* Las otras dos franjas: nombre, fechas y frase */
  body.single-memorial .memorial-hero-content,
  body.single-memorial .memorial-hero-content > .e-con-inner {
    width: calc(66.667% - 10px) !important;
    max-width: calc(66.667% - 10px) !important;
    flex: 0 0 calc(66.667% - 10px) !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;
    row-gap: 8px !important;

    text-align: center !important;

    --flex-direction: column !important;
    --align-items: center !important;
    --justify-content: center !important;
    --gap: 8px !important;
  }

  body.single-memorial .communio-portada-nombre,
  body.single-memorial .communio-portada-fechas,
  body.single-memorial .communio-portada-frase {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.single-memorial
  .communio-portada-nombre
  .communio-editable-acf-content {
    line-height: 1.05 !important;
  }

  body.single-memorial
  .communio-portada-nombre.communio-tamano-normal {
    --portada-nombre-size: clamp(24px, 4vw, 34px);
  }

  body.single-memorial
  .communio-portada-fecha.communio-tamano-normal {
    --portada-fecha-size: 13px;
  }

  body.single-memorial
  .communio-portada-frase.communio-tamano-normal {
    --portada-frase-size: 14px;
  }
}
/* =========================================================
   06.9 — PORTADA / FECHAS Y FRASE EN ESCRITORIO APAISADO
   El tamaño del nombre en apaisado lo controla:
   FIX FINAL — PORTADA APAISADA: MÁS ANCHO PARA EL TEXTO
   ========================================================= */

@media (min-width: 1025px) and (min-height: 650px) {

  /* Fechas grandes en portada apaisada */
  body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas,
  body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas .elementor-heading-title,
  body.single-memorial.memorial-portada-fechas-grande .communio-editable-fechas p {
    font-size: 17px !important;
    line-height: 1.32 !important;
  }

  body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas,
  body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas .elementor-heading-title,
  body.single-memorial.memorial-portada-fechas-muy_grande .communio-editable-fechas p {
    font-size: 19px !important;
    line-height: 1.28 !important;
  }

  /* Frase grande en portada apaisada */
  body.single-memorial.memorial-portada-frase-grande .communio-editable-frase,
  body.single-memorial.memorial-portada-frase-grande .communio-editable-frase p {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  body.single-memorial.memorial-portada-frase-muy_grande .communio-editable-frase,
  body.single-memorial.memorial-portada-frase-muy_grande .communio-editable-frase p {
    font-size: 20px !important;
    line-height: 1.48 !important;
  }
}
/* =========================================================
   PORTADA — SHORTCODES ACF GENÉRICOS
   Sustituye visualmente al editor antiguo de textos
   ========================================================= */

/* Variables de tamaño según el selector genérico */
.communio-portada-nombre {
    --portada-nombre-size: clamp(25px, 3vw, 36px);
}

.communio-portada-nombre.communio-tamano-muy-pequeno {
    --portada-nombre-size: clamp(22px, 2.2vw, 29px);
}

.communio-portada-nombre.communio-tamano-pequeno {
    --portada-nombre-size: clamp(25px, 2.6vw, 34px);
}

.communio-portada-nombre.communio-tamano-grande {
    --portada-nombre-size: clamp(34px, 3.8vw, 50px);
}

.communio-portada-nombre.communio-tamano-muy-grande {
    --portada-nombre-size: clamp(38px, 4.3vw, 56px);
}

.communio-portada-fecha {
    --portada-fecha-size: 14px;
}

.communio-portada-fecha.communio-tamano-muy-pequeno {
    --portada-fecha-size: 12px;
}

.communio-portada-fecha.communio-tamano-pequeno {
    --portada-fecha-size: 13px;
}

.communio-portada-fecha.communio-tamano-grande {
    --portada-fecha-size: 17px;
}

.communio-portada-fecha.communio-tamano-muy-grande {
    --portada-fecha-size: 19px;
}

.communio-portada-frase {
    --portada-frase-size: 16px;
}

.communio-portada-frase.communio-tamano-muy-pequeno {
    --portada-frase-size: 12.5px;
}

.communio-portada-frase.communio-tamano-pequeno {
    --portada-frase-size: 14px;
}

.communio-portada-frase.communio-tamano-grande {
    --portada-frase-size: 19px;
}

.communio-portada-frase.communio-tamano-muy-grande {
    --portada-frase-size: 22px;
}

/* Nombre */
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-nombre {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-nombre
.communio-editable-acf-content {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    font-family: var(--mem-serif) !important;
    font-size: var(--portada-nombre-size) !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    color: #5a4030 !important;
    text-align: center !important;
white-space: normal !important;
word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* Cruz sobre el nombre */
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-nombre
.communio-editable-acf-content::before {
    content: "" !important;
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 auto 10px !important;
    padding: 0 !important;
    background:
        linear-gradient(
            rgba(122, 79, 52, 0.70),
            rgba(122, 79, 52, 0.70)
        ) center center / 2px 32px no-repeat,
        linear-gradient(
            rgba(122, 79, 52, 0.70),
            rgba(122, 79, 52, 0.70)
        ) center 13px / 18px 2px no-repeat !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Contenedor de fechas */
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-fechas {
    width: 100% !important;
    max-width: 660px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px 10px !important;
    text-align: center !important;
}

/* Fechas editables */
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-fechas
.communio-portada-fecha {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-fechas
.communio-portada-fecha
.communio-editable-acf-content {
    font-size: var(--portada-fecha-size) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: rgba(90, 64, 48, 0.72) !important;
    letter-spacing: 0.03em !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Frase de homenaje */
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-frase {
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}

body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-frase
.communio-editable-acf-content,
body:not(.elementor-editor-active)
.memorial-main-inicio
.communio-portada-frase
.communio-editable-acf-content p {
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: var(--mem-serif) !important;
    font-size: var(--portada-frase-size) !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: rgba(79, 70, 63, 0.86) !important;
    text-align: center !important;
    text-justify: auto !important;
    hyphens: none !important;
}

/* Ajustes móviles */
@media (max-width: 767px) {

    .communio-portada-nombre.communio-tamano-normal {
    --portada-nombre-size: clamp(25px, 7vw, 34px);
}
    .communio-portada-nombre.communio-tamano-grande {
        --portada-nombre-size: clamp(37px, 8vw, 42px);
    }

    .communio-portada-nombre.communio-tamano-muy-grande {
        --portada-nombre-size: clamp(41px, 9vw, 46px);
    }
    body:not(.elementor-editor-active)
    .memorial-main-inicio
    .communio-portada-nombre
    .communio-editable-acf-content {
        line-height: 1.08 !important;
    }

    body:not(.elementor-editor-active)
    .memorial-main-inicio
    .communio-portada-nombre
    .communio-editable-acf-content::before {
        width: 34px !important;
        height: 34px !important;
        margin-bottom: 9px !important;
        background:
            linear-gradient(
                rgba(122, 79, 52, 0.70),
                rgba(122, 79, 52, 0.70)
            ) center center / 2px 30px no-repeat,
            linear-gradient(
                rgba(122, 79, 52, 0.70),
                rgba(122, 79, 52, 0.70)
            ) center 12px / 17px 2px no-repeat !important;
    }

    .communio-portada-fecha.communio-tamano-normal {
        --portada-fecha-size: 13.5px;
    }

    .communio-portada-frase.communio-tamano-normal {
        --portada-frase-size: 15.5px;
    }

    body:not(.elementor-editor-active)
    .memorial-main-inicio
    .communio-portada-frase
    .communio-editable-acf-content,
    body:not(.elementor-editor-active)
    .memorial-main-inicio
    .communio-portada-frase
    .communio-editable-acf-content p {
        line-height: 1.48 !important;
    }
}
/* =========================================================
   07.1 — MEMORIA / SECCIÓN 02 AJUSTE DEFINITIVO
   Va entre 06.9 y 10
   ========================================================= */

/* Sección 02 - Memoria */
.memorial-main-memoria {
  width: 100% !important;
  max-width: none !important;
  padding: 0 20px 42px !important;
  box-sizing: border-box !important;
  background: var(--mem-bg) !important;
}

/* Cabecera secundaria */
.memorial-main-memoria .communio-cabecera-secundaria {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  margin: 0 auto 30px !important;
  padding: 10px 0 2px !important;
  text-align: center !important;
  position: relative !important;
}

/* Nombre de la cabecera secundaria */
.memorial-main-memoria .communio-cabecera-nombre,
.memorial-main-memoria .communio-cabecera-nombre *,
.memorial-main-memoria .communio-cabecera-nombre .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
 color: #8a5f42 !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(31px, 5vw, 46px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  text-align: center !important;
}

/* Separador cabecera */
.memorial-main-memoria .communio-cabecera-separador {
  width: min(260px, 70%) !important;
  margin: 15px auto 0 !important;
  padding: 0 !important;
  color: #b08a6a !important;
  opacity: .95 !important;
}

.memorial-main-memoria .communio-cabecera-separador *,
.memorial-main-memoria .communio-cabecera-separador .elementor-divider-separator,
.memorial-main-memoria .communio-cabecera-separador .elementor-divider__text {
  color: #b08a6a !important;
  border-color: rgba(176, 138, 106, .46) !important;
}

/* Bloques de lectura */
.memorial-main-memoria .memorial-memoria-card,
.memorial-main-memoria .memorial-memoria-frase-final,
.memorial-main-memoria .communio-bloque-memoria {
  width: min(700px, 100%) !important;
  max-width: 700px !important;

  margin-top: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 16px !important;

  padding: 0 !important;

  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;

  --margin-top: 0px !important;
  --margin-bottom: 16px !important;

  box-sizing: border-box !important;
}

/* Último bloque */
.memorial-main-memoria .memorial-memoria-card:last-child,
.memorial-main-memoria .memorial-memoria-frase-final:last-child,
.memorial-main-memoria .communio-bloque-memoria:last-child {
  margin-bottom: 0 !important;
}

/* Limpieza widgets internos */
.memorial-main-memoria .elementor-widget {
  margin-bottom: 0 !important;
}

.memorial-main-memoria .elementor-widget:not(:last-child) {
  margin-bottom: 8px !important;
}

/* Título principal de Memoria */
.memorial-main-memoria .memorial-memoria-card:first-of-type .elementor-widget-heading .elementor-heading-title,
.memorial-main-memoria .communio-titulo-principal,
.memorial-main-memoria .communio-titulo-principal *,
.memorial-main-memoria .communio-titulo-principal .elementor-heading-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
 color: #8a5f42 !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(27px, 4vw, 35px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.18 !important;
  text-align: center !important;
}

/* Títulos secundarios */
.memorial-main-memoria .memorial-memoria-card:not(:first-of-type) .elementor-widget-heading .elementor-heading-title,
.memorial-main-memoria .memorial-memoria-frase-final .elementor-widget-heading .elementor-heading-title,
.memorial-main-memoria .memorial-subpantalla-titulo,
.memorial-main-memoria .memorial-subpantalla-titulo *,
.memorial-main-memoria .memorial-subpantalla-titulo .elementor-heading-title,
.memorial-main-memoria .communio-titulo-secundario,
.memorial-main-memoria .communio-titulo-secundario *,
.memorial-main-memoria .communio-titulo-secundario .elementor-heading-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #8a5f42 !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(23px, 3.4vw, 30px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.18 !important;
  text-align: center !important;
}

/* Línea ornamental bajo títulos secundarios */
.memorial-main-memoria .memorial-memoria-card:not(:first-of-type) .elementor-widget-heading .elementor-heading-title::after,
.memorial-main-memoria .memorial-memoria-frase-final .elementor-widget-heading .elementor-heading-title::after,
.memorial-main-memoria .memorial-subpantalla-titulo .elementor-heading-title::after,
.memorial-main-memoria .communio-titulo-secundario .elementor-heading-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 8px auto 0;
  background: rgba(176, 138, 106, .38);
}

/* Texto */
.memorial-main-memoria .elementor-widget-text-editor,
.memorial-main-memoria .elementor-widget-text-editor .elementor-widget-container,
.memorial-main-memoria .elementor-widget-text-editor p,
.memorial-main-memoria .communio-texto,
.memorial-main-memoria .communio-texto p {
  width: 100% !important;
  max-width: 100% !important;
  color: #504842 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.memorial-main-memoria .elementor-widget-text-editor p {
  margin: 0 0 10px !important;
}

.memorial-main-memoria .elementor-widget-text-editor p:last-child {
  margin-bottom: 0 !important;
}

/* Loop / Voces cercanas */
.memorial-main-memoria .elementor-widget-loop-grid {
  margin-top: 10px !important;
}

/* Móvil */
@media (max-width: 767px) {
  .memorial-main-memoria {
    padding: 0 16px 34px !important;
  }

  .memorial-main-memoria .communio-cabecera-secundaria {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 28px !important;
    padding-top: 6px !important;
  }

  .memorial-main-memoria .communio-cabecera-nombre,
  .memorial-main-memoria .communio-cabecera-nombre *,
  .memorial-main-memoria .communio-cabecera-nombre .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.07 !important;
    letter-spacing: -0.03em !important;
    color: #8a5f42 !important;
    font-style: italic !important;
  }

  .memorial-main-memoria .communio-cabecera-separador {
    width: 210px !important;
    max-width: 72% !important;
    margin-top: 14px !important;
  }

  .memorial-main-memoria .memorial-memoria-card,
  .memorial-main-memoria .memorial-memoria-frase-final,
  .memorial-main-memoria .communio-bloque-memoria {
    width: 100% !important;
    max-width: 100% !important;

    margin-top: 0 !important;
    margin-bottom: 14px !important;

    padding: 0 !important;

    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --margin-top: 0px !important;
    --margin-bottom: 14px !important;
  }

  .memorial-main-memoria .elementor-widget:not(:last-child) {
    margin-bottom: 7px !important;
  }

  .memorial-main-memoria .memorial-memoria-card:first-of-type .elementor-widget-heading .elementor-heading-title,
  .memorial-main-memoria .communio-titulo-principal,
  .memorial-main-memoria .communio-titulo-principal *,
  .memorial-main-memoria .communio-titulo-principal .elementor-heading-title {
    font-size: 28px !important;
    margin-bottom: 9px !important;
    color: #8a5f42 !important;
    font-family: var(--mem-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .memorial-main-memoria .memorial-memoria-card:not(:first-of-type) .elementor-widget-heading .elementor-heading-title,
  .memorial-main-memoria .memorial-memoria-frase-final .elementor-widget-heading .elementor-heading-title,
  .memorial-main-memoria .memorial-subpantalla-titulo,
  .memorial-main-memoria .memorial-subpantalla-titulo *,
  .memorial-main-memoria .memorial-subpantalla-titulo .elementor-heading-title,
  .memorial-main-memoria .communio-titulo-secundario,
  .memorial-main-memoria .communio-titulo-secundario *,
  .memorial-main-memoria .communio-titulo-secundario .elementor-heading-title {
    font-size: 25px !important;
    margin-bottom: 7px !important;
    color: #8a5f42 !important;
    font-family: var(--mem-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .memorial-main-memoria .memorial-memoria-card:not(:first-of-type) .elementor-widget-heading .elementor-heading-title::after,
  .memorial-main-memoria .memorial-memoria-frase-final .elementor-widget-heading .elementor-heading-title::after,
  .memorial-main-memoria .memorial-subpantalla-titulo .elementor-heading-title::after,
  .memorial-main-memoria .communio-titulo-secundario .elementor-heading-title::after {
    margin-top: 7px !important;
  }

  .memorial-main-memoria .elementor-widget-text-editor,
  .memorial-main-memoria .elementor-widget-text-editor .elementor-widget-container,
  .memorial-main-memoria .elementor-widget-text-editor p,
  .memorial-main-memoria .communio-texto,
  .memorial-main-memoria .communio-texto p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .memorial-main-memoria .elementor-widget-text-editor p {
    margin-bottom: 9px !important;
  }
}

/* =========================================================
   07.2 — MEMORIA / ESTILO SHORTCODES EDITABLES ACF
   Estilo visible en página para shortcodes ACF dentro de Su memoria.
   El modal de edición se controla en:
   99.3 — Igualar editor Memoria ACF al editor de Portada
   ========================================================= */
/* Limpieza base del shortcode editable */
.memorial-main-memoria .memorial-editable-acf,
.memorial-main-memoria .memorial-editable-acf-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Evitar márgenes raros internos */
.memorial-main-memoria .memorial-editable-acf-content > *:first-child {
  margin-top: 0 !important;
}

.memorial-main-memoria .memorial-editable-acf-content > *:last-child {
  margin-bottom: 0 !important;
}

/* Título principal editable */
.memorial-main-memoria .memorial-editable-acf.communio-titulo-principal,
.memorial-main-memoria .memorial-editable-acf.communio-titulo-principal .memorial-editable-acf-content,
.memorial-main-memoria .memorial-editable-acf.communio-titulo-principal .memorial-editable-acf-content * {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: #8a5f42 !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(27px, 4vw, 35px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.18 !important;
  text-align: center !important;
}

/* Títulos secundarios editables */
.memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario,
.memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content,
.memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content * {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #8a5f42 !important;
  font-family: var(--mem-serif) !important;
  font-size: clamp(23px, 3.4vw, 30px) !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.18 !important;
  text-align: center !important;
}

/* Línea ornamental bajo títulos secundarios */
.memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 8px auto 0;
  background: rgba(176, 138, 106, .38);
}

/* Texto editable */
.memorial-main-memoria .memorial-editable-acf.communio-texto,
.memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content,
.memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content p {
  width: 100% !important;
  max-width: 100% !important;
  color: #504842 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content p {
  margin: 0 0 10px !important;
}

.memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content p:last-child {
  margin-bottom: 0 !important;
}

/* Modo edición: que no rompa el diseño */
body:not(.elementor-editor-active) .memorial-main-memoria .memorial-editable-acf-active {
  position: relative !important;
  cursor: pointer !important;
  border-radius: 10px !important;
  transition: background .18s ease, outline-color .18s ease !important;
}

body:not(.elementor-editor-active) .memorial-main-memoria .memorial-editable-acf-active:hover {
  background: rgba(176, 138, 106, .07) !important;
  outline: 1px dashed rgba(176, 138, 106, .45) !important;
  outline-offset: 6px !important;
}

/* Etiqueta discreta editar, no botón */
body:not(.elementor-editor-active) .memorial-main-memoria .memorial-editable-acf-active::after {
  content: "Editar";
  position: absolute;
  right: 0;
  top: -20px;
  font-size: 11px;
  line-height: 1;
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  color: rgba(95, 70, 54, .65);
  opacity: 0;
  pointer-events: none;
}

body:not(.elementor-editor-active) .memorial-main-memoria .memorial-editable-acf-active:hover::after {
  opacity: 1;
}

/* Móvil */
@media (max-width: 767px) {

  .memorial-main-memoria .memorial-editable-acf.communio-titulo-principal,
  .memorial-main-memoria .memorial-editable-acf.communio-titulo-principal .memorial-editable-acf-content,
  .memorial-main-memoria .memorial-editable-acf.communio-titulo-principal .memorial-editable-acf-content * {
    font-size: 28px !important;
    margin-bottom: 9px !important;
    color: #8a5f42 !important;
    font-family: var(--mem-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: center !important;
    line-height: 1.18 !important;
  }

  .memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario,
  .memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content,
  .memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content * {
    font-size: 25px !important;
    margin-bottom: 7px !important;
    color: #8a5f42 !important;
    font-family: var(--mem-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: center !important;
    line-height: 1.18 !important;
  }

  .memorial-main-memoria .memorial-editable-acf.communio-titulo-secundario .memorial-editable-acf-content::after {
    margin-top: 7px !important;
  }

  .memorial-main-memoria .memorial-editable-acf.communio-texto,
  .memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content,
  .memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .memorial-main-memoria .memorial-editable-acf.communio-texto .memorial-editable-acf-content p {
    margin-bottom: 9px !important;
  }
}
/* =========================================================
   10 — SUBPANTALLAS MEMORIAL / NORMALIZACIÓN FINAL
   Sustituye desde aquí hasta el final del CSS anterior
   ========================================================= */

/* =========================================================
   10.1 — BASE GENERAL DE SUBPANTALLAS
   Solo visibilidad estructural, fondo y seguridad de layout.
   Los anchos finales los controla:
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

/* Fondo y estructura base */
.memorial-media-menu,
.memorial-media-video,
.memorial-media-galeria,
.memorial-media-homenajes,
.memorial-media-guiados,
.memorial-media-oracion,
.memorial-media-ceremonia,
.memorial-media-recibidos,
.memorial-media-condolencias,
.memorial-huellas-menu,
.memorial-huellas-contenido,
.memorial-huellas-oracion,
.memorial-huellas-ceremonia {
  background: var(--mem-bg) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Vistas internas principales */
.memorial-media-menu,
.memorial-media-video,
.memorial-media-galeria,
.memorial-media-homenajes,
.memorial-media-guiados,
.memorial-media-oracion,
.memorial-media-ceremonia,
.memorial-media-recibidos,
.memorial-media-condolencias {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}

/* Subpantallas internas de Huellas */
.memorial-huellas-menu,
.memorial-huellas-contenido {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}


/* =========================================================
   10.3 — TEXTOS INTRODUCTORIOS DE SUBPANTALLA
   Preferencia: clases directas.
   Fallback: widgets de texto introductorios antiguos de Elementor.
   ========================================================= */

/* Intros con clase directa */
.memorial-huellas-contenido-intro,
.memorial-huellas-contenido-intro .elementor-widget-container,
.memorial-huellas-contenido-intro p,
.communio-intro-subpantalla,
.communio-intro-subpantalla .elementor-widget-container,
.communio-intro-subpantalla p {
  width: 100% !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;

  color: var(--mem-text) !important;
  font-size: 16px !important;
  line-height: 1.66 !important;
  text-align: center !important;
}

/* Fallback para intros antiguas de Elementor */
.memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-huellas-menu > .elementor-widget-text-editor:first-of-type,
.memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type {
  max-width: 680px !important;
  margin: 0 auto 26px !important;
  text-align: center !important;
}

.memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor p,
.memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor p,
.memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor p,
.memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor p,
.memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor,
.memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor p,
.memorial-huellas-menu > .elementor-widget-text-editor:first-of-type,
.memorial-huellas-menu > .elementor-widget-text-editor:first-of-type p,
.memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type,
.memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type p {
  color: var(--mem-text) !important;
  font-size: 16px !important;
  line-height: 1.66 !important;
  text-align: center !important;
}

@media (min-width: 1024px) {
  .memorial-huellas-contenido-intro,
  .memorial-huellas-contenido-intro .elementor-widget-container,
  .memorial-huellas-contenido-intro p,
  .communio-intro-subpantalla,
  .communio-intro-subpantalla .elementor-widget-container,
  .communio-intro-subpantalla p,
  .memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-huellas-menu > .elementor-widget-text-editor:first-of-type,
  .memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type {
    max-width: 720px !important;
  }

  .memorial-huellas-contenido-intro,
  .memorial-huellas-contenido-intro p,
  .communio-intro-subpantalla,
  .communio-intro-subpantalla p,
  .memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor p,
  .memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor p,
  .memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor p,
  .memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor p,
  .memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor,
  .memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor p,
  .memorial-huellas-menu > .elementor-widget-text-editor:first-of-type,
  .memorial-huellas-menu > .elementor-widget-text-editor:first-of-type p,
  .memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type,
  .memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type p {
    font-size: 16.5px !important;
  }
}
/* =========================================================
   10.4 — RECUERDOS COMPARTIDOS / ESTÉTICA DE TARJETAS
   El layout/ancho/número de tarjetas visibles lo controla:
   RECUERDOS — AUTOAJUSTE REAL SEGÚN TARJETAS VISIBLES
   ========================================================= */

/* Contenedor: solo margen base, no columnas */
.memorial-media-menu .memorial-recuerdos-grid {
  width: 100% !important;
  margin: 30px auto 0 !important;
  align-items: stretch !important;
}

/* Tarjeta */
.memorial-media-menu .memorial-recuerdo-card {
  height: 100% !important;
  min-height: 0 !important;

  display: flex !important;
  --display: flex !important;

  flex-direction: column !important;
  --flex-direction: column !important;

  background: var(--mem-card) !important;
  border: 1px solid var(--mem-border) !important;
  border-radius: var(--mem-radius) !important;
  box-shadow: var(--mem-shadow-card) !important;

  overflow: hidden !important;
  cursor: pointer !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease !important;
}

.memorial-media-menu .memorial-recuerdo-card:hover {
  transform: translateY(-2px) !important;
  border-color: var(--mem-border-strong) !important;
  box-shadow: var(--mem-shadow-card-hover) !important;
}

/* Imagen */
.memorial-media-menu .memorial-card-imagen {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f4eee7 !important;
}

.memorial-media-menu .memorial-card-imagen .elementor-widget-container,
.memorial-media-menu .memorial-card-imagen .elementor-widget-image,
.memorial-media-menu .memorial-card-imagen img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.memorial-media-menu .memorial-card-imagen img {
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}

/* Contenido */
.memorial-media-menu .memorial-card-contenido {
  flex: 1 1 auto !important;

  display: flex !important;
  --display: flex !important;

  flex-direction: column !important;
  --flex-direction: column !important;

  justify-content: flex-start !important;
  gap: 9px !important;

  padding: 18px 18px 20px !important;
  text-align: left !important;
}

.memorial-media-menu .memorial-card-contenido .elementor-heading-title {
  font-family: var(--mem-serif) !important;
  font-size: 20px !important;
  line-height: 1.22 !important;
  font-weight: 400 !important;
  color: var(--mem-brown) !important;
  text-align: left !important;
  margin: 0 !important;
}

.memorial-media-menu .memorial-card-contenido .elementor-heading-title::after {
  content: "" !important;
  display: block !important;

  width: 46px !important;
  height: 1px !important;

  margin: 10px 0 0 !important;

  background: linear-gradient(
    90deg,
    rgba(122,79,52,0.32),
    rgba(122,79,52,0)
  ) !important;
}

.memorial-media-menu .memorial-card-contenido .elementor-widget-text-editor,
.memorial-media-menu .memorial-card-contenido .elementor-widget-text-editor p {
  color: var(--mem-text) !important;
  font-size: 15px !important;
  line-height: 1.56 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* =========================================================
   10.5 — PINCELADAS DE UNA VIDA / VÍDEOS OFICIALES
   Fuente única de presentación para el vídeo antiguo
   y el nuevo listado de vídeos oficiales.
   ========================================================= */

/* Listado general */
body.single-memorial
.memorial-media-video
.communio-videos-oficiales-listado {
  width: 100% !important;
  max-width: 880px !important;
  margin: 34px auto 0 !important;
}

/* Separación entre vídeos */
body.single-memorial
.memorial-media-video
.communio-videos-oficiales-listado
.elementor-loop-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 42px !important;
}

/* Tarjeta de cada vídeo */
body.single-memorial
.memorial-media-video
.communio-video-oficial-card {
  width: 100% !important;
  min-width: 0 !important;
  padding: 28px !important;
  box-sizing: border-box !important;

  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid rgba(122, 92, 69, 0.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 44px rgba(55, 42, 32, 0.10) !important;
}

/* Título individual */
body.single-memorial
.memorial-media-video
.communio-video-oficial-titulo,
body.single-memorial
.memorial-media-video
.communio-video-oficial-titulo .elementor-heading-title {
  margin: 0 0 12px !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 25px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;

  color: #7a4e35 !important;
}

/* Descripción individual */
body.single-memorial
.memorial-media-video
.communio-video-oficial-descripcion {
  margin: 0 0 22px !important;
}

body.single-memorial
.memorial-media-video
.communio-video-oficial-descripcion,
body.single-memorial
.memorial-media-video
.communio-video-oficial-descripcion p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #5f5248 !important;
}

/* Marco común del reproductor */
body.single-memorial
.memorial-media-video
.communio-video-oficial {
  position: relative !important;
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;

  overflow: hidden !important;
  background: #111111 !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 34px rgba(55, 42, 32, 0.16) !important;
}

/* Proporciones configurables desde ACF */
body.single-memorial
.memorial-media-video
.communio-video-proporcion-16-9 {
  aspect-ratio: 16 / 9 !important;
}

body.single-memorial
.memorial-media-video
.communio-video-proporcion-4-3 {
  aspect-ratio: 4 / 3 !important;
}

body.single-memorial
.memorial-media-video
.communio-video-proporcion-9-16 {
  aspect-ratio: 9 / 16 !important;
  width: min(100%, 440px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-memorial
.memorial-media-video
.communio-video-proporcion-1-1 {
  aspect-ratio: 1 / 1 !important;
  width: min(100%, 680px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Iframe externo y archivo alojado */
body.single-memorial
.memorial-media-video
.communio-video-oficial iframe,
body.single-memorial
.memorial-media-video
.communio-video-oficial video {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  object-fit: contain !important;
}

/* Mantiene temporalmente comparable el widget antiguo */
body.single-memorial
.memorial-media-video
.elementor-widget-video {
  width: 100% !important;
  max-width: 880px !important;
  margin: 30px auto 0 !important;
  padding: 9px !important;

  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid rgba(122, 92, 69, 0.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 44px rgba(55, 42, 32, 0.12) !important;
}

/* Móvil */
@media (max-width: 767px) {
  body.single-memorial
  .memorial-media-video
  .communio-videos-oficiales-listado {
    margin-top: 26px !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-card {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-titulo,
  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-titulo .elementor-heading-title {
    font-size: 22px !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-oficial {
    border-radius: 16px !important;
  }
}
/* =========================================================
   10.6 — GALERÍA
   El ancho lo controla:
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

.memorial-media-galeria .memorial-volver-flotante,
.memorial-media-galeria .memorial-boton-volver {
  margin-top: 34px !important;
}

/* =========================================================
   10.7 — HUELLAS COMPARTIDAS / MENÚ DE ACCESOS
   Solo grid y estética de accesos.
   Anchos generales e intros se controlan en:
   10.3 — TEXTOS INTRODUCTORIOS
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

.memorial-huellas-icon-grid {
  width: 100% !important;
  max-width: 760px !important;
  margin: 30px auto 0 !important;

  display: grid !important;
  --display: grid !important;

  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.memorial-huellas-icon-grid > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 126px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  --display: flex !important;
  --flex-direction: column !important;
  --justify-content: center !important;
  --align-items: center !important;

  padding: 18px 12px !important;

  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(122, 92, 69, 0.13) !important;
  border-radius: 22px !important;
  box-shadow: var(--mem-shadow-card) !important;

  cursor: pointer !important;
  overflow: hidden !important;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease !important;
}

.memorial-huellas-icon-grid > .elementor-element:hover {
  transform: translateY(-2px) !important;
  border-color: var(--mem-border-strong) !important;
  box-shadow: var(--mem-shadow-card-hover) !important;
}

.memorial-huellas-icon-grid .elementor-icon,
.memorial-huellas-icon-grid .elementor-icon i {
  color: var(--mem-brown-soft) !important;
  fill: var(--mem-brown-soft) !important;
}

.memorial-huellas-icon-grid .elementor-icon {
  font-size: 30px !important;
  margin-bottom: 10px !important;
}

.memorial-huellas-icon-grid svg {
  width: 30px !important;
  height: 30px !important;
  fill: var(--mem-brown-soft) !important;
}

.memorial-huellas-icon-grid .elementor-heading-title {
  font-family: var(--mem-serif) !important;
  font-size: 16px !important;
  line-height: 1.22 !important;
  font-weight: 400 !important;
  color: var(--mem-brown) !important;
  text-align: center !important;
  margin: 0 !important;
}

.memorial-huellas-icon-grid .elementor-heading-title::after {
  display: none !important;
  content: none !important;
}

@media (min-width: 1024px) {
  .memorial-huellas-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .memorial-huellas-icon-grid .elementor-heading-title {
    font-size: 18px !important;
  }
}

/* =========================================================
   10.8 — FORMULARIOS Y SUBPANTALLAS DE HUELLAS
   ========================================================= */

.memorial-huellas-contenido form {
  max-width: 720px !important;
  margin: 26px auto 0 !important;
  padding: 24px 22px !important;

  background: rgba(255,255,255,0.90) !important;
  border: 1px solid var(--mem-border) !important;
  border-radius: var(--mem-radius) !important;
  box-shadow: var(--mem-shadow-card) !important;
}

.memorial-huellas-contenido input,
.memorial-huellas-contenido textarea,
.memorial-huellas-contenido select {
  border-radius: 14px !important;
  border: 1px solid rgba(122, 92, 69, 0.20) !important;
  background: #ffffff !important;
  color: var(--mem-text) !important;
}

.memorial-huellas-contenido button,
.memorial-huellas-contenido input[type="submit"],
.memorial-huellas-contenido .elementor-button {
  border-radius: 999px !important;
}


/* =========================================================
   10.9 — ORACIÓN Y ESPERANZA
   Compatibilidad base.
   Anchos y caja final se controlan en:
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   FIX ORACIÓN — Reducir margen interior de bloques
   ========================================================= */

/* Estructura antigua de Oración en Huellas */
.memorial-huellas-oracion {
  max-width: none !important;
}

.memorial-huellas-oracion > .elementor-widget-text-editor,
.memorial-huellas-oracion > .elementor-widget-heading:not(:first-child) {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Subtítulos heredados de Oración */
.memorial-huellas-oracion h4,
.memorial-huellas-oracion h5,
.memorial-huellas-oracion h6,
.memorial-huellas-oracion .elementor-widget-heading:not(:first-child) .elementor-heading-title {
  font-family: var(--mem-serif) !important;
  color: var(--mem-brown) !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* Texto heredado de Oración */
.memorial-huellas-oracion p {
  color: var(--mem-text) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}


/* =========================================================
   10.10 — CEREMONIA Y FECHAS
   Compatibilidad base.
   La estética final de tarjetas, fechas, mapa y notas se controla en:
   CEREMONIA Y FECHAS — UNIFICACIÓN VISUAL CON MEMORIAL
   CEREMONIA Y FECHAS — FORZAR TARJETAS POR CLASE ESPECÍFICA
   CEREMONIA Y FECHAS — AJUSTES FINALES
   ========================================================= */

.memorial-huellas-ceremonia {
  max-width: none !important;
  background: var(--mem-bg) !important;
}

/* Compatibilidad para widgets antiguos directos */
.memorial-huellas-ceremonia > .elementor-widget-heading,
.memorial-huellas-ceremonia > .elementor-widget-text-editor,
.memorial-huellas-ceremonia > .elementor-widget-button,
.memorial-huellas-ceremonia > .e-con {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Texto general heredado */
.memorial-huellas-ceremonia .elementor-widget-text-editor,
.memorial-huellas-ceremonia .elementor-widget-text-editor p {
  color: var(--mem-text) !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  text-align: center !important;
}

/* Nota heredada */
.memorial-huellas-ceremonia .memorial-huellas-nota,
.memorial-huellas-ceremonia .memorial-huellas-nota p {
  color: rgba(95, 82, 72, 0.78) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.memorial-huellas-ceremonia .memorial-huellas-nota p {
  padding-left: 0 !important;
}

/* Botón de mapa: específico, sin afectar al botón Volver */
.memorial-boton-mapa .elementor-button {
  border-radius: 999px !important;
  padding: 11px 22px !important;
  background: var(--mem-brown-soft) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(80, 55, 35, 0.18) !important;
}

.memorial-boton-mapa .elementor-button:hover {
  background: #604735 !important;
}

@media (min-width: 1024px) {
  .memorial-huellas-ceremonia > .elementor-widget-heading,
  .memorial-huellas-ceremonia > .elementor-widget-text-editor,
  .memorial-huellas-ceremonia > .elementor-widget-button,
  .memorial-huellas-ceremonia > .e-con {
    max-width: 860px !important;
  }

  .memorial-huellas-ceremonia iframe,
  .memorial-huellas-ceremonia .elementor-widget-google_maps {
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* =========================================================
   10.11 — ACOMPAÑAMIENTOS PÚBLICOS / GESTOS
   Compatibilidad mínima con estructuras antiguas.
   La tarjeta actual se controla en:
   COMMUNIO — CONDOLENCIAS / ACOMPAÑAMIENTO
   ========================================================= */

/* Oculta imagen antigua duplicada si aún queda en algún loop */
.communio-acomp-imagen {
  display: none !important;
  background-image: none !important;
}

/* Neutraliza tarjeta antigua de tipo/gesto para que no compita con la actual */
.communio-acompanamiento-tipo,
.communio-acomp-tipo-inner {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================================
   10.13 — RESPONSIVE GENERAL SUBPANTALLAS
   Compatibilidad móvil mínima.
   Los paddings y anchos generales se controlan en:
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

@media (max-width: 767px) {
  .memorial-huellas-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 430px !important;
    gap: 13px !important;
  }
}

/* =========================================================
   TÍTULO COMÚN REAL — SUBPANTALLAS MEMORIAL
   Clase directa en el widget Heading
   ========================================================= */

.memorial-subpantalla-titulo,
.memorial-subpantalla-titulo .elementor-widget-container {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.memorial-subpantalla-titulo .elementor-heading-title {
  font-family: var(--mem-serif) !important;
  font-size: 29px !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  color: var(--mem-brown) !important;
  text-align: center !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

.memorial-subpantalla-titulo .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 66px !important;
  height: 1px !important;
  margin: 12px auto 0 !important;
  background: linear-gradient(
    90deg,
    rgba(122,79,52,0),
    rgba(122,79,52,0.32),
    rgba(122,79,52,0)
  ) !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .memorial-subpantalla-titulo .elementor-heading-title {
    font-size: 31px !important;
    line-height: 1.12 !important;
  }
}

/* Escritorio */
@media (min-width: 1024px) {
  .memorial-subpantalla-titulo .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.1 !important;
  }
}

/* Pantallas grandes */
@media (min-width: 1440px) {
  .memorial-subpantalla-titulo .elementor-heading-title {
    font-size: 36px !important;
  }
}


/* =========================================================
   ORACIÓN Y ESPERANZA — INTEGRADA COMO 02 MEMORIA
   Vista propia del memorial.
   No incluye botón Volver.
   ========================================================= */

.memorial-oracion-section {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* Caja principal igual al lenguaje de 02 Memoria */
.memorial-oracion-card {
  max-width: 780px;
  margin: 0 auto;
  padding: 34px 24px 38px;
  border-radius: 30px;
  background: rgba(255, 252, 247, 0.94);
  border: 1px solid rgba(122, 92, 69, 0.12);
  box-shadow: 0 18px 46px rgba(72, 52, 38, 0.10);
  color: #4c3b30;
  box-sizing: border-box;
}

/* Título principal */
.memorial-oracion-titulo,
.memorial-oracion-card .memorial-subpantalla-titulo {
  margin: 0 0 12px !important;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 7vw, 44px);
  line-height: 1.08;
  font-weight: 400;
  color: #7a4e35;
}

/* Separador corazón/líneas */
.memorial-separador-corazon {
  position: relative;
  width: 100%;
  max-width: 260px;
  margin: 12px auto 30px;
  text-align: center;
  color: rgba(122, 92, 69, 0.58);
  font-size: 17px;
  line-height: 1;
}

.memorial-separador-corazon::before,
.memorial-separador-corazon::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 38%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(122, 92, 69, 0.26)
  );
}

.memorial-separador-corazon::before {
  left: 0;
}

.memorial-separador-corazon::after {
  right: 0;
  transform: rotate(180deg);
}

/* Bloques internos */
.memorial-oracion-bloque {
  margin: 0 auto 26px;
  padding: 0 4px 24px;
  border-bottom: 1px solid rgba(122, 92, 69, 0.13);
}

.memorial-oracion-bloque:last-of-type {
  border-bottom: 0;
}

/* Títulos internos */
.memorial-oracion-bloque h3,
.memorial-oracion-bloque .elementor-heading-title {
  margin: 0 0 14px !important;
  text-align: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 5vw, 30px);
  line-height: 1.15;
  font-weight: 400;
  color: #7a4e35;
}

/* Texto base */
.memorial-oracion-bloque p,
.memorial-oracion-bloque .elementor-widget-text-editor,
.memorial-oracion-bloque .elementor-widget-container {
  font-size: clamp(16px, 4vw, 18px);
  line-height: 1.72;
  color: #51443a;
}

/* Oración principal */
.memorial-oracion-bloque-principal p,
.memorial-oracion-bloque-principal .elementor-widget-text-editor {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 4.8vw, 22px);
  line-height: 1.78;
  color: #49382d;
  text-align: left;
}

/* Intención */
.memorial-oracion-bloque-intencion {
  padding-left: 6px;
  padding-right: 6px;
}

/* Palabra de esperanza */
.memorial-oracion-bloque-palabra {
  margin-top: 8px;
  padding: 22px 18px 24px;
  border-radius: 24px;
  border: 1px solid rgba(122, 92, 69, 0.13);
  background: rgba(122, 92, 69, 0.055);
  text-align: center;
}

.memorial-oracion-bloque-palabra h3,
.memorial-oracion-bloque-palabra .elementor-heading-title {
  margin-bottom: 12px !important;
}

.memorial-oracion-bloque-palabra p,
.memorial-oracion-bloque-palabra .elementor-widget-text-editor {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 4.7vw, 23px);
  line-height: 1.55;
  color: #4e3c31;
  text-align: center;
}

/* Referencia bíblica */
.memorial-oracion-bloque-palabra strong,
.memorial-oracion-bloque-palabra b {
  display: block;
  margin-top: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 5vw, 28px);
  font-weight: 500;
  color: #7a4e35;
}

/* Para el silencio */
.memorial-oracion-bloque-silencio {
  border-bottom: 0;
}

/* Frase final */
.memorial-oracion-frase-final {
  margin: 30px auto 26px;
  text-align: center;
}

.memorial-oracion-frase-final p,
.memorial-oracion-frase-final .elementor-widget-container,
.memorial-oracion-frase-final .elementor-heading-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 5.8vw, 34px);
  line-height: 1.25;
  font-weight: 400;
  color: #7a4e35;
}

/* Móvil */
@media (max-width: 767px) {
  .memorial-oracion-card {
    padding: 30px 18px 34px;
    border-radius: 26px;
  }

  .memorial-separador-corazon {
    margin-bottom: 26px;
  }

  .memorial-oracion-bloque {
    margin-bottom: 24px;
    padding-bottom: 22px;
  }

  .memorial-oracion-bloque-principal p,
  .memorial-oracion-bloque-principal .elementor-widget-text-editor {
    font-size: 18px;
    line-height: 1.72;
  }

  .memorial-oracion-bloque-palabra {
    padding: 20px 16px 22px;
    border-radius: 22px;
  }
}
/* =========================================================
   ORACIÓN Y ESPERANZA — AJUSTE SOBRE ESTILO 02 MEMORIA
   Ajustes finos de texto.
   No incluye botón Volver.
   ========================================================= */

/* Texto: evitar tipografías heredadas raras */
.memorial-oracion-section .memorial-oracion-bloque,
.memorial-oracion-section .memorial-oracion-bloque p,
.memorial-oracion-section .memorial-oracion-bloque .elementor-widget-text-editor,
.memorial-oracion-section .memorial-oracion-bloque .elementor-widget-container {
  font-family: inherit !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
}

/* Oración principal: tono más solemne */
.memorial-oracion-section .memorial-oracion-bloque-principal p,
.memorial-oracion-section .memorial-oracion-bloque-principal .elementor-widget-text-editor {
  font-family: Georgia, "Times New Roman", serif !important;
}

/* Palabra de esperanza centrada */
.memorial-oracion-section .memorial-oracion-bloque-palabra {
  text-align: center !important;
}

.memorial-oracion-section .memorial-oracion-bloque-palabra p,
.memorial-oracion-section .memorial-oracion-bloque-palabra .elementor-widget-text-editor {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-family: Georgia, "Times New Roman", serif !important;
}
/* =========================================================
   ORACIÓN — SHORTCODES ACF EDITABLES
   Tamaños equilibrados y alineación unificada
   ========================================================= */

/* Título principal */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.communio-editable-acf.memorial-subpantalla-titulo {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto 16px !important;
    text-align: center !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-oracion
.communio-editable-acf.memorial-subpantalla-titulo
.communio-editable-acf-content {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--mem-serif) !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    color: var(--mem-brown) !important;
    text-align: center !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-oracion
.communio-editable-acf.memorial-subpantalla-titulo
.communio-editable-acf-content::after {
    content: "" !important;
    display: block !important;
    width: 60px !important;
    height: 1px !important;
    margin: 11px auto 0 !important;
    background: linear-gradient(
        90deg,
        rgba(122,79,52,0),
        rgba(122,79,52,0.32),
        rgba(122,79,52,0)
    ) !important;
}

/* Títulos interiores */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-bloque
.communio-editable-acf.memorial-huellas-contenido-titulo
.communio-editable-acf-content {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-family: var(--mem-serif) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    color: #7a4e35 !important;
    text-align: center !important;
}

/* Intención y texto para el silencio */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-intencion
.communio-editable-acf-content,
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-intencion
.communio-editable-acf-content p,
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-texto-espiritual
.communio-editable-acf-content,
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-texto-espiritual
.communio-editable-acf-content p {
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.68 !important;
    font-weight: 400 !important;
    color: #51443a !important;
    text-align: left !important;
    text-justify: auto !important;
    hyphens: none !important;
}

/* Oración principal */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-principal
.communio-editable-acf-content,
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-principal
.communio-editable-acf-content p {
    font-family: var(--mem-serif) !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
    font-weight: 400 !important;
    color: #49382d !important;
    text-align: left !important;
    text-justify: auto !important;
    hyphens: none !important;
}

/* Palabra de esperanza vinculada — cita */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-bloque-palabra
.communio-editable-acf.memorial-cita-biblica-vinculada
.communio-editable-acf-content
.memorial-cita-biblica,

body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-bloque-palabra
.communio-editable-acf.memorial-cita-biblica-vinculada
.communio-editable-acf-content
.memorial-cita-biblica p {
    width: 100% !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: var(--mem-serif) !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    font-weight: 400 !important;
    color: #4e3c31 !important;
    text-align: center !important;
    text-justify: auto !important;
    hyphens: none !important;
}

/* Palabra de esperanza vinculada — referencia */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.memorial-oracion-bloque-palabra
.communio-editable-acf.memorial-cita-biblica-vinculada
.communio-editable-acf-content
.memorial-referencia-biblica {
    display: block !important;
    margin: 9px auto 0 !important;
    padding: 0 !important;
    font-family: var(--mem-serif) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: #7a5c45 !important;
    text-align: center !important;
}

/* Invocación final */
body:not(.elementor-editor-active)
.memorial-huellas-oracion
.communio-editable-acf.memorial-oracion-frase-final {
    margin: 28px auto 26px !important;
    text-align: center !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-oracion
.communio-editable-acf.memorial-oracion-frase-final
.communio-editable-acf-content {
    font-family: var(--mem-serif) !important;
    font-size: 22px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #7a4e35 !important;
    text-align: center !important;
}

/* =========================================================
   CEREMONIA Y FECHAS — UNIFICACIÓN VISUAL CON MEMORIAL
   Limpieza: sin duplicar estructura general ni título principal
   ========================================================= */

/* Base específica de Ceremonia */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia {
  text-align: center !important;
}

/* Títulos secundarios: Velatorio / Aniversario */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-contenido-titulo .elementor-heading-title,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia h3.elementor-heading-title {
  font-family: var(--mem-serif) !important;
  font-size: 25px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  color: var(--mem-brown) !important;
  text-align: center !important;
  margin: 38px 0 16px !important;
}

/* Evita el gris grande de Velatorio / Aniversario */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .elementor-widget-heading .elementor-heading-title {
  color: var(--mem-brown) !important;
}

/* Textos generales */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .elementor-widget-text-editor,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .elementor-widget-text-editor p,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .elementor-heading-title {
  text-align: center !important;
}

/* Lugar, dirección y observaciones */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-lugar,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-lugar p,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-direccion,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-direccion p,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-observaciones,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-observaciones p {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: 16px !important;
  line-height: 1.68 !important;
  color: var(--mem-text) !important;
  text-align: center !important;
}

/* Etiquetas: Fecha y hora / Fecha velatorio / Fecha aniversario */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-label .elementor-heading-title,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-contenido-titulo .elementor-heading-title {
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--mem-text) !important;
  letter-spacing: 0 !important;
}

/* Fechas */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-fecha .elementor-heading-title {
  font-family: inherit !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: var(--mem-text) !important;
  text-align: center !important;
}

/* Fila fecha y hora */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia > .e-con {
  max-width: 520px !important;
  margin: 12px auto 12px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 18px !important;
}

/* Botones cómo llegar */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-boton-mapa {
  display: flex !important;
  justify-content: center !important;
  margin: 18px auto 4px !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-boton-mapa .elementor-button {
  background: var(--mem-brown-soft) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: 0 8px 22px rgba(80, 55, 35, 0.16) !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-boton-mapa .elementor-button:hover {
  background: #604735 !important;
}

/* Nota Google Maps */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota p,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota span,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota em {
  max-width: 620px !important;
  margin: 6px auto 22px !important;
  padding: 0 !important;
  color: rgba(95, 82, 72, 0.72) !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

/* Separación entre bloques */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota + .elementor-widget-heading {
  margin-top: 34px !important;
}

/* Móvil */
@media (max-width: 767px) {
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-huellas-contenido-titulo .elementor-heading-title,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia h3.elementor-heading-title {
    font-size: 24px !important;
    margin-top: 34px !important;
    margin-bottom: 14px !important;
  }

  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia > .e-con {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    max-width: 100% !important;
  }

  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-lugar,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-lugar p,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-direccion,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-direccion p,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-observaciones,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-ceremonia-observaciones p {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
  }

  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-huellas-nota,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-huellas-nota p,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-huellas-nota span,
  body:not(.elementor-editor-active)
  .memorial-huellas-ceremonia .memorial-huellas-nota em {
    font-size: 12px !important;
    line-height: 1.42 !important;
  }
}
/* =========================================================
   CEREMONIA Y FECHAS — FORZAR TARJETAS POR CLASE ESPECÍFICA
   ========================================================= */

.memorial-huellas-ceremonia .memorial-ceremonia-card-misa,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario {
  max-width: 760px !important;
  width: calc(100% - 32px) !important;

  margin: 0 auto 50px !important;
  padding: 32px 24px 34px !important;

  background: rgba(255, 255, 255, 0.92) !important;
  background-color: rgba(255, 255, 255, 0.92) !important;
  background-image: none !important;

  border: 1px solid rgba(122, 92, 69, 0.12) !important;
  border-radius: 24px !important;

  box-shadow: 0 12px 30px rgba(55, 42, 32, 0.065) !important;

  text-align: center !important;
  position: relative !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Por si Elementor mete el fondo en el contenedor interno */
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa > .e-con-inner,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio > .e-con-inner,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario > .e-con-inner {
  background: transparent !important;
  background-color: transparent !important;
}

/* Títulos principales dentro de cada tarjeta */
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa > .elementor-widget-heading:first-child .elementor-heading-title,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio > .elementor-widget-heading:first-child .elementor-heading-title,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario > .elementor-widget-heading:first-child .elementor-heading-title {
  font-family: var(--mem-serif) !important;
  font-size: 26px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  color: var(--mem-brown) !important;
  text-align: center !important;
  margin: 0 0 18px !important;
}

/* Línea bajo título */
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa > .elementor-widget-heading:first-child .elementor-heading-title::after,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio > .elementor-widget-heading:first-child .elementor-heading-title::after,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario > .elementor-widget-heading:first-child .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 1px !important;
  margin: 10px auto 0 !important;
  background: linear-gradient(
    90deg,
    rgba(122,79,52,0),
    rgba(122,79,52,0.34),
    rgba(122,79,52,0)
  ) !important;
}

/* Textos */
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario,
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa p,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio p,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario p,
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa .elementor-heading-title,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio .elementor-heading-title,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario .elementor-heading-title {
  text-align: center !important;
  color: var(--mem-text) !important;
}

/* Botones dentro de tarjetas */
.memorial-huellas-ceremonia .memorial-ceremonia-card-misa .memorial-boton-mapa,
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio .memorial-boton-mapa,
.memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario .memorial-boton-mapa {
  display: flex !important;
  justify-content: center !important;
  margin: 20px auto 8px !important;
}

/* Móvil */
@media (max-width: 767px) {
  .memorial-huellas-ceremonia .memorial-ceremonia-card-misa,
  .memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio,
  .memorial-huellas-ceremonia .memorial-ceremonia-card-aniversario {
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 46px !important;
    padding: 30px 20px 32px !important;
    border-radius: 22px !important;
  }
}
/* =========================================================
   CEREMONIA Y FECHAS — AJUSTES FINALES
   Limpieza: sin duplicar tarjetas, títulos ni textos base
   ========================================================= */

/* Nota Google Maps — visible en las tres tarjetas */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota p,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota span,
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota em {
    max-width: 620px !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    color: #b8323c !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-align: center !important;
}

/* Quitar sangría inline del párrafo aunque venga pegada en Elementor */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-huellas-nota p[style] {
  padding-left: 0 !important;
}

/* Más aire entre tarjetas de ceremonia */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-card {
  margin-bottom: 64px !important;
}

/* Más aire interno en Velatorio */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia .memorial-ceremonia-card-velatorio {
  padding-bottom: 46px !important;
}
/* Nombres de los lugares — Funeral y Velatorio */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre
.communio-editable-acf-content p {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    color: var(--mem-brown) !important;
    text-align: center !important;
}

/* El selector de tamaño del editor sigue funcionando */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-muy-pequeno
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-muy-pequeno
.communio-editable-acf-content p {
    font-size: 13px !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-pequeno
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-pequeno
.communio-editable-acf-content p {
    font-size: 15px !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-normal
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-normal
.communio-editable-acf-content p {
    font-size: 16px !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-grande
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-grande
.communio-editable-acf-content p {
    font-size: 18px !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-muy-grande
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-nombre.communio-tamano-muy-grande
.communio-editable-acf-content p {
    font-size: 20px !important;
}
/* =========================================================
   CAMPOS ACF EDITABLES — FUNERAL, VELATORIO Y ANIVERSARIO
   Conserva el aspecto de los widgets antiguos de Elementor
   ========================================================= */

/* Lugar, dirección, observaciones y textos explicativos */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-lugar
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-lugar
.communio-editable-acf-content p,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-direccion
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-direccion
.communio-editable-acf-content p,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-observaciones
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-observaciones
.communio-editable-acf-content p,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-texto
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-texto
.communio-editable-acf-content p {
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.68 !important;
    color: var(--mem-text) !important;
    text-align: center !important;
    text-justify: auto !important;
    hyphens: none !important;
}

/* Evita márgenes duplicados dentro de los textos largos */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-texto
.communio-editable-acf-content p:first-child {
    margin-top: 0 !important;
}

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-texto
.communio-editable-acf-content p:last-child {
    margin-bottom: 0 !important;
}

/* Fechas de Velatorio y Aniversario */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-fecha
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-fecha
.communio-editable-acf-content p {
    width: 100% !important;
    margin: 0 auto !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    color: var(--mem-text) !important;
    text-align: center !important;
}

/* Fecha de Funeral: el widget antiguo usaba la clase “lugar” */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-field-fecha_funeral
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-field-fecha_funeral
.communio-editable-acf-content p {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.68 !important;
    color: var(--mem-text) !important;
    text-align: center !important;
}

/* Frase final de Aniversario */
body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-frase-final
.communio-editable-acf-content,

body:not(.elementor-editor-active)
.memorial-huellas-ceremonia
.communio-editable-acf.memorial-ceremonia-frase-final
.communio-editable-acf-content p {
    width: 100% !important;
    max-width: 680px !important;
    margin: 4px auto 34px !important;
    font-family: var(--mem-serif) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    font-style: italic !important;
    color: var(--mem-brown) !important;
    text-align: center !important;
    text-justify: auto !important;
    hyphens: none !important;
}
/* =========================================================
   MENÚ RADIAL MEMORIAL — VERSIÓN LIMPIA DEFINITIVA
   Botón arriba derecha + menú circular centrado
   ========================================================= */

:root {
  --mem-radial-main: #2f5661;
  --mem-radial-main-soft: #58757d;
  --mem-radial-border: rgba(47, 86, 97, 0.42);
  --mem-radial-bg: rgba(255, 255, 255, 0.98);
  --mem-radial-bg-soft: rgba(241, 247, 246, 0.98);
}



/* Botón central */
.memorial-radial-toggle {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: 72px !important;
  height: 72px !important;

  border-radius: 50% !important;
  border: 2px solid var(--mem-radial-main) !important;

  background: radial-gradient(
    circle at 35% 25%,
    #ffffff,
    var(--mem-radial-bg-soft)
  ) !important;

  color: var(--mem-radial-main) !important;

  box-shadow:
    0 12px 28px rgba(47, 86, 97, 0.22),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 2px !important;

  padding: 0 !important;
  cursor: pointer !important;
  z-index: 20 !important;
}

/* Icono SVG central */
.memorial-radial-icon,
.memorial-radial-icon-svg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 30px !important;
  height: 30px !important;

  color: var(--mem-radial-main) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin-bottom: 1px !important;
}

.memorial-radial-icon-svg svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  stroke: currentColor !important;
}

/* Texto del botón lanzador */
.memorial-radial-text {
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--mem-radial-main) !important;
}

/* Fondo al abrir */
.memorial-radial-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999990 !important;

  background: rgba(247, 250, 249, 0.74) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  transition:
    opacity 0.24s ease,
    visibility 0.24s ease !important;
}

.memorial-radial-backdrop.radial-abierto {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Contenedor de los botones: centrado en pantalla al abrir */
.memorial-radial-items {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;

  width: 1px !important;
  height: 1px !important;

  transform: translate(-50%, -50%) !important;

  display: block !important;
  z-index: 9999998 !important;
  pointer-events: none !important;
}

/* Botones circulares del menú */
.memorial-radial-item {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;

  width: 92px !important;
  height: 92px !important;
  min-height: 92px !important;

  border-radius: 50% !important;
  padding: 9px !important;

  transform: translate(-50%, -50%) scale(0.7) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  background: var(--mem-radial-bg) !important;
  border: 2px solid var(--mem-radial-border) !important;
  color: var(--mem-radial-main) !important;

  box-shadow:
    0 12px 28px rgba(47, 86, 97, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;

  font-family: inherit !important;
  font-size: 12px !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  text-align: center !important;

  cursor: pointer !important;

  transition:
    transform 0.28s ease,
    opacity 0.22s ease,
    visibility 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease !important;
}

/* Iconos de los botones */
.memorial-radial-item-icon {
  font-family: var(--mem-serif) !important;
  font-size: 23px !important;
  line-height: 1 !important;
  color: var(--mem-radial-main) !important;
  margin: 0 !important;
}

/* Estado abierto */
.memorial-radial-menu.radial-abierto .memorial-radial-items {
  pointer-events: auto !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Círculo central: 7 botones alrededor */
.memorial-radial-menu.radial-abierto .memorial-radial-item-1 {
  transform: translate(-50%, -50%) translate(0px, -150px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-2 {
  transform: translate(-50%, -50%) translate(120px, -94px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-3 {
  transform: translate(-50%, -50%) translate(148px, 34px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-4 {
  transform: translate(-50%, -50%) translate(66px, 138px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-5 {
  transform: translate(-50%, -50%) translate(-66px, 138px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-6 {
  transform: translate(-50%, -50%) translate(-148px, 34px) scale(1) !important;
}

.memorial-radial-menu.radial-abierto .memorial-radial-item-7 {
  transform: translate(-50%, -50%) translate(-120px, -94px) scale(1) !important;
}

/* Hover */
.memorial-radial-item:hover {
  background: #f2f8f8 !important;
  border-color: var(--mem-radial-main) !important;

  box-shadow:
    0 14px 30px rgba(47, 86, 97, 0.24),
    inset 0 1px 0 rgba(255,255,255,1) !important;
}

/* Móvil */
@media (max-width: 767px) {
  .memorial-radial-item {
    width: 84px !important;
    height: 84px !important;
    min-height: 84px !important;

    padding: 8px !important;

    font-size: 11px !important;
    line-height: 1.08 !important;
  }

  .memorial-radial-item-icon {
    font-size: 21px !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-1 {
    transform: translate(-50%, -50%) translate(0px, -132px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-2 {
    transform: translate(-50%, -50%) translate(106px, -82px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-3 {
    transform: translate(-50%, -50%) translate(130px, 30px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-4 {
    transform: translate(-50%, -50%) translate(58px, 120px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-5 {
    transform: translate(-50%, -50%) translate(-58px, 120px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-6 {
    transform: translate(-50%, -50%) translate(-130px, 30px) scale(1) !important;
  }

  .memorial-radial-menu.radial-abierto .memorial-radial-item-7 {
    transform: translate(-50%, -50%) translate(-106px, -82px) scale(1) !important;
  }
}
/* =========================================================
   FIX FINAL — OCULTAR BOTONERA ANTIGUA + ESPACIADO RADIAL
   El icono hamburguesa final se controla en:
   MENÚ RADIAL — ICONO HAMBURGUESA VISIBLE SIN FONDO
   ========================================================= */

/* Ocultar botonera superior antigua */
body:not(.elementor-editor-active) #botonera-memorial,
body:not(.elementor-editor-active) .botonera-memorial {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* La portada ya no necesita compensación de botonera antigua */
body:not(.elementor-editor-active) .memorial-main-inicio {
  padding-top: 0 !important;
}

/* Vistas principales internas: Memoria mantiene su propio encaje */
body:not(.elementor-editor-active)
.memorial-main-view.main-activa:not(.memorial-main-inicio):not(.memorial-media-view) {
  padding-top: 58px !important;
}

/* Subpantallas media: Recuerdos, Oración, Ceremonia, Galería, Vídeo */
body:not(.elementor-editor-active)
.memorial-media-view.media-activa {
  padding-top: 72px !important;
}

/* Subpantallas internas de Huellas */
body:not(.elementor-editor-active)
.memorial-huellas-view.huellas-activa {
  padding-top: 72px !important;
}

/* Al abrir, los botones aparecen */
.memorial-radial-menu.radial-abierto .memorial-radial-item {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Fondo del modal radial */
.memorial-radial-backdrop.radial-abierto {
  background: rgba(247, 250, 249, 0.82) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

/* Móvil: solo posición del lanzador y padding de vistas */
  body:not(.elementor-editor-active)
  .memorial-main-view.main-activa:not(.memorial-main-inicio),
  body:not(.elementor-editor-active)
  .memorial-main-view.main-activa.memorial-media-view.media-activa,
  body:not(.elementor-editor-active)
  .memorial-media-view.media-activa,
  body:not(.elementor-editor-active)
  .memorial-huellas-view.huellas-activa {
    padding-top: 72px !important;
  }

/* =========================================================
   MENÚ RADIAL — ICONO HAMBURGUESA VISIBLE SIN FONDO
   Sin círculo, sin caja, sin sombra
   ========================================================= */



body:not(.elementor-editor-active) .memorial-radial-toggle {
  width: 46px !important;
  height: 46px !important;

  background-color: transparent !important;
  background-image:
    linear-gradient(#102f38, #102f38),
    linear-gradient(#102f38, #102f38),
    linear-gradient(#102f38, #102f38) !important;

  background-repeat: no-repeat !important;
  background-size:
  24px 2.5px,
  24px 2.5px,
  24px 2.5px !important;
  
  background-position:
    center calc(50% - 9px),
    center center,
    center calc(50% + 9px) !important;

  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;

  opacity: 1 !important;

  padding: 0 !important;
}

/* Ocultar todo lo que había dentro del botón */
body:not(.elementor-editor-active) .memorial-radial-toggle .memorial-radial-icon,
body:not(.elementor-editor-active) .memorial-radial-toggle .memorial-radial-icon-svg,
body:not(.elementor-editor-active) .memorial-radial-toggle .memorial-radial-text,
body:not(.elementor-editor-active) .memorial-radial-toggle svg,
body:not(.elementor-editor-active) .memorial-radial-toggle i,
body:not(.elementor-editor-active) .memorial-radial-toggle span {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Anular hamburguesas anteriores por pseudo-elemento */
body:not(.elementor-editor-active) .memorial-radial-toggle::before,
body:not(.elementor-editor-active) .memorial-radial-toggle::after {
  content: none !important;
  display: none !important;
}

/* Botones del menú abierto: mantener suaves */
body:not(.elementor-editor-active) .memorial-radial-item {
  border: 1px solid rgba(47, 86, 97, 0.26) !important;

  box-shadow:
    0 10px 24px rgba(47, 86, 97, 0.14),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

/* Color de iconos del menú abierto */
body:not(.elementor-editor-active) .memorial-radial-item-icon {
  color: #47676f !important;
}

/* Móvil */
@media (max-width: 767px) {
  body:not(.elementor-editor-active) .memorial-radial-menu {
    width: 44px !important;
    height: 44px !important;
  }

  body:not(.elementor-editor-active) .memorial-radial-toggle {
    width: 44px !important;
    height: 44px !important;

    background-size:
      27px 3px,
      27px 3px,
      27px 3px !important;

    background-position:
      center calc(50% - 8px),
      center center,
      center calc(50% + 8px) !important;
  }
}

/* =========================================================
   CONDOLENCIAS — FORMULARIO OCULTO CON APERTURA JS
   ========================================================= */

/* Formulario oculto por defecto */
body:not(.elementor-editor-active)
.memorial-condolencias-formulario {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Formulario visible solo cuando la sección tiene clase activa */
body:not(.elementor-editor-active)
.memorial-media-condolencias.formulario-condolencias-visible
.memorial-condolencias-formulario {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  margin-top: 32px !important;
padding: 28px 20px 32px !important;
  pointer-events: auto !important;
}

/* En Elementor sí se ve para poder editarlo */
body.elementor-editor-active
.memorial-condolencias-formulario {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}


/* =========================================================
   RECUERDOS — OCULTAR TARJETAS RETIRADAS DEL MENÚ
   ========================================================= */

body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-recuerdo-card[data-media-target="huellas"],

body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-recuerdo-card[data-media-target="oracion"],

body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-recuerdo-card[data-media-target="ceremonia"],

body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-oculto {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  pointer-events: none !important;
}


/* =========================================================
   RECUERDOS — FORMULARIO DESPLEGABLE
   ========================================================= */

body:not(.elementor-editor-active)
.memorial-recuerdos-formulario {
  display: none !important;
}

body.formulario-recuerdos-visible
.memorial-recuerdos-formulario {
  display: block !important;
  margin-top: 32px !important;
  animation: memorialFadeUp 0.35s ease both;
}

@keyframes memorialFadeUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* =========================================================
   MEMORIAL — RECUERDOS RECIBIDOS / FORMULARIOS / BOTONES
   Condolencias recibidas se gestionan en:
   COMMUNIO — CONDOLENCIAS / ACOMPAÑAMIENTO
   ========================================================= */

/* Contenedor principal de recuerdos recibidos */
.memorial-recuerdos-recibidos {
  width: 100%;
max-width: var(--mem-width-box) !important;
margin: 0 auto;
  padding: 34px 18px 46px;
}

/* Caja interior */
.memorial-recuerdos-recibidos > .e-con-inner {
  width: 100%;
}

/* Títulos de recuerdos recibidos */
.memorial-recuerdos-recibidos h1,
.memorial-recuerdos-recibidos h2,
.memorial-recuerdos-recibidos h3 {
  color: #5f4634;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 12px;
}

/* Textos introductorios de recuerdos recibidos */
.memorial-recuerdos-recibidos p {
  color: #6f5a49;
  font-size: 16px;
  line-height: 1.75;
}

/* Separación entre intro y listado */
.memorial-recuerdos-recibidos .elementor-widget-loop-grid {
  margin-top: 26px;
}

/* Tarjetas de loop de recuerdos recibidos */
.memorial-recuerdos-recibidos .e-loop-item {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(122, 92, 69, 0.14);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(55, 42, 32, 0.08);
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

/* Hover solo en dispositivos con ratón */
@media (hover: hover) {
  .memorial-recuerdos-recibidos .e-loop-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(55, 42, 32, 0.12);
    border-color: rgba(122, 92, 69, 0.22);
  }
}
/* Ancho estándar del listado de recuerdos */
body.single-memorial
.memorial-media-recibidos
.elementor-widget-loop-grid,
body.single-memorial
.memorial-media-recibidos
.elementor-loop-container,
body.single-memorial
.memorial-media-recibidos
.elementor-grid {
  width: 100% !important;
  max-width: var(--mem-width-box) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Botón Enviar un recuerdo dentro del ancho estándar */
body.single-memorial
.memorial-media-recibidos
.js-abrir-recuerdo {
  width: 100% !important;
  max-width: var(--mem-width-box) !important;
  margin: 18px auto 0 !important;
  display: flex !important;
  justify-content: center !important;
}
/* Interior de tarjetas de recuerdos */
.memorial-recuerdos-recibidos .e-loop-item .elementor-widget-container {
  color: #5f4634;
}

/* Títulos dentro de tarjetas de recuerdos */
.memorial-recuerdos-recibidos .e-loop-item h1,
.memorial-recuerdos-recibidos .e-loop-item h2,
.memorial-recuerdos-recibidos .e-loop-item h3,
.memorial-recuerdos-recibidos .e-loop-item h4 {
  color: #5f4634;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 8px;
}

/* Texto de tarjetas de recuerdos */
.memorial-recuerdos-recibidos .e-loop-item p {
  color: #6f5a49;
  font-size: 15.5px;
  line-height: 1.7;
}

/* Imágenes dentro de recuerdos */
.memorial-recuerdos-recibidos .e-loop-item img {
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(55, 42, 32, 0.10);
}

/* Formularios */
.memorial-recuerdos-formulario,
.memorial-condolencias-formulario {
  width: 100%;
  max-width: 760px;
  margin: 34px auto 0;
  padding: 28px 20px 32px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(122, 92, 69, 0.16);
  border-radius: 26px;
  box-shadow: 0 16px 38px rgba(55, 42, 32, 0.10);
}

/* Campos de formularios Elementor */
.memorial-recuerdos-formulario input,
.memorial-recuerdos-formulario textarea,
.memorial-recuerdos-formulario select,
.memorial-condolencias-formulario input,
.memorial-condolencias-formulario textarea,
.memorial-condolencias-formulario select {
  border-radius: 16px !important;
  border: 1px solid rgba(122, 92, 69, 0.22) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #5f4634 !important;
  box-shadow: none !important;
}

/* Focus campos */
.memorial-recuerdos-formulario input:focus,
.memorial-recuerdos-formulario textarea:focus,
.memorial-recuerdos-formulario select:focus,
.memorial-condolencias-formulario input:focus,
.memorial-condolencias-formulario textarea:focus,
.memorial-condolencias-formulario select:focus {
  border-color: rgba(122, 92, 69, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(122, 92, 69, 0.10) !important;
}

/* Labels */
.memorial-recuerdos-formulario label,
.memorial-condolencias-formulario label {
  color: #5f4634 !important;
  font-size: 14px;
  font-weight: 500;
}

/* =========================================================
   BOTONES DE FORMULARIO Y APERTURA
   Estilo compacto común del memorial
   ========================================================= */

/* Centrar las zonas que contienen botones */
.memorial-condolencias-formulario .elementor-field-type-submit,
.memorial-recuerdos-formulario .elementor-field-type-submit,
.js-abrir-recuerdo,
.js-abrir-condolencia {
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 18px auto 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Limpiar envoltorios de Elementor */
.js-abrir-recuerdo .elementor-widget-container,
.js-abrir-recuerdo .elementor-button-wrapper,
.js-abrir-condolencia .elementor-widget-container,
.js-abrir-condolencia .elementor-button-wrapper {
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Todos los botones reales */
.memorial-condolencias-formulario
.elementor-field-type-submit
.elementor-button,

.memorial-recuerdos-formulario
.elementor-field-type-submit
.elementor-button,

.memorial-boton-secundario,

.js-abrir-recuerdo
.elementor-button,

.js-abrir-condolencia
.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 auto !important;

  width: auto !important;
  max-width: max-content !important;
  min-width: 138px !important;
  min-height: 36px !important;

  margin: 0 auto !important;
  padding: 9px 19px !important;

  border: none !important;
  border-radius: 999px !important;

  background: #87654a !important;
  color: #ffffff !important;

  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: 0 7px 16px rgba(55, 42, 32, 0.14) !important;

  transition:
    background-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

/* Hover */
.memorial-condolencias-formulario
.elementor-field-type-submit
.elementor-button:hover,

.memorial-recuerdos-formulario
.elementor-field-type-submit
.elementor-button:hover,

.memorial-boton-secundario:hover,

.js-abrir-recuerdo
.elementor-button:hover,

.js-abrir-condolencia
.elementor-button:hover {
  background: #6f503b !important;
  color: #ffffff !important;

  transform: translateY(-1px) !important;
  box-shadow: 0 9px 20px rgba(55, 42, 32, 0.18) !important;
}

/* Hover botones formularios */
.memorial-recuerdos-formulario button:hover,
.memorial-recuerdos-formulario .elementor-button:hover,
.memorial-condolencias-formulario button:hover,
.memorial-condolencias-formulario .elementor-button:hover {
  background: #604735 !important;
}

/* Botones secundarios: enviar recuerdo / dejar condolencia */
.memorial-boton-secundario,
.js-abrir-recuerdo,
.js-abrir-condolencia {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 42px;
  padding: 10px 18px;

  border-radius: 999px;
  border: 1px solid rgba(122, 92, 69, 0.22);

  background: rgba(255, 255, 255, 0.72);
  color: #6a4f3b;

  font-size: 14px;
  font-weight: 600;
  text-decoration: none;

  box-shadow: 0 8px 20px rgba(55, 42, 32, 0.08);
  transition: all 0.22s ease;
}

.memorial-boton-secundario:hover,
.js-abrir-recuerdo:hover,
.js-abrir-condolencia:hover {
  background: #7a5c45;
  color: #ffffff;
  border-color: #7a5c45;
  transform: translateY(-1px);
}

/* Ajuste móvil */
@media (max-width: 767px) {
  .memorial-recuerdos-recibidos {
    padding: 28px 14px 38px;
  }

  .memorial-recuerdos-recibidos p {
    font-size: 15.5px;
    line-height: 1.65;
  }

  .memorial-recuerdos-formulario,
  .memorial-condolencias-formulario {
    margin-top: 28px;
    padding: 24px 16px 28px;
    border-radius: 22px;
  }

  .memorial-boton-secundario,
  .js-abrir-recuerdo,
  .js-abrir-condolencia {
    width: 100%;
    min-height: 44px;
  }
}
/* =========================================================
   MEMORIAL — TIPO DE RECUERDO Y TÍTULO EDITABLE
   Unifica:
   - memorial-recuerdo-matiz
   - memorial-tipo-recuerdo
   - memorial-titulo-seccion
   ========================================================= */

/* Tipo / matiz del recuerdo: texto discreto, nunca botón */
.memorial-recuerdo-matiz,
.memorial-recuerdo-matiz *,
.memorial-recuerdo-matiz .elementor-widget-container,
.memorial-recuerdo-matiz .elementor-heading-title,
.memorial-recuerdo-matiz .elementor-button,
.memorial-recuerdo-matiz a,
.memorial-recuerdo-matiz span,
.memorial-tipo-recuerdo,
.memorial-tipo-recuerdo *,
.memorial-tipo-recuerdo .elementor-widget-container,
.memorial-tipo-recuerdo .elementor-heading-title,
.memorial-tipo-recuerdo .elementor-button,
.memorial-tipo-recuerdo a,
.memorial-tipo-recuerdo span {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  color: #9a7a61 !important;

  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
  cursor: default !important;
  transform: none !important;
}

.memorial-recuerdo-matiz,
.memorial-tipo-recuerdo {
  display: block !important;
  margin-bottom: 8px !important;
}

.memorial-recuerdo-matiz *,
.memorial-tipo-recuerdo * {
  display: inline !important;
}

/* Evita cualquier hover heredado de botón */
.memorial-recuerdo-matiz:hover,
.memorial-recuerdo-matiz *:hover,
.memorial-recuerdo-matiz .elementor-button:hover,
.memorial-recuerdo-matiz a:hover,
.memorial-tipo-recuerdo:hover,
.memorial-tipo-recuerdo *:hover,
.memorial-tipo-recuerdo .elementor-button:hover,
.memorial-tipo-recuerdo a:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: #9a7a61 !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Títulos editables de sección — estilo común */
.memorial-titulo-seccion,
.memorial-titulo-seccion .elementor-widget-container,
.memorial-titulo-seccion .elementor-heading-title,
.memorial-titulo-seccion .communio-editable-acf-content {
  font-family: Georgia, "Times New Roman", serif !important;
  color: #5f4634 !important;
  font-weight: 400 !important;
  font-size: clamp(25px, 2.6vw, 34px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.memorial-titulo-seccion .communio-editable-acf-content::after {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin: 18px auto 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(122, 92, 69, 0.45),
    transparent
  );
}
/* =========================================================
   COMMUNIO — CONDOLENCIAS / ACOMPAÑAMIENTO
   Bloque limpio definitivo
   Estructura:
   tarjeta > cabecera(imagen + identidad) > mensaje
   ========================================================= */


/* =========================================================
   1. LIMPIEZA DEL ITEM DEL LOOP
   ========================================================= */

.memorial-condolencias-recibidas .e-loop-item {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}


/* =========================================================
   2. TARJETA ÚNICA
   ========================================================= */

.communio-acompanamiento-card {
  width: 100% !important;

  background: rgba(255, 250, 247, 0.88) !important;
  border: 1px solid rgba(122, 92, 69, 0.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 16px 38px rgba(55, 42, 32, 0.08) !important;

  padding: 28px 22px 30px !important;
  margin: 0 !important;

  overflow: hidden !important;
}

/* Interior real de Elementor */
.communio-acompanamiento-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  gap: 22px !important;

  width: 100% !important;
  max-width: none !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* =========================================================
   3. CABECERA: IMAGEN IZQUIERDA + IDENTIDAD DERECHA
   ========================================================= */

.communio-acompanamiento-cabecera,
.communio-acompanamiento-cabecera > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: 18px !important;

  width: 100% !important;
  max-width: none !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* =========================================================
   4. IMAGEN / GESTO
   ========================================================= */

.communio-acompanamiento-gesto,
.communio-acompanamiento-gesto.elementor-widget,
.communio-acompanamiento-gesto .elementor-widget-container,
.communio-acompanamiento-gesto .communio-acomp-visual-card {
  flex: 0 0 72px !important;

  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.communio-acompanamiento-gesto .elementor-widget-container,
.communio-acompanamiento-gesto .communio-acomp-visual-card {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.communio-acompanamiento-gesto .communio-acomp-visual-card img {
  display: block !important;

  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;

  border-radius: 999px !important;

  object-fit: cover !important;
  object-position: center !important;

  box-shadow: 0 8px 20px rgba(55, 42, 32, 0.13) !important;
}

/* Si quedase texto antiguo dentro del shortcode visual, se oculta */
.communio-acompanamiento-gesto .communio-acomp-visual-card span {
  display: none !important;
}


/* =========================================================
   5. IDENTIDAD: NOMBRE + RELACIÓN + FRASE
   ========================================================= */

.communio-acompanamiento-identidad,
.communio-acompanamiento-identidad > .e-con-inner {
  flex: 1 1 auto !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  gap: 4px !important;

  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;

  padding: 0 !important;
  margin: 0 !important;

  text-align: left !important;
}

/* Limpieza widgets dentro de identidad */
.communio-acompanamiento-identidad .elementor-widget,
.communio-acompanamiento-identidad .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* Nombre */
.communio-acompanamiento-nombre,
.communio-acompanamiento-nombre .elementor-widget-container,
.communio-acompanamiento-nombre .elementor-heading-title {
  color: #5f4634 !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;

  text-align: left !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* Relación */
.communio-acompanamiento-relacion,
.communio-acompanamiento-relacion .elementor-widget-container,
.communio-acompanamiento-relacion p {
  color: #8b7666 !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;

  text-align: left !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* Frase del gesto: Ofreció una oración / Encendió una vela */
.communio-acompanamiento-frase,
.communio-acompanamiento-frase .elementor-widget-container,
.communio-acompanamiento-frase .communio-acomp-frase {
  color: #8a654d !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  text-align: left !important;

  padding: 0 !important;
  margin: 6px 0 0 !important;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


/* =========================================================
   6. MENSAJE
   ========================================================= */

.communio-acompanamiento-mensaje {
  width: 100% !important;
  max-width: none !important;

  padding: 0 !important;
  margin: 0 !important;
}

.communio-acompanamiento-mensaje,
.communio-acompanamiento-mensaje .elementor-widget-container,
.communio-acompanamiento-mensaje p {
  color: #59473d !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.78 !important;

  text-align: left !important;

  padding: 0 !important;
  margin: 0 !important;
}

.communio-acompanamiento-mensaje p:last-child {
  margin-bottom: 0 !important;
}

/* Comillas suaves */
.communio-acompanamiento-mensaje p::before {
  content: "“";
}

.communio-acompanamiento-mensaje p::after {
  content: "”";
}


/* =========================================================
   7. LIMPIEZA GENERAL ELEMENTOR
   ========================================================= */

.communio-acompanamiento-card .elementor-widget {
  margin-block-end: 0 !important;
}


/* Separación entre tarjetas */
.memorial-condolencias-recibidas .elementor-loop-container,
.memorial-condolencias-recibidas .elementor-grid {
  row-gap: 30px !important;
}


/* =========================================================
   8. MÓVIL
   ========================================================= */

@media (max-width: 767px) {
  .communio-acompanamiento-card {
    padding: 24px 20px 28px !important;
    border-radius: 26px !important;
  }

  .communio-acompanamiento-card > .e-con-inner {
    gap: 20px !important;
  }

  .communio-acompanamiento-cabecera,
  .communio-acompanamiento-cabecera > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
  }

  .communio-acompanamiento-gesto,
  .communio-acompanamiento-gesto.elementor-widget,
  .communio-acompanamiento-gesto .elementor-widget-container,
  .communio-acompanamiento-gesto .communio-acomp-visual-card {
    flex: 0 0 68px !important;

    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
  }

  .communio-acompanamiento-gesto .communio-acomp-visual-card img {
    width: 62px !important;
    height: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
  }

  .communio-acompanamiento-nombre,
  .communio-acompanamiento-nombre .elementor-heading-title {
    font-size: 21px !important;
  }

  .communio-acompanamiento-relacion,
  .communio-acompanamiento-relacion p {
    font-size: 14px !important;
  }

  .communio-acompanamiento-frase,
  .communio-acompanamiento-frase .communio-acomp-frase {
    font-size: 13px !important;
  }

  .communio-acompanamiento-mensaje,
  .communio-acompanamiento-mensaje p {
    font-size: 16.5px !important;
    line-height: 1.76 !important;
  }
}
/* =========================================================
   RECUERDOS — AUTOAJUSTE REAL SEGÚN TARJETAS VISIBLES
   Fuente única de layout para las tarjetas del menú de Recuerdos.
   ========================================================= */

body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 22px !important;

  width: 100% !important;
  max-width: 1120px !important;

  margin-top: 26px !important;
  margin-bottom: 26px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Tarjetas ocultas por el JS */
body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-recuerdo-card.communio-recuerdo-oculto {
  display: none !important;
}

/* Tarjetas visibles */
body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid
> .memorial-recuerdo-card.communio-recuerdo-visible {
  display: flex !important;

  flex: 0 1 340px !important;

  width: 340px !important;
  max-width: 340px !important;
  min-width: 0 !important;

  margin: 0 !important;
}

/* Una sola tarjeta */
body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid.communio-recuerdos-1 {
  justify-content: center !important;
  max-width: 420px !important;
}

/* Dos tarjetas */
body:not(.elementor-editor-active)
.memorial-media-menu
.memorial-recuerdos-grid.communio-recuerdos-2 {
  justify-content: center !important;
  max-width: 760px !important;
}



/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.elementor-editor-active)
  .memorial-media-menu
  .memorial-recuerdos-grid
  > .memorial-recuerdo-card.communio-recuerdo-visible {
    flex-basis: 320px !important;
    width: 320px !important;
    max-width: 320px !important;
  }

  body:not(.elementor-editor-active)
  .memorial-media-menu
  .memorial-recuerdos-grid.communio-recuerdos-1 {
    max-width: 380px !important;
  }

  body:not(.elementor-editor-active)
  .memorial-media-menu
  .memorial-recuerdos-grid.communio-recuerdos-2 {
    max-width: 700px !important;
  }
}

/* Móvil */
@media (max-width: 767px) {
  body:not(.elementor-editor-active)
  .memorial-media-menu
  .memorial-recuerdos-grid {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 16px !important;

    max-width: 430px !important;

    margin-top: 20px !important;
    margin-bottom: 18px !important;
  }

  body:not(.elementor-editor-active)
  .memorial-media-menu
  .memorial-recuerdos-grid
  > .memorial-recuerdo-card.communio-recuerdo-visible {
    flex: none !important;

    width: 100% !important;
    max-width: 100% !important;
  }
}
/* =========================================================
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

/* ---------------------------------------------------------
   01 — VARIABLES DE ANCHO
   --------------------------------------------------------- */

body.single-memorial {
  --mem-width-box: 760px;
  --mem-width-box-wide: 820px;
  --mem-width-grid: 1040px;
  --mem-box-padding-desktop: 32px;
  --mem-box-padding-mobile: 20px;
}

/* ---------------------------------------------------------
   02 — VISTAS INTERNAS
   No afecta a portada
   --------------------------------------------------------- */

body.single-memorial .memorial-main-memoria,
body.single-memorial .memorial-media-menu,
body.single-memorial .memorial-media-video,
body.single-memorial .memorial-media-galeria,
body.single-memorial .memorial-media-recibidos,
body.single-memorial .memorial-media-condolencias,
body.single-memorial .memorial-media-oracion,
body.single-memorial .memorial-media-ceremonia,
body.single-memorial .memorial-huellas-menu,
body.single-memorial .memorial-huellas-contenido {
  width: 100% !important;
  max-width: none !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   03 — CAJA ESTÁNDAR DE LECTURA
   Biografía, voces, oración, ceremonia, condolencias
   --------------------------------------------------------- */

body.single-memorial .memorial-main-memoria .memorial-memoria-card,
body.single-memorial .memorial-main-memoria .memorial-memoria-frase-final,
body.single-memorial .memorial-media-oracion .memorial-memoria-card,
body.single-memorial .memorial-media-ceremonia .memorial-ceremonia-card,
body.single-memorial .memorial-media-condolencias .memorial-condolencias-recibidas,
body.single-memorial .memorial-media-condolencias .memorial-condolencias-formulario,
body.single-memorial .memorial-huellas-contenido > .elementor-element {
  width: 100% !important;
  max-width: var(--mem-width-box) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   04 — RELLENO INTERIOR DE CAJAS
   --------------------------------------------------------- */

body.single-memorial .memorial-main-memoria .memorial-memoria-card,
body.single-memorial .memorial-main-memoria .memorial-memoria-frase-final,
body.single-memorial .memorial-media-ceremonia .memorial-ceremonia-card {
  padding-left: var(--mem-box-padding-desktop) !important;
  padding-right: var(--mem-box-padding-desktop) !important;
}
/* ---------------------------------------------------------
   05 — TEXTO DENTRO DE CAJAS
   El texto ya no tiene otro ancho raro: ocupa su caja
   --------------------------------------------------------- */

body.single-memorial .memorial-main-memoria .memorial-memoria-card .elementor-widget-text-editor,
body.single-memorial .memorial-main-memoria .memorial-memoria-card .elementor-widget-text-editor .elementor-widget-container,
body.single-memorial .memorial-main-memoria .memorial-memoria-card p,
body.single-memorial .memorial-main-memoria .memorial-memoria-frase-final p,
body.single-memorial .memorial-media-oracion .memorial-memoria-card p,
body.single-memorial .memorial-media-ceremonia .memorial-ceremonia-card p {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------------------------------------------------------
   06 — CONTENEDORES DE LECTURA SIN TARJETA
   Vídeo, oración principal, ceremonia general
   --------------------------------------------------------- */

body.single-memorial .memorial-media-video > .elementor-element:first-child,
body.single-memorial .memorial-media-oracion > .elementor-element,
body.single-memorial .memorial-media-ceremonia > .elementor-element:first-child,
body.single-memorial .memorial-huellas-menu {
  width: 100% !important;
  max-width: var(--mem-width-box-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   07 — VÍDEO
   --------------------------------------------------------- */

body.single-memorial .memorial-media-video .elementor-widget-video {
  width: 100% !important;
  max-width: var(--mem-width-box-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------------------------------------------------------
   08 — RECUERDOS Y GALERÍA
   Más ancho porque son grids / imágenes
   --------------------------------------------------------- */

body.single-memorial .memorial-media-menu > .elementor-element:first-child,
body.single-memorial .memorial-media-menu .memorial-recuerdos-grid,
body.single-memorial .memorial-media-galeria > .elementor-element:first-child,
body.single-memorial .memorial-media-galeria .elementor-widget-memoriales_galeria,
body.single-memorial .memorial-media-galeria .elementor-widget-container {
  width: 100% !important;
  max-width: var(--mem-width-grid) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ---------------------------------------------------------
   09 — MÓVIL
   --------------------------------------------------------- */

@media (max-width: 767px) {
  body.single-memorial {
    --mem-width-box: 100%;
    --mem-width-box-wide: 100%;
    --mem-width-grid: 100%;
  }

  body.single-memorial .memorial-main-memoria .memorial-memoria-card,
  body.single-memorial .memorial-main-memoria .memorial-memoria-frase-final,
  body.single-memorial .memorial-media-ceremonia .memorial-ceremonia-card {
    padding-left: var(--mem-box-padding-mobile) !important;
    padding-right: var(--mem-box-padding-mobile) !important;
  }
}
/* =========================================================
   FIX ORACIÓN — Reducir margen interior de bloques
   Solo ajuste fino de padding.
   El ancho general lo controla:
   FIX FINAL — SISTEMA DE ANCHOS ESTÁNDAR MEMORIAL
   ========================================================= */

body.single-memorial .memorial-media-oracion .memorial-memoria-card,
body.single-memorial .memorial-media-oracion .memorial-oracion-bloque {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body.single-memorial .memorial-media-oracion .memorial-memoria-card,
  body.single-memorial .memorial-media-oracion .memorial-oracion-bloque {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* Seguridad: oculta portada cuando no es la vista activa */
body:not(.elementor-editor-active) .memorial-main-inicio:not(.main-activa) {
  display: none !important;
}
/* =========================================================
 * CABECERA SECUNDARIA — MEMORIAL
 * ========================================================= */

body:not(.elementor-editor-active) .communio-cabecera-secundaria {
    width: min(760px, calc(100% - 32px)) !important;
    margin: 0 auto 24px !important;
    padding: 18px 16px 8px !important;
    text-align: center !important;
    display: block !important;
}

/* Nombre */
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-nombre,
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-nombre *,
body:not(.elementor-editor-active) .communio-cabecera-nombre .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #8a5f42 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(25px, 5vw, 36px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
}

/* Separador */
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador {
    margin: 10px auto 7px !important;
    padding: 0 !important;
    text-align: center !important;
    color: #b08a6a !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
}

body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador *,
body:not(.elementor-editor-active) .communio-cabecera-separador .elementor-heading-title {
    color: #b08a6a !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
}

body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador::before,
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador::after {
    content: "";
    width: 48px;
    height: 1px;
    background: rgba(176, 138, 106, .42);
    display: block;
}

/* Título de sección */
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-titulo,
body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-titulo *,
body:not(.elementor-editor-active) .communio-cabecera-titulo .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #7a5f4a !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(18px, 3.8vw, 23px) !important;
    font-weight: 400 !important;
    font-style: italic !important;
    line-height: 1.22 !important;
    text-align: center !important;
}

/* Reduce espacio entre bloques de Memoria */
body:not(.elementor-editor-active) .memorial-main-memoria .elementor-widget:not(:last-child) {
    margin-bottom: 14px !important;
}

/* Evita título duplicado si el viejo título sigue en la sección */
body:not(.elementor-editor-active) .memorial-main-memoria .communio-titulo-antiguo-memoria {
    display: none !important;
}

@media (max-width: 767px) {
    body:not(.elementor-editor-active) .communio-cabecera-secundaria {
        width: min(100%, calc(100% - 24px)) !important;
        margin-bottom: 20px !important;
        padding-top: 12px !important;
    }

    body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador::before,
    body:not(.elementor-editor-active) .communio-cabecera-secundaria .communio-cabecera-separador::after {
        width: 36px;
    }
}
/* =========================================================
   LOOP RECUERDO MEMORIAL — ESTRUCTURA E IMAGEN
   Las clases quedan preparadas para futuros diseños.
   ========================================================= */

body.single-memorial .communio-recuerdo-card {
    min-width: 0;
    box-sizing: border-box;
}

body.single-memorial .communio-recuerdo-imagen,
body.single-memorial .communio-recuerdo-imagen .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    text-align: center;
}

body.single-memorial .communio-recuerdo-imagen img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}


/* =========================================================
   COMMUNIO — RECUERDOS COMPARTIDOS
   ESTILO UNIFICADO CON EL RESTO DEL MEMORIAL
   ========================================================= */

/* Base de los campos editables */
body:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-editable-acf,
body:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-editable-acf-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* Frase o título del recuerdo */
body:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-titulo
.communio-editable-acf-content {
    margin: 0 0 18px !important;
    padding: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 21px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    color: #7a4e35 !important;
}

/* Separador bajo el título */
body:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-titulo
.communio-editable-acf-content::after {
    content: "" !important;
    display: block !important;
    width: 54px !important;
    height: 1px !important;
    margin: 12px auto 0 !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(122, 92, 69, 0.34),
        transparent
    ) !important;
}


/* =========================================================
   PIE DE IMAGEN DEL RECUERDO
   ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-pie-imagen {
    width: 100% !important;
    margin: -8px 0 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-pie-imagen
.communio-editable-acf,
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-pie-imagen
.communio-editable-acf-content {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #806b5c !important;
    text-align: center !important;
}

/* Permite añadir el pie cuando está vacío */
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-pie-imagen
.communio-editable-acf-activo
.communio-editable-acf-content:empty::before {
    content: "Añadir pie de imagen" !important;
    display: inline-block !important;
    padding: 4px 10px !important;
    border: 1px dashed rgba(122, 92, 69, 0.28) !important;
    border-radius: 999px !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-style: normal !important;
    color: #9a7a61 !important;
}
/* =========================================================
   FIRMA DEL RECUERDO — CORRECCIÓN FINAL ELEMENTOR
   Resultado: — Elena · Sobrina
   ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

/* Anula el ancho completo de los widgets de Elementor */
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
> .elementor-element {
    --width: auto !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-editable-acf,
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-editable-acf-content {
    display: inline-flex !important;
    align-items: baseline !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Nombre */
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-recuerdo-nombre
.communio-editable-acf-content {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    color: #6f513d !important;
    text-align: right !important;
}

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-recuerdo-nombre
.communio-editable-acf-content::before {
    content: "—" !important;
    display: inline-block !important;
    margin-right: 7px !important;
    font-weight: 400 !important;
    color: #b08a6a !important;
}

/* Relación o vínculo */
body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-recuerdo-relacion
.communio-editable-acf-content {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: #88766a !important;
    text-align: right !important;
}

body.single-memorial:not(.elementor-editor-active)
.communio-recuerdo-card
.communio-recuerdo-identidad
.communio-recuerdo-relacion
.communio-editable-acf-content::before {
    content: "·" !important;
    display: inline-block !important;
    margin: 0 7px !important;
    color: #b08a6a !important;
}
/* =========================================================
   RECUERDOS COMPARTIDOS — AJUSTE MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    body:not(.elementor-editor-active)
    .communio-recuerdo-card
    .communio-recuerdo-titulo
    .communio-editable-acf-content {
        font-size: 20px !important;
    }

    body:not(.elementor-editor-active)
    .communio-recuerdo-card
    .communio-recuerdo-mensaje
    .communio-editable-acf-content,
    body:not(.elementor-editor-active)
    .communio-recuerdo-card
    .communio-recuerdo-mensaje
    .communio-editable-acf-content p {
        font-size: 15px !important;
        line-height: 1.62 !important;
    }

    body:not(.elementor-editor-active)
    .communio-recuerdo-card
    .communio-recuerdo-editar-imagen
    .cmi-editor-actions {
        justify-content: center !important;
    }

}
/* =========================================================
   FIX FINAL — VÍDEOS OFICIALES VERTICALES EN MÓVIL
   Evita que una tarjeta se monte sobre la siguiente.
   ========================================================= */

@media (max-width: 767px) {

  body.single-memorial
  .memorial-media-video
  .communio-videos-oficiales-listado
  .elementor-loop-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-videos-oficiales-listado
  .e-loop-item,
  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  /* El widget Shortcode debe ocupar la altura del reproductor */
  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-media,
  body.single-memorial
  .memorial-media-video
  .communio-video-oficial-media
  > .elementor-widget-container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Vídeo vertical: altura real dentro del flujo */
  body.single-memorial
  .memorial-media-video
  .communio-video-proporcion-9-16 {
    position: relative !important;
    display: block !important;

    width: min(100%, 340px) !important;
    height: auto !important;
    aspect-ratio: 9 / 16 !important;

    margin: 0 auto !important;
    flex: 0 0 auto !important;
  }

  /* Los demás formatos también reservan su espacio */
  body.single-memorial
  .memorial-media-video
  .communio-video-proporcion-16-9 {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-proporcion-4-3 {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-proporcion-1-1 {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.single-memorial
  .memorial-media-video
  .communio-video-oficial iframe,
  body.single-memorial
  .memorial-media-video
  .communio-video-oficial video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
}
/* =========================================================
 * 13 — CABECERA INTERIOR DEL MEMORIAL
 *
 * Referencia visual:
 * - Cabecera clara y compacta.
 * - Símbolo grande.
 * - Separación amplia entre símbolo y nombre.
 * - Nombre en dos o más líneas sin recorte.
 * - Hamburguesa circular clara de 46 px.
 * - Mantiene intacto el menú radial cuando se abre.
 * ========================================================= */

:root {
  --communio-header-altura: 64px;
  --communio-admin-bar-offset: 0px;
  --communio-header-identidad-ancho: 860px;
}

/* =========================================================
 * CABECERA INTERIOR
 *
 * En Inicio:
 * - la estructura permanece disponible porque contiene el menú;
 * - no se muestra fondo, símbolo ni nombre.
 *
 * En vistas interiores:
 * - se muestra la cabecera completa;
 * - identidad y menú comparten el mismo ancho de referencia.
 *
 * Sin backdrop-filter: evita que el menú radial abierto quede
 * limitado por la cabecera y permite centrarlo en la ventana.
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior {
  position: fixed !important;

  top: var(--communio-admin-bar-offset, 0px) !important;
  right: 0 !important;
  left: 0 !important;

  z-index: 10000010 !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  height: auto !important;
  min-height: 64px !important;
  max-height: none !important;

  margin: 0 !important;

  padding-top: 4px !important;
  padding-bottom: 4px !important;

  padding-left:
    max(
      16px,
      calc(
        (100vw - var(--communio-header-identidad-ancho, 860px)) / 2
      )
    ) !important;

  padding-right:
    max(
      16px,
      calc(
        (100vw - var(--communio-header-identidad-ancho, 860px)) / 2
      )
    ) !important;

  box-sizing: border-box !important;

  gap: 0 !important;

  background: #fffaf4 !important;
  background-color: #fffaf4 !important;
  background-image: none !important;

  border: 0 !important;
  border-bottom:
    1px solid rgba(133, 102, 79, 0.15) !important;

  box-shadow:
    0 3px 10px rgba(74, 54, 40, 0.10) !important;

  overflow: visible !important;
  pointer-events: auto !important;

  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;

  --flex-wrap: nowrap !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
}


/* =========================================================
 * ESTADO INICIO
 * ========================================================= */

body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
.communio-header-interior {
  height: 0 !important;
  min-height: 0 !important;

  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  box-shadow: none !important;

  pointer-events: none !important;
}

body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-identidad {
  display: none !important;
}


/* =========================================================
 * ESTADO VISTA INTERIOR
 * ========================================================= */

body.communio-vista-interior-activa:not(.elementor-editor-active)
.communio-header-interior {
  display: flex !important;
  min-height: 64px !important;
  pointer-events: auto !important;
}


/* =========================================================
 * CABECERA MÓVIL
 * ========================================================= */

@media (max-width: 767px) {

  body {
    --communio-header-altura: 60px;
  }

  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .communio-header-interior {
    min-height: 60px !important;

    padding-top: 3px !important;
    padding-right: 12px !important;
    padding-bottom: 3px !important;
    padding-left: 12px !important;
  }

  body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
  .communio-header-interior {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
}

/* =========================================================
 * IDENTIDAD: SÍMBOLO + NOMBRE
 *
 * El contenedor exterior ocupa el espacio disponible.
 * La cuadrícula interior reparte:
 * - columna fija para el símbolo;
 * - columna flexible para el nombre.
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-identidad {
  display: block !important;

  flex: 1 1 auto !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 50px) !important;

  height: auto !important;
  min-height: 56px !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  --width: auto !important;
  --flex-grow: 1 !important;
  --flex-shrink: 1 !important;
}


/* =========================================================
 * CUADRÍCULA REAL DE LA IDENTIDAD
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-identidad
> .e-con-inner {
  display: grid !important;

  grid-template-columns:
    38px minmax(0, 1fr) !important;

  grid-template-rows: auto !important;

  align-items: center !important;
  justify-content: stretch !important;

  column-gap: 24px !important;
  row-gap: 0 !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 56px !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  --display: grid !important;
  --width: 100% !important;
  --content-width: 100% !important;
  --gap: 24px !important;
}


/* =========================================================
 * CONTENEDOR DEL SÍMBOLO
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-simbolo,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-simbolo-widget,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-simbolo-widget
.elementor-widget-container {
  display: flex !important;

  grid-column: 1 !important;
  grid-row: 1 !important;

  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;

  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;

  --width: 34px !important;
  --flex-grow: 0 !important;
  --flex-shrink: 0 !important;
}


/* =========================================================
 * CONJUNTO Y RENDER DEL SÍMBOLO
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-conjunto,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-render {
  position: relative !important;

  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;

  height: 56px !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}


/* =========================================================
 * SÍMBOLO VISIBLE
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-memorial {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;

  height: 50px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #89654a !important;

  line-height: 0 !important;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-memorial svg {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  overflow: visible !important;

  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.45 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* =========================================================
 * ZONA EDITABLE DEL SÍMBOLO
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-conjunto
.communio-simbolo-editor.communio-editable-acf {
  position: absolute !important;

  inset: 0 !important;
  z-index: 2 !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  opacity: 0 !important;

  cursor: pointer !important;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-editor
.communio-editable-acf-content {
  display: none !important;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-simbolo-editor.communio-editable-acf-vacio::before {
  content: none !important;
  display: none !important;
}


/* =========================================================
 * WIDGET DEL NOMBRE
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.elementor-widget-shortcode {
  display: block !important;

  grid-column: 2 !important;
  grid-row: 1 !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  box-sizing: border-box !important;

  --width: 100% !important;
  --flex-grow: 1 !important;
  --flex-shrink: 1 !important;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.elementor-widget-container,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.elementor-shortcode,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.communio-editable-acf {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  box-sizing: border-box !important;
}


/* =========================================================
 * TAMAÑOS EDITABLES DEL NOMBRE
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre {
  --communio-header-nombre-size: 23px;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.communio-tamano-muy-pequeno {
  --communio-header-nombre-size: 17px;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.communio-tamano-pequeno {
  --communio-header-nombre-size: 20px;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.communio-tamano-normal {
  --communio-header-nombre-size: 23px;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.communio-tamano-grande {
  --communio-header-nombre-size: 27px;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre.communio-tamano-muy-grande {
  --communio-header-nombre-size: 31px;
}


/* =========================================================
 * NOMBRE VISIBLE
 *
 * pre-line conserva los retornos escritos por el administrador,
 * pero no convierte los espacios normales en saltos.
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.communio-editable-acf-content {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  white-space: normal !important;

  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;

  text-indent: 0 !important;
  text-overflow: clip !important;

  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;

  font-family:
    "Cormorant Garamond",
    "Bodoni Moda",
    Georgia,
    "Times New Roman",
    serif !important;

  font-size:
    var(--communio-header-nombre-size) !important;

  font-style: italic !important;
  font-weight: 500 !important;

  line-height: 1.08 !important;
  letter-spacing: -0.2px !important;

  color: #604737 !important;

  text-align: center !important;

  box-sizing: border-box !important;
}


/* El shortcode devuelve normalmente el nombre dentro de un párrafo */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.communio-editable-acf-content p {
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  margin: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;

  padding: 0 !important;
  padding-inline-start: 0 !important;

  text-indent: 0 !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;

  color: inherit !important;

  text-align: center !important;
  white-space: normal !important;

  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.communio-editable-acf-content br,

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-nombre
.communio-editable-acf-content p br {
  display: initial !important;
  visibility: visible !important;
}



/* =========================================================
 * HUECO DERECHO PARA LA HAMBURGUESA
 * ========================================================= */

body:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-menu {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;

  flex: 0 0 36px !important;

  align-items: center !important;
  justify-content: flex-end !important;

  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;

  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  overflow: visible !important;

  pointer-events: auto !important;

  --width: 36px !important;
  --flex-grow: 0 !important;
  --flex-shrink: 0 !important;
}


/* =========================================================
 * LANZADOR EN VISTAS INTERIORES
 * ========================================================= */

body.communio-vista-interior-activa:not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-menu
.memorial-radial-menu {
  position: relative !important;

  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;

  display: block !important;
  flex: 0 0 34px !important;

  width: 38px !important;
  min-width: 34px !important;
  max-width: 34px !important;

  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;

  z-index: 10000020 !important;
  pointer-events: auto !important;
}


/* =========================================================
 * LANZADOR EN INICIO
 * Mismo tamaño y aspecto, situado a la derecha.
 * ========================================================= */

body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-menu {
  position: static !important;
  display: block !important;

  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;

  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  pointer-events: none !important;
}

body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
.communio-header-interior
.communio-header-interior-menu
.memorial-radial-menu {
  position: fixed !important;

  top:
    calc(
      16px + var(--communio-admin-bar-offset, 0px)
    ) !important;

  right:
    max(
      16px,
      calc(
        (100vw - var(--communio-header-identidad-ancho, 860px)) / 2
      )
    ) !important;

  bottom: auto !important;
  left: auto !important;

  display: block !important;

  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;

  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;

  z-index: 10000020 !important;
  pointer-events: auto !important;
}

/* =========================================================
 * BOTÓN HAMBURGUESA
 * Mismo aspecto en Inicio y vistas interiores.
 * ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-menu
.memorial-radial-toggle {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;

  width: 38px !important;
  height: 34px !important;

  min-width: 38px !important;
  min-height: 34px !important;
  max-width: 38px !important;
  max-height: 34px !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;

  border:
    1px solid rgba(139, 102, 74, 0.24) !important;

  border-radius: 50% !important;

  background-color: #f4e8dc !important;

  background-image:
    linear-gradient(#604737, #604737),
    linear-gradient(#604737, #604737),
    linear-gradient(#604737, #604737) !important;

  background-repeat: no-repeat !important;

  background-size:
    15px 1.4px,
    15px 1.4px,
    15px 1.4px !important;

  background-position:
    center calc(50% - 4.5px),
    center,
    center calc(50% + 4.5px) !important;

  box-shadow:
    0 3px 9px rgba(88, 61, 43, 0.09) !important;

  outline: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-menu
.memorial-radial-toggle:hover {
  background-color: #edddce !important;

  border-color:
    rgba(139, 102, 74, 0.34) !important;
}


/* Ocultar el contenido anterior del botón */

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle
.memorial-radial-icon,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle
.memorial-radial-icon-svg,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle
.memorial-radial-text,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle > svg,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle > i,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle > span {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle::before,

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-toggle::after {
  content: none !important;
  display: none !important;
}


/* =========================================================
 * MENÚ RADIAL ABIERTO
 *
 * Se fuerza contra la ventana, no contra la cabecera.
 * ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-menu
.memorial-radial-items {
  position: fixed !important;

  top: 50vh !important;
  left: 50vw !important;
  right: auto !important;
  bottom: auto !important;

  width: 1px !important;
  height: 1px !important;

  transform: translate(-50%, -50%) !important;

  z-index: 10000030 !important;
}

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-menu.radial-abierto
.memorial-radial-items {
  pointer-events: auto !important;
}

body.single-memorial:not(.elementor-editor-active)
.memorial-radial-menu.radial-abierto
.memorial-radial-item {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 10000031 !important;
}


/* =========================================================
 * AJUSTE MÓVIL
 * ========================================================= */

@media (max-width: 767px) {

  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-menu {
    flex-basis: 34px !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }

  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-menu
  .memorial-radial-menu {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;

    transform: none !important;
  }

  body.single-memorial:not(.communio-vista-interior-activa):not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-menu
  .memorial-radial-menu {
    top:
      calc(
        14px + var(--communio-admin-bar-offset, 0px)
      ) !important;
    right: 14px !important;
    left: auto !important;

    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;

    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
  }

  body.single-memorial:not(.elementor-editor-active)
  .memorial-radial-menu
  .memorial-radial-toggle {
    width: 32px !important;
    height: 32px !important;

    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;

    background-size:
      14px 1.3px,
      14px 1.3px,
      14px 1.3px !important;

    background-position:
      center calc(50% - 4px),
      center,
      center calc(50% + 4px) !important;
  }

}

/* =========================================================
 * 1.1.5 — TEXTOS LARGOS JUSTIFICADOS
 *
 * Se apoya en el tipo real resuelto por ACF/PHP. Las listas
 * conservan alineación izquierda para mantener su legibilidad.
 * ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.communio-editable-acf.communio-editable-acf-textarea:not(.communio-portada-frase)
> .communio-editable-acf-content,
body.single-memorial:not(.elementor-editor-active)
.communio-editable-acf.communio-editable-acf-textarea:not(.communio-portada-frase)
> .communio-editable-acf-content p {
  text-align: justify !important;
  text-justify: inter-word !important;
  hyphens: auto !important;
}

body.single-memorial:not(.elementor-editor-active)
.communio-editable-acf.communio-editable-acf-textarea:not(.communio-portada-frase)
> .communio-editable-acf-content ul,
body.single-memorial:not(.elementor-editor-active)
.communio-editable-acf.communio-editable-acf-textarea:not(.communio-portada-frase)
> .communio-editable-acf-content ol,
body.single-memorial:not(.elementor-editor-active)
.communio-editable-acf.communio-editable-acf-textarea:not(.communio-portada-frase)
> .communio-editable-acf-content li {
  text-align: left !important;
}

/* =========================================================
 * 1.1.5.1 — VOCES CERCANAS / CUERPO DEL TESTIMONIO
 * ========================================================= */

body.single-memorial:not(.elementor-editor-active)
.memorial-voz-card
.memorial-voz-mensaje {
  text-align: justify !important;
  text-justify: inter-word !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
}

/* =========================================================
 * ESPACIO SUPERIOR DE LAS VISTAS
 *
 * Todas las secciones salvo Inicio comienzan claramente
 * por debajo de la cabecera.
 * ========================================================= */

body.communio-vista-interior-activa:not(.elementor-editor-active)
.memorial-main-view.main-activa:not(.memorial-main-inicio),

body.communio-vista-interior-activa:not(.elementor-editor-active)
.memorial-media-view.media-activa,

body.communio-vista-interior-activa:not(.elementor-editor-active)
.memorial-huellas-view.huellas-activa {
  padding-top: 118px !important;
}

@media (max-width: 767px) {
  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .memorial-main-view.main-activa:not(.memorial-main-inicio),

  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .memorial-media-view.media-activa,

  body.communio-vista-interior-activa:not(.elementor-editor-active)
  .memorial-huellas-view.huellas-activa {
    padding-top: 102px !important;
  }
}


/* La portada no utiliza esta cabecera */

body:not(.elementor-editor-active)
.memorial-main-inicio {
  padding-top: 0 !important;
}


/* =========================================================
 * BARRA DE ADMINISTRACIÓN DE WORDPRESS
 * ========================================================= */

body.admin-bar {
  --communio-admin-bar-offset: 32px;
}

@media (max-width: 782px) {
  body.admin-bar {
    --communio-admin-bar-offset: 46px;
  }
}


/* =========================================================
 * SELECTOR VISUAL DE SÍMBOLOS
 * ========================================================= */

.communio-symbol-grid {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(64px, 1fr)) !important;

  gap: 10px !important;
}

.communio-symbol-choice {
  position: relative !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  min-height: 68px !important;

  padding: 12px !important;

  color: #70513b !important;

  background: #fffdf9 !important;

  border:
    1px solid rgba(112, 81, 59, 0.20) !important;

  border-radius: 12px !important;

  cursor: pointer !important;
}

.communio-symbol-choice svg {
  display: block !important;

  width: 34px !important;
  height: 40px !important;

  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.communio-symbol-choice[data-symbol-value="ninguno"]::before {
  content: "" !important;

  width: 30px !important;
  height: 1px !important;

  background: currentColor !important;

  transform: rotate(-35deg) !important;
}

.communio-symbol-choice:hover,
.communio-symbol-choice:focus-visible,
.communio-symbol-choice.is-selected {
  outline: none !important;

  border-color: #70513b !important;

  background: #f7efe7 !important;

  box-shadow:
    0 0 0 2px rgba(112, 81, 59, 0.10) !important;
}

.communio-symbol-native-input {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  overflow: hidden !important;

  clip: rect(0 0 0 0) !important;

  white-space: nowrap !important;
}


/* =========================================================
 * AJUSTE MÓVIL FINAL
 * ========================================================= */

@media (max-width: 767px) {

  /* Cabecera compacta */
  body:not(.elementor-editor-active)
  .communio-header-interior {
    min-height: 58px !important;

    padding-top: 2px !important;
    padding-right: 12px !important;
    padding-bottom: 2px !important;
    padding-left: 12px !important;
  }

  /* Identidad */
  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-identidad {
    max-width: calc(100% - 54px) !important;
    min-height: 54px !important;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-identidad
  > .e-con-inner {
    grid-template-columns:
      34px minmax(0, 1fr) !important;

    min-height: 54px !important;

    column-gap: 18px !important;

    --gap: 18px !important;
  }

  /* Símbolo */
  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-simbolo,

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-simbolo-widget,

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-simbolo-widget
  .elementor-widget-container,

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-simbolo-conjunto,

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-simbolo-render {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;

    height: 52px !important;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-simbolo-memorial {
    width: 31px !important;
    min-width: 31px !important;
    max-width: 31px !important;

    height: 47px !important;
  }

  /* Tamaños del nombre */
  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre {
    --communio-header-nombre-size: 21px;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre.communio-tamano-muy-pequeno {
    --communio-header-nombre-size: 15px;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre.communio-tamano-pequeno {
    --communio-header-nombre-size: 18px;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre.communio-tamano-normal {
    --communio-header-nombre-size: 21px;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre.communio-tamano-grande {
    --communio-header-nombre-size: 24px;
  }

  body:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-nombre.communio-tamano-muy-grande {
    --communio-header-nombre-size: 27px;
  }

  /* Selector de símbolos */
  .communio-symbol-grid {
    grid-template-columns:
      repeat(3, minmax(58px, 1fr)) !important;

    gap: 8px !important;
  }

  .communio-symbol-choice {
    min-height: 62px !important;
    padding: 9px !important;
  }

  .communio-symbol-choice svg {
    width: 30px !important;
    height: 36px !important;
  }
}


/* =========================[Truncated]
details[data-communio-legacy-sections="1"] {
  display: none !important;
}

body.single-memorial .memorial-voz-card .communio-voz-identidad-generada {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 96px !important;
  margin: 0 0 18px !important;
  padding: 0 24px 0 120px !important;
  text-align: center !important;
}

/* 1.7.51 — Cabecera interior adaptable: fotografía, símbolo o solo nombre. */
body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-contenido--sin-visual {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-contenido--sin-visual
  .communio-header-interior-nombre-texto {
  grid-column: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-contenido--simbolo {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-contenido--simbolo
  .communio-header-interior-visual-slot {
  position: relative !important;
  display: flex !important;
  grid-column: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-contenido--simbolo
  .communio-header-interior-simbolo {
  position: relative !important;
  display: flex !important;
  grid-column: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 5px !important;
  box-sizing: border-box !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-contenido--simbolo
  :where(.communio-simbolo-render, .communio-simbolo-render img) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior
  .communio-header-interior-contenido--simbolo
  .communio-header-interior-nombre-texto {
  grid-column: 2 !important;
  min-width: 0 !important;
}

@media (max-width: 767px) {
  body.single-memorial:not(.elementor-editor-active)
    .communio-header-interior .communio-header-interior-contenido--simbolo {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.single-memorial:not(.elementor-editor-active)
    .communio-header-interior
    .communio-header-interior-contenido--simbolo
    .communio-header-interior-simbolo {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 4px !important;
  }

  body.single-memorial:not(.elementor-editor-active)
    .communio-header-interior
    .communio-header-interior-contenido--simbolo
    .communio-header-interior-visual-slot {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}
body.single-memorial .memorial-voz-card
  .communio-voz-identidad-generada .communio-voz-nombre-generado {
  display: block !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  color: inherit !important;
  font: inherit !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
body.single-memorial .memorial-voz-card
  .communio-voz-identidad-generada .memorial-voz-relacion {
  display: block !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
body.single-memorial .memorial-voz-card
  .communio-voz-identidad-generada .memorial-voz-relacion
  > .elementor-widget-container,
body.single-memorial .memorial-voz-card
  .communio-voz-identidad-generada .memorial-voz-relacion
  .elementor-heading-title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
@media (max-width: 767px) {
  body.single-memorial .memorial-voz-card
    .communio-voz-identidad-generada {
    min-height: 72px !important;
    margin-bottom: 16px !important;
    padding-right: 12px !important;
    padding-left: 88px !important;
  }
}
