/* =========================================================
   GENERAL STORE - RESPONSIVE
   ========================================================= */

/* ---------- Small tablets (≥600px) ---------- */
@media (min-width: 600px) {
  .gs-category-grid { grid-template-columns: repeat(3, 1fr); }
  .gs-benefits-grid { grid-template-columns: repeat(3, 1fr); }
  .gs-footer-widgets { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Tablets (≥768px) ---------- */
@media (min-width: 768px) {
  .gs-hero-inner { grid-template-columns: 1.1fr 1fr; }
  .gs-hero-art { display: block; }
  .gs-category-grid { grid-template-columns: repeat(4, 1fr); }
  .gs-footer-widgets { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Desktop (≥992px) ---------- */
@media (min-width: 992px) {
  .gs-category-grid { grid-template-columns: repeat(6, 1fr); }
  .gs-footer-widgets { grid-template-columns: repeat(4, 1fr); }
  .gs-content-wrap.has-sidebar,
  .has-sidebar .gs-content-wrap {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

/* ---------- Mobile only (≤767px) ---------- */
@media (max-width: 767px) {
  .gs-header-inner {
    grid-template-columns: auto auto;
    grid-template-areas:
      "brand actions"
      "search search";
    gap: var(--gs-space-md);
  }
  .gs-header-brand   { grid-area: brand; }
  .gs-header-actions { grid-area: actions; }
  .gs-header-search  { grid-area: search; max-width: none; }
  .gs-menu-toggle    { display: inline-flex; }
  .gs-primary-nav    { display: none; }

  .gs-hero { padding: var(--gs-space-xl) 0; }
  .gs-home-section { padding: var(--gs-space-xl) 0; }
  .site-content { padding: var(--gs-space-lg) 0; }
  .gs-footer-bottom-inner { justify-content: center; text-align: center; }
  .gs-footer-menu { justify-content: center; flex-wrap: wrap; }
}

/* ---------- Extra small (≤480px) ---------- */
@media (max-width: 480px) {
  .gs-category-grid { grid-template-columns: repeat(2, 1fr); }
  .gs-btn { padding: 10px 18px; font-size: 0.9rem; }
  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.3rem; }
  .gs-cart-count { font-size: 0.65rem; min-width: 18px; height: 18px; }
}

/* ---------- Desktop: hide mobile drawer ---------- */
@media (min-width: 768px) {
  .gs-mobile-drawer, .gs-mobile-overlay { display: none !important; }
}