/* Меню сайта: сетка разделов, ссылки и блок прогресса.
   Часть v3/header.css; порядок частей важен — см. static/README.md. */
/* ─── Меню сайта: сетка разделов и его содержимое ─────────────────────── */
.site-menu,
#site-menu {
  --site-menu-columns-gap: var(--space-6) 36px;
  --site-menu-title-margin: var(--control-gap-tight) 0 var(--control-gap-loose);
  --site-menu-list-gap: var(--control-gap-wide);
  --site-menu-account-login-offset: var(--control-gap-2xs);
  --site-menu-link-gap: var(--control-gap-base);
  --site-menu-badge-padding: var(--space-1) var(--space-3);
  --site-menu-progress-margin: var(--space-1) 0 var(--control-gap-2xs);
  --site-menu-progress-padding: var(--control-gap-wide) var(--control-padding-x-base);
  --site-menu-progress-gap: var(--control-gap-base);
  --site-menu-title-color: var(--text-secondary);
  --site-menu-title-size: var(--type-control-size);
  --site-menu-title-track: 0.06em;
  --site-menu-title-transform: uppercase;
  --site-menu-link-border: var(--theme-border-normal);
  --site-menu-link-bg: var(--surface-muted);
  --site-menu-link-color: var(--text-primary);
  --site-menu-link-size: 17px;
  --site-menu-link-border-hover: var(--theme-border-strong);
  --site-menu-link-bg-hover: var(--surface-elevated);
  --site-menu-link-primary-bg: var(--action-primary-bg);
  --site-menu-link-primary-bg-hover: var(--action-primary-bg-hover);
  --site-menu-link-primary-color: var(--action-primary-fg);
  --site-menu-link-primary-weight: var(--type-control-weight);
  --site-menu-badge-border: var(--emphasis-outline-card);
  --site-menu-badge-bg: var(--surface-base);
  --site-menu-badge-color: var(--text-secondary);
  --site-menu-badge-size: 10px;
  --site-menu-badge-track: var(--hierarchy-status-track);
  --site-menu-badge-transform: uppercase;
  --site-menu-badge-line-height: var(--type-control-line);
  --site-menu-progress-border: var(--emphasis-outline-card);
  --site-menu-progress-bg: var(--theme-action-secondary-bg);
  --site-menu-progress-bg-hover: var(--theme-action-secondary-bg-hover);
  --site-menu-progress-border-hover: var(--border-color);
  --site-menu-progress-label-color: var(--text-secondary);
  --site-menu-progress-label-size: var(--font-size-xs);
  --site-menu-progress-label-track: 0.04em;
  --site-menu-progress-label-transform: uppercase;
  --site-menu-progress-value-color: var(--text-primary);
  --site-menu-progress-value-size: var(--font-size-sm);
  --site-menu-progress-value-weight: var(--type-control-weight);
  --site-menu-progress-track-bg: var(--surface-base);
  --site-menu-progress-track-border: var(--emphasis-outline-surface-quiet);
  --site-menu-progress-fill: var(--emphasis-accent-brand);
  --site-menu-progress-meta-color: var(--text-secondary);
  --site-menu-progress-meta-size: var(--font-size-xs);
  --site-header-menu-link-size-mobile: var(--site-menu-link-size);
  margin: 0;
  width: 100%;
}

/* Mobile-only actions (search + account): hidden on desktop */
.site-menu__mobile-actions {
  display: none;
}

[data-site-menu-grid] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--site-menu-columns-gap);
}

[data-site-menu-group] {
  padding: 0;
}

[data-site-menu-group][hidden] {
  display: none !important;
}

[data-site-menu-title] {
  display: block;
  width: 100%;
  margin: var(--site-menu-title-margin);
  padding: 0;
  border: 0;
  background: none;
  color: var(--site-menu-title-color);
  text-align: left;
  font: inherit;
  font-size: var(--site-menu-title-size);
  letter-spacing: var(--site-menu-title-track);
  text-transform: var(--site-menu-title-transform);
}

[data-site-menu-list] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--site-menu-list-gap);
}

[data-site-menu-login] {
  margin-bottom: var(--site-menu-account-login-offset);
}

.site-menu__group-sep {
  height: 1px;
  background: var(--site-menu-link-border);
  margin: calc(var(--site-menu-list-gap) * -0.25) 0;
}

.site-menu .menu-button {
  --menu-button-padding: 0 12px;
  --menu-button-border: var(--site-menu-link-border);
  --menu-button-border-hover: var(--site-menu-link-border-hover);
  --menu-button-bg: var(--site-menu-link-bg);
  --menu-button-bg-hover: var(--site-menu-link-bg-hover);
  --menu-button-bg-active: var(--site-menu-link-bg-hover);
  --menu-button-color: var(--site-menu-link-color);
  --menu-button-color-hover: var(--site-menu-link-color);
  --menu-button-gap: var(--site-menu-link-gap);
  --menu-button-font-size: var(--site-menu-link-size);
  text-decoration: none;
}

.site-menu .menu-button[data-site-menu-primary] {
  --menu-button-justify: center;
  --menu-button-border: transparent;
  --menu-button-border-hover: transparent;
  --menu-button-bg: var(--site-menu-link-primary-bg);
  --menu-button-bg-hover: var(--site-menu-link-primary-bg-hover);
  --menu-button-bg-active: var(--site-menu-link-primary-bg-hover);
  --menu-button-color: var(--site-menu-link-primary-color);
  --menu-button-color-hover: var(--site-menu-link-primary-color);
  --menu-button-font-weight: var(--site-menu-link-primary-weight);
}

.site-menu .menu-button .text-summary {
  min-width: 0;
}

.site-menu .menu-button .badge {
  margin-left: auto;
  --badge-padding: var(--site-menu-badge-padding);
  --badge-border: var(--site-menu-badge-border);
  --badge-bg: var(--site-menu-badge-bg);
  --badge-color: var(--site-menu-badge-color);
  --badge-size: var(--site-menu-badge-size);
  --badge-track: var(--site-menu-badge-track);
  --badge-transform: var(--site-menu-badge-transform);
  --badge-line: var(--site-menu-badge-line-height);
}

[data-account-progress-link].item-card {
  --item-card-gap: var(--site-menu-progress-gap);
  --item-card-padding: var(--site-menu-progress-padding);
  --item-card-radius: var(--surface-radius);
  --item-card-bg: var(--theme-surface-base);
  --item-card-border: 1px solid var(--theme-border-normal);
  --item-card-hover-bg: var(--theme-surface-subtle);
  --item-card-hover-border: 1px solid var(--theme-border-focus);
  margin: var(--site-menu-progress-margin);
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

[data-account-progress-link] .layout-cluster {
  justify-content: space-between;
  align-items: center;
}

[data-account-progress-link] .text-meta {
  --text-meta-size: var(--site-menu-progress-label-size);
  --text-meta-color: var(--site-menu-progress-label-color);
  --text-meta-track: var(--site-menu-progress-label-track);
  --text-meta-text-transform: var(--site-menu-progress-label-transform);
}

[data-account-progress-link] .text-metric {
  --text-metric-size: var(--site-menu-progress-value-size);
  --text-metric-weight: var(--site-menu-progress-value-weight);
  --text-metric-color: var(--site-menu-progress-value-color);
}

[data-account-progress-link] .progress-bar {
  --progress-bar-bg: var(--site-menu-progress-track-bg);
  border: var(--site-menu-progress-track-border);
}

[data-account-progress-link] .progress-bar span {
  --progress-bar-fill: var(--site-menu-progress-fill);
}

[data-account-progress-link] .text-hint {
  --text-hint-size: var(--site-menu-progress-meta-size);
  --text-hint-color: var(--site-menu-progress-meta-color);
}

.site-menu__prefs {
  display: flex;
  align-items: center;
  gap: var(--control-gap-base);
  padding-top: var(--control-gap-wide);
  margin-top: var(--control-gap-wide);
  border-top: 1px solid var(--site-menu-link-border);
}

.site-menu__prefs-theme {
  --button-icon-box-size: 32px;
  --button-icon-size: 14px;
  margin-left: auto;
}

.site-menu__prefs-label {
  font-size: var(--site-menu-title-size);
  letter-spacing: var(--site-menu-title-track);
  text-transform: var(--site-menu-title-transform);
  color: var(--site-menu-title-color);
  white-space: nowrap;
}
