/**
 * 欢乐谷主题乐园 - 响应式样式 media.css
 * 断点: <768px 移动, 768-1024px 平板, >1024px PC
 */

/* ========== 平板 (768-1024px) ========== */
@media (max-width: 1024px) {
  .container { padding: 0 20px; }

  .section-header { margin-bottom: 36px; }
  .section-header__title { font-size: 28px; }

  .rides-grid { grid-template-columns: repeat(2, 1fr); }
  .rides-grid--list { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .category-card { padding: 28px 20px; }

  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__number { font-size: 40px; }

  .events-layout { grid-template-columns: 1fr; }
  .events-featured { min-height: 280px; }

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

  .page-layout { grid-template-columns: 180px 1fr; gap: 24px; }

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

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

/* ========== 移动端 (<768px) ========== */
@media (max-width: 767px) {
  :root { --header-h: 60px; }
  .container { padding: 0 16px; }

  /* section */
  .section-header { margin-bottom: 28px; }
  .section-header__title { font-size: 24px; }
  .section-header__subtitle { font-size: 14px; }
  .section-header__label { font-size: 12px; }

  /* header */
  .header { height: 60px; }
  .header__logo-icon { width: 34px; height: 34px; font-size: 16px; }
  .header__logo-name { font-size: 17px; }
  .header__logo-sub { font-size: 10px; }

  /* 隐藏PC导航，显示汉堡 */
  .nav,
  .nav__actions { display: none; }
  .hamburger { display: flex; }

  /* hero */
  .hero {
    height: 420px;
    margin-top: 60px;
  }
  .hero__title { font-size: 28px; }
  .hero__subtitle { font-size: 16px; }
  .hero__cta { padding: 12px 28px; font-size: 14px; }
  .hero__slide { padding-bottom: 60px; }
  .hero__arrows { display: none; }

  /* grids */
  .rides-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .rides-grid--list { grid-template-columns: 1fr; }
  .ride-card__body { padding: 14px; }
  .ride-card__title { font-size: 17px; }

  .category-grid { grid-template-columns: 1fr; gap: 16px; }

  .stats { padding: 48px 0; }
  .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .stats__number { font-size: 34px; }
  .stats__label { font-size: 14px; }

  .events-layout { grid-template-columns: 1fr; }
  .events-featured { min-height: 220px; }

  .guide-layout { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer__top { padding: 40px 0 32px; }

  /* list pages */
  .page-layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    order: -1;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 4px;
  }
  .sidebar__filter { flex-direction: row; gap: 8px; }
  .sidebar__filter a { flex-shrink: 0; }
  .sidebar__title { margin-bottom: 12px; }

  /* detail */
  .detail__layout { grid-template-columns: 1fr; }
  .detail__meta { flex-wrap: wrap; }
  .detail__meta-item { flex: 1 1 calc(50% - 8px); }

  .news-list-item { flex-direction: column; }
  .news-list-item__img { width: 100%; aspect-ratio: 16/9; }

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

  /* pagination */
  .pagination a,
  .pagination span { min-width: 34px; height: 34px; font-size: 13px; }

  /* inner banner */
  .inner-banner { height: 200px; }
  .inner-banner__title { font-size: 26px; }
  .inner-banner__sub { font-size: 14px; }

  /* mobile bar */
  .mobile-bar { display: block; }
  body { padding-bottom: 64px; }
  .back-top { bottom: 100px; }

  /* ticket table */
  .ticket-page th,
  .ticket-page td { padding: 10px 12px; font-size: 13px; }

  /* cta */
  .cta-section { padding: 56px 0; }
  .cta-section__title { font-size: 26px; }
}

/* ========== 小手机 (<375px) ========== */
@media (max-width: 374px) {
  .rides-grid { grid-template-columns: 1fr; }
  .stats__grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .hero__title { font-size: 24px; }
}

/* zzm-reviewed-demo-layout-234; original ZIP unchanged */
.events-layout > *, .events-list, .event-item { min-width: 0; }
@media (max-width: 767px) {
  .mobile-bar { position: static; }
  body { padding-bottom: 0; }
}