.elementor-kit-5{--e-global-color-primary:#15181A;--e-global-color-secondary:#4FC3A0;--e-global-color-text:#5C6366;--e-global-color-accent:#4FC3A0;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:1.14em;--e-global-typography-primary-letter-spacing:-1.6px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-letter-spacing:-0.4px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.85em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{border-style:none;border-radius:2px 2px 2px 2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== GRUPO GESAP — cabecera y pie (tema Hello) ===== */
:root{--gs-tinta:#15181A;--gs-marca:#4FC3A0;--gs-texto:#5C6366;--gs-claro:#F4F6F6;--gs-linea:#E3E6E6}

/* --- Cabecera --- */
.site-header.dynamic-header{position:sticky;top:0;z-index:99;background:#fff;
  border-bottom:1px solid var(--gs-linea)}
.site-header .header-inner{max-width:1240px;margin:0 auto;padding:0 28px;gap:48px;
  align-items:stretch;min-height:88px}
.site-header .site-branding{display:flex;align-items:center;padding:16px 0}
.site-header .site-description{display:none}
.site-header .site-title{margin:0;font-size:0;line-height:0}
.site-header .site-title a{display:block;width:206px;height:44px;
  background-image:url(https://grupogesap.com/wp-content/uploads/2026/07/gesap-logo-horizontal.png);background-size:contain;background-repeat:no-repeat;
  background-position:left center;text-indent:-9999px;overflow:hidden;white-space:nowrap}

.site-header .site-navigation{display:flex;align-items:stretch}
.site-header .site-navigation ul.menu{gap:0;align-items:stretch}
.site-header .site-navigation ul.menu > li{display:flex;align-items:stretch}
.site-header .site-navigation ul.menu > li > a{
  display:flex;align-items:center;position:relative;
  font-family:Inter,-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:15px;font-weight:400;letter-spacing:.005em;color:var(--gs-tinta);
  padding:0 18px;transition:color .18s ease}
/* subrayado fino que crece: el estado activo se ve sin engordar la letra */
.site-header .site-navigation ul.menu > li > a::after{content:"";position:absolute;
  left:18px;right:18px;bottom:30px;height:1px;background:var(--gs-marca);
  transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.site-header .site-navigation ul.menu > li > a:hover,
.site-header .site-navigation ul.menu > li > a:focus-visible{color:var(--gs-tinta)}
.site-header .site-navigation ul.menu > li > a:hover::after{transform:scaleX(1)}
.site-header .site-navigation ul.menu > li.current-menu-item > a{color:var(--gs-tinta)}
.site-header .site-navigation ul.menu > li.current-menu-item > a::after{transform:scaleX(1)}

/* teléfono: separado del resto por un filete vertical */
.site-header .site-navigation ul.menu > li.menu-tel{margin-left:14px;padding-left:22px;
  border-left:1px solid var(--gs-linea)}
.site-header .site-navigation ul.menu > li.menu-tel > a{font-weight:500;font-size:15.5px;
  letter-spacing:.01em;padding:0 6px}
.site-header .site-navigation ul.menu > li.menu-tel > a::after{display:none}

.site-header .site-navigation ul.menu > li.menu-cta{align-items:center;margin-left:16px}
.site-header .site-navigation ul.menu > li.menu-cta > a{
  background:var(--gs-tinta);color:#fff;font-weight:500;padding:14px 28px;border-radius:2px}
.site-header .site-navigation ul.menu > li.menu-cta > a::after{display:none}
.site-header .site-navigation ul.menu > li.menu-cta > a:hover,
.site-header .site-navigation ul.menu > li.menu-cta > a:focus-visible{background:var(--gs-marca);color:var(--gs-tinta)}

/* --- Cabecera en tablet y móvil --- */
.site-header .site-navigation-toggle{background:transparent;border:1px solid var(--gs-linea);
  border-radius:2px;color:var(--gs-tinta);width:46px;height:46px}
.site-header .site-navigation-dropdown{border-top:1px solid var(--gs-linea)}
.site-header .site-navigation-dropdown ul.menu{background:#fff;padding:10px 20px 22px}
.site-header .site-navigation-dropdown ul.menu > li > a{padding:16px 0;font-size:17px;
  border-bottom:1px solid var(--gs-linea)}
.site-header .site-navigation-dropdown ul.menu > li.menu-tel{margin:0;padding:0;border-left:0}
.site-header .site-navigation-dropdown ul.menu > li.menu-tel > a{font-weight:500;color:var(--gs-tinta)}
.site-header .site-navigation-dropdown ul.menu > li.menu-cta > a{margin-top:16px;text-align:center;
  border-bottom:0;padding:16px 24px}

.site-footer.dynamic-footer{background:var(--gs-tinta);padding:62px 28px 48px}
.site-footer .footer-inner{max-width:1240px;margin:0 auto;flex-direction:column;align-items:center;gap:20px}
.site-footer .site-branding{align-items:center}
.site-footer .site-branding::before{content:"";display:block;width:210px;height:44px;
  background-image:url(https://grupogesap.com/wp-content/uploads/2026/07/gesap-logo-horizontal-blanco.png);background-size:contain;background-repeat:no-repeat;
  background-position:center;margin-bottom:12px}
.site-footer .site-description{color:rgba(255,255,255,.7);font-family:Inter,sans-serif;font-size:15px;text-align:center;margin:0}
.site-footer .copyright p{color:rgba(255,255,255,.42);font-family:Inter,sans-serif;font-size:13.5px;text-align:center;margin:0}
/* menú legal del pie */
.site-footer .site-navigation ul.menu{justify-content:center;flex-wrap:wrap;gap:8px 30px;
  padding-top:22px;border-top:1px solid rgba(255,255,255,.12);width:100%;max-width:760px;margin:4px auto 0}
.site-footer .site-navigation ul.menu > li > a{color:rgba(255,255,255,.62);
  font-family:Inter,sans-serif;font-size:14px;transition:color .18s ease}
.site-footer .site-navigation ul.menu > li > a:hover,
.site-footer .site-navigation ul.menu > li > a:focus-visible{color:var(--gs-marca)}

/* --- Fotos de partición: llenan la columna sin deformarse --- */
.gs-foto,.gs-foto .elementor-widget-container,.gs-foto figure,.gs-foto .elementor-image{height:100%}
.gs-foto img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* --- Acordeón: solo filetes horizontales, sin caja --- */
.elementor-accordion .elementor-accordion-item{border-left:0!important;border-right:0!important;border-top:0!important}
.elementor-accordion .elementor-accordion-item:first-child{border-top:1px solid var(--gs-linea)!important}
.elementor-accordion .elementor-tab-title{transition:color .18s ease}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon{float:right;margin-left:auto}
.elementor-accordion .elementor-tab-title.elementor-active{color:var(--gs-tinta)}
/* el h3 del tema pisaba el tamaño del acordeón (salía a 28px/700): se fija aquí */
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-title a,
.elementor-accordion h3.elementor-tab-title{font-family:Inter,sans-serif;font-size:21px;
  font-weight:400;letter-spacing:-.5px;line-height:1.35;margin:0}
@media(max-width:767px){.elementor-accordion .elementor-tab-title,
.elementor-accordion h3.elementor-tab-title{font-size:19px}}

/* listas: el texto lo manda icon_typography; se fija aquí para que no se escape */
.elementor-icon-list-text{font-family:Inter,sans-serif;font-size:17px;line-height:1.7}
@media(max-width:767px){.elementor-icon-list-text{font-size:16.5px}}

/* el botón del carrusel salía con borde blanco de 2px pese a pedirle 0 */
.elementor-slide-button,.elementor-slide-button.elementor-button{border:0!important}

/* cifras: el widget contador se centra por su cuenta y no casaba con el 1976,
   que es un heading. Se alinean todas igual. */
/* El contador reparte prefijo/sufijo con flex:1 y eso CENTRA el número, mientras
   que el 1976 (un texto normal) va a la izquierda. Se igualan los tres. */
.elementor-counter .elementor-counter-number-wrapper{justify-content:flex-start;text-align:left}
.elementor-counter .elementor-counter-number-prefix,
.elementor-counter .elementor-counter-number-suffix{flex:0 0 auto;text-align:left}

body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible{outline:2px solid var(--gs-marca);outline-offset:3px}
.elementor-button{transition:background-color .2s ease,color .2s ease}
img{max-width:100%;height:auto}

@media(max-width:1024px){
  .site-header .header-inner{padding:16px 22px}
  .site-header .site-title a{width:172px;height:36px}
}
@media(max-width:767px){
  .site-header .site-title a{width:150px;height:32px}

  /* --- MÓVIL: botones ordenados, todos del mismo ancho --- */
  .elementor-widget-button{width:100%}
  .elementor-widget-button .elementor-button{width:100%;justify-content:center;
    padding-left:22px;padding-right:22px}
  /* la fila de botones se apila a ancho completo en vez de quedar escalonada */
  .e-con.e-flex > .e-con[style*="auto"],
  .elementor-widget-button .elementor-button-wrapper{width:100%}

  /* --- MÓVIL: carrusel del hero --- */
  .elementor-widget-slides .elementor-swiper-button,
  .elementor-widget-slides .elementor-swiper-button-prev,
  .elementor-widget-slides .elementor-swiper-button-next{display:none!important}
  .elementor-widget-slides .swiper-pagination-bullet{width:7px;height:7px}
  .elementor-widget-slides .elementor-slide-heading{margin-bottom:14px}
  .elementor-widget-slides .elementor-slide-description{margin-bottom:26px}

  /* --- MÓVIL: cifras y listas más compactas --- */
  .elementor-counter .elementor-counter-number-wrapper{justify-content:flex-start}
  .elementor-icon-list-items .elementor-icon-list-item{align-items:flex-start}
  .site-footer.dynamic-footer{padding:48px 20px 38px}
  .site-footer .site-branding::before{width:176px;height:38px}
}

/*GSHF*/
/* ===== HEADER/FOOTER ELEMENTOR (nav-menu) ===== */
.elementor-location-header{position:sticky;top:0;z-index:99;background:#fff;box-shadow:0 1px 0 #E3E6E6}
.elementor-location-header .elementor-nav-menu,.elementor-location-header .elementor-nav-menu>ul{flex-wrap:nowrap!important}
.elementor-nav-menu .elementor-item{font-family:Inter,-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;white-space:nowrap}
.elementor-nav-menu .menu-tel{margin-left:6px;padding-left:20px;border-left:1px solid #E3E6E6;display:flex;align-items:center}
.elementor-nav-menu .menu-tel a.elementor-item{font-weight:500}
.elementor-nav-menu .menu-tel a.elementor-item:before,.elementor-nav-menu .menu-tel a.elementor-item:after{display:none!important}
.elementor-nav-menu .menu-cta{display:flex;align-items:center;margin-left:12px}
.elementor-nav-menu .menu-cta a.elementor-item{background:#15181A;color:#fff!important;border-radius:2px;padding:12px 26px!important}
.elementor-nav-menu .menu-cta a.elementor-item:hover{background:#4FC3A0;color:#15181A!important}
.elementor-nav-menu .menu-cta a.elementor-item:before,.elementor-nav-menu .menu-cta a.elementor-item:after{display:none!important}

/* --- Desplegable MÓVIL/TABLET: ancho completo anclado al header --- */
.elementor-menu-toggle{background:transparent!important;color:#15181A!important}
@media(max-width:1024px){
  .elementor-location-header{position:relative!important}
  .elementor-location-header .e-con,.elementor-location-header .e-con-inner,
  .elementor-location-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-nav-menu__container{position:static!important}
  .elementor-location-header .elementor-nav-menu--dropdown{
    position:absolute!important;left:0!important;right:0!important;width:100%!important;top:100%!important;
    text-align:center!important;background:#fff!important;border-top:1px solid #E3E6E6!important;
    box-shadow:0 20px 40px -18px rgba(18,49,42,.25)!important;z-index:999}
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item{
    justify-content:center!important;text-align:center!important;padding:17px 20px!important;font-size:17px}
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.highlighted,
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:focus,
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--dropdown .current-menu-item>.elementor-item{
    background:transparent!important;color:#4FC3A0!important}
  .elementor-location-header .elementor-nav-menu--dropdown .menu-tel{border-left:0!important;margin:0!important;padding:0!important;justify-content:center!important}
  .elementor-location-header .elementor-nav-menu--dropdown .menu-tel a.elementor-item{font-weight:500;color:#4FC3A0!important}
  .elementor-location-header .elementor-nav-menu--dropdown .menu-cta{margin:0!important;justify-content:center!important}
  .elementor-location-header .elementor-nav-menu--dropdown .menu-cta a.elementor-item{background:transparent!important;color:#15181A!important;font-weight:600;border-radius:0;padding:17px 20px!important}
}

/* --- Kit Digital: logos en BLANCO dentro del pie oscuro --- */
.elementor-location-footer img[src$='.svg']{filter:brightness(0) invert(1);opacity:.9}
@media(max-width:767px){.elementor-location-footer img[src$='.svg']{max-height:40px;width:auto!important}}
/*ENDGSHF*//* End custom CSS */