/* Responsive Design */

@media (max-width: 1280px) {
  .menu-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1024px) {
  .nav-menu {
    display: none;
  }
  .hamburger {
    display: block;
  }
  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .promos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .order-layout {
    grid-template-columns: 1fr;
  }
  .cart-sidebar {
    position: static;
  }
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .account-layout {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .menu-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .locations-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .promos-grid {
    grid-template-columns: 1fr;
  }
  .reviews-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }
  .quick-add-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .values-grid {
    grid-template-columns: 1fr;
  }
  .team-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .menu-grid {
    grid-template-columns: 1fr;
  }
  .locations-grid {
    grid-template-columns: 1fr;
  }
  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .quick-add-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .carousel-item {
    flex: 0 0 260px;
    width: 260px;
  }
}

@media (min-width: 1920px) {
  .menu-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .reviews-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 2560px) {
  .container {
    max-width: 1800px;
  }
}

@media (min-width: 3840px) {
  html {
    font-size: 20px;
  }
  .container {
    max-width: 2400px;
  }
}

@media (max-height: 500px) and (max-width: 768px) {
  .hero {
    min-height: 100vh;
  }
  .mobile-menu {
    overflow-y: auto;
  }
}

@media (hover: none) and (pointer: coarse) {
  .btn {
    min-height: 48px;
  }
  .nav-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .cart-icon {
    min-width: 44px;
    min-height: 44px;
  }
  .hamburger {
    min-width: 44px;
    min-height: 44px;
  }
}

@supports (padding: env(safe-area-inset-top)) {
  .navbar {
    padding-top: max(0.75rem, env(safe-area-inset-top));
  }
  .cookie-banner {
    padding-bottom: max(1.5rem, env(safe-area-inset-bottom));
  }
}
