/* ========================================
   CABEZOTE - Estilos completos
   pinturaelectrostaticacolombia.com
   ======================================== */

/* ========================================
   NEUTRALIZAR WRAPPERS DE JOOMLA / BOOTSTRAP
======================================== */
section#sp-cabezote {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  position: sticky !important;
  top: 0 !important;
  z-index: auto !important;
}

#ascensores-fahenn-contenido,
#section-id-6b2bb672-9a59-4b69-bc26-a4e137868b21,
#services,
#optimice {
  scroll-margin-top: 220px;
}

@media (max-width: 1365px) {
  #ascensores-fahenn-contenido,
  #section-id-6b2bb672-9a59-4b69-bc26-a4e137868b21,
  #services,
  #optimice {
    scroll-margin-top: 90px;
  }
}

@media (min-width: 1024px) {
  section#sp-cabezote {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    position: relative !important;
    top: 0 !important;
    z-index: 941 !important;
  }
}
@media (max-width: 1023px) {
  section#sp-cabezote {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    position: sticky !important;
    top: 0 !important;
  }
}

section#sp-cabezote > .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
section#sp-cabezote .container-inner {
  padding: 0 !important;
  margin: 0 !important;
}
section#sp-cabezote .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}
section#sp-cabezote [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 0 0 100%;
  max-width: 100%;
}
section#sp-cabezote .sp-column,
section#sp-cabezote .sp-module,
section#sp-cabezote .sp-module-content,
section#sp-cabezote .mod-custom {
  padding: 0 !important;
  margin: 0 !important;
}

/* ========================================
   SITE HEADER
======================================== */
/* Alto total del cabezote: 100px (header-inner) + 5px (border-bottom) = 105px */
.site-header {
  background: #fff!important;
  box-shadow: 0 1px 0 var(--border-1);
  transition: box-shadow var(--dur-base);
  width: 100%;
  border-bottom: none !important;
}
.site-header.scrolled {
  box-shadow: 0 4px 28px rgba(0,0,0,0.12);
}
.site-header > .container,
.site-header .container {
  max-width: 1540px !important;
  padding: 0 15px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* 1200px - 1365px */
@media (min-width: 1200px) and (max-width: 1365px) {
  .site-header > .container, .site-header .container {
    max-width: 91.5% !important;
    padding: 0px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .header-logo img {
    height: 100px !important;
    width: auto;
    object-fit: contain;
    object-position: left center;
    display: block;
    margin-top: -25px;
  }
  .header-inner .btn-wa             { display: none !important; }
  .header-inner .btn-primary        { display: none !important; }
  /* .hdr-icon-btn--wa              - visible 1200px-1365px */
  .hdr-icon-btn--location        { display: none !important; }
  .hdr-icon-btn--search          { display: none !important; }        /* Icono Buscar */
  .site-nav .nav-item:nth-child(1)  { display: none !important; }  /* Inicio */
  .site-nav .nav-item:nth-child(2)  { display: flex !important; }  /* Productos Industriales */
  .site-nav .nav-item:nth-child(3)  { display: flex !important; }  /* Impermeabilización Terrazas - Cubiertas */
  .site-nav .nav-item:nth-child(5)  { display: none !important; }  /* Servicios Profesionales */
  .site-nav .nav-item:nth-child(11) { display: none !important; }  /* Buscar */
  .site-nav .nav-item:nth-child(12) { display: none !important; }  /* Contáctenos */
  .nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: 0.2px currentColor;
  transform: translateY(-1px) !important;
}
}
/* 1400px - 1499px */
@media (min-width: 1400px) and (max-width: 1499px) {
  .site-header > .container, .site-header .container {
    max-width: 1570px !important;
    padding: 0px !important;
}
}
/* 1500px - 1599px */
@media (min-width: 1500px) and (max-width: 1599px) {
  .site-header > .container,
  .site-header .container {
    max-width: 1620px !important;
}
}

/* 1400px - 1599px */
@media (min-width: 1400px) and (max-width: 1599px) {
  .header-logo img { height: 100px !important; margin-top: -25px; }
  .site-nav .nav-item:nth-child(1)  { display: none !important; }  /* Inicio */
  .site-nav .nav-item:nth-child(2)  { display: flex !important; }  /* Productos Industriales */
  .site-nav .nav-item:nth-child(3)  { display: flex !important; }  /* Impermeabilización Terrazas - Cubiertas */
  .site-nav .nav-item:nth-child(11) { display: none !important; }  /* Buscar */
  .site-nav .nav-item:nth-child(12) { display: none !important; }  /* Contáctenos */
  .header-inner .btn-wa { display: none !important; }             /* Boton grande WhatsApp */
  .header-inner .btn-primary { display: none !important; }         /* Cotizar */
  .hdr-icon-btn--wa          { display: none !important; }         /* Icono WA */
  .hdr-icon-btn--location    { display: none !important; }         /* Icono Ubicación */
  .hdr-icon-btn--search      { display: flex !important; }         /* Icono Buscar */
  .nav-icon-btns { margin-left: 4px !important; }
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    width: max-content !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* 1600px en adelante: ancho fijo del contenedor */
@media (min-width: 1600px) {
  .site-header > .container,
  .site-header .container {
    width: min(100%, 1540px) !important;
    max-width: 1540px !important;
  }
.scrolled .header-logo img {
    height: 64px !important;
  }
}

/* 1600px - 1919px: ocultar ítems de nav + Cotizar + iconos circulares WA y Location */
@media (min-width: 1600px) and (max-width: 1919px) {
  .site-nav .nav-item:nth-child(1)  { display: flex !important; }  /* Perfil Empresarial */
  .site-nav .nav-item:nth-child(2)  { display: flex !important; }  /* Productos Industriales */
  .site-nav .nav-item:nth-child(3)  { display: flex !important; }  /* Impermeabilización Terrazas - Cubiertas */
  .site-nav .nav-item:nth-child(11) { display: none !important; }  /* Buscar */
  .site-nav .nav-item:nth-child(12) { display: none !important; }  /* Contáctenos */
  .header-inner .btn-wa             { display: none !important; }  /* Boton grande WhatsApp */
  .header-inner .btn-primary        { display: none !important; }  /* Cotizar */
  .hdr-icon-btn--wa                 { display: flex !important; }  /* Icono circular WhatsApp */
  .hdr-icon-btn--location           { display: none !important; }  /* Icono circular Ubicación */
}

/* 1920px en adelante */
@media (min-width: 1920px) {
  .site-header > .container,
  .site-header .container {
    width: 1760px !important;
    max-width: 1760px !important;
  }
  /* Ocultar ítems de nav que no aparecen en esta vista */
  .site-nav .nav-item:nth-child(1)  { display: flex !important; } /* Perfil Empresarial */
  .site-nav .nav-item:nth-child(11) { display: none !important; } /* Buscar */
  .site-nav .nav-item:nth-child(12) { display: none !important; } /* Contáctenos */
  /* Ocultar iconos circulares innecesarios */
  .hdr-icon-btn--wa       { display: none !important; }
  .hdr-icon-btn--location { display: none !important; }
  /* Espaciado del header-inner */
  .header-inner {
  gap: 12px; }
  /* Phone pill más compacto */
  /* Botones pill */
  .header-inner .btn-sm { padding: 10px 18px; }
  .header-inner .btn-primary { padding: 10px 18px !important; }
  /* Nav sin gaps, padding ajustado */
  .nav-list { gap: 2px; }
  .nav-link { padding: 13px 10px 7px !important; }
  /* Botones icono */
  .nav-icon-btns { gap: 8px; margin-left: 6px; }
  .hdr-icon-btn { width: 48px; height: 48px; }
}

/* ========================================
   HEADER INNER
======================================== */
/* 100px de contenido + 5px border-bottom del site-header = 105px totales */
.header-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100px;
  overflow: visible;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.site-nav {
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ========================================
   LOGO
======================================== */
.header-logo {
  flex-shrink: 0;
  display: block;
  line-height: 0;
  text-decoration: none;
}
.header-logo img {
  height: 100px;
  width: auto;
  object-fit: contain;
  object-position: left center;
  display: block;
  margin-top: -25px;
}
.header-logo-fallback {
  display: none;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
  color: var(--text-1);
}
.header-logo-fallback em {
  font-style: normal;
  color: var(--orange);
  display: block;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* ========================================
   PHONE PILL
======================================== */

/* ========================================
   BOTONES
======================================== */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: var(--r-full);
  font-family: 'Barlow', sans-serif;
  font-size: 1.00rem; font-weight: 600; letter-spacing: 0.02em;
  transition: all var(--dur-base) var(--ease);
  white-space: nowrap; cursor: pointer;
  border: 1.5px solid transparent;
  text-decoration: none;
}
.btn-primary {
  background: #FFC72C;
  color: #000;
  border-color: #D59B02;
  text-transform: uppercase;
}
.btn-primary:hover {
  background: #111; border-color: #999;
  transform: translateY(-2px); color: #fff;
  text-transform: uppercase;
}
.btn-ghost {
  background: transparent; color: var(--text-1); border-color: var(--border-2);
}
.btn-ghost:hover {
  background: var(--bg-1); border-color: var(--border-3); transform: translateY(-2px);
}
.btn-wa {
  background: #25D366; color: #fff; border-color: #25D366;
}
.btn-wa:hover { background: #1ebe59; transform: translateY(-2px); color: #fff; }
.header-inner .btn-wa i { font-size: 2.3rem; }
.header-inner .btn-primary { padding: 12px 0px !important; text-transform: uppercase !important; }
.header-inner .btn-primary i { font-size: 1.6rem; }
.header-inner .btn-wa { text-transform: uppercase !important; }
.btn-sm { padding: 7px 14px; font-size: 0.84rem; }
.header-inner .btn-sm { padding: 6px 16px 6px 10px; font-size: 0.88rem; }
.header-inner .cotizar-trigger {
  width: 140px !important;
  height: 40px !important;
  min-width: 140px !important;
  padding: 0 !important;
  background: #FFC72C !important;
  border: 1px solid #D59B02 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  color: #000 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
  text-transform: uppercase !important;
  font-family: "Inter",system-ui,sans-serif;
}
.header-inner .cotizar-trigger .arrow {
  color: #000;
}
.header-inner .cotizar-trigger:hover {
  background: #FFF !important;
  border-color: #999 !important;
  color: #000 !important;
}
.header-inner .cotizar-trigger:hover .arrow {
  color: #000;
}

.header-inner .asesoria-trigger {
  width: 140px !important;
  height: 40px !important;
  min-width: 140px !important;
  padding: 0 !important;
  background: #1C1C1C !important;
  border: 1px solid #FFC72C !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  color: #FFC72C !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
  text-transform: uppercase !important;
  font-family: "Inter",system-ui,sans-serif;
}
.header-inner .asesoria-trigger .arrow {
  color: #FFC72C;
}
.header-inner .asesoria-trigger:hover {
  background: rgb(255, 199, 44) !important;
  border-color: rgb(213, 155, 2) !important;
  color: rgb(0, 0, 0) !important;
}
.header-inner .asesoria-trigger:hover .arrow {
  color: #000;
}

/* ========================================
   NAVEGACIÓN PRINCIPAL - lista
======================================== */
.nav-list {
  display: flex;
  align-items: stretch;
  gap: 1px;
  height: 100px;
  width: auto;
  list-style: none;
  padding: 0; margin: 0;
  font-family: 'Barlow', sans-serif;
}

/* ========================================
   NAV ITEM
======================================== */
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

/* ========================================
   NAV LINK - estilo cerrajería
   Hover/activo: fondo naranja sólido, texto blanco
   Cuando tiene dropdown abierto: bordes redondeados arriba
======================================== */
.nav-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  padding: 3px 6px 6px !important;
  border-radius: 5px;
  color: #fff;
  white-space: nowrap;
  transition: all 0.3s;
  text-decoration: none;
  height: 93px;
  box-sizing: border-box;
  line-height: 1 !important;
  text-align: center;
  position: relative;
  margin-top: 5px;
}
.nav-link:hover,
.nav-link.active {
  background: var(--orange);
  color: #fff;
}
.nav-link:hover .nav-label__main,
.nav-item:hover > .nav-link .nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #000 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: 0.2px currentColor;
  transform: translateY(-1px) !important;
}
/* Cuando el item tiene dropdown y está en hover: redondear solo arriba */
.nav-item:hover > .nav-link {
  background: #FFC72C;
  color: #000;
  border-radius: 5px 5px 0 0;
}

/* Líneas del label (main + sub) */
.nav-menu-icon {
  font-size: 20px !important;
  color: #FFC72C !important;
  line-height: 1 !important;
  display: block !important;
  margin-bottom: 2px !important;
  flex-shrink: 0 !important;
  transition: color var(--dur-fast);
  -webkit-text-stroke: 0 !important;
  transform: translateY(-4px) !important;
}
.nav-link:hover .nav-menu-icon,
.nav-item:hover > .nav-link .nav-menu-icon {
  font-size: 20px !important;
  color: #000 !important;
  line-height: 1 !important;
  display: block !important;
  margin-bottom: 2px !important;
  flex-shrink: 0 !important;
  transition: color var(--dur-fast);
  -webkit-text-stroke: 0 !important;
  transform: translateY(-4px) !important;
}
.nav-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transform: translateY(2px) !important;
}
.nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: currentColor;
  transform: translateY(-1px) !important;
}
.nav-label__sub {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #FFC72C !important;
  opacity: 1;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  transition: opacity var(--dur-fast);
  -webkit-text-stroke: 0;
  transform: translateY(1px) !important;
}

/* Font-size reducido 1200px-1365px - va DESPUÉS de las reglas base para ganar el !important */
@media (min-width: 1200px) and (max-width: 1365px) {
  .nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: 0.2px currentColor;
  transform: translateY(-1px) !important;
}
}

/* Font-size reducido 1366px-1599px - va DESPUÉS de las reglas base para ganar el !important */
@media (min-width: 1366px) and (max-width: 1599px) {
  .nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: currentColor;
  transform: translateY(-1px) !important;
}
}
/* Al hacer hover (fondo naranja): sub visible al 100% */
.nav-item:hover > .nav-link .nav-label__sub,
.nav-link.active .nav-label__sub {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #FFC72C !important;
  opacity: 1;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  transition: opacity var(--dur-fast);
  -webkit-text-stroke: 0;
  transform: translateY(1px) !important;
}

/* Flechita hacia abajo - solo en items que tienen dropdown */
.nav-arrow {
  font-size: 0.65rem !important;
  color: var(--orange) !important;
  display: block !important;
  align-self: center;
  margin: 3px 0 0 0;
  flex-shrink: 0;
  line-height: 1;
  transition: transform var(--dur-base) var(--ease), color 0.3s;
  -webkit-text-stroke: 0.5px currentColor !important;
}
.nav-item:hover > .nav-link .nav-arrow {
  transform: rotate(180deg);
  color: #000 !important;
}
/* Sin flechita en iconos */
.nav-link--icon .nav-arrow { display: none !important; }

/* -- Ícono-only (Inicio / Contacto) -- */
.nav-link--icon {
  width: 54px;
  height: 54px;
  padding: 0;
  border: 3px solid rgba(240,78,35,0.45);
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  font-size: 28px;
  color: transparent;
  transition: border-color var(--dur-fast);
  text-decoration: none;
  flex-shrink: 0;
  margin: 0 4px;
  box-sizing: border-box;
}
.nav-link--icon i {
  font-size: 26px;
  color: transparent;
  -webkit-text-stroke: 1.2px var(--text-1);
  transition: -webkit-text-stroke-color var(--dur-fast), color var(--dur-fast);
}
.nav-link--icon:hover i   { -webkit-text-stroke-color: var(--orange); }
.nav-link--icon.active i  { -webkit-text-stroke-color: var(--orange); }

/* Inicio - casa con outline oscuro */
.nav-link--icon[title="Inicio"] i {
  font-size: 24px;
  -webkit-text-stroke: 2.5px var(--text-1);
  color: transparent !important;
}
.nav-link--icon[title="Inicio"]:hover i {
  -webkit-text-stroke: 2.5px #000 !important;
  color: transparent !important;
}
.nav-link--icon[title="Inicio"].active i {
  -webkit-text-stroke-color: var(--orange) !important;
}

/* Contacto - sobre relleno naranja */
.nav-link--icon[title="Contáctenos"] i {
  -webkit-text-stroke: 0 !important;
  color: var(--orange) !important;
  font-size: 22px;
}
.nav-link--icon[title="Contáctenos"]:hover i {
  color: #000 !important;
}

/* Hover ambos: borde oscuro */
.nav-link--icon[title="Inicio"]:hover,
.nav-link--icon[title="Contáctenos"]:hover {
  border-color: rgba(0,0,0,0.45) !important;
}

/* Anular hover naranja del nav-item padre - mantener borde circular */
.nav-item:hover > .nav-link--icon {
  background: transparent !important;
  border-radius: 50% !important;
  color: transparent !important;
}
.nav-link--icon::after { display: none !important; }

/* ========================================
   DROPDOWN
   Alineado al borde izquierdo del item padre,
   conexión fluida con el fondo naranja del hover
======================================== */
.nav-item .dropdown {
  display: none !important;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-top: 3px solid var(--orange);
  box-shadow: 0 8px 30px rgba(0,0,0,0.15);
  list-style: none;
  margin: 0;
  padding: 8px 0;
  min-width: 260px;
  z-index: 10000;
  border-radius: 0 0 8px 8px;
}
.nav-item:hover .dropdown {
  display: none !important;
}
/* Últimos ítems: alinear a la derecha para no salirse de pantalla */
.nav-item:last-child .dropdown,
.nav-item:nth-last-child(2) .dropdown,
.nav-item:nth-last-child(3) .dropdown {
  left: auto;
  right: 0;
  transform: none;
}

/* Items del dropdown */
.nav-item .dropdown li a {
  display: block !important;
  padding: 9px 20px !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #242B3A !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.2s, color 0.2s !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  line-height: 1 !important;
  background: transparent !important;
}
.nav-item .dropdown li:last-child a {
  border-bottom: none !important;
}
.nav-item .dropdown li a:hover {
  background: var(--orange) !important;
  color: #fff !important;
}

/* ========================================
   HAMBURGER (móvil)
======================================== */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 40px; height: 40px;
  padding: 9px;
  border-radius: var(--r-md);
  border: 1.5px solid var(--border-2);
  background: var(--bg-1);
  transition: all var(--dur-fast);
  cursor: pointer;
}
.hamburger:hover { border-color: var(--orange); background: var(--orange-muted); }
.hamburger:hover span { background: #000; }
.hamburger span {
  display: block;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: all var(--dur-base) var(--ease);
  transform-origin: center;
}
.hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(4.5px,4.5px); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(4.5px,-4.5px); }

/* ========================================
   MOBILE NAV OVERLAY
======================================== */
.nav-overlay {
  position: fixed; inset: 0; z-index: 99998;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
  opacity: 0; pointer-events: none;
  transition: opacity var(--dur-base);
}
.nav-overlay.open { opacity: 1; pointer-events: all; }

@media (max-width: 1023px) {
  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--dur-base);
  }
}

/* ========================================
   MOBILE NAV PANEL
======================================== */
.mobile-nav {
  position: fixed; top: 0; right: 0;
  width: min(380px, 92vw); height: 100dvh; z-index: 99999;
  background: var(--bg-0);
  border-left: 1px solid var(--border-1);
  box-shadow: -12px 0 48px rgba(0,0,0,0.14);
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.42s var(--ease);
  overflow-y: auto;
}
.mobile-nav.open { transform: none; }

.mobile-nav__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px; border-bottom: 1px solid var(--border-1);
}
.mobile-nav__head img {
  object-fit: contain;
  margin: auto;
  width: 180px;
  height: auto;
}
.mobile-nav__close {
  width: 36px; height: 36px; border-radius: var(--r-md);
  background: var(--bg-1); border: 1.5px solid var(--border-1);
  color: var(--text-2);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.02rem; transition: all var(--dur-fast); cursor: pointer;
}
.mobile-nav__close:hover { background: var(--orange); border-color: var(--orange); color: #fff; }

.mobile-nav__info {
  background: var(--bg-dark);
  padding: 14px 20px;
  display: grid; gap: 8px;
}
.mobile-nav__info-item {
  display: flex; align-items: center; gap: 10px;
  font-size: 0.90rem; color: rgba(255,255,255,0.5);
}
.mobile-nav__info-item i   { color: var(--orange); font-size: 0.82rem; width: 14px; }
.mobile-nav__info-item a   { color: rgba(255,255,255,0.7); text-decoration: none; }
.mobile-nav__info-item a:hover { color: #fff; }
.mobile-nav__info-item--location {
  align-items: flex-start !important;
}
.mobile-nav__info-item--location i {
  margin-top: 3px !important;
  flex: 0 0 14px !important;
}
.mobile-nav__info-item--hours {
  align-items: flex-start !important;
}
.mobile-nav__info-item--hours i {
  margin-top: 3px !important;
  flex: 0 0 14px !important;
}

.mobile-nav-list { padding: 8px; flex: 1; list-style: none; margin: 0; }
.mobile-nav-list li a {
  display: flex; align-items: center; gap: 14px; padding: 12px 14px;
  border-radius: var(--r-md); color: var(--text-2);
  font-size: 1.02rem; font-weight: 600; transition: all var(--dur-fast);
  text-decoration: none;
}
.mobile-nav-list li a i { width: 20px; text-align: center; color: var(--text-3); font-size: 0.96rem; flex-shrink: 0; }
.mobile-nav-list li a:hover,
.mobile-nav-list li a.active { color: var(--text-1); background: var(--bg-1); }
.mobile-nav-list li a:hover i,
.mobile-nav-list li a.active i { color: var(--orange); }

/* -- Acordeón móvil -- */
.mobile-nav-list { padding: 8px; flex: 1; list-style: none; margin: 0; }

.mobile-nav-item { border-bottom: 1px solid var(--border-1); }
.mobile-nav-item:last-child { border-bottom: none; }

.mobile-nav-link,
.mobile-nav-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px 14px;
  border-radius: var(--r-md);
  color: var(--text-2);
  font-family: 'Barlow', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: all var(--dur-fast);
}
.mobile-nav-link i,
.mobile-nav-btn i:first-child {
  width: 20px;
  text-align: center;
  color: var(--text-3);
  font-size: 0.96rem;
  flex-shrink: 0;
}
.mobile-nav-link:hover,
.mobile-nav-btn:hover {
  color: var(--text-1);
  background: var(--bg-1);
}
.mobile-nav-link:hover i,
.mobile-nav-btn:hover i:first-child { color: var(--orange); }

/* Chevron del acordeón */
.mobile-nav-chevron {
  margin-left: auto;
  font-size: 0.82rem;
  color: var(--text-3);
  transition: transform 0.25s;
  flex-shrink: 0;
}
.mobile-nav-item--open > .mobile-nav-btn .mobile-nav-chevron {
  transform: rotate(180deg);
  color: var(--orange);
}
.mobile-nav-item--open > .mobile-nav-btn {
  color: var(--text-1);
  background: var(--bg-1);
}

/* Sub-menú */
.mobile-nav-sub {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 0 6px 44px;
}
.mobile-nav-item--open > .mobile-nav-sub { display: block; }
.mobile-nav-sub li a {
  display: block;
  padding: 8px 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-3);
  text-decoration: none;
  border-radius: var(--r-md);
  transition: all var(--dur-fast);
  line-height: 1.3;
}
.mobile-nav-sub li a:hover {
  color: var(--orange);
  background: var(--bg-1);
}
/* Bullet naranja */
.mobile-nav-sub li a::before {
  content: '>';
  color: var(--orange);
  margin-right: 6px;
  font-weight: 700;
}

.mobile-nav-section-title {
  padding: 16px 14px 4px;
  font-size: 0.73rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-3);
}
.mobile-nav__footer {
  padding: 16px; border-top: 1px solid var(--border-1);
  display: grid; gap: 10px;
}

/* ========================================
   BOTONES ICONO CIRCULARES (Email, WA, Buscar, Ubicación)
======================================== */
.nav-icon-btns {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 0;
}
.hdr-icon-btn {
  width: 52px; height: 52px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  transition: all 0.3s;
  flex-shrink: 0;
  cursor: pointer;
  border: 2px solid rgba(0,0,0,0.15);
  background: transparent;
  overflow: hidden;
  box-sizing: border-box;
}
.hdr-icon-btn img {
  width: 26px; height: 26px;
  object-fit: contain;
}

/* Email - círculo naranja relleno */
.hdr-icon-btn--email {
  background: #FFC72C;
  border-color: #D59B02;
}
.hdr-icon-btn--email:hover {
  background: #FFF;
  border-color: #999;
  transform: scale(1.08);
}

/* WhatsApp - círculo verde relleno */
.hdr-icon-btn--wa {
  background: #25D366;
  border-color: #25D366;
  color: #fff;
  font-size: 1.6rem;
}
.hdr-icon-btn--wa:hover {
  background: #1ebe59;
  border-color: #1ebe59;
  transform: scale(1.08);
  color: #fff;
}

/* Buscar - círculo con borde */
.hdr-icon-btn--search { border-color: #FFF !important; }
.hdr-icon-btn--search .icon-default { display: block; filter: brightness(0) invert(1); }
.hdr-icon-btn--search .icon-hover   { display: none; }
.hdr-icon-btn--search:hover { border-color: #FFC72C !important; transform: scale(1.08); }
.hdr-icon-btn--search:hover .icon-default { display: none; }
.hdr-icon-btn--search:hover .icon-hover   { display: block; }

/* Ubicación - círculo con borde */
.hdr-icon-btn--location .icon-default { display: block; }
.hdr-icon-btn--location .icon-hover   { display: none; }
.hdr-icon-btn--location:hover { border-color: var(--orange); transform: scale(1.08); }
.hdr-icon-btn--location:hover .icon-default { display: none; }
.hdr-icon-btn--location:hover .icon-hover   { display: block; }

/* ========================================
   RESPONSIVE
======================================== */
/* -- Tablet horizontal (1024px - 1199px): nav visible, texto un poco más compacto -- */
@media (min-width: 1024px) and (max-width: 1199px) {
  .site-header > .container, .site-header .container {
    padding: 0px !important;
    max-width: 1140px !important;
}




  .nav-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0;
    padding: 2px 6px 7px !important;
    border-radius: 5px;
    color: #080808;
    white-space: nowrap;
    transition: all 0.3s;
    text-decoration: none;
    height: 93px;
    box-sizing: border-box;
    line-height: 1 !important;
    text-align: center;
    position: relative;
    margin-top: 5px;
  }
  .nav-label__main {
  font-family: "Poppins", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  display: block !important;
  -webkit-text-stroke: 0.2px currentColor;
  transform: translateY(-1px) !important;
}
}
@media (min-width: 1024px) and (max-width: 1599px) {
.scrolled .header-logo img {
  height: 60px!important;
  margin-top: -5px;
}
}

/* -- 1080px - 1129px: mostrar icono ubicación -- */
@media (min-width: 1080px) and (max-width: 1129px) {
  .hdr-icon-btn--location { display: flex !important; }
}

/* -- 1130px - 1199px: mostrar icono WA circular -- */
@media (min-width: 1130px) and (max-width: 1199px) {
  .hdr-icon-btn--wa       { display: flex !important; }
  .hdr-icon-btn--location { display: flex !important; }
}

/* -- 1140px - 1199px: mostrar Nuestra Empresa -- */
@media (min-width: 1140px) and (max-width: 1199px) {
  .site-nav .nav-item:nth-child(2) { display: flex !important; } /* Nuestra Empresa */
}

/* -- Tablet vertical + Celular horizontal + Celular vertical (<= 1023px): hamburger -- */
/* Alto total: 70px (header-inner) + 5px (border-bottom) = 75px */
@media (max-width: 1023px) {
  .site-nav { display: none; }
  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 11px 8px;
    border-radius: var(--r-md);
    border: 1.5px solid var(--border-2);
    background: #141414;
    transition: all var(--dur-fast);
    cursor: pointer;
  }
  .header-inner {
  justify-content: space-between; height: 70px; }
  .header-logo img {
    height: 100px !important;
    width: auto;
    object-fit: contain;
    object-position: left center;
    display: block;
    margin-top: -25px;
  }
}

/* -- 850px - 1023px -- */
@media (min-width: 850px) and (max-width: 949px) {
  .header-inner .btn-wa { display: none !important; } /* Botón texto WhatsApp */
}

/* -- 950px-1023px: ocultar btn-wa texto, mostrar icono circular WA -- */
@media (min-width: 950px) and (max-width: 1023px) {
  .header-inner .btn-wa      { display: none !important; }
  .hdr-icon-btn--wa          { display: flex !important; }
}

/* -- 768px - 849px -- */
@media (min-width: 768px) and (max-width: 849px) {
  .header-inner .btn-primary { display: none !important; }
  .header-inner .btn-wa      { display: none !important; }
  .header-inner .btn-sm      { display: none !important; }
}

/* -- Botón teléfono circular: oculto por defecto, visible solo hasta 441px -- */
.hdr-icon-btn--phone              { display: none; }
.hdr-icon-btn--phone .icon-default { display: block; }
.hdr-icon-btn--phone .icon-hover   { display: none; }
.hdr-icon-btn--phone:hover         { border-color: var(--orange); transform: scale(1.08); }
.hdr-icon-btn--phone:hover .icon-default { display: none; }
.hdr-icon-btn--phone:hover .icon-hover   { display: block; }

/* -- hasta 441px: ocultar search y location, mostrar phone -- */
@media (max-width: 441px) {
  .hdr-icon-btn--search { display: none !important; }
  .hdr-icon-btn--location { display: none !important; }
  .hdr-icon-btn--phone  { display: flex !important; }
}

/* -- hasta 343px: ocultar botón teléfono -- */
@media (max-width: 343px) {
  .hdr-icon-btn--phone { display: none !important; }
}

/* -- hasta 509px: ocultar teléfono pill, mostrar WhatsApp circular -- */
@media (max-width: 509px) {
  .hdr-icon-btn--wa       { display: flex !important; }
  .hdr-icon-btn           { width: 44px !important; height: 44px !important; }
  .nav-icon-btns          { gap: 5px !important; }
  .hdr-icon-btn img       { width: 23px !important; height: 23px !important; object-fit: contain !important; }
}
/* -- 442px - 509px: mostrar location y search -- */
@media (min-width: 442px) and (max-width: 509px) {
  .hdr-icon-btn--location { display: flex !important; }
  .hdr-icon-btn--search   { display: flex !important; }
}

/* -- hasta 392px: ocultar botón WhatsApp circular -- */
@media (max-width: 392px) {
  .hdr-icon-btn--wa { display: none !important; }
}

/* -- 510px - 575px: ocultar botón Search -- */
@media (min-width: 510px) and (max-width: 575px) {
  .hdr-icon-btn--search { display: none !important; }
}

/* -- 510px - 629px: ocultar botón WhatsApp circular -- */
@media (min-width: 510px) and (max-width: 629px) {
  .hdr-icon-btn--wa { display: none !important; }
}

/* -- 510px - 699px: ocultar botón ubicación -- */
@media (min-width: 510px) and (max-width: 699px) {
  .hdr-icon-btn--location { display: none !important; }
}

/* -- Celular horizontal (501px - 767px) -- */
$160px !important; }
}

/* -- Celular vertical (<= 500px) -- */
@media (max-width: 500px) {
  .header-logo img { height: 100px; }
  margin-top: -25px;
}

/* ========================================
   FIXED - cabezote
   Se pega arriba al hacer scroll.
   top usa variables calculadas por JS:
     --topbar-h        = altura real del topbar
     --topbar-ticker-h = topbar + ticker juntos
======================================== */

/* <= 500px - topbar + cabezote + ticker fijos (orden: topbar -> cabezote -> ticker) */
@media (max-width: 500px) {
  section#sp-cabezote {
    position: fixed !important;
    top: var(--topbar-h, 39px) !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 941 !important;
  }
}

/* 501px - 1599px - el JS maneja el fixed al hacer scroll */
@media (min-width: 501px) and (max-width: 1599px) {
  section#sp-cabezote {
    position: relative !important;
    top: unset !important;
    left: unset !important;
    width: unset !important;
    z-index: 941 !important;
  }
}

/* 1600px - 1919px - topbar + cabezote fijos */
@media (min-width: 1600px) and (max-width: 1919px) {
  section#sp-cabezote {
    position: fixed !important;
    top: var(--topbar-h, 39px) !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 941 !important;
  }
}

/* >= 1920px - topbar + cabezote + ticker fijos */
@media (min-width: 1920px) {
  section#sp-cabezote {
    position: fixed !important;
    top: var(--topbar-h, 39px) !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 941 !important;
  }
}

/* ========================================
   HEADER SCALE WRAP
   Wrapper que agrupa topbar + cabezote + ticker.
   Scale responsive: 0.87 desde 992px a 1199px,
   0.85 desde 1200px a 1399px, 0.86 desde 1400px
   a 1600px, 0.88 desde 1601px
   a 1919px y 0.90 desde 1920px.
   El wrapper maneja el fixed - las secciones
   adentro quedan en flujo normal (relative).
======================================== */

/* Base */
#header-scale-wrap {
  position: relative;
  width: 100%;
  z-index: 6;
}

/* Secciones adentro: sin posicionamiento individual
   (anula las reglas fixed de topbar/ticker/cabezote CSS) */
#header-scale-wrap section#sp-topbar,
#header-scale-wrap section#sp-ticker-bar,
#header-scale-wrap section#sp-cabezote {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
}

/* Jerarquía de capas dentro del wrapper:
   topbar encima de todo, cabezote en medio, ticker al fondo */
#header-scale-wrap section#sp-topbar    { z-index: 100 !important; }
#header-scale-wrap section#sp-cabezote  { z-index: 2 !important; }
#header-scale-wrap section#sp-ticker-bar{ z-index: 1 !important; }

/* 768px a 991px: reduccion del 10%. */
@media (min-width: 768px) and (max-width: 991px) {
  #header-scale-wrap {
    transform: scale(0.90);
    transform-origin: top left;
    width: 111.1111111%;
  }
}

/* 992px a 1199px: reduccion del 19%. */
@media (min-width: 992px) and (max-width: 1199px) {
  #header-scale-wrap {
    transform: scale(0.81);
    transform-origin: top left;
    width: 123.4567901%;
  }
}

/* 1200px a 1399px: reduccion del 22%. */
@media (min-width: 1200px) and (max-width: 1399px) {
  #header-scale-wrap {
    transform: scale(0.78);
    transform-origin: top left;
    width: 128.2051282%;
  }
}

/* 1400px a 1600px: reduccion del 20%. */
@media (min-width: 1400px) and (max-width: 1600px) {
  #header-scale-wrap {
    transform: scale(0.80);
    transform-origin: top left;
    width: 125%;
  }
}

/* 1600px a 1919px: reduccion del 18%. */
@media (min-width: 1600px) and (max-width: 1919px) {
  #header-scale-wrap {
    transform: scale(0.82);
    transform-origin: top left;
    width: 121.9512195%;
  }
}

/* Desde 1920px: reduccion del 15%. */
@media (min-width: 1920px) {
  #header-scale-wrap {
    transform: scale(0.85);
    transform-origin: top left;
    width: 117.6470588%;
  }
}

/* Estado fijo - clase añadida por JS */
#header-scale-wrap.is-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
}

@media (min-width: 768px) and (max-width: 991px) {
  #header-scale-wrap.is-fixed {
    width: 111.1111111% !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #header-scale-wrap.is-fixed {
    width: 123.4567901% !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  #header-scale-wrap.is-fixed {
    width: 128.2051282% !important;
  }
}

@media (min-width: 1400px) and (max-width: 1600px) {
  #header-scale-wrap.is-fixed {
    width: 125% !important;
  }
}

@media (min-width: 1600px) and (max-width: 1919px) {
  #header-scale-wrap.is-fixed {
    width: 121.9512195% !important;
  }
}

@media (min-width: 1920px) {
  #header-scale-wrap.is-fixed {
    width: 117.6470588% !important;
  }
}

/* -- 900px-1023px: mostrar botón teléfono circular -- */
@media (min-width: 900px) and (max-width: 1023px) {
  .hdr-icon-btn--phone { display: flex !important; }
}

/* -- 768px-849px: mostrar todos los botones de nav-icon-btns -- */
@media (min-width: 768px) and (max-width: 849px) {
  .nav-icon-btns .hdr-icon-btn--email    { display: flex !important; }
  .nav-icon-btns .hdr-icon-btn--wa       { display: flex !important; }
  .nav-icon-btns .hdr-icon-btn--search   { display: flex !important; }
  .nav-icon-btns .hdr-icon-btn--location { display: flex !important; }
  .nav-icon-btns .hdr-icon-btn--phone    { display: flex !important; }
}

/* -- hasta 1023px: tamaño iconos nav -- */
@media (max-width: 1023px) {
  .nav-icon-btns .hdr-icon-btn {
    width: 44px !important;
    height: 44px !important;
  }
  .nav-icon-btns .hdr-icon-btn img {
    width: 23px !important;
    height: 23px !important;
    object-fit: contain !important;
  }
}

/* -- Hasta 1023px: botón WhatsApp imagen 50px -- */
@media (max-width: 1023px) {
  .btn.btn-wa.btn-sm img { height: 54px !important; }
  .btn.btn-primary.btn-sm img { height: 37px !important; }
}

/* -- 768px-949px: botón llamar 44px -- */
@media (min-width: 768px) and (max-width: 949px) {
}

/* -- 510px-767px: botón llamar 42px -- */
@media (min-width: 510px) and (max-width: 767px) {
}

/* -- 700px-767px: mostrar botón teléfono circular -- */
@media (min-width: 700px) and (max-width: 767px) {
  .hdr-icon-btn--phone { display: flex !important; }
}

/* -- 630px-699px: mostrar botón teléfono circular -- */
@media (min-width: 630px) and (max-width: 699px) {
  .hdr-icon-btn--phone { display: flex !important; }
}

/* -- 576px-629px: mostrar icono circular WhatsApp -- */
@media (min-width: 576px) and (max-width: 629px) {
  .hdr-icon-btn--wa { display: flex !important; }
}

/* -- 510px-575px: mostrar icono circular WhatsApp -- */
@media (min-width: 510px) and (max-width: 575px) {
  .hdr-icon-btn--wa { display: flex !important; }
}

/* -- 1024px-1069px: mostrar botón buscar -- */
@media (min-width: 1024px) and (max-width: 1069px) {
  .hdr-icon-btn--search { display: flex !important; }
}

/* -- 1070px-1119px: mostrar botón ubicación -- */
@media (min-width: 1070px) and (max-width: 1119px) {
  .hdr-icon-btn--location { display: flex !important; }
}

/* -- Desde 1366px: borde negro sólido en botón buscar y ubicación -- */
@media (min-width: 1366px) {
  .hdr-icon-btn--search   { border: 2px solid #FFF !important;
    margin-right: 20px; }
  .hdr-icon-btn--location { border: 2px solid rgba(0,0,0,1) !important; }
}

/* -- Desde 1024px: nav-arrow como círculo naranja 7x7px -- */
@media (min-width: 1024px) {
  .nav-arrow {
    font-size: 0 !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #FFC72C !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
  }
  .nav-link:hover .nav-arrow,
  .nav-link:active .nav-arrow,
  .nav-item:hover .nav-arrow,
  .nav-item.is-open .nav-arrow {
    background: #000 !important;
  }
}

/* -- Íconos del menú principal (solo desde 1024px) -- */
.nav-icon-menu { display: none !important; }

@media (min-width: 1024px) {
  .nav-icon-menu--default { display: block !important; height: 18px !important; width: auto !important; margin-bottom: 11px; margin-top: 1px; }
  .nav-icon-menu--hover   { display: none !important; }
  .nav-item:hover > .nav-link .nav-icon-menu--default { display: none !important; }
  .nav-item:hover > .nav-link .nav-icon-menu--hover   { display: block !important; height: 18px !important; width: auto !important; margin-bottom: 11px; margin-top: 1px; }
  .nav-link.active .nav-icon-menu--default { display: none !important; }
  .nav-link.active .nav-icon-menu--hover   { display: block !important; height: 18px !important; width: auto !important; margin-bottom: 11px; margin-top: 1px; }
}

/* -- Desde 1024px: fondo degradado en site-header -- */
@media (min-width: 1024px) {
  .site-header {
    background: #fff;
  }
}
/* IMPROCOL optimización móvil: reserva inicial del bloque fijo para reducir CLS en celular vertical. */
@media (max-width: 500px) {
  body.site {
    padding-top: 154px;
  }
}

/* PC grande: separar Cotización de los botones de contacto */
@media (min-width: 1600px) {
  .header-inner .cotizar-trigger {
    margin-left: 4px !important;
    transform: translateX(-6px) !important;
  }
}
/* 1366px - 1599px: botones Asesoria y Cotizacion con ancho segun contenido */
@media (min-width: 1366px) and (max-width: 1599px) {
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    width: max-content !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
.hdr-icon-btn--wa i,
.hdr-icon-btn--wa:hover i,
.hdr-icon-btn--wa:focus i,
.hdr-icon-btn--wa:active i,
.hdr-icon-btn--wa:visited i {
  color: #fff !important;
}
/* 1200px - 1365px: botones Asesoria y Cotizacion con ancho segun contenido */
@media (min-width: 1200px) and (max-width: 1365px) {
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    width: max-content !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* Hasta 1199px: cabezote en modo hamburguesa. Desde 1200px: menu principal. */
@media (max-width: 1199px) {
  .site-nav {
    display: none !important;
  }
  .hamburger {
    display: flex !important;
    flex-direction: column !important;
  }
}

@media (min-width: 1200px) {
  .site-nav {
    display: flex !important;
  }
  .hamburger {
    display: none !important;
  }
}
/* 0px - 1199px: estilo del boton hamburguesa */
@media (max-width: 1199px) {
  .hamburger {
    width: 44px !important;
    height: 44px !important;
    border-radius: 9px !important;
    border: 2px solid #FFC72C !important;
    background: #000 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }
  .hamburger span,
  .hamburger:hover span,
  .hamburger.open span {
    background: #fff !important;
  }
}
/* 0px - 1199px: forzar lineas blancas del boton hamburguesa */
@media (max-width: 1199px) {
  #hamburger span,
  #hamburger:hover span,
  #hamburger.open span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background-color: #fff !important;
    background: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* 0px - 1199px: boton hamburguesa cuadrado perfecto */
@media (max-width: 1199px) {
  #hamburger {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    box-sizing: border-box !important;
    padding: 9px !important;
  }
}
/* Menu móvil IMPROCOL: línea gráfica industrial */
.mobile-nav {
  background: #1C1C1C !important;
  border-left: 1px solid rgba(255,199,44,0.35) !important;
  box-shadow: -18px 0 48px rgba(0,0,0,0.45) !important;
}
.mobile-nav__head {
  background: #111 !important;
  border-bottom: 1px solid rgba(255,199,44,0.35) !important;
  padding: 18px 18px !important;
}
.mobile-nav__head img {
  width: 270px !important;
  max-width: 82% !important;
  height: auto !important;
  margin: 15px auto !important;
}

.mobile-nav__close {
  background: #FFC72C !important;
  border: 1px solid #D59B02 !important;
  color: #000 !important;
  border-radius: 6px !important;
}
.mobile-nav__close:hover {
  background: #fff !important;
  border-color: #999 !important;
  color: #000 !important;
}
.mobile-nav__info {
  background: #111 !important;
  border-bottom: 1px solid rgba(255,199,44,0.22) !important;
  padding: 14px 18px !important;
}
.mobile-nav__info-item {
  color: #D6D6D2 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
.mobile-nav__info-item i {
  color: #FFC72C !important;
}
.mobile-nav__info-item a,
.mobile-nav__info-item span {
  color: #D6D6D2 !important;
}
.mobile-nav-list {
  background: #1C1C1C !important;
  padding: 10px !important;
}
.mobile-nav-section-title {
  color: #FFC72C !important;
  font-family: "Inter", system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  padding: 12px 12px 8px !important;
}
.mobile-nav-item {
  border-bottom: 1px solid rgba(255,199,44,0.14) !important;
}
.mobile-nav-link,
.mobile-nav-btn {
  color: #F4F4F2 !important;
  border-radius: 6px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding: 13px 12px !important;
}
.mobile-nav-link i,
.mobile-nav-btn i:first-child {
  color: #FFC72C !important;
  font-size: 1.05rem !important;
}
.mobile-nav-link:hover,
.mobile-nav-btn:hover,
.mobile-nav-item--open > .mobile-nav-btn {
  background: #FFC72C !important;
  color: #000 !important;
}
.mobile-nav-link:hover i,
.mobile-nav-btn:hover i:first-child,
.mobile-nav-item--open > .mobile-nav-btn i {
  color: #000 !important;
}
.mobile-nav__footer {
  background: #111 !important;
  border-top: 1px solid rgba(255,199,44,0.35) !important;
  padding: 14px !important;
}
.mobile-nav__footer .btn {
  min-height: 42px !important;
  border-radius: 5px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
.mobile-nav__footer .btn-primary,
.mobile-nav__footer .btn-wa {
  background: #FFC72C !important;
  border: 1px solid #D59B02 !important;
  color: #000 !important;
}
.mobile-nav__footer .btn-primary i,
.mobile-nav__footer .btn-wa i {
  color: #000 !important;
}
.mobile-nav__footer .btn-ghost {
  background: #1C1C1C !important;
  border: 1px solid #FFC72C !important;
  color: #FFC72C !important;
}
/* Menu móvil IMPROCOL: botón Llamar ahora en blanco */
.mobile-nav__footer .btn-primary {
  background: #fff !important;
  border: 1px solid #999 !important;
  color: #000 !important;
}
.mobile-nav__footer .btn-primary i {
  color: #000 !important;
}
/* Menu móvil IMPROCOL: botón WhatsApp verde */
.mobile-nav__footer .btn-wa {
  background: #25D366 !important;
  border: 1px solid #1ebe59 !important;
  color: #fff !important;
}
.mobile-nav__footer .btn-wa i {
  color: #fff !important;
  font-size: 1.35rem !important;
}
/* 0px - 1199px: estilo final del boton hamburguesa */
@media (max-width: 1199px) {
  #hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    border: 2px solid #FFC72C !important;
    border-radius: 9px !important;
    background: #000 !important;
  }
  #hamburger span,
  #hamburger:hover span,
  #hamburger.open span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background: #fff !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* 0px - 1199px: menu movil por encima del topbar */
@media (max-width: 1199px) {
  .nav-overlay {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    z-index: 2147483646 !important;
  }
  .mobile-nav {
    top: 0 !important;
    height: 100dvh !important;
    z-index: 2147483647 !important;
  }
}
/* 0px - 1199px: capas con menu movil abierto */
@media (max-width: 1199px) {
  body.mobile-menu-open #header-scale-wrap {
    z-index: 1 !important;
  }
  body.mobile-menu-open .nav-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    z-index: 2147483646 !important;
  }
  body.mobile-menu-open .mobile-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 2147483647 !important;
  }
}
@media (min-width: 992px) and (max-width: 1023px) {
  .site-header > .container, .site-header .container {
    padding: 0px !important;
    max-width: 89.5%!important;
  }
}

/* 768px - 1024px: mostrar botones asesoria y cotizacion */
@media (min-width: 768px) and (max-width: 1024px) {
  .header-inner {
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    display: inline-flex !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .header-inner .asesoria-trigger + .cotizar-trigger {
    margin-left: 0 !important;
    transform: translateX(-1px) !important;
  }
  .header-inner .hamburger {
    margin-left: auto !important;
  }
}
/* 0px - 1199px: apariencia uniforme del boton hamburguesa */
@media (max-width: 1199px) {
  #hamburger,
  .hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border: 3px solid #FFC72C !important;
    border-radius: 12px !important;
    background: #000 !important;
    box-sizing: border-box !important;
  }
  #hamburger span,
  #hamburger:hover span,
  #hamburger.open span,
  .hamburger span,
  .hamburger:hover span,
  .hamburger.open span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background: #fff !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
  }
}
/* 1024px - 1199px: misma apariencia del boton hamburguesa */
@media (min-width: 1024px) and (max-width: 1199px) {
  #hamburger,
  .hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border: 3px solid #FFC72C !important;
    border-radius: 12px !important;
    background: #000 !important;
    box-sizing: border-box !important;
  }
  #hamburger span,
  #hamburger:hover span,
  #hamburger.open span,
  .hamburger span,
  .hamburger:hover span,
  .hamburger.open span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background: #fff !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
  }
}
/* 0px - 1199px: boton hamburguesa identico en todo el rango */
@media (max-width: 1199px) {
  button#hamburger.hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    gap: 5px !important;
    border: 3px solid #FFC72C !important;
    border-radius: 12px !important;
    background: #000 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }
  button#hamburger.hamburger span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    background-color: #fff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
  }
}
/* 0px - 1199px: ocultar boton grande de WhatsApp */
@media (max-width: 1199px) {
  .header-inner > a.btn.btn-wa.btn-sm {
    display: none !important;
  }
}
/* Botón ubicación: misma apariencia del botón buscar */
.hdr-icon-btn--location {
  border-color: #FFF !important;
}
.hdr-icon-btn--location .icon-default {
  display: block !important;
  filter: brightness(0) invert(1) !important;
}
.hdr-icon-btn--location .icon-hover {
  display: none !important;
  filter: brightness(0) saturate(100%) invert(77%) sepia(91%) saturate(672%) hue-rotate(344deg) brightness(102%) contrast(101%) !important;
}
.hdr-icon-btn--location:hover {
  border-color: #FFC72C !important;
  transform: scale(1.08);
}
.hdr-icon-btn--location:hover .icon-default {
  display: none !important;
}
.hdr-icon-btn--location:hover .icon-hover {
  display: block !important;
}
/* 768px - 1023px: organizacion del cabezote tipo tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .header-logo {
    flex: 0 0 auto !important;
    margin-right: auto !important;
  }
  .header-logo img {
    height: 100px !important;
    width: auto;
    object-fit: contain;
    object-position: left center;
    display: block;
    margin-top: -25px;
  }
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    display: inline-flex !important;
    flex: 0 0 120px !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  .nav-icon-btns {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 10px !important;
  }
  .nav-icon-btns .hdr-icon-btn {
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
  }
  .header-inner .hamburger,
  button#hamburger.hamburger {
    margin-left: 8px !important;
    flex: 0 0 44px !important;
  }
}
/* 0px - 1199px: hamburguesa siempre a la derecha */
@media (max-width: 1199px) {
  .header-inner > button#hamburger.hamburger {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 799px) {
  .header-logo img {
    height: 42px !important;
  }
}
/* 768px - 1023px: distribucion final del cabezote tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .site-nav,
  .header-inner > a.btn.btn-wa.btn-sm {
    display: none !important;
  }
  .header-logo {
    flex: 0 1 auto !important;
    margin-right: auto !important;
  }
  .header-logo img {
    height: 75px !important;
    width: auto !important;
    margin-top: -15px !important;
  }
  .header-inner .asesoria-trigger,
  .header-inner .cotizar-trigger {
    display: inline-flex !important;
    flex: 0 0 118px !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  .nav-icon-btns {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 10px !important;
    flex: 0 0 auto !important;
  }
  .nav-icon-btns .hdr-icon-btn--email,
  .nav-icon-btns .hdr-icon-btn--wa,
  .nav-icon-btns .hdr-icon-btn--search,
  .nav-icon-btns .hdr-icon-btn--location {
    display: flex !important;
  }
  .nav-icon-btns .hdr-icon-btn--phone {
    display: none !important;
  }
  .nav-icon-btns .hdr-icon-btn {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }
  .nav-icon-btns .hdr-icon-btn img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
  }
  .header-inner > button#hamburger.hamburger {
    margin-left: auto !important;
    margin-right: 0 !important;
    flex: 0 0 44px !important;
  }
  margin-top: -25px;
}
/* 0px - 767px: ocultar boton Asesoria del cabezote */
@media (max-width: 767px) {
  .header-inner .asesoria-trigger {
    display: none !important;
  }
}
/* Botón teléfono: misma apariencia del botón buscar */
.hdr-icon-btn--phone {
  border-color: #FFF !important;
}
.hdr-icon-btn--phone .icon-default {
  display: block !important;
  filter: brightness(0) invert(1) !important;
}
.hdr-icon-btn--phone .icon-hover {
  display: none !important;
  filter: brightness(0) saturate(100%) invert(77%) sepia(91%) saturate(672%) hue-rotate(344deg) brightness(102%) contrast(101%) !important;
}
.hdr-icon-btn--phone:hover {
  border-color: #FFC72C !important;
  transform: scale(1.08);
}
.hdr-icon-btn--phone:hover .icon-default {
  display: none !important;
}
.hdr-icon-btn--phone:hover .icon-hover {
  display: block !important;
}
/* 0px - 767px: botones del cabezote mas compactos */
@media (max-width: 767px) {
  .header-inner .cotizar-trigger {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 36px !important;
    font-size: 12px !important;
  }
  .nav-icon-btns {
    gap: 6px !important;
  }
  .nav-icon-btns .hdr-icon-btn {
    width: 39px !important;
    height: 39px !important;
    min-width: 39px !important;
    max-width: 39px !important;
  }
  .nav-icon-btns .hdr-icon-btn img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain !important;
  }
  .nav-icon-btns .hdr-icon-btn--wa i {
    font-size: 22px !important;
  }
}
/* 768px - 1023px: botones agrupados a la derecha junto a hamburguesa */
@media (min-width: 768px) and (max-width: 1023px) {
  .header-logo {
    margin-right: auto !important;
  }
  .header-inner .asesoria-trigger {
    margin-left: auto !important;
  }
  .header-inner .cotizar-trigger {
    margin-left: 0 !important;
  }
  .nav-icon-btns {
    margin-left: 0 !important;
  }
  .header-inner > button#hamburger.hamburger {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }
}
/* 1024px - 1199px: botones agrupados a la derecha junto a hamburguesa */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header-logo {
    margin-right: auto !important;
  }
  .header-inner .asesoria-trigger {
    margin-left: auto !important;
  }
  .header-inner .cotizar-trigger {
    margin-left: 0 !important;
  }
  .nav-icon-btns {
    margin-left: 0 !important;
  }
  .header-inner > button#hamburger.hamburger {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }
}
/* 1024px - 1199px: separar Asesoria y Cotizacion */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner .asesoria-trigger + .cotizar-trigger {
    margin-left: 8px !important;
  }
}
/* 1024px - 1199px: separar Cotizacion del boton contacto */
@media (min-width: 1024px) and (max-width: 1199px) {
  .nav-icon-btns {
    margin-left: 10px !important;
  }
}
/* 0px - 767px: botones agrupados a la derecha junto a hamburguesa */
@media (max-width: 767px) {
  .header-logo {
    margin-right: auto !important;
  }
  .header-logo img {
    height: 70px !important;
    width: auto;
    object-fit: contain;
    object-position: left center;
    display: block;
    margin-top: -15px;
  }
  .header-inner .asesoria-trigger {
    display: none !important;
  }
  .header-inner .cotizar-trigger {
    display: inline-flex !important;
    margin-left: 8px !important;
  }
  .nav-icon-btns {
    display: flex !important;
    margin-left: 10px !important;
  }
  .header-inner > button#hamburger.hamburger {
    margin-left: 10px !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 500px) and (max-width: 559px) {
  .header-logo img {
    height: 40px !important;
  }
}
/* 1024px - 1199px: margen derecho hamburguesa */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner > button#hamburger.hamburger {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}
/* 1024px - 1199px: tamano hamburguesa 54px */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner > button#hamburger.hamburger {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    flex: 0 0 54px !important;
  }
}
/* 0px - 519px: ocultar boton Cotizacion del cabezote */
@media (max-width: 519px) {
  .header-inner .cotizar-trigger {
    display: none !important;
  }
}
/* 510px - 519px: mostrar Buscar y Ubicacion */
@media (min-width: 510px) and (max-width: 519px) {
  .nav-icon-btns .hdr-icon-btn--search,
  .nav-icon-btns .hdr-icon-btn--location {
    display: flex !important;
  }
}
/* 0px - 767px: tamano hamburguesa 40px */
@media (max-width: 767px) {
  .header-inner > button#hamburger.hamburger {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex: 0 0 40px !important;
  }
}



















.hdr-icon-btn--facebook,
.hdr-icon-btn--youtube,
.hdr-icon-btn--instagram {
  display: none !important;
  border: 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #fff !important;
}
.hdr-icon-btn--facebook i,
.hdr-icon-btn--youtube i,
.hdr-icon-btn--instagram i {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
.hdr-icon-btn--facebook:hover,
.hdr-icon-btn--youtube:hover,
.hdr-icon-btn--instagram:hover {
  border-color: transparent !important;
  background: transparent !important;
  transform: scale(1.08);
}
.hdr-icon-btn--facebook:hover i,
.hdr-icon-btn--youtube:hover i,
.hdr-icon-btn--instagram:hover i {
  color: #FFC72C !important;
}
@media (min-width: 1366px) {
  .nav-icon-btns .hdr-icon-btn--facebook,
  .nav-icon-btns .hdr-icon-btn--youtube,
  .nav-icon-btns .hdr-icon-btn--instagram {
    display: flex !important;
  }
}






/* Botones sociales mas juntos */
.nav-icon-btns .hdr-icon-btn--facebook,
.nav-icon-btns .hdr-icon-btn--youtube,
.nav-icon-btns .hdr-icon-btn--instagram {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 42px !important;
}
.nav-icon-btns .hdr-icon-btn--youtube,
.nav-icon-btns .hdr-icon-btn--instagram {
  margin-left: 10px !important;
}





@media (min-width: 768px) and (max-width: 1023px) {
  .nav-icon-btns .hdr-icon-btn--youtube,
  .nav-icon-btns .hdr-icon-btn--instagram {
    margin-left: 0px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .header-inner .asesoria-trigger {
    flex: 0 0 90px !important;
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
  }
  .header-inner .cotizar-trigger {
    flex: 0 0 110px !important;
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .nav-icon-btns .hdr-icon-btn--facebook,
  .nav-icon-btns .hdr-icon-btn--youtube,
  .nav-icon-btns .hdr-icon-btn--instagram {
    display: flex !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .header-inner > button#hamburger.hamburger {
    margin-left: 0px !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 1023px) {
  .header-inner .btn-sm {
    padding: 6px 16px 6px 10px;
    font-size: 0.78rem;
  }
}




@media (min-width: 820px) and (max-width: 1023px) {
  .nav-icon-btns .hdr-icon-btn--facebook,
  .nav-icon-btns .hdr-icon-btn--youtube,
  .nav-icon-btns .hdr-icon-btn--instagram {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 52px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .nav-icon-btns .hdr-icon-btn--facebook {
    margin-left: 10px !important;
  }
}

/* Capas: topbar sobre cabezote y logo sobre topbar */
section#sp-cabezote {
  z-index: auto !important;
  overflow: visible !important;
}

section#sp-cabezote > .container,
section#sp-cabezote .container-inner,
section#sp-cabezote .row,
section#sp-cabezote [class*="col-"],
section#sp-cabezote .sp-column,
section#sp-cabezote .sp-module,
section#sp-cabezote .sp-module-content,
section#sp-cabezote .mod-custom,
.site-header,
.header-inner,
.header-logo {
  overflow: visible !important;
}

.header-logo {
  position: relative !important;
  z-index: 300 !important;
}

.header-logo img {
  position: relative !important;
  z-index: 301 !important;
}

/* Logo contenido dentro del site-header: no debe invadir el topbar */
.header-logo {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

.header-logo img {
  height: 64px !important;
  margin-top: 0 !important;
  max-height: 100% !important;
}

/* Botón Solicitar Asesoría FAHENN: único CTA textual del site-header */
.header-inner .cotizar-trigger {
  display: none !important;
}

.header-inner .asesoria-trigger {
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 0 14px 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #24A29E!important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #fff !important;
  box-shadow: none !important;
  text-transform: none !important;
  line-height: 1 !important;
  transform: translateY(1px) !important;
}

.header-inner .asesoria-trigger:hover,
.header-inner .asesoria-trigger:focus {
  background: #18748D !important;
  border: 0 !important;
  color: #fff !important;
  transform: translateY(1px) !important;
}

.header-inner .asesoria-trigger img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  flex: 0 0 42px !important;
}

.header-inner .asesoria-trigger .asesoria-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 1px !important;
  font-family: "Inter", "DM Sans", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  color: #fff !important;
  text-transform: none !important;
}

.header-inner .asesoria-trigger .asesoria-text span:first-child {
  font-size: 13px !important;
  font-weight: 500 !important;
}

.header-inner .asesoria-trigger .asesoria-text span:last-child {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Botón Contacto FAHENN: apariencia cuadrada oscura con icono blanco */
.header-inner .hdr-icon-btn--email {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  background: #0f1f20 !important;
  border: 0 !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: translateY(-1px) !important;
}

.header-inner .hdr-icon-btn--email:hover,
.header-inner .hdr-icon-btn--email:focus {
  background: #122339 !important;
  border: 0 !important;
  transform: none !important;
}

.header-inner .hdr-icon-btn--email .header-email-picture {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}

.header-inner .hdr-icon-btn--email img {
  width: 30px !important;
  height: 30px !important;
  display: block !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
}

/* Alto final del site-header */
.site-header,
.site-header.scrolled {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  box-sizing: border-box !important;
}

.site-header .header-inner {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
}

/* Botones de galería del site-header */
.header-inner .header-gallery-btn {
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: #eaf4f5 !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transform: none !important;
  text-decoration: none !important;
}

.header-inner .header-gallery-btn:hover,
.header-inner .header-gallery-btn:focus {
  background: #dff1f3 !important;
  transform: none !important;
}

.header-inner .header-gallery-btn img {
  width: 32px !important;
  height: 32px !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) saturate(100%) invert(18%) sepia(16%) saturate(921%) hue-rotate(141deg) brightness(94%) contrast(90%) !important;
}

.header-inner .header-gallery-btn--search img,
.header-inner .header-gallery-btn--photo img {
  width: 31px !important;
  height: 31px !important;
}

.header-inner .header-gallery-btn--video img {
  width: 35px !important;
  height: 23px !important;
}

/* Botón de 9 puntos del site-header */
.header-inner .header-more-trigger {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 0 !important;
  margin: 0 0 0 8px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header-inner .header-more-grid {
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 6px) !important;
  grid-template-rows: repeat(3, 6px) !important;
  gap: 3px !important;
}

.header-inner .header-more-grid span {
  width: 6px !important;
  height: 6px !important;
  display: block !important;
  background: #000 !important;
  border-radius: 50% !important;
}

/* Panel lateral FAHENN */
.fahenn-side-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  background: rgba(0, 0, 0, 0.82) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.32s ease, visibility 0.32s ease !important;
}

.fahenn-side-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.fahenn-side-is-open {
  overflow: hidden !important;
}

.fahenn-side-panel {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 400px !important;
  max-width: 100vw !important;
  height: 100vh !important;
  background: #fff !important;
  padding: 28px 24px 104px !important;
  overflow-y: auto !important;
  transform: translateX(100%) !important;
  transition: transform 0.38s ease !important;
  box-shadow: -24px 0 48px rgba(0, 0, 0, 0.28) !important;
  box-sizing: border-box !important;
}

.fahenn-side-overlay.is-open .fahenn-side-panel {
  transform: translateX(0) !important;
}

.fahenn-side-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  color: #122339 !important;
  font-size: 38px !important;
  line-height: 30px !important;
  font-weight: 300 !important;
  cursor: pointer !important;
}

.fahenn-side-logo {
  width: 300px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0px auto 27px !important;
}

.fahenn-side-tag {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  background: rgba(40, 179, 219, 0.14) !important;
  color: #11506F !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.fahenn-side-panel h2 {
  margin: 16px 0 14px !important;
  color: #122339 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 25px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

.fahenn-side-panel p {
  margin: 0 !important;
  color: #273947 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.fahenn-side-image {
  width: 100% !important;
  height: 230px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  margin: 26px 0 24px !important;
}

.fahenn-side-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 26px !important;
}

.fahenn-side-actions a {
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.fahenn-side-whatsapp {
  background: #0aa83f !important;
}

.fahenn-side-call {
  background: #11506F !important;
}

.fahenn-side-contact {
  display: grid !important;
  gap: 18px !important;
}

.fahenn-side-contact > div {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
}

.fahenn-side-contact > div > span {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #122339 !important;
  color: #28B3DB !important;
  box-shadow: 0 12px 24px rgba(18, 35, 57, 0.16) !important;
}

.fahenn-side-contact p {
  color: #334858 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.fahenn-side-contact strong {
  display: block !important;
  color: #122339 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

@media (max-width: 480px) {
  .fahenn-side-panel {
    width: 100vw !important;
    padding: 26px 20px 30px !important;
  }
}

/* Tamaño final del botón WhatsApp del site-header */
.header-inner > a.btn.btn-wa.btn-sm {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
}

.header-inner > a.btn.btn-wa.btn-sm img {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  object-fit: contain !important;
}

/* Bloque de acciones del site-header alineado a la derecha */
.header-inner .header-actions-right {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.header-inner .header-logo-call-group {
  order: 1 !important;
  flex: 0 0 auto !important;
}

.header-inner {
  position: relative !important;
}

.header-inner .site-nav {
  order: 2 !important;
  width: fit-content !important;
  flex: 0 0 auto !important;
}

.header-inner .site-nav-wrap {
  order: 2 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 86px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 620px !important;
}

.header-inner .header-actions-right {
  order: 3 !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.header-inner .header-actions-right > a.btn.btn-wa.btn-sm {
  margin-left: 0 !important;
}

.header-inner .header-actions-right .header-gallery-btn,
.header-inner .header-actions-right .asesoria-trigger,
.header-inner .header-actions-right .nav-icon-btns,
.header-inner .header-actions-right .header-more-trigger {
  flex-shrink: 0 !important;
}

.header-inner .header-actions-right .header-gallery-btn,
.header-inner .header-actions-right .nav-icon-btns {
  margin-left: 0 !important;
}

/* Tipografía final de los botones principales del site-nav */
.site-nav .nav-link,
.site-nav .nav-link:hover,
.site-nav .nav-link.active,
.site-nav .nav-item:hover > .nav-link {
  color: #122339 !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  transition: background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease, border-radius 0.22s ease !important;
}

.site-nav .nav-link:hover,
.site-nav .nav-item:hover > .nav-link {
  background: linear-gradient(to bottom, #2ACDC9 0%, #2BBAB8 100%) !important;
  color: #122339 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-nav .nav-label__main,
.site-nav .nav-link:hover .nav-label__main,
.site-nav .nav-item:hover > .nav-link .nav-label__main,
.site-nav .nav-link.active .nav-label__main {
  color: #122339 !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  transform: none !important;
  letter-spacing: 0px !important;
  text-transform: capitalize !important;
}

.site-nav .nav-link:hover .nav-label__main,
.site-nav .nav-item:hover > .nav-link .nav-label__main,
.site-nav .nav-link:hover .nav-label__sub,
.site-nav .nav-item:hover > .nav-link .nav-label__sub {
  color: #fff !important;
}

.site-nav .nav-link:hover .nav-label .nav-label__sub,
.site-nav .nav-item:hover > .nav-link .nav-label .nav-label__sub {
  color: #fff !important;
}

.site-nav .nav-label__sub,
.site-nav .nav-link:hover .nav-label__sub,
.site-nav .nav-item:hover > .nav-link .nav-label__sub,
.site-nav .nav-link.active .nav-label__sub {
  color: #000 !important;
  font-family: "Roboto", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-transform: capitalize !important;
  display: block !important;
  position: relative !important;
  top: 2px !important;
  transform: none !important;
}

.site-nav .nav-label {
  gap: 0 !important;
  transform: translateY(1px) !important;
}

.site-nav .nav-list {
  gap: 0 !important;
}

.site-nav,
.site-nav .nav-list,
.site-nav .nav-item {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  align-items: center !important;
}

.site-nav .nav-link {
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  align-items: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}

.site-nav .nav-menu-icon,
.site-nav .nav-icon-menu--default,
.site-nav .nav-icon-menu--hover,
.site-nav .nav-link:hover .nav-menu-icon,
.site-nav .nav-item:hover > .nav-link .nav-menu-icon {
  color: #122339 !important;
  filter: brightness(0) saturate(100%) invert(12%) sepia(19%) saturate(1510%) hue-rotate(176deg) brightness(93%) contrast(96%) !important;
}

.site-nav .nav-link:hover .nav-menu-icon,
.site-nav .nav-item:hover > .nav-link .nav-menu-icon {
  color: #fff !important;
  filter: none !important;
}

.site-nav .nav-menu-icon,
.site-nav .nav-link:hover .nav-menu-icon,
.site-nav .nav-item:hover > .nav-link .nav-menu-icon {
  font-size: 20px !important;
  font-weight: 900 !important;
  display: inline-block !important;
  opacity: 1 !important;
  transform: translateY(1px) !important;
}

.site-nav .nav-icon-menu--default,
.site-nav .nav-icon-menu--hover,
.site-nav .nav-item:hover > .nav-link .nav-icon-menu--hover,
.site-nav .nav-link.active .nav-icon-menu--hover {
  height: 15px !important;
}

@media (min-width: 1024px) {
  .site-nav .nav-item {
    display: flex !important;
  }
}

@media (max-width: 1365px) {
  .header-inner .site-nav-wrap {
    display: none !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    display: flex !important;
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #0d2729 !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
  }
}

@media (min-width: 1366px) {
  .site-nav .nav-menu-icon--projects {
    width: 25px !important;
    height: 20px !important;
    object-fit: contain !important;
  }

  .site-nav .nav-link:hover .nav-menu-icon--projects,
  .site-nav .nav-item:hover > .nav-link .nav-menu-icon--projects {
    filter: brightness(0) invert(1) !important;
  }

  .header-inner .site-nav-wrap {
    display: flex !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    display: none !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--location {
    display: none !important;
  }
}

/* Apariencia corporativa final del menú lateral FAHENN */
.mobile-nav {
  background: #0d2729 !important;
  border-left-color: rgba(42, 205, 201, 0.45) !important;
  color: #fff !important;
}

.mobile-nav__head {
  position: relative !important;
  align-items: flex-start !important;
  background: #0d2729 !important;
  border-bottom-color: rgba(42, 205, 201, 0.45) !important;
}

.mobile-nav__close {
  position: fixed !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 2147483647 !important;
  margin: 0 !important;
  background: rgba(42, 205, 201, 0.12) !important;
  border-color: #2ACDC9 !important;
  color: #fff !important;
}

.mobile-nav__close:hover,
.mobile-nav__close:focus {
  background: #2ACDC9 !important;
  border-color: #2ACDC9 !important;
  color: #0d2729 !important;
}

.mobile-nav__info {
  background: rgba(0, 0, 0, 0.18) !important;
  border-bottom: 1px solid rgba(42, 205, 201, 0.32) !important;
}

.mobile-nav__info-item,
.mobile-nav__info-item a {
  color: rgba(255, 255, 255, 0.82) !important;
}

.mobile-nav__info-item i,
.mobile-nav__info-item a:hover {
  color: #2ACDC9 !important;
}

.mobile-nav-section-title {
  color: #2ACDC9 !important;
}

.mobile-nav-item {
  border-bottom-color: rgba(42, 205, 201, 0.22) !important;
}

.mobile-nav-list li a,
.mobile-nav-link,
.mobile-nav-btn {
  color: #fff !important;
  background: transparent !important;
}

.mobile-nav-list .mobile-nav-link {
  font-size: 1.05rem !important;
}

.mobile-nav-list .mobile-nav-link > i {
  font-size: 1.15rem !important;
}

.mobile-nav-list .mobile-nav-link > .mobile-nav-icon--projects,
.mobile-nav-list .mobile-nav-btn > .mobile-nav-icon--projects {
  width: auto !important;
  height: 1.15rem !important;
  flex-shrink: 0 !important;
  filter: brightness(0) saturate(100%) invert(78%) sepia(50%) saturate(738%) hue-rotate(129deg) brightness(91%) contrast(91%) !important;
}

.mobile-nav-list li a i,
.mobile-nav-link i,
.mobile-nav-btn i:first-child,
.mobile-nav-chevron {
  color: #2ACDC9 !important;
}

.mobile-nav-list li a:hover,
.mobile-nav-list li a.active,
.mobile-nav-link:hover,
.mobile-nav-link.active,
.mobile-nav-btn:hover,
.mobile-nav-item--open > .mobile-nav-btn {
  color: #fff !important;
  background: rgba(42, 205, 201, 0.16) !important;
}

.mobile-nav-list li a:hover i,
.mobile-nav-list li a.active i,
.mobile-nav-link:hover i,
.mobile-nav-link.active i,
.mobile-nav-btn:hover i:first-child,
.mobile-nav-item--open > .mobile-nav-btn .mobile-nav-chevron {
  color: #2ACDC9 !important;
}

.mobile-nav__footer {
  background: #0d2729 !important;
  border-top-color: rgba(42, 205, 201, 0.45) !important;
}

.mobile-nav__footer .btn-primary,
.mobile-nav__footer .btn-ghost {
  background: #2ACDC9 !important;
  border-color: #fff !important;
  color: #0d2729 !important;
}

/* WhatsApp visible siempre: redondo hasta 1919px y rectangular desde 1920px */
.header-inner .header-actions-right > a.btn.btn-wa.btn-sm {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
}

.header-inner .header-actions-right .header-whatsapp-picture,
.header-inner .header-actions-right .header-whatsapp-picture img {
  display: block !important;
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  object-fit: contain !important;
}

@media (max-width: 1919px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

/* Fondo blanco permanente del contenedor del site-header */
.site-header > .container,
.site-header .container {
  background: #fff !important;
}

/* Centrado del site-nav entre el logo y las acciones de 1366px a 1919px */
@media (min-width: 1366px) and (max-width: 1919px) {
  .header-inner .site-nav-wrap {
    margin-right: 490px !important;
  }
}

/* Botón de localización visible en todos los tamaños */
.header-inner .header-actions-right .header-gallery-btn--location {
  display: inline-flex !important;
}

/* Centrado real del site-nav entre el logo y header-actions-right desde 1366px */
@media (min-width: 1366px) {
  .header-inner {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }

  .header-inner .header-logo-call-group {
    flex: 0 0 auto !important;
  }

  .header-inner .site-nav-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header-inner .header-actions-right {
    position: static !important;
    right: auto !important;
    top: auto !important;
    flex: 0 0 auto !important;
    transform: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 1600px) and (max-width: 1919px) {
  .site-header > .container,
  .site-header .container {
    width: 1780px !important;
    max-width: 1780px !important;
  }
}

@media (min-width: 1366px) and (max-width: 1399px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: inline-flex !important;
  }

  .header-logo img {
    height: 56px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  .header-logo img {
    height: 60px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1449px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (min-width: 1450px) and (max-width: 1519px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

/* Hasta 1199px: acciones del site-header reducidas proporcionalmente */
@media (max-width: 1199px) {
  .header-inner .header-actions-right {
    gap: 9px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 49px !important;
    min-width: 49px !important;
    max-width: 49px !important;
    height: 49px !important;
    min-height: 49px !important;
    max-height: 49px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 13px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    flex-basis: 49px !important;
    gap: 4.5px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 20px !important;
    height: 2.7px !important;
    min-height: 2.7px !important;
    max-height: 2.7px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 29px !important;
    height: 29px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 28px !important;
    height: 28px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 32px !important;
    height: 21px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 122px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    height: 49px !important;
    min-height: 49px !important;
    max-height: 49px !important;
    padding: 0 13px 0 11px !important;
    gap: 7px !important;
    border-radius: 14px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 13px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 12px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 14px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 27px !important;
    height: 27px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin-left: 7px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 22px !important;
    height: 22px !important;
    grid-template-columns: repeat(3, 5.5px) !important;
    grid-template-rows: repeat(3, 5.5px) !important;
    gap: 2.75px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 5.5px !important;
    height: 5.5px !important;
  }
}

/* 1024px - 1199px: WhatsApp rectangular reducido proporcionalmente */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    height: 49px !important;
    min-height: 49px !important;
    max-height: 49px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .header-logo img {
    height: 58px !important;
  }
}

@media (max-width: 991px) {
  .site-header,
  .site-header.scrolled {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  .site-header .header-inner {
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
  }

  .header-logo img {
    height: 48px !important;
  }

  .header-inner .header-actions-right {
    gap: 8px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 12px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    flex-basis: 44px !important;
    gap: 4px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 18px !important;
    height: 2.5px !important;
    min-height: 2.5px !important;
    max-height: 2.5px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 26px !important;
    height: 26px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 25px !important;
    height: 25px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 29px !important;
    height: 19px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 117px !important;
    min-width: 117px !important;
    max-width: 113px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 12px 0 15px !important;
    gap: 6px !important;
    border-radius: 13px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 12px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 11px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 13px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 24px !important;
    height: 24px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin-left: 6px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 20px !important;
    height: 20px !important;
    grid-template-columns: repeat(3, 5px) !important;
    grid-template-rows: repeat(3, 5px) !important;
    gap: 2.5px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 5px !important;
    height: 5px !important;
  }
}

@media (max-width: 799px) {
  .site-header,
  .site-header.scrolled {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
  }

  .site-header .header-inner {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
  }

  .header-logo img {
    height: 42px !important;
  }

  .header-inner .header-actions-right {
    gap: 7px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 11px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    flex-basis: 40px !important;
    gap: 3.5px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 16px !important;
    height: 2.25px !important;
    min-height: 2.25px !important;
    max-height: 2.25px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 23px !important;
    height: 23px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 23px !important;
    height: 23px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 26px !important;
    height: 17px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 14px 0 14px !important;
    gap: 5.5px !important;
    border-radius: 12px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 31px !important;
    height: 31px !important;
    flex-basis: 31px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 11px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 10px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 12px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 22px !important;
    height: 22px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin-left: 5.5px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 18px !important;
    height: 18px !important;
    grid-template-columns: repeat(3, 4.5px) !important;
    grid-template-rows: repeat(3, 4.5px) !important;
    gap: 2.25px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 4.5px !important;
    height: 4.5px !important;
  }
}

@media (min-width: 710px) and (max-width: 749px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (max-width: 709px) {
  .header-inner .header-actions-right .asesoria-trigger {
    display: none !important;
  }
}

@media (min-width: 560px) and (max-width: 589px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (max-width: 559px) {
  .header-inner .header-actions-right .header-more-trigger {
    display: none !important;
  }
}

@media (max-width: 499px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm {
    display: none !important;
  }

  .header-logo img {
    height: 38px !important;
  }
}

@media (min-width: 500px) and (max-width: 559px) {
  .header-logo img {
    height: 40px !important;
  }
}

@media (max-width: 429px) {
  .header-inner .header-actions-right .header-gallery-btn--location {
    display: none !important;
  }
}

@media (max-width: 449px) {
  .header-logo img {
    height: 36px !important;
  }
}

@media (max-width: 399px) {
  .header-logo img {
    height: 38px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--call {
    display: none !important;
  }
}

@media (max-width: 319px) {
  .header-logo img {
    height: 37px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video {
    display: none !important;
  }
}

@media (max-width: 379px) {
  .header-inner .header-actions-right .hdr-icon-btn--email {
    display: none !important;
  }
}

@media (max-width: 539px) {
  .header-inner .header-actions-right > button#hamburger.hamburger {
    order: 999 !important;
  }
}

@media (max-width: 709px) {
  .header-inner .header-actions-right .hdr-icon-btn--email {
    background: #24A29E !important;
    border: 0 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email:hover,
  .header-inner .header-actions-right .hdr-icon-btn--email:focus {
    background: #000000 !important;
    border: 0 !important;
    transform: none !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    filter: brightness(0) invert(1) !important;
  }
}

@media (max-width: 768px) {
  .header-inner .header-gallery-btn {
    background: #E3EDEE!important;
  }

  .header-inner .header-gallery-btn:hover,
  .header-inner .header-gallery-btn:focus {
    background: #c8e5e8 !important;
  }
}
  @media (min-width: 768px) and (max-width: 879px) {
    .site-header > .container, .site-header .container {
      max-width: 97.5% !important;

    }
}
  @media (min-width: 880px) and (max-width: 991px) {
    .site-header > .container, .site-header .container {
      max-width: 92% !important;
    }
  }

@media (min-width: 1920px) {
  .header-inner .header-actions-right .header-gallery-btn--location {
    display: inline-flex !important;
  }
}

/* Botón de llamada visible únicamente hasta 1199px */
@media (max-width: 1199px) {
  .header-inner .header-actions-right .header-gallery-btn--call {
    display: inline-flex !important;
  }
}

@media (max-width: 399px) {
  .header-inner .header-actions-right .header-gallery-btn--call {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .header-inner .header-actions-right .header-gallery-btn--call {
    display: none !important;
  }
}

@media (min-width: 1600px) and (max-width: 1919px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (min-width: 1500px) and (max-width: 1599px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 172px !important;
    min-width: 172px !important;
    max-width: 172px !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
  }
}

@media (min-width: 1366px) and (max-width: 1399px) {
  .site-header > .container, .site-header .container {
    max-width: 93% !important;
  }

  .site-nav .nav-label__sub {
    top: 1px !important;
  }

  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm {
    display: inline-flex !important;
  }
}

@media (min-width: 1400px) and (max-width: 1599px) {
  .site-nav .nav-label__sub {
    top: 1px !important;
  }
}

@media (min-width: 1600px) {
  .site-nav .nav-label__sub {
    top: 1px !important;
  }
}

@media (min-width: 1520px) and (max-width: 1599px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (min-width: 1400px) and (max-width: 1499px) {
  .header-inner .header-actions-right .header-gallery-btn--location {
    display: inline-flex !important;
  }
}

@media (min-width: 1500px) and (max-width: 1599px) {
  .header-inner .header-actions-right .header-gallery-btn--location {
    display: inline-flex !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .site-header,
  .site-header.scrolled,
  .site-header .header-inner {
    height: 81px !important;
    min-height: 81px !important;
    max-height: 81px !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .header-inner .header-actions-right {
    gap: 8.5px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 47px !important;
    min-width: 47px !important;
    max-width: 47px !important;
    height: 47px !important;
    min-height: 47px !important;
    max-height: 47px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 12px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    flex-basis: 47px !important;
    gap: 4.3px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 19px !important;
    height: 2.6px !important;
    min-height: 2.6px !important;
    max-height: 2.6px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 28px !important;
    height: 28px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 27px !important;
    height: 27px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 30px !important;
    height: 20px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 47px !important;
    min-height: 47px !important;
    max-height: 47px !important;
    padding: 0 12px 0 12px !important;
    gap: 6.7px !important;
    border-radius: 13px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 12.4px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 11.4px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 13.3px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 26px !important;
    height: 26px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 21px !important;
    min-width: 21px !important;
    max-width: 21px !important;
    height: 21px !important;
    min-height: 21px !important;
    max-height: 21px !important;
    margin-left: 6.5px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 21px !important;
    height: 21px !important;
    grid-template-columns: repeat(3, 5.2px) !important;
    grid-template-rows: repeat(3, 5.2px) !important;
    gap: 2.6px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 5.2px !important;
    height: 5.2px !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: 47px !important;
    min-height: 47px !important;
    max-height: 47px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1365px) {
  .header-inner .header-actions-right {
    gap: 9.5px !important;
  }

  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 51px !important;
    min-width: 51px !important;
    max-width: 51px !important;
    height: 51px !important;
    min-height: 51px !important;
    max-height: 51px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 13px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 30px !important;
    height: 30px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 30px !important;
    height: 30px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 33px !important;
    height: 22px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 134px !important;
    min-width: 134px !important;
    max-width: 134px !important;
    height: 51px !important;
    min-height: 51px !important;
    max-height: 51px !important;
    padding: 0 12px 0 12px !important;
    gap: 7.6px !important;
    border-radius: 14px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 13.3px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 12.4px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 14.3px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 29px !important;
    height: 29px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 23px !important;
    min-width: 23px !important;
    max-width: 23px !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    margin-left: 7.5px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 23px !important;
    height: 23px !important;
    grid-template-columns: repeat(3, 5.7px) !important;
    grid-template-rows: repeat(3, 5.7px) !important;
    gap: 2.85px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 5.7px !important;
    height: 5.7px !important;
  }

  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img {
    width: 163px !important;
    min-width: 163px !important;
    max-width: 163px !important;
    height: 51px !important;
    min-height: 51px !important;
    max-height: 51px !important;
  }
}

@media (min-width: 800px) and (max-width: 991px) {
  .site-header,
  .site-header.scrolled,
  .site-header .header-inner {
    height: 71px !important;
    min-height: 71px !important;
    max-height: 71px !important;
  }

  .header-inner .header-actions-right {
    gap: 7.5px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm,
  .header-inner .header-actions-right .header-whatsapp-picture,
  .header-inner .header-actions-right .header-whatsapp-picture img,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right .header-gallery-btn,
  .header-inner .header-actions-right .hdr-icon-btn--email {
    border-radius: 11px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger {
    flex-basis: 42px !important;
    gap: 3.8px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 17px !important;
    height: 2.4px !important;
    min-height: 2.4px !important;
    max-height: 2.4px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn img {
    width: 25px !important;
    height: 25px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-btn--photo img {
    width: 24px !important;
    height: 24px !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video img {
    width: 28px !important;
    height: 18px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger {
    width: 111px !important;
    min-width: 111px !important;
    max-width: 111px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 11px 0 14px !important;
    gap: 5.7px !important;
    border-radius: 12px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger img {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text {
    font-size: 11.4px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:first-child {
    font-size: 10.5px !important;
  }

  .header-inner .header-actions-right .asesoria-trigger .asesoria-text span:last-child {
    font-size: 12.4px !important;
  }

  .header-inner .header-actions-right .hdr-icon-btn--email img {
    width: 23px !important;
    height: 23px !important;
  }

  .header-inner .header-actions-right .header-more-trigger {
    width: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    height: 19px !important;
    min-height: 19px !important;
    max-height: 19px !important;
    margin-left: 5.7px !important;
  }

  .header-inner .header-actions-right .header-more-grid {
    width: 19px !important;
    height: 19px !important;
    grid-template-columns: repeat(3, 4.8px) !important;
    grid-template-rows: repeat(3, 4.8px) !important;
    gap: 2.4px !important;
  }

  .header-inner .header-actions-right .header-more-grid span {
    width: 4.8px !important;
    height: 4.8px !important;
  }
}

@media (min-width: 1920px) {
  .site-nav .nav-item:nth-child(1) {
    display: flex !important;
  }

  .site-nav .nav-link {
    gap: 3px !important;
  }

  .site-nav .nav-menu-icon,
  .site-nav .nav-link:hover .nav-menu-icon,
  .site-nav .nav-item:hover > .nav-link .nav-menu-icon {
    transform: translateY(0) !important;
  }

  .site-nav .nav-label {
    transform: translateY(1px) !important;
  }
}
/* Agrupación compacta de llamada, ubicación, búsqueda y galerías */
.header-inner .header-actions-right .header-gallery-cluster {
  display: contents;
}

@media (max-width: 1199px) {
  .header-inner .header-actions-right .header-gallery-cluster {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0 !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    background: #ffffff !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn:hover,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn:focus {
    background: #ffffff !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn:hover img,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn:focus img {
    filter: brightness(0) saturate(100%) invert(48%) sepia(25%) saturate(1422%) hue-rotate(129deg) brightness(91%) contrast(85%) !important;
  }
}

@media (max-width: 991px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    background: #ffffff !important;
  }
}

@media (max-width: 767px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    background: #ffffff !important;
  }
}

@media (max-width: 539px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn img,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn--search img,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn--photo img {
    width: 22px !important;
    height: 22px !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn--video img {
    width: 25px !important;
    height: 16px !important;
  }
}

@media (max-width: 529px) {
  .header-inner .header-actions-right .header-gallery-btn--search {
    display: none !important;
  }
}

@media (max-width: 429px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 37px !important;
    min-width: 37px !important;
    max-width: 37px !important;
  }
}

@media (max-width: 399px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }
}

/* Apariencia limpia del menú hamburguesa hasta 1365px */
@media (max-width: 1365px) {
  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-right: 0px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    width: 26px !important;
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
    background: #122339 !important;
    background-color: #122339 !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    display: none !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger::before {
    content: "";
    display: block;
    width: 31px;
    height: 19px;
    flex: 0 0 19px;
    background: url('/cabezote/images/3_lineas_menu_hamburguesa_negro.jpg') center / contain no-repeat;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger:hover::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus::before,
  .header-inner .header-actions-right > button#hamburger.hamburger.open::before {
    display: block;
    background: url('/cabezote/images/3_lineas_menu_hamburguesa_verde.jpg') center / contain no-repeat;
  }
}

/* Hasta 1023px: WhatsApp redondo inmediatamente antes de solicitar asesoría */
@media (max-width: 1023px) {
  .header-inner .header-actions-right .header-gallery-cluster {
    order: 0 !important;
  }

  .header-inner .header-actions-right > a.btn.btn-wa.btn-sm {
    order: 1 !important;
  }

  .header-inner .header-actions-right > .asesoria-trigger {
    order: 2 !important;
  }

  .header-inner .header-actions-right > .nav-icon-btns {
    order: 3 !important;
  }
}

/* Hasta 1023px: hamburguesa ligeramente más pequeña y unida al grupo */
@media (max-width: 1023px) {
  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus {
    margin-right: -5px !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus::before,
  .header-inner .header-actions-right > button#hamburger.hamburger.open::before {
    width: 26px;
    height: 17px;
    flex-basis: 17px;
  }
}

/* 800px a 991px: hamburguesa ligeramente más pequeña */
@media (min-width: 800px) and (max-width: 991px) {
  .header-inner .header-actions-right > button#hamburger.hamburger::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus::before,
  .header-inner .header-actions-right > button#hamburger.hamburger.open::before {
    width: 29px;
    height: 17px;
    flex-basis: 17px;
  }
}

/* Hasta 709px: botón negro con tres líneas, antes del contacto */
@media (max-width: 709px) {
  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus,
  .header-inner .header-actions-right > button#hamburger.hamburger.open {
    order: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    flex-basis: 40px !important;
    gap: 3.5px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #000000 !important;
    border: 0 !important;
    border-radius: 11px !important;
    box-shadow: none !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger:hover {
    background: #24A29E !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus::before,
  .header-inner .header-actions-right > button#hamburger.hamburger.open::before {
    content: none !important;
    display: none !important;
  }

  .header-inner .header-actions-right > button#hamburger.hamburger span,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover span,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus span,
  .header-inner .header-actions-right > button#hamburger.hamburger.open span {
    display: block !important;
    width: 16px !important;
    height: 2.25px !important;
    min-height: 2.25px !important;
    max-height: 2.25px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-radius: 3px !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .header-inner .header-actions-right > .nav-icon-btns {
    display: contents !important;
  }

  .header-inner .header-actions-right > .nav-icon-btns > .hdr-icon-btn--email {
    order: 3 !important;
  }

  .header-inner .header-actions-right > .nav-icon-btns > .header-more-trigger {
    order: 5 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .header-inner .header-actions-right > button#hamburger.hamburger,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus {
    margin-right: 10px !important;
  }
}

@media (min-width: 992px) and (max-width: 1023px) {
  .header-inner .header-actions-right > button#hamburger.hamburger::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:hover::before,
  .header-inner .header-actions-right > button#hamburger.hamburger:focus::before,
  .header-inner .header-actions-right > button#hamburger.hamburger.open::before {
    width: 30px !important;
    height: 18px !important;
    flex-basis: 18px !important;
  }
}

/* Hasta 499px: altura del site header */
@media (max-width: 499px) {
  .site-header,
  .site-header.scrolled,
  .site-header .header-inner {
    height: 66px !important;
    min-height: 66px !important;
    max-height: 66px !important;
  }
}

/* Botón de 9 puntos: imágenes PNG conservando sus tamaños responsive */
.header-inner .header-more-grid {
  background-image: url('/templates/binso/images/icono_boton_9_punticos.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.header-inner .header-more-grid > span {
  display: none !important;
}

.header-inner .header-more-trigger:hover .header-more-grid,
.header-inner .header-more-trigger:focus .header-more-grid,
.header-inner .header-more-trigger[aria-expanded="true"] .header-more-grid {
  background-image: url('/templates/binso/images/icono_boton_9_punticos_verde.png') !important;
}

@media (min-width: 1366px) {
  .header-inner .header-actions-right .header-gallery-btn--photo,
  .header-inner .header-actions-right .header-gallery-btn--photo:hover,
  .header-inner .header-actions-right .header-gallery-btn--photo:focus,
  .header-inner .header-actions-right .header-gallery-btn--video,
  .header-inner .header-actions-right .header-gallery-btn--video:hover,
  .header-inner .header-actions-right .header-gallery-btn--video:focus {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--photo > img {
    content: url('/cabezote/images/boton_galeria_de_fotografias_e_imagenes_de_nuestros_proyectos_de_ascensores_fahenn_en_bogota_colombia.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 5px rgba(18, 35, 57, 0.22)) !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video > img {
    content: url('/cabezote/images/boton_galeria_de_videos_de_nuestros_proyectos_de_ascensores_fahenn_en_bogota_colombia.png') !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: drop-shadow(0 2px 5px rgba(18, 35, 57, 0.22)) !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--photo:hover > img {
    content: url('/cabezote/images/boton_galeria_de_fotografias_e_imagenes_de_nuestros_proyectos_de_ascensores_fahenn_en_bogota_colombia_2.png') !important;
  }

  .header-inner .header-actions-right .header-gallery-btn--video:hover > img {
    content: url('/cabezote/images/boton_galeria_de_videos_de_nuestros_proyectos_de_ascensores_fahenn_en_bogota_colombia_2.png') !important;
  }
}

/* Menús desplegables de las galerías de fotografías y videos */
.header-inner .header-gallery-dropdown {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

.header-inner .header-gallery-dropdown-menu {
  position: absolute !important;
  z-index: 100000 !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  right: auto !important;
  display: block !important;
  width: 150px !important;
  min-width: 150px !important;
  max-width: 150px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  list-style: none !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: 0 5px 25px rgba(9, 34, 32, .7) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%, -4px) !important;
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease !important;
}

.header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu {
  width: 240px !important;
  min-width: 240px !important;
  max-width: 240px !important;
}

.header-inner .header-gallery-dropdown--video .header-gallery-dropdown-menu {
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}

.header-inner .header-gallery-dropdown-menu::before {
  content: "" !important;
  position: absolute !important;
  top: -9px !important;
  left: 50% !important;
  right: auto !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 9px solid transparent !important;
  border-right: 9px solid transparent !important;
  border-bottom: 9px solid #ffffff !important;
  transform: translateX(-50%) !important;
}

.header-inner .header-gallery-dropdown::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  width: 100% !important;
  height: 12px !important;
}

.header-inner .header-gallery-dropdown:hover .header-gallery-dropdown-menu,
.header-inner .header-gallery-dropdown:focus-within .header-gallery-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) !important;
}

.header-inner .header-gallery-dropdown-menu li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header-inner .header-gallery-dropdown-menu li + li {
  border-top: 0 !important;
}

.header-inner .header-gallery-dropdown-menu a {
  position: relative !important;
  display: block !important;
  padding: 6px 16px 6px 30px !important;
  color: #0D312E !important;
  background: #ffffff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.header-inner .header-gallery-dropdown-menu a::before {
  content: "" !important;
  position: absolute !important;
  top: 12px !important;
  left: 16px !important;
  width: 5px !important;
  height: 5px !important;
  background: #24A29E !important;
  border-radius: 50% !important;
  transform: none !important;
}

.header-inner .header-gallery-dropdown-menu a:hover,
.header-inner .header-gallery-dropdown-menu a:focus {
  color: #092220 !important;
  background: #EAF7F7 !important;
}

@media (max-width: 1199px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    background: #ffffff !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn:hover,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn:focus {
    background: #ffffff !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn:hover img,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn:focus img {
    filter: brightness(0) saturate(100%) invert(48%) sepia(25%) saturate(1422%) hue-rotate(129deg) brightness(91%) contrast(85%) !important;
  }
}

@media (max-width: 991px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }
}

@media (max-width: 767px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }
}

@media (max-width: 539px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn img,
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn--photo img {
    width: 22px !important;
    height: 22px !important;
  }

  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn--video img {
    width: 25px !important;
    height: 16px !important;
  }
}

@media (max-width: 429px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 37px !important;
    min-width: 37px !important;
    max-width: 37px !important;
  }
}

@media (max-width: 399px) {
  .header-inner .header-actions-right .header-gallery-cluster > .header-gallery-dropdown > .header-gallery-btn {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }
}

/* Estado activo de los items de las galerías según el Item ID de Joomla */
.itemid-232 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(1) > a,
.itemid-233 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(2) > a,
.itemid-234 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(3) > a,
.itemid-235 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(4) > a,
.itemid-236 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(5) > a,
.itemid-237 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(6) > a,
.itemid-238 .header-inner .header-gallery-dropdown--photo .header-gallery-dropdown-menu li:nth-child(7) > a,
.itemid-241 .header-inner .header-gallery-dropdown--video .header-gallery-dropdown-menu li:nth-child(1) > a,
.itemid-248 .header-inner .header-gallery-dropdown--video .header-gallery-dropdown-menu li:nth-child(2) > a {
  color: #087D78 !important;
  background: #EAF7F7 !important;
  font-weight: 700 !important;
  box-shadow: inset 4px 0 0 #24A29E !important;
}

/* Nuestros Proyectos: nivel 1 inferior y nivel 2 hacia la izquierda */
@media (min-width: 1366px) {
  @keyframes projects-dropdown-down {
    from { translate: 0 -8px; opacity: 0; }
    to { translate: 0 0; opacity: 1; }
  }

  @keyframes projects-dropdown-left {
    from { translate: 8px 0; opacity: 0; }
    to { translate: 0 0; opacity: 1; }
  }

  .site-nav .nav-item--projects-dropdown:hover > .projects-dropdown,
  .site-nav .nav-item--projects-dropdown:has(:focus-visible) > .projects-dropdown {
    display: block !important;
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
    animation: projects-dropdown-down 220ms ease-out both;
  }

  .site-nav .nav-item--projects-dropdown > .projects-dropdown {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 300ms, opacity 300ms ease;
    left: 50% !important;
    right: auto !important;
    width: 360px;
    min-width: 360px;
    transform: translateX(-50%) !important;
    background: #092220;
    border-top: 0 !important;
    padding: 0;
    box-shadow: 0 10px 28px rgba(9, 34, 32, 0.34);
  }

  .site-nav .projects-dropdown-item {
    position: relative;
  }

  .site-nav .projects-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 12px 18px;
    border: 0;
    border-bottom: 1px solid #165F5C;
    background: #0D312E;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.25;
    text-align: left;
    cursor: default;
  }

  .site-nav .projects-dropdown-trigger::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #2ACDCA;
  }

  .site-nav .projects-dropdown-trigger > i {
    margin-left: auto;
  }

  .site-nav .projects-dropdown-item:hover > .projects-dropdown-trigger,
  .site-nav .projects-dropdown-item:has(:focus-visible) > .projects-dropdown-trigger {
    background: #24A29E;
    color: #fff;
  }

  .site-nav .projects-dropdown-item > .projects-dropdown-sub {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 0;
    right: 100%;
    left: auto;
    width: 100%;
    min-width: 100%;
    transform: none;
    border: 0;
    border-top: 0 !important;
    border-radius: 8px 0 8px 8px;
    background: #104543;
    box-shadow: 0 10px 28px rgba(9, 34, 32, 0.34);
    padding: 0;
  }

  .site-nav .projects-dropdown-item:hover > .projects-dropdown-sub,
  .site-nav .projects-dropdown-item:has(:focus-visible) > .projects-dropdown-sub {
    display: block !important;
    visibility: visible;
    opacity: 1;
    animation: projects-dropdown-left 220ms ease-out both;
  }

  .site-nav .nav-item--projects-dropdown:not(:hover):not(:has(:focus-visible)) .projects-dropdown-item > .projects-dropdown-sub {
    transition: visibility 0s linear 300ms, opacity 300ms ease;
  }

  .site-nav .nav-item--projects-dropdown .projects-dropdown-sub li a {
    display: flex !important;
    align-items: flex-start;
    padding: 13px 20px 12px 28px !important;
    font-size: 16px !important;
    color: #fff !important;
    background: #104543 !important;
    border-bottom-color: #165F5C !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  .site-nav .projects-dropdown-sub li a::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    margin-top: 5px;
    margin-right: 9px;
    border-radius: 50%;
    background: #2ACDCA;
  }

  .site-nav .projects-dropdown-sub li a:hover,
  .site-nav .projects-dropdown-sub li a:focus {
    color: #000 !important;
    background: #2ACDCA !important;
  }

  .site-nav .projects-dropdown-sub li a:hover::before,
  .site-nav .projects-dropdown-sub li a:focus::before {
    background: #092220;
  }
}

/* Desplegable vertical de Nuestros Proyectos en el menú hamburguesa */
@media (max-width: 1365px) {
  .mobile-projects-sub {
    padding-left: 0;
    background: #092220;
  }

  .mobile-nav-item--nested {
    border-bottom-color: #165F5C !important;
  }

  .mobile-nav-item--nested > .mobile-nav-btn {
    color: #fff !important;
    background: #0D312E !important;
    font-size: 0.95rem !important;
    padding: 11px 12px !important;
  }

  .mobile-nav-item--nested > .mobile-nav-btn > span {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .mobile-nav-item--nested > .mobile-nav-btn > span::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #2ACDCA;
  }

  .mobile-nav-item--nested > .mobile-nav-btn:hover,
  .mobile-nav-item--nested.mobile-nav-item--open > .mobile-nav-btn {
    color: #fff !important;
    background: #1D817E !important;
  }

  .mobile-nav-sub--nested {
    padding-left: 0;
    background: #104543;
  }

  .mobile-nav-sub--nested li a {
    display: flex !important;
    align-items: flex-start !important;
    color: #fff !important;
    border-bottom: 1px solid #165F5C;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  .mobile-nav-sub--nested li a::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    margin-top: 5px;
    margin-right: 8px;
    border-radius: 50%;
    background: #2ACDCA;
  }

  .mobile-nav-sub--nested li a:hover,
  .mobile-nav-sub--nested li a:focus {
    color: #092220 !important;
    background: #2ACDCA !important;
  }

  .mobile-nav-sub--nested li a:hover::before,
  .mobile-nav-sub--nested li a:focus::before {
    background: #092220;
  }
}
