/* Shared GRID LIFE PLANNER header. Keep sales and compass navigation here. */

.site-header,
.site-header *,
.site-header *::before,
.site-header *::after {
  box-sizing:border-box;
}

.site-header {
  position:sticky;
  top:0;
  z-index:100;
  height:72px;
  border-bottom:1px solid rgba(23,24,21,.16);
  background:rgba(241,238,230,.92);
  backdrop-filter:blur(16px);
}
.header-inner {
  display:flex;
  width:min(1180px,calc(100% - 48px));
  height:100%;
  margin-inline:auto;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  line-height:1;
}
.brand-logo {
  display:block;
  width:clamp(180px,18vw,240px);
  height:auto;
}
.main-nav {
  display:flex;
  min-width:0;
  align-items:center;
  gap:28px;
  color:#171815;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
}
.main-nav a:not(.nav-cta) {
  position:relative;
  white-space:nowrap;
}
.main-nav a:not(.nav-cta)::after {
  position:absolute;
  right:0;
  bottom:-8px;
  left:0;
  height:1px;
  content:"";
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}
.main-nav a:hover::after {
  transform:scaleX(1);
}
.nav-cta {
  display:inline-flex;
  min-height:40px;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:99px;
  background:#171815;
  color:#fff !important;
  font:inherit;
  line-height:1;
  letter-spacing:.1em;
  white-space:nowrap;
}
.scroll-progress {
  position:absolute;
  right:0;
  bottom:-1px;
  left:0;
  height:2px;
  background:#b65938;
  transform:scaleX(0);
  transform-origin:left;
}
.nav-commerce {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  margin-left:4px;
}
.main-nav .nav-cta + .nav-commerce {
  margin-left:-12px;
}
.main-nav .nav-cart {
  position:relative;
  display:inline-flex;
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(23,24,21,.24);
  border-radius:50%;
  background:rgba(251,250,246,.62);
  color:#171815;
  font:inherit;
  line-height:1;
  cursor:pointer;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s,color .2s,transform .2s;
}
.main-nav .nav-cart:hover {
  transform:translateY(-1px);
  background:#171815;
  color:#fff;
}
.nav-commerce-icon {
  display:block;
  width:19px;
  height:19px;
  flex:0 0 auto;
}
.nav-commerce-label {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.nav-cart[aria-busy="true"] {
  opacity:.55;
  pointer-events:none;
}
.nav-rondo-link {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#171815;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  white-space:nowrap;
}
.nav-rondo-link::after {
  position:absolute;
  right:0;
  bottom:-8px;
  left:0;
  height:1px;
  content:"";
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}
.nav-rondo-link:hover::after {
  transform:scaleX(1);
}

@media (max-width:1080px) {
  .main-nav a:not(.nav-cta) {
    display:none;
  }
  .nav-commerce {
    display:none;
  }
  .brand-logo {
    width:min(190px,54vw);
  }
  .nav-cta {
    padding:9px 13px;
  }
}

@media (max-width:820px) {
  .site-header {
    height:62px;
  }
  .header-inner {
    gap:12px;
  }
  .main-nav {
    gap:10px;
  }
  .nav-cta {
    min-height:40px;
    padding:10px 16px;
    font-size:11px;
  }
}

@media (max-width:540px) {
  .header-inner {
    gap:8px;
    width:min(100% - 28px,1180px);
  }
  .main-nav {
    gap:6px;
  }
  .nav-cta {
    flex:0 0 auto;
    min-height:40px;
    padding:10px 13px;
    font-size:11px;
  }
  .brand {
    min-width:0;
  }
  .brand img {
    max-width:100%;
  }
}

@media print {
  .site-header {
    display:none !important;
  }
}
