/* ==================================================================
 * Страницы категорий объектов (/aktualnye-obekty/kategoriya/<slug>/):
 *  1) кнопка «Подробнее об объекте» / «Получить консультацию» — справа от заголовка,
 *     золотая, по ширине текста;
 *  2) карусель картинок лотов под описанием, в левой части hero — не заходит
 *     за центральную линию экрана;
 *  3) лайтбокс для увеличения картинки лота (объекты без CPT-лотов).
 * Подключается только на taxonomy property_category (functions.php).
 * Шаблоны: template-parts/complex-section.php, legacy-card.php, lot-carousel.php.
 * ================================================================== */

/* ---------- 1. Строка заголовка + золотая кнопка ---------- */
.er-cat-block__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 28px;
    margin: 0 0 14px;
}
.er-cat-block__intro > .er-cat-block__head { max-width: none; }
.er-cat-block__head .er-cat-block__title { margin: 0; }

.er-cat-block__head .er-cat-block__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    padding: 12px 22px;
    border: 1px solid #CD9138;
    border-radius: 7px;
    background: linear-gradient(135deg, #D8A450 0%, #BD7C25 100%);
    box-shadow: 0 10px 20px rgba(174,111,27,.22), inset 0 1px 0 rgba(255,255,255,.24);
    color: #081C39;
    font: 600 13px/1.15 var(--er-font-body);
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.er-cat-block__head .er-cat-block__cta:hover {
    background: linear-gradient(135deg, #D8A450 0%, #BD7C25 100%);
    color: #081C39;
    transform: translateY(-1px);
    box-shadow: 0 13px 24px rgba(174,111,27,.30), inset 0 1px 0 rgba(255,255,255,.24);
}
.er-cat-block__head .er-cat-block__cta:active { transform: translateY(1px); }
.er-cat-block__head .er-cat-block__cta:focus-visible {
    outline: 2px solid #DFB56F;
    outline-offset: 3px;
}

/* ---------- 2. Блок с каруселью ---------- */
@media (min-width: 600px) {
    /* Под каруселью нет «наплыва» лотов — резерв под него не нужен. */
    .er-cat-block--has-lotcar .er-cat-block__intro { padding-bottom: 56px; }
    /* Высота блока — по содержимому: прежний большой min-height (до 980 px на 1920)
       оставлял пустоту под каруселью. */
    .er-cat-block--has-lotcar .er-cat-block__hero { min-height: clamp(420px, 36vw, 680px); }
    /* Левая половина фото чуть темнее, чтобы карточки лотов читались на фоне. */
    .er-cat-block--has-lotcar .er-cat-block__hero::after {
        background: linear-gradient(90deg, rgba(8,28,57,0.80) 0%, rgba(8,28,57,0.50) 40%, rgba(8,28,57,0) 64%),
                    linear-gradient(180deg, rgba(8,28,57,0) 55%, rgba(8,28,57,0.55) 100%);
    }
}
.er-lotcar {
    margin-top: 6px; /* описание (margin-bottom 22px) → карусель: 28px */
    --er-lotcar-slide: 72%;
    --er-lotcar-gap: 16px;
    position: relative;
    box-sizing: border-box;
    /* Правый край карусели — за 32 px до центральной линии экрана.
       Левый край = padding-left у .er-cat-block__intro. */
    width: calc(50vw - max(var(--er-gutter), calc((100vw - var(--er-container)) / 2)) - 32px);
}
.er-cat-block__intro > .er-lotcar { max-width: 100%; }

.er-lotcar__viewport {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}
.er-lotcar__track {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--er-lotcar-gap);
    transform: translateX(calc(var(--er-lotcar-i, 0) * -1 * (var(--er-lotcar-slide) + var(--er-lotcar-gap))));
    transition: transform 480ms cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}
.er-lotcar__track.is-instant { transition: none; }
.er-lotcar--single { --er-lotcar-slide: 100%; }

.er-lotcar__slide {
    flex: 0 0 var(--er-lotcar-slide);
    min-width: 0;
    margin: 0;
    aspect-ratio: 3 / 2;
    border-radius: 4px;
    overflow: hidden;
    background: #EFEAE4;
    border: 1px solid rgba(184,154,98,.28);
    box-sizing: border-box;
}
.er-lotcar__item {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
}
.er-lotcar__item--zoom { cursor: zoom-in; }
.er-lotcar__item:focus-visible {
    outline: 2px solid #DFB56F;
    outline-offset: -2px;
}
/* Карусель стоит внутри .er-cat-block__hero, а main.css растягивает любой
   «.er-cat-block__hero img» на весь блок как фон — отменяем это для лотов. */
.er-cat-block__hero .er-lotcar__img,
.er-lotcar__img {
    position: static;
    inset: auto;
    z-index: auto;
    order: 0;
    aspect-ratio: auto;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.er-lotcar__nav {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.er-lotcar__arrow {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #CD9138;
    background: rgba(8,28,57,.72);
    color: #DFB56F;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease;
}
.er-lotcar__arrow--prev { left: 12px; }
.er-lotcar__arrow--next { left: calc(var(--er-lotcar-slide) - 56px); }
.er-lotcar__arrow:hover { background: #CD9138; color: #081C39; }
.er-lotcar__arrow:focus-visible {
    outline: 2px solid #DFB56F;
    outline-offset: 3px;
}

@media (max-width: 599px) {
    .er-cat-block__intro > .er-cat-block__head {
        justify-content: space-between;
        gap: 12px 16px;
    }
    .er-cat-block__head .er-cat-block__cta {
        min-height: 44px;
        box-sizing: border-box;
        padding: 11px 16px;
        font-size: 12px;
        letter-spacing: .04em;
    }
    .er-lotcar {
        --er-lotcar-slide: 78%;
        --er-lotcar-gap: 12px;
        width: 100%;
    }
    .er-lotcar__nav {
        position: static;
        display: flex;
        gap: 12px;
        margin-top: 14px;
    }
    .er-lotcar__arrow {
        position: static;
        transform: none;
        background: transparent;
    }
}

@media (prefers-reduced-motion: reduce) {
    .er-lotcar__track { transition: none; }
}

/* ---------- 3. Лайтбокс ---------- */
.er-lotbox {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 64px 96px;
    border: 0;
    box-sizing: border-box;
    background: rgba(8,28,57,.94);
    color: #DFB56F;
    z-index: 10000;
}
.er-lotbox[open] {
    display: flex;
    align-items: center;
    justify-content: center;
}
.er-lotbox::backdrop { background: transparent; }
.er-lotbox__img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 24px 60px rgba(0,0,0,.45);
}
.er-lotbox__btn {
    position: absolute;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #CD9138;
    background: transparent;
    color: #DFB56F;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease;
}
.er-lotbox__btn:hover { background: #CD9138; color: #081C39; }
.er-lotbox__btn:focus-visible { outline: 2px solid #DFB56F; outline-offset: 3px; }
.er-lotbox__btn[hidden] { display: none; }
.er-lotbox__close { top: 16px; right: 16px; width: 44px; height: 44px; }
.er-lotbox__prev  { top: 50%; left: 24px;  transform: translateY(-50%); }
.er-lotbox__next  { top: 50%; right: 24px; transform: translateY(-50%); }

@media (max-width: 599px) {
    .er-lotbox { padding: 72px 8px 96px; }
    .er-lotbox__prev,
    .er-lotbox__next { top: auto; bottom: 28px; transform: none; width: 44px; height: 44px; }
    .er-lotbox__prev { left: calc(50% - 50px); }
    .er-lotbox__next { right: auto; left: calc(50% + 6px); }
}
