@media (
    max-width: 1023px
) {
    .fd-site-header__inner {
        grid-template-columns:
            auto
            1fr;

        gap:
            var(--fd-space-4);
    }

    .fd-header-actions {
        grid-column: 2;

        justify-self: end;
    }

    .fd-menu-toggle {
        display: inline-flex;
    }

    .fd-primary-nav {
        position: absolute;

        width: 100%;

        top: 100%;
        left: 0;

        padding:
            var(--fd-space-5)
            20px
            var(--fd-space-6);

        border-top:
            1px solid
            var(--fd-color-border);

        border-bottom:
            1px solid
            var(--fd-color-border);

        background:
            var(--fd-color-surface);

        box-shadow:
            var(--fd-shadow-md);
    }

    .fd-js
    .fd-primary-nav {
        visibility: hidden;

        opacity: 0;

        transform:
            translateY(-8px);

        pointer-events: none;
    }

    .fd-js.fd-menu-open
    .fd-primary-nav {
        visibility: visible;

        opacity: 1;

        transform:
            translateY(0);

        pointer-events: auto;
    }

    .fd-primary-nav__list,
    .fd-primary-nav .menu {
        width:
            min(
                100%,
                var(--fd-container)
            );

        margin-inline: auto;

        align-items: stretch;

        flex-direction: column;

        gap: 0;
    }

    .fd-primary-nav a {
        width: 100%;

        min-height: 48px;

        border-bottom:
            1px solid
            var(--fd-color-border);
    }

    .fd-primary-nav
    li:last-child a {
        border-bottom: 0;
    }

    .fd-hero__layout,
    .fd-home-hero__grid,
    .fd-home-simulations__grid,
    .fd-auth-layout,
    .fd-contact-grid,
    .fd-product-primary,
    .fd-product-details,
    .fd-product-simulations {
        grid-template-columns:
            1fr;
    }

    .fd-hero__visual,
    .fd-home-hero__visual {
        justify-content:
            flex-start;
    }

    .fd-hero-card,
    .fd-home-book {
        max-width: 300px;
    }

    .fd-feature-grid,
    .fd-product-grid,
    .fd-benefit-grid,
    .fd-step-grid,
    .fd-content-grid,
    .fd-search-results,
    .fd-storefront
    ul.products,
    .fd-product-benefit-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .fd-footer-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .fd-auth-card {
        justify-self:
            stretch;

        max-width: 680px;
    }

    .fd-final-cta {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .fd-product-primary__summary {
        position: static;
    }

    .fd-product-facts {
        max-width: none;
    }
}

@media (
    max-width: 640px
) {
    :root {
        --fd-header-height:
            68px;
    }

    .fd-container {
        width:
            min(
                calc(100% - 28px),
                var(--fd-container)
            );
    }

    .fd-section {
        padding-block:
            var(--fd-space-12);
    }

    .fd-site-header__inner {
        gap:
            var(--fd-space-2);
    }

    .fd-site-branding__text {
        font-size: 1.15rem;
    }

    .fd-site-branding
    .custom-logo {
        max-width: 145px;
        max-height: 42px;
    }

    .fd-header-account {
        width: 42px;

        padding: 0;
    }

    .fd-header-account__label {
        position: absolute;

        width: 1px;
        height: 1px;

        overflow: hidden;

        clip:
            rect(
                0,
                0,
                0,
                0
            );
    }

    .fd-header-search-toggle {
        display: none;
    }

    .fd-search-form__field {
        align-items: stretch;

        flex-direction: column;
    }

    .fd-search-form__submit {
        width: 100%;
    }

    .fd-hero__visual,
    .fd-home-hero__visual {
        display: none;
    }

    .fd-hero__actions,
    .fd-home-hero__actions {
        align-items: stretch;

        flex-direction: column;
    }

    .fd-hero__actions
    .fd-button,
    .fd-home-hero__actions
    .fd-button {
        width: 100%;
    }

    .fd-home-search__field,
    .fd-catalog-search__field {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        padding:
            var(--fd-space-3);
    }

    .fd-home-search__field
    .fd-button,
    .fd-catalog-search__field
    .fd-button {
        grid-column:
            1 / -1;

        width: 100%;
    }

    .fd-home-hero__trust {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            var(--fd-space-3);
    }

    .fd-feature-grid,
    .fd-product-grid,
    .fd-benefit-grid,
    .fd-step-grid,
    .fd-content-grid,
    .fd-search-results,
    .fd-storefront
    ul.products,
    .fd-product-benefit-grid {
        grid-template-columns:
            1fr;
    }

    .fd-form-grid {
        grid-template-columns:
            1fr;
    }

    .fd-auth-form__row {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .fd-auth-card {
        padding:
            var(--fd-space-5);
    }

    .fd-footer-grid {
        grid-template-columns:
            1fr;
    }

    .fd-footer-brand {
        max-width: none;
    }

    .fd-footer-bottom__inner {
        padding:
            var(--fd-space-5)
            0;

        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .fd-catalog-toolbar {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .fd-catalog-ordering {
        display: grid;

        gap:
            var(--fd-space-2);
    }

    .fd-catalog-ordering select {
        width: 100%;
    }

    .fd-product-primary__summary {
        padding:
            var(--fd-space-5);
    }

    .fd-product-purchase
    form.cart {
        flex-direction:
            column;
    }

    .fd-product-purchase
    .quantity
    .qty {
        width: 100%;
    }

    .fd-product-details,
    .fd-product-simulations {
        gap:
            var(--fd-space-6);
    }

    .fd-not-found__actions {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .fd-not-found__actions
    .fd-button {
        width: 100%;
    }
}

/* P2D - catalogo responsivo */

@media (
    max-width: 1023px
) {
    .fd-catalog-filter-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }
}

@media (
    max-width: 640px
) {
    .fd-catalog-toolbar__top {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .fd-catalog-filter-grid,
    .fd-catalog-price {
        grid-template-columns:
            1fr;
    }

    .fd-catalog-filter-actions {
        align-items:
            stretch;

        flex-direction:
            column;
    }

    .fd-catalog-filter-actions
    .fd-button {
        width: 100%;
    }
}

/* P2E - produto responsivo */

@media (
    max-width: 640px
) {
    .fd-product-context {
        grid-template-columns:
            1fr;
    }

    .fd-product-cover-fallback {
        width: 100%;
    }

    .fd-product-jump-links {
        display: grid;

        grid-template-columns:
            1fr;
    }

    .fd-product-jump-links a {
        justify-content: center;
    }

    .fd-product-purchase {
        padding:
            var(--fd-space-3);
    }

    .fd-product-purchase
    .single_add_to_cart_button {
        width: 100%;
    }
}

@media (
    prefers-reduced-motion:
    reduce
) {
    *,
    *::before,
    *::after {
        scroll-behavior:
            auto !important;

        transition-duration:
            0.01ms !important;

        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;
    }
}
