/* Keep the same navigation controls and their handlers in both positions. */
html { scroll-padding-top: calc(var(--header-dock-height, 90px) + 24px); }
.site-header.header-selected.header-dock-enabled {
  --dock-top: 0px;
  --dock-padding-y: 8px;
  grid-template-columns: minmax(220px, 1fr) auto;
  grid-template-areas: "brand navigation";
}
.header-navigation-slot { grid-area: navigation; justify-self: end; min-width: 0; }
.header-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 32px);
}
.header-navigation > .contacts, .header-navigation > .header-tools { flex-shrink: 0; }
.header-dock-enabled .menu { position: static; }
.header-dock-enabled .menu-panel {
  top: calc(100% + 8px);
  max-height: calc(100dvh - var(--header-dock-height, 90px) - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.is-navigation-fixed .header-navigation {
  position: fixed;
  z-index: 60;
  top: var(--dock-top);
  left: calc(var(--dock-content-left) - var(--dock-padding-left));
  right: auto;
  width: calc(var(--dock-content-width) + var(--dock-padding-left) + var(--dock-padding-right));
  max-width: 100%;
  padding: var(--dock-padding-y) var(--dock-padding-right) var(--dock-padding-y) var(--dock-padding-left);
  border-radius: 0 0 clamp(28px, 3vw, 50px) clamp(28px, 3vw, 50px);
  background: #eff3f7;
  box-shadow: 0 6px 24px #1f293614, 0 1px 3px #1f293609;
}
.is-navigation-fixed .header-navigation .menu-panel { right: 0; }
@media (max-width:1050px) {
  .site-header.header-selected.header-dock-enabled {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "brand" "navigation";
  }
  .header-navigation-slot { width: 100%; justify-self: stretch; }
  .header-navigation { gap: 16px; }
}
@media (max-width:760px) {
  .header-navigation { gap: 12px; }
  .is-navigation-fixed .header-navigation {
    left: 0;
    right: 0;
    width: auto;
    /* Full-width surface; its content keeps the exact original coordinates. */
    padding-inline: var(--dock-content-left) var(--dock-content-right);
    border-radius: 0 0 28px 28px;
  }
}
@media (max-width:520px) {
  .header-navigation { gap: 8px; }
}
@media (max-width:349px) {
  .site-header.header-selected.header-dock-enabled { --dock-padding-y: 6px; }
  .header-navigation { flex-direction: column; align-items: center; gap: 8px; }
}
