.elementor-kit-5{--e-global-color-primary:#3D348B;--e-global-color-secondary:#7678ED;--e-global-color-text:#1C1E21;--e-global-color-accent:#F18701;--e-global-color-figwhite1:#FFFFFF;--e-global-color-figblack1:#000000;--e-global-color-figyello1:#F7B801;--e-global-color-figred001:#F35B04;--e-global-color-3426ef8:#FF3131;--e-global-typography-primary-font-family:"Roboto Condensed";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:62px;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Roboto Condensed";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:58px;--e-global-typography-secondary-letter-spacing:-0.48px;--e-global-typography-text-font-family:"Roboto Condensed";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:24px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Roboto Condensed";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:22px;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-figh3001-font-family:"Roboto Condensed";--e-global-typography-figh3001-font-size:40px;--e-global-typography-figh3001-font-weight:400;--e-global-typography-figh3001-line-height:48px;--e-global-typography-figh3001-letter-spacing:-1.6px;--e-global-typography-figh4001-font-family:"Roboto Condensed";--e-global-typography-figh4001-font-size:32px;--e-global-typography-figh4001-font-weight:400;--e-global-typography-figh4001-line-height:35px;--e-global-typography-figh4001-letter-spacing:0px;--e-global-typography-figh5001-font-family:"Roboto Condensed";--e-global-typography-figh5001-font-size:24px;--e-global-typography-figh5001-font-weight:400;--e-global-typography-figh5001-line-height:31px;--e-global-typography-figh5001-letter-spacing:-0.24px;--e-global-typography-figh6001-font-family:"Roboto Condensed";--e-global-typography-figh6001-font-size:20px;--e-global-typography-figh6001-font-weight:400;--e-global-typography-figh6001-line-height:26px;--e-global-typography-figh6001-letter-spacing:-0.2px;--e-global-typography-figblm01-font-family:"Roboto Condensed";--e-global-typography-figblm01-font-size:16px;--e-global-typography-figblm01-font-weight:500;--e-global-typography-figblm01-line-height:24px;--e-global-typography-figbls01-font-family:"Roboto Condensed";--e-global-typography-figbls01-font-size:16px;--e-global-typography-figbls01-font-weight:600;--e-global-typography-figbls01-line-height:24px;--e-global-typography-figbls01-letter-spacing:0.16px;--e-global-typography-figbm001-font-family:"Roboto Condensed";--e-global-typography-figbm001-font-size:14px;--e-global-typography-figbm001-font-weight:400;--e-global-typography-figbm001-line-height:21px;--e-global-typography-figbmm01-font-family:"Roboto Condensed";--e-global-typography-figbmm01-font-size:14px;--e-global-typography-figbmm01-font-weight:500;--e-global-typography-figbmm01-line-height:21px;--e-global-typography-figbms01-font-family:"Roboto Condensed";--e-global-typography-figbms01-font-size:14px;--e-global-typography-figbms01-font-weight:600;--e-global-typography-figbms01-line-height:21px;--e-global-typography-figbs001-font-family:"Roboto Condensed";--e-global-typography-figbs001-font-size:12px;--e-global-typography-figbs001-font-weight:400;--e-global-typography-figbs001-line-height:18px;--e-global-typography-figbsm01-font-family:"Roboto Condensed";--e-global-typography-figbsm01-font-size:12px;--e-global-typography-figbsm01-font-weight:400;--e-global-typography-figbsm01-line-height:18px;--e-global-typography-figbss01-font-family:"Roboto Condensed";--e-global-typography-figbss01-font-size:12px;--e-global-typography-figbss01-font-weight:400;--e-global-typography-figbss01-line-height:18px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:060px;--container-default-padding-right:032px;--container-default-padding-bottom:60px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 16px;--widgets-spacing-row:16px;--widgets-spacing-column:16px;}{}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-kit-5{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:46px;--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-line-height:44px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:24px;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:20px;--e-global-typography-figh3001-font-size:32px;--e-global-typography-figh3001-line-height:40px;--e-global-typography-figh4001-font-size:28px;--e-global-typography-figh4001-line-height:32px;--e-global-typography-figh5001-font-size:22px;--e-global-typography-figh5001-line-height:28px;--e-global-typography-figh6001-font-size:18px;--e-global-typography-figh6001-line-height:24px;--e-global-typography-figblm01-font-size:16px;--e-global-typography-figblm01-line-height:24px;--e-global-typography-figbls01-font-size:16px;--e-global-typography-figbls01-line-height:24px;--e-global-typography-figbm001-font-size:14px;--e-global-typography-figbm001-line-height:21px;--e-global-typography-figbmm01-font-size:14px;--e-global-typography-figbmm01-line-height:21px;--e-global-typography-figbms01-font-size:14px;--e-global-typography-figbms01-line-height:21px;--e-global-typography-figbs001-font-size:12px;--e-global-typography-figbs001-line-height:18px;--e-global-typography-figbsm01-font-size:12px;--e-global-typography-figbsm01-line-height:18px;--e-global-typography-figbss01-font-size:12px;--e-global-typography-figbss01-line-height:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:050px;--container-default-padding-right:24px;--container-default-padding-bottom:50px;--container-default-padding-left:24px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:38px;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:34px;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:20px;--e-global-typography-figh3001-font-size:24px;--e-global-typography-figh3001-line-height:30px;--e-global-typography-figh4001-font-size:22px;--e-global-typography-figh4001-line-height:28px;--e-global-typography-figh5001-font-size:20px;--e-global-typography-figh5001-line-height:26px;--e-global-typography-figh6001-font-size:18px;--e-global-typography-figh6001-line-height:24px;--e-global-typography-figblm01-font-size:15px;--e-global-typography-figblm01-line-height:22px;--e-global-typography-figbls01-font-size:15px;--e-global-typography-figbls01-line-height:22px;--e-global-typography-figbm001-font-size:14px;--e-global-typography-figbm001-line-height:20px;--e-global-typography-figbmm01-font-size:14px;--e-global-typography-figbmm01-line-height:20px;--e-global-typography-figbms01-font-size:14px;--e-global-typography-figbms01-line-height:20px;--e-global-typography-figbs001-font-size:12px;--e-global-typography-figbs001-line-height:18px;--e-global-typography-figbsm01-font-size:12px;--e-global-typography-figbsm01-line-height:18px;--e-global-typography-figbss01-font-size:12px;--e-global-typography-figbss01-line-height:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:040px;--container-default-padding-right:16px;--container-default-padding-bottom:40px;--container-default-padding-left:16px;}}
/* Start custom CSS */p {
    margin: 0px;
}
body {
    max-width: 100vw !important;
    overflow-x: hidden;
}

@keyframes fadeDown {
	from {
    	opacity: 0;
    	transform: translate3d(0,-30px,0)
	}
 
	to {
    	opacity: 1;
    	transform: none
	}
}
 
.elementor-element.fadeInDown {
	animation-name: fadeDown
}
 
@keyframes fadeLeft {
	from {
    	opacity: 0;
    	transform: translate3d(-30px,0,0)
	}
 
	to {
    	opacity: 1;
    	transform: none
	}
}
 
.elementor-element.fadeInLeft {
	animation-name: fadeLeft
}
 
@keyframes fadeRight {
	from {
    	opacity: 0;
   	 transform: translate3d(30px,0,0)
	}
 
	to {
    	opacity: 1;
    	transform: none
	}
}
 
.elementor-element.fadeInRight {
	animation-name: fadeRight
}
 
@keyframes fadeUp {
	from {
    	opacity: 0;
    	transform: translate3d(0,30px,0)
	}
 
	to {
    	opacity: 1;
    	transform: none
	}
}
 
.elementor-element.fadeInUp {
	animation-name: fadeUp
}


/* === Resiliencia Urbana: header overlay + sticky effects === */

/* Header flotante encima del banner (banners llegan al top) */
.elementor-location-header {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: transparent !important;
  pointer-events: none;
}
body.admin-bar .elementor-location-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .elementor-location-header {
    top: 46px;
  }
}
.elementor-location-header .elementor-element {
  pointer-events: auto;
}
.elementor-location-header > .elementor,
.elementor-location-header #box-menu {
  background: transparent !important;
}

/* DESKTOP */
@media (min-width: 1024px) {
  #box-menu {
    padding-block: 20px;
    padding-inline: 150px;
    transition: padding-inline .6s ease,
                padding-block .9s ease,
                border-radius .6s ease;
  }

  #box-menu.elementor-sticky--effects {
    padding-block: 0;
    padding-inline: 0;
    transition: padding-inline .6s ease,
                border-radius .6s ease;
  }

  #menu-container,
  #menu-container .e-con-inner {
    border-radius: 16px;
    transition: border-radius .6s ease;
  }

  #box-menu.elementor-sticky--effects #menu-container,
  #box-menu.elementor-sticky--effects #menu-container .e-con-inner {
    border-radius: 0 !important;
  }
}

/* TABLET */
@media (min-width: 768px) and (max-width: 1023px) {
  #box-menu {
    padding-block: 20px;
    padding-inline: 10px;
    transition: padding-inline .45s ease,
                padding-block .7s ease,
                border-radius .45s ease;
  }

  #box-menu.elementor-sticky--effects {
    padding-block: 0;
    padding-inline: 0;
    transition: padding-inline .45s ease,
                border-radius .45s ease;
  }

  #menu-container,
  #menu-container .e-con-inner {
    border-radius: 50px;
    transition: border-radius .45s ease;
  }

  #box-menu.elementor-sticky--effects #menu-container,
  #box-menu.elementor-sticky--effects #menu-container .e-con-inner {
    border-radius: 0 !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  #box-menu {
    padding-block: 20px;
    padding-inline: 10px;
    transition: padding-inline .4s ease,
                padding-block .65s ease,
                border-radius .4s ease;
  }

  #box-menu.elementor-sticky--effects {
    padding-block: 0;
    padding-inline: 0;
    transition: padding-inline .4s ease,
                border-radius .4s ease;
  }

  #menu-container,
  #menu-container .e-con-inner {
    border-radius: 50px;
    transition: border-radius .4s ease;
  }

  #box-menu.elementor-sticky--effects #menu-container,
  #box-menu.elementor-sticky--effects #menu-container .e-con-inner {
    border-radius: 0 !important;
  }
}

/* === Hotspots + stack === */
.elementor-element-a6fed87 .elementor-repeater-item-0b92a7d { --hotspot-color: #59CDF6 !important; }
.elementor-element-a6fed87 .elementor-repeater-item-fdc506a { --hotspot-color: #FDF308 !important; }
.elementor-element-a6fed87 .elementor-repeater-item-7a82903 { --hotspot-color: #88C641 !important; }
.elementor-element-a6fed87 .elementor-repeater-item-36a69a9 { --hotspot-color: #ED6341 !important; }
.elementor-element-a6fed87 .e-hotspot__outer-circle { opacity: 0.35; }

.elementor-element-a6fed87 .e-hotspot__tooltip {
  --tooltip-color: #ffffff !important;
  background-color: #ffffff !important;
  color: #1C1E21 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.14) !important;
  overflow: visible !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
}
.elementor-element-a6fed87 .e-hotspot--active .e-hotspot__tooltip,
.elementor-element-a6fed87 .e-hotspot:hover .e-hotspot__tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}
/* tip moved — see Hotspot tip block */
.elementor-element-a6fed87 .e-hotspot__tooltip p {
  margin: 0 !important;
  color: #1C1E21 !important;
  white-space: normal !important;
}
.elementor-element-a6fed87 .e-hotspot__tooltip strong {
  font-weight: 700 !important;
}

.componentes-stack {
  padding-bottom: 12vh !important;
}
@media (max-width: 1024px) {
  .componentes-stack { padding-bottom: 8vh !important; }
}
@media (max-width: 767px) {
  .componentes-stack { padding-bottom: 6vh !important; }
}

/* Force full viewport width when expanded */
#box-menu {
  width: 100% !important;
  max-width: 100% !important;
  --width: 100%;
  --max-width: 100%;
}
#box-menu.elementor-sticky--effects {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: 0 !important;
}
#box-menu.elementor-sticky--effects #menu-container,
#box-menu.elementor-sticky--effects #menu-container.e-con,
#box-menu.elementor-sticky--effects #menu-container .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  --border-radius: 0px;
}

/* === Hotspot tip pointing to circle === */
.elementor-element-a6fed87 .e-hotspot__tooltip {
  --tooltip-color: #ffffff !important;
  background-color: #ffffff !important;
  color: #1C1E21 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.14) !important;
  overflow: visible !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
}
.elementor-element-a6fed87 .e-hotspot--active .e-hotspot__tooltip,
.elementor-element-a6fed87 .e-hotspot:hover .e-hotspot__tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}
/* Colita hacia el hotspot (círculo a la izquierda del popup) */
.elementor-element-a6fed87 .e-hotspot__tooltip::after {
  content: "" !important;
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  background: #ffffff !important;
  transform: rotate(45deg) !important;
  z-index: 2 !important;
  left: -6px !important;
  right: auto !important;
  top: 50% !important;
  margin-top: -6px !important;
  box-shadow: -1px 1px 2px rgba(0,0,0,0.06) !important;
}
/* Si Elementor abre el tooltip arriba del punto */
.elementor-element-a6fed87 .e-hotspot--tooltip-animation-from-top .e-hotspot__tooltip::after,
.elementor-element-a6fed87 .e-hotspot--override-tooltip-animation-from-top .e-hotspot__tooltip::after {
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: -6px !important;
  margin-top: 0 !important;
  margin-left: -6px !important;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.06) !important;
}
.elementor-element-a6fed87 .e-hotspot__tooltip p {
  margin: 0 !important;
  color: #1C1E21 !important;
  white-space: normal !important;
}
.elementor-element-a6fed87 .e-hotspot__tooltip strong {
  font-weight: 700 !important;
}


/* === Menu desktop: items a la derecha junto a Contactanos === */
#menu-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#menu-container > .elementor-widget-theme-site-logo,
#menu-container > .elementor-widget-image {
  flex: 0 1 auto !important;
  margin-right: auto !important;
}
#menu-container > .elementor-widget-wcf--nav-menu {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: auto !important;
}
#menu-container > .elementor-widget-button.ru-header-cta,
#menu-container > .elementor-widget-button {
  flex: 0 0 auto !important;
  margin-left: 12px !important;
}
#menu-container .wcf__nav-menu .wcf-nav-menu-main,
#menu-container .wcf__nav-menu ul {
  justify-content: flex-end !important;
}

/* === Scroll: primer contenido visible bajo header fijo === */
html {
  scroll-padding-top: 120px;
}
#sobre-el-proyecto,
#componentes,
#transparencia,
#noticias,
#consultas,
[id="sobre-el-proyecto"],
[id="componentes"],
[id="transparencia"],
[id="noticias"],
[id="consultas"] {
  scroll-margin-top: 120px;
}
@media (max-width: 767px) {
  html { scroll-padding-top: 88px; }
  #sobre-el-proyecto,
  #componentes,
  #transparencia,
  #noticias,
  #consultas {
    scroll-margin-top: 88px;
  }
}

/* === Sticky cards stack === */
.componentes-stack,
.componentes-stack.e-con,
.componentes-stack > .e-con-inner,
.componentes-stack .e-con,
.componentes-stack .e-grid,
.componentes-stack .e-con-inner,
#componentes,
#componentes > .e-con-inner {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  contain: none !important;
}
.componentes-stack .elementor-element-59b331d,
#componentes .elementor-element-59b331d,
.pin-spacer:has(.elementor-element-59b331d) { z-index: 10 !important; position: relative; }
.componentes-stack .elementor-element-9613f33,
#componentes .elementor-element-9613f33,
.pin-spacer:has(.elementor-element-9613f33) { z-index: 20 !important; position: relative; }
.componentes-stack .elementor-element-cf07316,
#componentes .elementor-element-cf07316,
.pin-spacer:has(.elementor-element-cf07316) { z-index: 30 !important; position: relative; }
.componentes-stack .elementor-element-a5f07c1,
#componentes .elementor-element-a5f07c1,
.pin-spacer:has(.elementor-element-a5f07c1) { z-index: 40 !important; position: relative; }

/* Desktop: boton al fondo de la columna */
@media (min-width: 768px) {
  .componentes-stack .elementor-element-45bcc41,
  .componentes-stack .elementor-element-2d90fc8,
  .componentes-stack .elementor-element-71a04af,
  .componentes-stack .elementor-element-3cd1ea7 {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 100% !important;
  }
  .componentes-stack .elementor-element-45bcc41 > .e-con-inner,
  .componentes-stack .elementor-element-2d90fc8 > .e-con-inner,
  .componentes-stack .elementor-element-71a04af > .e-con-inner,
  .componentes-stack .elementor-element-3cd1ea7 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 100% !important;
  }
  .componentes-stack .elementor-element-2784893,
  .componentes-stack .elementor-element-60480e9,
  .componentes-stack .elementor-element-d9fce0e,
  .componentes-stack .elementor-element-6284250 {
    margin-top: auto !important;
  }
  .componentes-stack,
  #componentes { padding-bottom: 40vh !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .componentes-stack,
  #componentes { padding-bottom: 28vh !important; }
}

/* === Mobile cards: full width, column, sin altura forzadas === */
@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  .elementor-location-header,
  #box-menu,
  #menu-container {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
  }
  #box-menu {
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
  }
  #menu-container {
    padding-inline: 12px !important;
  }
  #menu-container > .elementor-widget-wcf--nav-menu {
    margin-left: auto !important;
    width: auto !important;
  }
  #menu-container > .elementor-widget-button {
    display: none !important;
  }

  #componentes,
  .componentes-stack,
  .componentes-stack > .e-con-inner,
  .componentes-stack .e-grid,
  .componentes-stack .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 24px !important;
  }
  .componentes-stack .pin-spacer,
  #componentes .pin-spacer {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin: 0 !important;
  }
  .componentes-stack .elementor-element-59b331d,
  .componentes-stack .elementor-element-9613f33,
  .componentes-stack .elementor-element-cf07316,
  .componentes-stack .elementor-element-a5f07c1 {
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }
  .componentes-stack .elementor-element-45bcc41,
  .componentes-stack .elementor-element-2d90fc8,
  .componentes-stack .elementor-element-71a04af,
  .componentes-stack .elementor-element-3cd1ea7,
  .componentes-stack .elementor-element-45bcc41 > .e-con-inner,
  .componentes-stack .elementor-element-2d90fc8 > .e-con-inner,
  .componentes-stack .elementor-element-71a04af > .e-con-inner,
  .componentes-stack .elementor-element-3cd1ea7 > .e-con-inner {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .componentes-stack .elementor-element-2784893,
  .componentes-stack .elementor-element-60480e9,
  .componentes-stack .elementor-element-d9fce0e,
  .componentes-stack .elementor-element-6284250 {
    margin-top: 16px !important;
  }
  .componentes-stack .elementor-widget-image,
  .componentes-stack .elementor-widget-image img {
    max-width: min(220px, 55vw) !important;
    width: auto !important;
    height: auto !important;
  }
  .componentes-stack .elementor-widget-image {
    align-self: flex-end !important;
    margin-top: 8px !important;
  }
}

/* === Home refinements: hotspots + compact sticky ending === */
/* Remove the artificial 40vh/28vh tail after the sticky-card sequence. */
#componentes,
.componentes-stack {
  padding-bottom: 24px !important;
}

/* Keep all hotspot descriptions visible where there is enough room. */
@media (min-width: 768px) {
  .elementor-element-a6fed87 .e-hotspot__tooltip {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }
  .elementor-element-a6fed87 .e-hotspot {
    z-index: 2 !important;
  }
}
/* === End home refinements === */


/* === Home complaints select repair === */
.elementor-element-7a43efb .elementor-field-type-select .elementor-select-wrapper {
  width: 100% !important;
}
.elementor-element-7a43efb .elementor-field-type-select select.elementor-field {
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 42px 10px 14px !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: #1c1e21 !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis !important;
  appearance: auto !important;
}
.elementor-element-7a43efb .elementor-field-type-select select.elementor-field:focus {
  border-color: #3d348b !important;
  box-shadow: 0 0 0 2px rgba(61,52,139,.12) !important;
  outline: none !important;
}
/* === End home complaints select repair === */


/* === Home primary UI fixes === */
/* Elementor wraps the select; style the actual generated element. */
.elementor-element-7a43efb .elementor-field-type-select .elementor-select-wrapper {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.elementor-element-7a43efb .elementor-field-type-select select.elementor-field-textual {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 44px 0 14px !important;
  margin: 0 !important;
  border: 1px solid #d9dde3 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #1c1e21 !important;
  line-height: 48px !important;
  box-sizing: border-box !important;
  appearance: none !important;
}
.elementor-element-7a43efb .elementor-field-type-select .select-caret-down-wrapper {
  right: 14px !important;
  left: auto !important;
  width: 16px !important;
  color: #3d348b !important;
  pointer-events: none !important;
}
.elementor-element-7a43efb .elementor-field-type-select select:focus {
  outline: none !important;
  border-color: #3d348b !important;
  box-shadow: 0 0 0 2px rgba(61,52,139,.12) !important;
}

/* Counters: equal card height and aligned values. */
.elementor-element-6017e74 {
  align-items: stretch !important;
}
.elementor-element-061cb07,
.elementor-element-f3f5f66,
.elementor-element-640e129,
.elementor-element-061cb07 > .e-con-inner,
.elementor-element-f3f5f66 > .e-con-inner,
.elementor-element-640e129 > .e-con-inner {
  height: 100% !important;
}
.elementor-element-6017e74 .elementor-widget-counter,
.elementor-element-6017e74 .elementor-widget-container,
.elementor-element-6017e74 .elementor-counter {
  height: 100% !important;
}
.elementor-element-6017e74 .elementor-counter {
  display: flex !important;
  flex-direction: column !important;
}
.elementor-element-6017e74 .elementor-counter-title {
  min-height: 4.6em !important;
  margin-bottom: 12px !important;
}
.elementor-element-6017e74 .elementor-counter-number-wrapper {
  margin-top: auto !important;
  align-items: baseline !important;
}

/* Mobile: cancel leftover ScrollTrigger spacer height and compact the work cards. */
@media (max-width: 767px) {
  #componentes .pin-spacer,
  .componentes-stack .pin-spacer {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
    transform: none !important;
  }
  .componentes-stack .elementor-element-59b331d,
  .componentes-stack .elementor-element-9613f33,
  .componentes-stack .elementor-element-cf07316,
  .componentes-stack .elementor-element-a5f07c1 {
    position: relative !important;
    inset: auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 16px !important;
    gap: 8px !important;
  }
  .componentes-stack .elementor-widget-image,
  .componentes-stack .elementor-widget-image img {
    max-width: min(150px, 42vw) !important;
    max-height: 140px !important;
    object-fit: contain !important;
  }
  .componentes-stack .elementor-widget-text-editor p {
    margin-bottom: 8px !important;
  }
  .componentes-stack .elementor-widget-button {
    margin-top: 8px !important;
  }
  .elementor-element-6017e74 .elementor-counter-title {
    min-height: 0 !important;
  }
}
/* === End home primary UI fixes === */

/* === Header interventions submenu fix === */
@media (min-width: 768px) {
  .elementor-location-header,
  .elementor-location-header #box-menu,
  .elementor-location-header #menu-container,
  .elementor-location-header #menu-container > .e-con-inner,
  .elementor-location-header .elementor-element-8395e80,
  .elementor-location-header .elementor-element-8395e80 > .elementor-widget-container,
  .elementor-location-header .wcf__nav-menu.desktop-menu-active,
  .elementor-location-header .wcf__nav-menu.desktop-menu-active .wcf-nav-menu-container,
  .elementor-location-header .wcf__nav-menu.desktop-menu-active .wcf-nav-menu-nav {
    overflow: visible !important;
  }

  .elementor-location-header,
  .elementor-location-header #box-menu,
  .elementor-location-header #menu-container {
    position: relative;
    z-index: 99990 !important;
  }

  .elementor-location-header #menu-item-661 {
    position: relative !important;
  }

  .elementor-location-header #menu-item-661 > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: max-content !important;
    min-width: 270px !important;
    max-width: 340px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: visible !important;
    background: #fff !important;
    border: 1px solid rgba(20, 20, 20, .10) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .14) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 100000 !important;
  }

  .elementor-location-header #menu-item-661:hover > .sub-menu,
  .elementor-location-header #menu-item-661:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .elementor-location-header #menu-item-661 > .sub-menu > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  .elementor-location-header #menu-item-661 > .sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    padding: 10px 14px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    border-radius: 6px !important;
  }

  .elementor-location-header #menu-item-661 > .sub-menu > li > a:hover,
  .elementor-location-header #menu-item-661 > .sub-menu > li > a:focus {
    background: #f4f4f4 !important;
  }
}
/* === End header interventions submenu fix === */

/* === Counter layout clean fix === */
.elementor-element-6017e74 > .elementor-element-061cb07,
.elementor-element-6017e74 > .elementor-element-f3f5f66,
.elementor-element-6017e74 > .elementor-element-640e129,
.elementor-element-6017e74 > .elementor-element-061cb07 > .e-con-inner,
.elementor-element-6017e74 > .elementor-element-f3f5f66 > .e-con-inner,
.elementor-element-6017e74 > .elementor-element-640e129 > .e-con-inner {
 border:0!important;outline:0!important;box-shadow:none!important;
}
.elementor-element-6017e74 .elementor-counter {
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
}
.elementor-element-6017e74 .elementor-counter-number-wrapper {
 order:1!important;width:100%!important;margin:0 0 18px!important;justify-content:flex-start!important;line-height:1.05!important;
}
.elementor-element-6017e74 .elementor-counter-title {
 order:2!important;width:100%!important;margin:0!important;min-height:0!important;text-align:left!important;
}
@media (max-width:767px){
 .elementor-element-6017e74 .elementor-counter-number-wrapper{margin-bottom:12px!important;}
}
/* === End counter layout clean fix === */

/* === Mobile overflow cards counters fix === */
@media (max-width: 767px) {
  html,
  body,
  #page,
  .elementor,
  .elementor-location-single,
  .elementor-page-16 {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .upload-custom-box,
  .upload-custom-content,
  .elementor-field-group-attachments {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .upload-custom-box {
    border-radius: 8px !important;
  }

  #componentes,
  #componentes > .e-con-inner,
  #componentes .elementor-element-52a547c,
  .componentes-stack {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  #componentes .pin-spacer,
  .componentes-stack .pin-spacer {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
  }

  .componentes-stack .elementor-element-59b331d,
  .componentes-stack .elementor-element-9613f33,
  .componentes-stack .elementor-element-cf07316,
  .componentes-stack .elementor-element-a5f07c1 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 12px !important;
    gap: 4px !important;
    margin-bottom: 10px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  .componentes-stack .elementor-element-71a04af,
  .componentes-stack .elementor-element-45bcc41,
  .componentes-stack .elementor-element-2d90fc8,
  .componentes-stack .elementor-element-3cd1ea7,
  .componentes-stack .elementor-element-71a04af > .e-con-inner,
  .componentes-stack .elementor-element-45bcc41 > .e-con-inner,
  .componentes-stack .elementor-element-2d90fc8 > .e-con-inner,
  .componentes-stack .elementor-element-3cd1ea7 > .e-con-inner {
    min-height: 0 !important;
    height: auto !important;
    gap: 5px !important;
  }

  .componentes-stack .elementor-heading-title {
    font-size: clamp(28px, 9vw, 38px) !important;
    line-height: .98 !important;
    margin: 0 !important;
  }

  .componentes-stack .elementor-widget-text-editor,
  .componentes-stack .elementor-widget-text-editor p {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 0 5px !important;
  }

  .componentes-stack .elementor-widget-button {
    margin: 4px 0 0 !important;
    padding: 0 !important;
  }

  .componentes-stack .elementor-button {
    padding: 7px 0 !important;
  }

  .componentes-stack .elementor-widget-image,
  .componentes-stack .elementor-widget-image img {
    width: auto !important;
    max-width: min(105px, 31vw) !important;
    max-height: 95px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .elementor-element-6017e74 > .elementor-element-061cb07,
  .elementor-element-6017e74 > .elementor-element-f3f5f66,
  .elementor-element-6017e74 > .elementor-element-640e129 {
    border: 1px solid #1c1e21 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 16px !important;
    box-sizing: border-box !important;
  }

  .elementor-element-6017e74 > .elementor-element-061cb07 > .e-con-inner,
  .elementor-element-6017e74 > .elementor-element-f3f5f66 > .e-con-inner,
  .elementor-element-6017e74 > .elementor-element-640e129 > .e-con-inner {
    border: 0 !important;
  }

  .elementor-element-6017e74 .elementor-counter-number-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    column-gap: 4px !important;
    overflow-wrap: anywhere !important;
  }
}
/* === End mobile overflow cards counters fix === */

/* === Equal desktop sticky cards === */
@media (min-width: 768px) {
  #componentes .elementor-element-59b331d,
  #componentes .elementor-element-9613f33,
  #componentes .elementor-element-cf07316,
  #componentes .elementor-element-a5f07c1 {
    height: clamp(360px, 52vh, 430px) !important;
    min-height: clamp(360px, 52vh, 430px) !important;
    max-height: clamp(360px, 52vh, 430px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #componentes .elementor-element-59b331d > .e-con-inner,
  #componentes .elementor-element-9613f33 > .e-con-inner,
  #componentes .elementor-element-cf07316 > .e-con-inner,
  #componentes .elementor-element-a5f07c1 > .e-con-inner {
    height: 100% !important;
    min-height: 100% !important;
    align-items: stretch !important;
  }

  #componentes .elementor-widget-image,
  #componentes .elementor-widget-image img {
    max-height: 100% !important;
    object-fit: contain !important;
  }
}
/* === End equal desktop sticky cards === *//* End custom CSS */