/* ============================================================
   Lapis Pandai — 响应式布局
   ============================================================ */

/* ---- 平板 ---- */
@media (max-width: 1024px) {
  .layout { grid-template-columns: 236px minmax(0, 1fr); gap: 20px; }
  .resource-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
}

/* ---- 小平板 / 大手机 ---- */
@media (max-width: 900px) {
  :root { --header-h: 62px; }

  .nav-toggle { display: inline-grid; order: 2; }
  .header-actions { order: 3; }

  .primary-nav {
    position: absolute; top: 100%; left: 0; right: 0;
    margin: 0; padding: 10px 20px 16px;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow);
    display: none;
  }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { flex-direction: column; align-items: stretch; gap: 2px; }
  .primary-nav a { padding: 11px 14px; border-radius: 10px; font-size: .95rem; }

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

  .filter-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 16px; border-radius: 9px;
    border: 1px solid var(--border); background: var(--surface);
    color: var(--text); font: inherit; font-size: .86rem; font-weight: 600; cursor: pointer;
  }
  .filter-toggle .filter-badge {
    display: inline-grid; place-items: center; min-width: 19px; height: 19px;
    padding: 0 5px; border-radius: 999px;
    background: var(--primary); color: #fff; font-size: .68rem;
  }

  .filters {
    position: static; display: none;
    border-radius: var(--radius); margin-bottom: 4px;
  }
  .filters.is-open { display: block; }

  .stats { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 34px 0; }
  .hero { padding: 40px 0 38px; }
  .banner { padding: 24px; }
}

/* ---- 手机 ---- */
@media (max-width: 640px) {
  .container { padding: 0 16px; }

  .brand-text small { display: none; }
  .brand-text strong { font-size: .92rem; }
  .brand-mark { width: 34px; height: 34px; border-radius: 10px; }

  .hero h1 { font-size: 1.6rem; }
  .search-box { flex-direction: column; padding: 10px; border-radius: 16px; }
  .search-box input { padding: 8px 6px; }
  .search-box .btn { width: 100%; }

  .hero-chips { gap: 6px; }
  .chip { font-size: .78rem; padding: 5px 11px; }

  .stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat { padding: 16px 12px; }
  .stat b { font-size: 1.45rem; }

  .tile-grid { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 10px; }
  .tile { padding: 12px; font-size: .84rem; }
  .tile-icon { width: 30px; height: 30px; font-size: .74rem; }

  .resource-grid { grid-template-columns: 1fr; gap: 14px; }
  .rc-desc { min-height: auto; -webkit-line-clamp: 4; }

  .results-toolbar { align-items: stretch; }
  .toolbar-right { width: 100%; justify-content: space-between; }
  .sort-group { flex: 1; }
  .sort-group select { flex: 1; }

  .detail-card { padding: 20px 18px; border-radius: var(--radius); }
  .meta-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 16px; }
  .detail-actions .btn { flex: 1 1 100%; }

  .footer-grid { grid-template-columns: 1fr; gap: 22px; }
  .footer-bottom { flex-direction: column; }

  .toast { bottom: 16px; font-size: .82rem; padding: 10px 18px; }
  .back-to-top { right: 14px; bottom: 14px; width: 40px; height: 40px; }

  .banner { flex-direction: column; align-items: flex-start; text-align: left; }
  .banner .btn { width: 100%; }

  .pagination { gap: 5px; }
  .page-btn { min-width: 34px; height: 34px; padding: 0 9px; font-size: .8rem; }
}

/* ---- 超小屏 ---- */
@media (max-width: 380px) {
  .lang-select { padding: 6px 22px 6px 9px; font-size: .76rem; }
  .header-actions { gap: 5px; }
  .icon-btn { width: 34px; height: 34px; }
  .stats { grid-template-columns: 1fr; }
}

/* ---- 打印 ---- */
@media print {
  .site-header, .site-footer, .back-to-top, .toast, .filters, .pagination { display: none !important; }
  body { background: #fff; color: #000; }
  .resource-card, .detail-card { box-shadow: none; border: 1px solid #ccc; }
  a[href]::after { content: " (" attr(href) ")"; font-size: .75em; color: #555; }
}

/* ---- 减少动画偏好 ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}