/* Route-specific adapter: Simplified Chinese typography and static shell behavior.
   TAZY's shared styles.css remains the sole visual owner of the site composition. */
html[lang^="zh-"] {
  --font-sans: "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;
  --font-serif: "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "STSong", serif;
  --font-ui: var(--font-sans);
  --font-display: var(--font-serif);
  --tracking-normal: 0;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html[lang^="zh-"] body,
html[lang^="zh-"] .pro-home h1,
html[lang^="zh-"] .pro-home h2,
html[lang^="zh-"] .pro-home h3 {
  letter-spacing: 0;
}

html[lang^="zh-"] .pro-home h1 {
  max-width: 19ch;
}

html[lang^="zh-"] .section-label,
html[lang^="zh-"] .pro-home .pro-eyebrow,
html[lang^="zh-"] .pro-access-mark,
html[lang^="zh-"] .breed-guide-prose-index {
  letter-spacing: 0;
}

@media (min-width: 761px) and (max-width: 1020px) {
  html[lang^="zh-"] .dog-question-row {
    min-width: 0;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  }
}

html[lang^="zh-"] .language-switch ul,
html[lang^="zh-"] .mobile-language-switch ul {
  display: flex;
  align-items: center;
  gap: inherit;
  margin: 0;
  padding: 0;
  list-style: none;
}

html[lang^="zh-"] .mobile-language-switch ul,
html[lang^="zh-"] .mobile-language-switch li {
  flex: 1 1 0;
}

html[lang^="zh-"] .zh-mobile-navigation > summary {
  list-style: none;
}

html[lang^="zh-"] .zh-mobile-navigation > summary::-webkit-details-marker {
  display: none;
}

html[lang^="zh-"] .zh-mobile-navigation[open] .mobile-menu {
  display: flex;
  /* The fixed header creates a containing block; use the viewport height. */
  height: 100vh;
  height: 100dvh;
}

html[lang^="zh-"] .zh-mobile-navigation:not([open]) .mobile-menu {
  display: none;
}

/* Keep static route and contribution return links below the fixed header. */
html[lang^="zh-"] .route-view:has(> .static-route-content),
html[lang^="zh-"] .route-view:has(> .public-route-view),
html[lang^="zh-"] .route-view:has(> .open-data-view),
html[lang^="zh-"] .route-view:has(> .lost-found-route),
html[lang^="zh-"] .route-view:has(> .contribute-route) {
  padding-top: calc(var(--header-height, 80px) + 22px);
}

/* Story templates have a fixed site header but no route-shell top offset. */
html[lang^="zh-"] body.public-story-page > main,
html[lang^="zh-"] body.public-stories-index > main {
  padding-top: 6rem;
}

@media (max-width: 1380px) {
  /* Use the existing compact menu layout at the Chinese navigation breakpoint. */
  html[lang^="zh-"] .zh-mobile-navigation[open] .mobile-menu {
    align-items: stretch;
    background: linear-gradient(180deg, var(--surface-header) 0%, var(--surface-base) 100%), var(--surface-base);
  }

  html[lang^="zh-"] .zh-mobile-navigation .mobile-menu > a {
    min-height: 48px;
    justify-content: flex-start;
    padding: 0 14px;
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
    background: var(--surface-raised);
  }

  html[lang^="zh-"] .site-header > .desktop-nav {
    display: none;
  }

  html[lang^="zh-"] .site-header .header-actions > .language-switch {
    display: none;
  }

  html[lang^="zh-"] .site-header .header-actions > .zh-mobile-navigation > summary {
    display: grid;
  }
}

@media (min-width: 1381px) {
  html[lang^="zh-"] .zh-mobile-navigation {
    display: none;
  }
}
