/*
 * Стили витрины предзаказа v2 (роуты /preorder и /preorder/document/{flow_id}).
 *
 * Файл отдельный и НЕ входит в сборку app.css — как home-v2.css: пока витрина
 * живёт параллельно текущему /preorder, пересобирать общий бандл незачем.
 * Подключается через @yield('page_styles') с ручным ?v=N — при правке
 * версию поднимать, иначе браузер отдаст старый файл.
 *
 * Страница сезона — по макету дизайнера
 * (.awork/preorder/desgin-specs/design_handoff_preorder_v2), цвета — палитра
 * сайта: текст #231f20, подписи #828a95, линии #dcdfe2 / #e6e8eb, фирменные
 * #009ccc (ссылки, срок) и #cc0066 (скидки, срочность) только для акцентов.
 * Страница коллекции пока в прежнем виде — её блоки в конце файла.
 */

.preorder-v2 {
    color: #231f20;
}

.preorder-v2 .is-hidden {
    display: none !important;
}

.preorder-v2 .is-muted {
    color: #828a95;
}

.preorder-v2 .pv2-accent {
    color: #cc0066;
}

.preorder-v2 .pv2-link-color {
    color: #009ccc;
}


/* Рамка фокуса — только с клавиатуры (та же причина, что в home-v2.css). */
.preorder-v2 a:focus,
.preorder-v2 button:focus {
    outline: none;
}

.preorder-v2 a:focus-visible,
.preorder-v2 button:focus-visible {
    outline: 2px solid #009ccc;
    outline-offset: 2px;
}

.preorder-v2 button {
    font: inherit;
}

/* ---------- Заметка предпросмотра (только менеджер) ---------- */

.preorder-v2 .pv2-note {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    padding: 8px 12px;
    border: 1px dashed #c4c4c4;
    background: #fff;
    font-size: 12px;
    color: #555;
}

.preorder-v2 .pv2-note__tag {
    padding: 1px 6px;
    border: 1px dashed #9a9a9a;
    border-radius: 3px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 10.5px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ---------- Шапка сезона ---------- */

.preorder-v2 .pv2-head {
    margin: 10px 0 20px;
}

.preorder-v2 .pv2-head__row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 20px;
    flex-wrap: wrap;
}

.preorder-v2 .pv2-title {
    margin: 0;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
}

/* Сводка сезона: ячейки через волосяные линии */
.preorder-v2 .pv2-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1px;
    margin-top: 16px;
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    background: #e6e8eb;
    overflow: hidden;
}

.preorder-v2 .pv2-summary__cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 16px;
    background: #fff;
    min-width: 0;
}

.preorder-v2 .pv2-summary__label {
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #828a95;
}

.preorder-v2 .pv2-summary__value {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.preorder-v2 .pv2-summary__sub {
    font-size: 12px;
    color: #666;
}

.preorder-v2 a.pv2-summary__sub {
    color: #009ccc;
    text-decoration: none;
}

/* ---------- Панель фильтров ---------- */

.preorder-v2 .pv2-toolbar {
    margin-bottom: 18px;
}

.preorder-v2 .pv2-toolbar__brands {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.preorder-v2 .pv2-toolbar__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.preorder-v2 .pv2-toolbar__left,
.preorder-v2 .pv2-toolbar__right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.preorder-v2 .pv2-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    border: 1px solid #d9d9d9;
    border-radius: 999px;
    background: #fff;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #231f20;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .15s, background-color .15s;
}

.preorder-v2 .pv2-chip:hover {
    border-color: #231f20;
}

.preorder-v2 .pv2-chip.is-active {
    border-color: #231f20;
    background: #231f20;
    color: #fff;
}

.preorder-v2 .pv2-chip__cnt {
    opacity: .55;
}

/* Чип, под который при остальных фильтрах ничего нет */
.preorder-v2 .pv2-chip.is-empty:not(.is-active) {
    color: #b3b8bf;
    border-color: #eceef0;
}

/* Сезоны — строкой над брендами, когда открыто больше одного */
.preorder-v2 .pv2-toolbar__seasons {
    margin-bottom: 8px;
}

.preorder-v2 .pv2-select {
    height: 34px;
    padding: 0 8px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    font-size: 12.5px;
    color: #231f20;
}

.preorder-v2 .pv2-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    font-size: 12.5px;
    color: #231f20;
    white-space: nowrap;
    cursor: pointer;
}

.preorder-v2 .pv2-check__box {
    position: relative;
    width: 14px;
    height: 14px;
    border: 1px solid #b8bec6;
    border-radius: 2px;
    background: #fff;
}

.preorder-v2 .pv2-check.is-active {
    border-color: #231f20;
}

.preorder-v2 .pv2-check.is-active .pv2-check__box {
    border-color: #231f20;
    background: #231f20;
}

.preorder-v2 .pv2-check.is-active .pv2-check__box::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.preorder-v2 .pv2-seg-label {
    font-size: 12px;
    color: #828a95;
}

.preorder-v2 .pv2-seg {
    display: inline-flex;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
}

.preorder-v2 .pv2-seg__btn {
    height: 32px;
    padding: 0 12px;
    border: 0;
    background: none;
    font-size: 12.5px;
    color: #231f20;
    white-space: nowrap;
    cursor: pointer;
}

.preorder-v2 .pv2-seg__btn + .pv2-seg__btn {
    border-left: 1px solid #e6e8eb;
}

.preorder-v2 .pv2-seg__btn.is-active {
    background: #231f20;
    color: #fff;
}

.preorder-v2 .pv2-result {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    font-size: 12px;
    color: #828a95;
}

.preorder-v2 .pv2-link-btn {
    padding: 0;
    border: 0;
    background: none;
    font-size: 12px;
    color: #009ccc;
    cursor: pointer;
}

/* ---------- Группы (бренд или срок) ---------- */

.preorder-v2 .pv2-group {
    margin-bottom: 24px;
    padding-top: 14px;
    border-top: 1px solid #dedede;
}

.preorder-v2 .pv2-group__head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    color: #231f20;
    cursor: pointer;
}

.preorder-v2 .pv2-group__title {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: .04em;
}

.preorder-v2 .pv2-group__sub {
    font-size: 12px;
    color: #828a95;
}

.preorder-v2 .pv2-group__toggle {
    margin-left: auto;
    font-size: 12px;
    color: #009ccc;
}

.preorder-v2 .pv2-group__toggle::after {
    content: 'Свернуть';
}

.preorder-v2 .pv2-group.is-collapsed .pv2-group__toggle::after {
    content: 'Показать';
}

.preorder-v2 .pv2-group.is-collapsed .pv2-group__head {
    margin-bottom: 0;
}

.preorder-v2 .pv2-group.is-collapsed .pv2-group__items {
    display: none;
}

.preorder-v2.pv2-view--cards .pv2-group__items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
    gap: 16px;
}

.preorder-v2.pv2-view--list .pv2-group__items {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.preorder-v2.pv2-view--cards .pv2-row,
.preorder-v2.pv2-view--list .pv2-card {
    display: none;
}

.preorder-v2 .pv2-item {
    display: flex;
    min-width: 0;
}

.preorder-v2 .pv2-item > * {
    flex: 1 1 auto;
    min-width: 0;
}

/* ---------- Карточка коллекции ---------- */

.preorder-v2 .pv2-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow .15s, border-color .15s;
}

.preorder-v2 .pv2-card:hover {
    border-color: #d4d4d4;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

/* Вся карточка — ссылка; фото, условия и бланк лежат над ней */
.preorder-v2 .pv2-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Шапка над фото: прогноз поступления, у всех карточек одной высоты; менеджеру справа — служебные метки */
.preorder-v2 .pv2-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    height: 30px;
    padding: 0 12px;
    border-bottom: 1px solid #eef0f2;
    font-size: 12px;
    line-height: 16px;
    color: #6b6b6b;
    white-space: nowrap;
    min-width: 0;
}

.preorder-v2 .pv2-card__head-text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-card__head-text b {
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-card__head-text.is-muted {
    color: #9a9a9a;
}

.preorder-v2 .pv2-card__head-tags {
    display: flex;
    flex: none;
    gap: 4px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.preorder-v2 .pv2-card__service-tag {
    padding: 1px 6px;
    border: 1px dashed #9a9a9a;
    border-radius: 3px;
}

/* Полоса фото: всегда 4 кадра 3:4, одна высота при любом числе снимков */
.preorder-v2 .pv2-card__media {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    grid-template-rows: minmax(0, 1fr);
    aspect-ratio: 3 / 1;
    background: #fff;
}

.preorder-v2 .pv2-card.is-closed .pv2-card__media {
    filter: grayscale(1);
    opacity: .55;
}

.preorder-v2 .pv2-card__photo {
    position: relative;
    z-index: 2;
    display: block;
    padding: 0;
    border: 0;
    background: #f1f2f4;
    overflow: hidden;
    cursor: zoom-in;
}

.preorder-v2 .pv2-card__photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.preorder-v2 .pv2-card__more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20, 20, 20, .42);
    font-size: 12.5px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: background-color .15s;
}

.preorder-v2 .pv2-card__more:hover {
    background: rgba(20, 20, 20, .58);
}

/* Плашка вместо недостающих фото: монограмма бренда в его тоне */
.preorder-v2 .pv2-card__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #f3f1ee;
    background: color-mix(in srgb, var(--pv2-tone, #8a7d6b) 13%, #fff);
    color: var(--pv2-tone, #8a7d6b);
}

.preorder-v2 .pv2-card__mono {
    font-size: 20px;
    font-weight: 300;
    letter-spacing: .1em;
    line-height: 1;
}

.preorder-v2 .pv2-card__panel[style*="span 3"] .pv2-card__mono {
    font-size: 28px;
}

.preorder-v2 .pv2-card__panel.is-full .pv2-card__mono {
    font-size: 40px;
}

.preorder-v2 .pv2-card__panel-note {
    font-size: 10.5px;
    opacity: .85;
}

.preorder-v2 .pv2-card__badges {
    position: absolute;
    left: 8px;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    pointer-events: none;
}

.preorder-v2 .pv2-card__badge {
    padding: 3px 7px;
    border-radius: 3px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
    font-size: 10.5px;
    font-weight: 500;
    color: #231f20;
}

.preorder-v2 .pv2-card__blank {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px;
    background: rgba(0, 140, 184, .94);
    font-size: 11.5px;
    color: #fff;
    white-space: nowrap;
    text-decoration: none;
}

.preorder-v2 .pv2-card__blank:hover {
    color: #fff;
    background: #0079a0;
}

.preorder-v2 .pv2-card__blank > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-card__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 16px 10px;
    min-width: 0;
}

.preorder-v2 .pv2-card .pv2-card__top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #828a95;
}

.preorder-v2 .pv2-card .pv2-card__num {
    font-family: ui-monospace, Menlo, Consolas, monospace;
    letter-spacing: 0;
    text-transform: none;
    color: #ababab;
}

.preorder-v2 .pv2-card .pv2-card__title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-card .pv2-card__models {
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 16px;
    color: #828a95;
}

.preorder-v2 .pv2-card .pv2-card__models b {
    font-weight: 600;
    color: #231f20;
}

.preorder-v2 .pv2-card .pv2-card__types {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12.5px;
    line-height: 18px;
    color: #555;
}

.preorder-v2 .pv2-card .pv2-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 2px;
    font-size: 12px;
    font-style: italic;
    line-height: 17px;
    color: #777;
}

.preorder-v2 .pv2-row__bn::before {
    content: '';
    flex: none;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: var(--pv2-tone, #8a7d6b);
}

.preorder-v2 .pv2-row__bn-more {
    flex: none;
    font-size: 12px;
    font-weight: 500;
    color: #009ccc;
    transition: color .12s;
}

.preorder-v2 .pv2-row__bn:hover .pv2-row__bn-more {
    color: #cc0066;
}

/*
    Зона под составом (макет design_handoff_card_accordion). Без преимуществ — слот описания
    (менеджеру — пунктир «не заполнены») над раскрытыми условиями; с преимуществами — аккордеон 196 px.
    Условия — не выше трёх строк («Аванс до» и «Поступление» вынесены, ревью 30.09): плашка по
    содержимому, от 92 px, без пустого низа. Разница высот в ряду уходит над плашкой срока (.pv2-card__foot).
*/
.preorder-v2 .pv2-card__plain {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 16px;
    min-width: 0;
}

.preorder-v2 .pv2-card__plain > .pv2-card__terms {
    height: auto;
    min-height: 92px;
    margin: 0;
}

.preorder-v2 .pv2-card__plain > .pv2-card__terms.is-empty {
    min-height: 0;
}

.preorder-v2 .pv2-card .pv2-card__slot {
    height: 40px;
    min-width: 0;
}

.preorder-v2 .pv2-card .pv2-card__slot .pv2-card__desc {
    margin-top: 0;
}

/*
    Аккордеон «Почему эта коллекция / Условия»: открыта одна панель, высота 196 px в обоих видах.
    По умолчанию преимущества 150 px + условия таблицей 40 px; .is-terms — условия по содержимому,
    преимущества — остаток (первый пункт и пояснение до 4 строк).
    В панели два вида (.pv2-acc__bn / .pv2-card__terms — раскрытый, .pv2-acc__shut — свёрнутый),
    виден один. .is-static — условий нет, переключать нечего.
*/
.preorder-v2 .pv2-acc {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 196px;
    margin: 0 16px;
    min-width: 0;
}

.preorder-v2 .pv2-acc__panel {
    flex: none;
    min-width: 0;
    border-radius: 4px;
    background: #f5f6f8;
    overflow: hidden;
    transition: height .2s;
}

.preorder-v2 .pv2-acc__panel--bn {
    height: 150px;
}

.preorder-v2 .pv2-acc__panel--terms {
    height: 40px;
}

.preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--bn {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
}

.preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--terms {
    height: auto;
}

.preorder-v2 .pv2-acc__panel--bn .pv2-acc__shut,
.preorder-v2 .pv2-acc__panel--terms .pv2-card__terms,
.preorder-v2 .pv2-acc.is-terms .pv2-acc__bn,
.preorder-v2 .pv2-acc.is-terms .pv2-acc__tt {
    display: none;
}

.preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--bn .pv2-acc__shut,
.preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--terms .pv2-card__terms {
    display: flex;
}

.preorder-v2 .pv2-acc__panel > .pv2-card__terms {
    width: 100%;
    height: auto;
    min-height: 92px;
    margin: 0;
    border-radius: 0;
}

.preorder-v2 .pv2-acc__panel > .pv2-card__terms.is-empty {
    display: flex;
    align-items: center;
    height: 40px;
    min-height: 0;
    padding: 0 11px;
}

.preorder-v2 .pv2-acc__bn,
.preorder-v2 .pv2-acc__shut {
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: inherit;
    text-align: left;
    color: #555;
    cursor: pointer;
    transition: background-color .12s;
}

.preorder-v2 .pv2-acc__bn:hover {
    background: #eceef1;
}

.preorder-v2 .pv2-acc__shut:hover {
    background: #eef0f4;
}

/* Раскрытые преимущества: заголовки пунктов, больше 5 — первые 4 и «ещё N ›» */
.preorder-v2 .pv2-acc__bn {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 150px;
    padding: 8px 11px 9px;
    font-size: 11.5px;
    line-height: 15px;
}

.preorder-v2 .pv2-acc__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.preorder-v2 .pv2-acc__list.is-over .pv2-acc__item:nth-child(n+5) {
    display: none;
}

.preorder-v2 .pv2-acc__item {
    position: relative;
    display: block;
    min-width: 0;
    padding-left: 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-acc__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6.5px;
    width: 5px;
    height: 5px;
    background: var(--pv2-tone, #7a6b75);
}

.preorder-v2 .pv2-acc__more,
.preorder-v2 .pv2-acc__shut-more {
    font-size: 12px;
    font-weight: 500;
    color: #009ccc;
    transition: color .12s;
}

.preorder-v2 .pv2-acc__more {
    padding-left: 12px;
    line-height: 17px;
}

.preorder-v2 .pv2-acc__bn:hover .pv2-acc__more,
.preorder-v2 .pv2-acc__bn:hover .pv2-card__terms-more,
.preorder-v2 .pv2-acc__shut:hover .pv2-acc__shut-more {
    color: #cc0066;
}

/* Свёрнутые преимущества: первый пункт и его пояснение */
.preorder-v2 .pv2-acc__panel--bn .pv2-acc__shut {
    flex-direction: column;
    gap: 2px;
    height: 100%;
    padding: 7px 11px;
}

.preorder-v2 .pv2-acc__shut-row {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    font-size: 12px;
    line-height: 17px;
}

.preorder-v2 .pv2-acc__shut-row .pv2-acc__item {
    flex: 1 1 auto;
    line-height: 17px;
}

.preorder-v2 .pv2-acc__shut-row .pv2-acc__item::before {
    top: 6px;
}

.preorder-v2 .pv2-acc__shut-more {
    flex: none;
}

.preorder-v2 .pv2-acc__chev {
    flex: none;
    font-size: 13px;
    line-height: 1;
    color: #9a9a9a;
    transform: rotate(90deg);
}

.preorder-v2 .pv2-acc__shut-sub {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-left: 12px;
    font-size: 12px;
    line-height: 16px;
    color: #6b6b6b;
}

/* Свёрнутые условия — мини-таблица: колонки равной ширины на всю строку, подписи сверху, значения снизу, шеврон справа на обе строки */
.preorder-v2 .pv2-acc__tt {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 1px;
    align-content: center;
    height: 40px;
    padding: 0 11px;
    white-space: nowrap;
}

.preorder-v2 .pv2-acc__tt-label,
.preorder-v2 .pv2-acc__tt-value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-acc__tt-label {
    font-size: 10px;
    line-height: 13px;
    color: #8c8c8c;
}

.preorder-v2 .pv2-acc__tt-value {
    font-size: 12px;
    line-height: 16px;
    color: #555;
}

.preorder-v2 .pv2-acc__tt-value.is-accent {
    font-weight: 600;
    color: #cc0066;
}

.preorder-v2 .pv2-acc__tt-value.is-muted {
    color: #8c8c8c;
}

.preorder-v2 .pv2-acc__tt .pv2-acc__chev {
    grid-column: -2 / -1;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: end;
}

.preorder-v2 .pv2-card__bn-empty {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 9px;
    border: 1px dashed #b4b4b4;
    border-radius: 4px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 10px;
    color: #6b6b6b;
    white-space: nowrap;
    overflow: hidden;
}

.preorder-v2 .pv2-card__bn-empty b {
    font-weight: 400;
    text-transform: uppercase;
}

/* Блок условий: вторым планом, одна высота у всех карточек */
.preorder-v2 .pv2-card__terms {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 3px;
    height: 124px;
    margin: 0 16px;
    padding: 8px 11px 9px;
    border: 0;
    border-radius: 4px;
    background: #f5f6f8;
    font-size: 11.5px;
    line-height: 15px;
    text-align: left;
    color: #555;
    overflow: hidden;
    cursor: pointer;
    transition: background-color .12s;
}

.preorder-v2 .pv2-card__terms:hover {
    background: #eceef1;
}

.preorder-v2 .pv2-card__terms.is-empty {
    cursor: default;
    color: #777;
}

.preorder-v2 .pv2-card__terms.is-empty:hover {
    background: #f5f6f8;
}

.preorder-v2 .pv2-card__terms-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1px;
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #828a95;
}

.preorder-v2 .pv2-card__terms-more {
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: #009ccc;
}

.preorder-v2 .pv2-card__trow {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 6px;
    white-space: nowrap;
}

.preorder-v2 .pv2-card__trow > span:first-child {
    color: #828a95;
}

.preorder-v2 .pv2-card__trow > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-card__trow b {
    font-weight: 600;
    color: #231f20;
}

.preorder-v2 .pv2-card__trow b.pv2-accent {
    color: #cc0066;
}

.preorder-v2 .pv2-card .pv2-card__foot {
    display: flex;
    margin-top: auto;
    flex-direction: column;
    gap: 8px;
    padding: 12px 16px 14px;
    white-space: nowrap;
}

/* Срок полосой: подпись и «осталось» над полосой (partials/deadlines) */
.preorder-v2 .pv2-dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.preorder-v2 .pv2-card__foot-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 12px;
}

.preorder-v2 .pv2-card__foot-row b {
    font-size: 13px;
    font-weight: 600;
}

.preorder-v2 .pv2-card__foot-row.is-muted b {
    color: #828a95;
}

.preorder-v2 .pv2-card__bar {
    height: 3px;
    border-radius: 2px;
    background: #ececec;
    overflow: hidden;
}

.preorder-v2 .pv2-card__bar > span {
    display: block;
    height: 100%;
    background: #009ccc;
}

.preorder-v2 .pv2-card__bar > span.is-urgent {
    background: #cc0066;
}

.preorder-v2 .pv2-card__bar.is-dashed {
    background: repeating-linear-gradient(90deg, #dcdcdc 0 6px, transparent 6px 10px);
}

.preorder-v2 .pv2-card__bar.is-closed {
    background: #e4e4e4;
}

.preorder-v2 .pv2-card__steps {
    display: flex;
    gap: 3px;
}

.preorder-v2 .pv2-card__steps span {
    flex: 1;
    height: 3px;
    border-radius: 2px;
    background: #e2e2e2;
}

.preorder-v2 .pv2-card__steps span.is-done {
    background: #231f20;
}

/* ---------- Строка списка ---------- */

/*
    Сверху — название и условия, снизу — сроки двумя полосами, как в плашке карточки (ревью 30.09);
    фото на обе строки.
*/
.preorder-v2 .pv2-row {
    position: relative;
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr) minmax(0, 280px) 130px;
    grid-template-areas:
        "media main  terms cta"
        "media dates dates cta";
    align-items: center;
    gap: 10px 16px;
    padding: 8px 16px 8px 8px;
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    background: #fff;
    color: #231f20;
    text-decoration: none;
    transition: box-shadow .15s, border-color .15s;
}

.preorder-v2 .pv2-row:hover {
    border-color: #cfcfcf;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .06);
    color: #231f20;
    text-decoration: none;
}

/* Вся строка — ссылка; фото лежат над ней */
.preorder-v2 .pv2-row__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 6px;
}

.preorder-v2 .pv2-row__media {
    grid-area: media;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    grid-template-rows: minmax(0, 1fr);
    aspect-ratio: 9 / 4;
    border-radius: 3px;
    overflow: hidden;
}

.preorder-v2 .pv2-row.is-closed .pv2-row__media {
    filter: grayscale(1);
    opacity: .55;
}

.preorder-v2 .pv2-row__photo {
    position: relative;
    z-index: 2;
    display: block;
    padding: 0;
    border: 0;
    cursor: zoom-in;
    background: #f1f2f4;
    overflow: hidden;
}

.preorder-v2 .pv2-row__photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.preorder-v2 .pv2-row__more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20, 20, 20, .42);
    font-size: 10.5px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
}

.preorder-v2 .pv2-row__panel {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f3f1ee;
    background: color-mix(in srgb, var(--pv2-tone, #8a7d6b) 13%, #fff);
    color: var(--pv2-tone, #8a7d6b);
    font-size: 13px;
    font-weight: 300;
    letter-spacing: .1em;
}

.preorder-v2 .pv2-row__main {
    grid-area: main;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.preorder-v2 .pv2-row__title {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.preorder-v2 .pv2-row__title b {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
}

.preorder-v2 .pv2-row__badge {
    padding: 1px 5px;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    font-size: 10px;
    color: #555;
    white-space: nowrap;
}

.preorder-v2 .pv2-row__badge.is-service {
    border-style: dashed;
    border-color: #9a9a9a;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 9.5px;
    text-transform: uppercase;
    color: #6b6b6b;
}

.preorder-v2 .pv2-row__sub {
    font-size: 12px;
    line-height: 1.4;
    color: #666;
}

.preorder-v2 .pv2-row__sub b {
    font-weight: 500;
    color: #231f20;
}

/* Первый пункт преимуществ — одной строкой, открывает быстрый просмотр */
.preorder-v2 .pv2-row__bn {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    display: flex;
    align-items: center;
    gap: 7px;
    max-width: calc(100% + 12px);
    margin: 1px -6px 0;
    padding: 1px 6px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-family: inherit;
    font-size: 12px;
    line-height: 17px;
    text-align: left;
    color: #6b6b6b;
    cursor: pointer;
    transition: background-color .12s;
}

.preorder-v2 .pv2-row__bn:hover {
    background: #f3f4f7;
}

.preorder-v2 .pv2-row__bn-text {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-row__bn-text b {
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-row__terms {
    grid-area: terms;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 11.5px;
    line-height: 1.45;
    color: #555;
}

/* Сроки в строке: две полосы поровну; нет срока аванса — вторая половина пустая */
.preorder-v2 .pv2-row__dates {
    grid-area: dates;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    white-space: nowrap;
}

.preorder-v2 .pv2-row__dates .pv2-card__foot-row b {
    font-size: 12.5px;
}

.preorder-v2 .pv2-dl--note {
    align-self: center;
    font-size: 12px;
    color: #6b6b6b;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-dl--note b {
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-row__terms b {
    font-weight: 600;
}

/* Условия в строке — кнопка над ссылкой строки, открывает попап условий */
.preorder-v2 button.pv2-row__terms {
    position: relative;
    z-index: 2;
    align-self: stretch;
    justify-content: center;
    margin: -4px 0;
    padding: 4px 8px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .15s;
}

.preorder-v2 button.pv2-row__terms:hover {
    background: #f5f6f8;
}

.preorder-v2 .pv2-row__terms-more {
    font-size: 11.5px;
    font-weight: 500;
    color: #009ccc;
}

.preorder-v2 .pv2-row__cta {
    grid-area: cta;
    font-size: 12px;
    font-weight: 500;
    text-align: right;
}

.preorder-v2 .pv2-row__blank {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 4px;
    background: #e8f5fa;
    color: #00769a;
    text-align: right;
}

/* ---------- Попап условий и сетка фото ---------- */

.preorder-v2 .pv2-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(20, 20, 20, .45);
}

.preorder-v2 .pv2-modal__box {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 560px;
    max-height: 86vh;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
    overflow: hidden;
}

.preorder-v2 .pv2-modal__box:has(.pv2-grid) {
    max-width: 780px;
}

.preorder-v2 .pv2-modal__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 12px 10px 16px;
    border-bottom: 1px solid #eee;
}

.preorder-v2 .pv2-modal__title {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-modal__close {
    flex: none;
    padding: 4px;
    border: 0;
    background: none;
    font-size: 12.5px;
    font-weight: 500;
    color: #009ccc;
    cursor: pointer;
}

.preorder-v2 .pv2-modal__body {
    flex: 1 1 auto;
    overflow: auto;
}

.preorder-v2 .pv2-modal__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-top: 1px solid #eee;
    font-size: 12px;
}

.preorder-v2 .pv2-modal__note {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.preorder-v2 .pv2-modal__foot a {
    flex: none;
    padding: 8px 14px;
    border-radius: 4px;
    background: #009ccc;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: background-color .12s;
}

.preorder-v2 .pv2-modal__foot a:hover {
    background: #cc0066;
    color: #fff;
}

/* Быстрый просмотр коллекции: вкладки «Почему эта коллекция» / «Условия» */
.preorder-v2 .pv2-qv__tabs {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    gap: 22px;
    padding: 0 16px;
    border-bottom: 1px solid #eceef2;
    background: #fff;
}

.preorder-v2 .pv2-qv__tab {
    margin-bottom: -1px;
    padding: 10px 0 8px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #8c8c8c;
    cursor: pointer;
}

.preorder-v2 .pv2-qv__tab.is-active {
    border-bottom-color: #1a1a1a;
    color: #1a1a1a;
}

.preorder-v2 .pv2-qv__benefits {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 16px 20px;
}

.preorder-v2 .pv2-qv__desc {
    margin: 0;
    font-size: 13px;
    font-style: italic;
    line-height: 1.5;
    color: #555;
}

.preorder-v2 .pv2-qv__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.preorder-v2 .pv2-qv__list li {
    position: relative;
    padding-left: 17px;
}

.preorder-v2 .pv2-qv__list li::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: var(--pv2-tone, #8a7d6b);
}

.preorder-v2 .pv2-qv__list b {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    color: #1a1a1a;
}

.preorder-v2 .pv2-qv__list span {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #666;
}

.preorder-v2 .pv2-tf {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 14px 16px 18px;
    font-size: 13px;
    line-height: 1.45;
    color: #555;
}

.preorder-v2 .pv2-tf__block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.preorder-v2 .pv2-tf__title {
    font-weight: 600;
    color: #231f20;
}

.preorder-v2 .pv2-tf b {
    color: #231f20;
}

.preorder-v2 .pv2-tf b.pv2-accent {
    color: #cc0066;
}

.preorder-v2 .pv2-tf__table {
    border: 1px solid #eee;
    border-radius: 4px;
}

.preorder-v2 .pv2-tf__tr {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 10px;
}

.preorder-v2 .pv2-tf__tr + .pv2-tf__tr {
    border-top: 1px solid #f2f2f2;
}

.preorder-v2 .pv2-tf__note {
    font-size: 12px;
    color: #777;
}

.preorder-v2 .pv2-tf__dl {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.preorder-v2 .pv2-tf__dl > span:first-child {
    color: #777;
}

.preorder-v2 .pv2-tf__dl > span:last-child {
    color: #231f20;
    text-align: right;
}

.preorder-v2 .pv2-tf__desc {
    padding: 9px 11px;
    border-radius: 4px;
    background: #f5f6f8;
    font-style: italic;
}

.preorder-v2 .pv2-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
}

.preorder-v2 .pv2-grid__photo {
    aspect-ratio: 3 / 4;
    padding: 0;
    border: 0;
    background: #f1f2f4;
    cursor: zoom-in;
}

.preorder-v2 .pv2-grid__photo:hover {
    outline: 2px solid #009ccc;
    outline-offset: -2px;
}

.preorder-v2 .pv2-grid__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* ---------- Полноэкранная галерея: PhotoSwipe (стили в app.css) ---------- */

/* Над попапом с сеткой фото (у попапа z-index 2000, у PhotoSwipe по умолчанию 1500) */
.preorder-v2 .pv2-pswp {
    z-index: 2100;
}

/* ---------- Пустые состояния ---------- */

.preorder-v2 .pv2-empty {
    padding: 48px 24px;
    text-align: center;
    background: #fff;
    border-radius: 6px;
}

.preorder-v2 .pv2-empty--filter {
    margin-bottom: 40px;
}

.preorder-v2 .pv2-empty__title {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
}

.preorder-v2 .pv2-empty__text {
    margin: 0 0 10px;
    font-size: 13px;
    color: #828a95;
}

/* ---------- Как это работает ---------- */

.preorder-v2 .pv2-how {
    margin: 10px 0 30px;
    padding: 24px 0 0;
    border-top: 1px solid #dedede;
}

.preorder-v2 .pv2-how__title {
    margin: 0 0 18px;
    font-size: 18px;
    font-weight: bold;
}

.preorder-v2 .pv2-how__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.preorder-v2 .pv2-how__step {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.preorder-v2 .pv2-how__num {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #231f20;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    line-height: 28px;
    text-align: center;
}

.preorder-v2 .pv2-how__text {
    font-size: 13px;
    line-height: 1.5;
    color: #4a4446;
}

/* ==========================================================================
   Страница коллекции (/preorder-v2/document/{id}): шапка по макету
   CollectionHeader — слева фото и товарная часть, справа срок, бланк,
   калькулятор аванса и условия. Ниже — штатный каталог.
   ========================================================================== */

.preorder-v2 .pv2-ch {
    margin: 10px 0 20px;
}

.preorder-v2 .pv2-ch .pv2-note {
    margin-bottom: 14px;
}

.preorder-v2 .pv2-ch__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 20px;
    align-items: start;
}

.preorder-v2 .pv2-ch__main,
.preorder-v2 .pv2-ch__side {
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

/* Фото: 6 кадров 3:4 (на телефоне 4), недостающее — плашка бренда */
.preorder-v2 .pv2-ch__media {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px;
}

.preorder-v2 .pv2-ch__photo {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4;
    padding: 0;
    border: 0;
    background: #f1f2f4;
    overflow: hidden;
    cursor: zoom-in;
}

.preorder-v2 .pv2-ch__photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.preorder-v2 .pv2-ch__more {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(20, 20, 20, .42);
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    transition: background-color .15s;
}

.preorder-v2 .pv2-ch__photo:hover .pv2-ch__more {
    background: rgba(20, 20, 20, .58);
}

.preorder-v2 .pv2-ch__more.is-mobile {
    display: none;
}

.preorder-v2 .pv2-ch__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #f3f1ee;
    background: color-mix(in srgb, var(--pv2-tone, #8a7d6b) 13%, #fff);
    color: var(--pv2-tone, #8a7d6b);
}

.preorder-v2 .pv2-ch__media.is-empty .pv2-ch__panel {
    aspect-ratio: 9 / 2;
}

.preorder-v2 .pv2-ch__mono {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: .1em;
    line-height: 1;
}

.preorder-v2 .pv2-ch__media.is-empty .pv2-ch__mono {
    font-size: 40px;
}

.preorder-v2 .pv2-ch__panel-note {
    font-size: 11px;
    opacity: .85;
}

.preorder-v2 .pv2-ch.is-closed .pv2-ch__media {
    filter: grayscale(1);
    opacity: .55;
}

/* Товарная часть */
.preorder-v2 .pv2-ch__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 20px 20px;
}

.preorder-v2 .pv2-ch__top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8c8c8c;
}

.preorder-v2 .pv2-ch__num {
    font-family: ui-monospace, Menlo, Consolas, monospace;
    letter-spacing: 0;
    text-transform: none;
    color: #ababab;
}

.preorder-v2 .pv2-ch__title {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
}

.preorder-v2 .pv2-ch__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.preorder-v2 .pv2-ch__stage {
    padding: 3px 7px;
    border-radius: 3px;
    background: #e8f5fa;
    font-size: 10.5px;
    font-weight: 500;
    color: #00769a;
}

.preorder-v2 .pv2-ch__stage.is-closed {
    background: #eceff2;
    color: #6b6467;
}

.preorder-v2 .pv2-ch__badge {
    padding: 2px 6px;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    font-size: 10.5px;
    color: #555;
}

.preorder-v2 .pv2-ch__badge.is-service {
    border-style: dashed;
    border-color: #9a9a9a;
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 9.5px;
    text-transform: uppercase;
    color: #6b6b6b;
}

.preorder-v2 .pv2-ch__models {
    font-size: 13px;
    color: #8c8c8c;
}

.preorder-v2 .pv2-ch__models b {
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-ch__types {
    font-size: 12.5px;
    line-height: 1.5;
    color: #666;
}

.preorder-v2 .pv2-ch__desc {
    max-width: 640px;
    margin: 4px 0 0;
    font-size: 12.5px;
    line-height: 1.55;
    color: #666;
}

/* Правая панель */
.preorder-v2 .pv2-ch__sec {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 18px;
    font-size: 12px;
}

.preorder-v2 .pv2-ch__sec + .pv2-ch__sec {
    border-top: 1px solid #eee;
}

.preorder-v2 .pv2-ch__deadline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 500;
}

.preorder-v2 .pv2-ch__deadline b {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-ch__deadline.is-muted b,
.preorder-v2 .pv2-ch__deadline.is-muted span {
    color: #828a95;
}

.preorder-v2 .pv2-ch__bar {
    height: 3px;
    border-radius: 2px;
    background: #ececec;
    overflow: hidden;
}

.preorder-v2 .pv2-ch__bar span {
    display: block;
    height: 100%;
    background: #009ccc;
}

.preorder-v2 .pv2-ch__bar span.is-urgent {
    background: #cc0066;
}

.preorder-v2 .pv2-ch__bar.is-dashed {
    background: repeating-linear-gradient(90deg, #d9d9d9 0 6px, transparent 6px 10px);
}

.preorder-v2 .pv2-ch__bar.is-closed {
    background: #e4e4e4;
}

.preorder-v2 .pv2-ch__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3px;
}

.preorder-v2 .pv2-ch__steps span {
    height: 3px;
    border-radius: 2px;
    background: #ececec;
}

.preorder-v2 .pv2-ch__steps span.is-done {
    background: #009ccc;
}

.preorder-v2 .pv2-ch__dates {
    color: #666;
}

.preorder-v2 .pv2-ch__blank {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    padding-bottom: 14px;
    background: #f5fbfd;
}

.preorder-v2 .pv2-ch__blank > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.preorder-v2 .pv2-ch__label {
    font-size: 10.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #00769a;
}

.preorder-v2 .pv2-ch__blank b {
    font-size: 13.5px;
    font-weight: 600;
}

.preorder-v2 .pv2-ch__blank a {
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}

/* Условия предзаказа — раскрыты сразу (калькулятор аванса снят по ревью 28.09.2026).
   Разметка — общий партиал terms_full с модификатором --panel: без серой плашки,
   подзаголовки мелкими капителями, строки ступеней без рамки */
.preorder-v2 .pv2-ch__cond {
    gap: 12px;
}

.preorder-v2 .pv2-ch__cond-title {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
}

.preorder-v2 .pv2-ch__cond .is-muted {
    color: #828a95;
}

.preorder-v2 .pv2-tf--panel {
    gap: 14px;
    padding: 0;
    font-size: 12.5px;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__title {
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #828a95;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__table {
    border: 0;
    border-radius: 0;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__tr {
    padding: 5px 0;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__tr + .pv2-tf__tr {
    border-top-color: #f0f0f0;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__tr b {
    font-weight: 600;
    white-space: nowrap;
}

.preorder-v2 .pv2-tf--panel .pv2-tf__note {
    font-size: 11.5px;
    color: #9a9a9a;
}

/* Преимущества коллекции — отдельный блок под шапкой, колонок по числу пунктов (до 4) */
.preorder-v2 .pv2-bn {
    margin: 0 0 20px;
    padding: 16px 20px 20px;
    border: 1px solid #e6e8eb;
    border-radius: 6px;
    background: #fff;
}

.preorder-v2 .pv2-bn__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.preorder-v2 .pv2-bn__title {
    margin: 0;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8c8c8c;
}

.preorder-v2 .pv2-bn__count,
.preorder-v2 .pv2-bn__all {
    display: none;
}

.preorder-v2 .pv2-bn__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 36px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.preorder-v2 .pv2-bn--cols-1 .pv2-bn__list {
    grid-template-columns: minmax(0, 640px);
}

.preorder-v2 .pv2-bn--cols-2 .pv2-bn__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.preorder-v2 .pv2-bn--cols-3 .pv2-bn__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.preorder-v2 .pv2-bn__item {
    position: relative;
    min-width: 0;
    padding-left: 14px;
}

.preorder-v2 .pv2-bn__item::before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background: var(--pv2-tone, #8a7d6b);
}

/* На десктопе заголовок — просто текст; кнопкой он работает только в аккордеоне на телефоне */
.preorder-v2 .pv2-bn__name {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    color: #1a1a1a;
}

.preorder-v2 button.pv2-bn__name {
    pointer-events: none;
}

.preorder-v2 .pv2-bn__text {
    margin-top: 3px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #666;
}

.preorder-v2 .pv2-bn__text.is-always {
    margin-top: 0;
}

/* Товары коллекции — штатный каталог (p2-catalog-main) со своими стилями */
/* Рекламный инфоблок конструктора страниц между шапкой и товарами */
.preorder-v2 .pv2-info-block {
    margin: 0 0 20px;
}

.preorder-v2 .pv2-catalog {
    margin-top: 10px;
}

/* ---------- Адаптив ---------- */

@media (max-width: 1100px) {
    .preorder-v2 .pv2-row {
        grid-template-columns: 220px minmax(0, 1fr) minmax(0, 240px);
        grid-template-areas:
            "media main  terms"
            "media dates dates";
    }

    .preorder-v2 .pv2-row__cta {
        display: none;
    }
}

@media (max-width: 899px) {
    .preorder-v2 .pv2-ch__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Строка списка уже двух полос в ряд — сроки друг под другом */
    .preorder-v2 .pv2-row__dates {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }
}

@media (max-width: 991px) {
    .preorder-v2 .pv2-how__steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .preorder-v2 .pv2-bn:not(.pv2-bn--cols-1) .pv2-bn__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    .preorder-v2 .pv2-ch__media {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .preorder-v2 .pv2-ch__photo:nth-child(n+5) {
        display: none;
    }

    .preorder-v2 .pv2-ch__more.is-mobile {
        display: flex;
    }

    .preorder-v2 .pv2-ch__more.is-desktop {
        display: none;
    }

    .preorder-v2 .pv2-ch__media.is-empty .pv2-ch__panel {
        aspect-ratio: 3 / 1;
    }

    .preorder-v2 .pv2-ch__body {
        padding: 14px 16px 16px;
    }

    .preorder-v2 .pv2-ch__title {
        font-size: 22px;
    }

    /* Преимущества — аккордеон: видны заголовки, пояснение по тапу (зона тапа ≥ 44 px) */
    .preorder-v2 .pv2-bn {
        padding: 12px 16px 4px;
    }

    .preorder-v2 .pv2-bn__head {
        margin-bottom: 2px;
    }

    .preorder-v2 .pv2-bn__title {
        font-size: 13.5px;
        font-weight: 600;
        letter-spacing: 0;
        text-transform: none;
        color: #1a1a1a;
    }

    .preorder-v2 .pv2-bn__count {
        display: inline;
    }

    .preorder-v2 .pv2-bn__all {
        display: block;
        flex: none;
        padding: 4px 0;
        border: 0;
        background: none;
        font-family: inherit;
        font-size: 12.5px;
        font-weight: 500;
        color: #009ccc;
        cursor: pointer;
    }

    .preorder-v2 .pv2-bn .pv2-bn__list,
    .preorder-v2 .pv2-bn:not(.pv2-bn--cols-1) .pv2-bn__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .preorder-v2 .pv2-bn__item {
        border-top: 1px solid #f1f2f5;
    }

    .preorder-v2 .pv2-bn__item:first-child {
        border-top: 0;
    }

    .preorder-v2 .pv2-bn__item::before {
        top: 17px;
    }

    .preorder-v2 .pv2-bn__item > .pv2-bn__name,
    .preorder-v2 .pv2-bn__item > .pv2-bn__text.is-always {
        padding: 10px 0;
    }

    .preorder-v2 button.pv2-bn__name {
        position: relative;
        padding-right: 24px;
        pointer-events: auto;
        cursor: pointer;
    }

    .preorder-v2 button.pv2-bn__name::after {
        content: '›';
        position: absolute;
        top: 50%;
        right: 4px;
        font-size: 18px;
        font-weight: 400;
        line-height: 1;
        color: #9a9a9a;
        transform: translateY(-50%);
        transition: transform .15s;
    }

    .preorder-v2 .pv2-bn__item.is-open button.pv2-bn__name::after {
        transform: translateY(-50%) rotate(90deg);
    }

    .preorder-v2 button.pv2-bn__name + .pv2-bn__text {
        display: none;
        margin-top: -4px;
        padding-bottom: 10px;
    }

    .preorder-v2 .pv2-bn__item.is-open button.pv2-bn__name + .pv2-bn__text {
        display: block;
    }

    .preorder-v2 .pv2-ch__sec {
        padding: 14px 16px;
    }

    .preorder-v2 .pv2-title {
        font-size: 24px;
    }

    /* Бренды — одной строкой с прокруткой */
    .preorder-v2 .pv2-toolbar__brands {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0 -15px;
        padding: 0 15px 4px;
        -webkit-overflow-scrolling: touch;
    }

    .preorder-v2 .pv2-toolbar__left,
    .preorder-v2 .pv2-toolbar__right {
        width: 100%;
    }

    .preorder-v2 .pv2-toolbar__left .pv2-select {
        flex: 1 1 100%;
    }

    .preorder-v2 .pv2-toolbar__brands {
        scrollbar-width: none;
    }

    .preorder-v2 .pv2-toolbar__brands::-webkit-scrollbar {
        display: none;
    }

    .preorder-v2 .pv2-seg-label {
        display: none;
    }

    /* Два переключателя — одной строкой, поровну */
    .preorder-v2 .pv2-toolbar__right {
        flex-wrap: nowrap;
    }

    .preorder-v2 .pv2-seg {
        flex: 1 1 0;
        min-width: 0;
    }

    .preorder-v2 .pv2-seg__btn {
        flex: 1 1 0;
        padding: 0 6px;
    }

    .preorder-v2 .pv2-row {
        grid-template-columns: 138px minmax(0, 1fr);
        grid-template-areas: "media main" "dates dates";
        gap: 10px 12px;
        padding-right: 12px;
    }

    .preorder-v2 .pv2-row__terms,
    .preorder-v2 .pv2-row__bn {
        display: none;
    }

    /* Карточка в одну колонку: ровнять не с чем, пустой слот не нужен */
    .preorder-v2 .pv2-card .pv2-card__slot.is-empty {
        display: none;
    }

    /*
        Аккордеон на телефоне: высота по содержимому, панели по-прежнему переключаются
        (обе сразу не раскрываем — лента длинная). Преимущества — все заголовки, без «ещё N».
        Свёрнутые панели — зона тапа от 44 px.
    */
    .preorder-v2 .pv2-card__plain {
        height: auto;
        gap: 6px;
    }

    .preorder-v2 .pv2-acc,
    .preorder-v2 .pv2-acc__panel,
    .preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--bn,
    .preorder-v2 .pv2-acc.is-terms .pv2-acc__panel--terms,
    .preorder-v2 .pv2-acc__bn,
    .preorder-v2 .pv2-acc__panel > .pv2-card__terms,
    .preorder-v2 .pv2-card__plain > .pv2-card__terms,
    .preorder-v2 .pv2-acc__panel--bn .pv2-acc__shut {
        height: auto;
    }

    .preorder-v2 .pv2-acc__panel {
        transition: none;
    }

    .preorder-v2 .pv2-acc__list.is-over .pv2-acc__item:nth-child(n+5) {
        display: block;
    }

    .preorder-v2 .pv2-acc__more {
        display: none;
    }

    .preorder-v2 .pv2-acc__shut,
    .preorder-v2 .pv2-acc__panel > .pv2-card__terms.is-empty {
        min-height: 44px;
    }

    .preorder-v2 .pv2-acc__panel--bn .pv2-acc__shut {
        justify-content: center;
    }

    .preorder-v2 .pv2-acc__shut-sub {
        -webkit-line-clamp: 2;
    }

    .preorder-v2 .pv2-acc__tt {
        height: auto;
        column-gap: 12px;
    }

    /* Попап — шторка снизу */
    .preorder-v2 .pv2-modal {
        align-items: flex-end;
        padding: 0;
    }

    .preorder-v2 .pv2-modal__box {
        max-width: none;
        max-height: 88vh;
        border-radius: 14px 14px 0 0;
    }

    .preorder-v2 .pv2-modal__box:has(.pv2-grid) {
        max-width: none;
    }

    .preorder-v2 .pv2-modal__box::before {
        content: '';
        flex: none;
        width: 36px;
        height: 4px;
        margin: 8px auto 0;
        border-radius: 2px;
        background: #d6d6d6;
    }



    .preorder-v2 .pv2-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 480px) {
    .preorder-v2 .pv2-how__steps {
        grid-template-columns: 1fr;
    }
}

/* ---------- Архив завершённых предзаказов (07.10.2026) ----------
   Вкладки «Открытые / Завершённые» над фильтрами — ссылки в стиле чипов; карточки завершённых —
   серый вид is-closed + is-archive; на странице коллекции — свёрнутые условия и сетка состава */

.preorder-v2 .pv2-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.preorder-v2 .pv2-tabs .pv2-chip {
    padding: 8px 15px;
    font-size: 12.5px;
    text-decoration: none;
}

.preorder-v2 .pv2-tabs .pv2-chip.is-active,
.preorder-v2 .pv2-tabs .pv2-chip.is-active:hover {
    color: #fff;
}

.preorder-v2 .pv2-ch__archive-note {
    color: #666;
    line-height: 1.45;
}

.preorder-v2 details.pv2-ch__cond--archive {
    display: block;
}

.preorder-v2 .pv2-ch__cond--archive > summary {
    cursor: pointer;
    list-style: none;
}

.preorder-v2 .pv2-ch__cond--archive > summary::-webkit-details-marker {
    display: none;
}

.preorder-v2 .pv2-ch__cond--archive > summary::after {
    content: '›';
    display: inline-block;
    margin-left: 6px;
    transform: rotate(90deg);
    transition: transform .15s;
}

.preorder-v2 .pv2-ch__cond--archive[open] > summary::after {
    transform: rotate(-90deg);
}

.preorder-v2 .pv2-ch__cond-note {
    margin: 4px 0 12px;
    font-size: 11.5px;
}

.preorder-v2 .pv2-arch {
    margin: 0 0 32px;
}

.preorder-v2 .pv2-arch__head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 16px;
}

.preorder-v2 .pv2-arch__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

.preorder-v2 .pv2-arch__sub {
    color: #828a95;
    font-size: 13px;
}

.preorder-v2 .pv2-arch__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.preorder-v2 .pv2-arch__card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: inherit;
    text-decoration: none;
}

.preorder-v2 a.pv2-arch__card:hover .pv2-arch__name {
    color: #009ccc;
}

.preorder-v2 .pv2-arch__photo {
    display: block;
    aspect-ratio: 2 / 3;
    margin-bottom: 6px;
    overflow: hidden;
    background: #f4f4f4;
}

.preorder-v2 .pv2-arch__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.preorder-v2 .pv2-arch__name {
    font-size: 13px;
    line-height: 1.35;
}

.preorder-v2 .pv2-arch__type {
    color: #828a95;
    font-size: 12px;
}

.preorder-v2 .pv2-arch__stock {
    color: #009ccc;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 719px) {
    .preorder-v2 .pv2-arch__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
    }
}
