/* ============================================================
 * Responsive — 全局媒体查询
 * ============================================================ */

@media (max-width: 1024px) {
  :root {
    --fs-hero: 48px;
    --fs-3xl: 36px;
    --fs-2xl: 28px;
    --container-lg: 100%;
  }
}

@media (max-width: 768px) {
  :root {
    --fs-hero: 36px;
    --fs-3xl: 32px;
    --fs-2xl: 24px;
    --fs-xl: 22px;
    --space-9: 64px;
    --space-8: 48px;
    --space-7: 40px;
  }
  .container { padding: 0 var(--space-3, 12px); }
  .main { padding: var(--space-6, 32px) var(--space-3, 12px); }

  .hero__meta { gap: var(--space-2, 8px); }
  .hero__meta-item {
    font-size: var(--fs-xs, 12px);
    padding: var(--space-1, 4px) var(--space-3, 12px);
  }

  .day-nav {
    flex-direction: column;
  }
  .day-nav__link--next { text-align: left; }

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

  .attractions,
  .themes,
  .checklist,
  .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  :root {
    --fs-hero: 32px;
    --fs-3xl: 28px;
  }
  .hero__title { letter-spacing: 0.02em; }
  .day-header__title { font-size: var(--fs-xl, 22px); }
  .day-header__num { width: 40px; height: 40px; font-size: var(--fs-md, 18px); }
  .attraction { flex-direction: column; gap: var(--space-2, 8px); }
  .attraction__icon { width: 40px; height: 40px; font-size: 22px; }
  .food-section__item { flex-direction: column; gap: var(--space-1, 4px); }
  .map { height: 320px; }
}

/* ---------- 打印 ---------- */
@media print {
  .nav, .footer, #auth-gate, .day-nav { display: none; }
  body { background: #fff; color: #000; }
  .hero { background: #f5f5f5; color: #000; }
}