
/* ============================================
   Shop / Archive Product Page - Listing Styles
   ============================================ */

/* --- Main Listing Container (responsive product grid, matching original) --- */
.style_container__TFmIX {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-column-gap: 0;
    grid-row-gap: 0;
    overflow: hidden;
}
@media screen and (min-width: 1440px) {
    .style_container__TFmIX {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}
/* Product cards: padding + grid separator lines via pseudo-elements */
.style_container__TFmIX > .ListingProduct_product__WBPsd {
    box-sizing: border-box;
    position: relative;
    padding: 12px 16px;
}
.style_container__TFmIX > .ListingProduct_product__WBPsd:after {
    position: absolute;
    content: "";
    bottom: 0;
    right: 0;
    left: 0;
    height: 1px;
    background-color: #e6e8eb;
}
.style_container__TFmIX > .ListingProduct_product__WBPsd:before {
    position: absolute;
    content: "";
    top: 12px;
    bottom: 12px;
    right: 0;
    width: 1px;
    background-color: #e6e8eb;
}
/* Full-width children spanning all grid columns */
.style_container__TFmIX > [data-testid="product-block"],
.style_container__TFmIX > .ListingContent_listingProductBlockAnchor___u7xF,
.style_container__TFmIX > .ListingPaginationContainer_paginationWrapper__0hwUJ {
    grid-column: 1 / -1;
}

/* --- Breadcrumbs override --- */
.style_breadcrumbsWrapper__jGbbw {
    padding: 0;
    margin-bottom: 16px;
}

/* WooCommerce outputs crumbs in normal order (Home→Product), so override RTL */
.Breadcrumbs-module__breadcrumbsWrapper {
    direction: ltr;
}
.style_breadcrumbsWrapper__jGbbw .Breadcrumbs-module__crumb,
.style_breadcrumbsWrapper__jGbbw .Breadcrumbs-module__crumb a,
.style_breadcrumbsWrapper__jGbbw .Breadcrumbs-module__crumb span {
    font-size: 12px !important;
    line-height: 15.96px !important;
}
.style_breadcrumbsWrapper__jGbbw .Breadcrumbs-module__crumb a {
    color: #a0a1a3 !important;
    text-decoration: none !important;
}
.style_breadcrumbsWrapper__jGbbw .Breadcrumbs-module__crumb:last-child span {
    color: #1a1a1a !important;
}

/* --- Article How-Tos link --- */
.ArticleHowTos_text__7BphG {
    font-size: 14px !important;
    color: #0077cc !important;
    line-height: 20px !important;
    text-decoration: none !important;
}

/* --- Category chips scrollable container --- */
.ListingDropDownSwiper_container__Zz_Rb {
    position: relative;
    display: flex;
    align-items: center;
    margin: 12px 0 16px;
    overflow: hidden;
    height: 36px;
}
.ListingDropDownSwiper_button__hJLrr,
[class*="ListingDropDownSwiper_button__"] {
    display: none !important;
}

.ListingDropDownSwiper_items__1Rgpo {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    overflow-x: hidden;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    height: 36px;
    align-items: center;
}

.ListingDropDownSwiper_items__1Rgpo::-webkit-scrollbar {
    display: none;
}

/* --- Listing Recipes (chip links) --- */
.ListingRecipes_item__Nud5R {
    flex-shrink: 0;
    white-space: nowrap;
}
/* Default (non-selected) chips: white bg, gray border, dark text */
.Chip-module__chip.ListingRecipes_item__Nud5R {
    background: #fff !important;
    border: 1px solid #e6e8eb !important;
}
.Chip-module__chip.ListingRecipes_item__Nud5R .Chip-module__text {
    color: #1a1a1a !important;
}
/* Selected chip: blue bg, blue border, blue text */
.Chip-module__chip.Chip-module__selected.ListingRecipes_item__Nud5R,
.Chip-module__chip.Chip-module__sel.ListingRecipes_item__Nud5R {
    background: #ebf4fb !important;
    border: 1px solid #ebf4fb !important;
}
.Chip-module__chip.Chip-module__selected .Chip-module__text,
.Chip-module__chip.Chip-module__sel .Chip-module__text {
    color: #0077cc !important;
}

/* --- Article How-Tos link bar --- */

/* --- Listing Banner --- */

/* --- Product block in listing (sections like "Выгодное предложение") --- */
.Product_product__7ptZ1 .CardMedia_img__uT_80 {
    border-radius: 0 !important;
}
.Product_product__7ptZ1 .CardBasketBlock_container__Reuou {
    font-size: 13px;
    padding: 0 16px 0 4px !important;
}
.Product_product__7ptZ1 {
    padding: 8px;
    width: 100%;
    box-sizing: border-box;
}
.swiper-slide .Product_product__7ptZ1 {
    height: 100%;
}
.Product_product__7ptZ1 .style_containerImg__PRUiL {
    min-width: 0;
    min-height: 140px;
    max-height: 175px;
    max-width: 100%;
    border-radius: 0;
}

/* --- Title module h6 (missing from vendor CSS) --- */
.Title-module__h6 {
    font-size: 16px;
    line-height: 24px;
}

/* --- Carousel arrow buttons --- */
.CarouselConfigurable_button__H1tOC {
    width: 32px !important;
    height: 32px !important;
    padding: 4px !important;
}
/* Fix: IconButton-module__button overrides position:absolute from nav button classes */
.CarouselConfigurable_left__dwesI,
.CarouselConfigurable_right__rQW6s,
[class*="CarouselConfigurable_left__"],
[class*="CarouselConfigurable_right__"] {
    position: absolute !important;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
}
[class*="CarouselConfigurable_left__"] { left: 0; }
[class*="CarouselConfigurable_right__"] { right: 0; }

/* --- EntitiesList (generic section with header + content) --- */
.EntitiesList_container__AbI0N {
    margin-bottom: 16px;
}

.EntitiesList_header__wwu8B {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 0;
}

.EntitiesList_content__Mymfq {
    position: relative;
}

/* --- ListingContent (product grid/listing) --- */

/* --- Product cards (listing variant with hash __7ptZ1) --- */

/* --- Card media container --- */
.CardMedia_mediaContainer__dtZUl {
    display: block;
    position: relative;
    text-decoration: none;
}

.CardMedia_img__uT_80 {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 8px;
}

.CardMedia_resizableImage__s_kTY {
    width: 100%;
    aspect-ratio: 1;
    max-height: 176px;
    max-width: 176px;
    margin: 0 auto;
}

.CardMedia_img__uT_80 img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* --- No photo placeholder --- */
.style_containerImg__PRUiL {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f9f9f9;
    border-radius: 8px;
    overflow: hidden;
}
.style_container__TFmIX .style_sliderContainer__DeL50 {
    min-width: 0 !important;
}
.style_container__TFmIX .style_containerImg__PRUiL {
    min-width: 0 !important;
}
/* Constrain card images in listing (not product detail gallery) */
.ListingProduct_product__WBPsd .style_containerImg__PRUiL {
    max-height: 176px;
    border-radius: 0 !important;
}
.ListingProduct_product__WBPsd .CardMedia_img__uT_80 {
    border-radius: 0 !important;
}
/* Product detail gallery should be full-size */
.ProductCardGallery_preview__f_SAB.style_containerImg__PRUiL {
    max-height: none;
    min-height: 350px;
    background: var(--gray-100, #f7f8fa);
}

/* Constrain no-photo inside swiper product slides */
.swiper-slide .style_containerImg__PRUiL,
.swiper-slide .CardMedia_resizableImage__s_kTY {
    max-height: 164px;
    max-width: 164px;
    margin: 0 auto;
}

/* ListingProduct card image constraint */

/* --- Card info --- */
.CardInfo_info__zKUou {
    text-decoration: none;
}

.CardInfo_text__GGroD {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #1a1a1a;
    line-height: 1.4;
}

/* --- Card basket block --- */
.CardBasketBlock_container__Reuou {
    width: 100%;
}

/* --- Rating module --- */
.Rating-module__container {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.Rating-module__icon {
    color: #faaa32;
}

/* --- Product card pixel-perfect overrides --- */
.ListingProduct_buttons__NSCxG {
    display: flex;
    gap: 12px;
    margin-left: auto;
}
.ListingProduct_buttons__NSCxG button,
.ListingProduct_buttons__NSCxG .LinkButton-module__wrapper {
    color: #b4b5b8 !important;
}
.ListingProduct_product__WBPsd .ListingProduct_middlePanel__t7tPV .CardInfo_info__zKUou {
    margin-bottom: 4px !important;
}
.ListingProduct_product__WBPsd .CardInfo_text__GGroD {
    line-height: 20px !important;
}
.ListingProduct_basketBlock__Bg3cG {
    font-size: 13px;
    padding: 0 16px 0 4px !important;
}
.Button-module__button.Button-module__leftIcon {
    padding: 0 16px 0 4px;
}
.Button-module__iconStart {
    display: flex;
    align-items: center;
    height: 24px;
}
.ListingContent_filtersWrapper__QrRDw {
    border-left: 1px solid #e6e8eb;
    margin: 24px 0 42px 36px;
    padding-left: 28px;
}

/* --- Pagination pixel-perfect --- */
.Pagination-module__gapButton {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
}
.Pagination-module__inactive {
    background-color: #fff !important;
    color: #1a1a1a !important;
    border: none !important;
}

/* --- Sidebar filter overrides --- */
.ListingContent_filtersWrapper__QrRDw .ListingSection_title__HXjQB {
    font-size: 14px !important;
    margin-bottom: 14px !important;
}
.ListingContent_filtersWrapper__QrRDw .ListingPriceRange_input__wrSHY label {
    color: #b4b5b8 !important;
}
.ListingContent_filtersWrapper__QrRDw .ListingPriceRange_input__wrSHY input {
    border-radius: 2px !important;
    border: 1px solid #e6e8eb !important;
    background: #fff;
    padding: 7px 12px !important;
    height: 36px;
    box-sizing: border-box;
}
.ListingContent_filtersWrapper__QrRDw .ListingSortingOptions_select__zGjI1 {
    border-radius: 2px;
    border: 1px solid #e6e8eb;
    background: #fff;
    padding: 7px 12px;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23808080'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 30px;
}

/* --- 21vek add-to-cart button (WooCommerce integration) --- */

/* ============================================
   Product Detail Page — Single Product Styles
   ============================================ */

/* Basket button (pink primary) */
.BasketButton_basketButton__HYhW_ {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    height: 48px;
    padding: 0 24px;
    border: 1px solid #e52e6b;
    border-radius: 4px;
    background: #e52e6b !important;
    color: #fff !important;
    cursor: pointer;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    box-sizing: border-box;
    transition: background .2s;
    white-space: nowrap;
}
.BasketButton_basketButton__HYhW_:hover {
    background: #d42860 !important;
    border-color: #d42860;
}
.BasketButton_basketButton__HYhW_ .Button-module__iconStart {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.BasketButton_basketButton__HYhW_ .Button-module__iconStart svg {
    width: 24px;
    height: 24px;
    fill: none;
    color: #fff;
}
.BasketButton_basketButton__HYhW_ .Button-module__text {
    color: #fff !important;
    white-space: nowrap;
}

/* Inline indent (prices area inside wrapper) */
.StaticBlock_inlineIndent__X4BxI {
    padding: 10px 8px 8px;
    margin: 0 !important;
}
.Prices_wrapper__udFXL {
    margin-bottom: 12px;
}

/* StaticBlock buttons row */
.StaticBlock_buttons__eACb1 {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 8px;
    align-items: stretch;
}
.StaticBlock_buttons__eACb1:not(:first-child) {
    margin-top: 20px;
}

/* Favorites button */
.FavoritesButton_button__1VhZZ {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6e8eb;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    color: #808185;
    padding: 11px;
    transition: color .2s, border-color .2s;
}
.FavoritesButton_button__1VhZZ:hover {
    color: #cb11ab;
    border-color: #cb11ab;
}

/* Delivery details block */
.DeliveryDetails_container__OK9lp {
    margin-top: 20px;
    padding-top: 0;
    border-top: none;
}
.DeliveryDetails_headline__NCfJ8 {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
}
.DeliveryDetails_deliveryItems__blwkb {
    display: flex;
    flex-direction: column;
    margin-top: 4px;
}
.DeliveryItems_container__o350N {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 8px 0;
}
.DeliveryItems_borderTop__CkUcW {
    border-top: 1px solid #f2f3f5;
}
.DeliveryItems_description__BTYr9 {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.DeliveryItems_price__fBExF {
    white-space: nowrap;
    margin-left: 12px;
}
.DeliveryItems_greenColor__GPRr_ {
    color: #2e7d32 !important;
}

/* StaticBlock stickers placeholder */
.StaticBlock_stickers__3uG0l {
    min-height: 0;
}

/* Rating area — right-aligned like original */
.RatingArea_container__n1B0V {
    display: flex;
    justify-content: flex-end;
}

/* Rating gray text for 0 reviews */
.Rating-module__grayText .Rating-module__icon {
    color: #b4b5b8 !important;
}
.Rating-module__grayText .Rating-module__rating {
    color: #b4b5b8 !important;
}

/* Price large format */
.ProductPrice_productPrice__thjM7 {
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    color: #1a1a1a;
}
.Prices_price__41d3a span {
    font-size: 18px;
    font-weight: 700;
}

/* StaticBlock wrapper overrides to match original */
.StaticBlock_wrapper__fPqRe {
    padding: 16px !important;
    border-radius: 12px !important;
    box-shadow: rgba(6, 10, 13, 0.08) 0px 1px 4px 0px, rgba(6, 10, 13, 0.06) 0px 4px 16px 0px !important;
}

/* Discount badge — pill shape matching original */
.Prices_discountLabel__tV9l9 {
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 40px;
    background: #e52e6b;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    margin: 0 0 0 4px;
    white-space: nowrap;
}

/* Old price */
.Prices_oldPrice__YS0WI {
    color: #808185;
    text-decoration: line-through;
    margin-top: 4px;
}

/* Prices container */
.Prices_priceContainer__Kq0OQ {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.Prices_priceInfoContainer__0Qzo3 {
    display: flex;
    align-items: center;
    margin-left: 4px;
}

/* ──── BonusHint pill ──── */
.BonusHint_hint__TFH__ {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    margin: 0;
    height: 20px;
    box-sizing: border-box;
}
.BonusHint_icon__oh_WE {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.BonusHint_hint__TFH__ .Text-module__text {
    position: relative;
    z-index: 1;
    color: #a07800;
    font-size: 11px;
    line-height: 18px;
}

/* ──── Yellow installment banner ──── */
.Banner-module__container {
    display: flex;
    align-items: center;
    width: 100%;
    border: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}
button.Banner-module__container.Banner-module__medium,
.Banner-module__container.Banner-module__medium {
    padding: 4px 6px;
    border-radius: 4px;
    gap: 6px;
    height: 32px;
    margin-top: 8px;
}
.Banner-module__yellow {
    background: rgba(250, 170, 50, 0.16);
    color: #1a1a1a;
}
.Banner-module__yellow:hover {
    background: rgba(250, 170, 50, 0.24);
}
.Banner-module__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #faaa32;
}
.Banner-module__icon svg {
    width: 20px;
    height: 20px;
}
.Banner-module__text {
    flex: 1;
}
.Banner-module__arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #808185;
}
.Banner-module__arrow svg {
    width: 12px;
    height: 12px;
}

/* ──── Delivery arrow links ──── */
.DeliveryItems_container__o350N {
    display: flex;
    align-items: center;
    padding: 8px 0;
    gap: 8px;
}
.DeliveryItems_description__BTYr9 {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.DeliveryItems_textDescription__QKjoI {
    color: #808185;
}
.DeliveryItems_link__LPVnE {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #808185;
    text-decoration: none;
}
.DeliveryItems_link__LPVnE svg {
    width: 16px;
    height: 16px;
}
.DeliveryItems_link__LPVnE:hover {
    color: #333;
}

/* ──── Gallery labels (stickers) ──── */
.ProductCardBasicTab_stickers__fdGC8 {
    margin-top: 33px;
}
.Labels_labels__20VKJ {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.Label-module__label {
    display: inline-flex;
    align-items: center;
    padding: 0 5px;
    border-radius: 3px;
    cursor: default;
    text-decoration: none;
    height: 18px;
}
.Label-module__Red {
    background: #e52e6b;
    color: #fff;
}
.Label-module__Orange {
    background: #faaa32;
    color: #fff;
}
.Label-module__Green {
    background: #2e7d32;
    color: #fff;
}
.Labels_labelText__0_CTD {
    font-size: 9px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ──── Video bonus banner ──── */
.ProductCardBasicTab_videoBonus__LY7XC {
    margin-top: 12px;
}
.VideoBonusBanner_container__zWrFz {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f2f3f5;
    gap: 10px;
    cursor: pointer;
}
.VideoBonusBanner_container__zWrFz:hover {
    background: #e6e8eb;
}
.VideoBonusBanner_icon__CRGNI {
    flex-shrink: 0;
    color: #4c5bca;
    display: flex;
}
.VideoBonusBanner_icon__CRGNI svg {
    width: 24px;
    height: 24px;
}
.VideoBonusBanner_container__zWrFz .Text-module__text {
    flex: 1;
}
.VideoBonusBanner_arrow__fnIBd {
    flex-shrink: 0;
    color: #808185;
}
.VideoBonusBanner_arrow__fnIBd svg {
    width: 16px;
    height: 16px;
}

/* ──── Warranty banner ──── */
.ProductCardBasicTab_warranty__SDFGE {
    margin-top: 8px;
}
.WarrantyBanner_container__EqTrl {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f2f3f5;
    gap: 10px;
}
.WarrantyBanner_icon__ASDFx {
    flex-shrink: 0;
    color: #2e7d32;
    display: flex;
}
.WarrantyBanner_icon__ASDFx svg {
    width: 24px;
    height: 24px;
}

/* ──── InstallmentCard adjustments ──── */
.InstallmentCard_container__MsGdE {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0 6px;
    padding: 0;
}
.InstallmentCard_content__yhdDj {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
