

/* Start:/local/templates/versta_desktop/components/bitrix/catalog/catalog.1/bitrix/catalog.element/vd/style.css?179172675912449*/
/*
 * Карточка товара (catalog.element «vd», макет screens/06-product.html) и общее с быстрым просмотром
 * (vd_quick подключает этот файл): выбор ТП, кнопки покупки, размерная сетка, лайтбокс.
 * Кнопки, чипы, свотчи, бейджи, цена, аккордеон, модалка — классы UI-кита (ui.css), здесь — раскладка.
 */

/* ---------- Страница ---------- */
.product-page__crumbs {
    padding-top: 28px;
}

.product-page {
    padding-bottom: clamp(72px, 7.78vw, 112px);
}

.product-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 480px;
    align-items: start;
    gap: 72px;
    padding-top: 28px;
}

/* ---------- Мозаика фото: 5:4 на всю ширину, дальше пары 3:4, последнее непарное — 16:9 ---------- */
.product-gallery {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.product-gallery__item {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--vd-radius);
    background: var(--vd-placeholder);
    overflow: hidden;
    cursor: zoom-in;
}

.product-gallery__item--wide {
    grid-column: span 2;
    aspect-ratio: 5 / 4;
}

.product-gallery__item--pair {
    aspect-ratio: 3 / 4;
}

.product-gallery__item--banner {
    grid-column: span 2;
    aspect-ratio: 16 / 9;
}

.product-gallery__item.ph {
    cursor: default;
}

.product-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Портретные снимки в широких кадрах — без обрезанной головы */
    object-position: 50% 28%;
    transition: transform 400ms ease;
}

.product-gallery__item:hover .product-gallery__img {
    transform: scale(1.02);
}

.product-gallery__item:focus-visible {
    outline-offset: 3px;
}

.product-gallery__badges {
    position: absolute;
    top: 18px;
    left: 18px;
    right: 18px;
    z-index: 1;
    pointer-events: none;
}

/* ---------- Правая колонка ---------- */
.product-card__info {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}

.product-card__meta {
    font: 600 11px / 1.3 var(--vd-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--vd-text-4);
}

.product-card__title {
    font: 700 clamp(32px, 3.06vw, 52px) / 1 var(--vd-font-display);
    letter-spacing: var(--vd-tracking-display);
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.product-card__price .price__current {
    font-size: 36px;
}

.product-card__price .price__old {
    font-size: 18px;
}

.product-card__hint {
    margin-top: -8px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--vd-accent);
}

.product-card__hint.is-success {
    color: var(--vd-ink);
}

/* BES-105: вся плашка — обычная ссылка, доступная без JavaScript. */
.product-card__best-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    padding: 16px 20px;
    border: 1px solid var(--vd-divider);
    border-radius: var(--vd-radius);
    background: var(--vd-white);
    font: 600 14px / 1.45 var(--vd-font-text);
    color: var(--vd-ink);
    transition: border-color var(--vd-transition);
}

.product-card__best-price:hover,
.product-card__best-price:focus-visible {
    border-color: var(--vd-ink);
    color: var(--vd-ink);
}

.product-card__best-price-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--vd-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Доставка: включаемая область include/area/product-delivery.php (список с точками) */
.product-card__delivery {
    padding: 20px;
    border-radius: var(--vd-radius);
    background: var(--vd-surface);
    font-size: 13.5px;
    line-height: 1.45;
}

.product-card__delivery ul,
.product-card__text ul {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-card__delivery li,
.product-card__text li {
    position: relative;
    padding-left: 18px;
}

.product-card__delivery li::before,
.product-card__text li::before {
    content: '';
    position: absolute;
    top: .58em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--vd-ink);
}

.product-card__delivery p + p {
    margin-top: 10px;
}

.product-card__delivery a,
.product-card__text a {
    border-bottom: 1px solid var(--vd-text-5);
}

.product-card__accordion {
    margin-top: 6px;
}

.product-card__text p + p,
.product-card__text p + ul,
.product-card__text ul + p {
    margin-top: 12px;
}

.product-card__text ul {
    gap: 8px;
}

.product-card__text li::before {
    background: var(--vd-text-4);
}

.product-card__text img {
    height: auto;
    border-radius: var(--vd-radius-s);
}

/* Характеристики */
.product-specs {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.product-specs__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    gap: 16px;
    padding: 10px 0;
    border-top: 1px solid var(--vd-surface-2);
}

.product-specs__row:first-child {
    border-top: 0;
    padding-top: 0;
}

.product-specs__name {
    color: var(--vd-text-3);
}

.product-specs__value {
    margin: 0;
    color: var(--vd-ink);
}

/* ---------- Выбор ТП (общий с быстрым просмотром) ---------- */
.product-option {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.product-option__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
}

.product-option__head--solo {
    justify-content: flex-end;
    margin-top: -10px;
}

.product-option__label {
    font: 600 12px / 1.2 var(--vd-font-text);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.product-option__chart {
    flex: none;
}

.product-option__swatches {
    gap: 10px;
}

/* Цвет без своего фото: картинка-образец из справочника растягивается на всю карточку */
.product-option__swatch .swatch__img {
    object-fit: cover;
}

/* Цвет без своего фото и без образца в справочнике: штриховка и название текстом */
.swatch--blank {
    background: repeating-linear-gradient(135deg, var(--vd-line-strong) 0 1.5px, var(--vd-white) 1.5px 4px);
}

.swatch--photo.swatch--blank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    background: var(--vd-surface);
}

.swatch__text {
    font: 600 10.5px / 1.2 var(--vd-font-text);
    color: var(--vd-text-2);
    text-align: center;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.product-option__chips {
    flex-wrap: wrap;
}

.product-option__chip {
    flex: 1 1 56px;
    height: 54px;
    min-width: 56px;
}

.product-option__chip--wide {
    flex: 1 1 auto;
    padding-inline: 16px;
}

.product-option__chip:disabled {
    pointer-events: none;
}

/* ---------- Кнопки покупки ---------- */
/* Ряд кнопок + счётчик «Сравнение · N» под ⇄ (catalog.compare.list «vd», пустой — hidden) */
.product-buy-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.product-buy__compare-link {
    align-self: flex-end;
}

.product-buy {
    display: flex;
    gap: 10px;
}

.product-buy__add {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 20px;
    font-size: 15.5px;
}

.product-buy__add.is-success {
    opacity: 1;
}

.product-buy__icon {
    flex: none;
    color: var(--vd-ink);
}

.product-buy__icon:hover {
    color: var(--vd-ink);
}

.product-buy__icon svg {
    width: 22px;
    height: 22px;
}

.product-buy__fav-icon path {
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linejoin: round;
    transition: fill var(--vd-transition);
}

.product-buy__fav.is-active {
    color: var(--vd-accent);
}

.product-buy__fav.is-active .product-buy__fav-icon path {
    fill: currentColor;
}

.product-buy__compare.is-active {
    border-color: var(--vd-ink);
    background: var(--vd-ink);
    color: var(--vd-white);
}

.product-buy__compare.is-active:hover {
    color: var(--vd-white);
    opacity: .86;
}

/* ---------- «С чем носить» (element.php) ---------- */
.product-related {
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding-bottom: clamp(72px, 8.33vw, 120px);
}

/* ---------- Размерная сетка (модалка, BES-60) ---------- */
.size-chart__title {
    margin-bottom: 24px;
}

.size-chart__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.size-chart__figure {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

.size-chart__img {
    width: 100%;
    height: auto;
    border: 1px solid var(--vd-divider);
    border-radius: var(--vd-radius);
}

.size-chart__caption {
    font-size: 13px;
    color: var(--vd-text-3);
}

.size-chart__file {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid var(--vd-line);
    border-radius: var(--vd-radius);
    color: var(--vd-ink);
    transition: border-color var(--vd-transition);
}

.size-chart__file:hover {
    border-color: var(--vd-ink);
    color: var(--vd-ink);
}

.size-chart__file-ext {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--vd-radius-s);
    background: var(--vd-surface);
    font: 600 11px / 1 var(--vd-font-mono);
    letter-spacing: .06em;
}

.size-chart__file-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.size-chart__file-name {
    font: 600 15px / 1.3 var(--vd-font-text);
    overflow-wrap: anywhere;
}

.size-chart__file-meta {
    font: 11px / 1 var(--vd-font-mono);
    letter-spacing: .08em;
    color: var(--vd-text-3);
}

.size-chart__file-action {
    flex: none;
    padding-bottom: 2px;
    border-bottom: 1px solid currentColor;
    font: 600 13px / 1 var(--vd-font-text);
}

/* ---------- Лайтбокс (модалка UI-кита) ---------- */
.modal--lightbox .modal__dialog {
    width: auto;
    max-width: min(92vw, 880px);
}

.lightbox {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    background: var(--vd-surface);
}

.lightbox__img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - 48px);
}

.lightbox__nav {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--vd-white);
    box-shadow: var(--vd-shadow-pop);
    color: var(--vd-ink);
    font-size: 20px;
    cursor: pointer;
    transition: opacity var(--vd-transition);
}

.lightbox__nav:hover {
    opacity: .86;
}

.lightbox__nav--prev {
    left: 16px;
}

.lightbox__nav--next {
    right: 16px;
}

.lightbox__count {
    position: absolute;
    left: 50%;
    bottom: 16px;
    padding: 7px 10px;
    border-radius: var(--vd-radius-pill);
    background: var(--vd-white);
    font: 600 11px / 1 var(--vd-font-mono);
    letter-spacing: .1em;
    transform: translateX(-50%);
}

/* ---------- Узкие экраны ---------- */
@media (max-width: 1280px) {
    .product-card {
        grid-template-columns: minmax(0, 1fr) 420px;
        gap: 48px;
    }
}

@media (max-width: 1024px) {
    .product-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }
}

@media (max-width: 767px) {
    .product-gallery {
        gap: 8px;
    }

    .product-card__price .price__current {
        font-size: 30px;
    }

    .product-buy__add {
        font-size: 15px;
    }

    .size-chart__file {
        flex-wrap: wrap;
    }
}

/* End */


/* Start:/local/templates/versta_desktop/components/bitrix/catalog/catalog.1/bitrix/catalog.compare.list/vd/style.css?1791726759827*/
/*
 * Счётчик-ссылка «Сравнение · N» (catalog.compare.list «vd»). Пустой список — [hidden].
 * Кнопки «⇄» стилизует их шаблон (обычно .btn.btn--outline.btn--icon; активная — .is-active).
 */
.compare-link {
    display: inline-flex;
    align-items: baseline;
    gap: .35em;
    padding-bottom: 2px;
    border-bottom: 1px solid var(--vd-line-strong);
    font: 600 var(--vd-fs-small) / 1 var(--vd-font-text);
    color: var(--vd-ink);
    white-space: nowrap;
}

.compare-link[hidden] {
    display: none;
}

.compare-link:hover {
    border-bottom-color: currentColor;
}

.compare-link__count {
    font-family: var(--vd-font-mono);
    font-weight: 400;
    color: var(--vd-text-3);
}

.compare-link__count::before {
    content: '· ';
}

/* End */
/* /local/templates/versta_desktop/components/bitrix/catalog/catalog.1/bitrix/catalog.element/vd/style.css?179172675912449 */
/* /local/templates/versta_desktop/components/bitrix/catalog/catalog.1/bitrix/catalog.compare.list/vd/style.css?1791726759827 */
