/* Стили каталога объектов: перенесены из page/ads.php, подключаются в <head> через $tg_page_styles */
    .filter-column {
        width: 100%;
        max-width: 400px;
        background-color: #19314B;
        color: #f9f2ec;
        padding: 30px;
        border-radius: 10px;
        font-size: 18px;
    }
    .filter-group {
        margin-bottom: 15px;
    }
    .hd_input {
        display: block;
        margin-bottom: 10px;
        color: #fff;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        align-content: center;
        justify-content: flex-start;
    }
    .filter-group input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin-right: 10px;
    }
    .filter-inline {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .filter-inline input[type="text"] {
        width: 100%;
        max-width: 150px;
        padding: 5px 10px;
        border: none;
        border-radius: 5px;
    }
    .filter-group input[type="text"] {
        width: 100%;
        padding: 10px;
        border: none;
        border-radius: 5px;
    }
    .filter-column button {
        width: 100%;
        padding: 12px;
        font-size: 18px;
        background-color: #f9f2ec;
        color: #19314B;
        border: none;
        border-radius: 5px;
        font-weight: bold;
    }
    .listings {
        flex-grow: 1;
        padding: 20px;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
        gap: 20px;
    }
    .listings > .wow,
    .listings > .wow > a {
        display: block;
        height: 100%;
    }
    .listings .blog-standard-item {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .listing {
        border: 1px solid #c4ab97;
        border-radius: 8px;
        overflow: hidden;
        background-color: white;
        transition: box-shadow 0.3s;
    }
    .listing:hover {
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }
    .listing img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }
    .listing-content {
        padding: 10px;
    }
    .property-headline {
        display: block;
        overflow: hidden;
        margin: 0;
        padding: 0;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.35;
        color: #19314B !important;
        background: transparent !important;
        white-space: normal;
        text-transform: none;
        visibility: visible;
        opacity: 1;
        position: relative;
        z-index: 1;
    }
    .property-facts {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 18px;
        margin: 0;
        padding: 0;
        color: #8c7d70;
    }
    .property-facts > * {
        padding-right: 0 !important;
    }
    .property-fact {
        font-size: 16px;
        padding-right: 0 !important;
    }
    .desc {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 14px;
        min-height: 190px;
    }
    .desc > .property-headline,
    .desc > .property-facts,
    .desc > .adres {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .desc .pe-2,
    .desc .pe-4 {
        padding-right: 0 !important;
    }
    .adres {
        color: #000;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        min-height: calc(1.45em * 3);
        margin: auto 0 0;
        padding: 0;
        line-height: 1.45;
    }
    @media (max-width: 375px) {
        .listings {
            grid-template-columns: repeat(auto-fill, minmax(296px, 1fr));
        }
        .property-headline {
            font-size: 14px;
        }
        .desc {
            min-height: 176px;
        }
        .property-fact {
            font-size: 12px;
        }
    }
    @media (min-width: 376px) AND (max-width: 574px) {
        .listings {
            grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
        }
        .property-headline {
            font-size: 18px;
        }
        .desc {
            min-height: 176px;
        }
        .property-fact {
            font-size: 12px;
        }
    }

/* Заголовок H1 каталога объектов (/ads) */
.ads-page-title {
    margin: 0;
    padding: 20px 20px 0;
    color: #ffffff;
    font-size: 34px;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .ads-page-title {
        font-size: 26px;
    }
}
