.elementor-1042 .elementor-element.elementor-element-851b0f1{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:44px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1042 .elementor-element.elementor-element-23bf9e3{--grid-columns:3;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1042 .elementor-element.elementor-element-23bf9e3{--grid-columns:2;}}@media(max-width:767px){.elementor-1042 .elementor-element.elementor-element-851b0f1{--margin-top:140px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1042 .elementor-element.elementor-element-23bf9e3{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-23bf9e3 *//* ===== Fade-in Elegante (compatible con Loop Grid) ===== */

/* Estado inicial */
.fade-grid .elementor-loop-item,
.fade-grid .e-loop-item {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 1.15s cubic-bezier(0.20, 0.80, 0.20, 1),
    transform 1.15s cubic-bezier(0.20, 0.80, 0.20, 1);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

/* Al entrar en viewport */
.fade-grid .elementor-loop-item.is-in-view,
.fade-grid .e-loop-item.is-in-view {
  opacity: 1;
  transform: translateY(0);
}

/* (Opcional) Micro-lift en hover, muy sutil */
.fade-grid .elementor-loop-item.is-in-view:hover,
.fade-grid .e-loop-item.is-in-view:hover {
  transform: translateY(-2px);
}

/* (Opcional) Anti-conflictos si algún ítem trae animación de entrada de Elementor */
.fade-grid .elementor-loop-item.elementor-invisible,
.fade-grid .e-loop-item.elementor-invisible {
  visibility: visible !important;
}/* End custom CSS */