/* ==========================================================================
   Страница «Объекты»: вкладки-отрасли и список выполненных проектов.
   Ряд объекта — половина текста, половина фотографии; на мобильном
   фотография уезжает наверх, а плашка бренда ложится на неё.

   Figma: 177:2003  — десктоп 1440 × 3152
          180:2728  — ряд объекта, 1320 × 446
          278:10251 — мобильный 375 × 3921
          278:10628 — ряд объекта на мобильном, 343 × 522

   WP: template-parts/blocks/objects-page.php
   ========================================================================== */

.objects-page {
    /* 56px — отбивка от шапки страницы, 96px — до промо-полосы */
    padding: 56px 0 96px;
}

/* --------------------------------------------------------------------------
   Список рядов
   -------------------------------------------------------------------------- */

.objects-page__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    /* в макете от линии вкладок до первого ряда 45px */
    margin-top: 45px;
}

/* --------------------------------------------------------------------------
   Ряд объекта
   Высоту ряда задаёт фотография (648 × 446), текст растягивается под неё,
   поэтому заголовок стоит вверху, а кнопка — внизу
   -------------------------------------------------------------------------- */

.object-row {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    border: 1px solid var(--c-grey-300);
    background-color: #ffffff;
}

.object-row[hidden] {
    display: none;
}

.object-row__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
}

.object-row__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.object-row__title {
    font-size: 32px;
    font-weight: 700;
    line-height: normal;
    color: var(--c-grey-800);
}

.object-row__foot {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* --- Характеристики --- */

.object-row__specs {
    display: flex;
    flex-direction: column;
}

/* Линейка под строкой нарисована псевдоэлементом: в макете она лежит
   в промежутке между строками и своей высоты не занимает */
.object-row__spec {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 12px;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
}

.object-row__spec + .object-row__spec {
    padding-top: 12px;
}

.object-row__spec::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: var(--c-grey-300);
}

.object-row__spec dt {
    color: var(--c-grey-500);
}

.object-row__spec dd {
    margin: 0;
    text-align: right;
    color: var(--c-grey-800);
}

/* --- Фотография --- */

.object-row__media {
    position: relative;
    overflow: hidden;
}

/* Пропорция из макета: 648 × 446 на десктопе и 343 × 236 на мобильном —
   это одно и то же соотношение. Задана распоркой, а не aspect-ratio:
   так она работает как минимальная высота, и если на узком экране текст
   окажется выше, фотография растянется вместе с рядом, а не оборвётся */
.object-row__media::before {
    content: "";
    display: block;
    padding-top: 68.827%;
}

.object-row__media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --------------------------------------------------------------------------
   Планшет
   -------------------------------------------------------------------------- */

@media (max-width: 1279px) {
    .object-row__title {
        font-size: 28px;
    }
}

@media (max-width: 1023px) {
    .objects-page {
        padding: 24px 0 80px;
    }

    .objects-page__list {
        margin-top: 24px;
    }

    .object-row__title {
        font-size: 24px;
    }
}

/* --------------------------------------------------------------------------
   Мобильная версия — 375 × 3921
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    .object-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    /* в мобильном макете фотография стоит первой */
    .object-row__media {
        order: -1;
    }

    /* и плашка бренда лежит на ней, а не под заголовком */
    .object-row__tag {
        position: absolute;
        top: 4px;
        left: 4px;
        z-index: 1;
        height: 20px;
        padding: 0 4px;
        font-size: 12px;
    }

    .object-row__body {
        gap: 16px;
        padding: 0 16px 24px;
    }

    .object-row__title {
        font-size: 20px;
    }

    .object-row__spec {
        padding-bottom: 8px;
        font-size: 14px;
    }

    .object-row__spec + .object-row__spec {
        padding-top: 8px;
    }
}
