.elementor-496 .elementor-element.elementor-element-028e538{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:8px;--padding-bottom:8px;--padding-left:8px;--padding-right:8px;}.elementor-496 .elementor-element.elementor-element-028e538:not(.elementor-motion-effects-element-type-background), .elementor-496 .elementor-element.elementor-element-028e538 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0000008C;}.elementor-496 .elementor-element.elementor-element-9d545e5{--display:flex;--justify-content:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-496 .elementor-element.elementor-element-ad0c846{text-align:left;}.elementor-496 .elementor-element.elementor-element-ad0c846 img{width:64%;}.elementor-496 .elementor-element.elementor-element-9e0c655{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-496 .elementor-element.elementor-element-9e0c655:not(.elementor-motion-effects-element-type-background), .elementor-496 .elementor-element.elementor-element-9e0c655 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CA262600;}.elementor-496 .elementor-element.elementor-element-83355b4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;width:100%;max-width:100%;}.elementor-496 .elementor-element.elementor-element-83355b4.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-496 .elementor-element.elementor-element-72dddaf{--display:flex;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-496 .elementor-element.elementor-element-8506f9c .elementor-button{font-family:"Poppins", Sans-serif;font-size:15px;font-weight:400;fill:#FFFFFF;color:#FFFFFF;background-color:#61CE7000;border-style:solid;padding:10px 10px 10px 10px;}.elementor-496 .elementor-element.elementor-element-8506f9c .elementor-button:hover, .elementor-496 .elementor-element.elementor-element-8506f9c .elementor-button:focus{color:#000000;border-color:#02010100;}.elementor-496 .elementor-element.elementor-element-8506f9c .elementor-button:hover svg, .elementor-496 .elementor-element.elementor-element-8506f9c .elementor-button:focus svg{fill:#000000;}.elementor-496 .elementor-element.elementor-element-8506f9c{width:auto;max-width:auto;}.elementor-496 .elementor-element.elementor-element-8506f9c.elementor-element{--align-self:flex-end;}.elementor-496 .elementor-element.elementor-element-7ee5de0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}.elementor-496:not(.elementor-motion-effects-element-type-background), .elementor-496 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}@media(min-width:768px){.elementor-496 .elementor-element.elementor-element-028e538{--content-width:92%;}.elementor-496 .elementor-element.elementor-element-9d545e5{--width:20%;}.elementor-496 .elementor-element.elementor-element-9e0c655{--width:65%;}.elementor-496 .elementor-element.elementor-element-72dddaf{--width:20%;}}/* Start custom CSS for html, class: .elementor-element-83355b4 */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400&display=swap');

.menu-horizontal {
  background-color: transparent;
  padding: 20px 0;
  text-align: center;
}

.menu-horizontal ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.menu-horizontal li {
  position: relative;
}

.menu-horizontal a {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: white;
  text-decoration: none;
  letter-spacing: 0.5px;
  padding-left: 10px;
  transition: color 0.3s ease;
}

/* Línea lateral en items principales */
.menu-horizontal > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 0%;
  width: 2px;
  background-color: white;
  transition: height 0.3s ease;
  opacity: 0.9;
}

/* Hover: activa la línea */
.menu-horizontal > ul > li:hover::before {
  height: 100%;
}

.menu-horizontal a:hover {
  color: #ffffff;
}

/* ---------- SUBMENÚ ---------- */
.menu-horizontal .submenu {
  position: absolute;
  top: calc(100% + 8px);   /* más abajo para coincidir con tu diseño */
  left: 0;
  flex-direction: column;
  min-width: 320px;        /* mismo ancho para ambos */
  z-index: 999;

  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}

/* Cada opción como barra blanca del MISMO ancho */
.menu-horizontal .submenu li {
  background-color: #ffffff;
  width: 100%;
  border-top: 1px solid #000000; /* línea entre recuadros */
}

/* Texto dentro del submenú */
.menu-horizontal .submenu a {
  display: block;
  color: #000000;
  font-size: 13px;
  padding: 10px 14px;
  white-space: nowrap; /* evita saltos de línea */
  text-align: left;
}

/* Hover sin cambiar fondo (mantener estilo original) */
.menu-horizontal .submenu a:hover {
  background-color: #ffffff;
  color: #000000;
}

/* Mostrar con animación */
.menu-horizontal .services-item.open .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8506f9c */#referrealfantasma {
  position: relative;
  overflow: hidden;
  color: white; /* color inicial del texto */
  border: 1px solid white; /* ya tienes el borde, opcional */
  z-index: 1;
  transition: color 0.4s ease; /* transición suave del color del texto */
}

/* Fondo blanco animado de izquierda a derecha */
#referrealfantasma::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: white; /* color del relleno */
  z-index: -1;
  transition: width 0.45s cubic-bezier(0.77, 0, 0.175, 1);
}

/* Hover: el relleno entra de izquierda a derecha y el texto cambia a negro */
#referrealfantasma:hover {
  color: black;
}

#referrealfantasma:hover::before {
  width: 100%;
}

/* Cuando el mouse sale, el relleno se retrae de izquierda a derecha */
#referrealfantasma:not(:hover)::before {
  width: 0%;
  transition: width 0.45s cubic-bezier(0.77, 0, 0.175, 1);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-028e538 *//* Header oculto por defecto */
#smartHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Cuando se activa al hacer scroll */
#smartHeader.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}/* End custom CSS */