/* ===========================================
   responsive.css — 响应式断点（手机/平板/PC）
   断点：≤768 手机 | 769-1024 平板 | ≥1025 PC
   =========================================== */

/* ---------- 平板：≤1024px ---------- */
@media (max-width: 1024px) {
  :root {
    --container-pad: 20px;
    --fs-3xl: 32px;
    --fs-4xl: 40px;
  }

  /* 平板收紧导航 */
  .main-nav {
    gap: 0;
  }

  .main-nav a {
    padding: var(--sp-2);
    font-size: var(--fs-sm);
  }

  .hero {
    height: 480px;
  }

  .hero-title {
    font-size: 44px;
  }

  .hero-subtitle {
    font-size: var(--fs-xl);
  }

  .page-banner {
    height: 280px;
  }

  /* 课程 3列 → 2列 */
  .courses-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 教师 4列 → 3列 */
  .teachers-grid,
  .teachers-page .teachers-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* 教学服务 6列 → 2列 */
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-grid > .service-card,
  .service-grid > .service-card.service-large,
  .service-page .service-grid > .service-card,
  .service-page .service-grid > .service-card.service-large {
    grid-column: span 1;
  }

  /* 优势 5列 → 3列 */
  .advantage-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* 校区 3列 → 2列 */
  .campus-grid,
  .campus-page .campus-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 联系 2列 → 2列（保留）*/
  .contact-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 数据统计 4列 → 2列 */
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-6);
  }

  .stat-num {
    font-size: 36px;
  }

  /* 主营业务 3列 → 2列 */
  .about-biz .biz-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 关于我们 2列 → 1列 */
  .about-block {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }

  /* footer 调整 */
  .footer-inner {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }

  .footer-qrcodes {
    justify-content: flex-start;
  }
}

/* ---------- 手机：≤768px ---------- */
@media (max-width: 768px) {
  :root {
    --container-pad: 16px;
    --header-h: 60px;
    --fs-2xl: 24px;
    --fs-3xl: 26px;
    --fs-4xl: 32px;
  }

  /* 汉堡菜单 */
  .menu-toggle {
    display: flex;
  }

  .main-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 75%;
    max-width: 320px;
    height: 100vh;
    background: var(--c-text-white);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 80px var(--sp-4) var(--sp-4);
    transform: translateX(100%);
    transition: transform var(--tr-base);
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.1);
    z-index: 999;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .main-nav a {
    padding: var(--sp-4);
    border-bottom: 1px solid var(--c-border-light);
    font-size: var(--fs-md);
  }

  .main-nav a::after {
    display: none;
  }

  .main-nav a.active {
    background: var(--c-primary-light);
    color: var(--c-primary);
    border-radius: var(--r-md);
  }

  /* 遮罩 */
  .nav-mask {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: all var(--tr-base);
  }

  .nav-mask.show {
    opacity: 1;
    visibility: visible;
  }

  /* Hero */
  .hero {
    height: 500px;
    padding-top: 80px;
    background-position: center center;
  }

  .hero-inner {
    padding: 0 var(--container-pad) 24px;
  }

  .hero-actions {
    width: 100%;
  }

  .hero-actions .btn {
    flex: 1;
    padding: 10px 16px;
    font-size: var(--fs-sm);
  }

  .hero-tag {
    margin-bottom: var(--sp-4);
  }

  .hero-title {
    font-size: 32px;
  }

  .hero-subtitle {
    font-size: var(--fs-lg);
  }

  .hero-desc {
    font-size: var(--fs-base);
    margin-bottom: var(--sp-6);
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-3);
  }

  .hero-actions .btn {
    width: 100%;
  }

  /* Banner */
  .page-banner {
    height: 200px;
    margin-bottom: 0;
  }

  .page-banner h1 {
    font-size: var(--fs-2xl);
  }

  .page-banner .banner-en {
    font-size: var(--fs-sm);
  }

  /* 区块 */
  .section {
    padding: var(--sp-12) 0;
  }

  .section-title {
    margin-bottom: var(--sp-8);
  }

  .section-title h2 {
    font-size: var(--fs-2xl);
  }

  /* 课程：3列 → 2列 → 1列 */
  .courses-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
  }

  .course-card {
    padding: var(--sp-6);
    min-height: auto;
  }

  .course-card h3 {
    font-size: var(--fs-xl);
  }

  /* 教师：4列 → 2列 */
  .teachers-grid,
  .teachers-page .teachers-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-3);
  }

  .teacher-card {
    padding: var(--sp-4);
  }

  .teacher-avatar {
    width: 100%;
    height: 180px;
  }

  .teacher-name {
    font-size: var(--fs-base);
  }

  .teacher-bio {
    font-size: var(--fs-xs);
    -webkit-line-clamp: 4;
  }

  /* 教学服务：1列 */
  .service-grid,
  .service-page .service-grid {
    grid-template-columns: 1fr;
  }

  .service-grid > .service-card,
  .service-grid > .service-card.service-large,
  .service-page .service-grid > .service-card,
  .service-page .service-grid > .service-card.service-large {
    grid-column: span 1;
  }

  /* 优势：2列 */
  .advantage-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-3);
  }

  .advantage-card {
    padding: var(--sp-4);
  }

  .advantage-icon {
    width: 36px;
    height: 36px;
  }

  /* 资讯列表：缩略图在上 */
  .news-item {
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-4) 0;
  }

  .news-thumb {
    width: 100%;
    height: 180px;
  }

  .news-title {
    font-size: var(--fs-md);
  }

  .news-excerpt {
    font-size: var(--fs-sm);
    -webkit-line-clamp: 2;
  }

  /* 校区：2列 */
  .campus-grid,
  .campus-page .campus-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-3);
  }

  /* 联系：1列 */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
  }

  .contact-card {
    padding: var(--sp-5);
  }

  .contact-card-title {
    font-size: var(--fs-md);
  }

  .contact-row {
    font-size: var(--fs-sm);
  }

  /* 数据统计：2列 */
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-4);
    padding: var(--sp-6) 0;
  }

  .stat-num {
    font-size: 28px;
  }

  .stat-label {
    font-size: var(--fs-sm);
  }

  /* 主营业务：1列 */
  .about-biz .biz-grid {
    grid-template-columns: 1fr;
  }

  /* 关于我们：1列 */
  .about-block {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
    margin-bottom: var(--sp-10);
  }

  .about-block h2 {
    font-size: var(--fs-xl);
  }

  /* footer：堆叠 */
  .site-footer {
    padding: var(--sp-10) 0 var(--sp-6);
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }

  .footer-qrcodes {
    gap: var(--sp-4);
  }

  .qrcode-item img {
    width: 80px;
    height: 80px;
  }

  .footer-bottom {
    font-size: var(--fs-xs);
  }
}

/* ---------- 小屏手机：≤480px ---------- */
@media (max-width: 480px) {
  .hero {
    height: 360px;
  }

  .hero-title {
    font-size: 26px;
  }

  .hero-subtitle {
    font-size: var(--fs-base);
  }

  .hero-desc {
    font-size: var(--fs-sm);
  }

  .btn {
    padding: 10px 20px;
    font-size: var(--fs-sm);
  }

  /* 教师：1列 */
  .teachers-grid,
  .teachers-page .teachers-grid {
    grid-template-columns: 1fr;
  }

  /* 优势：1列 */
  .advantage-grid {
    grid-template-columns: 1fr;
  }

  /* 校区：1列 */
  .campus-grid,
  .campus-page .campus-grid {
    grid-template-columns: 1fr;
  }

  .page-banner {
    height: 160px;
  }

  .page-banner h1 {
    font-size: var(--fs-xl);
  }

  .section {
    padding: var(--sp-8) 0;
  }

  .news-detail-title {
    font-size: var(--fs-xl);
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- 大屏：≥1440px ---------- */
@media (min-width: 1440px) {
  :root {
    --container-max: 1280px;
  }

  .page-banner {
    height: 400px;
  }
}
