/* Mobile First Approach */ /* Base Styles (Mobile) */ html { font-size: 14px; } .container { padding: 0 1rem; } /* Small Devices (Landscape phones, 576px and up) */ @media (min-width: 576px) { html { font-size: 15px; } .container { max-width: 540px; } } /* Medium Devices (Tablets, 768px and up) */ @media (min-width: 768px) { html { font-size: 16px; } .container { max-width: 720px; } .grid-modern { grid-template-columns: repeat(2, 1fr); } .modal-content { padding: 2.5rem; } .cart-button { width: 70px; height: 70px; } } /* Large Devices (Desktops, 992px and up) */ @media (min-width: 992px) { .container { max-width: 960px; } .grid-modern { grid-template-columns: repeat(3, 1fr); } .hero-content { max-width: 800px; } .modal-content { max-width: 600px; } .admin-modal .modal-content { max-width: 800px; } } /* Extra Large Devices (Large Desktops, 1200px and up) */ @media (min-width: 1200px) { .container { max-width: 1140px; } .grid-modern { grid-template-columns: repeat(4, 1fr); } } /* Specific Component Responsive Styles */ /* Navigation */ @media (max-width: 768px) { .nav-container { padding: 0.5rem; } .logo { height: 40px; } } /* Hero Section */ @media (max-width: 768px) { .hero { min-height: 80vh; } .hero-content { padding: 1rem; } h1 { font-size: 2.5rem; } .subtitle { font-size: 1.2rem; } } /* Product Cards */ @media (max-width: 576px) { .product-card { margin: 0 auto; max-width: 320px; } .product-image { height: 200px; } } /* Cart Modal */ @media (max-width: 576px) { .cart-items { max-height: 300px; } .cart-item { grid-template-columns: 60px 1fr auto; gap: 0.5rem; padding: 0.75rem; } .cart-item-image { width: 60px; height: 60px; } } /* Forms */ @media (max-width: 576px) { .form-group { margin-bottom: 1rem; } .input-modern { padding: 0.5rem 0.75rem; } .button-modern { padding: 0.5rem 1rem; } } /* Admin Panel */ @media (max-width: 992px) { .admin-nav { flex-direction: column; } .admin-content { padding: 1rem; } } /* Notifications */ @media (max-width: 576px) { .notification-container { left: 1rem; right: 1rem; } .notification { max-width: 100%; } } /* Print Styles */ @media print { .no-print { display: none !important; } .container { max-width: 100%; margin: 0; padding: 0; } body { background: white; color: black; } } /* Reduced Motion */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }