/* Loja — breakpoints mobile / tablet */

@media (min-width: 1024px) {
    .loja-page .products-grid.products-store-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .home-page.loja-page {
        gap: 2rem;
    }

    .loja-band,
    .loja-popular {
        padding: 0.25rem 0 0;
    }

    /* Em ≤900px o nav ainda pode aparecer (≥769px); JS define --header-sticky-offset.
       Fallback cobre logo + pads mobile (0.8rem) + folga — sem subestimar o sticky. */
    #categorias.category-filters {
        scroll-margin-top: calc(
            var(
                --header-sticky-offset,
                calc(0.8rem + var(--header-logo-row, 2.75rem) + 0.8rem + var(--header-nav-approx, 2.75rem))
            )
            + 1rem
        );
    }

    .loja-page .slider-container {
        height: 240px;
    }

    .loja-page .products-grid.products-store-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem;
    }

}

@media (max-width: 640px) {
    .loja-page .slider-container {
        height: 200px;
        border-radius: var(--home-radius, 18px);
    }

    .loja-page .slider-content {
        bottom: 1.75rem;
        padding: 0.75rem 0.85rem;
    }

    .loja-page .slider-title {
        font-size: 1.05rem;
    }

    .loja-page .products-grid.products-store-grid {
        grid-template-columns: 1fr;
    }

    .loja-page .filter-buttons {
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.35rem;
        -webkit-overflow-scrolling: touch;
    }

    .loja-popular .loja-section-head {
        text-align: center;
    }

    .loja-popular .loja-section-head .home-block-title {
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .loja-page .product-card,
    .loja-page .fade-in,
    .loja-page .slider-slide,
    .loja-page .popular-product-link-main {
        transition: none;
        animation: none;
    }
}
