.filters {
    padding: 0 20px 40px;
    > .wrapper {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .row {
        display: flex;
        align-items: center;
        strong {
            flex: 0 0 140px;
            color: var(--text-5);
            font-weight: 700;
            line-height: 18px;
        }
    }
    .items {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        min-width: 0;
        a {
            padding: 10px 20px;
            border-radius: 12px;
            background: var(--bg-5);
            color: var(--text-5);
            line-height: 18px;
            transition: 0.3s;
            &:hover {
                background: var(--bg-8);
            }
            &[aria-current] {
                background: var(--text-5);
                color: var(--text-6);
                font-weight: 600;
            }
            &:focus-visible {
                outline: var(--border-1);
                outline-offset: 3px;
            }
        }
    }
}
.projects {
    padding: 0 20px 120px;
    .cards {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
    .item {
        display: flex;
        flex-direction: column;
        min-width: 0;
        border-radius: 24px;
        background: var(--bg-5);
        box-shadow: var(--shadow-3);
        overflow: hidden;
    }
    .image {
        display: flex;
        align-items: flex-end;
        position: relative;
        min-height: 260px;
        padding: 30px 30px 44px;
        background: var(--bg-3);
        img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        &::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                180deg,
                rgba(32, 32, 31, 0) 40%,
                rgba(32, 32, 31, 0.8)
            );
        }
        .text {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 4px;
            position: relative;
            z-index: 1;
            min-width: 0;
        }
        .address {
            display: flex;
            align-items: center;
            gap: 6px;
            max-width: 100%;
            padding: 4px 10px;
            border-radius: 8px;
            background: var(--bg-2);
            backdrop-filter: blur(2px);
            color: var(--text-2);
            font-size: 12px;
            font-weight: 700;
            line-height: 16px;
            overflow-wrap: anywhere;
            &::before {
                content: '';
                flex-shrink: 0;
                width: 16px;
                font-family: icon;
                font-size: 16px;
                font-weight: 400;
                color: var(--text-4);
            }
        }
        h2 {
            color: var(--bg-1);
            font-size: 20px;
            font-weight: 800;
            line-height: 26px;
            overflow-wrap: anywhere;
        }
    }
    .content {
        display: flex;
        flex: 1;
        flex-direction: column;
        gap: 20px;
        position: relative;
        margin-top: -24px;
        padding: 30px;
        border-radius: 24px;
        background: var(--bg-5);
    }
    .stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
        > div {
            min-width: 0;
        }
        span {
            display: block;
            font-size: 12px;
            line-height: 15px;
            text-transform: uppercase;
        }
        b {
            display: block;
            margin-top: 2px;
            color: var(--text-5);
            font-size: 16px;
            font-weight: 700;
            line-height: 20px;
            overflow-wrap: anywhere;
        }
        .price {
            b {
                background: var(--gradient-2);
                background-clip: text;
                color: transparent;
            }
        }
    }
    .bottom {
        margin-top: auto;
        padding-top: 20px;
        border-top: var(--border-4);
        .btn {
            justify-content: center;
            width: 100%;
            padding-left: 12px;
            padding-right: 12px;
            box-shadow: none;
            white-space: normal;
            text-align: center;
            &::after {
                content: '\f000';
                flex-shrink: 0;
            }
            &:focus-visible {
                outline: var(--border-1);
                outline-offset: 3px;
            }
        }
    }
}
@media screen and (max-width: 1240px) {
    .projects {
        .cards {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
}
@media screen and (max-width: 768px) {
    .filters {
        padding: 0 16px 24px;
        > .wrapper {
            gap: 20px;
        }
        .row {
            flex-direction: column;
            align-items: flex-start;
            gap: 10px;
            strong {
                flex: none;
            }
        }
        .items {
            a {
                padding: 10px 14px;
                font-size: 12px;
                line-height: 16px;
            }
        }
    }
    .projects {
        padding: 0 16px 60px;
        .cards {
            grid-template-columns: minmax(0, 1fr);
        }
        .item {
            border-radius: 20px;
        }
        .image {
            min-height: 240px;
            padding: 20px 20px 44px;
            h2 {
                font-size: 18px;
                line-height: 23px;
            }
        }
        .content {
            padding: 20px;
            border-radius: 20px;
        }
        .stats {
            gap: 12px;
            span {
                font-size: 10px;
                line-height: 14px;
            }
            b {
                font-size: 14px;
                line-height: 19px;
            }
        }
        .bottom {
            .btn {
                font-size: 14px;
                line-height: 20px;
            }
        }
    }
}