/* Shared primary navigation: the five product destinations always use this order. */
.site-nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--qice-line);
  border-radius: var(--qice-radius-pill);
  background: color-mix(in srgb, var(--qice-brand-soft) 66%, var(--qice-surface));
}

.site-nav a {
  display: inline-flex;
  min-height: var(--qice-control-height-compact);
  min-width: 94px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: var(--qice-radius-pill);
  color: var(--qice-muted);
  font-size: var(--qice-text-sm);
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.site-nav a:hover { color: var(--qice-brand-dark); background: var(--qice-brand-soft); }
.site-nav a[aria-current="page"] { color: #fff; background: var(--qice-brand); box-shadow: 0 4px 10px rgba(11, 107, 92, .18); }
.mobile-nav { display: none; position: relative; min-width: 0; }
.mobile-nav > summary {
  display: inline-flex;
  min-height: var(--qice-control-height-compact);
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--qice-line);
  border-radius: var(--qice-radius-sm);
  color: var(--qice-brand);
  background: var(--qice-surface);
  font-size: var(--qice-text-sm);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.mobile-nav > summary::-webkit-details-marker { display: none; }
.mobile-nav > summary::after { margin-inline-start: 7px; content: "⌄"; font-size: 14px; }
.mobile-nav[open] > summary::after { content: "⌃"; }
.mobile-nav > summary:focus-visible { outline: 3px solid var(--qice-focus); outline-offset: 2px; }
.mobile-nav-panel {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  display: grid;
  gap: 6px;
  min-width: min(270px, calc(100vw - 24px));
  padding: 8px;
  border: 1px solid var(--qice-line);
  border-radius: var(--qice-radius-md);
  background: color-mix(in srgb, var(--qice-surface) 97%, transparent);
  box-shadow: var(--qice-shadow-md);
  backdrop-filter: blur(14px);
}
.mobile-nav-panel a {
  display: flex;
  min-height: var(--qice-control-height);
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: var(--qice-radius-sm);
  color: var(--qice-brand-dark);
  font-size: var(--qice-text-sm);
  font-weight: 800;
  text-decoration: none;
}
.mobile-nav-panel a:hover,
.mobile-nav-panel a[aria-current="page"] { color: var(--qice-brand-dark); background: var(--qice-brand-soft); }
.mobile-nav-panel a:focus-visible { outline: 3px solid var(--qice-focus); outline-offset: 2px; }
.mobile-nav-panel form { margin: 0; }
.mobile-nav-panel button {
  width: 100%;
  min-height: var(--qice-control-height);
  padding: 10px 12px;
  border: 0;
  border-radius: var(--qice-radius-sm);
  color: var(--qice-danger);
  background: transparent;
  font-size: var(--qice-text-sm);
  font-weight: 800;
  text-align: start;
  cursor: pointer;
}
.mobile-nav-panel button:hover,
.mobile-nav-panel button:focus-visible { background: var(--qice-brand-soft); outline: 3px solid var(--qice-focus); outline-offset: -2px; }
.nav-premium-badge {
  display: inline-flex;
  align-items: center;
  min-height: 17px;
  margin-inline-start: 4px;
  padding: 1px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 9px;
  letter-spacing: .03em;
  opacity: .8;
}
.site-nav a:focus-visible,
.member-link:focus-visible,
.member-access-link:focus-visible,
.member-global-entry:focus-visible,
.topbar-link:focus-visible { outline: 3px solid var(--qice-focus); outline-offset: 2px; }

.admin-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
}
.admin-nav form { margin: 0; }
.admin-nav a,
.admin-nav button,
.admin-topbar .nav a,
.admin-topbar .nav button {
  min-height: var(--qice-control-height-compact);
  padding: 8px 12px;
  border: 1px solid var(--qice-line);
  border-radius: var(--qice-radius-sm);
  color: var(--qice-brand);
  background: var(--qice-surface);
  font-size: var(--qice-text-xs);
  font-weight: 800;
  text-decoration: none;
}

.admin-nav a:hover,
.admin-topbar .nav a:hover { background: var(--qice-brand-soft); border-color: var(--qice-brand); }
.admin-topbar .nav button { color: var(--qice-danger); cursor: pointer; }

.member-dashboard-shell > .site-topbar { width: 100%; margin: 0 0 var(--qice-space-5); }
.member-dashboard-shell .member-global-nav { justify-content: center; }
