/*
Theme Name: 21vek Clone
Theme URI: https://www.21vek.by/
Author: Antigravity
Author URI: https://github.com/
Description: A clone of the 21vek.by e-commerce site layout.
Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 21vek-clone
*/

/* Basic Reset & Global Styles — matching 21vek.by exactly */
html {
    font-size: .75em;
}

blockquote,
button,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
select,
table,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
    position: relative;
    vertical-align: middle;
    outline: none;
    border-spacing: 0;
}

body {
    font: normal 1em / 1.33 Tahoma, Liberation Sans, FreeSans, sans-serif;
    background: #fff;
    color: var(--black-500, #1a1a1a);
    overflow-anchor: none;
}

/* Color Variables — exact copy from 21vek.by vendor-bundle-1.css */
:root {
    --black-500: #1a1a1a;
    --black-400: #323233;
    --black-300: #4d4d4d;
    --gray-700: #a0a1a3;
    --gray-600: #b4b5b8;
    --gray-500: #c8c9cc;
    --gray-400: #dcdde0;
    --gray-300: #e6e8eb;
    --gray-200: #ebedf0;
    --gray-100: #f7f8fa;
    --white: #fff;
    --blue-900: #005998;
    --blue-800: #0061a6;
    --blue-700: #0068b2;
    --blue-600: #006ebd;
    --blue-500: #07c;
    --blue-450: #bad8ef;
    --blue-400: #d6e9f7;
    --blue-300: #ebf4fb;
    --pink-700: #cc215a;
    --pink-600: #d62761;
    --pink-500: #e52e6b;
    --pink-400: #fbdee7;
    --pink-300: #fdeef3;
    --purple-700: #672f9e;
    --purple-600: #6f36a8;
    --purple-500: #7b3eb8;
    --purple-400: rgba(123, 62, 184, .16);
    --purple-300: rgba(123, 62, 184, .08);
    --magenta-700: #b82587;
    --magenta-600: #c22b90;
    --magenta-500: #d1329c;
    --magenta-400: rgba(209, 50, 156, .16);
    --magenta-300: rgba(209, 50, 156, .08);
    --green-700: #038041;
    --green-600: #068a48;
    --green-500: #099951;
    --green-400: rgba(9, 153, 81, .16);
    --green-300: rgba(9, 153, 81, .08);
    --orange-700: #e09524;
    --orange-600: #eb9e2a;
    --orange-500: #faaa32;
    --orange-450: rgba(250, 170, 50, .25);
    --orange-400: rgba(250, 170, 50, .16);
    --orange-300: rgba(250, 170, 50, .08);
    --yellow-100: #ffc43d;
    --yellow-300: #faaa32;
    --overlay: rgba(26, 26, 26, .5);
    --gradient: linear-gradient(90deg, #941e94, #e52e6b);
    --new-gradient: radial-gradient(107.53% 82.28% at 63.72% 30.57%, rgba(255, 149, 52, .9) 0%, rgba(242, 0, 97, .18) 100%), linear-gradient(89.75deg, #b300b3 50.07%, #d4009a 65.11%, #f2007a 78.99%, #f06 102.42%);
    --new-gradient-linear: linear-gradient(90.28deg, #e437aa 3.67%, #d9249d 99.81%);
    --base-font-family: Arial, sans-serif;
    --button-font-size: 14px;
    --button-line-height: 20px;
    --regular: 400;
    --bold: 700;
    --scrollbar-width: inherit;
}

header {
    display: block;
}

ul,
li,
div,
button {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Structural Styles to match 21vek layout */
.styles_headerReactLine__FsvlC {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--gray-300);
}

.styles_headerReactWrapper__TTCde {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

/* Top Bar */
.styles_headerReactLineFirst__DzXhI {
    height: 40px;
    font-size: 13px;
    background: var(--gray-100);
}

.styles_headerReactInner__kWib7 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.styles_navMenu__t_u9b,
.styles_communications__oRy4T {
    display: flex;
    list-style: none;
    gap: 20px;
}

.styles_localityBtn__qrGFQ {
    display: flex;
    align-items: center;
    gap: 5px;
    border: none;
    background: none;
    cursor: pointer;
}

/* Main Header */
.styles_headerReactLineSecond__1oyh6 {
    height: 72px;
    z-index: 100;
}

.styles_catalogButton__z9L_j {
    background: transparent;
    color: var(--black-500, #1a1a1a);
    border: 1px solid var(--gray-300, #dcdde0);
    padding: 0 16px;
    height: 42px;
    border-radius: 40px;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    cursor: pointer;
    margin-right: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.Search_searchInputContainer__rDgxi {
    flex-grow: 1;
    display: flex;
    margin: 0 16px;
    position: relative;
    align-items: center;
}

.Search_searchInput__RoV1W {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 2px solid var(--primary-red, #e30613);
    border-radius: 4px;
    font-size: 16px;
}

.Search_searchBtn__Tk7Gw {
    position: absolute;
    right: 0;
    top: 0;
    height: 48px;
    width: 48px;
    background: var(--primary-red, #e30613);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.headerCart,
.styles_userTools__KBZrj {
    margin-left: 16px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Promo Bar - see overrides below at line ~300 */


/* =====================================================
   Category Nav Bar (Promo Bar) Visibility Overrides
   The promo list is hidden by styles_hidden__A96dj class
   and aria-hidden="true" from the original JS. Force visible.
   ===================================================== */
.styles_hidden__A96dj {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

.styles_promoList__yozMt[aria-hidden="true"] {
    display: block !important;
    visibility: visible !important;
}

.styles_promoListContainer__cAQHG {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.styles_promoList__yozMt {
    display: flex !important;
    align-items: center;
    width: 100%;
}

/* Override for the hidden variant - force flex & relative positioning */
.styles_promoList__yozMt.styles_hidden__A96dj {
    display: flex !important;
    align-items: center;
    position: relative !important;
    height: 42px !important;
    gap: 0;
}


.styles_fixed__RU8zI {
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.styles_fixed__RU8zI .styles_promoItem__aolWq a {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Promo items horizontal layout */
.styles_promoItems__VAObM {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
}

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

.styles_promoItem__aolWq {
    white-space: nowrap;
    flex-shrink: 0;
}

/* Promo item hover effect */
.styles_promoItem__aolWq a:hover {
    background: var(--header-promo-item-hover, rgba(26, 26, 26, 0.2));
    border-radius: 4px;
    padding: 4px 8px;
    margin: -4px -8px;
}

/* Header third line background gradient */
.styles_headerReactLineThird__9oy7_ {
    background: var(--header-promo-line-bg, linear-gradient(90deg, #909 -4.29%, #b08 26.34%, #d9006d 54.6%, #f20061 102.3%)) !important;
    min-height: 42px;
    height: auto !important;
    overflow: visible !important;
    position: relative;
}

.styles_headerReactWrapperAlt__QuQrs {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Light SVG decoration behind promo bar */
.styles_light__bTkNG {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 400px;
    height: 42px;
    pointer-events: none;
    z-index: 0;
}

/* ========================================
   Info Pages Styles (About, Delivery, Contacts)
   ======================================== */

/* Breadcrumbs */
.InfoPage_breadcrumbs__wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 20px 0;
}

.Breadcrumbs_breadcrumbs__list {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #999;
}

.Breadcrumbs_breadcrumbs__link {
    color: #0069b4;
    text-decoration: none;
}

.Breadcrumbs_breadcrumbs__link:hover {
    text-decoration: underline;
}

.Breadcrumbs_breadcrumbs__separator {
    color: #ccc;
}

.Breadcrumbs_breadcrumbs__current {
    color: #333;
}

/* Info Page Container */
.InfoPage_container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 20px 60px;
}

.InfoPage_content {
    margin-top: 24px;
}

.InfoPage_placeholder {
    text-align: center;
    padding: 60px 20px;
    background: #fafafa;
    border-radius: 12px;
}

/* Title/Text modules: canonical definitions now in vendor-original.css */

/* Links in info pages */
.Link_link__qgZBw {
    color: #0069b4;
    text-decoration: none;
}

.Link_link__qgZBw:hover,
.Link_underline__dYCr0:hover {
    text-decoration: underline;
}

/* ---- About Page ---- */
.AboutPage_features {
    margin-top: 32px;
}

.AboutPage_featureGrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

.AboutPage_featureCard {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 24px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.AboutPage_featureCard:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.AboutPage_featureCard h3 {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin: 0 0 8px;
}

.AboutPage_featureCard p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

.AboutPage_featureIcon {
    margin-bottom: 12px;
    color: #e30613;
}

/* ---- Delivery Page ---- */
.DeliveryPage_infoBlock {
    background: linear-gradient(135deg, #f0f8ff 0%, #fff5f5 100%);
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 32px;
}

.DeliveryPage_conditionsList {
    list-style: none;
    padding: 0;
    margin: 16px 0;
}

.DeliveryPage_conditionsList li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 12px;
    font-size: 15px;
    color: #333;
    line-height: 1.5;
}

.DeliveryPage_conditionsList li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #27ae60;
    font-weight: 700;
}

.DeliveryPage_section {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #eee;
}

.DeliveryPage_section:last-child {
    border-bottom: none;
}

/* ---- Contacts Page ---- */
.ContactsPage_block {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eee;
}

.ContactsPage_block:last-child {
    border-bottom: none;
}

.ContactsPage_phoneList {
    list-style: none;
    padding: 0;
    margin: 12px 0;
}

.ContactsPage_phoneItem {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-size: 18px;
    font-weight: 500;
}

.ContactsPage_operator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 28px;
    background: #f5f5f5;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #666;
}

.ContactsPage_number {
    color: #222;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.ContactsPage_messengers {
    margin-top: 16px;
}

.ContactsPage_messengers p {
    font-size: 15px;
    margin-bottom: 8px;
}

/* Shop styles moved to css/21vek-shop.css */

.Rating-module__rating {
    font-weight: 500;
}

.Rating-module__review {
    color: #999;
}

.Price-module__price {
    font-weight: 700;
    color: #1a1a1a;
}

.Price-module__majorPrice-small {
    font-size: 16px;
    line-height: 1.3;
}


/* --- Style title for category heading --- */

/* --- Breadcrumbs styling override for shop page --- */

/* --- Style container for page content --- */

/* Early Label-module definitions removed — global-base.css provides correct originals */

/* --- Page content layout — matching 21vek.by exactly --- */
.PageNew_content__2ss_E {
    min-width: 1090px;
    margin: 0 auto;
    padding-left: 68px;
    padding-right: calc(68px - var(--scrollbar-width, 15px));
    padding-bottom: 32px;
    min-height: 400px;
}

.style_layout__8I_Oq {
    display: flex;
    flex-direction: column;
}

/* ============================================
   Responsive adjustments for shop page
   ============================================ */
@media (max-width: 768px) {

    .ListingDropDownSwiper_items__1Rgpo {
        max-height: 80px;
    }
}

@media (max-width: 480px) {
    .ListingDropDownSwiper_items__1Rgpo {
        max-height: 60px;
        gap: 6px;
    }
}

.styles_catalogButton__z9L_j [class^="styles_catalogIcon"] {
    display: flex;
    width: 24px;
    height: 24px;
    background-color: var(--pink-500, #e52e6b);
    color: #fff;
    border-radius: 50%;
    padding: 4px;
    box-sizing: border-box;
}

/* ========================================
   Single Product Page (21vek.by exact clone)
   Using original CSS module class names
   ======================================== */

/* ── Tabs (original: Tabs-module) ── */
.ProductCardTabs_container__MA5Qx {
    margin: 16px 0 32px;
}

.Tabs-module__tabs {
    border-bottom: 1px solid var(--gray-300, #e6e8eb);
}

.Tabs-module__inner {
    display: flex;
    gap: 0;
}

/* Product page tabs (scoped to product card) */
.ProductCardTabs_container__MA5Qx .Tabs-module__tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    padding: 12px 0;
    margin-right: 24px;
    cursor: pointer;
    font-family: inherit;
}

.ProductCardTabs_container__MA5Qx .Tabs-module__tab.Tabs-module__active {
    border-bottom-color: var(--blue-600, #006ebd);
}

/* Tabs-module__tabTitle: canonical definitions in vendor-original.css */

/* Tabs-module__counter: canonical definitions in vendor-original.css */

/* ── Main 3-column layout ── */
.ProductCardBasicTab_wrapper__fEA_b {
    margin-top: 24px;
}

.ProductCardBasicTab_topBlock__Zuh_S {
    display: flex;
    align-items: flex-start;
}

/* LEFT column: Gallery */
.ProductCardBasicTab_leftBlock__e2JEU {
    flex: 5 1 0%;
    min-width: 0;
}

.ProductCardBasicTab_stickyContent__ESFF9 {
    position: sticky;
    top: 122px;
}

/* Gallery */
.ProductCardGallery_gallery__f7XjH {
    width: 100%;
}

.ProductCardGallery_content__uPHhg {
    display: flex;
}

/* Thumbnails vertical */
.ProductCardGallery_miniatures__ABfQJ {
    display: block;
    flex-shrink: 0;
    width: 64px;
    margin-right: 16px;
    max-height: 480px;
    overflow-y: auto;
    scrollbar-width: none;
}

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

.Miniature_container__1rv3z {
    width: 64px;
    height: 64px;
    border: 2px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.15s;
}

.Miniature_container__1rv3z:hover {
    border-color: var(--gray-500, #c8c9cc);
}

.ProductCardGallery_active__ZX6_6 {
    border-color: var(--blue-600, #006ebd);
}

.Miniature_miniature__LwQ0W {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Miniature_miniature__LwQ0W img {
    max-width: 52px;
    max-height: 52px;
    object-fit: contain;
}

/* CENTER column: Details */
.ProductCardBasicTab_centerBlock__gKAtv {
    flex: 4 1 0%;
    min-width: 200px;
    margin: 0 24px 0 32px;
}

/* TopAttributes: canonical definitions in vendor-original-2.css */

/* Description Preview */
.DescriptionPreview_container__tRnMt {
    margin-top: 20px;
}

.DescriptionPreview_description__JA_l3 {
    color: var(--black-300, #4d4d4d);
    line-height: 1.6;
}

.DescriptionPreview_description__JA_l3 p {
    margin-bottom: 8px;
}

.DescriptionPreview_description__JA_l3 ul {
    margin-left: 16px;
    margin-bottom: 8px;
}

.DescriptionPreview_description__JA_l3 li {
    margin-bottom: 4px;
}

/* RIGHT column: Price Panel (StaticBlock) */
.StaticBlock_container__4fYJ3 {
    flex: 0 0 322px;
    min-width: 0;
}

.StaticBlock_content__0Qaz8 {
    position: sticky;
    top: 122px;
}

.StaticBlock_wrapper__fPqRe {
    border: none;
    border-radius: 12px;
    padding: 16px;
    background: var(--white, #fff);
}

/* Rating Area — flex-end set in 21vek-shop.css */
.RatingArea_container__n1B0V {
    margin: 0;
    display: flex;
    justify-content: flex-end;
}

.RatingArea_rating__IiRD3 {
    cursor: pointer;
}

.Rating-module__icon {
    color: #ffb800;
    font-size: 18px;
}

/* Prices */
.StaticBlock_inlineIndent__X4BxI {
    padding: 10px 8px 8px;
    margin: 0;
}

.Prices_wrapper__udFXL {
    margin-bottom: 12px;
}

.Prices_priceContainer__Kq0OQ {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.Prices_price__41d3a {
    font-size: 28px;
    font-weight: 700;
    color: var(--black-500, #1a1a1a);
    line-height: 1.2;
}

.Prices_price__41d3a .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.Prices_priceInfoContainer__0Qzo3 {
    display: flex;
    align-items: center;
    gap: 4px;
}

.Prices_discountLabel__tV9l9 {
    background: var(--pink-500, #e52e6b);
    color: var(--white, #fff);
    padding: 0 8px;
    border-radius: 40px;
    font-size: 11px;
    font-weight: 700;
    line-height: 22px;
    margin-left: 4px;
}

.Prices_oldPrice__YS0WI {
    color: var(--gray-700, #a0a1a3);
    text-decoration: line-through;
}

/* Labels / Badges */
.Labels_labels__20VKJ {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 16px;
}

/* Basket / Add to Cart */
.BasketButton_container__vek21 {
    margin-bottom: 16px;
}

.BasketButton_container__vek21 .single_add_to_cart_button,
.BasketButton_container__vek21 button[type="submit"] {
    width: 100%;
    background: var(--pink-500, #e52e6b);
    color: var(--white, #fff);
    border: none;
    border-radius: 8px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    font-family: inherit;
    line-height: 1.3;
}

.BasketButton_container__vek21 .single_add_to_cart_button:hover,
.BasketButton_container__vek21 button[type="submit"]:hover {
    background: var(--pink-700, #cc215a);
}

.BasketButton_container__vek21 .quantity {
    margin-bottom: 10px;
}

.BasketButton_container__vek21 .quantity .qty {
    width: 60px;
    height: 40px;
    text-align: center;
    border: 1px solid var(--gray-400, #dcdde0);
    border-radius: 6px;
    font-size: 16px;
}

/* ── Bottom Block ── */
.ProductCardBasicTab_bottomBlock__IHn1w {
    margin-top: 40px;
}

/* Full Attributes/Specs */
.Attributes_container__XihxW {
    padding-top: 24px;
    border-top: 1px solid var(--gray-300, #e6e8eb);
    margin-bottom: 32px;
}

.Attributes_name__Lyt3P {
    margin-bottom: 20px;
}

.Attributes_column__d52QB {
    flex: 1;
    min-width: 0;
}

.Attributes_attributes__qE7vF {
    display: flex;
    gap: 40px;
    max-height: 600px;
    overflow: hidden;
    position: relative;
}

.Attributes_attributes__qE7vF.Attributes_expanded {
    max-height: none;
    overflow: visible;
}

.Attribute_attribute__2uE4Q {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--gray-200, #ebedf0);
    gap: 16px;
}

.Attribute_attribute__2uE4Q:last-child {
    border-bottom: none;
}

.Attribute_title__rQ5Dp {
    font-size: 13px;
    color: var(--gray-700, #a0a1a3);
    flex-shrink: 0;
    max-width: 45%;
}

.Attribute_value__re9Rr {
    font-size: 13px;
    color: var(--black-500, #1a1a1a);
    text-align: right;
}

/* WooCommerce Reviews in Attributes container */
.Attributes_container__XihxW #comments {
    margin: 0;
}

.Attributes_container__XihxW .commentlist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.Attributes_container__XihxW .commentlist li {
    padding: 16px 0;
    border-bottom: 1px solid var(--gray-200, #ebedf0);
}

.Attributes_container__XihxW .commentlist li:last-child {
    border-bottom: none;
}

.Attributes_container__XihxW .comment-reply-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 16px;
}

.Attributes_container__XihxW .star-rating {
    color: #ffb800;
    font-size: 14px;
    margin-bottom: 6px;
}

.Attributes_container__XihxW .comment-form label {
    display: block;
    font-size: 13px;
    margin-bottom: 4px;
}

.Attributes_container__XihxW .comment-form input[type="text"],
.Attributes_container__XihxW .comment-form input[type="email"],
.Attributes_container__XihxW .comment-form textarea {
    width: 100%;
    max-width: 500px;
    padding: 10px 12px;
    border: 1px solid var(--gray-400, #dcdde0);
    border-radius: 6px;
    font-size: 14px;
    font-family: inherit;
    margin-bottom: 12px;
}

.Attributes_container__XihxW .comment-form .form-submit input[type="submit"] {
    background: var(--pink-500, #e52e6b);
    color: var(--white, #fff);
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .ProductCardBasicTab_topBlock__Zuh_S {
        flex-wrap: wrap;
    }

    .ProductCardBasicTab_leftBlock__e2JEU {
        width: 100%;
        max-width: 480px;
    }

    .StaticBlock_container__4fYJ3 {
        flex: 1 1 280px;
    }

    .StaticBlock_content__0Qaz8 {
        position: static;
    }

    .ProductCardBasicTab_stickyContent__ESFF9 {
        position: static;
    }
}

@media (max-width: 768px) {
    .ProductCardBasicTab_topBlock__Zuh_S {
        flex-direction: column;
    }

    .ProductCardBasicTab_leftBlock__e2JEU {
        width: 100%;
        max-width: 100%;
    }

    .ProductCardGallery_miniatures__ABfQJ {
        flex-direction: row;
        width: auto;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .StaticBlock_container__4fYJ3 {
        flex: none;
        width: 100%;
    }

    .ProductCardTabs_container__MA5Qx .Tabs-module__tab {
        margin-right: 16px;
    }

    .Tabs-module__tabTitleWrapper {
        font-size: 14px;
    }
}

/* ========================================
   Product Page — Additional classes
   (classes from original 21vek.by DOM
   that were purged or not in vendor CSS)
   ======================================== */

/* ── Tabs aside buttons (bell / compare) ── */
/* Tabs-module__empty: canonical definitions in vendor-original.css */

.TabsAsideButtons_container__qXJyW {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
    flex-shrink: 0;
}

.ProductCardTabs_container__MA5Qx {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.SubscribeToPriceButton_container__hlKoI,
.AddToComparisonButton_comparisonButton__1LWI7 {
    white-space: nowrap;
}

/* LinkButton module: canonical definitions now in vendor-original.css */

/* SvgIcon-module: canonical definitions in vendor-original.css */

/* ── Icon size helpers ── */
.styles-module__icon8 {
    width: 8px;
    height: 8px;
}

.styles-module__icon16 {
    width: 16px;
    height: 16px;
}

.styles-module__icon30 {
    width: 30px;
    height: 30px;
}

/* ── ProductCode (SKU button) ── */
.ProductCode_container__mu6wI {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
    flex-shrink: 0;
}

.ProductCode_code__bD1_B {
    color: var(--gray-700, #a0a1a3);
    white-space: nowrap;
}

.ProductCode_icon__OfE1c {
    color: var(--gray-600, #b4b5b8);
}

/* ── Gallery Swiper overrides ── */
.ProductCardGallery_swiperMiniature__UvQkh {
    height: 480px;
    width: 64px;
    overflow: hidden;
}

.ProductCardGallery_swiperMiniature__UvQkh .swiper-wrapper {
    flex-direction: column;
}

.ProductCardGallery_swiperMiniature__UvQkh .swiper-slide {
    height: auto !important;
    width: auto !important;
}

.ProductCardGallery_swiperPreview__UwQ_x {
    width: 100%;
    overflow: hidden;
}

.ProductCardGallery_swiperPreview__UwQ_x .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ProductCardGallery_previews__K2D2k {
    flex: 1;
    background: var(--gray-100, #f7f8fa);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    padding: 16px;
    overflow: hidden;
}

/* SSR miniatures (static fallback before Swiper loads) */
.ProductCardGallery_ssrMiniatures__VGzPl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
    width: 64px;
    max-height: 480px;
    overflow-y: auto;
    scrollbar-width: none;
}

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

.ProductCardGallery_ssrMiniature__s9Muu {
    width: 56px;
    height: 56px;
    cursor: pointer;
}

/* Gallery up/down buttons */
.ProductCardGallery_button__WMue3 {
    position: absolute;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
}

.ProductCardGallery_up__z8atX {
    top: -6px;
}

.ProductCardGallery_down__DkOgz {
    bottom: -6px;
}

.ProductCardGallery_hide__C8lYW {
    opacity: 0;
    pointer-events: none;
}

.ProductCardGallery_miniatures__ABfQJ {
    position: relative;
}

/* ── IconButton module ── */
/* Early IconButton definitions removed — global-base.css provides correct originals */

/* ── style_containerImg (image containers) ── */
.style_containerImg__PRUiL {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Miniature icon overlay (video play icon) ── */
.Miniature_iconContainer__zZoWC {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}

.Miniature_icon__o7Fye {
    color: var(--white, #fff);
}

/* ── Stickers area ── */
.ProductCardBasicTab_stickers__fdGC8 {
    margin-top: 16px;
}

/* Label module colors: canonical definitions now in vendor-original.css */

.Labels_labelText__0_CTD {
    font-size: 11px;
    line-height: 14px;
}

.Labels_labelIcon__o_ENO {
    margin-left: 2px;
}

/* Banner module: canonical definitions now in vendor-original.css */

.ProductSticker_container__pdZzT {
    margin-top: 4px;
}

.ProductSticker_info__Rje8E p {
    margin: 0;
}

/* ── TopAttributes extras ── */
.TopAttributes_topMargin__lLmxG {
    margin-top: 16px;
}

.TopAttributes_button__t4kFa {
    margin-top: 12px;
}

.Attributes_button__EB3BJ {
    margin-top: 16px;
}

/* ── CollectionProducts skeleton ── */
.CollectionProducts_skeleton__7I_Xe {
    border-radius: 12px;
    margin-top: 20px;
}

/* ── Skeleton module ── */
.Skeleton-module__container {
    background: linear-gradient(90deg, var(--gray-200, #ebedf0) 25%, var(--gray-100, #f7f8fa) 50%, var(--gray-200, #ebedf0) 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.5s ease-in-out infinite;
    border-radius: 8px;
}

.Skeleton-module__circle {
    border-radius: 50%;
}

@keyframes skeleton-shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* ── BonusHint ── */
.BonusHint_container__D0MBI {
    display: block;
}

/* ── ProductPrice ── */
.ProductPrice_productPrice__thjM7 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--black-500, #1a1a1a);
}

/* ── Prices info icon ── */
.Prices_priceInfo__jbr9V {
    color: var(--gray-600, #b4b5b8);
}

/* ── InstallmentCard ── */
.InstallmentCard_container__MsGdE {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 0;
}

/* InstallmentCard_content: canonical definitions in vendor-original-2.css */

/* ── PartlyPay skeleton ── */
.PartlyPay_partlyPaySkeleton__M52_H {
    height: 0;
}

/* ── StaticBlock buttons (basket + favorites) ── */
.StaticBlock_buttons__eACb1 {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    align-items: center;
}

.FavoritesButton_buttonSkeleton__wk4z2 {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: var(--gray-200, #ebedf0);
    flex-shrink: 0;
}

.BasketButton_buttonSkeleton__B6Fzn {
    flex: 1;
    height: 48px;
    border-radius: 8px;
    background: var(--gray-200, #ebedf0);
}

/* ── StaticBlock stickers ── */
.StaticBlock_stickers__3uG0l {
    display: block;
}

/* ── Delivery Details Skeleton ── */
.DeliveryDetailsSkeleton_container__GqT0p {
    padding: 16px 0;
    margin-top: 16px;
    border-top: 1px solid var(--gray-200, #ebedf0);
}

.DeliveryDetailsSkeleton_firstItem__w78kf {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.DeliveryDetailsSkeleton_border__CYR0u {
    height: 1px;
    background: var(--gray-200, #ebedf0);
    margin: 12px 0;
}

.DeliveryDetailsSkeleton_item__YekFs {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.DeliveryDetailsSkeleton_item__YekFs>div:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.DeliveryDetailsSkeleton_buttons__nidGD {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* ── Delivery Details (rendered) ── */
.DeliveryDetails_container__UcoRH {
    padding: 16px 0;
    margin-top: 16px;
}

.DeliveryDetails_header__pP0Bs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.DeliveryDetails_city__sDbZe {
    color: var(--gray-700, #a0a1a3);
}

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

.DeliveryDetails_itemHeader__NLq5F {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.DeliveryDetails_icon__qI1Jm {
    color: var(--gray-700, #a0a1a3);
    flex-shrink: 0;
}

.DeliveryDetails_itemInfo__bKdAZ {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.DeliveryDetails_border__rBcUn {
    height: 1px;
    background: var(--gray-200, #ebedf0);
}

.DeliveryDetails_payment__zQr3s {
    padding-top: 12px;
    color: var(--gray-700, #a0a1a3);
}

/* ── Product Recommendation Skeleton ── */
.ProductCardBasicTab_otherProductsContainer__GABAk {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--gray-300, #e6e8eb);
}

.ProductRecommendationSkeleton_container__sdiDd {
    overflow: hidden;
}

.ProductRecommendationSkeleton_header__jHpuC {
    margin-bottom: 16px;
}

.ProductRecommendationSkeleton_items__0mJth {
    display: flex;
    gap: 16px;
    overflow: hidden;
}

.ProductRecommendationSkeleton_product__3BObx {
    flex: 0 0 160px;
}

.ProductRecommendationSkeleton_img__Q88tZ {
    border-radius: 8px;
    margin-bottom: 8px;
}

.ProductRecommendationSkeleton_price__XpZpf {
    margin-bottom: 4px;
}

.ProductRecommendationSkeleton_labels__7WbbQ {
    margin-bottom: 4px;
}

.ProductRecommendationSkeleton_title__7nDd6 {
    margin-bottom: 4px;
}

.ProductRecommendationSkeleton_rating__mSrTJ {
    margin-bottom: 4px;
    height: 18px;
    overflow: hidden;
}

.ProductRecommendationSkeleton_star__kAOZC {
    color: var(--gray-400, #dcdde0);
    font-size: 14px;
}

.ProductRecommendationSkeleton_delivery__vxzQT {
    margin-bottom: 8px;
}

/* ── Attributes group (full specs) ── */
.Attributes_group__G89wX {
    margin-bottom: 24px;
}

/* Attribute_wrapper: canonical definitions in vendor-original-2.css */

.Attribute_textWithHint__6Lsf3 {
    display: inline;
}

.Attribute_lastWord__AF5ry {
    display: inline;
    white-space: nowrap;
}

/* Attribute_popover: canonical definitions in vendor-original-2.css */

.Attribute_questionIcon__xAw_L {
    color: var(--gray-600, #b4b5b8);
    cursor: help;
    vertical-align: middle;
}

/* Popover-module: canonical definitions in vendor-original.css */

/* ── Producer Info ── */
.ProductProducerInfo_wrapper__AKkML {
    margin-bottom: 16px;
}

.ProductProducerInfo_wrapper__AKkML p {
    margin-bottom: 6px;
    color: var(--black-300, #4d4d4d);
}

/* ── Disclaimer ── */
.Disclaimer_container__j1_xy {
    margin-bottom: 16px;
}

.Disclaimer_disclaimer__aA_0g {
    color: var(--gray-700, #a0a1a3);
    line-height: 1.5;
}

.Disclaimer_button__dDhzs {
    color: var(--blue-700, #0068b2);
    cursor: pointer;
}

/* ── AdditionalInfo ── */
.AdditionalInfo_container__Bk6MB {
    margin-top: 24px;
}

.AdditionalInfo_linkWrapper__igB2q {
    display: flex;
    gap: 6px;
    align-items: baseline;
    margin-top: 8px;
}

.AdditionalInfo_linkWrapper__igB2q span {
    color: var(--gray-700, #a0a1a3);
}

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

.Rating-module__rating {
    font-weight: 600;
    color: var(--black-500, #1a1a1a);
}

.Rating-module__review {
    color: var(--gray-700, #a0a1a3);
}

/* ── Headline ── supplementary to vendor-original-2.css */
.ProductCardScreen_title__1vng6 {
    font-weight: 700;
    color: var(--black-500, #1a1a1a);
    margin: 0;
}

/* Breadcrumbs module: canonical definitions now in vendor-original.css */

/* Title/Text module helpers: see vendor-original.css */

/* =====================================================
   Category / Shop Page – ListingProduct & related
   Extracted from 21vek.by CDN CSS
   ===================================================== */

/* --- ListingProduct (main product card in listing) --- */
.ListingProduct_product__WBPsd {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    padding: 0 0 12px;
}

.ListingProduct_product__WBPsd .ListingProduct_topPanel__G07ev {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 24px;
    margin-bottom: 4px;
}

.ListingProduct_product__WBPsd .ListingProduct_topPanel__G07ev .ListingProduct_rating__uVL5u {
    margin-right: auto;
}

.ListingProduct_product__WBPsd .ListingProduct_mediaWrapper__OtDIu {
    position: relative;
    margin-bottom: 4px;
}

.ListingProduct_product__WBPsd .ListingProduct_media__wEgMF {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.ListingProduct_product__WBPsd .ListingProduct_media__wEgMF:hover~.ListingProduct_middlePanel__t7tPV .ListingProduct_infoText__VpOUR {
    color: #e52e6b;
}

.ListingProduct_product__WBPsd .ListingProduct_middlePanel__t7tPV {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1;
}

.ListingProduct_product__WBPsd .ListingProduct_middlePanel__t7tPV .ListingProduct_info__aS1Kt,
.ListingProduct_product__WBPsd .ListingProduct_middlePanel__t7tPV .ListingProduct_price__WSYOz {
    margin-bottom: 4px;
}

.ListingProduct_product__WBPsd .ListingProduct_middlePanel__t7tPV :last-child {
    margin-bottom: 0;
}

.ListingProduct_basketBlock__Bg3cG {
    margin-top: 8px;
}

/* --- ListingProductLabels --- */
.ListingProductLabels_labels__Ef8_c {
    position: absolute;
    display: flex;
    flex-wrap: wrap-reverse;
    max-height: 40px;
    min-height: 40px;
    max-width: 100%;
    bottom: 10px;
    overflow: hidden;
    z-index: 2;
}

.ListingProductLabels_labels__Ef8_c .ListingProductLabels_label__WYOkp {
    margin-right: 2px;
    margin-bottom: 2px;
}

.ListingProductLabels_labels__Ef8_c .ListingProductLabels_labelText__7uztr {
    color: #fff;
    -webkit-font-smoothing: initial;
}

/* --- CardMedia (image container) --- */
.CardMedia_mediaContainer__dtZUl {
    height: max-content;
    position: relative;
    cursor: pointer;
}

.CardMedia_img__uT_80 {
    align-items: center;
}

.CardMedia_resizableImage__s_kTY {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
}

/* --- CardInfo (product name link) --- */
.CardInfo_info__zKUou {
    text-decoration: none;
    color: #1a1a1a;
}

.CardInfo_info__zKUou:hover .CardInfo_text__GGroD {
    color: #e52e6b;
}

/* --- CardBasketBlock --- */
.CardBasketBlock_container__Reuou {
    display: flex;
}

/* --- Image slider (dots + segments) --- */
.style_sliderContainer__DeL50 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.style_imagesSlider__7_UBV {
    position: absolute;
    height: 100%;
    width: 100%;
    display: flex;
    z-index: 1;
}

.style_sliderSegment__b47Mt {
    width: -webkit-fill-available;
    width: -moz-available;
    height: -webkit-fill-available;
}

.style_containerImg__PRUiL {
    display: flex;
    justify-content: center;
    align-items: center;
}

.style_pointsBlock__17ihA {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4px;
    margin-top: 8px;
}

.style_point__hXoLZ {
    padding: 0 2px;
}

.style_point__hXoLZ:hover:not(.style_active__xoWCN) {
    color: #ebf4fb;
}

.style_active__xoWCN {
    color: #e52e6b;
}

.style_passive__5F09u {
    color: #e6e8eb;
}

/* --- Price module --- */
.Price-module__container {
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2px;
}

.Price-module__container .Price-module__price {
    display: inline-flex;
    align-items: flex-end;
    color: var(--black-500);
    font-weight: 700;
    font-family: var(--base-font-family);
}

.Price-module__container .Price-module__majorPrice-small {
    font-size: 16px;
    line-height: 24px;
}

.Price-module__container .Price-module__majorPrice-medium {
    font-size: 18px;
    line-height: 26px;
}

.Price-module__container .Price-module__oldPrice {
    text-decoration: line-through;
    color: var(--gray-700);
}

/* Label module colors: see vendor-original.css */

/* --- ProductBlock (carousel wrapper) --- */
.ProductBlock_productBlock__fkAcl {
    padding: 20px 24px;
    border-radius: 12px;
    background: linear-gradient(207deg, rgba(255, 108, 157, .1) 32.44%, rgba(255, 50, 197, .1) 55.83%, rgba(211, 79, 244, .1) 76.55%);
    box-sizing: border-box;
    height: 404px;
}

.ProductBlock_container__22ETa .swiper-slide {
    width: 180px;
    margin-right: 10px;
}

.ProductBlock_header__E_nbd {
    margin-bottom: 12px;
}

/* --- Product (carousel card) --- */
.Product_product__7ptZ1 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #fff;
    border-radius: 10px;
    padding: 8px;
    height: auto;
    max-width: min-content;
}

.Product_product__7ptZ1 .Product_topPanel__jmfK3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 24px;
    margin-bottom: 3px;
}

.Product_product__7ptZ1 .Product_topPanel__jmfK3 .Product_rating__gEvZk {
    margin-right: auto;
}

.Product_media__lxSbR {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 164px;
    max-height: 164px;
    margin-bottom: 3px;
}

.Product_media__lxSbR.Product_resizableMedia__UNvoe {
    max-height: unset;
}

.Product_product__7ptZ1 .Product_labels__eHw6b {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    max-height: 40px;
    min-height: 40px;
    top: 159px;
    overflow: hidden;
}

.Product_product__7ptZ1 .Product_labels__eHw6b.Product_labelsWithResizableImage__srFOv {
    top: unset;
    bottom: 0;
}

.Product_product__7ptZ1 .Product_middlePanel__YKckd {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1;
}

/* --- CarouselConfigurable (Swiper wrapper) --- */
.CarouselConfigurable_swiperContainer___wXAI {
    position: relative;
}

.CarouselConfigurable_left__dwesI {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.CarouselConfigurable_right__rQW6s {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}

/* --- ListingContent (grid & block wrappers) --- */
.ListingContent_listingProductBlockAnchor___u7xF {
    grid-column: 1 / -1;
    padding: 0 !important;
}

.ListingContent_listingProductBlockAnchor___u7xF:after,
.ListingContent_listingProductBlockAnchor___u7xF:before {
    display: none;
}

.ListingContent_listingProductBlockAnchor___u7xF.ListingContent_first__afqe6 .ListingContent_productBlockContainer__9MqyM {
    margin: 0 0 20px;
}

.ListingContent_listingProductBlockAnchor___u7xF .ListingContent_productBlockContainer__9MqyM {
    padding: 16px 24px;
    height: auto;
    margin: 8px 0;
}

.ListingContent_listingProductBlockAnchor___u7xF .ListingContent_productBlockContainer__9MqyM.ListingContent_ssr__o06dt .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-auto-rows: 0;
    grid-template-rows: auto;
    gap: 0 10px;
}

.ListingContent_listingProductBlockAnchor___u7xF .ListingContent_productBlockContainer__9MqyM.ListingContent_ssr__o06dt .swiper-slide {
    width: 100% !important;
    margin: 0 !important;
}

.ListingContent_listingProductBlockAnchor___u7xF .ListingContent_productBlockProduct__xjB9z {
    max-width: unset;
}

.ListingContent_notProductWrapper__eHZ92 {
    grid-column: 1 / -1;
    padding: 0 !important;
    margin-top: 24px;
}

.ListingContent_notProductWrapper__eHZ92:after,
.ListingContent_notProductWrapper__eHZ92:before {
    display: none;
}

/* --- ListingBanner --- */
.ListingBanner_link__ofRNx {
    display: block;
    height: fit-content;
}

.ListingBanner_listingBanner__tl_JW {
    border-radius: 10px;
    object-fit: contain;
    width: 100%;
    margin-bottom: 20px;
}

/* --- Pagination --- */
.ListingPaginationContainer_paginationWrapper__0hwUJ {
    display: flex;
    justify-content: center;
    padding-top: 8px;
}

.ListingPaginationContainer_paginationContainer__UmT3Z {
    width: 417px;
}

.ListingPaginationContainer_loadMoreButton__v_t2B {
    width: 100%;
    margin-bottom: 24px;
    border-color: #07c !important;
    background-color: #fff;
    color: #07c;
}

.ListingPaginationContainer_loadMoreButton__v_t2B:hover {
    background-color: #ebf4fb !important;
    color: #07c !important;
}

.ListingPaginationContainer_pagination__dGGMt {
    display: flex;
    justify-content: center;
    align-items: center;
}

.Pagination-module__container {
    display: flex;
}

.Pagination-module__gapButton {
    margin-right: 4px;
}

.Pagination-module__active {
    pointer-events: none;
}

.Pagination-module__inactive {
    border: none;
    color: var(--black-500);
}

.Pagination-module__inactive:active,
.Pagination-module__inactive:hover {
    color: var(--blue-500);
    border: none !important;
}

.Pagination-module__pageText {
    font-family: Arial;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

/* Chip module (homepage): canonical definitions now in vendor-original.css */

/* Button/IconButton blue variants + disabled: canonical definitions now in vendor-original.css */

/* style_container__ZANo3: canonical definitions in vendor-shop-3.css */

/* --- Product listing grid (style_container__TFmIX) --- */
.style_container__TFmIX {
    display: grid;
    grid-template-columns: 186px 186px 186px 186px;
    column-gap: 32px;
}

/* --- Filter sidebar wrapper --- */
.ListingContent_filtersWrapper__QrRDw {
    position: relative;
    width: 224px;
}

.ListingFilters_filters__TYa5Z {
    position: sticky;
    top: 16px;
}

.ListingFiltersContentWrapper_container__1o8we {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* --- Filter sections --- */
.ListingSection_wrapper__bWIFo {
    display: flex;
    flex-direction: column;
}

.ListingSection_title__HXjQB {
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.ListingSection_content__Xkhnr {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* --- Sorting select --- */
.ListingSortingOptions_select__zGjI1 {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--gray-300, #e6e8eb);
    border-radius: 6px;
    font-size: 14px;
    line-height: 18px;
    color: #1a1a1a;
    background: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

/* --- Price range inputs --- */
.ListingPriceRange_container__YVYLD {
    display: flex;
    gap: 8px;
}

.ListingPriceRange_input__wrSHY {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ListingPriceRange_input__wrSHY label {
    font-size: 12px;
    color: var(--gray-600, #808080);
    margin-bottom: 4px;
}

.ListingPriceRange_input__wrSHY input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--gray-300, #e6e8eb);
    border-radius: 6px;
    font-size: 14px;
    color: #1a1a1a;
    box-sizing: border-box;
}

/* --- Radio / Checkbox filter items --- */
.ListingFilterRadio_item__FP06f,
.ListingFilterCheckbox_item__d93Xe {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    line-height: 18px;
    color: #1a1a1a;
}

.ListingFilterRadio_item__FP06f input,
.ListingFilterCheckbox_item__d93Xe input {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--pink-500, #e52e6b);
}

/* --- Breadcrumbs wrapper (category page variant) --- */
.style_breadcrumbsWrapper__jGbbw {
    padding: 0;
    margin-bottom: 16px;
}

/* style_title__QomyX: canonical definitions in vendor-shop-3.css */

/* --- ArticleHowTos (guide link) --- */
.ArticleHowTos_container__S8Lbt {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 40px;
    max-width: 289px;
    height: 34px;
}

.ArticleHowTos_text__7BphG {
    color: #07c;
    word-break: break-all;
}

.ArticleHowTos_text__7BphG:hover {
    color: #006ebd;
}

/* --- ListingDropDownSwiper (chip scroll container) --- */
.ListingDropDownSwiper_container__Zz_Rb {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.ListingDropDownSwiper_items__1Rgpo {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 4px;
}

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

.ListingDropDownSwiper_container__Zz_Rb.ListingDropDownSwiper_hiddenBackShape__2jTuX:before,
.ListingDropDownSwiper_container__Zz_Rb.ListingDropDownSwiper_hiddenForwardShape__skE8k:after {
    opacity: 0;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
}

.ListingDropDownSwiper_button__hJLrr {
    position: absolute;
    top: 0;
    opacity: 1;
    transition: opacity .5s ease-in-out;
}

.ListingDropDownSwiper_button__hJLrr.ListingDropDownSwiper_left__H0YVZ {
    left: -52px;
}

.ListingDropDownSwiper_button__hJLrr.ListingDropDownSwiper_right__2hA4Z {
    right: -52px;
}

.ListingDropDownSwiper_button__hJLrr.ListingDropDownSwiper_hidden__Z_0PV {
    opacity: 0;
    transition: opacity .5s ease-in-out;
    pointer-events: none;
}

/* --- ListingRecipes chip item --- */
.ListingRecipes_item__Nud5R {
    margin-right: 4px;
}

/* =====================================================
   Cart / Checkout Page – Basket & related
   Extracted from 21vek.by CDN CSS
   ===================================================== */

/* --- Basket visibility toggle --- */
.Basket_invisible__bLxAd {
    display: none;
}

.Basket_visible__jcbVM {
    display: flow-root;
    min-width: 1090px;
}

/* --- EmptyBasket state --- */
.EmptyBasket_emptyScreen__Eojtr {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.EmptyBasket_emptyViewed__rpF6R {
    margin-top: 180px;
}

.EmptyBasket_iconWrapper__O_3ga {
    margin-bottom: 16px;
    color: var(--gray-400);
}

.EmptyBasket_icon__4Fjp6 {
    display: block;
}

.EmptyBasket_title__fTZV_ {
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    font-style: normal;
    padding: 12px 0 0;
}

.EmptyBasket_emptyText__6mjgy {
    width: 280px;
    padding: 8px 0;
    text-align: center;
}

.EmptyBasket_button__IW7Fl {
    margin-top: 16px;
}

/* --- BasketTabsScreen --- */
.BasketTabsScreen_container__nX2xR {
    display: block;
}

.BasketTabsScreen_tabs__QeQGk {
    margin-top: 4px;
}

.BasketTabsScreen_tabsContainer__5rxhK {
    display: block;
}

/* --- BasketScreen layout --- */
.BasketScreen_container__OaP22 {
    display: flex;
    gap: 20px;
    margin-top: 16px;
}

.BasketScreen_content__3v_4N {
    flex: 1 1;
    min-width: 0;
}

.BasketScreen_products__W2q7z {
    display: block;
}

.BasketScreen_sidebar__YK7lD {
    width: 320px;
    flex-shrink: 0;
}

/* --- BasketSummary (sidebar) --- */
.BasketSummary_container__qlKEo {
    background: var(--white);
    border: 1px solid var(--gray-300);
    border-radius: 12px;
    padding: 20px;
    position: sticky;
    top: 80px;
}

.BasketSummary_header__b3zMI {
    margin-bottom: 16px;
}

.BasketSummary_content__O3WnZ {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.BasketSummary_row__PGhls {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.BasketSummary_discount__xF0SQ {
    color: var(--pink-500);
}

.BasketSummary_footer__2FhYZ {
    border-top: 1px solid var(--gray-300);
    padding-top: 16px;
}

.BasketSummary_totalRow__q4Kx4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* --- OrderButton --- */
.OrderButton_button__L8I5d {
    margin-left: auto;
    background-color: #d1329c;
    border-color: #d1329c;
}

.OrderButton_button__L8I5d:active:not(:disabled),
.OrderButton_button__L8I5d:hover:not(:disabled) {
    background-color: #b82587;
    border-color: #b82587;
}

/* --- Tabs module (used in basket) --- */
.Tabs-module__container {
    display: block;
}

.Tabs-module__tabs {
    display: flex;
    gap: 4px;
}

/* Basket/cart tabs (scoped to basket screen) */
.BasketTabsScreen_container__nPIjK .Tabs-module__tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: none;
    background: none;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    font-family: Arial, sans-serif;
    margin-right: 0;
}

.BasketTabsScreen_container__nPIjK .Tabs-module__tab.Tabs-module__active {
    border-bottom-color: var(--pink-500);
    color: var(--black-500);
}

.Tabs-module__text {
    display: inline;
}

/* --- Badge module (cart count) --- */
.Badge-module__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
}

.Badge-module__pink {
    background-color: var(--pink-500);
    color: var(--white);
}

/* =====================================================
   Homepage – BannersResizable, Carousel, ProductHome, etc.
   Extracted from 21vek.by CDN CSS
   ===================================================== */

/* --- BannersResizable (hero banner) --- */
.BannersResizable_container__9lODz {
    display: block;
}

.BannersResizable_sliderContainer__Kgu9n {
    margin-bottom: 32px;
    min-width: 1090px;
    gap: 12px;
}

.BannersResizable_container__9lODz .BannersResizable_sliderContainer__Kgu9n .BannersResizable_buttonLeft__9b9gr {
    left: -56px;
}

.BannersResizable_container__9lODz .BannersResizable_sliderContainer__Kgu9n .BannersResizable_buttonRight__FPTEU {
    right: -56px;
}

.BannersResizable_swiperWrapper__B2eF5 {
    z-index: 1;
    max-height: 360px;
    position: relative;
    width: 100%;
}

.BannersResizable_swiperWrapper__B2eF5:not(.BannersResizable_SSR__HDZ1H) .swiper-slide {
    width: 1090px !important;
}

.BannersResizable_swiperWrapper__B2eF5.BannersResizable_SSR__HDZ1H .swiper-slide {
    width: 100%;
    height: 360px;
    display: flex;
    justify-content: center;
}

.BannersResizable_swiperWrapper__B2eF5.BannersResizable_SSR__HDZ1H .swiper-slide .BannersResizable_mainBanner__alaDy {
    width: 1090px;
}

.BannersResizable_mainBanner__alaDy {
    position: relative;
    overflow-x: hidden;
    max-width: 1090px;
    padding-top: clamp(180px, 52.4781341108%, 360px);
    max-height: 360px;
    border-radius: 10px;
    transition: box-shadow .2s;
}

.BannersResizable_mainBanner__alaDy .BannersResizable_img__kBm5j {
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.BannersResizable_bulletContainer__4KkQC {
    position: relative;
    top: auto !important;
    bottom: auto !important;
}

.BannersResizable_miniBannersBox__X8UGt {
    margin-bottom: 32px;
    display: flex;
}

.BannersResizable_miniBannersContainer__ZPjpp {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.BannersResizable_miniBanner__hooiN {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    flex: 1 1 0;
    min-width: 0;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_imgBox__zqYKZ {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 auto 8px;
    width: 138px;
    height: 72px;
    overflow: hidden;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN:first-child .BannersResizable_imgBox__zqYKZ {
    width: 306px;
    height: 200px;
    margin-bottom: 16px;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_miniImg__GQkyf {
    mix-blend-mode: multiply;
    margin: auto;
    max-width: 100%;
    max-height: 100%;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_textWrapper__AgqGN {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 2px;
    height: 52px;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_title__rmmcU {
    font-size: 14px;
    line-height: 18px;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN:first-child .BannersResizable_title__rmmcU,
.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN:last-child .BannersResizable_title__rmmcU {
    font-size: 18px;
    line-height: 26px;
}

.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_description__EFhAq,
.BannersResizable_miniBannersContainer__ZPjpp .BannersResizable_miniBanner__hooiN .BannersResizable_title__rmmcU {
    color: inherit;
}

.BannersResizable_bannerTooltip__YYNsz {
    display: block;
}

/* --- Carousel (swiper nav & bullets) --- */
.Carousel_carouselContainer__IkZz1 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 20px;
    flex-direction: column;
}

.Carousel_swiperContainer__uZrl1 {
    position: relative;
}

.Carousel_carouselContainer__IkZz1 .Carousel_button__IQ_KH {
    position: absolute;
    top: calc(50% - 20px);
}

.Carousel_carouselContainer__IkZz1 .Carousel_button__IQ_KH.Carousel_left__roIUM {
    left: -48px;
}

.Carousel_carouselContainer__IkZz1 .Carousel_button__IQ_KH.Carousel_right__Qvwyd {
    right: -48px;
}

.Carousel_bulletContainer__1bNYm {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 4px;
    height: 8px;
    width: fit-content;
}

.Carousel_bullet__TDb_2 {
    position: relative;
    width: 8px;
    height: 8px;
    margin: 0 2px;
    background: transparent;
    cursor: pointer;
}

.Carousel_bullet__TDb_2:before {
    content: "";
    position: absolute;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    top: 0;
    left: 0;
    background-color: #e6e7eb;
}

.Carousel_bulletActive__qAftR:before {
    background-color: #e52e6b;
}

/* ======= Product Card Fixes for Homepage Sections ======= */

/* Fix old price text */
.Price-module__oldPrice {
    text-decoration: line-through;
    color: var(--gray-600, #b4b5b8);
    font-size: 12px;
    line-height: 16px;
}

/* Recommendations carousel: ensure slides are fixed width */
.Recommendations_container__SX7F8 .swiper-slide {
    width: 202px !important;
    flex-shrink: 0;
}

/* Mini card images */
.WeeklyProductMiniCard_media__hOfro .style_containerImg__PRUiL,
.SpecialOfferMiniCard_media__gTGJd .style_containerImg__PRUiL {
    width: 76px;
    height: 76px;
    flex-shrink: 0;
}

.WeeklyProductMiniCard_media__hOfro img,
.SpecialOfferMiniCard_media__gTGJd img {
    max-width: 76px !important;
    max-height: 76px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
}

/* (Moved to PIXEL-PERFECT FIXES section below) */

/* ============================================
   PIXEL-PERFECT — exact values from 21vek.by CSS
   ============================================ */

/* --- Rating module (vendor-bundle-1.css) --- */
.Rating-module__container {
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    justify-content: center;
    align-items: center;
}

.Rating-module__container .Rating-module__icon {
    margin-right: 2px;
    color: var(--orange-500);
}

.Rating-module__container .Rating-module__rating {
    margin-right: 2px;
}

.Rating-module__container .Rating-module__review {
    color: var(--gray-600);
}

.Rating-module__container:hover:not(:disabled) {
    cursor: pointer;
}

.Rating-module__container:hover:not(:disabled) .Rating-module__rating,
.Rating-module__container:hover:not(:disabled) .Rating-module__review {
    color: var(--pink-500);
}

/* --- Price module (vendor-bundle-1.css) --- */
.Price-module__container {
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.Price-module__container .Price-module__price {
    display: inline-flex;
    align-items: flex-end;
    color: var(--black-500);
    font-weight: 700;
    font-family: var(--base-font-family);
}

.Price-module__container .Price-module__majorPrice-small {
    font-size: 16px;
    line-height: 24px;
}

.Price-module__container .Price-module__majorPrice-medium {
    font-size: 18px;
    line-height: 26px;
}

.Price-module__price>span:first-child {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.Price-module__price>span:last-child {
    font-size: 14px;
    font-weight: 700;
}

.Price-module__majorPrice-medium>span:first-child {
    font-size: 18px;
}

.Price-module__majorPrice-medium>span:last-child {
    font-size: 12px;
}

.WeeklyProductMiniCard_price__laOho .Price-module__price>span:first-child,
.SpecialOfferMiniCard_price__OXdV7 .Price-module__price>span:first-child {
    font-size: 16px;
    line-height: 24px;
}

.WeeklyProductMiniCard_price__laOho .Price-module__price>span:last-child,
.SpecialOfferMiniCard_price__OXdV7 .Price-module__price>span:last-child {
    font-size: 12px;
}

/* Label, Button, IconButton, Chip, LinkButton modules: canonical definitions now in vendor-original.css */

/* --- CardMedia (page2-base.css) --- */
.CardMedia_mediaContainer__dtZUl {
    height: max-content;
    position: relative;
    cursor: pointer;
}

.CardMedia_img__uT_80 {
    align-items: center;
}

.CardMedia_resizableImage__s_kTY {
    aspect-ratio: 1/1;
    width: 100%;
    height: 100%;
}

.style_containerImg__PRUiL {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.style_containerImg__PRUiL img {
    max-width: 100%;
    height: auto;
}

/* --- CardInfo (page2-base.css) --- */
.CardInfo_info__zKUou {
    text-decoration: none;
    color: #1a1a1a;
}

.CardInfo_info__zKUou:hover .CardInfo_text__GGroD {
    color: #e52e6b;
}

/* --- CardFavorites (page2-base.css) --- */
.CardFavorites_notSelected__4uVrD {
    color: #b4b5b8;
}

/* --- CardBasketBlock (page2-base.css) --- */
.CardBasketBlock_container__Reuou {
    display: flex;
}

.CardBasketBlock_iconContainer__8RYpd {
    height: 24px;
}

/* --- ProductRecommendation (page2-base.css) --- */
.ProductRecommendation_product__Nzp6v {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_topPanel__9mzLq {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 24px;
    margin-bottom: 4px;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_topPanel__9mzLq .ProductRecommendation_rating__xkNXA {
    margin-right: auto;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_topPanel__9mzLq .ProductRecommendation_buttons__FG8xd {
    display: flex;
    gap: 12px;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_labels__7SFL3 {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    height: 40px;
    bottom: 0;
    max-width: 100%;
    overflow: hidden;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_labels__7SFL3 .ProductRecommendation_label__LYiUk {
    margin-top: 2px;
    margin-right: 2px;
    -webkit-font-smoothing: initial;
}

.ProductRecommendation_product__Nzp6v .ProductRecommendation_middlePanel__nyDle {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex: 1 1;
    margin-top: 4px;
}

.ProductRecommendation_media__Fh1zr {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}

.ProductRecommendation_mediaWithoutBullet__h7PvP {
    margin-bottom: 12px;
}

.ProductRecommendation_cardSales__HSymc,
.ProductRecommendation_info__5iG1b,
.ProductRecommendation_price__CGlS4 {
    margin-bottom: 4px;
}

.ProductRecommendation_basketBlock__TPMMd {
    margin-top: 4px;
}

/* --- ProductHome (page2-misc.css) --- */
.ProductHome_product__X4RTl {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
}

.ProductHome_product__X4RTl .ProductHome_topPanel__a3eDe {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 24px;
    margin-bottom: 4px;
}

.ProductHome_product__X4RTl .ProductHome_topPanel__a3eDe .ProductHome_rating__h5hAW {
    margin-right: auto;
}

.ProductHome_product__X4RTl .ProductHome_topPanel__a3eDe .ProductHome_buttons__ylq_G {
    display: flex;
    gap: 12px;
}

.ProductHome_product__X4RTl .ProductHome_middlePanel__HZtyq {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 4px;
    flex: 1 1;
}

.ProductHome_product__X4RTl .ProductHome_labels__6mWHO {
    position: absolute;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    height: 40px;
    bottom: 0;
    overflow: hidden;
}

.ProductHome_product__X4RTl .ProductHome_labels__6mWHO .ProductHome_label__8uV35 {
    margin-top: 2px;
    margin-right: 2px;
    -webkit-font-smoothing: initial;
}

.ProductHome_info__6I2jk,
.ProductHome_price__tYks6 {
    margin-bottom: 4px;
}

.ProductHome_basketBlock__rHr5M {
    margin-top: 4px;
}

.ProductHome_media__bUJgQ {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}

/* --- InstallmentInfo --- */
.InstallmentInfo_container__tLxeZ {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
}

.InstallmentInfo_icon__RQGn6 {
    color: var(--orange-500);
    display: flex;
    flex-shrink: 0;
}

.InstallmentInfo_container__tLxeZ .Text-module__small {
    color: var(--black-300);
}

/* --- ChipHome (page2-base & page2-misc) --- */
.ChipHome_wrapper__I0jqA {
    height: max-content;
    display: flex;
    flex-wrap: nowrap;
}

.ChipHome_chip__CiUI_ {
    transition: all .2s;
}

.ChipHome_chipWrapper__B_Ess {
    margin-right: 4px;
}

/* --- Recommendations section (page2-base.css) --- */
.Recommendations_container__SX7F8 {
    margin: 32px auto 40px;
}

.Recommendations_container__SX7F8 .swiper-slide {
    position: relative;
}

.Recommendations_container__SX7F8 .swiper-slide:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 0;
    bottom: 0;
    width: 1px;
    height: 100%;
    background: #e6e8eb;
}

.Recommendations_container__SX7F8 .swiper-slide:last-child:after {
    display: none;
}

.Recommendations_container__SX7F8 .Recommendations_title__8WuRi {
    margin-bottom: 20px;
}

/* --- WeeklyProducts (page2-misc.css) --- */
.WeeklyProducts_container__Ywt_1 {
    justify-content: flex-start;
    align-items: center;
    content-visibility: auto;
    contain-intrinsic-size: auto 1440px auto 510px;
    max-width: 1440px;
    margin: 40px auto;
    display: flex;
    gap: 30px;
}

/* --- SpecialOffersHome (page2-misc.css) --- */
.SpecialOffersHome_container___2Vwa {
    justify-content: flex-start;
    align-items: center;
    content-visibility: auto;
    contain-intrinsic-size: auto 1440px auto 510px;
    max-width: 1440px;
    margin: 40px auto;
    display: flex;
    gap: 30px;
}

/* --- MiniProductCardsContainer (page2-misc.css) --- */
.MiniProductCardsContainer_container__o6WdZ {
    width: 100%;
    border-radius: 10px;
    background-color: #f7f8fa;
    padding: 24px 32px;
}

.MiniProductCardsContainer_container__o6WdZ .MiniProductCardsContainer_header__u9BoQ {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.MiniProductCardsContainer_container__o6WdZ .MiniProductCardsContainer_body__Fu6b8 {
    position: relative;
}

/* --- MiniProductCardGrid (page2-misc.css) --- */
.MiniProductCardGrid_container__2EoIi {
    position: relative;
    display: grid;
    grid-column-gap: 20px;
    column-gap: 20px;
    grid-row-gap: 20px;
    row-gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}

.MiniProductCardGrid_item__ibG_d {
    position: relative;
}

/* --- WeeklyProductMiniCard (page2-misc.css) --- */
.WeeklyProductMiniCard_container__Db63L {
    width: 100%;
    height: 196px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    background-color: #fff;
    padding: 12px;
    box-sizing: border-box;
}

.WeeklyProductMiniCard_media__hOfro {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 76px;
    max-height: 76px;
    margin-bottom: 8px;
}

.WeeklyProductMiniCard_label__L6JNA {
    top: 70px;
    position: absolute;
    -webkit-font-smoothing: initial;
}

.WeeklyProductMiniCard_info__CM6nM {
    min-height: 40px;
    margin-bottom: 8px;
}

.WeeklyProductMiniCard_info__CM6nM>span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.WeeklyProductMiniCard_price__laOho {
    display: flex;
    flex-direction: column;
}

.WeeklyProductMiniCard_priceBasketWrapper__xq9_J {
    display: flex;
    justify-content: space-between;
}

.WeeklyProductMiniCard_basketBlock__t3dp0 {
    min-width: 40px;
    padding: 0;
}

.WeeklyProductMiniCard_ratingWrapper__UnvMu {
    position: absolute;
    z-index: 2;
    top: 4px;
    left: 4px;
    background-color: #fff;
    padding: 2px 4px 2px 2px;
    border-radius: 40px;
}

.WeeklyProductMiniCard_ratingWrapper__UnvMu .WeeklyProductMiniCard_rating__UEyHh {
    pointer-events: none;
}

/* --- SpecialOfferMiniCard (page2-misc.css) --- */
.SpecialOfferMiniCard_container__ZisM_ {
    width: 100%;
    height: 196px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    background-color: #fff;
    padding: 12px;
    box-sizing: border-box;
}

.SpecialOfferMiniCard_media__gTGJd {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 76px;
    max-height: 76px;
    margin-bottom: 8px;
}

.SpecialOfferMiniCard_label__9G_8y {
    top: 70px;
    position: absolute;
    -webkit-font-smoothing: initial;
}

.SpecialOfferMiniCard_info__PHwWQ {
    min-height: 40px;
    margin-bottom: 8px;
}

.SpecialOfferMiniCard_info__PHwWQ>span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.SpecialOfferMiniCard_price__OXdV7 {
    display: flex;
    flex-direction: column;
}

.SpecialOfferMiniCard_priceBasketWrapper__ppjJx {
    display: flex;
    justify-content: space-between;
}

.SpecialOfferMiniCard_basketBlock__TsCOF {
    min-width: 40px;
    padding: 0;
}

/* --- Populars section (page2-misc.css & page2-base.css) --- */
.EntitiesList_container__AbI0N {
    position: relative;
}

.EntitiesList_container__AbI0N a,
.EntitiesList_container__AbI0N button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.EntitiesList_header__wwu8B {
    margin-bottom: 24px;
}

.EntitiesList_actions__qkG4L {
    margin-top: 24px;
}

.EntitiesList_listItem__lgaHl {
    display: flex;
}

.EntitiesList_content__Mymfq {
    position: relative;
}

.PopularsList_headerWrapper__XALLy {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 20px;
}

.PopularsList_headerWrapper__XALLy .PopularsList_header__doctY {
    font-family: Arial, sans-serif;
    color: #1a1a1a;
    font-weight: 700;
    font-size: 22px;
    line-height: 30px;
}

.PopularsList_entityListContainer__90DO5 {
    max-width: 1440px;
    margin: 40px auto;
    content-visibility: auto;
    contain-intrinsic-size: auto 1440px auto 1086px;
}

.PopularsList_entityListHeader__jZIKz {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.PopularsList_entityListContent__XPKM7 {
    margin-top: 20px;
}

.PopularsList_entityListContent__XPKM7:last-child {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-bottom: 24px;
    grid-column-gap: 40px;
    column-gap: 40px;
    grid-row-gap: 24px;
    row-gap: 24px;
    overflow: hidden;
}

.PopularsList_entityListActions__mSzUn {
    display: flex;
    flex-direction: column;
    margin-top: 0;
}

.PopularsList_entityListActions__mSzUn>.PopularsList_showMoreButton__KVZvm {
    max-height: 40px;
    margin: 0 auto;
    width: 417px;
}

.PopularsList_entityListListItem__YQVGF {
    position: relative;
    box-sizing: border-box;
}

.PopularsList_entityListListItem__YQVGF:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -12px;
    width: calc(100% + 40px);
    height: 1px;
    background-color: #e6e8eb;
}

.PopularsList_entityListListItem__YQVGF:before {
    content: "";
    position: absolute;
    right: -20px;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #e6e8eb;
}

.PopularsList_entityListListItem__YQVGF:last-child:before,
.PopularsList_entityListListItem__YQVGF:nth-child(5n):before {
    display: none;
}

/* --- RecommendationsForYou (page2-base.css) --- */
.RecommendationsForYou_container__GsYFq {
    max-width: 1440px;
    margin: 40px auto 80px;
    content-visibility: auto;
    contain-intrinsic-size: auto 1440px auto 900px;
}

.RecommendationsForYou_title__uw_1u {
    margin-bottom: 20px;
}

/* --- InfiniteScrollProductList (page2-base.css) --- */
.InfiniteScrollProductList_container__Vko72 {
    width: 100%;
    position: relative;
    display: grid;
    grid-column-gap: 40px;
    column-gap: 40px;
    grid-row-gap: 25px;
    row-gap: 25px;
    grid-template-columns: repeat(5, 1fr);
}

.InfiniteScrollProductList_container__Vko72 .InfiniteScrollProductList_item__CABD9 {
    position: relative;
}

.InfiniteScrollProductList_container__Vko72 .InfiniteScrollProductList_item__CABD9:after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -12px;
    width: calc(100% + 40px);
    height: 1px;
    background-color: #e6e8eb;
}

.InfiniteScrollProductList_container__Vko72 .InfiniteScrollProductList_item__CABD9:before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    right: -20px;
    width: 1px;
    background-color: #e6e8eb;
}

.InfiniteScrollProductList_container__Vko72 .InfiniteScrollProductList_item__CABD9:last-child:before {
    display: none !important;
}

.InfiniteScrollProductList_container__Vko72 .InfiniteScrollProductList_item__CABD9:nth-child(5n):before {
    display: none;
}

/* --- Swiper fixes --- */
.SwiperList_container__Po2GC {
    position: relative;
}

.SwiperList_content__7mmSr {
    overflow: hidden;
}