/* Plantillas de página: título, introducción y espacio del contenido.
 * Las tarjetas, galerías y reproductores conservan su composición independiente. */
:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido) {
  --csp-intro-width: 720px;
  --csp-title-align: center;
  --csp-title-margin: auto;
  --csp-intro-align: center;
  --csp-intro-margin: auto;
  --csp-intro-padding: 0;
  --csp-intro-background: transparent;
  --csp-intro-border: 0;
}

:is(body.communio-section-memory_menu--editorial-lateral .memorial-media-menu,
    body.communio-section-condolences--editorial-lateral .memorial-media-condolencias,
    body.communio-section-video--editorial-lateral .memorial-media-video,
    body.communio-section-gallery--editorial-lateral .memorial-media-galeria,
    body.communio-section-memories--editorial-lateral .memorial-media-recibidos,
    body.communio-section-homenajes--editorial-lateral .memorial-media-homenajes,
    body.communio-section-guiados--editorial-lateral .memorial-media-guiados,
    body.communio-section-huellas_menu--editorial-lateral .memorial-huellas-menu,
    body.communio-section-huellas_contenido--editorial-lateral .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-intro-width: 650px;
  --csp-intro-padding: 0 0 0 clamp(16px, 2vw, 28px);
  --csp-intro-border: 2px solid var(--mem-border-strong, currentColor);
}

:is(body.communio-section-memory_menu--folio-suave .memorial-media-menu,
    body.communio-section-condolences--folio-suave .memorial-media-condolencias,
    body.communio-section-video--folio-suave .memorial-media-video,
    body.communio-section-gallery--folio-suave .memorial-media-galeria,
    body.communio-section-memories--folio-suave .memorial-media-recibidos,
    body.communio-section-homenajes--folio-suave .memorial-media-homenajes,
    body.communio-section-guiados--folio-suave .memorial-media-guiados,
    body.communio-section-huellas_menu--folio-suave .memorial-huellas-menu,
    body.communio-section-huellas_contenido--folio-suave .memorial-huellas-contenido) {
  --csp-intro-width: 760px;
  --csp-intro-padding: clamp(18px, 3vw, 34px);
  --csp-intro-background: color-mix(in srgb, var(--mem-bg, #fff) 94%, transparent);
  --csp-intro-border: 1px solid var(--mem-border-strong, rgba(100,100,100,.25));
}

:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido)
  :is(.communio-cabecera-secundaria, .memorial-subpantalla-titulo,
      .communio-titulo-principal, .memorial-titulo-seccion, .memorial-huellas-contenido-titulo) {
  box-sizing: border-box;
  width: min(100%, var(--csp-intro-width));
  max-width: var(--csp-intro-width);
  margin-inline: var(--csp-title-margin) !important;
  text-align: var(--csp-title-align) !important;
}

:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido)
  :is(.communio-intro-subpantalla, .memorial-huellas-contenido-intro,
      [data-field="texto_intro_acompanamientos"],
      [data-field="texto_intro_galeria"],
      [data-field="texto_intro_vista_recuerdos"]) {
  box-sizing: border-box;
  display: block;
  width: min(100%, var(--csp-intro-width));
  max-width: var(--csp-intro-width);
  margin: clamp(12px, 2vw, 20px) var(--csp-intro-margin) clamp(25px, 3vw, 40px) !important;
  padding: var(--csp-intro-padding) !important;
  border: var(--csp-intro-frame, 0) !important;
  border-left: var(--csp-intro-border) !important;
  background: var(--csp-intro-background) !important;
  text-align: var(--csp-intro-align) !important;
  text-align-last: auto !important;
  hyphens: auto;
}

/* Cuando Elementor no envuelve la introducción con una clase propia, la
 * primera pieza de texto después de la cabecera sigue la misma composición. */
:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido)
  .communio-cabecera-secundaria + .elementor-widget-text-editor {
  box-sizing: border-box;
  width: min(100%, var(--csp-intro-width));
  max-width: var(--csp-intro-width);
  margin-inline: var(--csp-intro-margin) !important;
  padding: var(--csp-intro-padding) !important;
  border: var(--csp-intro-frame, 0) !important;
  border-left: var(--csp-intro-border) !important;
  background: var(--csp-intro-background) !important;
  text-align: var(--csp-intro-align) !important;
  text-align-last: auto !important;
  hyphens: auto;
}

/* Las tarjetas, listas, formularios y galerías ya tienen su propia geometría.
 * La plantilla de página se limita a título e introducción. */
body[class*="communio-section-video--"] .memorial-media-video .communio-video-oficial-descripcion {
  width: min(100%, 720px);
  margin-inline: auto !important;
  text-align: var(--csp-intro-align);
}

/* Algunas subpantallas de Elementor no usan la clase de introducción nueva.
 * Estos son los nodos de texto que la hoja base ya reconoce como apertura. */
:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu > .elementor-element:first-child > .elementor-widget-text-editor,
    body[class*="communio-section-video--"] .memorial-media-video > .elementor-element:first-child > .elementor-widget-text-editor,
    body[class*="communio-section-gallery--"] .memorial-media-galeria > .elementor-element:first-child > .elementor-widget-text-editor,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes > .elementor-element:first-child > .elementor-widget-text-editor,
    body[class*="communio-section-guiados--"] .memorial-media-guiados > .elementor-element:first-child > .elementor-widget-text-editor,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu > .elementor-widget-text-editor:first-of-type,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido > .elementor-widget-text-editor:first-of-type) {
  box-sizing: border-box;
  display: block;
  width: min(100%, var(--csp-intro-width));
  max-width: var(--csp-intro-width);
  margin: clamp(12px, 2vw, 20px) var(--csp-intro-margin) clamp(25px, 3vw, 40px) !important;
  padding: var(--csp-intro-padding) !important;
  border: var(--csp-intro-frame, 0) !important;
  border-left: var(--csp-intro-border) !important;
  background: var(--csp-intro-background) !important;
  box-shadow: var(--csp-intro-shadow, none) !important;
  text-align: var(--csp-intro-align) !important;
  text-align-last: auto !important;
  hyphens: auto;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  :is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
      body[class*="communio-section-condolences--"] .memorial-media-condolencias,
      body[class*="communio-section-video--"] .memorial-media-video,
      body[class*="communio-section-gallery--"] .memorial-media-galeria,
      body[class*="communio-section-memories--"] .memorial-media-recibidos,
      body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
      body[class*="communio-section-guiados--"] .memorial-media-guiados,
      body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
      body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido) {
    --csp-intro-width: 100%;
  }
}


/* Una misma gramática para las cinco páginas. Cada variante cambia la
 * estructura de la apertura también a 360 px; las tarjetas y medios conservan
 * sus selectores y campos propios. */
:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido) {
  --csp-line: color-mix(in srgb, currentColor 26%, transparent);
  --csp-wash: color-mix(in srgb, currentColor 7%, transparent);
  --csp-paper: var(--mem-card, var(--d08-reading-surface, var(--mem-bg, transparent)));
  --csp-index: "01";
  --csp-heading-padding: 0;
  --csp-heading-background: transparent;
  --csp-heading-border: 0;
  --csp-heading-border-left: 0;
  --csp-heading-border-bottom: 0;
  --csp-heading-width: var(--csp-intro-width);
  --csp-heading-shadow: none;
  --csp-intro-shadow: none;
  --csp-intro-frame: 0;
}
body[class*="communio-section-condolences--"] .memorial-media-condolencias { --csp-index: "02"; }
body[class*="communio-section-video--"] .memorial-media-video { --csp-index: "03"; }
body[class*="communio-section-gallery--"] .memorial-media-galeria { --csp-index: "04"; }
body[class*="communio-section-memories--"] .memorial-media-recibidos { --csp-index: "05"; }
body[class*="communio-section-homenajes--"] .memorial-media-homenajes { --csp-index: "06"; }
body[class*="communio-section-guiados--"] .memorial-media-guiados { --csp-index: "07"; }
body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu { --csp-index: "08"; }
body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido { --csp-index: "09"; }

:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido)
  :is(.communio-cabecera-secundaria, .memorial-subpantalla-titulo,
      .communio-titulo-principal, .memorial-titulo-seccion, .memorial-huellas-contenido-titulo) {
  width: min(100%, var(--csp-heading-width)) !important;
  padding: var(--csp-heading-padding) !important;
  background: var(--csp-heading-background) !important;
  border: var(--csp-heading-border) !important;
  border-left: var(--csp-heading-border-left) !important;
  border-bottom: var(--csp-heading-border-bottom) !important;
  box-shadow: var(--csp-heading-shadow) !important;
  overflow-wrap: anywhere;
}
:is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
    body[class*="communio-section-condolences--"] .memorial-media-condolencias,
    body[class*="communio-section-video--"] .memorial-media-video,
    body[class*="communio-section-gallery--"] .memorial-media-galeria,
    body[class*="communio-section-memories--"] .memorial-media-recibidos,
    body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
    body[class*="communio-section-guiados--"] .memorial-media-guiados,
    body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
    body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido)
  :is(.communio-intro-subpantalla, .memorial-huellas-contenido-intro,
      [data-field="texto_intro_acompanamientos"], [data-field="texto_intro_galeria"],
      [data-field="texto_intro_vista_recuerdos"],
      .communio-cabecera-secundaria + .elementor-widget-text-editor) {
  box-shadow: var(--csp-intro-shadow) !important;
  overflow-wrap: anywhere;
}

/* Los estilos antiguos conservan su identidad y reciben una versión móvil
 * explícita. Los seis nuevos se añaden sin cambiar los valores ACF guardados. */
:is(body.communio-section-memory_menu--apertura-serena .memorial-media-menu,
    body.communio-section-condolences--apertura-serena .memorial-media-condolencias,
    body.communio-section-video--apertura-serena .memorial-media-video,
    body.communio-section-gallery--apertura-serena .memorial-media-galeria,
    body.communio-section-memories--apertura-serena .memorial-media-recibidos,
    body.communio-section-homenajes--apertura-serena .memorial-media-homenajes,
    body.communio-section-guiados--apertura-serena .memorial-media-guiados,
    body.communio-section-huellas_menu--apertura-serena .memorial-huellas-menu,
    body.communio-section-huellas_contenido--apertura-serena .memorial-huellas-contenido) {
  --csp-heading-width: 680px;
  --csp-heading-padding: 12px 0 20px;
  --csp-heading-border: 0;
  --csp-intro-width: 620px;
}
:is(body.communio-section-memory_menu--editorial-lateral .memorial-media-menu,
    body.communio-section-condolences--editorial-lateral .memorial-media-condolencias,
    body.communio-section-video--editorial-lateral .memorial-media-video,
    body.communio-section-gallery--editorial-lateral .memorial-media-galeria,
    body.communio-section-memories--editorial-lateral .memorial-media-recibidos,
    body.communio-section-homenajes--editorial-lateral .memorial-media-homenajes,
    body.communio-section-guiados--editorial-lateral .memorial-media-guiados,
    body.communio-section-huellas_menu--editorial-lateral .memorial-huellas-menu,
    body.communio-section-huellas_contenido--editorial-lateral .memorial-huellas-contenido) {
  --csp-heading-padding: 0 0 0 clamp(16px, 3vw, 30px);
  --csp-heading-border-left: 3px solid var(--csp-line);
}
:is(body.communio-section-memory_menu--folio-suave .memorial-media-menu,
    body.communio-section-condolences--folio-suave .memorial-media-condolencias,
    body.communio-section-video--folio-suave .memorial-media-video,
    body.communio-section-gallery--folio-suave .memorial-media-galeria,
    body.communio-section-memories--folio-suave .memorial-media-recibidos,
    body.communio-section-homenajes--folio-suave .memorial-media-homenajes,
    body.communio-section-guiados--folio-suave .memorial-media-guiados,
    body.communio-section-huellas_menu--folio-suave .memorial-huellas-menu,
    body.communio-section-huellas_contenido--folio-suave .memorial-huellas-contenido) {
  --csp-heading-padding: clamp(18px, 3vw, 34px) clamp(20px, 4vw, 42px) 8px;
  --csp-heading-background: var(--csp-wash);
  --csp-intro-background: var(--csp-wash);
  --csp-intro-border: 0;
  --csp-intro-frame: 1px solid var(--csp-line);
}
:is(body.communio-section-memory_menu--capitulo-numerado .memorial-media-menu,
    body.communio-section-condolences--capitulo-numerado .memorial-media-condolencias,
    body.communio-section-video--capitulo-numerado .memorial-media-video,
    body.communio-section-gallery--capitulo-numerado .memorial-media-galeria,
    body.communio-section-memories--capitulo-numerado .memorial-media-recibidos,
    body.communio-section-homenajes--capitulo-numerado .memorial-media-homenajes,
    body.communio-section-guiados--capitulo-numerado .memorial-media-guiados,
    body.communio-section-huellas_menu--capitulo-numerado .memorial-huellas-menu,
    body.communio-section-huellas_contenido--capitulo-numerado .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-heading-padding: 12px 18px 14px clamp(56px, 7vw, 92px);
  --csp-heading-border-bottom: 1px solid var(--csp-line);
  --csp-intro-padding: 0 0 0 clamp(56px, 7vw, 92px);
}
:is(body.communio-section-memory_menu--banda-serena .memorial-media-menu,
    body.communio-section-condolences--banda-serena .memorial-media-condolencias,
    body.communio-section-video--banda-serena .memorial-media-video,
    body.communio-section-gallery--banda-serena .memorial-media-galeria,
    body.communio-section-memories--banda-serena .memorial-media-recibidos,
    body.communio-section-homenajes--banda-serena .memorial-media-homenajes,
    body.communio-section-guiados--banda-serena .memorial-media-guiados,
    body.communio-section-huellas_menu--banda-serena .memorial-huellas-menu,
    body.communio-section-huellas_contenido--banda-serena .memorial-huellas-contenido) {
  --csp-heading-width: 100%;
  --csp-heading-padding: clamp(25px, 5vw, 60px) clamp(20px, 5vw, 64px);
  --csp-heading-background: var(--csp-wash);
  --csp-heading-border: 1px solid var(--csp-line);
  --csp-intro-width: 580px;
  --csp-intro-padding: 0 0 0 clamp(12px, 2vw, 22px);
  --csp-intro-border: 2px solid var(--csp-line);
}
:is(body.communio-section-memory_menu--senda-vertical .memorial-media-menu,
    body.communio-section-condolences--senda-vertical .memorial-media-condolencias,
    body.communio-section-video--senda-vertical .memorial-media-video,
    body.communio-section-gallery--senda-vertical .memorial-media-galeria,
    body.communio-section-memories--senda-vertical .memorial-media-recibidos,
    body.communio-section-homenajes--senda-vertical .memorial-media-homenajes,
    body.communio-section-guiados--senda-vertical .memorial-media-guiados,
    body.communio-section-huellas_menu--senda-vertical .memorial-huellas-menu,
    body.communio-section-huellas_contenido--senda-vertical .memorial-huellas-contenido) {
  --csp-heading-width: 640px;
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-heading-padding: 10px 0 10px clamp(28px, 4vw, 48px);
  --csp-heading-border-left: 1px solid var(--csp-line);
  --csp-intro-padding: 10px 0 20px clamp(28px, 4vw, 48px);
  --csp-intro-border: 1px solid var(--csp-line);
}
:is(body.communio-section-memory_menu--marco-abierto .memorial-media-menu,
    body.communio-section-condolences--marco-abierto .memorial-media-condolencias,
    body.communio-section-video--marco-abierto .memorial-media-video,
    body.communio-section-gallery--marco-abierto .memorial-media-galeria,
    body.communio-section-memories--marco-abierto .memorial-media-recibidos,
    body.communio-section-homenajes--marco-abierto .memorial-media-homenajes,
    body.communio-section-guiados--marco-abierto .memorial-media-guiados,
    body.communio-section-huellas_menu--marco-abierto .memorial-huellas-menu,
    body.communio-section-huellas_contenido--marco-abierto .memorial-huellas-contenido) {
  --csp-heading-width: 760px;
  --csp-heading-padding: clamp(22px, 4vw, 48px) clamp(20px, 4vw, 45px) 12px;
  --csp-heading-background: linear-gradient(var(--csp-line), var(--csp-line)) left top / 42px 1px no-repeat, linear-gradient(var(--csp-line), var(--csp-line)) left top / 1px 42px no-repeat, linear-gradient(var(--csp-line), var(--csp-line)) right top / 42px 1px no-repeat, linear-gradient(var(--csp-line), var(--csp-line)) right top / 1px 42px no-repeat;
  --csp-intro-padding: 8px clamp(20px, 4vw, 45px) 24px;
  --csp-intro-width: 760px;
}
:is(body.communio-section-memory_menu--cartela-desplazada .memorial-media-menu,
    body.communio-section-condolences--cartela-desplazada .memorial-media-condolencias,
    body.communio-section-video--cartela-desplazada .memorial-media-video,
    body.communio-section-gallery--cartela-desplazada .memorial-media-galeria,
    body.communio-section-memories--cartela-desplazada .memorial-media-recibidos,
    body.communio-section-homenajes--cartela-desplazada .memorial-media-homenajes,
    body.communio-section-guiados--cartela-desplazada .memorial-media-guiados,
    body.communio-section-huellas_menu--cartela-desplazada .memorial-huellas-menu,
    body.communio-section-huellas_contenido--cartela-desplazada .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: auto;
  --csp-heading-width: 670px;
  --csp-heading-padding: 20px 30px;
  --csp-heading-background: var(--csp-wash);
  --csp-heading-border-bottom: 2px solid var(--csp-line);
  --csp-intro-width: 540px;
  --csp-intro-padding: 22px 26px;
  --csp-intro-background: var(--csp-paper);
  --csp-intro-border: 1px solid var(--csp-line);
  --csp-intro-frame: 1px solid var(--csp-line);
  --csp-intro-shadow: 6px 6px 0 var(--csp-wash);
}
:is(body.communio-section-memory_menu--umbral .memorial-media-menu,
    body.communio-section-condolences--umbral .memorial-media-condolencias,
    body.communio-section-video--umbral .memorial-media-video,
    body.communio-section-gallery--umbral .memorial-media-galeria,
    body.communio-section-memories--umbral .memorial-media-recibidos,
    body.communio-section-homenajes--umbral .memorial-media-homenajes,
    body.communio-section-guiados--umbral .memorial-media-guiados,
    body.communio-section-huellas_menu--umbral .memorial-huellas-menu,
    body.communio-section-huellas_contenido--umbral .memorial-huellas-contenido) {
  --csp-heading-width: 100%;
  --csp-heading-padding: clamp(34px, 6vw, 76px) clamp(22px, 6vw, 70px) clamp(36px, 6vw, 72px);
  --csp-heading-background: var(--csp-wash);
  --csp-heading-border-bottom: 4px solid var(--csp-line);
  --csp-intro-width: 650px;
  --csp-intro-padding: 24px clamp(20px, 4vw, 42px);
  --csp-intro-background: var(--csp-paper);
  --csp-intro-border: 1px solid var(--csp-line);
  --csp-intro-frame: 1px solid var(--csp-line);
}

/* El número se coloca en el título mismo para no crear nodos de Elementor. */
:is(body.communio-section-memory_menu--capitulo-numerado .memorial-media-menu,
    body.communio-section-condolences--capitulo-numerado .memorial-media-condolencias,
    body.communio-section-video--capitulo-numerado .memorial-media-video,
    body.communio-section-gallery--capitulo-numerado .memorial-media-galeria,
    body.communio-section-memories--capitulo-numerado .memorial-media-recibidos,
    body.communio-section-homenajes--capitulo-numerado .memorial-media-homenajes,
    body.communio-section-guiados--capitulo-numerado .memorial-media-guiados,
    body.communio-section-huellas_menu--capitulo-numerado .memorial-huellas-menu,
    body.communio-section-huellas_contenido--capitulo-numerado .memorial-huellas-contenido)
  :is(.communio-cabecera-secundaria, .memorial-subpantalla-titulo, .communio-titulo-principal, .memorial-titulo-seccion, .memorial-huellas-contenido-titulo)::before {
  content: var(--csp-index);
  float: left;
  margin-left: calc(-1 * clamp(45px, 6vw, 75px));
  font: 400 clamp(1.2rem, 2vw, 2rem)/1 Georgia, serif;
  opacity: .65;
}

@media (max-width: 767px) {
  :is(body[class*="communio-section-memory_menu--"] .memorial-media-menu,
      body[class*="communio-section-condolences--"] .memorial-media-condolencias,
      body[class*="communio-section-video--"] .memorial-media-video,
      body[class*="communio-section-gallery--"] .memorial-media-galeria,
      body[class*="communio-section-memories--"] .memorial-media-recibidos,
      body[class*="communio-section-homenajes--"] .memorial-media-homenajes,
      body[class*="communio-section-guiados--"] .memorial-media-guiados,
      body[class*="communio-section-huellas_menu--"] .memorial-huellas-menu,
      body[class*="communio-section-huellas_contenido--"] .memorial-huellas-contenido) {
    --csp-heading-width: 100%;
    --csp-intro-width: 100%;
  }
  :is(body.communio-section-memory_menu--apertura-serena .memorial-media-menu,
      body.communio-section-condolences--apertura-serena .memorial-media-condolencias,
      body.communio-section-video--apertura-serena .memorial-media-video,
      body.communio-section-gallery--apertura-serena .memorial-media-galeria,
      body.communio-section-memories--apertura-serena .memorial-media-recibidos,
      body.communio-section-homenajes--apertura-serena .memorial-media-homenajes,
      body.communio-section-guiados--apertura-serena .memorial-media-guiados,
      body.communio-section-huellas_menu--apertura-serena .memorial-huellas-menu,
      body.communio-section-huellas_contenido--apertura-serena .memorial-huellas-contenido) {
    --csp-heading-padding: 20px 12px 28px;
    --csp-intro-padding: 0 12px;
  }
  :is(body.communio-section-memory_menu--editorial-lateral .memorial-media-menu,
      body.communio-section-condolences--editorial-lateral .memorial-media-condolencias,
      body.communio-section-video--editorial-lateral .memorial-media-video,
      body.communio-section-gallery--editorial-lateral .memorial-media-galeria,
      body.communio-section-memories--editorial-lateral .memorial-media-recibidos,
      body.communio-section-homenajes--editorial-lateral .memorial-media-homenajes,
      body.communio-section-guiados--editorial-lateral .memorial-media-guiados,
      body.communio-section-huellas_menu--editorial-lateral .memorial-huellas-menu,
      body.communio-section-huellas_contenido--editorial-lateral .memorial-huellas-contenido) {
    --csp-heading-padding: 8px 26px;
    --csp-intro-padding: 0 26px;
  }
  :is(body.communio-section-memory_menu--folio-suave .memorial-media-menu,
      body.communio-section-condolences--folio-suave .memorial-media-condolencias,
      body.communio-section-video--folio-suave .memorial-media-video,
      body.communio-section-gallery--folio-suave .memorial-media-galeria,
      body.communio-section-memories--folio-suave .memorial-media-recibidos,
      body.communio-section-homenajes--folio-suave .memorial-media-homenajes,
      body.communio-section-guiados--folio-suave .memorial-media-guiados,
      body.communio-section-huellas_menu--folio-suave .memorial-huellas-menu,
      body.communio-section-huellas_contenido--folio-suave .memorial-huellas-contenido) {
    --csp-heading-padding: 24px 18px 8px;
    --csp-intro-padding: 12px 18px 24px;
  }
  :is(body.communio-section-memory_menu--capitulo-numerado .memorial-media-menu,
      body.communio-section-condolences--capitulo-numerado .memorial-media-condolencias,
      body.communio-section-video--capitulo-numerado .memorial-media-video,
      body.communio-section-gallery--capitulo-numerado .memorial-media-galeria,
      body.communio-section-memories--capitulo-numerado .memorial-media-recibidos,
      body.communio-section-homenajes--capitulo-numerado .memorial-media-homenajes,
      body.communio-section-guiados--capitulo-numerado .memorial-media-guiados,
      body.communio-section-huellas_menu--capitulo-numerado .memorial-huellas-menu,
      body.communio-section-huellas_contenido--capitulo-numerado .memorial-huellas-contenido) {
    --csp-heading-padding: 12px 0 14px 52px;
    --csp-intro-padding: 0 0 0 52px;
  }
  :is(body.communio-section-memory_menu--banda-serena .memorial-media-menu,
      body.communio-section-condolences--banda-serena .memorial-media-condolencias,
      body.communio-section-video--banda-serena .memorial-media-video,
      body.communio-section-gallery--banda-serena .memorial-media-galeria,
      body.communio-section-memories--banda-serena .memorial-media-recibidos,
      body.communio-section-homenajes--banda-serena .memorial-media-homenajes,
      body.communio-section-guiados--banda-serena .memorial-media-guiados,
      body.communio-section-huellas_menu--banda-serena .memorial-huellas-menu,
      body.communio-section-huellas_contenido--banda-serena .memorial-huellas-contenido) {
    --csp-heading-padding: 30px 18px;
    --csp-intro-padding: 4px 0 4px 16px;
  }
  :is(body.communio-section-memory_menu--senda-vertical .memorial-media-menu,
      body.communio-section-condolences--senda-vertical .memorial-media-condolencias,
      body.communio-section-video--senda-vertical .memorial-media-video,
      body.communio-section-gallery--senda-vertical .memorial-media-galeria,
      body.communio-section-memories--senda-vertical .memorial-media-recibidos,
      body.communio-section-homenajes--senda-vertical .memorial-media-homenajes,
      body.communio-section-guiados--senda-vertical .memorial-media-guiados,
      body.communio-section-huellas_menu--senda-vertical .memorial-huellas-menu,
      body.communio-section-huellas_contenido--senda-vertical .memorial-huellas-contenido) {
    --csp-heading-padding: 8px 0 12px 24px;
    --csp-intro-padding: 8px 0 16px 24px;
  }
  :is(body.communio-section-memory_menu--marco-abierto .memorial-media-menu,
      body.communio-section-condolences--marco-abierto .memorial-media-condolencias,
      body.communio-section-video--marco-abierto .memorial-media-video,
      body.communio-section-gallery--marco-abierto .memorial-media-galeria,
      body.communio-section-memories--marco-abierto .memorial-media-recibidos,
      body.communio-section-homenajes--marco-abierto .memorial-media-homenajes,
      body.communio-section-guiados--marco-abierto .memorial-media-guiados,
      body.communio-section-huellas_menu--marco-abierto .memorial-huellas-menu,
      body.communio-section-huellas_contenido--marco-abierto .memorial-huellas-contenido) {
    --csp-heading-padding: 26px 18px 8px;
    --csp-intro-padding: 8px 18px 24px;
  }
  :is(body.communio-section-memory_menu--cartela-desplazada .memorial-media-menu,
      body.communio-section-condolences--cartela-desplazada .memorial-media-condolencias,
      body.communio-section-video--cartela-desplazada .memorial-media-video,
      body.communio-section-gallery--cartela-desplazada .memorial-media-galeria,
      body.communio-section-memories--cartela-desplazada .memorial-media-recibidos,
      body.communio-section-homenajes--cartela-desplazada .memorial-media-homenajes,
      body.communio-section-guiados--cartela-desplazada .memorial-media-guiados,
      body.communio-section-huellas_menu--cartela-desplazada .memorial-huellas-menu,
      body.communio-section-huellas_contenido--cartela-desplazada .memorial-huellas-contenido) {
    --csp-heading-width: calc(100% - 18px);
    --csp-intro-width: calc(100% - 18px);
    --csp-heading-padding: 18px;
    --csp-intro-padding: 18px;
  }
  :is(body.communio-section-memory_menu--umbral .memorial-media-menu,
      body.communio-section-condolences--umbral .memorial-media-condolencias,
      body.communio-section-video--umbral .memorial-media-video,
      body.communio-section-gallery--umbral .memorial-media-galeria,
      body.communio-section-memories--umbral .memorial-media-recibidos,
      body.communio-section-homenajes--umbral .memorial-media-homenajes,
      body.communio-section-guiados--umbral .memorial-media-guiados,
      body.communio-section-huellas_menu--umbral .memorial-huellas-menu,
      body.communio-section-huellas_contenido--umbral .memorial-huellas-contenido) {
    --csp-heading-padding: 36px 20px 44px;
    --csp-intro-padding: 20px;
  }
}

/* Cuatro aperturas editoriales que conservan su geometría en móvil. */
:is(body.communio-section-memory_menu--capitular-literaria .memorial-media-menu,
    body.communio-section-video--capitular-literaria .memorial-media-video,
    body.communio-section-gallery--capitular-literaria .memorial-media-galeria,
    body.communio-section-homenajes--capitular-literaria .memorial-media-homenajes,
    body.communio-section-guiados--capitular-literaria .memorial-media-guiados,
    body.communio-section-memories--capitular-literaria .memorial-media-recibidos,
    body.communio-section-condolences--capitular-literaria .memorial-media-condolencias,
    body.communio-section-huellas_menu--capitular-literaria .memorial-huellas-menu,
    body.communio-section-huellas_contenido--capitular-literaria .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-heading-width: 720px;
  --csp-heading-padding: 22px 0 14px;
  --csp-heading-border-bottom: 1px solid var(--csp-line);
  --csp-intro-width: 640px;
  --csp-intro-padding: 16px 0 10px;
}
:is(body.communio-section-memory_menu--manuscrito-sereno .memorial-media-menu,
    body.communio-section-video--manuscrito-sereno .memorial-media-video,
    body.communio-section-gallery--manuscrito-sereno .memorial-media-galeria,
    body.communio-section-homenajes--manuscrito-sereno .memorial-media-homenajes,
    body.communio-section-guiados--manuscrito-sereno .memorial-media-guiados,
    body.communio-section-memories--manuscrito-sereno .memorial-media-recibidos,
    body.communio-section-condolences--manuscrito-sereno .memorial-media-condolencias,
    body.communio-section-huellas_menu--manuscrito-sereno .memorial-huellas-menu,
    body.communio-section-huellas_contenido--manuscrito-sereno .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-heading-width: 740px;
  --csp-heading-padding: 32px 30px 10px;
  --csp-heading-background: var(--csp-wash);
  --csp-heading-border-left: 1px solid var(--csp-line);
  --csp-intro-width: 740px;
  --csp-intro-padding: 12px 30px 30px;
  --csp-intro-background: var(--csp-wash);
  --csp-intro-border: 1px solid var(--csp-line);
}
:is(body.communio-section-memory_menu--titular-monumental .memorial-media-menu,
    body.communio-section-video--titular-monumental .memorial-media-video,
    body.communio-section-gallery--titular-monumental .memorial-media-galeria,
    body.communio-section-homenajes--titular-monumental .memorial-media-homenajes,
    body.communio-section-guiados--titular-monumental .memorial-media-guiados,
    body.communio-section-memories--titular-monumental .memorial-media-recibidos,
    body.communio-section-condolences--titular-monumental .memorial-media-condolencias,
    body.communio-section-huellas_menu--titular-monumental .memorial-huellas-menu,
    body.communio-section-huellas_contenido--titular-monumental .memorial-huellas-contenido) {
  --csp-title-align: left;
  --csp-title-margin: 0;
  --csp-intro-align: justify;
  --csp-intro-margin: 0;
  --csp-heading-width: 100%;
  --csp-heading-padding: clamp(35px, 5vw, 66px) clamp(20px, 4vw, 52px);
  --csp-heading-background: var(--csp-wash);
  --csp-heading-border-bottom: 4px solid var(--csp-line);
  --csp-intro-width: 610px;
  --csp-intro-padding: 16px 0;
}
:is(body.communio-section-memory_menu--versales-editoriales .memorial-media-menu,
    body.communio-section-video--versales-editoriales .memorial-media-video,
    body.communio-section-gallery--versales-editoriales .memorial-media-galeria,
    body.communio-section-homenajes--versales-editoriales .memorial-media-homenajes,
    body.communio-section-guiados--versales-editoriales .memorial-media-guiados,
    body.communio-section-memories--versales-editoriales .memorial-media-recibidos,
    body.communio-section-condolences--versales-editoriales .memorial-media-condolencias,
    body.communio-section-huellas_menu--versales-editoriales .memorial-huellas-menu,
    body.communio-section-huellas_contenido--versales-editoriales .memorial-huellas-contenido) {
  --csp-title-align: center;
  --csp-title-margin: auto;
  --csp-intro-align: justify;
  --csp-intro-margin: auto;
  --csp-heading-width: 700px;
  --csp-heading-padding: 22px 12px 18px;
  --csp-heading-border-bottom: 3px double var(--csp-line);
  --csp-intro-width: 640px;
  --csp-intro-padding: 18px 24px;
  --csp-intro-border: 1px solid var(--csp-line);
}
@media (max-width: 767px) {
  :is(body.communio-section-memory_menu--capitular-literaria .memorial-media-menu,
      body.communio-section-video--capitular-literaria .memorial-media-video,
      body.communio-section-gallery--capitular-literaria .memorial-media-galeria,
      body.communio-section-homenajes--capitular-literaria .memorial-media-homenajes,
      body.communio-section-guiados--capitular-literaria .memorial-media-guiados,
      body.communio-section-memories--capitular-literaria .memorial-media-recibidos,
      body.communio-section-condolences--capitular-literaria .memorial-media-condolencias,
      body.communio-section-huellas_menu--capitular-literaria .memorial-huellas-menu,
      body.communio-section-huellas_contenido--capitular-literaria .memorial-huellas-contenido) {
    --csp-heading-padding: 18px 0 12px;
    --csp-intro-padding: 14px 0 8px;
  }
  :is(body.communio-section-memory_menu--manuscrito-sereno .memorial-media-menu,
      body.communio-section-video--manuscrito-sereno .memorial-media-video,
      body.communio-section-gallery--manuscrito-sereno .memorial-media-galeria,
      body.communio-section-homenajes--manuscrito-sereno .memorial-media-homenajes,
      body.communio-section-guiados--manuscrito-sereno .memorial-media-guiados,
      body.communio-section-memories--manuscrito-sereno .memorial-media-recibidos,
      body.communio-section-condolences--manuscrito-sereno .memorial-media-condolencias,
      body.communio-section-huellas_menu--manuscrito-sereno .memorial-huellas-menu,
      body.communio-section-huellas_contenido--manuscrito-sereno .memorial-huellas-contenido) {
    --csp-heading-padding: 24px 18px 8px;
    --csp-intro-padding: 10px 18px 24px;
  }
  :is(body.communio-section-memory_menu--titular-monumental .memorial-media-menu,
      body.communio-section-video--titular-monumental .memorial-media-video,
      body.communio-section-gallery--titular-monumental .memorial-media-galeria,
      body.communio-section-homenajes--titular-monumental .memorial-media-homenajes,
      body.communio-section-guiados--titular-monumental .memorial-media-guiados,
      body.communio-section-memories--titular-monumental .memorial-media-recibidos,
      body.communio-section-condolences--titular-monumental .memorial-media-condolencias,
      body.communio-section-huellas_menu--titular-monumental .memorial-huellas-menu,
      body.communio-section-huellas_contenido--titular-monumental .memorial-huellas-contenido) {
    --csp-heading-padding: 30px 18px;
    --csp-intro-padding: 14px 0;
  }
  :is(body.communio-section-memory_menu--versales-editoriales .memorial-media-menu,
      body.communio-section-video--versales-editoriales .memorial-media-video,
      body.communio-section-gallery--versales-editoriales .memorial-media-galeria,
      body.communio-section-homenajes--versales-editoriales .memorial-media-homenajes,
      body.communio-section-guiados--versales-editoriales .memorial-media-guiados,
      body.communio-section-memories--versales-editoriales .memorial-media-recibidos,
      body.communio-section-condolences--versales-editoriales .memorial-media-condolencias,
      body.communio-section-huellas_menu--versales-editoriales .memorial-huellas-menu,
      body.communio-section-huellas_contenido--versales-editoriales .memorial-huellas-contenido) {
    --csp-heading-padding: 18px 8px 14px;
    --csp-intro-padding: 16px 18px;
  }
}

/* El texto dentro de Elementor/ACF sigue la alineación de la presentación;
 * la caja exterior por sí sola no vence los estilos propios de cada widget. */
body.single-memorial[class*="communio-section-"]
  :is(.communio-intro-subpantalla, .memorial-huellas-contenido-intro,
      [data-field^="texto_intro"], .communio-cabecera-secundaria + .elementor-widget-text-editor)
  :is(.elementor-widget-container, .communio-editable-acf-content,
      .memorial-editable-acf-content, p) {
  text-align: var(--csp-intro-align, center) !important;
  text-align-last: auto !important;
  hyphens: auto;
}
