.objects-page {
    display: flex;
    flex-direction: column;
    gap: 24px;

    .page-title {
        margin-bottom: 6px;
    }

    .objects-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;

        .tag-btn {
            padding: 8px 16px;
            border: 0.7px solid var(--color-blue);
            border-radius: 25px;
            color: var(--color-blue);
            text-decoration: none;
            font-size: 18px;
            transition: all 0.2s ease;

            &:hover, &.active {
                background-color: var(--color-blue);
                color: var(--color-white);
                border-color: var(--color-blue);
            }
        }
    }

    .objects-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;

        @media (max-width: 992px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @media (max-width: 576px) {
            grid-template-columns: 1fr;
        }

        .object-card {
            position: relative;
            height: 320px;
            background-size: cover;
            background-position: center;
            overflow: hidden;
            border-radius: 4px;

            .object-card__link {
                display: block;
                width: 100%;
                height: 100%;
                text-decoration: none;

                .object-card__overlay {
                    position: absolute;
                    inset: 0;
                    background: linear-gradient(180deg, rgba(11, 43, 72, 0.1) 0%, rgba(11, 43, 72, 0.85) 100%);
                    padding: 20px;
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-end;
                    color: var(--color-white);
                    transition: background 1s ease;

                    .object-card:hover & {
                        background: rgb(11 43 72 / 70%);
                    }

                    .object-card__top {
                        display: flex;
                        flex-direction: column;
                        gap: 16px;
                        flex-grow: 0;
                        transition: flex-grow 0.5s cubic-bezier(0.4, 0, 0.2, 1);

                        .object-card:hover & {
                            flex-grow: 1;
                        }

                        .object-card__title {
                            color: var(--color-white);
                            font-size: 18px;
                            font-weight: 600;
                            margin: 0;
                            line-height: 1.3;

                            .object-card:hover & {
                                font-size: 24px;
                            }
                        }

                        .object-card__meta {
                            list-style: none;
                            padding: 0;
                            margin: 0;
                            display: none;
                            flex-direction: column;
                            gap: 12px;

                            .object-card:hover & {
                                display: flex;
                            }

                            .meta-item {
                                display: flex;
                                align-items: center;
                                gap: 10px;

                                span {
                                    font-size: 14px;
                                    color: rgba(255, 255, 255, 0.9);
                                }

                                svg {
                                    flex-shrink: 0;
                                    stroke: rgba(255, 255, 255, 0.7);
                                }
                            }
                        }
                    }

                    .object-card__details {
                        max-height: 0;
                        opacity: 0;
                        overflow: hidden;
                        transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                        opacity 0.4s ease,
                        margin-top 0.5s ease;
                        display: flex;
                        flex-direction: column;
                        gap: 16px;

                        .object-card:hover & {
                            max-height: 200px;
                            opacity: 1;
                            margin-top: 16px;
                        }

                        .object-card__more {
                            display: inline-block;
                            font-size: 14px;
                            font-weight: 500;
                            color: var(--color-white);

                            &:hover {
                                opacity: 0.7;
                            }
                        }
                    }
                }
            }
        }
    }
}