/* The central tab joins the screen edge; side wings belong to its silhouette. */
:root { --header-height: 76px; }
html { scroll-padding-top: calc(var(--header-height) + 16px); }
.header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: none;
  height: var(--header-height);
  margin: 0;
  padding: 0 5%;
  border: 0;
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: none;
}
.header > * { pointer-events: auto; }
.header .logo, .header .header-actions { position: relative; z-index: 1; }
.header .nav {
  --nav-surface: hsl(var(--theme-h) 21% 12% / .96);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 5px;
  height: 64px;
  padding: 0 20px 5px;
  border: 0;
  border-radius: 0 0 20px 20px;
  background: var(--nav-surface);
  box-shadow: 0 10px 30px #00000024;
}
.header .nav::before, .header .nav::after {
  content: '';
  position: absolute;
  top: 0;
  width: 28px;
  height: 40px;
  background: var(--nav-surface);
  pointer-events: none;
}
.header .nav::before {
  right: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.header .nav::after {
  left: 100%;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.header .nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 11px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  transition: color .25s, background .3s, box-shadow .3s;
}
.header .nav a:hover { color: var(--ink); background: #ffffff08; }
.header .nav a.active {
  color: var(--ink);
  background: hsl(var(--theme-h) 23% 82% / .1);
  box-shadow: inset 0 0 0 1px hsl(var(--theme-h) 25% 83% / .08);
}
.header .nav a:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.header #cart-toggle { border-left: 0; padding: 10px; }
@media (min-width: 1700px) {
  :root { --header-height: 92px; }
  .header .nav { height: 72px; padding-bottom: 7px; }
  .header .nav::before, .header .nav::after { height: 46px; width: 32px; }
}
@media (max-width: 760px) {
  :root { --header-height: 112px; }
  .header { padding: 54px 6% 0; }
  .header .logo { font-size: 24px; }
  .header .nav { height: 54px; gap: 2px; padding: 0 10px 4px; border-radius: 0 0 16px 16px; }
  .header .nav a { font-size: 11px; padding: 0 12px; }
  .header .nav::before, .header .nav::after { width: 20px; height: 32px; }
  .header #cart-toggle { min-width: 44px; min-height: 44px; padding: 8px; }
}
@media (max-width: 360px) {
  .header .nav a { font-size: 10px; padding: 0 10px; }
  .header .nav::before, .header .nav::after { width: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .header .nav a { transition: none; }
}
