/* =====================================================================
   CS-NN — КАРТОЧКИ ТОВАРА (оба варианта главной)
   Подключать после all.css, перед home-vision*.css
   ===================================================================== */

body#main {
    --hv-discount: #D64545;
    --hv-discount-bg: #FDECEC;
    --hv-card-w: 15.75rem;
    --hv-card-title-lines: 3;
    --hv-card-title-lh: 1.28;
    --hv-card-title-fs: .82rem;
}

/* слайдер: отступы между карточками, без «слипания» */
body#main .products_slider {
    overflow: hidden;
    padding-bottom: 2.8rem;
    margin-bottom: 0;
}
body#main .products_slider > .swiper-wrapper {
    align-items: stretch;
}
body#main .products_slider .swiper-slide {
    width: var(--hv-card-w) !important;
    height: auto !important;
    box-sizing: border-box;
}

/* единая высота карточки */
body#main .products_slider .card {
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background: #fff;
    border-radius: var(--hv-radius-sm, 12px);
    border: 1px solid var(--hv-line, #E8E3D9);
    overflow: hidden;
    transition: box-shadow .25s, transform .25s, border-color .25s;
    position: relative;
    cursor: pointer;
    padding: .85rem 1.15rem 1.15rem;
}

/* клик по всей карточке → страница товара */
body#main .card-hit {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    text-decoration: none;
    color: inherit;
}
body#main .card-hit:focus-visible {
    outline: 2px solid var(--hv-accent, #D4920A);
    outline-offset: 2px;
}

body#main .card .card_tags {
    position: absolute;
    left: .85rem;
    top: .85rem;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
    margin: 0;
    pointer-events: none;
}
body#main .card .favorite {
    position: absolute;
    right: .85rem;
    top: .85rem;
    z-index: 3;
}
body#main .card .card_info-bot .ms2_form,
body#main .card .card_info-bot .add_to_basket {
    position: relative;
    z-index: 2;
}

body#main .card-name a,
body#main .card-name span {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

body#main .card_img {
    height: 10.5rem;
    min-height: 10.5rem;
    max-height: 10.5rem;
    width: 100%;
    margin: 0 0 .75rem;
    flex-shrink: 0;
}
body#main .card_img img,
body#main.theme-noir .card-thumb img {
    max-height: 100%;
    object-fit: contain;
}

body#main.theme-noir .card-thumb {
    height: 10.5rem;
    min-height: 10.5rem;
    max-height: 10.5rem;
    width: 100%;
    margin: 0 0 .75rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

body#main .card_info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 7.85rem;
    padding-top: 0;
}

body#main .card_info-top {
    flex-shrink: 0;
    margin-bottom: .55rem;
}

/* фиксированный блок под 4 строки — все карточки одной высоты */
body#main .card-name {
    flex: 0 0 auto;
    height: calc(var(--hv-card-title-fs) * var(--hv-card-title-lh) * var(--hv-card-title-lines));
    min-height: calc(var(--hv-card-title-fs) * var(--hv-card-title-lh) * var(--hv-card-title-lines));
    max-height: calc(var(--hv-card-title-fs) * var(--hv-card-title-lh) * var(--hv-card-title-lines));
    margin: 0 0 .55rem;
    font-size: var(--hv-card-title-fs);
    line-height: var(--hv-card-title-lh);
    display: -webkit-box;
    -webkit-line-clamp: var(--hv-card-title-lines);
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

body#main .card_info-bot {
    flex-shrink: 0;
    margin-top: auto;
    padding-top: .5rem;
    align-items: flex-end;
    gap: .5rem;
}

body#main .card-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    line-height: 1.2;
}
body#main .card-price .old_price {
    margin-left: 0;
    display: block;
}

/* бейджи */
body#main .card_tags {
    gap: .25rem;
}
body#main .card_tags span {
    border-radius: 6px;
    font-weight: 700;
    font-size: .62rem;
    letter-spacing: .02em;
    padding: .28rem .55rem;
    line-height: 1.1;
}
body#main .card_tags span.tag-new {
    background: #1A6FB5 !important;
}
body#main .card_tags span.tag-discount {
    background: var(--hv-discount) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(214, 69, 69, .35);
}
body#main .card_tags span.tag-discount::before {
    content: "↓ ";
    font-size: .58rem;
}

/* пагинация слайдера */
body#main .products_slider .slider_nav.swiper-pagination {
    bottom: 0 !important;
}

@media (max-width: 600px) {
    body#main {
        --hv-card-title-fs: .74rem;
        --hv-card-title-lines: 3;
    }
    body#main .products_slider .swiper-slide {
        width: 48% !important;
    }
    body#main .card_info {
        min-height: 7.5rem;
    }
    body#main .card_img {
        height: 34vw;
        min-height: 34vw;
        max-height: 34vw;
    }
}
