.elementor-793 .elementor-element.elementor-element-a86ef94{--display:flex;--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;--justify-content:flex-end;--background-transition:0.3s;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-793 .elementor-element.elementor-element-a86ef94:hover::before, .elementor-793 .elementor-element.elementor-element-a86ef94:hover > .elementor-background-video-container::before, .elementor-793 .elementor-element.elementor-element-a86ef94:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-793 .elementor-element.elementor-element-a86ef94 > .elementor-background-slideshow:hover::before, .elementor-793 .elementor-element.elementor-element-a86ef94 > .e-con-inner > .elementor-background-slideshow:hover::before{--background-overlay:'';}.elementor-793 .elementor-element.elementor-element-a86ef94:hover{--overlay-opacity:0.5;}.elementor-793 .elementor-element.elementor-element-a86ef94, .elementor-793 .elementor-element.elementor-element-a86ef94::before{--overlay-transition:1s;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.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 );color:var( --e-global-color-primary );}.elementor-793 .elementor-element.elementor-element-5df45e3{margin:-10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 10px 0px;text-align:center;}.elementor-793 .elementor-element.elementor-element-5df45e3 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;}@media(min-width:768px){.elementor-793 .elementor-element.elementor-element-a86ef94{--width:100%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for container, class: .elementor-element-a86ef94 *//* 1. Ocultar los desbordes de la tarjeta */
.elementor-793 .elementor-element.elementor-element-a86ef94 {
    overflow: hidden;
}

/* 2. Overlay oscuro EXCLUSIVO para la imagen */
.elementor-793 .elementor-element.elementor-element-a86ef94 .imagen-proyecto {
    position: relative;
}

.elementor-793 .elementor-element.elementor-element-a86ef94 .imagen-proyecto::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* Tono oscuro */
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 1; /* Se queda sobre la foto, pero debajo del texto */
    pointer-events: none;
}

/* Aparece el overlay SOLO en la foto al pasar el mouse por la tarjeta */
.elementor-793 .elementor-element.elementor-element-a86ef94:hover .imagen-proyecto::after {
    opacity: 1;
}

/* 3. Animación de subida del Título */
.elementor-793 .elementor-element.elementor-element-a86ef94 .titulo-proyecto {
    position: relative;
    z-index: 10; /* Fuerza al texto a estar por encima del overlay oscuro */
    transition: transform 1s ease, background-color 1s ease;
}

.elementor-793 .elementor-element.elementor-element-a86ef94:hover .titulo-proyecto {
    transform: translateY(-250%); /* Desliza el texto hacia arriba */
    background-color: transparent !important; /* Si el widget tenía fondo blanco, lo hace invisible */
}

/* 4. Transición de color de las letras del Título */
.elementor-793 .elementor-element.elementor-element-a86ef94 .titulo-proyecto * {
    transition: color 1s ease !important;
}

.elementor-793 .elementor-element.elementor-element-a86ef94:hover .titulo-proyecto * {
    color: #ffffff !important; /* Fuerza las letras a blanco */
}/* End custom CSS */