.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-a1eaed3:#E54900;--e-global-color-f59ce44:#FF5100;--e-global-color-dc66414:#FF9766;--e-global-color-3900d0d:#001840;--e-global-color-7bee363:#002158;--e-global-color-c442642:#0053FF;--e-global-color-e7d7509:#0053FF;--e-global-color-9ab7d63:#6698FF;--e-global-color-40db0bf:#E2EBFF;--e-global-color-b5d18f0:#F5CE3E;--e-global-color-24c75ea:#000000;--e-global-color-e71261e:#B8B8B8;--e-global-color-6b0313a:#F1F1F4;--e-global-color-9c5a201:#FFFFFF;--e-global-color-cbde64e:#FFFFFF00;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-9c7656c-font-family:"Inter";--e-global-typography-9c7656c-font-size:clamp(2.2rem, 1.39rem + 4.05vw, 6.25rem);--e-global-typography-9c7656c-font-weight:300;--e-global-typography-9c7656c-line-height:clamp(2.2rem, 1.39rem + 4.05vw, 6.25rem);--e-global-typography-637cc45-font-family:"Inter";--e-global-typography-637cc45-font-size:clamp(1.6rem, 1.17rem + 2.15vw, 3.75rem);--e-global-typography-637cc45-font-weight:400;--e-global-typography-637cc45-line-height:clamp(1.8rem, 1.36rem + 2.2vw, 4rem);--e-global-typography-0802858-font-family:"Inter";--e-global-typography-0802858-font-size:clamp(1.4rem, 1.06rem + 1.725vw, 3.125rem);--e-global-typography-0802858-font-weight:200;--e-global-typography-0802858-line-height:clamp(1.8rem, 1.36rem + 2.2vw, 4rem);--e-global-typography-69ae1cd-font-family:"Inter";--e-global-typography-69ae1cd-font-size:clamp(1.3rem, 1.14rem + 0.825vw, 2.125rem);--e-global-typography-69ae1cd-font-weight:400;--e-global-typography-69ae1cd-line-height:clamp(1.6rem, 1.4rem + 1.025vw, 2.625rem);--e-global-typography-64490e7-font-family:"Inter";--e-global-typography-64490e7-font-size:clamp(1.2rem, 1.07rem + 0.675vw, 1.875rem);--e-global-typography-64490e7-font-weight:400;--e-global-typography-64490e7-line-height:clamp(1.6rem, 1.48rem + 0.6vw, 2.2rem);--e-global-typography-ef17ba3-font-family:"Inter";--e-global-typography-ef17ba3-font-size:clamp(1.2rem, 1.07rem + 0.675vw, 1.875rem);--e-global-typography-ef17ba3-font-weight:200;--e-global-typography-ef17ba3-line-height:clamp(1.4rem, 1.16rem + 1.225vw, 2.625rem);--e-global-typography-584b2ad-font-family:"Inter";--e-global-typography-584b2ad-font-size:clamp(1.1rem, 1.02rem + 0.4vw, 1.5rem);--e-global-typography-584b2ad-font-weight:400;--e-global-typography-584b2ad-line-height:clamp(1.4rem, 1.32rem + 0.4vw, 1.8rem);--e-global-typography-2a22784-font-family:"Inter";--e-global-typography-2a22784-font-size:clamp(1.2rem, 1.07rem + 0.675vw, 1.875rem);--e-global-typography-2a22784-font-weight:700;--e-global-typography-2a22784-line-height:clamp(1.6rem, 1.48rem + 0.6vw, 2.2rem);--e-global-typography-5d08ea6-font-family:"Inter";--e-global-typography-5d08ea6-font-size:clamp(1.1rem, 1.07rem + 0.15vw, 1.25rem);--e-global-typography-5d08ea6-font-weight:700;--e-global-typography-5d08ea6-line-height:clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);--e-global-typography-5376460-font-family:"Inter";--e-global-typography-5376460-font-size:clamp(1.3rem, 1.14rem + 0.825vw, 2.125rem);--e-global-typography-5376460-font-weight:300;--e-global-typography-5376460-line-height:clamp(1.4rem, 1.13rem + 1.35vw, 2.75rem);--e-global-typography-54a551c-font-family:"Inter";--e-global-typography-54a551c-font-size:clamp(1.3rem, 1.14rem + 0.825vw, 2.125rem);--e-global-typography-54a551c-font-weight:300;--e-global-typography-54a551c-line-height:clamp(1.6rem, 1.4rem + 1.025vw, 2.625rem);--e-global-typography-b865f74-font-family:"Inter";--e-global-typography-b865f74-font-size:clamp(1.1rem, 1.07rem + 0.15vw, 1.25rem);--e-global-typography-b865f74-font-weight:400;--e-global-typography-b865f74-line-height:clamp(1.4rem, 1.33rem + 0.35vw, 1.75rem);--e-global-typography-d89445e-font-family:"Inter";--e-global-typography-d89445e-font-size:clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem);--e-global-typography-d89445e-font-weight:400;--e-global-typography-d89445e-line-height:clamp(1.2rem, 1.11rem + 0.45vw, 1.65rem);--e-global-typography-d2a9f82-font-family:"Inter";--e-global-typography-d2a9f82-font-size:clamp(0.9rem, 0.88rem + 0.1vw, 1rem);--e-global-typography-d2a9f82-font-weight:400;--e-global-typography-d2a9f82-line-height:clamp(1.2rem, 1.19rem + 0.05vw, 1.25rem);--e-global-typography-e9f56ff-font-family:"Inter";--e-global-typography-e9f56ff-font-size:clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem);--e-global-typography-e9f56ff-font-weight:500;--e-global-typography-e9f56ff-line-height:clamp(1.2rem, 1.19rem + 0.05vw, 1.25rem);--e-global-typography-73d7677-font-family:"Inter";--e-global-typography-73d7677-font-size:clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem);--e-global-typography-73d7677-font-weight:500;--e-global-typography-73d7677-line-height:clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem);--e-global-typography-24e08ec-font-family:"Inter";--e-global-typography-24e08ec-font-size:clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem);--e-global-typography-24e08ec-font-weight:200;--e-global-typography-24e08ec-line-height:clamp(1.15rem, 1.12rem + 0.15vw, 1.3rem);--e-global-typography-edf23ed-font-family:"Inter";--e-global-typography-edf23ed-font-size:clamp(2.2rem, 1.49rem + 3.55vw, 5.75rem);--e-global-typography-edf23ed-font-weight:300;--e-global-typography-edf23ed-line-height:clamp(2.2rem, 1.49rem + 3.55vw, 5.75rem);--e-global-typography-72a79d9-font-family:"Inter";--e-global-typography-72a79d9-font-size:clamp(2rem, 1.4rem + 3vw, 5rem);--e-global-typography-72a79d9-font-weight:300;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-f59ce44 );}.elementor-kit-7 a:hover{color:var( --e-global-color-e71261e );}.elementor-kit-7 h1{color:var( --e-global-color-7bee363 );font-family:var( --e-global-typography-9c7656c-font-family ), Sans-serif;font-size:var( --e-global-typography-9c7656c-font-size );font-weight:var( --e-global-typography-9c7656c-font-weight );line-height:var( --e-global-typography-9c7656c-line-height );}.elementor-kit-7 h2{color:var( --e-global-color-7bee363 );font-family:var( --e-global-typography-637cc45-font-family ), Sans-serif;font-size:var( --e-global-typography-637cc45-font-size );font-weight:var( --e-global-typography-637cc45-font-weight );line-height:var( --e-global-typography-637cc45-line-height );}.elementor-kit-7 h3{color:var( --e-global-color-7bee363 );font-family:var( --e-global-typography-0802858-font-family ), Sans-serif;font-size:var( --e-global-typography-0802858-font-size );font-weight:var( --e-global-typography-0802858-font-weight );line-height:var( --e-global-typography-0802858-line-height );}.elementor-kit-7 h4{color:var( --e-global-color-7bee363 );font-family:var( --e-global-typography-69ae1cd-font-family ), Sans-serif;font-size:var( --e-global-typography-69ae1cd-font-size );font-weight:var( --e-global-typography-69ae1cd-font-weight );line-height:var( --e-global-typography-69ae1cd-line-height );}.elementor-kit-7 h5{color:var( --e-global-color-7bee363 );font-family:var( --e-global-typography-64490e7-font-family ), Sans-serif;font-size:var( --e-global-typography-64490e7-font-size );font-weight:var( --e-global-typography-64490e7-font-weight );line-height:var( --e-global-typography-64490e7-line-height );}.elementor-kit-7 h6{font-family:var( --e-global-typography-584b2ad-font-family ), Sans-serif;font-size:var( --e-global-typography-584b2ad-font-size );font-weight:var( --e-global-typography-584b2ad-font-weight );line-height:var( --e-global-typography-584b2ad-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1440px){.elementor-kit-7 h1{font-size:var( --e-global-typography-9c7656c-font-size );line-height:var( --e-global-typography-9c7656c-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-637cc45-font-size );line-height:var( --e-global-typography-637cc45-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-0802858-font-size );line-height:var( --e-global-typography-0802858-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-69ae1cd-font-size );line-height:var( --e-global-typography-69ae1cd-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-64490e7-font-size );line-height:var( --e-global-typography-64490e7-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-584b2ad-font-size );line-height:var( --e-global-typography-584b2ad-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}@media(max-width:1280px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}@media(max-width:1024px){.elementor-kit-7 h1{font-size:var( --e-global-typography-9c7656c-font-size );line-height:var( --e-global-typography-9c7656c-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-637cc45-font-size );line-height:var( --e-global-typography-637cc45-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-0802858-font-size );line-height:var( --e-global-typography-0802858-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-69ae1cd-font-size );line-height:var( --e-global-typography-69ae1cd-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-64490e7-font-size );line-height:var( --e-global-typography-64490e7-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-584b2ad-font-size );line-height:var( --e-global-typography-584b2ad-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}@media(max-width:880px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}@media(max-width:480px){.elementor-kit-7 h1{font-size:var( --e-global-typography-9c7656c-font-size );line-height:var( --e-global-typography-9c7656c-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-637cc45-font-size );line-height:var( --e-global-typography-637cc45-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-0802858-font-size );line-height:var( --e-global-typography-0802858-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-69ae1cd-font-size );line-height:var( --e-global-typography-69ae1cd-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-64490e7-font-size );line-height:var( --e-global-typography-64490e7-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-584b2ad-font-size );line-height:var( --e-global-typography-584b2ad-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}@media(min-width:2400px){.elementor-kit-7 h1{font-size:var( --e-global-typography-9c7656c-font-size );line-height:var( --e-global-typography-9c7656c-line-height );}.elementor-kit-7 h2{font-size:var( --e-global-typography-637cc45-font-size );line-height:var( --e-global-typography-637cc45-line-height );}.elementor-kit-7 h3{font-size:var( --e-global-typography-0802858-font-size );line-height:var( --e-global-typography-0802858-line-height );}.elementor-kit-7 h4{font-size:var( --e-global-typography-69ae1cd-font-size );line-height:var( --e-global-typography-69ae1cd-line-height );}.elementor-kit-7 h5{font-size:var( --e-global-typography-64490e7-font-size );line-height:var( --e-global-typography-64490e7-line-height );}.elementor-kit-7 h6{font-size:var( --e-global-typography-584b2ad-font-size );line-height:var( --e-global-typography-584b2ad-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100vw;}.e-con{--container-max-width:100vw;}}
/* Start custom CSS *//* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   CONTENEDORES GRID/FLEXBOX: PADDING

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CONTENEDORES HERO ===== */
/* Hero XL */
.contenedor-hero-xl {
  width: 100%;
  min-height: 90dvh;
  justify-content: center;
  padding: 0 5% 0;
  gap: 3em;
}

@media screen and (max-width: 880px) {
.contenedor-hero-xl {
  width: 100%;
  min-height: 50dvh;
  justify-content: center;
  padding: 0 5% 0;
  gap: 2em;
}
}

@media screen and (max-width: 480px) {
.contenedor-hero-xl {
  width: 100%;
  min-height: 90dvh;
  justify-content: center;
  padding: 0 5% 0;
  gap: 2em;
}
}

@media screen and (max-width: 480px) {
.contenedor-hero-xl.reduced {
  width: 100%;
  min-height: 70dvh;
  justify-content: center;
  padding: 0 5% 0;
  gap: 2em;
}
}

/* Hero L */
.contenedor-hero-l {
  width: 100%;
  min-height: 80dvh;
  padding: 20% 5% 0 5%;
  gap: 5em;
}

@media screen and (max-width: 1440px) {
.contenedor-hero-l {
  width: 100%;
  min-height: 80dvh;
  padding: 25% 5% 0 5%;
  gap: 5em;
}
}

@media screen and (max-width: 1280px) {
.contenedor-hero-l {
  width: 100%;
  min-height: 80dvh;
  padding: 20% 5% 0 5%;
  gap: 5em;
}
}

@media screen and (max-width: 1024px) {
.contenedor-hero-l {
  width: 100%;
  min-height: 70dvh;
  padding: 30% 5% 0 5%;
  gap: 5em;
}
}

@media screen and (max-width: 880px) {
.contenedor-hero-l {
  width: 100%;
  min-height: 30dvh;
  padding: 20% 5% 0 5%;
  gap: 5em;
}
}

@media screen and (max-width: 480px) {
.contenedor-hero-l {
  width: 100%;
  min-height: 40dvh;
  padding: 40% 5% 0 5%;
  gap: 5em;
}
}

/* Sub-Hero L */
.contenedor-sub-hero-l {
  width: 100%;
  padding: 5% 5% 5% 5%;
  gap: 2em;
}

@media screen and (max-width: 480px) {
.contenedor-sub-hero-l {
  width: 100%;
  padding: 15% 5% 15% 5%;
  gap: 2em;
}
}


/* ===== CONTENEDORES GENERALES ===== */

/* Contenedor Ancho */
.contenedor-xl {
  width: 100%;
  justify-content: center;
  padding: 5% 5% 5% 5%;
  gap: 3em;
}

@media screen and (max-width: 880px) {
.contenedor-xl {
  width: 100%;
  justify-content: center;
  padding: 8% 5% 8% 5%;
  gap: 3em;
}
}

@media screen and (max-width: 480px) {
.contenedor-xl {
  width: 100%;
  justify-content: center;
  padding: 12% 5% 12% 5%;
  gap: 2em;
}
}


/* Contenedor Estrecho */
.contenedor-l {
  width: 100%;
  justify-content: center;
  padding: 5% 12% 5% 12%;
  gap: 4em;
}

@media screen and (max-width: 1440px) {
.contenedor-l {
  width: 100%;
  justify-content: center;
  padding: 8% 9% 8% 9%;
  gap: 4em;
}
}

@media screen and (max-width: 880px) {
.contenedor-l {
  width: 100%;
  justify-content: center;
  padding: 8% 10% 8% 10%;
  gap: 4em;
}
}

@media screen and (max-width: 480px) {
.contenedor-l {
  width: 100%;
  justify-content: center;
  padding: 12% 5% 12% 5%;
  gap: 2em;
}
}


/* Contenedor Estrecho Menor altura */
.contenedor-m {
  width: 100%;
  justify-content: center;
  padding: 0 12% 0 12%;
  gap: 4em;
}

@media screen and (max-width: 1440px) {
.contenedor-m {
  width: 100%;
  justify-content: center;
  padding: 0 9% 0 9%;
  gap: 4em;
}
}

@media screen and (max-width: 880px) {
.contenedor-m {
  width: 100%;
  justify-content: center;
  padding: 0 10% 0 10%;
  gap: 4em;
}
}

@media screen and (max-width: 480px) {
.contenedor-m {
  width: 100%;
  justify-content: center;
  padding: 0 5% 0 5%;
  gap: 2em;
}
}


/* Contenedor Herramientas */
.contenedor-herramientas {
  width: 100%;
  justify-content: center;
  padding: 0;
  gap: 1em;
}

@media screen and (max-width: 1440px) {
.contenedor-herramientas {
  width: 100%;
  justify-content: center;
  padding: 5% 0 5% 0;
  gap: 5em;
}
}

@media screen and (max-width: 1280px) {
.contenedor-herramientas {
  width: 100%;
  justify-content: center;
  padding: 6% 0 6% 0;
  gap: 7em;
}
}

@media screen and (max-width: 880px) {
.contenedor-herramientas {
  width: 100%;
  justify-content: center;
  padding: 10% 0 10% 0;
  gap: 5em;
}
}

@media screen and (max-width: 480px) {
.contenedor-herramientas {
  width: 100%;
  justify-content: center;
  padding: 15% 0 15% 0;
  gap: 3em;
}
}


/* Contenedor Encabezado Tabs */
.contenedor-encabezado-tabs {
  width: 100%;
  justify-content: center;
  padding: 0;
  gap: em;
}


/* Contenedor Cifras*/
.contenedor-cifras {
  width: 100%;
  justify-content: center;
  padding: 5% 5% 5% 12%;
  gap: 4em;
}

@media screen and (max-width: 1440px) {
.contenedor-cifras {
  width: 100%;
  justify-content: center;
  padding: 0 9% 8% 9%;
  gap: 4em;
}
}

@media screen and (max-width: 1280px) {
.contenedor-cifras {
  width: 100%;
  justify-content: center;
  padding: 5% 9% 5% 9%;
  gap: 4em;
}
}

@media screen and (max-width: 880px) {
.contenedor-cifras {
  width: 100%;
  justify-content: center;
  padding: 8% 10% 8% 10%;
  gap: 4em;
}
}

@media screen and (max-width: 480px) {
.contenedor-cifras {
  width: 100%;
  justify-content: center;
  padding: 12% 5% 12% 5%;
  gap: 2em;
}
}


/* Contenedor CTA */
.contenedor-cta {
  width: 100%;
  justify-content: center;
  padding: 5% 5%;
}


@media screen and (max-width: 1280px) {
.contenedor-cta {
  width: 100%;
  justify-content: center;
  padding: 7% 5% 7% 5%;
}
}

@media screen and (max-width: 880px) {
.contenedor-cta {
  width: 100%;
  justify-content: center;
  padding: 10% 5% 10% 5%;
}
}

@media screen and (max-width: 480px) {
.contenedor-cta {
  width: 100%;
  justify-content: center;
  padding: 12% 5% 12% 5%;
}
}


/* Contenedor CTA Sin padding superior*/
.contenedor-cta-sin {
  width: 100%;
  justify-content: center;
  padding: 0 5% 5% 5%;
}

@media screen and (max-width: 1280px) {
.contenedor-cta-sin {
  width: 100%;
  justify-content: center;
  padding: 0 5% 7% 5%;
}
}

@media screen and (max-width: 880px) {
.contenedor-cta-sin {
  width: 100%;
  justify-content: center;
  padding: 0% 5% 10% 5%;
}
}

@media screen and (max-width: 480px) {
.contenedor-cta-sin {
  width: 100%;
  justify-content: center;
  padding: 0% 5% 12% 5%;
}
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   BOTONES

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== VARIANTES ===== */

/* Hover azul */
.btn--white .elementor-button {
  --btn-hover-bg: #002158;
}

/* Hover naranja claro */
.btn--dark .elementor-button {
  --btn-hover-bg: #FF6A2A;
}

/* Hover blanco + texto naranja */
.btn--light .elementor-button {
  --btn-hover-bg: #FFFFFF;
}

/* ===== BASE ===== */

.btn .elementor-button { 
    --btn-bg: #E54900; 
    --btn-hover-bg: #002158; 

    font-family: 'Inter', sans-serif; 
    font-weight: 500; 
    font-size: clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem); 

    color: #FFFFFF !important; 
    background-color: var(--btn-bg) !important; 

    border: none !important; 
    text-decoration: none; 

    transition: background-color 0.25s ease, transform 0.15s ease;

    border-radius: 20px;
    padding: 0.9em 1.4em;
    line-height: 1;
} 

/* ===== HOVER ===== */

.btn .elementor-button:hover { 
    background-color: var(--btn-hover-bg) !important; 
    color: #FFFFFF !important;
}

/* OVERRIDE REAL (clave) */
.btn--light .elementor-button:hover {
    background-color: #FFFFFF !important; /* FORZAMOS */
    color: #E54900 !important;
    border: 1px solid #E54900 !important;
}

/* ===== TIPOGRAFÍA ===== */

.btn .elementor-button { 
    font-family: 'Inter', sans-serif !important; 
    font-weight: 500 !important; 
    font-size: clamp(1.05rem, 1.04rem + 0.075vw, 1.125rem) !important; 
}

/* =========================
   BOTÓN BLANCO / TEXTO NARANJA
   Hover azul / texto blanco
   ========================= */

.btn.btn--white-orange .elementor-button {
  background-color: #FFFFFF !important;
  color: #E54900 !important;
  border: none !important;
}

/* Texto interno */
.btn.btn--white-orange .elementor-button .elementor-button-text {
  color: #E54900 !important;
}

/* Hover */
.btn.btn--white-orange .elementor-button:hover {
  background-color: #002158 !important;
  color: #FFFFFF !important;
  border: none !important;
}

.btn.btn--white-orange .elementor-button:hover .elementor-button-text {
  color: #FFFFFF !important;
}

/* =========================
   BOTÓN AZUL / TEXTO BLANCO
   Hover blanco / texto azul
   ========================= */

.btn.btn--blue-white .elementor-button {
  background-color: #002158 !important;
  color: #FFFFFF !important;

  /* Evita el salto al aparecer el borde */
  border: 1px solid transparent !important;
}

/* Texto interno */
.btn.btn--blue-white .elementor-button .elementor-button-text {
  color: #FFFFFF !important;
}

/* Hover */
.btn.btn--blue-white .elementor-button:hover {
  background-color: #FFFFFF !important;
  color: #002158 !important;
  border: 1px solid #002158 !important;
}

.btn.btn--blue-white .elementor-button:hover .elementor-button-text {
  color: #002158 !important;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SEPARADORES TÍTULOS

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.sep-custom {
  --sep-width: 10%;
  --sep-thickness: 4px;
  --sep-color: #FF5100;
  --sep-margin-top: 2rem;
  --sep-margin-bottom: 2rem;
}

.sep-custom .elementor-divider {
  padding-top: var(--sep-margin-top) !important;
  padding-bottom: var(--sep-margin-bottom) !important;
}

.sep-custom .elementor-divider-separator {
  width: var(--sep-width) !important;
  border-top-width: var(--sep-thickness) !important;
  border-top-color: var(--sep-color) !important;
  border-top-style: solid !important;
}


/* COLORES */

.sep-naranja {
  --sep-color: #FF5100;
}

.sep-blanco {
  --sep-color: #FFFFFF;
}


/* ANCHURAS */

.sep-10 {
  --sep-width: clamp(3rem, 2.7rem + 1.5vw, 4.5rem)
;
}

.sep-15 {
  --sep-width: 15%;
}

.sep-20 {
  --sep-width: 20%;
}

.sep-25 {
  --sep-width: 25%;
}


/* GROSORES */

.sep-2 {
  --sep-thickness: 2px;
}

.sep-4 {
  --sep-thickness: 4px;
}

.sep-6 {
  --sep-thickness: 6px;
}


/* SEPARACIÓN SUPERIOR */

.sep-mt-0 {
  --sep-margin-top: 0;
}

.sep-mt-sm {
  --sep-margin-top: clamp(0.75rem, 0.7rem + 0.25vw, 1.5rem);
}

.sep-mt-md {
  --sep-margin-top: clamp(1rem, 0.9rem + 0.5vw, 2rem);
}

.sep-mt-lg {
  --sep-margin-top: clamp(1.5rem, 1.2rem + 1vw, 3rem);
}


/* SEPARACIÓN INFERIOR */

.sep-mb-0 {
  --sep-margin-bottom: 0;
}

.sep-mb-sm {
  --sep-margin-bottom: clamp(0.75rem, 0.7rem + 0.25vw, 1.5rem);
}

.sep-mb-md {
  --sep-margin-bottom: clamp(1rem, 0.9rem + 0.5vw, 2rem);
}

.sep-mb-lg {
  --sep-margin-bottom: clamp(1.5rem, 1.2rem + 1vw, 3rem);
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   GRID CARDS SOLUCIONES HOME

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* GRID PADRE */
.cards-servicios-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2vw, 2.5rem);
}

/* CARD */
.card-servicio {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  min-height: clamp(230px, 23vw, 380px);
  background-size: cover;
  background-position: center;

  --card-x: clamp(1.1rem, 1.55vw, 2rem);
  --card-bottom: clamp(0.8rem, 1vw, 1.25rem);

  --title-hover-up: 14rem;
  --hidden-hover-up: clamp(0.6rem, 0.8vw, 1rem);
}

/* DEGRADADO BASE */
.card-servicio::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 20, 50, 0.82) 0%,
    rgba(0, 20, 50, 0.38) 24%,
    rgba(0, 20, 50, 0.08) 48%,
    transparent 72%
  );
  z-index: 1;
  opacity: 1;
  transition: opacity 0.7s cubic-bezier(.22, .61, .36, 1);
}

.card-servicio:hover::before {
  opacity: 0.28;
}

/* OVERLAY AZUL */
.card-servicio::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 38, 95, 0.84);
  z-index: 1;
  opacity: 0;
  transition: opacity 0.62s cubic-bezier(.22, .61, .36, 1);
}

.card-servicio:hover::after {
  opacity: 1;
}

/* CONTENIDO */
.card-servicio-content {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  bottom: var(--card-bottom);
  z-index: 2;
  max-width:  80%;
  height: 1px;
}

@media screen and (max-width: 1440px) {
.card-servicio-content {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  bottom: var(--card-bottom);
  z-index: 2;
  max-width:  90%;
  height: 1px;
}
}

@media screen and (max-width: 880px) {
.card-servicio-content {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  bottom: var(--card-bottom);
  z-index: 2;
  max-width:  60%;
  height: 1px;
}
}

@media screen and (max-width: 480px) {
.card-servicio-content {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  bottom: var(--card-bottom);
  z-index: 2;
  max-width:  60%;
  height: 1px;
}
}


/* TÍTULO */
.card-servicio-title {
  position: absolute;
  left: 0;
  bottom: 0;

  color: #fff;
  margin: 0;
  font-size: clamp(1.6rem, 2vw, 2.4rem);
  line-height: 1.12;
  font-weight: 400;

  transform: translateY(0);
  transition: transform 0.78s cubic-bezier(.16, 1, .3, 1);
}

.card-servicio:hover .card-servicio-title {
  transform: translateY(calc(-1 * var(--title-hover-up)));
  transition-delay: 0.2s;
}

/* BLOQUE TEXTO + BOTÓN */
.card-servicio-hidden {
  position: absolute;
  left: 0;
  bottom: 0;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(30px);
  pointer-events: none;

  /*max-width: 620px;*/
  padding-right: 0;

  transition:
    opacity 0.52s cubic-bezier(.22, .61, .36, 1),
    visibility 0.52s cubic-bezier(.22, .61, .36, 1),
    transform 0.72s cubic-bezier(.16, 1, .3, 1);
}

.card-servicio:hover .card-servicio-hidden {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(calc(-1 * var(--hidden-hover-up)));
  pointer-events: auto;
  transition-delay: 0.08s;
}


/* TEXTO */
.card-servicio-text {
  margin: 0;
  color: #fff;
  font-size: clamp(1rem, 1.1vw, 1.25rem);
  line-height: 1.35;

  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.45s ease,
    transform 0.62s cubic-bezier(.16, 1, .3, 1);
}

.card-servicio:hover .card-servicio-text {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}

/* BOTÓN */
.card-servicio-button {
  margin-top: 1.6rem !important;

  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.45s ease,
    transform 0.62s cubic-bezier(.16, 1, .3, 1);
}

.card-servicio:hover .card-servicio-button {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.24s;
}

/* BREAKPOINTS */
@media (max-width: 1440px) {
  .card-servicio {
    --title-hover-up: 11.5rem;
  }
}

@media (max-width: 1280px) {
  .card-servicio {
    --title-hover-up: 13rem;
  }
}

@media (max-width: 1024px) {
  .card-servicio {
      min-height: 40vh;
    --title-hover-up: 15rem;
  }
}

@media (max-width: 880px) {
  .cards-servicios-grid {
    grid-template-columns: 1fr;
  }

  .card-servicio {
    min-height: 320px;
    --title-hover-up: 11rem;
    --hidden-hover-up: 0.7rem;
  }

  .card-servicio-content {
    max-width: 88%;
  }
}

@media (max-width: 480px) {
  .card-servicio {
    min-height: 280px;
    --title-hover-up: 14rem;
    --hidden-hover-up: 0.6rem;
  }

  .card-servicio-content {
    left: 0.8rem;
    right: 1.15rem;
    bottom: 1rem;
    max-width: 92%;
  }

  .card-servicio-hidden {
    padding-right: 0;
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SECCIÓN CARDS SECTORES

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CENTRADO ===== */
.listing-grid-centrado .jet-listing-grid__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


/* ===== ANIMACIONES ===== */
/* Estado inicial oculto */
.listing-grid-centrado .jet-listing-grid__item {
    opacity: 0;
    transform: translateY(20px);
}

/* Estado animado */
.listing-grid-centrado .jet-listing-grid__item.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: 
        opacity 0.9s ease,
        transform 0.9s ease;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SLIDER CLIENTES GRID JETENGINE

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== TAMAÑO MÁXIMO LOGOS ===== */
.slider-logos-home {
  --slider-arrow-size: clamp(2.6rem, 2.2rem + 0.9vw, 3.6rem);
  --slider-arrow-gap: clamp(0.6rem, 0.4rem + 0.8vw, 1.5rem);
  --slider-arrow-bottom: -3.5rem;
}

/* Botones */
.slider-logos-home .jet-listing-grid__slider-icon,
.slider-logos-home .jet-listing-grid__slider-icon .jet-listing-grid__slider-icon-inner {
  width: var(--slider-arrow-size) !important;
  height: var(--slider-arrow-size) !important;
  min-width: var(--slider-arrow-size) !important;
  min-height: var(--slider-arrow-size) !important;
  max-width: var(--slider-arrow-size) !important;
  max-height: var(--slider-arrow-size) !important;
  color: #E54900;
  line-height: 1 !important;
  font-size: var(--slider-arrow-size) !important;
}

.slider-logos-home .jet-listing-grid__slider-icon:hover {
  color: #002158;
}

.slider-logos-home .jet-listing-grid__slider-icon svg {
  width: var(--slider-arrow-size) !important;
  height: var(--slider-arrow-size) !important;
  min-width: var(--slider-arrow-size) !important;
  min-height: var(--slider-arrow-size) !important;
  display: block;
}

/* Posición abajo centro */
.slider-logos-home .jet-listing-grid__slider-icon.prev-arrow,
.slider-logos-home .jet-listing-grid__slider-icon.jet-prev-arrow {
  left: calc(50% - var(--slider-arrow-size) - var(--slider-arrow-gap)) !important;
  top: auto !important;
  bottom: var(--slider-arrow-bottom) !important;
  transform: translateX(-50%);
}

.slider-logos-home .jet-listing-grid__slider-icon.next-arrow,
.slider-logos-home .jet-listing-grid__slider-icon.jet-next-arrow {
  left: calc(50% + var(--slider-arrow-gap)) !important;
  top: auto !important;
  bottom: var(--slider-arrow-bottom) !important;
  transform: translateX(-50%);
}

/* Logos */
.slider-logos-home .jet-listing-dynamic-field__content {
  max-width: 60%;
  margin-inline: auto;
}


/* ==============================
   VARIANTE SEGUNDO SLIDER
   más separación vertical botones
   ============================== */

.slider-logos-home-alt {
  --slider-arrow-bottom: -5rem;
}

@media (max-width: 1440px) {
  .slider-logos-home-alt {
    --slider-arrow-bottom: -4rem;
  }
}

@media (max-width: 1280px) {
  .slider-logos-home-alt {
    --slider-arrow-bottom: -3.7rem;
  }
}

@media (max-width: 1024px) {
  .slider-logos-home-alt {
    --slider-arrow-bottom: -3.4rem;
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   MEGA MENÚ

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== MEGA MENU HOVER CARD ===== */

/* CONTENEDOR GENERAL */
.mega-hover-card {
    cursor: pointer;
}

/* WRAPPER DE IMAGEN */
.mega-hover-card .elementor-widget-image,
.mega-hover-card .elementor-widget-image .elementor-widget-container {
    overflow: hidden;
    border-radius: 20px;
}

/* IMAGEN */
.mega-hover-card .elementor-widget-image img {
    display: block;
    width: 100%;
    height: auto;

    border-radius: 20px;

    transform: scale(1);

    transition:
        transform 0.55s cubic-bezier(.22,.61,.36,1);

    will-change: transform;
}

/* HOVER → ZOOM SUAVE */
.mega-hover-card:hover .elementor-widget-image img {
    transform: scale(1.06);
}

/* =========================
   TÍTULO SUBRAYADO
========================= */

.mega-hover-title .elementor-heading-title {
    position: relative;
    display: inline-block;
}

/* LÍNEA */
.mega-hover-title .elementor-heading-title::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: -0.12em;

    width: 100%;
    height: 2px;

    background: currentColor;

    transform: scaleX(0);
    transform-origin: left center;

    transition:
        transform 0.35s cubic-bezier(.22,.61,.36,1);
}

/* HOVER */
.mega-hover-card:hover .mega-hover-title .elementor-heading-title::after {
    transform: scaleX(1);
}



/* =========================================================
   FIX MEGA MENÚ CHROME DESKTOP
========================================================= */

@media screen and (min-width: 881px) {

  .elementor-location-header,
  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-container,
  .elementor-location-header .elementor-widget-wrap,
  .elementor-location-header .e-con,
  .elementor-location-header .e-con-inner {
    overflow: visible !important;
    isolation: auto !important;
  }

  .elementor-location-header {
    position: relative;
    z-index: 99999 !important;
  }

  .elementor-nav-menu--main,
  .elementor-nav-menu,
  .elementor-nav-menu > li,
  .elementor-nav-menu .menu-item {
    overflow: visible !important;
  }

  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container,
  .elementor-nav-menu .sub-menu,
  .elementor-menu-toggle + .elementor-nav-menu--dropdown {
    display: block;
    visibility: visible;
    z-index: 999999 !important;
  }

}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ANIMACIONES TÍTULOS

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.bloque-titulo-separador .elementor-heading-title,
.bloque-titulo-separador .jet-listing-dynamic-field__content {
  overflow: visible;
}

.titulo-letra-entrada .word {
  display: inline-block;
  white-space: nowrap;
}

.titulo-letra-entrada .char {
  display: inline-block;
  opacity: 0;
  transform: translateX(-0.5em);
  filter: blur(1px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    filter 0.35s ease;
}

.titulo-letra-entrada.is-visible .char {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ANIMACIONES BLOQUE TÍTULOS CON SEPARADOR

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== TÍTULO ===== */
.bloque-titulo-separador .elementor-heading-title {
  overflow: visible;
}

.bloque-titulo-separador .word {
  display: inline-block;
  white-space: nowrap;
}

.bloque-titulo-separador .char {
  display: inline-block;
  opacity: 0;
  transform: translateX(-0.5em);
  filter: blur(1px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    filter 0.35s ease;
}

.bloque-titulo-separador.is-visible .char {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

/* ===== SEPARADOR ===== */
.bloque-titulo-separador .elementor-divider,
.bloque-titulo-separador .elementor-widget-divider {
  opacity: 0;
  transform: translateY(0.4rem);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
}

.bloque-titulo-separador.separator-visible .elementor-divider,
.bloque-titulo-separador.separator-visible .elementor-widget-divider {
  opacity: 1;
  transform: translateY(0);
}



/* =========================================================
   HERO + OVERLAY AZUL + KEN BURNS ESTABLE
   Clases:
   contenedor-hero-l hero-overlay-blue kb-bg-suave
   contenedor-hero-xl hero-overlay-blue kb-bg-suave
========================================================= */

.hero-overlay-blue.kb-bg-suave {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-repeat: no-repeat !important;
}

/* Imagen heredada de Elementor */
.hero-overlay-blue.kb-bg-suave::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  background-image: inherit;
  background-size: inherit;
  background-position: inherit;
  background-repeat: inherit;

  transform: scale(1);
  transform-origin: center center;
  animation: kbZoomTransform 12s ease-in-out infinite alternate;
  will-change: transform;
}

/* Overlay azul + neblina */
.hero-overlay-blue.kb-bg-suave::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,0.08) 0%,
      rgba(255,255,255,0.04) 25%,
      rgba(255,255,255,0.00) 55%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(0, 83, 255, 0.75) 0%,
      rgba(0, 83, 255, 0.72) 16%,
      rgba(0, 83, 255, 0.42) 32%,
      rgba(0, 83, 255, 0.18) 48%,
      rgba(0, 83, 255, 0.07) 62%,
      rgba(0, 83, 255, 0.00) 74%
    );
}

/* Contenido encima */
.hero-overlay-blue.kb-bg-suave > * {
  position: relative;
  z-index: 2;
}

/* Ken Burns real, sin tiritar */
@keyframes kbZoomTransform {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.075);
  }
}

/* Hero XL: más suave todavía */
.contenedor-hero-xl.hero-overlay-blue.kb-bg-suave::before {
  animation-duration: 10s;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .hero-overlay-blue.kb-bg-suave::before {
    animation: none;
    transform: scale(1.035);
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   DROPDOWN MENU <1024px

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== MENÚ HUG-CONTENT ELEMENTOR Clase del widget: .menu-hug-right ===== */

/* CONTENEDOR DROPDOWN */
.menu-hug-right .elementor-nav-menu--dropdown {
  width: max-content !important;
  min-width: max-content !important;
  max-width: calc(100vw - 2rem);

  left: auto !important;
  right: 0 !important;

  margin-top: 1rem !important;
  padding: 1.25rem 1.5rem !important;

  background: #ffffff !important;
  border-radius: 20px !important;

  overflow: hidden;
  box-sizing: border-box;

  box-shadow:
    0 12px 40px rgba(0,0,0,.12),
    0 2px 10px rgba(0,0,0,.08);
}

/* ITEMS */
.menu-hug-right .elementor-nav-menu--dropdown .elementor-item {
  width: auto !important;
  white-space: nowrap;

  padding: 0.55rem 0 !important;
  line-height: 1.2;
}

/* LISTAS */
.menu-hug-right .elementor-nav-menu--dropdown ul,
.menu-hug-right .elementor-nav-menu--dropdown li {
  width: max-content !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* ITEMS CON SUBMENÚ */
.menu-hug-right .menu-item-has-children {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* SUBMENÚS */
.menu-hug-right .sub-menu {
  margin-top: 0.35rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}

/* ===== PARCHE MÓVIL REAL Mantiene el hug-content, solo evita que se corte ===== */

@media (max-width: 880px) {

  .menu-hug-right,
  .menu-hug-right .elementor-widget-container,
  .menu-hug-right .elementor-nav-menu__container,
  .menu-hug-right .elementor-nav-menu--dropdown,
  header,
  header .e-con,
  header .elementor-element {
    overflow: visible !important;
  }

  .menu-hug-right .elementor-menu-toggle {
    position: relative !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    cursor: pointer;
  }

  .menu-hug-right .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
    max-height: 100vh !important;
    overflow: visible !important;
    transform: scaleY(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .menu-hug-right .elementor-nav-menu__container {
    z-index: 999998 !important;
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SECCIÓN CONTENEDOR HORIZONTAL CON TÍTULO-TEXTO E IMAGEN

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CONTENEDOR GENERAL ===== */
.bloque-contenido-imagen {
    padding: 8% 0 8% 0;
    justify-content: center;
    gap: 5em;
}

@media screen and (max-width: 1440px) {
.bloque-contenido-imagen {
    padding: 3% 0 3% 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 1280px) {
.bloque-contenido-imagen {
    padding: 1% 0 1% 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen {
    padding: 3% 0 3% 0;
    justify-content: center;
    gap: 2em;
}
}

/* ===== SEPARACIÓN ENTRE TÍTULO Y TEXTO ===== */
.bloque-contenido-imagen-titulo-texto {
    padding: 3% 3%;
    gap: 3em;
}

@media screen and (max-width: 1440px) {
.bloque-contenido-imagen-titulo-texto {
    padding: 3% 3%;
    gap: 3em;
}
}

@media screen and (max-width: 1280px) {
.bloque-contenido-imagen-titulo-texto {
    padding: 3% 3%;
    gap: 2em;
}
}

@media screen and (max-width: 1024px) {
.bloque-contenido-imagen-titulo-texto {
    padding: 2% 2%;
    gap: 2em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen-titulo-texto {
    padding: 2% 2%;
    gap: 1em;
}
}

@media screen and (max-width: 480px) {
.bloque-contenido-imagen-titulo-texto {
    padding: 2%;
    gap: 0.5em;
}
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SECCIÓN TABS CONTENEDOR HORIZONTAL CON TÍTULO-TEXTO E IMAGEN

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CONTENEDOR GENERAL ===== */
.bloque-contenido-imagen-tabs {
    padding: 1% 0 1% 0;
    justify-content: center;
    gap: 5em;
}

@media screen and (max-width: 1440px) {
.bloque-contenido-imagen-tabs {
    padding: 3% 0 3% 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 1280px) {
.bloque-contenido-imagen-tabs {
    padding: 1% 0 1% 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen-tabs {
    padding: 3% 0 3% 0;
    justify-content: center;
    gap: 2em;
}
}

/* ===== ALTURA CONTENEDOR IMAGEN EN MÓVIL (480px) ===== */
@media screen and (max-width: 480px) {
.bloque-contenido-imagen-texto-imagen {
    min-height: 30vh;
}
}

/* ===== SEPARACIÓN ENTRE TÍTULO Y TEXTO ===== */
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 3% 3%;
    gap: 5em;
}

@media screen and (max-width: 1440px) {
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 3% 3%;
    gap: 4em;
}
}

@media screen and (max-width: 1280px) {
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 3% 3%;
    gap: 3em;
}
}

@media screen and (max-width: 1024px) {
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 2% 2%;
    gap: 2em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 2% 2%;
    gap: 1em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen-titulo-texto-tabs {
    padding: 1% 3% 1% 3%;
    gap: 1em;
}
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SECCIÓN CONTENEDOR HORIZONTAL CON TEXTO E IMAGEN

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CONTENEDOR GENERAL ===== */
.bloque-contenido-imagen-bajo {
    padding: 0;
    justify-content: center;
    gap: 5em;
}

@media screen and (max-width: 1440px) {
.bloque-contenido-imagen-bajo {
    padding: 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 1280px) {
.bloque-contenido-imagen-bajo {
    padding: 0;
    justify-content: center;
    gap: 5em;
}
}

@media screen and (max-width: 880px) {
.bloque-contenido-imagen-bajo {
    padding: 0;
    justify-content: center;
    gap: 1em;
}
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   CAJA CONTENIDO [SECCIÓN CONTENEDOR HORIZONTAL (1fr - 1.5fr) CON TEXTO E IMAGEN]

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== CONTENEDOR GENERAL ===== */
.caja-contenido-imagen-bajo {
    padding: 20% 25% 20% 0 ;
    justify-content: center;
    gap: 4em;
}

@media screen and (max-width: 1440px) {
.caja-contenido-imagen-bajo {
    padding: 20% 15% 20% 0 ;
    justify-content: center;
    gap: 4em;
}
}

@media screen and (max-width: 1280px) {
.caja-contenido-imagen-bajo {
    padding: 15% 5% 15% 0 ;
    justify-content: center;
    gap: 3em;
}
}

@media screen and (max-width: 1024px) {
.caja-contenido-imagen-bajo {
    padding: 15% 5% 15% 0 ;
    justify-content: center;
    gap: 1em;
}
}

@media screen and (max-width: 880px) {
.caja-contenido-imagen-bajo {
    padding: 0 5% 0 5% ;
    justify-content: center;
    gap: 1em;
}
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ESPACIADORES GLOBALES ELEMENTOR

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== BASE ===== */
.elementor-widget-spacer.spacer {
  --spacer-custom-size: clamp(1em, 0.6em + 2vw, 3em);
}

/* ===== VARIANTES ===== */
.elementor-widget-spacer.spacer.spacer--xs {
  --spacer-custom-size: clamp(0.35em, 0.25em + 0.5vw, 0.8em);
}

.elementor-widget-spacer.spacer.spacer--sm {
  --spacer-custom-size: clamp(0.6em, 0.4em + 1vw, 1.5em);
}

.elementor-widget-spacer.spacer.spacer--md {
  --spacer-custom-size: clamp(2em, 1.8em + 1vw, 3em);
}

.elementor-widget-spacer.spacer.spacer--lg {
  --spacer-custom-size: clamp(2em, 1em + 4vw, 6em);
}

.elementor-widget-spacer.spacer.spacer--xl {
  --spacer-custom-size: clamp(3em, 1.5em + 6vw, 9em);
}

/* Aplicación real: solo al interior del espaciador */
.elementor-widget-spacer.spacer .elementor-spacer-inner {
  height: var(--spacer-custom-size) !important;
}

/* Por si Elementor mete altura también en el wrapper interno */
.elementor-widget-spacer.spacer .elementor-spacer {
  height: auto !important;
}

/* ===== VISIBILIDAD RESPONSIVE OPCIONAL ===== */

/* PROVISIONAL: cambiar a max-width para que vuelva a tomar efecto la clase CSS */
@media (min-width: 767px) {
  .elementor-widget-spacer.spacer.spacer--hide-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-spacer.spacer.spacer--hide-tablet {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .elementor-widget-spacer.spacer.spacer--hide-desktop {
    display: none !important;
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   INFOGRAFÍA FONDO AZUL CON DIAGONAL SUAVE

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.bg-diagonal-soft{
    position: relative;
    overflow: hidden;
    border-radius: 20px;

    /* Azul claro base */
    background: #EAF2FF;
}

/* Diagonal más centrada y más inclinada */
.bg-diagonal-soft::before{
    content: "";
    position: absolute;
    inset: 0;

    background: #DCE8FF;

    clip-path: polygon(
        0 0,
        60% 0,
        42% 100%,
        0 100%
    );

    z-index: 1;
    pointer-events: none;
}

/* Contenido */
.bg-diagonal-soft > *{
    position: relative;
    z-index: 2;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   TIMELINE: página Conócenos

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.timeline-process {
  position: relative !important;

  width: 100% !important;
  max-width: 1400px !important;

  margin-inline: auto !important;

  padding: 2rem 0 !important;
}

/* =========================================
   LÍNEA CENTRAL
========================================= */

.timeline-line {
  position: absolute !important;

  top: 90px !important;
  bottom: 90px !important;

  left: 50% !important;

  width: 1px !important;

  background: #FF5100 !important;

  transform: translateX(-50%) !important;

  z-index: 5 !important;

  pointer-events: none !important;
}

/* =========================================
   ITEMS
========================================= */

.timeline-item {
  position: relative !important;

  display: flex !important;

  align-items: center !important;

  width: 100% !important;

  margin-bottom: clamp(2rem, 1rem + 3vw, 5rem) !important;

  z-index: 6 !important;
}

.timeline-item:last-child {
  margin-bottom: 0 !important;
}

/* =========================================
   ALTERNANCIA
========================================= */

.timeline-left {
  justify-content: flex-start !important;
}

.timeline-right {
  justify-content: flex-end !important;
}

/* =========================================
   CARD
========================================= */

.timeline-card {
  position: relative !important;

  width: calc(50% - 60px) !important;

  background: #ffffff !important;

  border-radius: 24px !important;

  padding:
    clamp(1.5rem, 1rem + 1vw, 2rem) !important;

  box-shadow:
    0 10px 24px rgba(0,0,0,0.06) !important;

  color: #002158 !important;

  z-index: 7 !important;
}

/* =========================================
   DOT
========================================= */

.timeline-dot {
  position: absolute !important;

  top: 50% !important;
  left: 50% !important;

  width: 18px !important;
  height: 18px !important;

  background: #0053FF !important;

  border-radius: 50% !important;

  transform: translate(-50%, -50%) !important;

  z-index: 8 !important;

  /* separación + aro */

  box-shadow:
    0 0 0 6px #E9EEF9,
    0 0 0 7px #FF5100 !important;
}

/* =========================================
   TÍTULOS
========================================= */

.timeline-card h3 {
  margin-bottom: 0.8rem !important;

  font-size:
    clamp(1.5rem, 1.2rem + 0.8vw, 2.2rem) !important;

  line-height: 1.1 !important;

  color: #002158 !important;
}

/* =========================================
   TEXTO
========================================= */

.timeline-card p {
  margin: 0 !important;

  font-size:
    clamp(1rem, 0.96rem + 0.12vw, 1.08rem) !important;

  line-height: 1.55 !important;

  color: #002158 !important;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 880px) {

  .timeline-line {
    left: 20px !important;

    top: 20px !important;
    bottom: 20px !important;
  }

  .timeline-item {
    justify-content: flex-start !important;

    padding-left: 60px !important;
  }

  .timeline-card {
    width: 100% !important;
  }

  .timeline-dot {
    left: 20px !important;
  }
}

@media (max-width: 880px) {

  .timeline-item {
    margin-bottom: clamp(4rem, 3rem + 3vw, 6rem) !important;
  }

}

/* =========================================
   TIMELINE FADE IN
========================================= */

.timeline-item {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.9s ease,
    transform 0.9s ease;
}

/* estado visible */

.timeline-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* stagger */

.timeline-item:nth-child(2) {
  transition-delay: 0.1s;
}

.timeline-item:nth-child(3) {
  transition-delay: 0.2s;
}

.timeline-item:nth-child(4) {
  transition-delay: 0.3s;
}

.timeline-item:nth-child(5) {
  transition-delay: 0.4s;
}

.timeline-item:nth-child(6) {
  transition-delay: 0.5s;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   IGUALAR ALTURA COLUMNAS EN CONTENEDOR GRID

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.grid-igual-altura {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
}

.grid-igual-altura > .e-con {
    height: 100%;
}

/* CONTENEDOR CON IMAGEN */
.grid-bg {
    height: 100%;
    min-height: 100%;
    background-size: cover;
    background-position: center;
}

/* Responsive <880px */
@media (max-width: 880px) {

    .grid-bg {
        aspect-ratio: 16 / 10;
    }

}

@media (max-width: 480px) {

    .grid-bg {
        aspect-ratio: 4 / 3;
    }

}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   TABS PÁGINA SECTORES Y CASOS DE ÉXITO

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.tabs-listing-fade .jet-listing-grid__items {
  justify-content: center;
}

.tabs-listing-fade .jet-listing-grid__item {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 1.2s ease,
    transform 1.2s ease;
}

.tabs-listing-fade .jet-listing-grid__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}



/* =========================================================

   CARDS SEQUENCE PRO v4
   CSS: aspecto + transición
   JS: secuencia

========================================================= */

.cards-sequence-pro {
  --card-bg: #0053ff;
  --card-radius: 14px;

  --card-scale: 1.03;
  --card-lift: -6px;

  --card-transition: 2200ms cubic-bezier(0.16, 1, 0.3, 1);

  --card-shadow-base: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.12));
  --card-shadow-active: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.20));
}

.cards-sequence-pro {
    cursor: pointer;
}

.cards-sequence-pro .card-sequence-item {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background: transparent !important;
  border-radius: var(--card-radius);
  z-index: 1;
}

.cards-sequence-pro .card-sequence-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  border-radius: inherit;
  background: var(--card-bg);

  transform: translateY(0) scale(1);
  filter: var(--card-shadow-base);

  transition:
    transform var(--card-transition),
    filter var(--card-transition);

  will-change: transform, filter;
}

.cards-sequence-pro .card-sequence-item.is-active::before,
.cards-sequence-pro .card-sequence-item:hover::before {
  transform: translateY(var(--card-lift)) scale(var(--card-scale));
  filter: var(--card-shadow-active);
}

.cards-sequence-pro .card-sequence-item.is-entering::before {
  transform: translateY(calc(var(--card-lift) / 2)) scale(1.025);
  filter: var(--card-shadow-base);
}

.cards-sequence-pro .card-sequence-item::before {
  transition:
    transform var(--card-transition),
    filter var(--card-transition);
}

.cards-sequence-pro .card-sequence-item.is-active::before {
  transform: translateY(var(--card-lift)) scale(var(--card-scale));
  filter: var(--card-shadow-active);
}

/* Responsive */
@media (max-width: 880px) {
  .cards-sequence-pro {
    --card-scale: 1.04;
    --card-lift: -3px;
  }
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {
  .cards-sequence-pro .card-sequence-item::before {
    transition: none;
    transform: none;
    filter: var(--card-shadow-base);
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SUBIR ARCHIVOS - FORMULARIO ELEMENTOR

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* Oculta el input real */
.form-upload-cv .elementor-field-type-upload input[type="file"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}

/* Label superior */
.form-upload-cv .elementor-field-type-upload .elementor-field-label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: #001F5B !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

/* Fila visual */
.form-upload-cv .custom-upload-row {
  display: flex;
  align-items: center;
  gap: 36px;
}

/* Botón falso */
.form-upload-cv .custom-upload-btn {
  background: #C9CBD5;
  color: #001F5B;
  border: 1px solid #AEB2BF;
  border-radius: 5px;
  padding: 14px 24px;
  font-size: 18px;
  font-weight: 400;
  cursor: pointer;
  line-height: 1.2;
}

/* Texto archivo */
.form-upload-cv .custom-upload-name {
  color: #001F5B;
  font-size: 18px;
  line-height: 1.2;
}

/* Ocultar labels reales Elementor */
.form-upload-cv .elementor-field-label {
  display: none !important;
}

/* Texto formatos */
.form-upload-cv .custom-upload-formats {
  margin-bottom: 10px;

  color: #001F5B;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
}

/* Inputs y textarea */
.form-upload-cv .elementor-field:not([type="file"]) {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

/* Placeholder */
.form-upload-cv .elementor-field::placeholder {
  color: #7A8194;
  opacity: 1;
}


/* =========================================================
   FORMULARIO RESPONSIVE MÓVIL
========================================================= */

@media (max-width: 767px) {

  .form-upload-cv,
  .form-upload-cv * {
    box-sizing: border-box;
    max-width: 100%;
  }

  /* Wrapper general */
  .form-upload-cv .elementor-form-fields-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
  }

  /* Campos */
  .form-upload-cv .elementor-field-group {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ======================================================
     UPLOAD
  ====================================================== */

  .form-upload-cv .custom-upload-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;

    width: 100%;
    max-width: 100%;
  }

  .form-upload-cv .custom-upload-btn {
    width: 100%;
    text-align: center;
  }

  .form-upload-cv .custom-upload-name {
    display: block;
    width: 100%;

    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* ======================================================
     ACCEPTANCE
  ====================================================== */

  .form-upload-cv .elementor-field-type-acceptance,
  .form-upload-cv .elementor-field-type-acceptance .elementor-field-subgroup,
  .form-upload-cv .elementor-field-type-acceptance .elementor-field-option {
    width: 100% !important;
    max-width: 100% !important;
  }

  .form-upload-cv .elementor-field-type-acceptance .elementor-field-option {
    display: flex !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
  }

  .form-upload-cv .elementor-field-type-acceptance label {
    flex: 1 1 auto !important;
    min-width: 0 !important;

    overflow-wrap: anywhere;
    word-break: normal;
  }

}


/* ======================================================
     ELIMINAR ARCHIVOS SELECCIONADOS
  ====================================================== */
/* Listado archivos seleccionados */
.form-upload-cv .custom-upload-list {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-upload-cv .custom-upload-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 10px 12px;
  border: 1px solid #C9CBD5;
  border-radius: 6px;
  background: #FFFFFF;

  color: #002158;
  font-size: 16px;
  line-height: 1.3;
}

.form-upload-cv .custom-upload-file-name {
  overflow-wrap: anywhere;
}

/* Botón eliminar archivo */
.form-upload-cv .custom-upload-remove {
  appearance: none;
  border: 0;
  background: transparent;
  color: #FF5100;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
}

/* Botón eliminar todos */
.form-upload-cv .custom-upload-clear {
  margin-top: 12px;

  align-items: center;
  justify-content: center;

  border: 1px solid #FF5100;
  border-radius: 5px;
  background: transparent;
  color: #FF5100;

  padding: 8px 14px;
  font-size: 15px;
  cursor: pointer;

  transition: opacity .2s ease;
}

.form-upload-cv .custom-upload-clear:hover,
.form-upload-cv .custom-upload-remove:hover {
  opacity: .7;
}


/* =========================================================
   AVISO UPLOAD PERSONALIZADO
========================================================= */

.form-upload-cv .custom-upload-error {
  width: 100%;
  margin-top: 12px;
  padding: 12px 16px;

  border-left: 3px solid #FF5100;
  border-radius: 5px;

  background: rgba(255, 81, 0, 0.08);

  color: #002158;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}


/* Respeta el atributo hidden */
.form-upload-cv .custom-upload-error[hidden] {
  display: none !important;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ACCEPTANCE PERSONALIZADO - FORMULARIO ELEMENTOR

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.form-upload-cv .elementor-field-type-acceptance {
  display: flex !important;
  align-items: center !important;
}

/* Oculta label técnico */
.form-upload-cv .elementor-field-type-acceptance > .elementor-field-label {
  display: none !important;
}

/* Subgrupo */
.form-upload-cv .elementor-field-type-acceptance .elementor-field-subgroup {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Cada opción */
.form-upload-cv .elementor-field-type-acceptance .elementor-field-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Checkbox real */
.form-upload-cv .elementor-field-type-acceptance input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;

  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;

  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1.5px solid #C9CBD5 !important;
  border-radius: 6px !important;
  background: #FFFFFF !important;

  position: relative !important;
  cursor: pointer !important;
}

/* Hover */
.form-upload-cv .elementor-field-type-acceptance input[type="checkbox"]:hover {
  border-color: #FF5100 !important;
}

/* Checked */
.form-upload-cv .elementor-field-type-acceptance input[type="checkbox"]:checked {
  border-color: #FF5100 !important;
  background: #FFFFFF !important;
}

/* Check naranja */
.form-upload-cv .elementor-field-type-acceptance input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;

  left: 7px !important;
  top: 3px !important;

  width: 7px !important;
  height: 13px !important;

  border: solid #FF5100 !important;
  border-width: 0 2px 2px 0 !important;

  transform: rotate(45deg) !important;
}

/* Texto aceptación */
.form-upload-cv .elementor-field-type-acceptance label {
  color: #002158 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
}

/* Enlaces */
.form-upload-cv .elementor-field-type-acceptance a {
  color: #002158 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: opacity .2s ease !important;
}

.form-upload-cv .elementor-field-type-acceptance a:hover {
  opacity: .65 !important;
}

/* Separación texto / enlace aceptación */
.form-upload-cv .elementor-field-type-acceptance a {
  margin-left: 6px;
  font-weight: 700;
}

/* Tipografía acceptance */
.form-upload-cv .elementor-field-type-acceptance label,
.form-upload-cv .elementor-field-type-acceptance a {
  font-size: clamp(1.1rem, 1.07rem + 0.15vw, 1.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Formato enlaces texto post-formulario */
.acepto-privacidad-formulario a {
    cursor: pointer;
    color: #002158;
    text-decoration: underline;
    font-weight: 700;
}

.acepto-privacidad-formulario a:hover {
    cursor: pointer;
    color: #FF5100;
    text-decoration: underline;
    font-weight: 700;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ACORDEÓN CERTIFICACIONES: página Conócenos

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* Contenedor general */
.acordeon-certificaciones .e-n-accordion {
    width: 100%;
}

/* El item conserva el truco que elimina la zona fantasma */
.acordeon-certificaciones .e-n-accordion-item {
    display: flex !important;
    flex-direction: column !important;
    position: relative;

    max-width: fit-content !important;

    pointer-events: none;
}

/* Botón */
.acordeon-certificaciones summary.e-n-accordion-item-title {
    display: inline-flex !important;
    width: fit-content !important;

    align-items: center;
    justify-content: center;
    gap: .6em;

    background: #fff !important;
    border: 1px solid #002158 !important;
    border-radius: 10px !important;

    padding: 1.3em 1.9em !important;

    color: #002158 !important;

    cursor: pointer;

    pointer-events: auto;

    transition:
        color .25s ease,
        border-color .25s ease,
        background .25s ease;
}

/* Texto e icono */
.acordeon-certificaciones .e-n-accordion-item-title-text,
.acordeon-certificaciones .e-n-accordion-item-title-icon {
    color: inherit !important;
    transition: inherit;
}

/* Hover */
.acordeon-certificaciones summary.e-n-accordion-item-title:hover {
    border-color: #FF5100 !important;
    color: #FF5100 !important;
}

/* Estado abierto */
.acordeon-certificaciones .e-n-accordion-item[open] summary.e-n-accordion-item-title {
    border-color: #FF5100 !important;
    color: #FF5100 !important;
}

/* Contenido desplegado */
.acordeon-certificaciones [role="region"] {
    width: calc(100vw - 12rem) !important;
    max-width: 100% !important;

    margin-top: 1.5rem;

    pointer-events: auto;
}

/* Opcional: giro suave de la flecha */
.acordeon-certificaciones .e-n-accordion-item-title-icon {
    transition:
        transform .3s ease,
        color .25s ease;
}

.acordeon-certificaciones .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
    transform: rotate(360deg);
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   GRID INFORMES: página Conócenos

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== GRID ===== */
.informes-grid .jet-listing-grid__items {
    border-top: 1px solid #002158;
}

.informes-grid .jet-listing-grid__item {
    border-bottom: 1px solid #002158;
}

/* quitar separación entre items */

.informes-grid .jet-listing-grid__items {
    row-gap: 0 !important;
}


/* ===== HOVER ===== */
.informe-item {
    transition:
        opacity .22s ease,
        transform .22s ease;
}

.informe-item svg {
    transition:
        transform .22s ease,
        opacity .22s ease;
}

/* hover */

.informe-item:hover {
    opacity: .68;
}

/* icono descarga */

.informe-item:hover .icono-descarga svg {
    transform: translateY(2px);
}


/* ===== BUSCADOR: input con lupa ===== */
.buscador-informes .jet-search-filter__input-wrapper {
    position: relative;
    display: inline-block;
}

/* Input */
.buscador-informes .jet-search-filter__input {
    width: 100%;
    min-width: 290px;
    min-height: 58px;

    padding: 1rem 3.4rem 1rem 4rem !important;

    border: 1px solid #002158 !important;
    border-radius: 10px !important;

    background: #FFFFFF !important;

    color: #002158 !important;

    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;

    text-align: left !important;

    outline: none !important;
    box-shadow: none !important;

    transition:
        border-color .25s ease,
        background-color .25s ease,
        box-shadow .25s ease;
}

/* Placeholder */
.buscador-informes .jet-search-filter__input::placeholder {
    color: #002158;
    opacity: 1;
}

/* Hover */
.buscador-informes .jet-search-filter__input:hover {
    background-color: #FAFAFA !important;
}

/* Focus */
.buscador-informes .jet-search-filter__input:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 33, 88, .08) !important;
}

/* Lupa izquierda */
.buscador-informes .jet-search-filter__input-wrapper::before {
    content: "";

    position: absolute;
    left: 1.2rem;
    top: 50%;
    z-index: 2;

    width: 2rem;
    height: 2rem;

    transform: translateY(-70%);

    background-color: #002158;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8 4a6.8 6.8 0 0 1 5.38 10.95l3.43 3.44a1 1 0 0 1-1.42 1.41l-3.43-3.43A6.8 6.8 0 1 1 10.8 4Zm0 2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.8 4a6.8 6.8 0 0 1 5.38 10.95l3.43 3.44a1 1 0 0 1-1.42 1.41l-3.43-3.43A6.8 6.8 0 1 1 10.8 4Zm0 2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Z'/%3E%3C/svg%3E");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-size: contain;
    mask-size: contain;

    pointer-events: none;
}

/* Cruz limpiar derecha */
.buscador-informes .jet-search-filter__input-clear {
    position: absolute !important;

    top: 50% !important;
    right: 1.2rem !important;
    left: auto !important;
    z-index: 3;

    width: 18px !important;
    height: 18px !important;

    transform: translateY(-50%) !important;

    cursor: pointer;
}


/* ===== FOCUS NARANJA ===== */

/* Texto */
.buscador-informes .jet-search-filter__input:focus {
    color: #FF5100 !important;
    border-color: #FF5100 !important;
}

/* Placeholder */
.buscador-informes .jet-search-filter__input:focus::placeholder {
    color: #FF5100;
}

/* Lupa */
.buscador-informes .jet-search-filter__input-wrapper:has(.jet-search-filter__input:focus)::before {
    background-color: #FF5100;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   HOME INFOGRAFÍA PAYMENT FLOW v2.0 Super PRO+

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.ep-payment-flow {
  --pf-blue: #0053FF;
  --pf-dark: #002158;
  --pf-circle-bg: #ffffff;

  --pf-duration: 9.6s;
  --pf-step: 1.6s;

  --pf-circle-size: clamp(108px, 7vw, 120px);
  --pf-icon-size: clamp(40px, 2.8vw, 44px);
  --pf-card-width: clamp(180px, 13vw, 210px);

  --pf-circle-lift: -4.5px;

  position: relative;
  width: 100%;
  padding: clamp(0.5rem, 0.4rem + 0.5vw, 1rem) 0;
  background: transparent;
  overflow: hidden;
  font-family: Inter, sans-serif;
}

.ep-payment-flow,
.ep-payment-flow * {
  box-sizing: border-box;
}

/* ==========================================================
   Track
========================================================== */

.ep-payment-flow__track {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
}

/* SVG line */

.ep-payment-flow__line-svg {
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: var(--pf-circle-size);
  z-index: 0;
  overflow: visible;
  pointer-events: none;
}

.pf-line-base {
  fill: none;
  stroke: rgba(0, 83, 255, 0.22);
  stroke-width: 2;
  stroke-linecap: round;
}

.pf-line-active {
  fill: none;
  stroke: var(--pf-blue);
  stroke-width: 3;
  stroke-linecap: round;
  opacity: 0;
  filter: drop-shadow(0 0 10px rgba(0, 83, 255, 0.28));
  stroke-dasharray: 220;
  stroke-dashoffset: 220;
  animation: pf-line-segment var(--pf-duration) ease-in-out infinite;
}

.pf-line-active--1 { animation-delay: 0s; }
.pf-line-active--2 { animation-delay: 1.6s; }
.pf-line-active--3 { animation-delay: 3.2s; }
.pf-line-active--4 { animation-delay: 4.8s; }
.pf-line-active--5 { animation-delay: 6.4s; }

/* ==========================================================
   Nodes
========================================================== */

.ep-payment-flow__nodes {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(0.75rem, 1vw, 1.25rem);
}

.ep-payment-flow__node {
  min-width: 0;

  display: flex;
  flex-direction: column;
  align-items: center;

  text-align: center;
}

/* ==========================================================
   Circle
========================================================== */

.ep-payment-flow__circle {
  width: var(--pf-circle-size);
  height: var(--pf-circle-size);

  margin-bottom: clamp(1.2rem, 1rem + 0.7vw, 1.45rem);

  border-radius: 50%;
  background: var(--pf-circle-bg);

  display: flex;
  align-items: center;
  justify-content: center;

  box-shadow:
    0 8px 22px rgba(0, 83, 255, 0.06);

  transform: translate3d(0, 0, 0);

  animation: pf-circle var(--pf-duration) ease-in-out infinite;

  will-change: transform, box-shadow;
}

.ep-payment-flow__node:nth-child(1) .ep-payment-flow__circle { animation-delay: 0s; }
.ep-payment-flow__node:nth-child(2) .ep-payment-flow__circle { animation-delay: 1.6s; }
.ep-payment-flow__node:nth-child(3) .ep-payment-flow__circle { animation-delay: 3.2s; }
.ep-payment-flow__node:nth-child(4) .ep-payment-flow__circle { animation-delay: 4.8s; }
.ep-payment-flow__node:nth-child(5) .ep-payment-flow__circle { animation-delay: 6.4s; }
.ep-payment-flow__node:nth-child(6) .ep-payment-flow__circle { animation-delay: 8s; }

/* SVG icon static */

.ep-payment-flow__circle svg {
  width: var(--pf-icon-size);
  height: var(--pf-icon-size);

  stroke: var(--pf-blue);

  transform: none;
  filter: none;
  will-change: auto;
}

.ep-payment-flow__circle svg path,
.ep-payment-flow__circle svg rect,
.ep-payment-flow__circle svg circle {
  stroke: var(--pf-blue);
}

.ep-payment-flow__circle svg circle:not([fill="none"]) {
  fill: var(--pf-blue);
}

/* ==========================================================
   Typography
========================================================== */

.ep-payment-flow__node h3 {
  margin: 0 0 0.65rem;

  color: var(--pf-dark);

  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: clamp(1rem, 0.98rem + 0.1vw, 1.1rem);
  line-height: 1.3;
}

.ep-payment-flow__node p {
  max-width: 190px;
  margin: 0;

  color: var(--pf-dark);

  font-family: Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.35;
}

/* ==========================================================
   Animations
========================================================== */

@keyframes pf-circle {
  0%,
  7%,
  25%,
  100% {
    transform: translate3d(0, 0, 0);

    box-shadow:
      0 8px 22px rgba(0, 83, 255, 0.06);
  }

  14%,
  17% {
    transform: translate3d(0, var(--pf-circle-lift), 0);

    box-shadow:
      0 13px 26px rgba(0, 83, 255, 0.12),
      0 24px 50px rgba(0, 83, 255, 0.07),
      0 0 46px rgba(0, 83, 255, 0.09);
  }
}

@keyframes pf-line-segment {
  0% {
    opacity: 0;
    stroke-dashoffset: 220;
  }

  8% {
    opacity: 1;
  }

  22% {
    opacity: 1;
    stroke-dashoffset: 0;
  }

  34% {
    opacity: 0.22;
    stroke-dashoffset: 0;
  }

  100% {
    opacity: 0;
    stroke-dashoffset: 0;
  }
}

/* ==========================================================
   Responsive · 1280
========================================================== */

@media (max-width: 1280px) {
  .ep-payment-flow {
    --pf-circle-size: clamp(102px, 8vw, 114px);
    --pf-card-width: clamp(165px, 14vw, 195px);
  }
}

/* ==========================================================
   Responsive · 1024
========================================================== */

@media (max-width: 1023px) {
  .ep-payment-flow__line-svg {
    display: none;
  }

  .ep-payment-flow__nodes {
    grid-template-columns: repeat(3, minmax(0, 220px));
    justify-content: center;
    gap: clamp(2.25rem, 4vw, 3rem) 1.5rem;
  }
}

/* ==========================================================
   Responsive · 880
========================================================== */

@media (max-width: 880px) {
  .ep-payment-flow {
    --pf-circle-size: 104px;
    --pf-icon-size: 40px;
  }

  .ep-payment-flow__nodes {
    grid-template-columns: repeat(2, minmax(0, 220px));
    gap: 2.25rem 1.25rem;
  }
}

/* ==========================================================
   Responsive · 480
========================================================== */

@media (max-width: 480px) {
  .ep-payment-flow {
    --pf-circle-size: 100px;
    --pf-icon-size: 38px;

    padding: 2.5rem 0;
  }

  .ep-payment-flow__nodes {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .ep-payment-flow__node {
    width: 100%;
  }

  .ep-payment-flow__node p {
    max-width: 260px;
  }
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   TABS HORIZONTAL SOLUCIONES DE PAGO <1024px

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== TABS ELEMENTOR: forzar fondo transparente en pestañas =====*/
.tabs-horizontal.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs>.e-n-tabs-heading .e-n-tab-title[aria-selected=true] {
    background: transparent !important;
}

.tabs-horizontal.elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs[data-touch-mode=false]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
    background: transparent !important;
}

/* ===== SEPARAR TÍTULO E ICONO ===== */
.elementor-9574 .elementor-element.elementor-element-4fd023a > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ) {
    background: var(--e-global-color-cbde64e);
    justify-content: space-between;
}

.elementor-9574 .elementor-element.elementor-element-4fd023a.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"] {
    justify-content: space-between;
}

.elementor-9574 .elementor-element.elementor-element-4fd023a.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover {
    justify-content: space-between;
}


/* ===== CONTENIDO: FORMATO SEPARADOR NARANJA TÍTULO ===== */
.separador-contenedor-tabs-horizontal .elementor-divider-separator {
    width: 10% !important;
    border-top-width: 4px !important;
    border-top-color: #FF5100 !important;
    border-top-style: solid !important;
}

.separador-contenedor-tabs-horizontal .elementor-divider {
  padding-top: 0.5em !important;
  padding-bottom: 0.3em !important;
}


/* ===== GRID CONTENIDO ===== */
.grid-contenido-tabs-horizontal {
    --display: grid;
    --e-con-grid-template-columns: repeat(1, 1fr);
    --e-con-grid-template-rows: auto 1fr;
    --gap: clamp(1rem, 0.8rem + 1vw, 2rem);
    --row-gap: clamp(1rem, 0.8rem + 1vw, 2rem);
    --column-gap: clamp(1rem, 0.8rem + 1vw, 2rem);
    --grid-auto-flow: row;
    padding: 0 clamp(0.5rem, 0.2rem + 1.5vw, 2rem) 0;
}


/* ===== CAJA CONTENIDO ===== */
.caja-contenido-tabs-horizontal {
    gap: clamp(0.5rem, 0.4rem + 0.5vw, 1rem);
}


/* ===== IMAGEN CONTENIDO ===== */
.imagen-contenido-tabs-horizontal {
    min-height: 30vh !important;
}

@media screen and (max-width: 1024px) {
.imagen-contenido-tabs-horizontal {
    min-height: 45vh !important;
}
}

@media screen and (max-width: 880px) {
.imagen-contenido-tabs-horizontal {
    min-height: 20vh !important;
}
}


/* ===== TEXTO CONTENIDO ===== */
.texto-contenido-tabs-horizontal {
    padding-right: 5%;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   SECCIONES CIFRAS: Métricas en WPCode

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   ANIMACIONES GENERALES: en WPCode

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   VARIOS

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

/* ===== WEGLOT: AJUSTES ===== */
/* Códigos CSS y JS en WPCode */


/* ----- Header: evitar overflow-X ----- */
/* Solo cuando el header NO está en sticky */
header .elementor-sticky:not(.elementor-sticky--active) {
  overflow: hidden;
}

/* Cuando el sticky está activo → permitir dropdowns */
header .elementor-sticky.elementor-sticky--active {
  overflow: visible;
}


/* ===== ICONO LINKEDIN ===== */
.icono-linkedin svg .linkedin-bg {
  fill: #e54900 !important;
  transition: fill 0.25s ease;
}

.icono-linkedin svg .linkedin-icon {
  fill: #ffffff !important;
  transition: fill 0.25s ease;
}

.icono-linkedin:hover svg .linkedin-bg,
.icono-linkedin a:hover svg .linkedin-bg {
  fill: #ffffff !important;
}

.icono-linkedin:hover svg .linkedin-icon,
.icono-linkedin a:hover svg .linkedin-icon {
  fill: #e54900 !important;
}


/* ===== LINK LISTING ITEM REPEATER DE PÁGINA DE OPCIONES ===== */
.link-dynamic-field-repeater a {
    color: #FFFFFF;
}

.link-dynamic-field-repeater a:hover {
    color: #B8B8B8;
}


/* ===== ESPACIADO ENTRE PÁRRAFOS WIDGET TEXTO ELEMENTOR IGUAL A ALTURA DE LÍNEA */
.interlineado-perfecto p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.interlineado-perfecto p:last-child {
    margin-bottom: 0 !important;
}


/* ===== LISTA DE ICONOS CON ICONO DESPUÉS DEL TEXTO ===== */
/* Icono a la derecha */
.icon-list-right .elementor-icon-list-item a,
.icon-list-right .elementor-icon-list-item {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
}

/* Ajuste del espaciado */
.icon-list-right .elementor-icon-list-icon {
    margin-left: 0.6em;
    margin-right: 0 !important;
}

/* Opcional: evitar separación rara del texto */
.icon-list-right .elementor-icon-list-text {
    flex-grow: 0;
}


/* ===== OFICINAS PÁGINA CONÓCENOS ===== */
.ancho-grid-modificado {
    min-width: 40% !important;
}

@media screen and (max-width: 880px) {
.ancho-grid-modificado {
    min-width: 60% !important;
}
}


/* ===== FORZAR TEXTO EN NEGRITA ===== */
.forzar-negrita span {
    font-weight: 700 !important;
}


/* ===== WIDGET TEXTO LIMITAR A TRES LÍNEAS: con elipsis ===== */
.texto-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;

    overflow: hidden;
    text-overflow: ellipsis;
}


/* ===== PRESENCIA MUNDIAL: contenedor Grid Cards ===== */
/* CONTENEDOR GENERAL */
.sedes-dos-columnas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(4rem, 8vw, 10rem);
  position: relative;
}

.sedes-dos-columnas::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1px;
  height: 80%;
  background: #0053FF;
  transform: translate(-50%, -50%);
}

@media (max-width: 880px) {
  .sedes-dos-columnas {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  .sedes-dos-columnas::before {
    display: none;
  }
}


/* CONTENEDOR CARDS */
.ancho-cards-presencia-mundial {
    width: 40% !important;
}

@media screen and (max-width: 1440px) {
.ancho-cards-presencia-mundial {
    width: 30% !important;
}
}

@media screen and (max-width: 1024px) {
.ancho-cards-presencia-mundial {
    width: 40% !important;
}
}

@media screen and (max-width: 480px) {
.ancho-cards-presencia-mundial {
    width: 100% !important;
}
}


/* ===== LISTING GRID: padding-top en mensaje not found */
.jet-listing-not-found {
    padding-top: 2rem !important;
}


/* ===== WYSIWYG ETIQUETAS H: formato */
.wysiwyg-titulos h1,
.wysiwyg-titulos h2,
.wysiwyg-titulos h3,
.wysiwyg-titulos h4,
.wysiwyg-titulos h5,
.wysiwyg-titulos h6 {
  margin: 1lh 0 0.2lh 0 !important;
  padding: 0 !important;
  color: #002158 !important;
}


/* ===== WIDGET TEXTO LISTAS DESORDENADA: formato */
li:last-child {
    background: transparent;
    border: 0;
    font-size: 100%;
    margin-block-end: 1lh;
    margin-block-start: 0;
    outline: 0;
    vertical-align: baseline;
}

.lista-sin-margen-abajo li:last-child {
    margin-block-end: 0;
    margin-block-start: 0;
}


/* ===== LIGHTBOX: forzar no visibilidad de Title y Description */
.dialog-lightbox-widget {
    height: calc(100vh - 32px);
    z-index: 99999;
}
    
.elementor-slideshow__title
 {
    display: none;
}

.elementor-slideshow__description
 {
    display: none;
}


/* ===== GALLERY JET ENGINE (SLIDER LISTING GRID): formato imagen */
/* Card de galería */
.jet-engine-gallery-grid__item {
    border-radius: 20px;
    overflow: hidden;
}

/* Enlace lightbox */
.jet-engine-gallery-item-wrap {
    border-radius: 20px;
    overflow: hidden;
}


/* ===== WIDGET ACORDEÓN: separar izquierda-derecha el título e icono */
.e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
    justify-content: space-between;
}


/* ===== JET SMART FILTER: forzar cursor pointer en dropdown */
.jet-filter-items-dropdown__label {
    cursor: pointer;
}

.jet-filter-items-dropdown__label:after {
    margin-right: 5% !important;
}



/* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   =========================================================
   FIX NAVEGADORES:
   evita que los textos .elementor-screen-only del e-n-menu
   generen altura fantasma debajo del footer.
   No se eliminan: se mantienen disponibles para accesibilidad.
   =========================================================

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */

.elementor-location-header .elementor-screen-only,
.elementor-location-header .screen-reader-text {
  position: fixed !important;

  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;

  width: 1px !important;
  height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;

  transform: none !important;
  border: 0 !important;
}/* End custom CSS */