.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4093 .elementor-element.elementor-element-877014f{text-align:start;}.elementor-4093 .elementor-element.elementor-element-877014f img{width:80%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-menu-toggle{margin-right:auto;background-color:var( --e-global-color-4a58502 );}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );padding-top:25px;padding-bottom:25px;}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-4a58502 );fill:var( --e-global-color-4a58502 );}.elementor-4093 .elementor-element.elementor-element-fd68bf3 div.elementor-menu-toggle{color:var( --e-global-color-28e736c4 );}.elementor-4093 .elementor-element.elementor-element-fd68bf3 div.elementor-menu-toggle svg{fill:var( --e-global-color-28e736c4 );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-4093 .elementor-element.elementor-element-16f3609{width:20%;}.elementor-4093 .elementor-element.elementor-element-a2054fe{width:79.666%;}}@media(max-width:767px){.elementor-4093 .elementor-element.elementor-element-16f3609{width:80%;}.elementor-4093 .elementor-element.elementor-element-877014f{text-align:start;}.elementor-4093 .elementor-element.elementor-element-877014f img{width:60%;}.elementor-4093 .elementor-element.elementor-element-a2054fe{width:20%;}.elementor-4093 .elementor-element.elementor-element-a2054fe > .elementor-element-populated{margin:20px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main .elementor-item{padding-top:31px;padding-bottom:31px;}.elementor-4093 .elementor-element.elementor-element-fd68bf3{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-4093 .elementor-element.elementor-element-fd68bf3 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:40px !important;}}/* Start custom CSS for nav-menu, class: .elementor-element-fd68bf3 *//* =========================
   HEADER + MENÚ (ACTUALIZADO v2)
   - Hover MENÚ principal: predeterminado Elementor ✅
   - Hover SUBMENÚ: predeterminado Elementor ✅
   - Centrado vertical REAL con el logo (scope solo al header) ✅
   - NO se tocan estilos de CONTACTAR ni .elementor-4093 .elementor-element.elementor-element-fd68bf3 de IDIOMAS ✅
   ========================= */


/* =========================
   CENTRADO REAL EN EL HEADER
   (alinear logo + menú en vertical)
   ========================= */

/* 1) Centra los widgets del header (logo, menú, etc.)
   Elementor suele renderizar el header dentro de .elementor-location-header */
.elementor-location-header .elementor-container{
  display:flex;
  align-items:center;
}

/* 2) Asegura centrado vertical del widget del menú */
.elementor-location-header .elementor-nav-menu--main .elementor-widget-container{
  display:flex;
  align-items:center;
}

/* 3) Asegura centrado vertical del UL */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu{
  display:flex;
  align-items:center;
}

/* 4) Quitamos cualquier “bajado” previo */
.elementor-location-header .elementor-nav-menu--main{
  transform:none !important;
}


/* =========================
   LINKS (estructura sin tocar hover)
   ========================= */

.elementor-location-header .elementor-nav-menu--main a.elementor-item{
  display:inline-flex;
  align-items:center;
  line-height:1.1 !important;
}


/* =========================
   AJUSTES GENERALES MENÚ
   (SIN PISAR HOVER DE ELEMENTOR)
   ========================= */

.elementor-location-header .elementor-nav-menu--main .elementor-item{
  font-weight:600;
  letter-spacing:.2px;
  padding:12px 14px !important;
  border-radius:8px;

  /* IMPORTANTE: no imponemos transiciones para no alterar hover por defecto */
  transition:none !important;
}

/* IMPORTANTE:
   NO añadimos hover personalizado al menú principal para que se vean
   los estilos predeterminados de Elementor.
*/


/* =========================
   BOTÓN CONTACTAR (NO TOCADO)
   ========================= */

.elementor-location-header .elementor-nav-menu--main .menu-contactar-btn > a.elementor-item{
  background:#F0B400 !important;
  color:#0b0b0b !important;
  padding:12px 20px !important;
  border-radius:10px !important;
  font-weight:800 !important;
  letter-spacing:.4px;
  text-transform:uppercase;
  box-shadow:0 10px 18px rgba(0,0,0,.10);
  border:1px solid rgba(0,0,0,.08);
  margin-left:8px;

  transition:background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.elementor-location-header .elementor-nav-menu--main .menu-contactar-btn > a.elementor-item:hover{
  background:#DFA600 !important;
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(0,0,0,.14);
}

.elementor-location-header .elementor-nav-menu--main .menu-contactar-btn > a.elementor-item:active{
  transform:translateY(0px);
  box-shadow:0 8px 14px rgba(0,0,0,.12);
}

.elementor-location-header .elementor-nav-menu--main .menu-contactar-btn > a.elementor-item:focus{
  outline:3px solid rgba(240,180,0,.35);
  outline-offset:3px;
}


/* =========================
   IDIOMAS (NO TOCADO)
   ========================= */

.elementor-location-header .elementor-nav-menu--main .menu-idiomas > a.elementor-item{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10);
  padding:10px 14px !important;
  border-radius:10px !important;
  font-weight:650;
  color:#111 !important;
  display:inline-flex;
  align-items:center;
  gap:8px;

  transition:background-color .2s ease, transform .2s ease !important;
}

.elementor-location-header .elementor-nav-menu--main .menu-idiomas > a.elementor-item:hover{
  background:rgba(0,0,0,.03) !important;
  transform:translateY(-1px);
}

.elementor-location-header .elementor-nav-menu--main .menu-idiomas img{
  height:16px !important;
  width:auto !important;
  display:inline-block;
  vertical-align:middle;
}


/* =========================
   DROPDOWN (ARREGLADO)
   - Permite 3er nivel (sub-submenu) sin cortarse
   - Hover amarillo suave legible
   ========================= */

/* Caja dropdown nivel 2 */
.elementor-location-header .elementor-nav-menu--main .sub-menu{
  border-radius:12px;
  padding:8px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.08);

  /* CLAVE: si está hidden, el nivel 3 se recorta */
  overflow:visible !important;

  /* por seguridad */
  z-index:9999;
}

/* Items del submenu */
.elementor-location-header .elementor-nav-menu--main .sub-menu a{
  border-radius:10px;
  padding:10px 12px !important;
  transition:none !important;
}

/* Hover amarillo (suave, se lee bien) */
.elementor-location-header .elementor-nav-menu--main .sub-menu a:hover{
  background:rgba(240,180,0,.18) !important;
  color:#0b0b0b !important;
}

/* Para que cada LI pueda “anclar” su sub-submenú */
.elementor-location-header .elementor-nav-menu--main .sub-menu li{
  position:relative;
}

/* Sub-submenu (nivel 3): que salga a la derecha */
.elementor-location-header .elementor-nav-menu--main .sub-menu .sub-menu{
  top:0 !important;
  left:100% !important;
  margin-left:10px !important;

  /* misma estética */
  border-radius:12px;
  padding:8px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.08);

  /* CLAVE también aquí */
  overflow:visible !important;

  z-index:10000;
}
/* =========================
   SUBMENÚ - HOVER AMARILLO CEREZO
   ========================= */

.elementor-location-header 
.elementor-nav-menu--main 
.sub-menu a:hover{

  background:rgba(240,180,0,.18) !important; /* amarillo suave */
  color:#0b0b0b !important; /* asegura contraste */
}

/* item activo dentro del submenu */
.elementor-location-header 
.elementor-nav-menu--main 
.sub-menu .current-menu-item > a{

  background:rgba(240,180,0,.22) !important;
  color:#0b0b0b !important;
  font-weight:600;
}


/* =========================
   BOTÓN PRESUPUESTO (más fino / premium)
   ========================= */

.elementor-location-header 
.elementor-nav-menu--main 
.menu-presupuesto-btn > a.elementor-item{

  background:rgba(240,180,0,.08) !important;
  border:1px solid rgba(240,180,0,.38) !important;
  color:#1a1a1a !important;

  padding:11px 16px !important;
  border-radius:10px !important;

  font-weight:700 !important;
  letter-spacing:.2px;

  margin-left:6px;

  box-shadow:none !important;
  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .18s ease,
    box-shadow .22s ease !important;
}

.elementor-location-header 
.elementor-nav-menu--main 
.menu-presupuesto-btn > a.elementor-item:hover{

  background:rgba(240,180,0,.14) !important;
  border-color:rgba(240,180,0,.65) !important;
  color:#0b0b0b !important;

  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.06) !important;
}

.elementor-location-header 
.elementor-nav-menu--main 
.menu-presupuesto-btn > a.elementor-item:active{

  transform:translateY(0);
  box-shadow:none !important;
}

.elementor-location-header 
.elementor-nav-menu--main 
.menu-presupuesto-btn > a.elementor-item:focus{

  outline:3px solid rgba(240,180,0,.20);
  outline-offset:3px;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-26a66cc *//* =========================
   HEADER STICKY - FINAL
   ========================= */

/* contenedor principal del header */
.elementor-location-header{
  position: relative;
  z-index: 9999;
}

/* cuando Elementor activa el sticky */
.elementor-location-header .elementor-sticky--active{

  background:#ffffff !important; /* blanco puro */
  width:100% !important;
  left:0 !important;
  right:0 !important;

  box-shadow:0 8px 24px rgba(0,0,0,.08);

  transition:
    background .25s ease,
    box-shadow .25s ease;
}

/* evitar fondos internos blancos duplicados */
.elementor-location-header .elementor-sticky--active > .elementor-container,
.elementor-location-header .elementor-sticky--active > .e-con,
.elementor-location-header .elementor-sticky--active > .e-con-inner{

  background:transparent !important;
}

/* asegurar que todo quede por encima del contenido */
.elementor-location-header .elementor-sticky--active .elementor-column,
.elementor-location-header .elementor-sticky--active .elementor-widget-wrap,
.elementor-location-header .elementor-sticky--active .elementor-element{

  z-index:9999;
}

/* =========================
   HEADER STICKY - MÁS COMPACTO
   ========================= */

/* menos padding general cuando se activa sticky */
.elementor-location-header .elementor-sticky--active{
  min-height:auto !important;
}

/* reduce espacio vertical de columnas / contenedores */
.elementor-location-header .elementor-sticky--active .elementor-container,
.elementor-location-header .elementor-sticky--active .e-con,
.elementor-location-header .elementor-sticky--active .e-con-inner{
  min-height:auto !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

/* logo más pequeño al hacer scroll */
.elementor-location-header .elementor-sticky--active .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-sticky--active .elementor-widget-image img{
  max-height:78px !important;
  width:auto !important;
  transition:max-height .25s ease;
}

/* items del menú más compactos */
.elementor-location-header .elementor-sticky--active .elementor-nav-menu--main .elementor-item{
  padding:10px 12px !important;
  font-size:15px !important;
}

/* botón CONTACTAR más fino en sticky */
.elementor-location-header .elementor-sticky--active .menu-contactar-btn > a.elementor-item{
  padding:10px 18px !important;
  border-radius:10px !important;
}

/* botón PRESUPUESTO más fino en sticky */
.elementor-location-header .elementor-sticky--active .menu-presupuesto-btn > a.elementor-item{
  padding:9px 16px !important;
  border-radius:10px !important;
}

/* idiomas más compacto */
.elementor-location-header .elementor-sticky--active .menu-idiomas > a.elementor-item{
  padding:8px 12px !important;
}/* End custom CSS */