.elementor-120 .elementor-element.elementor-element-500bbd3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:120px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-120 .elementor-element.elementor-element-8a03ccd{--display:flex;}.elementor-120 .elementor-element.elementor-element-0d6ec82{--display:flex;--padding-top:80px;--padding-bottom:100px;--padding-left:180px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-120 .elementor-element.elementor-element-ad78d41 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1.2rem;font-weight:600;color:#FFFFFF;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-120 .elementor-element.elementor-element-d83bec5{--divider-border-style:solid;--divider-color:#FB263B;--divider-border-width:3px;}.elementor-120 .elementor-element.elementor-element-d83bec5 .elementor-divider-separator{width:2%;margin:0 auto;margin-left:0;}.elementor-120 .elementor-element.elementor-element-d83bec5 .elementor-divider{text-align:left;padding-block-start:0px;padding-block-end:0px;}.elementor-120 .elementor-element.elementor-element-c9d94f7 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:5rem;font-weight:600;color:#FFFFFF;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-d1ef3b6{padding:50px 0px 50px 0px;--image-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-120 .elementor-element.elementor-element-fd74c29{padding:0px 0px 0px 0px;}@media(max-width:1512px){.elementor-120 .elementor-element.elementor-element-8a03ccd{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:150px;}.elementor-120 .elementor-element.elementor-element-0d6ec82{--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:60px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-ad78d41 .elementor-heading-title{font-size:1.7rem;}.elementor-widget-divider .elementor-divider__text{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-c9d94f7 .elementor-heading-title{font-size:2.7rem;}.elementor-widget-gallery .elementor-gallery-item__title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-gallery .elementor-gallery-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-divider .elementor-divider__text{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-gallery .elementor-gallery-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-120 .elementor-element.elementor-element-8a03ccd{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-120 .elementor-element.elementor-element-0d6ec82{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-ad78d41 .elementor-heading-title{font-size:1.3rem;}.elementor-widget-divider .elementor-divider__text{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-d83bec5 .elementor-divider-separator{width:9%;margin:0 auto;margin-center:0;}.elementor-120 .elementor-element.elementor-element-d83bec5 .elementor-divider{text-align:center;}.elementor-120 .elementor-element.elementor-element-c9d94f7{text-align:center;}.elementor-120 .elementor-element.elementor-element-c9d94f7 .elementor-heading-title{font-size:1.8rem;}.elementor-widget-gallery .elementor-gallery-item__title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-gallery .elementor-gallery-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-120 .elementor-element.elementor-element-d1ef3b6{padding:0px 0px 0px 0px;}}@media(min-width:2580px){.elementor-120 .elementor-element.elementor-element-8a03ccd{--padding-top:0px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;}.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-divider .elementor-divider__text{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-gallery .elementor-gallery-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}}/* Start custom CSS for gallery, class: .elementor-element-d1ef3b6 *//* --- CSS FINAL CON OVERLAY DINÁMICO (EN HOVER) --- */

/* 1. Div de la imagen: nuestro contenedor principal */
#mi-portafolio-visual .e-gallery-image {
    transition: transform 0.4s ease-out;
}

/* 2. El efecto ZOOM, solo afecta al contenedor de la imagen */
#mi-portafolio-visual .elementor-gallery-item:hover .e-gallery-image {
    transform: scale(1.1);
}

/* 3. El OVERLAY */
#mi-portafolio-visual .e-gallery-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
    
    /* --- CAMBIO PRINCIPAL --- */
    opacity: 0; /* Invisible por defecto */
    transition: opacity 0.3s ease-in-out; /* Animación suave */
}

/* 4. Muestra el OVERLAY al pasar el cursor */
#mi-portafolio-visual .elementor-gallery-item:hover .e-gallery-image::before {
    opacity: 1; /* Se hace visible al pasar el cursor */
}

/* 5. El div del texto: siempre visible y posicionado */
.custom-gallery-text-box {
    position: absolute !important;
    top: 20px;
    left: 20px;
    right: 20px;
    z-index: 2 !important; /* Encima del overlay */
    color: white;
    pointer-events: none;
    transition: transform 0.4s ease-out;
}

/* 6. La Contra-Transformación para mantener el texto quieto */
#mi-portafolio-visual .elementor-gallery-item:hover .custom-gallery-text-box {
    transform: scale(0.909);
}

/* 7. Estilos del título y la descripción */
.custom-gallery-text-box h4,
.custom-gallery-text-box p {
    margin: 0;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
}

.custom-gallery-text-box h4 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 8px;
}

.custom-gallery-text-box p {
    font-size: 14px;
    line-height: 1.4;
}

.custom-gallery-text-box p.project-year {
    font-size: 13px;
    font-weight: bold;
    opacity: 0.8;
}/* End custom CSS */
/* Start custom CSS */body.elementor-page-120{
    background-color: #131313;
}/* End custom CSS */