/* DIZ-01 Header v5 visual contract.
 * Loaded as a versioned, header-only layer so an older cached Tailwind bundle
 * cannot produce a mixed old/new header after deployment.
 */
[data-ns-design="DIZ-01-v5"] {
  --ns-h-bg: #ffffff;
  --ns-h-ink: #10212b;
  --ns-h-muted: #6c7a82;
  --ns-h-line: #e4ebee;
  --ns-h-accent: #087e9a;
  --ns-h-accent-hover: #066b83;
  --ns-h-soft: #eaf6f8;
  --ns-h-icon: #536771;
  padding: 12px;
  background: transparent;
}

[data-theme="dark"] [data-ns-design="DIZ-01-v5"] {
  --ns-h-bg: #111d24;
  --ns-h-ink: #f4f7f8;
  --ns-h-muted: #9aabb3;
  --ns-h-line: #263943;
  --ns-h-accent: #36a9c4;
  --ns-h-accent-hover: #53b8cf;
  --ns-h-soft: #17262e;
  --ns-h-icon: #b5c1c6;
}

[data-ns-design="DIZ-01-v5"] > div:first-child {
  max-width: 1440px;
  margin-inline: auto;
  overflow: visible;
  border: 1px solid var(--ns-h-line) !important;
  border-radius: 18px !important;
  background: color-mix(in srgb, var(--ns-h-bg) 97%, transparent) !important;
  color: var(--ns-h-ink) !important;
  box-shadow: 0 8px 30px rgba(15, 35, 45, 0.055) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

[data-ns-design="DIZ-01-v5"] a,
[data-ns-design="DIZ-01-v5"] button {
  -webkit-tap-highlight-color: transparent;
}

[data-ns-design="DIZ-01-v5"] a:focus-visible,
[data-ns-design="DIZ-01-v5"] button:focus-visible {
  outline: 2px solid var(--ns-h-accent) !important;
  outline-offset: 2px;
}

[data-ns-design="DIZ-01-v5"] [data-ns-theme-toggle] {
  border: 1px solid var(--ns-h-line) !important;
  border-radius: 11px !important;
  background: var(--ns-h-soft) !important;
  color: var(--ns-h-icon) !important;
}

[data-ns-design="DIZ-01-v5"] [data-ns-theme-option][data-active="true"] {
  background: var(--ns-h-bg) !important;
  box-shadow: 0 1px 4px rgba(15, 35, 45, 0.12) !important;
}

[data-ns-design="DIZ-01-v5"] [data-ns-mobile-trigger] {
  color: var(--ns-h-icon) !important;
  border-radius: 12px !important;
}

[data-ns-design="DIZ-01-v5"] [data-ns-mobile-trigger]:hover {
  color: var(--ns-h-accent) !important;
  background: var(--ns-h-soft) !important;
}

[data-ns-design="DIZ-01-v5"] a[aria-label="Избранное"] {
  color: var(--ns-h-icon) !important;
}

[data-ns-design="DIZ-01-v5"] a[aria-label="Избранное"]:hover {
  color: var(--ns-h-accent) !important;
  background: var(--ns-h-soft) !important;
}

[data-ns-design="DIZ-01-v5"] .ns-diz01-fallback-add {
  display: inline-flex;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  background: var(--ns-h-accent);
  color: #fff;
  box-shadow: 0 5px 14px rgba(8, 126, 154, 0.15);
  cursor: pointer;
}

[data-ns-design="DIZ-01-v5"] .ns-diz01-fallback-add:hover {
  background: var(--ns-h-accent-hover);
}

@media (max-width: 767px) {
  [data-ns-design="DIZ-01-v5"] {
    padding: 10px 12px;
  }

  [data-ns-design="DIZ-01-v5"] > div:first-child {
    border-color: var(--ns-h-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 7px 24px rgba(15, 35, 45, 0.07) !important;
  }

  [data-ns-design="DIZ-01-v5"] > div:first-child > .md\:hidden {
    min-height: 64px !important;
    padding-inline: 10px !important;
    gap: 6px !important;
  }

  [data-ns-design="DIZ-01-v5"] > div:first-child > .md\:hidden > a[href]:not([aria-label="Избранное"]) {
    color: var(--ns-h-ink) !important;
  }

  [data-ns-design="DIZ-01-v5"] > div:first-child > .md\:hidden > a[href]:not([aria-label="Избранное"]) > span:first-child {
    border-color: #cfe4e9 !important;
    background: #f4fafb !important;
    color: #087e9a !important;
    border-radius: 10px !important;
  }

  [data-theme="dark"] [data-ns-design="DIZ-01-v5"] > div:first-child > .md\:hidden > a[href]:not([aria-label="Избранное"]) > span:first-child {
    border-color: #2b4b55 !important;
    background: #17262e !important;
    color: #36a9c4 !important;
  }

  /* User-approved DIZ correction: keep the wordmark readable on narrow phones.
   * The hyphen is the intentional wrapping point: NOMER- / SVOBODEN.RU.
   */
  [data-ns-design="DIZ-01-v5"] > div:first-child > .md\:hidden > a[href]:not([aria-label="Избранное"]) > strong {
    display: block !important;
    max-width: 88px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.05 !important;
    font-size: 12px !important;
    letter-spacing: -0.01em !important;
  }

  [data-ns-design="DIZ-01-v5"] [data-ns-theme-toggle] {
    width: 58px !important;
    height: 36px !important;
    padding: 4px !important;
  }

  /* User-approved DIZ correction: Login is a compact secondary action;
   * Add object owns the remaining width and stays on one line.
   */
  [data-ns-design="DIZ-01-v5"] [data-ns-mobile-panel] > div > div:last-child .grid {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  [data-ns-design="DIZ-01-v5"] [data-ns-mobile-panel] > div > div:last-child .grid > a:first-child {
    min-width: 92px !important;
    width: 92px !important;
    padding-inline: 14px !important;
    white-space: nowrap !important;
  }

  [data-ns-design="DIZ-01-v5"] [data-ns-mobile-panel] > div > div:last-child .grid > a:last-child {
    min-width: 0 !important;
    padding-inline: 14px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }
}

@media (min-width: 768px) {
  [data-ns-design="DIZ-01-v5"] {
    padding-inline: 16px;
  }
}

@media (min-width: 1280px) {
  [data-ns-design="DIZ-01-v5"] {
    padding-inline: 24px;
    padding-block: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-ns-design="DIZ-01-v5"] *,
  [data-ns-design="DIZ-01-v5"] *::before,
  [data-ns-design="DIZ-01-v5"] *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
