.elementor-kit-8146{--e-global-color-primary:#A7A0A0;--e-global-color-secondary:#1F1F1F;--e-global-color-text:#555555;--e-global-color-accent:#E85A2A;--e-global-color-0df93a6:#FFFAFB;--e-global-color-90caecc:#F5F5F5;--e-global-color-6ede8b7:#333333;--e-global-color-3456aa5:#E94E1B;--e-global-color-98d847c:#F77F00;--e-global-color-795faea:#D62828;--e-global-color-0055441:#FF791A;--e-global-color-3021060:#FF3C00;--e-global-color-efdaa04:#4DA3FF;--e-global-color-9bfb986:#EAF4FF;--e-global-color-6e48eb2:#7B61FF;--e-global-color-b4b1ae0:#F1EDFF;--e-global-color-c004abe:#61C48D;--e-global-color-0ecb767:#EAF8F1;--e-global-color-5f552d9:#F2994A;--e-global-color-8c8da1f:#FFF2E6;--e-global-color-5d40241:#E85A2A;--e-global-color-d50acb2:#FFF0EA;--e-global-color-7f46314:#33B7B0;--e-global-color-197fd4e:#E8FAF8;--e-global-color-c3fa6c6:#D9A441;--e-global-color-3af7fb6:#FFF7E8;--e-global-color-cd171d7:#D95C8A;--e-global-color-464e947:#FDEEF4;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8146 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   VISTAS GENERALES
   ========================================================= */

.vista {
  display: none;
}

.vista.activa,
.vista-inicio {
  display: block;
}


/* =========================================================
   BOTÓN ACTIVO
   ========================================================= */

[data-vista].activo {
  color: #c00 !important;
  fill: #c00 !important;
}

[data-vista].activo svg {
  fill: #c00 !important;
}

[data-vista].activo i {
  color: #c00 !important;
}


/* =========================================================
   EVENTOS
   ========================================================= */

.evento-card {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  cursor: pointer;
  transition: 0.2s;
}

.evento-imagen {
  width: 120px;
  min-width: 120px;
}

.evento-imagen:empty {
  display: none;
}

.evento-imagen img {
  width: 100%;
  height: auto;
}

.evento-texto {
  flex: 1;
}


/* =========================================================
   SUBVISTAS INTERNAS — HUELLAS COMPARTIDAS
   ========================================================= */

.memorial-main-compartir .memorial-huellas-view {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.memorial-main-compartir .memorial-huellas-view.huellas-activa {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}


/* =========================================================
   MENÚ HUELLAS — CONTENEDOR GENERAL
   ========================================================= */

.memorial-huellas-menu {
  width: 100%;
  padding: 34px 18px 80px;
  align-items: center;
  text-align: center;
}

.memorial-huellas-menu > .elementor-element {
  max-width: 860px;
}


/* =========================================================
   ENCABEZADO MENÚ HUELLAS
   ========================================================= */

.memorial-huellas-titulo {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 10px !important;
  text-align: center !important;
}

.memorial-huellas-titulo .elementor-heading-title {
  margin: 0 !important;
  color: #2f2924 !important;
  font-size: 36px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: -0.5px !important;
}

.memorial-huellas-intro {
  width: 100%;
  max-width: 660px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}

.memorial-huellas-intro,
.memorial-huellas-intro p {
  color: #6f6258 !important;
  font-size: 17px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

.memorial-huellas-intro p {
  margin: 0 !important;
}


/* =========================================================
   CUADRÍCULA DE ICONOS — HUELLAS COMPARTIDAS
   ========================================================= */

.memorial-huellas-icon-grid {
  display: grid !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 28px auto 0 !important;
  gap: 16px !important;
}

/* Móvil: 2 columnas x 3 filas */
@media (max-width: 767px) {
  .memorial-huellas-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    gap: 12px !important;
  }
}

/* Tablet y escritorio: 3 columnas x 2 filas */
@media (min-width: 768px) {
  .memorial-huellas-icon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


/* =========================================================
   BOTONES / TARJETAS DE ICONO — MENÚ HUELLAS
   ========================================================= */

.memorial-huellas-icon-card {
  position: relative;
  min-height: 122px;
  padding: 20px 10px 16px !important;

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

  text-align: center;
  cursor: pointer;
  overflow: hidden;

  background: linear-gradient(180deg, #ffffff 0%, #f8f3ee 100%) !important;
  border: 1px solid rgba(122, 92, 69, 0.18) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 26px rgba(55, 42, 32, 0.08) !important;

  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.memorial-huellas-icon-card::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 50%;
  width: 54px;
  height: 54px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(122, 92, 69, 0.09);
  z-index: 0;
}

.memorial-huellas-icon-card:hover {
  transform: translateY(-3px);
  border-color: rgba(122, 92, 69, 0.38) !important;
  box-shadow: 0 18px 42px rgba(55, 42, 32, 0.14) !important;
  background: linear-gradient(180deg, #fffdf9 0%, #f5ede5 100%) !important;
}

.memorial-huellas-icon-card .elementor-widget-icon,
.memorial-huellas-icon-card .elementor-widget-heading {
  position: relative;
  z-index: 1;
}

.memorial-huellas-icon-card .elementor-icon {
  color: #7a5c45 !important;
  fill: #7a5c45 !important;
  font-size: 31px !important;
}

.memorial-huellas-icon-card .elementor-icon svg {
  width: 31px !important;
  height: 31px !important;
  fill: #7a5c45 !important;
}

.memorial-huellas-icon-card:hover .elementor-icon {
  color: #5e4431 !important;
  fill: #5e4431 !important;
}

.memorial-huellas-icon-card .elementor-heading-title,
.memorial-huellas-icon-card h3,
.memorial-huellas-icon-card h4 {
  margin: 0 !important;
  max-width: 135px;
  color: #2f2924 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-align: center !important;
}


/* =========================================================
   AJUSTES MÓVIL
   ========================================================= */

@media (max-width: 767px) {
  .memorial-huellas-menu {
    padding: 28px 14px 76px;
  }

  .memorial-huellas-titulo {
    max-width: 94%;
    margin-bottom: 9px !important;
  }

  .memorial-huellas-titulo .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.3px !important;
  }

  .memorial-huellas-intro {
    max-width: 94%;
    margin-bottom: 24px !important;
  }

  .memorial-huellas-intro,
  .memorial-huellas-intro p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .memorial-huellas-icon-card {
    min-height: 112px;
    padding: 17px 8px 14px !important;
    border-radius: 19px !important;
    gap: 9px !important;
  }

  .memorial-huellas-icon-card::before {
    width: 48px;
    height: 48px;
    top: 14px;
  }

  .memorial-huellas-icon-card .elementor-icon {
    font-size: 27px !important;
  }

  .memorial-huellas-icon-card .elementor-icon svg {
    width: 27px !important;
    height: 27px !important;
  }

  .memorial-huellas-icon-card .elementor-heading-title,
  .memorial-huellas-icon-card h3,
  .memorial-huellas-icon-card h4 {
    font-size: 13px !important;
    max-width: 115px;
  }
}

/* =========================================================
   MODO EDICIÓN — FORZAR VISTA TEMPORAL
   ========================================================= */

body.elementor-editor-active .memorial-main-compartir .memorial-huellas-view.editar-ahora {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* =========================================================
   AYUDA PARA ORAR
   ========================================================= */

.memorial-ayuda-orar {
  width: 100%;
  max-width: 720px;
  margin: 34px auto 0 !important;
  padding: 24px 22px;
  background: #fbf8f4;
  border: 1px solid rgba(122, 92, 69, 0.16);
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(55, 42, 32, 0.06);
}

.memorial-ayuda-orar-titulo {
  margin: 0 auto 10px !important;
  text-align: center !important;
}

.memorial-ayuda-orar-titulo .elementor-heading-title {
  color: #2f2924 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.memorial-ayuda-orar-intro,
.memorial-ayuda-orar-intro p {
  color: #6f6258 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

.memorial-ayuda-orar-intro p {
  margin: 0 !important;
}

.memorial-ayuda-orar-ejemplo {
  max-width: 620px;
  margin: 14px auto 0 !important;
  padding: 14px 16px;
  background: #ffffff;
  border-radius: 14px;
  color: #4f463f !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-style: italic;
  text-align: center;
}

.memorial-ayuda-orar-ejemplo p {
  margin: 0 !important;
}


/* MÓVIL */

@media (max-width: 767px) {
  .memorial-ayuda-orar {
    padding: 20px 16px;
    border-radius: 18px;
  }

  .memorial-ayuda-orar-titulo .elementor-heading-title {
    font-size: 20px !important;
  }

  .memorial-ayuda-orar-intro,
  .memorial-ayuda-orar-intro p,
  .memorial-ayuda-orar-ejemplo {
    font-size: 14px !important;
  }
}

/* =========================================================
   FORMULARIOS — HUELLAS COMPARTIDAS
   ========================================================= */

.memorial-formulario-huellas {
  width: 100%;
  max-width: 760px;
  margin: 0 auto 34px !important;
  padding: 26px 24px;
  background: #ffffff;
  border: 1px solid rgba(122, 92, 69, 0.16);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(55, 42, 32, 0.08);
}

.memorial-formulario-huellas .elementor-field-group {
  margin-bottom: 18px !important;
}

.memorial-formulario-huellas label {
  color: #3a322d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-bottom: 7px !important;
}

.memorial-formulario-huellas input,
.memorial-formulario-huellas textarea,
.memorial-formulario-huellas select {
  background: #fbf8f4 !important;
  border: 1px solid rgba(122, 92, 69, 0.18) !important;
  border-radius: 14px !important;
  color: #2f2924 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

.memorial-formulario-huellas textarea {
  min-height: 132px;
  resize: vertical;
}

.memorial-formulario-huellas input:focus,
.memorial-formulario-huellas textarea:focus,
.memorial-formulario-huellas select:focus {
  background: #ffffff !important;
  border-color: rgba(122, 92, 69, 0.48) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(122, 92, 69, 0.10) !important;
}

.memorial-formulario-huellas .elementor-field-type-html {
  margin-top: -6px !important;
  margin-bottom: 18px !important;
  padding: 12px 14px;
  background: #fbf8f4;
  border: 1px solid rgba(122, 92, 69, 0.12);
  border-radius: 14px;
  color: #74675d;
  font-size: 13px;
  line-height: 1.5;
}

.memorial-formulario-huellas .elementor-field-type-acceptance {
  margin-top: 4px !important;
}

.memorial-formulario-huellas .elementor-field-type-acceptance label {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #6f6258 !important;
  line-height: 1.45 !important;
}

.memorial-formulario-huellas .elementor-button {
  width: 100%;
  margin-top: 8px;
  background: #7a5c45 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 13px 22px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 24px rgba(55, 42, 32, 0.16) !important;
}

.memorial-formulario-huellas .elementor-button:hover {
  background: #5f4634 !important;
  box-shadow: 0 14px 30px rgba(55, 42, 32, 0.22) !important;
}

.memorial-formulario-huellas .elementor-message {
  margin-top: 18px;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
}


/* MÓVIL */

@media (max-width: 767px) {
  .memorial-formulario-huellas {
    max-width: 100%;
    padding: 20px 16px;
    border-radius: 20px;
  }

  .memorial-formulario-huellas .elementor-field-group {
    margin-bottom: 16px !important;
  }

  .memorial-formulario-huellas input,
  .memorial-formulario-huellas textarea,
  .memorial-formulario-huellas select {
    font-size: 14px !important;
    padding: 11px 13px !important;
    border-radius: 13px !important;
  }

  .memorial-formulario-huellas textarea {
    min-height: 120px;
  }

  .memorial-formulario-huellas .elementor-button {
    font-size: 14px !important;
    padding: 12px 20px !important;
  }
}
/* =========================================================
   LOOP — RECUERDOS Y ACOMPAÑAMIENTOS
   ========================================================= */

.communio-recuerdo-card,
.communio-acompanamiento-card {
  width: 100%;
  padding: 24px 22px !important;
  background: #ffffff;
  border: 1px solid rgba(122, 92, 69, 0.15);
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(55, 42, 32, 0.07);
  display: flex;
  flex-direction: column;
  gap: 10px;
}


/* Imagen del recuerdo */

.communio-recuerdo-card .elementor-widget-theme-post-featured-image {
  margin-bottom: 14px !important;
}

.communio-recuerdo-card img {
  width: 100%;
  border-radius: 18px;
  object-fit: cover;
}


/* Tipo / etiqueta superior */

.communio-recuerdo-tipo,
.communio-acompanamiento-tipo {
  display: inline-flex !important;
  align-self: flex-start;
  width: auto !important;
  margin-bottom: 6px !important;
  padding: 5px 11px !important;
  background: #f8f3ee;
  border: 1px solid rgba(122, 92, 69, 0.16);
  border-radius: 999px;
}

.communio-recuerdo-tipo .elementor-heading-title,
.communio-acompanamiento-tipo .elementor-heading-title {
  color: #7a5c45 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase;
}


/* Nombre */

.communio-recuerdo-nombre,
.communio-acompanamiento-nombre {
  margin: 0 !important;
}

.communio-recuerdo-nombre .elementor-heading-title,
.communio-acompanamiento-nombre .elementor-heading-title {
  color: #2f2924 !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}


/* Relación */

.communio-recuerdo-relacion,
.communio-acompanamiento-relacion {
  margin-top: -4px !important;
  margin-bottom: 8px !important;
}

.communio-recuerdo-relacion .elementor-heading-title,
.communio-acompanamiento-relacion,
.communio-acompanamiento-relacion p {
  color: #7a6a60 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}


/* Mensaje */

.communio-recuerdo-mensaje,
.communio-acompanamiento-mensaje {
  margin-top: 6px !important;
}

.communio-recuerdo-mensaje,
.communio-recuerdo-mensaje p,
.communio-acompanamiento-mensaje,
.communio-acompanamiento-mensaje p {
  color: #4f463f !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

.communio-recuerdo-mensaje p,
.communio-acompanamiento-mensaje p {
  margin: 0 0 10px !important;
}

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


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

@media (max-width: 767px) {
  .communio-recuerdo-card,
  .communio-acompanamiento-card {
    padding: 20px 18px !important;
    border-radius: 20px;
  }

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

  .communio-recuerdo-mensaje,
  .communio-recuerdo-mensaje p,
  .communio-acompanamiento-mensaje,
  .communio-acompanamiento-mensaje p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}/* End custom CSS */