.communio-recurso-visual {
  display: block;
  height: auto;
  margin-inline: auto;
  object-fit: contain;
}

.communio-recurso-visual--simbolo {
  width: min(100%, 96px);
  max-height: 108px;
}

.communio-recurso-visual--separador {
  width: min(100%, 640px);
  max-height: 74px;
}

.communio-recurso-visual--cierre {
  width: min(100%, 240px);
  max-height: 38px;
}

/* El valor ACF ya resuelto ofrece una salida visible aunque la portada se
 * construya después del primer renderizado de JavaScript. */
body.single-memorial.memorial-design-07.communio-has-visual-symbol
  .memorial-hero-content:not(:has(.communio-visual-symbol-selected))::after,
body.single-memorial.memorial-design-08.communio-has-visual-symbol
  .memorial-hero-content:not(:has([data-communio-visual-overlay]))::after {
  content: "" !important;
  position: absolute !important;
  z-index: 6 !important;
  display: block !important;
  width: clamp(36px, 5svh, 52px) !important;
  height: clamp(36px, 5svh, 52px) !important;
  background: var(--communio-visual-symbol) center / contain no-repeat !important;
  pointer-events: none !important;
}
body.single-memorial.memorial-design-07.communio-has-visual-symbol
  .memorial-hero-content:not(:has(.communio-visual-symbol-selected))::after {
  top: 38% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}
body.single-memorial.memorial-design-08.communio-has-visual-symbol
  .memorial-hero-content:not(:has([data-communio-visual-overlay]))::after {
  top: 36% !important;
  left: 7% !important;
  transform: translateY(-50%) !important;
}
@media (max-width: 767.98px) {
  body.single-memorial.memorial-design-08.communio-has-visual-symbol
    .memorial-hero-content:not(:has([data-communio-visual-overlay]))::after {
    top: 27.5% !important;
    left: 5% !important;
    width: var(--d08-mobile-symbol-size, 42px) !important;
    height: var(--d08-mobile-symbol-size, 42px) !important;
  }
  body.single-memorial.memorial-design-08.communio-has-visual-symbol
    .memorial-hero-content [data-communio-visual-overlay],
  body.single-memorial.memorial-design-08.communio-has-visual-symbol
    .memorial-hero-content:not(:has([data-communio-visual-overlay]))::after {
    filter: drop-shadow(0 1px 3px rgba(3,39,61,.72)) !important;
  }
}
body.single-memorial.memorial-design-07.communio-has-visual-symbol
  .memorial-hero-content :is(.memorial-hero-symbol-slot, [data-field="simbolo_memorial"]):not(.communio-visual-symbol-selected),
body.single-memorial.memorial-design-08.communio-has-visual-symbol
  .memorial-hero-content :is(.memorial-hero-symbol-slot, [data-field="simbolo_memorial"]):not([data-communio-visual-overlay]) {
  visibility: hidden !important;
}

/* La capa propia permanece visible aunque Elementor oculte el control
 * original en su versión para móvil. */
body.single-memorial:is(.memorial-design-07,.memorial-design-08)
  .memorial-hero-content .communio-visual-symbol-selected {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.single-memorial:is(.memorial-design-07,.memorial-design-08)
  .memorial-hero-content .communio-visual-symbol-selected
  :is(img,svg):not(.communio-visual-symbol-asset) {
  visibility: hidden !important;
}
body.single-memorial:is(.memorial-design-07,.memorial-design-08)
  .memorial-hero-content .communio-visual-symbol-selected
  > .communio-visual-symbol-asset {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  pointer-events: none !important;
}
