/* Shared cards: photo, centred name, two detail lines, then price/status. */
.item-card .item-card-media {
    position: relative;
    width: 100%;
}

.item-card .item-card-inner {
    margin-bottom: 21px;
}

.item-card .item-card-size {
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.35;
    text-align: center;
}

.item-card .item-card-detail-line {
    display: block;
}

/* Give availability labels breathing room without changing stock or prices. */
.item-card .price .stock-label {
    display: block;
    padding-block: 8px;
    max-width: 100%;
    white-space: normal;
}

/* This replaces the old per-card inline CSS, so first paint is already styled. */
.item-card .item-card-head-container {
    display: flex;
    flex-direction: column;
    gap: 17px;
    margin-bottom: 32px;
}

.item-card .price bdi:not(.stock-label) {
    white-space: nowrap;
}

/* Hide photo overlays in any previously cached card markup as well. */
.item-card .cart-add-to-fav { display: none !important; }

/* Stable product tabs before Swiper starts: only the active pane is visible. */
.products-tabs__pane { display: none; }
.products-tabs__pane.active { display: block; }

.products-tabs .products-slider__wrapper:not(.swiper-initialized) {
    overflow: hidden !important;
}

.products-tabs .products-slider__wrapper:not(.swiper-initialized) > .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
}

.products-tabs .products-slider__wrapper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    flex-shrink: 0;
    width: calc((100% - 7px) / 2);
    margin-right: 7px;
}

@media (min-width: 1024px) {
    .products-tabs .products-slider__wrapper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
        width: calc((100% - 60px) / 4);
        margin-right: 20px;
    }
}

/* Product detail: a clear hierarchy instead of three prices competing in one row. */
body.single-product .product-card-main-price-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}
body.single-product .product-card-main-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: .01em;
}
body.single-product .product-card-main-price .price-regular {
    display: block;
    margin: 0;
    color: #939393;
    opacity: 1;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    text-decoration-color: #a6a6a6;
}
body.single-product .product-card-main-price .price-sale,
body.single-product .product-card-main-price > bdi:not(.stock-label) {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    color: inherit;
    text-decoration: none;
    background: none;
}
body.single-product .product-card-main-price bdi { white-space: nowrap; }
body.single-product .product-card-main-price .russian-price {
    display: block;
    margin: 0;
    color: #888;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .01em;
    white-space: nowrap;
}
body.single-product .product-card-main-icons { justify-content: flex-end; margin: 0; }
body.single-product .product-card-main-add-to-fav { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; margin: 0; }
body.single-product .product-card-main-add-to-fav svg path[stroke] { stroke-width: 1; }
html[data-theme="dark"] body.single-product .product-card-main-price .price-regular,
html[data-theme="dark"] body.single-product .product-card-main-price .russian-price { color: #a6a6a6; }
@media (max-width: 600px) {
    body.single-product .product-card-main-price .price-sale,
    body.single-product .product-card-main-price > bdi:not(.stock-label) { font-size: 22px; }
}

/* Air between the two lines of the product recommendations heading. */
.product-card-would-like .product-card-would-like-title { line-height: 1.2; }

/* Small copper badges, matching the supplied catalogue layouts. */
body .item-card-status{z-index:2;pointer-events:none;aspect-ratio:auto;font-weight:400;background:rgba(248,248,248,.88);box-shadow:0 2px 16px rgba(0,0,0,.07);border-radius:24px}
body .item-card-status.exclusive{display:flex;width:auto;min-height:28px;height:auto;padding:8px 10px}
body .item-card-status.exclusive .item-status.exclusive{display:flex;color:#b58358;font:400 8px/1.2 Raleway,sans-serif;letter-spacing:.03em}
html[data-theme=dark] body .item-card-status{background:rgba(34,34,36,.9);box-shadow:0 2px 14px rgba(0,0,0,.13)}

/* A brand always starts its own line; model/reference retain normal wrapping. */
.product-name-brand{display:block;line-height:inherit}
.product-name-model{white-space:normal}

/* Reserve touch gestures only on the product photograph; the page remains scrollable outside it. */
.product-card .swiper-zoom-container > img{max-width:min(376px,100%);user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
@media(max-width:1180px),(hover:none) and (pointer:coarse) and (max-width:1366px){
 .product-card .swiper-zoom-container > img{touch-action:none}
}
@media(max-width:767px){.product-card .swiper-zoom-container > img{max-width:min(235px,100%)}}
