/* Barra de navegación global (marcado por site-header.js). Cargar después de responsive.css. */
/* Sin margen del documento sobre el menú; el contenido sigue usando .site / .container con su propio margen. */
html{
  margin:0;
  padding:0;
}
body{
  margin:0;
}
.site-header-shell{
  --nav-accent:#28AC8C;
  --nav-muted:#6b7280;
  font-family:Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  box-sizing:border-box;
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  max-width:none;
  margin:0;
  background:var(--nav-shell-bg,#fff);
  border-bottom:1px solid #e6e9ee;
  color:#111;
}
.site-header-shell a,
.site-header-shell button{
  font-family:inherit;
}
.site-header-inner{
  max-width:var(--maxw,min(100vw - 32px, 1720px));
  width:100%;
  margin:0 auto;
  padding:16px var(--pad,clamp(16px,2.2vw,40px));
  box-sizing:border-box;
}
.site-header-common{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:20px;
  row-gap:10px;
  padding:0;
  position:relative;
  padding-right:min(200px,24vw);
}
.site-header-common .brand{
  display:flex;
  gap:12px;
  align-items:center;
  flex-shrink:0;
  grid-column:1;
  grid-row:1;
}
.site-header-common .logo{height:48px}
.site-nav-brand-title{
  font-weight:700;
  color:var(--nav-accent);
}
.site-nav-brand-tagline{
  font-size:13px;
  color:var(--nav-muted);
}
.site-header-common .menu-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  font-size:24px;
  color:var(--nav-accent);
  justify-self:end;
  grid-column:2;
  grid-row:1;
}
.site-header-common nav{
  display:block;
  position:static;
  margin-left:0;
  grid-column:2;
  grid-row:1;
  justify-self:stretch;
  align-self:center;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.site-header-common .nav-list{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  list-style:none;
  padding:0;
  margin:0;
  width:max-content;
  margin-left:auto;
  align-items:center;
  justify-content:flex-end;
}
.site-header-common .nav-list > li > a:not(.cta){
  margin:0 8px;
}
.site-header-common nav a{
  color:var(--nav-muted);
  text-decoration:none;
  font-weight:500;
  white-space:nowrap;
  font-size:0.9375rem;
  display:inline-block;
  padding:0;
}
.site-header-common nav a.cta{
  background:var(--nav-accent);
  color:#fff;
  padding:8px 14px;
  border-radius:8px;
  margin-left:6px;
}
.site-header-common .lang-switcher{
  position:fixed;
  top:8px;
  right:12px;
  display:flex;
  gap:4px;
  align-items:center;
  z-index:2000;
}
.site-header-common .lang-switcher button{
  background:none;
  border:none;
  cursor:pointer;
  padding:0;
  line-height:1;
}
.site-header-common .lang-switcher img{width:20px;height:auto;display:block;border-radius:2px}
.site-header-common .nav-cart-icon{width:22px;height:22px;vertical-align:middle;display:inline-block}

#site-header:empty{
  display:block;
  width:100%;
  min-height:76px;
  box-sizing:border-box;
}

@media (max-width:820px){
  .site-header-common{
    grid-template-columns:1fr auto;
    padding-right:12px;
  }
  .site-header-common .brand{grid-column:1;grid-row:1}
  .site-header-common .menu-toggle{
    display:block;
    grid-column:2;
    grid-row:1;
  }
  .site-header-common nav{
    grid-column:1/-1;
    grid-row:2;
    overflow:visible;
    justify-self:stretch;
  }
  .site-header-common nav:not(.active){display:none}
  .site-header-common nav.active{display:block}
  .site-header-common .nav-list{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    margin-left:0;
    gap:0;
  }
  .site-header-common .nav-list li{
    border-bottom:1px solid #e6e9ef;
    padding-bottom:12px;
    margin-bottom:12px;
  }
  .site-header-common .nav-list li:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
  .site-header-common .nav-list a.cta{display:inline-block;margin-top:8px}
  .site-header-common .logo{height:40px}
}
