.site-main {
    & .block {
        & .content:has(aside) {
            display: grid;
            gap: 1rem;

            & .is-layout-constrained {
                &>:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
                    max-width: 100%;
                }
            }

            & .sidebar {
                &>*:not(:last-child, .wp-block-heading) {
                    margin-bottom: 2rem;
                }

                & .wp-block-tag-cloud {
                    &:hover {
                        & a {
                            transition: color .3s ease;

                            &:not(:hover) {
                                color: var(--wp--preset--color--contrast-alpha-50);
                            }

                            &:hover {
                                color: var(--wp--preset--color--contrast);
                            }
                        }
                    }

                    & a {
                        &:focus-visible {
                            outline: none;
                            color: var(--wp--preset--color--focus);
                        }
                    }
                }

                & .wp-block-heading {
                    margin-bottom: 1rem;
                }

                & :is(ul, ol) {
                    padding-left: 0;
                    list-style: none;

                    &.wp-block-latest-comments {
                        margin-block-start: 1.2rem;
                    }

                    & li {
                        transition: color .3s ease;

                        & a:has(svg) {
                            display: flex;
                            align-items: center;
                            gap: .5rem;
                            height: 46px;
                            transition: background-color .3s ease;

                            &:hover {
                                color: var(--wp--preset--color--contrast);
                            }

                            &:focus-visible {
                                outline: none;
                                color: var(--wp--preset--color--focus);
                            }
                        }

                        & .latest-post__body {
                            display: grid;
                            grid-template-columns: auto 1fr;
                            grid-template-rows: 1fr auto;
                            gap: 0 1rem;
                            line-height: 1;
                            margin-bottom: 1rem;
                            transition: background-color .3s ease;

                            &:focus-visible {
                                outline: none;
                                color: var(--wp--preset--color--focus);
                            }

                            & .latest-post-thumbnail-wrapper {
                                grid-column: 1 / 2;
                                grid-row: 1 / 3;

                                & .wp-post-image {
                                    width: 100px;
                                    height: 70px;
                                    object-fit: cover;
                                }
                            }

                            & .wp-block-latest-posts__post-title {
                                align-self: end;
                                font-size: var(--wp--preset--font-size--large);
                                font-weight: 500;
                                white-space: nowrap;
                                overflow: hidden;
                                text-overflow: ellipsis;
                                margin-bottom: .3rem;
                                mask-image: linear-gradient(to right, black 60%, transparent 100%);
                            }

                            & .latest-post-date {
                                font-size: var(--wp--preset--font-size--small);
                                white-space: nowrap;
                                overflow: hidden;
                                text-overflow: ellipsis;
                                mask-image: linear-gradient(to right, black 60%, transparent 100%);
                            }

                            &:hover {
                                background-color: var(--wp--preset--color--tertiary);
                            }
                        }
                    }

                    &:hover {
                        &>li:not(:hover) {
                            color: var(--wp--preset--color--contrast-alpha-50);
                        }
                    }
                }
            }
        }

        &:has(.properties--filter) {
            & .properties--filter {
                & .property-filter-form {
                    background-color: var(--wp--preset--color--base);
                    box-shadow: var(--wp--preset--shadow--post-shadow-light);
                    border: 1px solid var(--wp--preset--color--line);

                    &>.block-filter:not(:last-child) {
                        border-bottom: 1px solid var(--wp--preset--color--line);
                    }

                    & .filter-buttons {
                        padding: 1rem;
                        display: flex;
                        align-items: center;

                        & .title-section {
                            font-size: var(--wp--preset--font-size--medium);
                            flex: 1;
                        }

                        & .btn-reset-filters {
                            font-family: var(--wp--preset--font-family--manrope);
                            font-size: var(--wp--preset--font-size--small);
                            color: var(--wp--preset--color--focus);
                            background-color: transparent;
                            border: none;

                            &:hover {
                                cursor: pointer;
                            }
                        }
                    }

                    & ul {
                        padding: 0;
                        list-style: none;
                    }

                    & .filter-navigation {
                        &>li:not(:last-child) {
                            border-bottom: 1px solid var(--wp--preset--color--line);
                        }

                        & li.menu-item-has-children {
                            & .btn-filter.button-for-submenu {
                                display: flex;
                                align-items: center;
                                gap: .5rem;
                                width: 100%;
                                background-color: transparent;
                                border: none;
                                font-family: var(--wp--preset--font-family--manrope);
                                font-size: var(--wp--preset--font-size--medium);
                                line-height: 1;
                                padding: 1rem;

                                & svg:first-child {
                                    position: relative;
                                    bottom: .1rem;
                                }

                                & .bi-chevron-down {
                                    margin-left: auto;
                                    transition: transform .3s ease;
                                }

                                &.rotate {
                                    padding-bottom: 1rem;

                                    & .bi-chevron-down {
                                        transform: rotate(180deg);
                                    }
                                }

                                &:hover {
                                    cursor: pointer;
                                }
                            }

                            & .sub-menu {
                                max-height: 10000px;
                                overflow: hidden;

                                &.close {
                                    max-height: 0;
                                }

                                & li.menu-item-has-children {
                                    font-size: var(--wp--preset--font-size--small);

                                    & .wrapper-for-title {
                                        display: flex;
                                        padding: .5rem 1rem;

                                        .checkbox-filter-properties {
                                            position: relative;

                                            & input[type="checkbox"]:not(:checked)+label,
                                            & input[type="checkbox"]:checked+label {
                                                padding-left: 1.7em;
                                            }
                                        }

                                        & .button-for-submenu {
                                            margin-left: auto;
                                            padding: 0;
                                            background-color: transparent;
                                            border: none;
                                            width: 1rem;
                                            height: 1rem;
                                            transition: transform .3s ease, color .3s ease;

                                            &:hover {
                                                cursor: pointer;
                                            }

                                            &.rotate {
                                                transform: rotate(45deg);
                                                color: var(--wp--preset--color--focus);
                                            }
                                        }
                                    }

                                    & .sub-menu {
                                        padding: 0 2rem;
                                        transition: padding .3s ease;

                                        &.open {
                                            padding: .25rem 2rem;

                                            & li {
                                                max-height: 30px;
                                            }
                                        }

                                        & li {
                                            font-size: calc(var(--wp--preset--font-size--small) - .125rem);
                                            max-height: 0;
                                            overflow: hidden;
                                            transition: max-height .3s ease;

                                            & p.checkbox-filter-properties {
                                                position: relative;
                                                line-height: 2;

                                                & input[type="checkbox"]:not(:checked)+label,
                                                & input[type="checkbox"]:checked+label {
                                                    padding-left: 1.7em;

                                                    &::before {
                                                        top: .2rem;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        & li.menu-item-has-children.filter.rooms,
                        & li.menu-item-has-children.filter.price {

                            & .sub-menu {
                                padding: 1rem;
                                padding-top: .5rem;
                                display: grid;
                                gap: 1rem;
                                grid-template-columns: 1fr 1fr;

                                &>label {
                                    grid-column: 1 / -1;
                                }

                                &.close {
                                    padding: 0 1rem;
                                }

                                & li {
                                    & .number-input-wrapper {
                                        position: relative;

                                        & button {
                                            display: grid;
                                            place-content: center;
                                            position: absolute;
                                            z-index: 1;
                                            top: 3px;
                                            width: 2rem;
                                            height: calc(100% - 6px);
                                            border: none;
                                            background-color: var(--wp--preset--color--tertiary);
                                            transition: transform .3s ease;
                                        }

                                        & button:nth-child(1) {
                                            left: 3px;
                                        }

                                        & input[type=number] {
                                            position: relative;
                                            z-index: 0;
                                            text-align: center;
                                            font-size: calc(var(--wp--preset--font-size--small) - .125rem);
                                            padding: 0 2.5rem;

                                            &::placeholder {
                                                font-size: calc(var(--wp--preset--font-size--small) - .125rem);
                                            }
                                        }

                                        & button:nth-child(3) {
                                            right: 3px;
                                        }
                                    }
                                }

                                & .price-range {
                                    grid-column: 1 / -1;
                                    display: grid;
                                    ;
                                }
                            }
                        }

                        & li.menu-item-has-children.filter.size {
                            & .sub-menu {
                                & li {
                                    & .sub-menu {
                                        padding: 1rem;
                                        padding-top: .5rem;
                                        display: grid;
                                        gap: 1rem;
                                        grid-template-columns: 1fr 1fr;

                                        &>label {
                                            grid-column: 1 / -1;
                                        }

                                        &.close {
                                            padding: 0 1rem;
                                        }

                                        & li {
                                            & .number-input-wrapper {
                                                position: relative;

                                                & button {
                                                    display: grid;
                                                    place-content: center;
                                                    position: absolute;
                                                    z-index: 1;
                                                    top: 3px;
                                                    width: 2rem;
                                                    height: calc(100% - 6px);
                                                    border: none;
                                                    background-color: var(--wp--preset--color--tertiary);
                                                    transition: transform .3s ease;
                                                }

                                                & button:nth-child(1) {
                                                    left: 3px;
                                                }

                                                & input[type=number] {
                                                    position: relative;
                                                    z-index: 0;
                                                    text-align: center;
                                                    font-size: calc(var(--wp--preset--font-size--small) - .125rem);
                                                    padding: 0 2.5rem;

                                                    &::placeholder {
                                                        font-size: calc(var(--wp--preset--font-size--small) - .125rem);
                                                    }
                                                }

                                                & button:nth-child(3) {
                                                    right: 3px;
                                                }
                                            }
                                        }

                                        & .construction-range,
                                        & .land-range {
                                            grid-column: 1 / -1;
                                            display: grid;
                                            ;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    & .operation.type.search {
                        padding: 1rem;
                    }

                    & .menu-flex {
                        position: relative;
                        height: 40px;
                        gap: .2rem;
                        border: none;
                        overflow: hidden;

                        & :is(.menu-flex--type, .menu-flex--operation) {
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            display: flex;
                            gap: .2rem;
                            padding: .2rem;
                            overflow-x: scroll;
                            padding-right: 1rem;
                            mask-image: linear-gradient(to right, black 80%, transparent 100%);

                            &::-webkit-scrollbar {
                                height: .375rem;
                                background: transparent;
                            }

                            &::-webkit-scrollbar-thumb {
                                background-color: transparent;
                                transition: background-color .3s ease;
                            }


                            & .filter-property {
                                position: relative;

                                &:hover {

                                    & [type="checkbox"]:not(:checked)+label,
                                    & [type="checkbox"]:checked+label {
                                        color: var(--wp--preset--color--contrast);
                                    }
                                }

                                & [type="checkbox"]:not(:checked)+label,
                                & [type="checkbox"]:checked+label {
                                    padding: .2rem;
                                    height: 100%;
                                    z-index: 0;
                                    color: #00000078;
                                    font-size: var(--wp--preset--font-size--small);
                                    display: inline-flex;
                                    align-items: center;
                                    justify-content: center;
                                    gap: .5rem;
                                    transition: color .3s ease;

                                    & svg {
                                        position: relative;
                                        bottom: .2rem;
                                    }
                                }

                                & [type="checkbox"]:not(:checked)+label,
                                & [type="checkbox"]:checked+label {
                                    padding: 0 1rem;
                                    height: 30px;
                                    text-wrap: nowrap;
                                }

                                & [type="checkbox"]:checked+label {
                                    color: var(--wp--preset--color--contrast);
                                }

                                & [type="checkbox"]:not(:checked)+label:before,
                                & [type="checkbox"]:checked+label:before {
                                    content: none;
                                }

                                & [type="checkbox"]:not(:checked)+label:after,
                                & [type="checkbox"]:checked+label:after {
                                    top: 0;
                                    left: 0;
                                    width: 100%;
                                    height: 100%;
                                    z-index: -1;
                                }

                                & [type="checkbox"]:checked+label:after {
                                    background-color: var(--wp--preset--color--base);
                                    box-shadow: #6557311a 0px 2px 4px, #65573113 0px 7px 13px -3px, #65573126 0px -2px 0px inset;
                                }
                            }
                        }
                    }

                    &>.filter {
                        margin-top: .5rem;
                        margin-bottom: 1.5rem;
                    }
                }
            }
        }
    }
}

@media (width >=1024px) {
    .site-main {
        & .block {
            & .content:has(aside) {
                gap: 4rem !important;
                grid-template-columns: 1fr clamp(306.67px, 280px + 2.6vw, 317.5px);

                &:has(.properties--filter) {
                    grid-template-columns: clamp(306.67px, 280px + 2.6vw, 317.5px) 1fr;

                    & .properties--filter {
                        & .property-filter-form {
                            & .operation.type.search {
                                display: none;
                            }
                        }
                    }
                }
            }
        }
    }
}