/**
 * COMMUNIO — Integración visual del editor en el memorial
 * Arquitectura CSS consolidada 1.2.0.
 * Fuente canónica SHA-256: 999d09c36cecdb07c29a4e06bcc569fdd5a3fd382d61f0101bc3dc4492a629eb
 * Trazabilidad: MAPA_MIGRACION_CSS_1.2.0.csv
 */

body.memorial-design-01 {
  --communio-symbol-editor-bg: #fffaf6;
  --communio-symbol-editor-color: #5f4638;
  --communio-symbol-editor-border: rgba(139, 91, 67, .28);
  --communio-symbol-editor-shadow: 0 12px 30px rgba(80, 56, 43, .18);
}

body.memorial-design-02 {
  --communio-symbol-editor-bg: #1d1e20;
  --communio-symbol-editor-color: #eee9e2;
  --communio-symbol-editor-border: rgba(255, 255, 255, .24);
  --communio-symbol-editor-shadow: 0 12px 30px rgba(0, 0, 0, .46);
}

/* MSCSS-0011 | origen 114–118 */
body.elementor-editor-active .memorial-main-view, body.elementor-editor-active .memorial-media-view, body.elementor-editor-active .memorial-huellas-view {
  display: none !important;
}

/* MSCSS-0012 | origen 120–128 */
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;
}

/* MSCSS-0149 | origen 1512–1517 */
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;
}

/* MSCSS-0150 | origen 1519–1523 */
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;
}

/* MSCSS-0151 | origen 1526–1539 */
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;
}

/* MSCSS-0152 | origen 1541–1543 */
body:not(.elementor-editor-active) .memorial-main-memoria .memorial-editable-acf-active:hover::after {
  opacity: 1;
}

/* MSCSS-0368 | origen 3854–3861 */
body.elementor-editor-active .memorial-condolencias-formulario {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

/* MSCSS-0495 | origen 5353–5381 */
@media (max-width: 767px) {
  /* MSCSS-0498 | origen 5374–5379 */
  body:not(.elementor-editor-active) .communio-recuerdo-card .communio-recuerdo-editar-imagen .cmi-editor-actions {
    justify-content: center !important;
  }

}

/* MSCSS-0523 | origen 5852–5879 */
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;
}

/* MSCSS-0525 | origen 5888–5893 */
body:not(.elementor-editor-active) .communio-header-interior .communio-simbolo-editor.communio-editable-acf-vacio::before {
  content: none !important;
  display: none !important;
}

/* Selector visible del símbolo: la capa transparente sólo actúa como botón. */
body:not(.elementor-editor-active) .communio-header-interior
  .communio-simbolo-conjunto
  .communio-simbolo-editor.communio-inline-editing {
  position: absolute !important;
  inset: auto !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  z-index: 1000 !important;
  display: block !important;
  width: 220px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px !important;
  color: var(--communio-symbol-editor-color, #eee9e2) !important;
  background: var(--communio-symbol-editor-bg, #1d1e20) !important;
  border: 1px solid var(--communio-symbol-editor-border, rgba(255, 255, 255, .24)) !important;
  border-radius: 10px !important;
  box-shadow: var(--communio-symbol-editor-shadow, 0 12px 30px rgba(0, 0, 0, .46)) !important;
  opacity: 1 !important;
  transform: translateX(-50%) !important;
  cursor: default !important;
}

body:not(.elementor-editor-active) .communio-header-interior
  .communio-simbolo-editor.communio-inline-editing
  .communio-editable-acf-content {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
}

body:not(.elementor-editor-active) .communio-header-interior
  .communio-simbolo-editor.communio-inline-editing select {
  display: block !important;
  width: 100% !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  color: #272321 !important;
  font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: #f5f2ef !important;
  border: 1px solid #d8d1ca !important;
  border-radius: 7px !important;
  opacity: 1 !important;
}

body:not(.elementor-editor-active) .communio-header-interior
  .communio-simbolo-editor.communio-inline-editing
  .communio-inline-toolbar {
  position: static !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================================
 * PROTECCIÓN DE INTERFACES DE EDICIÓN
 * El diseño visual del memorial no puede alterar estos componentes.
 * ========================================================= */
body.memorial-design-02 .communio-editor-pending-dialog {
    color-scheme: light !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.memorial-design-02 .communio-editor-pending-panel {
    background: #fffaf6 !important;
    color: #5f4638 !important;
    border: 1px solid rgba(139, 91, 67, .24) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 70px rgba(22, 15, 11, .32) !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    text-align: left !important;
}

body.memorial-design-02 .communio-editor-pending-title {
    margin: 0 0 10px !important;
    color: #5a3f31 !important;
    font: 700 22px/1.25 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: normal !important;
    text-align: left !important;
}

body.memorial-design-02 .communio-editor-pending-message {
    margin: 0 0 22px !important;
    color: #6b5549 !important;
    font: 400 15px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: normal !important;
    text-align: left !important;
}

body.memorial-design-02 .communio-editor-pending-actions button {
    min-height: 44px !important;
    padding: 10px 16px !important;
    border: 1px solid #9a6b52 !important;
    border-radius: 999px !important;
    font: 700 13px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-transform: none !important;
    filter: none !important;
}

body.memorial-design-02 .communio-editor-pending-return,
body.memorial-design-02 .communio-editor-pending-save {
    background: #76533f !important;
    color: #fff !important;
}

body.memorial-design-02 .communio-editor-pending-cancel {
    background: #fff !important;
    color: #6e4937 !important;
}

/* =========================================================
 * 1.6.5 — CABECERA: CONTRATO ÚNICO PARA DISEÑOS 01 Y 02
 * Esta hoja se carga después del CSS de cada diseño y neutraliza reglas
 * históricas que escribían "FOTO" y ocultaban el marcador o las acciones.
 * ========================================================= */
body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto {
  position: relative !important;
  z-index: 30 !important;
  display: block !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  overflow: visible !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

body.single-memorial:is(.memorial-design-01, .memorial-design-02):not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto-vacia {
  border-style: dashed !important;
  background-color: rgba(146, 148, 151, .12) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse cx='32' cy='31' rx='17' ry='21' fill='%23929497'/%3E%3Ccircle cx='25.5' cy='29' r='1.7' fill='%233f4144'/%3E%3Ccircle cx='38.5' cy='29' r='1.7' fill='%233f4144'/%3E%3Cpath d='M32 31l-2 7h4' fill='none' stroke='%23595b5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.5 43h13' fill='none' stroke='%2347494c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 46px 46px !important;
}

body.single-memorial:is(.memorial-design-01, .memorial-design-02):not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto-vacia::before {
  display: none !important;
  content: none !important;
  pointer-events: none !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto-imagen {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 50% !important;
  filter: none !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto .cmi-editor-wrapper {
  position: absolute !important;
  top: calc(100% + 9px) !important;
  left: 50% !important;
  z-index: 1000 !important;
  width: max-content !important;
  max-width: min(92vw, 430px) !important;
  height: auto !important;
  overflow: visible !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .cmi-contextual-image-actions:not(.cmi-image-options-open) {
  display: none !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .cmi-contextual-image-actions.cmi-image-options-open {
  position: static !important;
  z-index: 1001 !important;
  display: flex !important;
  flex-flow: row wrap !important;
  justify-content: center !important;
  gap: 6px !important;
  width: max-content !important;
  max-width: min(92vw, 430px) !important;
  margin: 0 !important;
  padding: 7px !important;
  background: #f5f2ef !important;
  border: 1px solid #d8d1ca !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
  pointer-events: auto !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .communio-image-action,
body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .communio-image-action * {
  color: #332f2a !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .communio-image-action-edit,
body.single-memorial:not(.elementor-editor-active)
  .communio-header-interior .communio-header-interior-foto
  .communio-image-action-edit * {
  color: #fff !important;
  background: #332f2a !important;
}

@media (max-width: 767px) {
  body.single-memorial:not(.elementor-editor-active)
    .communio-header-interior .communio-header-interior-foto {
    flex-basis: 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  body.single-memorial:not(.elementor-editor-active)
    .communio-header-interior .communio-header-interior-foto-vacia {
    background-size: 38px 38px !important;
  }
}

/* =========================================================
 * 1.6.7 — ACOMPAÑAMIENTOS RECIBIDOS, DISEÑOS 01 Y 02
 * La imagen comunica el gesto; se evita repetirlo como texto. La identidad
 * y su único separador quedan centrados en la columna situada junto a ella.
 * ========================================================= */
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-identidad,
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-identidad > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
}

body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card
  :where(
    .communio-acompanamiento-nombre,
    .communio-acompanamiento-relacion,
    .communio-acompanamiento-nombre .elementor-widget-container,
    .communio-acompanamiento-relacion .elementor-widget-container,
    .communio-acompanamiento-nombre .communio-editable-acf,
    .communio-acompanamiento-relacion .communio-editable-acf,
    .communio-acompanamiento-nombre .communio-editable-acf-content,
    .communio-acompanamiento-relacion .communio-editable-acf-content,
    .communio-acompanamiento-relacion p
  ) {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* La fotografía circular sustituye a «vela», «agradecimiento», etc. */
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-frase,
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-tipo-editor {
  display: none !important;
}

/* Un único separador corto, centrado bajo la identidad. */
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-identidad::after {
  display: block !important;
  flex: 0 0 auto !important;
  width: 52px !important;
  height: 1px !important;
  margin: 14px auto 0 !important;
  content: "" !important;
  background: currentColor !important;
  border: 0 !important;
  opacity: .28 !important;
}

/* Evita conservar además la línea larga anterior al mensaje. */
body.single-memorial:is(.memorial-design-01, .memorial-design-02)
  .communio-acompanamiento-card .communio-acompanamiento-mensaje {
  border-top: 0 !important;
}

/* =========================================================
 * 1.6.9 — EDITOR VISIBLE BAJO LA CABECERA, «SU MEMORIA»
 * En Diseño 01 la primera vista comienza inmediatamente bajo la cabecera
 * compacta. La barra deja de abrirse hacia arriba y participa en el flujo
 * solo mientras el campo de esta sección está activo.
 * ========================================================= */
body.single-memorial.memorial-design-01:not(.elementor-editor-active)
  .memorial-main-memoria
  .communio-inline-editing
  > .communio-inline-toolbar-row.communio-inline-toolbar-floating {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  z-index: 10000040 !important;
  display: flex !important;
  width: max-content !important;
  max-width: min(94vw, 760px) !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 767px) {
  body.single-memorial.memorial-design-01:not(.elementor-editor-active)
    .memorial-main-memoria
    .communio-inline-editing
    > .communio-inline-toolbar-row.communio-inline-toolbar-floating {
    width: min(94vw, 520px) !important;
    max-width: min(94vw, 520px) !important;
  }
}
/* Títulos interiores de «Su memoria» en modo edición.
 * El editor puede reconstruir el contenido de una tarjeta después de cargar
 * la página. Forzamos el título restaurado y dejamos un respaldo ligado al
 * campo real de cada bloque para que nunca desaparezca. */
body.communio-modo-edicion-activo .memorial-main-memoria .communio-restored-memory-title {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .communio-restored-memory-title__text {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="rasgos que permanecen"]):not(:has(.communio-restored-memory-title))::before,
body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="momentos de una vida"]):not(:has(.communio-restored-memory-title))::before,
body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="texto de legado cercano"]):not(:has(.communio-restored-memory-title))::before,
body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-frase-final:has([data-empty-label*="texto de voces cercanas"]):not(:has(.communio-restored-memory-title))::before {
  display: block !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  color: #8a5f42 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.65rem, 3.4vw, 2.25rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="rasgos que permanecen"]):not(:has(.communio-restored-memory-title))::before {
  content: "Rasgos que permanecen" !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="momentos de una vida"]):not(:has(.communio-restored-memory-title))::before {
  content: "Momentos de una vida" !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-card:has([data-empty-label*="texto de legado cercano"]):not(:has(.communio-restored-memory-title))::before {
  content: "Su legado" !important;
}

body.communio-modo-edicion-activo .memorial-main-memoria .memorial-memoria-frase-final:has([data-empty-label*="texto de voces cercanas"]):not(:has(.communio-restored-memory-title))::before {
  content: "Voces cercanas" !important;
}
/* 1.17.1 — Las imágenes de estas tarjetas pertenecen al sistema de diseño. */
body.single-memorial:is(.memorial-design-01,.memorial-design-02,.memorial-design-03)
  .memorial-media-menu :is(.memorial-card-video,.memorial-card-galeria,.memorial-card-recuerdos)
  :is(.communio-recuerdo-editar-imagen,[data-communio-recuerdo-image-controls]) {
  display: none !important;
}

body.single-memorial:is(.memorial-design-01,.memorial-design-02,.memorial-design-03)
  .memorial-media-menu :is(.memorial-card-video,.memorial-card-galeria,.memorial-card-recuerdos)
  .memorial-card-imagen img {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
