@media (max-width: 900px) {
    main {
        padding: 20px;
    }

    .catalog-layout {
        flex-direction: column;
    }

    .catalog-content {
        width: 100%;
    }

    .catalog-header {
        flex-direction: column;
        padding: 22px;
        border-radius: 22px;
    }

    .active-filters {
        flex-direction: column;
    }

    /* Filters */
    .filters {
        position: static;
        width: 100%;
        min-width: 0;
        max-height: none;
    }

    .filters-form {
        max-height: none;
    }

    .filters-body {
        max-height: 360px;
    }

    /* Product detail */
    .product-detail__top {
        grid-template-columns: 1fr;
    }

    .product-detail__main-image {
        min-height: 340px;
    }

    .product-detail__title {
        font-size: 28px;
    }

    .product-characteristics {
        grid-template-columns: 1fr;
    }

    .product-characteristics__row {
        grid-template-columns: 1fr;
    }

    .product-characteristics dt {
        padding-bottom: 4px;
    }

    .product-characteristics dd {
        padding-top: 4px;
    }

    .characteristic-group .product-characteristics {
        grid-template-columns: 1fr;
    }

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
    }

    .cart-item {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .cart-item__controls {
        grid-column: 1 / -1;
        align-items: stretch;
    }

    .cart-quantity {
        justify-content: start;
    }

    .order-layout {
        grid-template-columns: 1fr;
    }

    .order-summary {
        position: static;
    }
}

@media (max-width: 800px) {
    .site-footer__container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .header__top {
        flex-direction: column;
    }

    .search {
        width: 100%;
    }

    .search input {
        width: 100%;
    }

    .actions {
        width: 100%;
        justify-content: center;
    }


    .menu .container {
        justify-content: flex-start;
        overflow-x: auto;
    }

    .catalog-title {
        font-size: 30px;
    }

    .products {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }


    .product-gallery__arrow {
        width: 36px;
        height: 36px;
    }

    .product-gallery__arrow::before {
        font-size: 28px;
    }

    .product-gallery__zoom {
        left: 12px;
        bottom: 12px;
        font-size: 12px;
    }

    .product-gallery__counter {
        right: 12px;
        bottom: 12px;
    }

    .product-gallery-modal {
        padding: 20px;
    }

    .product-gallery-modal__arrow {
        width: 42px;
        height: 42px;
    }

    .product-gallery-modal__arrow::before {
        font-size: 34px;
    }

    .product-gallery-modal__arrow--prev {
        left: 12px;
    }

    .product-gallery-modal__arrow--next {
        right: 12px;
    }

    .product-gallery-modal__close {
        top: 14px;
        right: 14px;
    }

    .product-gallery-modal__close::before {
        font-size: 30px;
    }
}

@media (max-width: 560px) {
    .cart-page__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .cart-item {
        grid-template-columns: 1fr;
    }

    .cart-item__image {
        width: 100%;
        height: 220px;
    }

    .order-page__title,
    .order-success__title {
        font-size: 30px;
    }

    .order-card,
    .order-summary,
    .order-success__card {
        padding: 20px;
    }
        .legal-document {
        padding: 22px;
    }

    .legal-document h1 {
        font-size: 28px;
    }
}