/* Responsive Styles */

/* Large Desktop */
@media (max-width: 1400px) {
    .container {
        max-width: 1200px;
    }
    
    .categories-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* Desktop */
@media (max-width: 1200px) {
    .container {
        max-width: 992px;
    }
    
    .categories-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Tablet */
@media (max-width: 992px) {
    .top-bar {
        display: none;
    }
    
    .search-box {
        display: none;
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    .main-nav {
        display: none;
    }
    
    .shop-content {
        grid-template-columns: 1fr;
    }
    
    .filter-sidebar {
        position: fixed;
        top: 0;
        left: -300px;
        width: 300px;
        height: 100vh;
        z-index: 1001;
        border-radius: 0;
    }
    
    .filter-sidebar.active {
        left: 0;
    }
    
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .product-gallery {
        position: static;
    }
    
    .cart-content {
        grid-template-columns: 1fr;
    }
    
    .cart-summary {
        position: static;
    }
    
    .checkout-grid {
        grid-template-columns: 1fr;
    }
    
    .order-summary-sidebar {
        position: static;
        order: -1;
    }
    
    .admin-sidebar {
        width: 200px;
    }
    
    .admin-main {
        margin-left: 200px;
    }
    
    .branch-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .container {
        padding: 0 15px;
    }
    
    .header-content {
        gap: 10px;
    }
    
    .logo img {
        height: 40px;
    }
    
    .cart-icon {
        font-size: 20px;
    }
    
    .cart-count {
        width: 18px;
        height: 18px;
        font-size: 10px;
    }
    
    .hero-slide img {
        height: 250px;
    }
    
    .section-title h2 {
        font-size: 22px;
    }
    
    .categories-section {
        padding: 30px 0;
    }
    
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .category-card {
        padding: 10px;
    }
    
    .category-card h3 {
        font-size: 12px;
    }
    
    .products-section {
        padding: 30px 0;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .product-card {
        min-width: unset;
    }
    
    .product-info {
        padding: 12px;
    }
    
    .product-info h3 {
        font-size: 13px;
    }
    
    .current-price {
        font-size: 16px;
    }
    
    .add-to-cart-btn {
        padding: 8px;
        font-size: 12px;
    }
    
    .shop-page,
    .product-detail-page,
    .cart-page,
    .checkout-page,
    .orders-page,
    .auth-page {
        padding: 20px 0;
    }
    
    .shop-header h1 {
        font-size: 22px;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .cart-header {
        display: none;
    }
    
    .cart-item {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .cart-item-product {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .cart-item-image {
        width: 100%;
        height: 150px;
    }
    
    .cart-item-quantity,
    .cart-item-total {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .cart-item-quantity::before {
        content: 'Qty: ';
        font-size: 14px;
        color: var(--text-light);
    }
    
    .cart-item-total::before {
        content: 'Total: ';
        font-size: 14px;
        color: var(--text-light);
    }
    
    .cart-summary {
        padding: 20px;
    }
    
    .checkout-form {
        padding: 20px;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .auth-container {
        padding: 30px 20px;
    }
    
    .auth-container h1 {
        font-size: 24px;
    }
    
    .order-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .order-summary h3,
    .cart-summary h3 {
        font-size: 18px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .footer-section {
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .footer-section:last-child {
        border-bottom: none;
    }
    
    .admin-wrapper {
        flex-direction: column;
    }
    
    .admin-sidebar {
        position: static;
        width: 100%;
        height: auto;
    }
    
    .admin-main {
        margin-left: 0;
        padding: 20px;
    }
    
    .admin-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .admin-header h1 {
        font-size: 22px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .admin-table {
        overflow-x: auto;
    }
    
    .admin-table table {
        min-width: 600px;
    }
    
    .branches-section {
        padding: 30px 0;
    }
    
    .branch-card {
        padding: 20px;
    }
    
    .slider-nav {
        width: 30px;
        height: 30px;
        font-size: 18px;
    }
    
    .modal-content {
        width: 95%;
        margin: 10px;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .product-detail-price .current-price {
        font-size: 24px;
    }
    
    .detail-add-to-cart {
        flex-direction: column;
    }
    
    .detail-add-to-cart .add-to-cart-btn {
        max-width: 100%;
    }
    
    .quantity-selector {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .view-all-btn a {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    .pagination a {
        width: 35px;
        height: 35px;
        font-size: 12px;
    }
}

/* Landscape Mobile */
@media (max-width: 576px) and (orientation: landscape) {
    .hero-slide img {
        height: 200px;
    }
    
    .product-detail-grid {
        gap: 20px;
    }
}
