.elementor-kit-11{--e-global-color-primary:#173B9C;--e-global-color-secondary:#E00000;--e-global-color-text:#5E6573;--e-global-color-accent:#61CE70;--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-11 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{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 */.elementor-kit-11 p:last-child {
    margin: 0 !important;
}

/* Mejora la legibilidad equilibrando el salto de línea en encabezados */
h1, h2, h3 {
  text-wrap: balance;
}


/* =========================================================
   POPUP PROYECTOS REBO — ID 540
   ========================================================= */


/* Overlay */

#jet-popup-540 .jet-popup__overlay {
    background-color: #081b4ee6;

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}


/* Separación mínima respecto de los bordes de pantalla */

#jet-popup-540 .jet-popup__inner {
    padding: 16px !important;
    box-sizing: border-box;
}

#jet-popup-540 .jet-popup__container {
    max-width: 100%;
    box-sizing: border-box;
}


/* Botón de cierre */

#jet-popup-540 .jet-popup__close-button {
    top: 12px !important;
    right: 12px !important;

    left: auto !important;
    bottom: auto !important;
}


/* SVG del botón de cierre */

#jet-popup-540 .jet-popup__close-button svg {
    width: 20px !important;
    height: 20px !important;
}



/* Hover de botones rojos */
@media (hover: hover) and (pointer: fine) {
    .btn-rojo .elementor-button:hover {
        background-color: #BA0000 !important;
    }
}

/* Hover de botones transparentes */
@media (hover: hover) and (pointer: fine) {
    .btn-transparente .elementor-button:hover {
        background-color: #2E4FA6 !important;
        border-color: #ABB8DB!important;
        border-radius: 6px;
    }
}

/* Hover de botones blancos */
@media (hover: hover) and (pointer: fine) {
    .btn-blanco .elementor-button:hover {
        background-color: #EAF0FC !important;
        border-color: #173B9C73 !important;
    }
}

/* Hover de botones azules, sin fondo. */
@media (hover: hover) and (pointer: fine) {
    .btn-sin-fondo-azul .elementor-button:hover {
        color: #e00000 !important;
    }
}



/* ENTRADA SUAVE DE CONTENIDO */

/* Estado inicial */
.rebo-animations .rebo-reveal > .elementor-element,
.rebo-animations .rebo-reveal > .e-con-inner > .elementor-element {
    opacity: 0;
    transform: translateY(6px);
}


/* Ejecuta la animación cuando el bloque entra en pantalla */
.rebo-animations .rebo-reveal.rebo-reveal-visible > .elementor-element,
.rebo-animations .rebo-reveal.rebo-reveal-visible > .e-con-inner > .elementor-element {
    animation:
        rebo-fade-up
        600ms
        cubic-bezier(0.4, 0, 0.2, 1)
        forwards;
}


/* Fade in con desplazamiento vertical mínimo */
@keyframes rebo-fade-up {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .rebo-animations .rebo-reveal > .elementor-element,
    .rebo-animations .rebo-reveal > .e-con-inner > .elementor-element {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* ENTRADA PROGRESIVA DE CARDS
   Listing Grids de JetEngine + grids manuales de Elementor */


/* Estado inicial */
.rebo-animations .rebo-stagger-grid .jet-listing-grid__item,
.rebo-animations .rebo-stagger-grid .rebo-stagger-item {
    opacity: 0;
    transform: translateY(8px);
}


/* Ejecuta la animación cuando el item entra en pantalla */
.rebo-animations .rebo-stagger-grid .jet-listing-grid__item.rebo-stagger-visible,
.rebo-animations .rebo-stagger-grid .rebo-stagger-item.rebo-stagger-visible {
    animation:
        rebo-stagger-fade-up
        600ms
        cubic-bezier(0.4, 0, 0.2, 1)
        var(--rebo-stagger-delay, 0ms)
        forwards;
}


/* Fade in con desplazamiento vertical sutil */
@keyframes rebo-stagger-fade-up {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
    .rebo-animations .rebo-stagger-grid .jet-listing-grid__item,
    .rebo-animations .rebo-stagger-grid .rebo-stagger-item {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* =========================================================
   EDITOR DE ELEMENTOR — DESACTIVA ANIMACIONES DE ENTRADA
   Permite editar normalmente los elementos sin que queden
   ocultos por sus estados iniciales de animación.
   ========================================================= */

body.elementor-editor-active .rebo-reveal > .elementor-element,
body.elementor-editor-active .rebo-reveal > .e-con-inner > .elementor-element,

body.elementor-editor-active .rebo-stagger-grid .jet-listing-grid__item,
body.elementor-editor-active .rebo-stagger-grid .rebo-stagger-item {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}/* End custom CSS */