/* ============================================================
   DM SPORTS SHOP - Responsive Stylesheet
   Breakpoints: 1440px, 1200px, 1024px, 768px, 640px, 480px, 390px, 360px
   ============================================================ */

/* Large Desktop (1440px) */
@media (max-width: 1440px) {
  .container { max-width: 1200px; }
}

/* Standard Desktop / Laptop (1200px) */
@media (max-width: 1200px) {
  .container { max-width: 980px; }
  .categories-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
  .products-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 1.75rem; }
}

/* Tablets Landscape & Small Laptops (1024px) */
@media (max-width: 1024px) {
  /* Navigation switch to mobile */
  .hamburger { display: flex; }
  
  .main-nav {
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100vh;
    background: #FFFFFF;
    box-shadow: var(--shadow-xl);
    padding: 2rem 1.5rem;
    flex-direction: column;
    align-items: flex-start;
    z-index: 1000;
    transition: left var(--transition-slow);
    overflow-y: auto;
  }

  .main-nav.open {
    left: 0;
  }

  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-fast);
  }

  .nav-overlay.open {
    opacity: 1;
    visibility: visible;
  }

  .nav-close {
    display: block;
    align-self: flex-end;
    font-size: 1.75rem;
    color: var(--secondary);
    margin-bottom: 1.5rem;
    cursor: pointer;
  }

  .nav-list {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0.5rem;
  }

  .nav-list > li {
    width: 100%;
  }

  .nav-list > li > a {
    width: 100%;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--border-light);
  }

  .dropdown {
    position: static;
    box-shadow: none;
    border: none;
    background: var(--background-alt);
    padding: 0.5rem 1rem;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
  }

  .has-dropdown.open .dropdown {
    display: block;
  }

  /* Grid adaptations */
  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .products-wrapper { grid-template-columns: 1fr; }
  
  /* Filter drawer on mobile/tablet */
  .filter-sidebar {
    position: fixed;
    top: 0;
    left: -340px;
    width: 320px;
    height: 100vh;
    z-index: 1001;
    box-shadow: var(--shadow-xl);
    overflow-y: auto;
    transition: left var(--transition-slow);
  }

  .filter-sidebar.open {
    left: 0;
  }

  .filter-sidebar-close {
    display: block;
    width: 100%;
    margin-top: 1.5rem;
    background: var(--primary);
    color: #FFFFFF;
    padding: 0.75rem;
    border-radius: var(--radius-sm);
    font-weight: 700;
  }

  .filter-toggle-btn {
    display: inline-flex;
  }

  /* Layout elements */
  .features-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
  .why-us-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .testimonials-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .product-detail-grid { grid-template-columns: 1fr; gap: 2rem; }
  .cart-grid { grid-template-columns: 1fr; }
  .checkout-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
  .promo-banner-inner { grid-template-columns: 1fr; text-align: center; }
  .promo-banner { padding: 2.5rem 1.5rem; }
  .promo-code-box { margin: 0 auto 1.5rem; }
}

/* Tablets Portrait (768px) */
@media (max-width: 768px) {
  .hero { min-height: 480px; padding: 3rem 0; }
  .hero-title { font-size: 2.5rem; }
  .hero-trust-bar { gap: 1rem; }
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  
  .form-row { grid-template-columns: 1fr; }
  .purchase-controls { flex-direction: column; }
  .btn-add-to-cart, .btn-buy-now { width: 100%; }
  
  .cart-table th:nth-child(2),
  .cart-table td:nth-child(2),
  .cart-table th:nth-child(4),
  .cart-table td:nth-child(4) {
    display: none;
  }

  .confirmation-box { padding: 2rem 1.25rem; }
  .lp-grid { grid-template-columns: 1fr; }
  .lp-cta-floating { display: flex; }
}

/* Large Mobile (640px) */
@media (max-width: 640px) {
  :root {
    --header-height: 64px;
  }
  
  .logo { font-size: 1.6rem; }
  .categories-grid { grid-template-columns: 1fr; }
  .features-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  
  .newsletter-form { flex-direction: column; }
  .newsletter-form .btn { width: 100%; }
  
  .tabs-nav { overflow-x: auto; padding-bottom: 0.5rem; }
  .tab-btn { font-size: 1.05rem; white-space: nowrap; }
}

/* Standard Mobile (480px) */
@media (max-width: 480px) {
  .hero-title { font-size: 2.1rem; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; }
  
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .product-card-content { padding: 0.85rem; }
  .product-card-title { font-size: 0.95rem; }
  .price-current { font-size: 1.15rem; }
  
  .btn-card-cart span { display: none; }
  .btn-card-cart { padding: 0.5rem; }
  
  .product-pricing-box { padding: 1rem; }
  .product-price-current { font-size: 1.85rem; }
}

/* Small iPhone / Android (390px & 360px) */
@media (max-width: 390px) {
  .container { padding-left: 0.85rem; padding-right: 0.85rem; }
  .hero-title { font-size: 1.85rem; }
  .products-grid { grid-template-columns: 1fr; }
  .product-card-actions { grid-template-columns: 1fr; }
  .btn-card-cart span { display: inline; }
}