.canuto-customizer-category-page.canuto-demo-03-page .canuto-shop-title {
    font-size: clamp(2.25rem, 4.2vw, 4.5rem);
    line-height: 0.95;
}

.canuto-customizer-category-page:not(.canuto-demo-03-page) .canuto-shop-content-section {
    padding-top: clamp(24px, 3vw, 48px);
}

.canuto-customizer-category-page .canuto-custom-category-grid {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
    justify-content: center;
    gap: 32px;
}

.canuto-customizer-category-page .canuto-custom-category-grid > * {
    flex: 0 1 320px;
    width: 100%;
    max-width: 320px;
    min-width: 0;
}

@media (min-width: 601px) and (max-width: 1600px) {
    .canuto-customizer-category-page .canuto-custom-category-grid {
        max-width: 660px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid > * {
        flex: 0 0 calc(50% - 16px);
        max-width: 300px;
    }
}

@media (min-width: 1601px) {
    .canuto-customizer-category-page .canuto-shop-content-section > .container {
        width: 100%;
        max-width: 1584px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid {
        max-width: 1520px;
        gap: 32px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid > * {
        flex: 0 0 calc(20% - 25.6px);
        max-width: 300px;
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid {
        column-gap: 42px;
        row-gap: 64px;
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid > * {
        flex-basis: calc(20% - 33.6px);
        max-width: 360px;
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid {
        gap: 48px;
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid > * {
        flex-basis: calc(20% - 38.4px);
        max-width: 290px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid.canuto-custom-category-grid--all {
        max-width: 1200px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid.canuto-custom-category-grid--all > * {
        flex-basis: calc(25% - 24px);
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid.canuto-custom-category-grid--all {
        max-width: 1208px;
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid.canuto-custom-category-grid--all > * {
        flex-basis: calc(25% - 31.5px);
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid.canuto-custom-category-grid--all {
        max-width: 1200px;
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid.canuto-custom-category-grid--all > * {
        flex-basis: calc(25% - 36px);
    }

    .canuto-customizer-category-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) {
        max-width: 964px;
    }

    .canuto-customizer-category-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) > * {
        flex-basis: calc(33.333% - 21.333px);
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) {
        max-width: 1164px;
        column-gap: 42px;
        row-gap: 64px;
    }

    .canuto-customizer-category-page.canuto-demo-03-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) > * {
        flex-basis: calc(33.333% - 28px);
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) {
        max-width: 966px;
        gap: 48px;
    }

    .canuto-customizer-category-page.canuto-demo-04-page .canuto-custom-category-grid:not(.canuto-custom-category-grid--all):has(> :nth-child(6):last-child) > * {
        flex-basis: calc(33.333% - 32px);
    }
}
