/* ================================================
   RESPONSIVE BREAKPOINTS
   ================================================ */

/* Large Desktop (1400px+) */
@media (min-width: 1400px) {
    .hero-slide { height: 650px; }
    .hero-content h1 { font-size: var(--fs-5xl); }
}

/* Desktop (1200px - 1399px) */
@media (max-width: 1399px) {
    .mega-menu { min-width: 600px; }
}

/* Laptop (992px - 1199px) */
@media (max-width: 1199px) {
    .hero-slide { height: 500px; }
    .hero-content h1 { font-size: var(--fs-3xl); }
    .mega-menu { min-width: 500px; }
    .section-header h2 { font-size: var(--fs-2xl); }
}

/* Tablet (768px - 991px) */
@media (max-width: 991px) {
    .top-bar .row > div:first-child { display: none; }
    .header-search { max-width: 300px; }
    .nav-bar { display: none; }
    .mobile-menu-toggle { display: block; }
    .hero-slide { height: 450px; }
    .hero-content h1 { font-size: var(--fs-2xl); }
    .hero-content p { font-size: var(--fs-sm); }
    .category-card-img { height: 220px; }
    .product-gallery-main { height: 400px; }
    .cart-table { font-size: var(--fs-sm); }
    .cart-item-info img { width: 60px; height: 60px; }
    .section-padding { padding: var(--space-3xl) 0; }
    .footer-bottom .row > div { text-align: center !important; }
}

/* Mobile Landscape (576px - 767px) */
@media (max-width: 767px) {
    :root {
        --fs-3xl: 2rem;
        --fs-2xl: 1.5rem;
    }
    .top-bar-promo { font-size: 11px; }
    .header-main { flex-wrap: wrap; padding: 12px 0; }
    .header-search { order: 3; max-width: 100%; flex-basis: 100%; margin-top: var(--space-sm); }
    .header-actions { gap: var(--space-md); }
    .header-action-item span { display: none; }
    .hero-slide { height: 400px; }
    .hero-content h1 { font-size: var(--fs-2xl); }
    .hero-controls { bottom: 15px; right: 15px; }
    .hero-controls button { width: 40px; height: 40px; }
    .promo-banner { height: 200px; }
    .promo-banner-content h3 { font-size: var(--fs-lg); }
    .product-card-img { height: 220px; }
    .product-gallery-main { height: 350px; }
    .product-gallery-thumbs img { width: 60px; height: 60px; }
    .product-info h1 { font-size: var(--fs-2xl); }
    .cart-table thead { display: none; }
    .cart-table tbody tr {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-sm);
        padding: var(--space-md);
        border-bottom: 1px solid var(--clr-border-light);
    }
    .cart-table td { padding: 8px 0; border: none; }
    .cart-table td:first-child { grid-column: 1 / -1; }
    .newsletter-form { flex-direction: column; }
    .newsletter-form input, .newsletter-form button { width: 100%; }
    .auth-card { padding: var(--space-xl); }
    .section-padding { padding: var(--space-2xl) 0; }
    .footer-payments { flex-wrap: wrap; }
}

/* Mobile Portrait (< 576px) */
@media (max-width: 575px) {
    .top-bar { display: none; }
    .header-logo a { font-size: var(--fs-lg); }
    .header-logo small { display: none; }
    .hero-slide { height: 350px; }
    .hero-content { padding: 0 var(--space-md); }
    .hero-content h1 { font-size: var(--fs-xl); }
    .hero-content p { display: none; }
    .hero-content .btn-main { padding: 10px 24px; font-size: var(--fs-xs); }
    .category-card-img { height: 180px; }
    .category-card-overlay h3 { font-size: var(--fs-md); }
    .product-card-img { height: 200px; }
    .product-card-body { padding: 12px; }
    .product-card-title { font-size: var(--fs-sm); }
    .promo-banner { height: 180px; }
    .promo-banner-content { padding: var(--space-lg); }
    .promo-banner-content h3 { font-size: var(--fs-base); }
    .testimonial-card { padding: var(--space-lg); }
    .testimonial-card p { font-size: var(--fs-base); }
    .section-header { margin-bottom: var(--space-xl); }
    .section-header-row {
        flex-wrap: wrap;
        gap: var(--space-sm);
    }
    .section-header-row h2 { font-size: var(--fs-lg); }
    .product-info .product-price-group { flex-wrap: wrap; }
    .cart-summary { padding: var(--space-lg); }
    .order-summary-card { padding: var(--space-lg); }
    .site-footer { padding-top: var(--space-2xl); }
}

/* Print */
@media print {
    .top-bar, .site-header, .nav-bar, .newsletter-section, .site-footer,
    .back-to-top, .toast-container, .mobile-nav-overlay { display: none !important; }
    body { color: #000; background: #fff; }
    a { color: #000; text-decoration: underline; }
}
