/* ==========================================================================
   GTA Theme — Responsive Styles
   Breakpoints: 1200px, 1024px, 768px, 480px, 320px
   ========================================================================== */

/* ---- Large Desktop (≤ 1200px) ---- */

@media (max-width: 1200px) {
    .gta-footer__grid {
        gap: var(--space-xl);
    }
}

/* ---- Tablet Landscape (≤ 1024px) ---- */

@media (max-width: 1024px) {
    :root {
        --fs-4xl: 2.5rem;
        --fs-3xl: 2rem;
        --fs-2xl: 1.5rem;
    }

    .gta-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-2xl) var(--space-xl);
    }

    .gta-section {
        padding-top: var(--space-2xl);
        padding-bottom: var(--space-2xl);
    }
}

/* ---- Tablet Portrait (≤ 768px) ---- */

@media (max-width: 768px) {
    :root {
        --fs-4xl: 2.25rem;
        --fs-3xl: 1.75rem;
        --fs-2xl: 1.375rem;
        --header-main-height: 70px;
    }

    .gta-container {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    h1 { font-size: var(--fs-3xl); }
    h2 { font-size: var(--fs-2xl); }
    h3 { font-size: var(--fs-xl); }

    /* WooCommerce Product Grid */
    .woocommerce ul.products[class*="columns-"] {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--space-md);
    }

    .woocommerce ul.products[class*="columns-"] li.product {
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    /* Cart table scroll */
    .woocommerce table.shop_table {
        display: block;
        overflow-x: auto;
    }

    /* 404 */
    .gta-404__code {
        font-size: 6rem;
    }

    .gta-404__title {
        font-size: var(--fs-2xl);
    }
}

/* ---- Mobile (≤ 480px) ---- */

@media (max-width: 480px) {
    :root {
        --fs-4xl: 2rem;
        --fs-3xl: 1.5rem;
        --fs-2xl: 1.25rem;
        --header-main-height: 60px;
    }

    .gta-footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    .gta-footer__main {
        padding: var(--space-2xl) 0 var(--space-xl);
    }

    .gta-footer__col {
        text-align: center;
    }

    .gta-footer__heading::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .gta-footer__social {
        justify-content: center;
    }

    .gta-footer__newsletter-form .gta-btn {
        align-self: center;
    }

    .gta-footer__menu {
        text-align: center;
    }

    /* WooCommerce single column */
    .woocommerce ul.products[class*="columns-"] {
        grid-template-columns: 1fr !important;
    }

    /* Buttons full width */
    .gta-btn--large {
        width: 100%;
    }

    .woocommerce div.product form.cart .button {
        width: 100%;
    }

    /* Checkout */
    .woocommerce #place_order {
        width: 100%;
    }

    /* Section spacing */
    .gta-section {
        padding-top: var(--space-xl);
        padding-bottom: var(--space-xl);
    }
}

/* ---- Small Mobile (≤ 320px) ---- */

@media (max-width: 320px) {
    :root {
        --fs-base: 0.9375rem;
        --fs-4xl: 1.75rem;
        --fs-3xl: 1.375rem;
    }

    .gta-container {
        padding-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .gta-header__top-inner {
        padding-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .gta-btn,
    .gta-btn--large {
        padding: 0.625rem 1.25rem;
        font-size: var(--fs-xs);
    }
}

/* ---- Reduced Motion ---- */

@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;
    }
}
