/* 响应式 / 媒体查询（与 page.css 配套；SP = small-screen / breakpoint styles） */

@media (max-width: 1000px) {
  body:has(.hz-section-nav) section[id],
  body:has(.hz-section-nav) [id^="page"] {
    scroll-margin-top: calc(78px + 72px);
  }
}

@media (max-width: 720px) {
  .hz-section-nav-inner {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 14px;
    scrollbar-width: thin;
    gap: 8px;
  }
}

@media (max-width: 1100px) {
  .hz-hobby-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .hz-hobby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .hz-hobby-group-grid {
    gap: 10px;
  }

  .hz-story-list { gap: 14px; }

  .hz-story-card { flex-direction: column; gap: 12px; }

  .hz-story-card { padding: 10px; }

  .hz-story-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .hz-story-body {
    padding: 12px 14px 8px;
  }

  .hz-fedu-row {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding: 18px 16px;
    gap: 14px;
  }

  .hz-fedu-pill {
    align-self: flex-end;
  }

  .hz-hobby-caption {
    font-size: 15px;
    padding: 12px 10px 14px;
  }
}

@media (max-width: 400px) {
  .hz-hobby-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .hz-award-wrap {
    padding: 0;
  }

  .hz-award-nav {
    width: 36px;
    height: 44px;
  }

  .hz-award-prev {
    left: 0;
  }

  .hz-award-next {
    right: 0;
  }

  .hz-award-thumb {
    height: 200px;
  }
}

@media (max-width: 1000px) {
  .hz-about-profile-inner {
    padding: 30px 16px;
  }

  .hz-about-profile .hz-hero-layout {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 28px;
  }

  .hz-about-profile .hz-hero-video-wrap {
    max-width: none;
    aspect-ratio: 16 / 9;
  }

  .hz-gallery {
    grid-template-columns: 1fr;
  }

  .hz-gallery-img-wrap {
    height: 250px;
  }

  .hz-gallery .hz-video {
    height: 250px;
  }

  .hz-project-body {
    grid-template-columns: 1fr;
  }

  /* 单列时恢复 DOM 顺序：先视频后文字 */
  .hz-projects .hz-project:nth-of-type(even) .hz-project-media,
  .hz-projects .hz-project:nth-of-type(even) .hz-project-text {
    order: 0;
  }

  /* 单列时不必拉满高度，避免视频在窄屏异常撑高 */
  .hz-project-media {
    display: block;
  }

  .hz-project-media .hz-video.hz-video-contained {
    flex: none;
    height: auto;
    min-height: 0;
    max-height: min(56vw, 320px);
    aspect-ratio: 16 / 9;
  }

  /* 媒体与荣誉里程碑：窄屏主区单列，年份条可横向滑动 */
  .hz-media-feature-wrap {
    padding: 0 40px;
  }

  .hz-media-milestone-split {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px 18px 22px;
    min-height: 0;
  }

  .hz-media-ruler-inner {
    padding: 6px 0 10px;
  }

  .hz-contact-wrap {
    grid-template-columns: 1fr;
  }

  .hz-section {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 1100px) {
  .vid-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-detail-doc {
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .contact-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .vid-grid {
    grid-template-columns: 1fr;
  }

  .news-page-grid {
    grid-template-columns: 1fr;
  }

  .contact-info-grid {
    grid-template-columns: 1fr;
  }

  .news-detail-meta-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-detail-meta-nav {
    justify-content: flex-start;
    width: 100%;
  }

  .news-detail-doc {
    padding: 28px 0 32px;
  }

  .vid-pagination {
    margin-top: 28px;
  }

  .vid-pager {
    gap: 6px 8px;
  }

  .vid-pagination .pagination {
    gap: 6px 8px;
  }

  .vid-pager-link {
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    font-size: 13px;
  }

  .vid-pagination .pagination > li > a,
  .vid-pagination .pagination > li > span {
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    font-size: 13px;
  }

  .vid-pager-prev,
  .vid-pager-next {
    min-width: 64px;
    padding: 0 10px;
  }

  .vid-pager-ellipsis {
    min-width: 28px;
    height: 36px;
  }

  .system-doc {
    padding: 28px 18px 32px;
  }

  .system-doc-header {
    margin-bottom: 28px;
    padding-bottom: 22px;
  }

  .system-doc-meta {
    font-size: 12px;
  }

  .system-p {
    font-size: 14px;
    text-align: left;
  }

}

/* 全站字体优先 MiSans（覆盖 Layui 等对 body/表单字体的重置；需在本文件引入于 layui 之后） */
html,
body,
button,
input,
select,
textarea,
optgroup {
  font-family: var(--font-sans) !important;
}
