/**
 * IB IMPEX WEAR — Responsive Breakpoint Stylesheet
 * Tested across 320px, 375px, 430px, 768px, 1024px, 1440px, 1920px
 */

/* ==========================================================================
   Desktop / Large Displays (1200px - 1440px+)
   ========================================================================== */
@media (min-width: 1440px) {
    :root {
        --container-width: 1320px;
    }
    .hero-main-title {
        font-size: 5rem;
    }
}

/* ==========================================================================
   Medium / Small Desktops & Large Tablets (992px - 1199px)
   ========================================================================== */
@media (max-width: 1199px) {
    .desktop-nav .nav-list {
        gap: 20px;
    }
    .nav-link {
        font-size: 0.9rem;
    }
    .hero-main-title {
        font-size: 3.8rem;
    }
    .products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .sportswear-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .process-steps-track {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
        gap: 30px;
    }
}

/* ==========================================================================
   Tablets (768px - 991px)
   ========================================================================== */
@media (max-width: 991px) {
    .top-bar-left {
        display: none; /* Keep top bar clean on tablet */
    }
    .top-bar-container {
        justify-content: flex-end;
    }
    .desktop-nav {
        display: none;
    }
    .mobile-toggle-btn {
        display: flex;
    }
    .header-container {
        height: 72px;
    }
    .btn-quote-header {
        display: none; /* Accessible in mobile drawer */
    }
    .hero-section {
        min-height: auto;
        padding: 80px 0 100px 0;
    }
    .hero-main-title {
        font-size: 3.2rem;
    }
    .hero-sub-title {
        font-size: 1.35rem;
    }
    .section-title {
        font-size: 2.2rem;
    }
    .banner-title {
        font-size: 2.6rem;
    }
    .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .two-col-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .about-visual {
        max-width: 580px;
        margin: 0 auto;
    }
    .about-badge-card {
        bottom: -15px;
        right: -15px;
    }
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .embroidery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sportswear-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    .modal-content-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px;
    }
    .modal-main-image-wrap {
        height: 280px;
    }
}

/* ==========================================================================
   Mobile Devices (Landscape & Portrait <= 767px)
   ========================================================================== */
@media (max-width: 767px) {
    .site-container {
        padding-left: 18px;
        padding-right: 18px;
    }
    .top-bar {
        font-size: 0.75rem;
    }
    .top-bar-right {
        gap: 12px;
        justify-content: space-between;
        width: 100%;
    }
    .top-link span {
        max-width: 180px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .brand-mark {
        width: 36px;
        height: 36px;
    }
    .mark-letter {
        font-size: 1.25rem;
    }
    .brand-title {
        font-size: 1.15rem;
    }
    .brand-subtitle {
        font-size: 0.6rem;
    }
    .hero-main-title {
        font-size: 2.5rem;
    }
    .hero-sub-title {
        font-size: 1.15rem;
    }
    .hero-desc {
        font-size: 0.98rem;
    }
    .hero-buttons {
        flex-direction: column;
        width: 100%;
    }
    .hero-buttons .btn {
        width: 100%;
    }
    .section-title {
        font-size: 1.85rem;
    }
    .banner-title {
        font-size: 2.1rem;
    }
    .banner-desc {
        font-size: 1rem;
    }
    .section-highlights {
        margin-top: 0;
        padding: 40px 0;
    }
    .highlights-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .about-badge-card {
        position: static;
        margin-top: 16px;
        max-width: 100%;
    }
    .about-img-main {
        height: 320px;
    }
    .about-features-list {
        grid-template-columns: 1fr;
    }
    .categories-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .embroidery-grid {
        grid-template-columns: 1fr;
    }
    .products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .catalog-search-box {
        max-width: 100%;
    }
    .process-steps-track {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .sportswear-grid {
        grid-template-columns: 1fr;
    }
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .cta-flex-box {
        flex-direction: column;
        align-items: flex-start;
    }
    .cta-buttons-wrap {
        width: 100%;
        flex-direction: column;
    }
    .cta-buttons-wrap .btn {
        width: 100%;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .footer-bottom-flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .form-grid-2 {
        grid-template-columns: 1fr;
    }
    .form-card {
        padding: 24px 18px;
    }
    .floating-whatsapp-btn {
        bottom: 20px;
        right: 20px;
        width: 52px;
        height: 52px;
    }
    .wa-main-icon {
        width: 28px;
        height: 28px;
    }
    .back-to-top-btn {
        bottom: 84px;
        right: 24px;
        width: 40px;
        height: 40px;
    }
    .modal-actions-row {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Small Mobile Viewports (<= 375px)
   ========================================================================== */
@media (max-width: 375px) {
    .hero-main-title {
        font-size: 2.1rem;
    }
    .brand-title {
        font-size: 1.05rem;
    }
    .btn {
        padding: 12px 20px;
        font-size: 0.95rem;
    }
    .top-bar-right {
        font-size: 0.72rem;
    }
}

/* ==========================================================================
   Reduced Motion Preferences
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .wa-ripple {
        animation: none;
    }
    .hero-scroll-indicator {
        animation: none;
    }
}

