/* Desktop-only enhancements. Mobile layout remains governed by the original styles. */
@media (min-width: 641px) {
  body {
    background: #edf1f4;
  }

  .app-shell {
    position: relative;
    width: min(100%, 1280px);
    min-height: 100vh;
    margin: 0 auto;
    background: var(--bg);
    box-shadow: 0 0 36px rgba(16, 24, 40, 0.1);
  }

  .page {
    min-height: 100vh;
    padding-bottom: calc(60px + env(safe-area-inset-bottom));
  }

  .search-wrap {
    position: sticky;
    top: 0;
    z-index: 20;
    padding: 12px 18px 14px !important;
    box-shadow: 0 4px 18px rgba(15, 118, 110, 0.14);
  }

  .search-wrap .van-search {
    max-width: 860px;
    margin: 0 auto;
  }

  .banner-swipe {
    margin: 18px 18px 0 !important;
  }

  .banner-img {
    height: 220px !important;
  }

  .notice {
    margin: 14px 18px 0 !important;
  }

  .cat-pills {
    flex-wrap: wrap;
    overflow: visible !important;
    padding: 16px 18px 8px !important;
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 8px 18px 24px;
  }

  .product-card {
    border: 1px solid rgba(229, 231, 235, 0.9);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
  }

  .product-body {
    padding: 12px 14px 14px;
  }

  .product-name {
    font-size: 15px;
  }

  .add-btn {
    width: 34px !important;
    height: 34px !important;
  }

  .van-tabbar--fixed {
    left: 0;
    right: 0;
    width: auto;
    max-width: 1280px;
    margin: 0 auto;
    border-top: 1px solid var(--border);
  }

  .cart-list,
  .order-list,
  .orders-skeleton,
  .mine-page > *,
  .checkout-page > .section-card,
  .order-detail-page > .section-card,
  .success-page > .section-card,
  .success-actions {
    max-width: 960px;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .cart-item {
    padding: 16px 18px !important;
  }

  .orders-page .van-tabs__wrap {
    position: sticky;
    top: 0;
    z-index: 15;
  }

  .cart-page .cart-bar {
    bottom: 50px !important;
    left: 24px !important;
    right: 24px !important;
    width: auto;
    max-width: 912px;
    margin: 0 auto;
    padding: 12px 20px !important;
    transform: none;
    border-radius: 16px 16px 0 0;
  }

  .submit-bar {
    bottom: 0 !important;
    left: 24px !important;
    right: 24px !important;
    width: auto;
    max-width: 912px;
    margin: 0 auto;
    padding: 12px 20px !important;
    transform: none;
    border-radius: 16px 16px 0 0;
  }

  .page.no-tab {
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: 82px;
  }

  .page.no-tab .submit-bar {
    left: 24px !important;
    right: 24px !important;
    max-width: 912px;
  }

  .chat-page {
    max-width: 960px;
    margin: 0 auto;
    border-right: 1px solid var(--border);
    border-left: 1px solid var(--border);
  }
}

@media (min-width: 960px) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
