.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-20 .elementor-element.elementor-element-bf9b2e5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;border-style:solid;--border-style:solid;border-width:0px 0px 5px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:5px;--border-left-width:0px;border-color:#896E37;--border-color:#896E37;--z-index:100;}.elementor-20 .elementor-element.elementor-element-bf9b2e5:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-bf9b2e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-theme-site-logo .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-theme-site-logo .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-20 .elementor-element.elementor-element-efa7db1{width:var( --container-widget-width, 150px );max-width:150px;margin:-32px 0px calc(var(--kit-widget-spacing, 0px) + -25px) 0px;padding:0px 0px 0px 0px;--container-widget-width:150px;--container-widget-flex-grow:0;}.elementor-20 .elementor-element.elementor-element-efa7db1 img{width:143px;}.elementor-widget-mega-menu .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-mega-menu .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-20 .elementor-element.elementor-element-225cb11{--display:flex;}.elementor-20 .elementor-element.elementor-element-74f73de{--display:flex;box-shadow:0px 0px 10px -1px rgba(0,0,0,0.5);}.elementor-20 .elementor-element.elementor-element-a6b5e0d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 10px;--row-gap:20px;--column-gap:10px;--border-radius:25px 25px 25px 25px;--padding-top:20px;--padding-bottom:20px;--padding-left:30px;--padding-right:30px;}.elementor-20 .elementor-element.elementor-element-a6b5e0d:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-a6b5e0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-e48db0f{--display:flex;--min-height:150px;--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:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-e48db0f:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-e48db0f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://clctransportes.com/wp-content/uploads/2025/11/banner-clctransportes.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.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-20 .elementor-element.elementor-element-96b5b9a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-96b5b9a .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;color:#FFFFFF;}.elementor-widget-button .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-button .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-button .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-20 .elementor-element.elementor-element-15372e7 .elementor-button{background-color:#EADECA;fill:#000000;color:#000000;border-style:solid;border-radius:5px 5px 5px 5px;padding:5px 5px 5px 5px;}.elementor-20 .elementor-element.elementor-element-15372e7 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-15372e7 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-color:#EADECA;}.elementor-20 .elementor-element.elementor-element-15372e7{padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-15372e7 .elementor-button:hover svg, .elementor-20 .elementor-element.elementor-element-15372e7 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-aadd004{--display:flex;--min-height:150px;--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:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-aadd004:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-aadd004 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://clctransportes.com/wp-content/uploads/2025/11/transporte-de-contenedores.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-8f6f286{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-8f6f286 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-5675673 .elementor-button{background-color:#EADECA;fill:#000000;color:#000000;border-style:solid;border-radius:5px 5px 5px 5px;padding:5px 5px 5px 5px;}.elementor-20 .elementor-element.elementor-element-5675673 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-5675673 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-color:#EADECA;}.elementor-20 .elementor-element.elementor-element-5675673{padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-5675673 .elementor-button:hover svg, .elementor-20 .elementor-element.elementor-element-5675673 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-08b59e3{--display:flex;--min-height:150px;--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:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-08b59e3:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-08b59e3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://clctransportes.com/wp-content/uploads/2025/11/productos-quimicos.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-5813a40{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-5813a40 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-00e1cf2 .elementor-button{background-color:#EADECA;fill:#000000;color:#000000;border-style:solid;border-radius:5px 5px 5px 5px;padding:5px 5px 5px 5px;}.elementor-20 .elementor-element.elementor-element-00e1cf2 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-00e1cf2 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-color:#EADECA;}.elementor-20 .elementor-element.elementor-element-00e1cf2{padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-00e1cf2 .elementor-button:hover svg, .elementor-20 .elementor-element.elementor-element-00e1cf2 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-f388847{--display:flex;--min-height:150px;--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:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-f388847:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-f388847 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://clctransportes.com/wp-content/uploads/2025/11/dta-otm.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-285b99b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-285b99b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-6580598 .elementor-button{background-color:#EADECA;fill:#000000;color:#000000;border-style:solid;border-radius:5px 5px 5px 5px;padding:5px 5px 5px 5px;}.elementor-20 .elementor-element.elementor-element-6580598 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-6580598 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-color:#EADECA;}.elementor-20 .elementor-element.elementor-element-6580598{padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-6580598 .elementor-button:hover svg, .elementor-20 .elementor-element.elementor-element-6580598 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-b2507eb{--display:flex;--min-height:150px;--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:flex-end;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-b2507eb:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-b2507eb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://clctransportes.com/wp-content/uploads/2025/11/operacion-itr.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-bab6fed{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-bab6fed .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-4a079f5 .elementor-button{background-color:#EADECA;fill:#000000;color:#000000;border-style:solid;border-radius:5px 5px 5px 5px;padding:5px 5px 5px 5px;}.elementor-20 .elementor-element.elementor-element-4a079f5 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-4a079f5 .elementor-button:focus{background-color:#02010100;color:#FFFFFF;border-color:#EADECA;}.elementor-20 .elementor-element.elementor-element-4a079f5{padding:0px 0px 0px 15px;}.elementor-20 .elementor-element.elementor-element-4a079f5 .elementor-button:hover svg, .elementor-20 .elementor-element.elementor-element-4a079f5 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-3877a47{--display:flex;}.elementor-20 .elementor-element.elementor-element-7113686{--display:flex;}.elementor-20 .elementor-element.elementor-element-0d896d2{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-color-normal:#000000;--n-menu-divider-content:"";--n-menu-divider-style:solid;--n-menu-divider-color:#EADECA;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-color:#000000;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu[data-layout='dropdown'] > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not( .e-current ){background:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Inter", Sans-serif;font-weight:500;}.elementor-20 .elementor-element.elementor-element-0d896d2 {--n-menu-title-color-hover:#3B633B;--n-menu-title-color-active:#90761B;}.elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover:not( .e-current ){border-style:solid;border-width:0px 0px 1px 0px;border-color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-0d896d2 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current{border-style:solid;border-width:0px 0px 1px 0px;border-color:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-20 .elementor-element.elementor-element-e48db0f{--min-height:150px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-96b5b9a .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-aadd004{--min-height:150px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-8f6f286 .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-08b59e3{--min-height:150px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-5813a40 .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-f388847{--min-height:150px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-285b99b .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-b2507eb{--min-height:150px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-bab6fed .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-0d896d2{--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;padding:0px 32px 0px 0px;--n-menu-toggle-align:flex-end;--n-menu-toggle-icon-size:32px;}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-bf9b2e5{--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:30px;--z-index:100;}.elementor-20 .elementor-element.elementor-element-74f73de{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-20 .elementor-element.elementor-element-a6b5e0d{--padding-top:30px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-20 .elementor-element.elementor-element-e48db0f{--min-height:200px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-96b5b9a{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:left;}.elementor-20 .elementor-element.elementor-element-96b5b9a .elementor-heading-title{font-size:17px;}.elementor-20 .elementor-element.elementor-element-15372e7{padding:0px 0px 20px 15px;}.elementor-20 .elementor-element.elementor-element-aadd004{--min-height:200px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-8f6f286{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:left;}.elementor-20 .elementor-element.elementor-element-8f6f286 .elementor-heading-title{font-size:17px;}.elementor-20 .elementor-element.elementor-element-5675673{padding:0px 0px 20px 15px;}.elementor-20 .elementor-element.elementor-element-08b59e3{--min-height:200px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-5813a40{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:left;}.elementor-20 .elementor-element.elementor-element-5813a40 .elementor-heading-title{font-size:17px;}.elementor-20 .elementor-element.elementor-element-00e1cf2{padding:0px 0px 20px 15px;}.elementor-20 .elementor-element.elementor-element-f388847{--min-height:200px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-285b99b{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:left;}.elementor-20 .elementor-element.elementor-element-285b99b .elementor-heading-title{font-size:17px;}.elementor-20 .elementor-element.elementor-element-6580598{padding:0px 0px 20px 15px;}.elementor-20 .elementor-element.elementor-element-b2507eb{--min-height:200px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-bab6fed{width:var( --container-widget-width, 180px );max-width:180px;--container-widget-width:180px;--container-widget-flex-grow:0;text-align:left;}.elementor-20 .elementor-element.elementor-element-bab6fed .elementor-heading-title{font-size:17px;}.elementor-20 .elementor-element.elementor-element-4a079f5{padding:0px 0px 20px 15px;}.elementor-20 .elementor-element.elementor-element-0d896d2{--n-menu-heading-justify-content:initial;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:initial;--n-menu-title-distance-from-content:0px;padding:0px 0px 0px 0px;z-index:95;--n-menu-toggle-align:flex-end;--n-menu-title-font-size:14px;--n-menu-toggle-icon-size:27px;--n-menu-toggle-icon-distance-from-dropdown:32px;}}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-e48db0f{--width:50%;}.elementor-20 .elementor-element.elementor-element-aadd004{--width:50%;}.elementor-20 .elementor-element.elementor-element-08b59e3{--width:50%;}.elementor-20 .elementor-element.elementor-element-f388847{--width:50%;}.elementor-20 .elementor-element.elementor-element-b2507eb{--width:50%;}}/* Start custom CSS for container, class: .elementor-element-e48db0f *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-e48db0f {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-e48db0f::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal,
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-e48db0f:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aadd004 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-aadd004 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-aadd004::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-aadd004:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-aadd004:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-aadd004:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08b59e3 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-08b59e3 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-08b59e3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-08b59e3:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f388847 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-f388847 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-f388847::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-f388847:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-f388847:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-f388847:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b2507eb *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-b2507eb {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-b2507eb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal,
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-b2507eb:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e48db0f *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-e48db0f {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-e48db0f::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal,
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-e48db0f:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aadd004 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-aadd004 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-aadd004::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-aadd004:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-aadd004:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-aadd004:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08b59e3 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-08b59e3 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-08b59e3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-08b59e3:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f388847 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-f388847 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-f388847::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-f388847:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-f388847:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-f388847:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b2507eb *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-b2507eb {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-b2507eb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal,
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-b2507eb:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e48db0f *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-e48db0f {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-e48db0f::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal,
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-e48db0f:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aadd004 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-aadd004 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-aadd004::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-aadd004:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-aadd004:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-aadd004:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08b59e3 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-08b59e3 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-08b59e3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-08b59e3:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f388847 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-f388847 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-f388847::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-f388847:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-f388847:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-f388847:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b2507eb *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-b2507eb {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-b2507eb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal,
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-b2507eb:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e48db0f *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-e48db0f {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-e48db0f::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal,
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-e48db0f:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aadd004 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-aadd004 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-aadd004::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-aadd004:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-aadd004:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-aadd004:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08b59e3 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-08b59e3 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-08b59e3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-08b59e3:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f388847 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-f388847 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-f388847::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-f388847:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-f388847:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-f388847:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b2507eb *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-b2507eb {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-b2507eb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal,
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-b2507eb:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e48db0f *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-e48db0f {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-e48db0f::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal,
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-e48db0f .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-e48db0f:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-e48db0f:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-e48db0f .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-aadd004 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-aadd004 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-aadd004::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-aadd004:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-aadd004:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-aadd004 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-aadd004:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-aadd004:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-aadd004 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-08b59e3 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-08b59e3 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-08b59e3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-08b59e3 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-08b59e3:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-08b59e3:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-08b59e3 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f388847 *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-f388847 {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-f388847::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-f388847:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-f388847:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal,
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-f388847 .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-f388847:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-f388847:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-f388847 .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b2507eb *//* Transición de la imagen de fondo */
.elementor-20 .elementor-element.elementor-element-b2507eb {
    background-position: center;
    filter: grayscale(50%);
    transition: background-position 0.5s ease-in-out, filter 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-size: cover;
}

/* Overlay EN ESTADO NORMAL (ya oscuro desde el inicio) */
.elementor-20 .elementor-element.elementor-element-b2507eb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.25); /* oscurecimiento base */
    transition: opacity 0.5s ease-in-out, background 0.5s ease-in-out;
    z-index: 2;
    pointer-events: none;
}

/* Hover: oscurece un poco más */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover::before {
    background: rgba(0,0,0,0.7);
}

/* Hover de la imagen */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover {
    background-position: 25% center;
    filter: grayscale(0%);
}

/* Títulos y botón sobre el overlay */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal,
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado,
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor {
    position: relative;
    z-index: 3;
}

/* Movimiento título */
.elementor-20 .elementor-element.elementor-element-b2507eb .titulo-principal {
    transition: transform 0.3s ease-in-out;
}

.elementor-20 .elementor-element.elementor-element-b2507eb:hover .titulo-principal {
    transform: translateY(-20px);
}

/* Subtítulo oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .subtitulo-animado {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
    visibility: hidden;
}

/* Subtitulo visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .subtitulo-animado {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

/* Botón oculto en estado normal */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor { 
    opacity: 0;
    transform: translateY(60px); 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    visibility: hidden;
    pointer-events: none; 
}

/* Botón visible al hover */
.elementor-20 .elementor-element.elementor-element-b2507eb:hover .boton-animado-elementor {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto; 
}

/* Hover propio del botón (opcional) */
.elementor-20 .elementor-element.elementor-element-b2507eb .boton-animado-elementor .elementor-button:hover { 
    background-color: #02010100; 
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for mega-menu, class: .elementor-element-0d896d2 *//* 1) Selectores algo más específicos para Elementor Nav Menu */
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item {
  position: relative;
  display: inline-block; /* importante para que el ::after se posicione correctamente */
  text-decoration: none !important;
  background: none !important;
}

/* 2) Se asegura que no haya pseudo antes interferente */
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item::before {
  content: none !important;
}

/* 3) Puntero con puntos (usa bullets unicode separados para control) */
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item::after {
  content: "\2022\00a0\2022\00a0\2022\00a0\2022\00a0\2022"; /* • • • • • */
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(6px); /* empieza 6px abajo para animar */
  bottom: -6px;
  font-size: 14px;
  line-height: 1;
  color: currentColor;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.2,1);
  letter-spacing: normal;
  z-index: 2;
}

/* 4) Mostrar al hover / foco (accesibilidad) */
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item:hover::after,
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item:focus::after,
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item.elementor-item-active::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* 5) Si el menú está en versión mobile/dropdown usar display inline-block (o block según tu layout) */
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item {
  -webkit-tap-highlight-color: transparent;
}

/* 6) Aumentar especificidad si tu tema lo sobrescribe (descomenta si es necesario) */
/*
.elementor-widget-nav-menu..elementor-20 .elementor-element.elementor-element-0d896d2 .elementor-item::after {
  font-size: 16px !important;
}
*//* End custom CSS */