/* One product-card language for archives, home rails, recommendations and saved items. */
:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item {
    --card-ink: #232936;
    --card-muted: #697386;
    --card-border: #e5e7eb;
    --card-accent: #df1d4a;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--card-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    transform: none;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item:hover {
    border-color: #d2d7df;
    background: #fff;
    box-shadow: 0 7px 22px rgba(22, 30, 47, .07);
    transform: none;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-image {
    position: relative !important;
    flex: 0 0 auto;
    min-width: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #fff;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-image > a {
    display: grid;
    place-items: center;
    width: 100%;
    height: clamp(150px, 15vw, 184px);
    max-height: none;
    aspect-ratio: auto;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 184px;
    padding: 12px;
    border-radius: 0;
    object-fit: contain;
    mix-blend-mode: normal;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-image .product-label {
    z-index: 2;
    inset-block-start: 2px;
    inset-inline-start: 2px;
    inset-inline-end: auto;
    max-inline-size: calc(100% - 32px);
    padding: 3px 7px;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: #f1f3f5;
    color: #596273;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item--amazing .amazing-discount-label {
    background: #e6123d;
    color: #fff;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item .product-item-colors {
    position: absolute !important;
    z-index: 2;
    inset-block-start: 5px;
    inset-inline-end: 5px;
    inset-inline-start: auto;
    inset-block-end: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 3px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item .product-item-color {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border: 1px solid #d9dce2;
    border-radius: 50%;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 5px;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 8px 0 0;
    text-align: start;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-content > a {
    display: block;
    min-width: 0;
    color: inherit;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-content .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 44px !important;
    max-height: 44px;
    margin: 0 !important;
    overflow: hidden;
    color: var(--card-ink) !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.7;
    text-align: start !important;
    text-wrap: pretty;
}

.v-product-item-rating,
.v-product-item-shipping {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    height: 18px;
    color: #697386;
    font-size: 11px;
    line-height: 1.5;
    white-space: nowrap;
}

.v-product-item-rating i { color: #f5a623; font-size: 13px; }
.v-product-item-rating span { color: #303846; font-weight: 700; }
.v-product-item-shipping { color: #617080; }
.v-product-item-shipping i { color: #18a58b; font-size: 13px; }
.v-product-item-shipping span { overflow: hidden; text-overflow: ellipsis; }

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .product-price-container {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin-block-start: auto !important;
    padding-block-start: 4px;
    display: flex;
    flex-direction: column;
    align-items: stretch !important;
    justify-content: flex-end;
    gap: 1px;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .product-price-container .price {
    margin: 0 !important;
    color: var(--card-ink) !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.65;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .product-price-container > .price.dash-on {
    order: 2;
    align-self: flex-end;
    color: #9aa1ad !important;
    font-size: 11px;
    font-weight: 400;
    text-decoration-thickness: 1px;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .product-price-container > .d-flex {
    order: 1;
    min-width: 0;
    align-items: center !important;
    justify-content: space-between !important;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .product-price-container .bg-danger {
    flex: 0 0 auto;
    align-self: center;
    margin-inline-start: 6px !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
    background: #e6123d !important;
    color: #fff !important;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.4;
    white-space: nowrap;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-footer {
    position: static !important;
    inset: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    min-height: 44px;
    height: auto;
    margin-block-start: 6px;
    padding: 6px 0 0;
    border: 0;
    border-block-start: 1px solid #f0f1f3;
    background: transparent;
    box-shadow: none;
    visibility: visible !important;
    opacity: 1 !important;
    transition: none;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-footer > :is(a, span) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 8px;
    border: 1px solid #e9ebef;
    border-radius: 8px;
    background: #fff;
    color: #555e6b;
    box-shadow: none;
    touch-action: manipulation;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-footer .v-product-item-btn {
    flex: 1 1 auto;
    min-width: 44px;
    width: auto;
    border-color: #f8d9e0;
    background: #fff2f5;
    color: #b71339;
    font-size: 11px;
    font-weight: 700;
}

:is(body, .products-archive .products-grid, .home-landing .front-widget--featured-products, .front-widget, .product-carousel-widget) .v-product-item-footer .v-product-item-btn:hover {
    border-color: #df1d4a;
    background: #df1d4a;
    color: #fff;
    filter: none;
    transform: none;
}

.v-product-item-footer :is(a, span):focus-visible,
.v-product-item a:focus-visible {
    outline: 2px solid #2463dd !important;
    outline-offset: 2px;
}

/* The listing uses one divided white surface, as in the product catalog reference. */
.products-archive .products-grid .v-product-item,
.products-archive .products-grid .v-product-item.mobile-horizontal {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.products-archive .products-grid .v-product-item:hover { box-shadow: none; background: #fafbfc; }
.products-archive .products-grid .v-product-item-image > a { height: clamp(150px, 15vw, 184px); }
.products-archive .products-grid .v-product-item-content { width: 100%; }

/* Rails stay compact and use the same card anatomy as the catalog. */
.product-carousel-widget .v-product-item,
.front-widget .v-product-item,
.home-landing .front-widget--featured-products .v-product-item {
    min-height: 0;
    padding-block-end: 12px;
}

.home-landing .front-widget--featured-products .v-product-item-image,
.front-widget .v-product-item-image { border: 0; background: #fff; }

.home-landing .front-widget--featured-products .v-product-item-image img { padding: 12px; }
.home-landing .front-widget--featured-products .v-product-item-image {
    padding-block-end: 10px;
    border-block-end: 1px solid #e8ebf0;
}
.home-landing .front-widget--featured-products .v-product-item-content {
    padding-block-start: 10px;
}
.home-landing .front-widget--featured-products .v-product-item-footer { padding-block-start: 6px; }

/* The newest-products rail uses the card border as its only divider. */
.home-landing .front-widget--products-carousel .swiper-slide {
    border-inline-start: 0;
}

.home-landing .front-widget--products-carousel .v-product-item-image {
    overflow: hidden;
    padding-block-end: 10px;
    border-block-end: 1px solid #e8ebf0;
}

.home-landing .front-widget--products-carousel .v-product-item-image > a {
    display: block;
    height: clamp(136px, 11vw, 160px);
}

.home-landing .front-widget--products-carousel .v-product-item-image img {
    display: block;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
}

.home-landing .front-widget--products-carousel .v-product-item-content {
    min-block-size: 0;
    justify-content: flex-end;
    padding-block: 10px 0;
    gap: 4px;
}

.home-landing .front-widget--products-carousel .v-product-item-content .title {
    min-height: 44px !important;
    max-height: 44px;
}

.home-landing .front-widget--products-carousel .product-price-container {
    min-block-size: 0;
    margin-block-start: 0 !important;
    padding-block-start: 0;
}

@media (max-width: 767.98px) {
    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item.mobile-horizontal,
    .products-archive .products-grid .v-product-item.mobile-horizontal {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-image,
    .products-archive .products-grid .v-product-item.mobile-horizontal .v-product-item-image {
        width: 100%;
        margin: 0;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-image > a,
    .products-archive .products-grid .v-product-item.mobile-horizontal .v-product-item-image > a {
        height: clamp(128px, 39vw, 166px);
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-content,
    .products-archive .products-grid .v-product-item.mobile-horizontal .v-product-item-content {
        width: 100%;
        padding-block-start: 6px;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-content .title {
        min-height: 42px !important;
        max-height: 42px;
        font-size: 12px !important;
        line-height: 1.75;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .product-price-container .price {
        font-size: 13px;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-footer .v-product-item-btn .d-none.d-sm-inline {
        display: none !important;
    }

    :is(body, .products-archive .products-grid, .front-widget, .product-carousel-widget) .v-product-item-footer > :is(a, span) {
        min-width: 44px;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .v-product-item { transition: none !important; }
}

/* Keep every mobile product tile as compact as the amazing-products tile. */
@media (max-width: 767.98px) {
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item {
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px;
        padding: 0 8px 10px;
        border-radius: 10px;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-image {
        flex: 0 0 135px;
        height: 135px;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        border-bottom: 1px solid #f0f0f1 !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-image > a {
        box-sizing: border-box;
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 135px !important;
        max-height: 135px !important;
        padding: 2px;
        border: 0 !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-image img {
        box-sizing: border-box;
        width: min(112px, calc(100% - 20px)) !important;
        height: 112px !important;
        max-width: 100% !important;
        max-height: 112px !important;
        margin-inline: auto;
        padding: 4px !important;
        object-fit: contain !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-content {
        position: relative;
        z-index: 1;
        flex: 1 1 auto;
        min-height: 0;
        padding: 10px 2px 0 !important;
        gap: 4px;
        background: #fff;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-content .title {
        min-height: 39px !important;
        max-height: 39px !important;
        font-size: 11px !important;
        line-height: 1.75 !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .product-price-container {
        min-height: 48px;
        margin-top: auto !important;
        padding-top: 0;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-shipping {
        display: none !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-rating {
        display: none !important;
    }
    :is(.front-widget, .product-carousel-widget, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item-footer {
        display: none !important;
    }
}

/* One price layout for product cards, including discounted inventories. */
:is(body, .home-landing .front-widget--amazing-products, .home-landing .front-widget--featured-products, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item .card-price {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: minmax(16px, auto) minmax(24px, auto);
    align-content: end;
    align-items: center !important;
    justify-content: stretch;
    gap: 3px 8px;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin-top: auto !important;
    container-type: inline-size;
}
:is(body, .home-landing .front-widget--amazing-products, .home-landing .front-widget--featured-products, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item .card-price > div {
    display: contents !important;
}
:is(body, .home-landing .front-widget--amazing-products, .home-landing .front-widget--featured-products, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item .card-price .price {
    grid-row: 2;
    grid-column: 1 / -1;
    order: 0;
    justify-self: stretch;
    align-self: center;
    min-width: 0;
    margin: 0 !important;
    color: #202b3f !important;
    font-size: 14px;
    font-size: clamp(11px, 7.5cqi, 16px);
    font-weight: 800;
    line-height: 1.6;
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
}
:is(body, .home-landing .front-widget--amazing-products, .home-landing .front-widget--featured-products, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item .card-price .price.dash-on {
    grid-row: 1;
    grid-column: 1;
    justify-self: start;
    align-self: center;
    color: #7c8797 !important;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: line-through !important;
}
:is(body, .home-landing .front-widget--amazing-products, .home-landing .front-widget--featured-products, .products-archive .products-grid, .product-single-container .similar-products-swiper) .v-product-item .card-price .bg-danger {
    grid-row: 1;
    grid-column: 2;
    justify-self: end;
    align-self: center;
    margin: 0 !important;
    padding: 2px 6px !important;
    border-radius: 6px !important;
    font-size: 10px;
    line-height: 1.5;
}
.v-product-item .card-price > .text-danger { grid-column: 1 / -1; grid-row: 2; }

.products-infinite {
    display: grid;
    place-items: center;
    min-height: 48px;
    padding: 12px;
    text-align: center;
}
.products-infinite__status { margin: 0; color: #64748b; font-size: 13px; }
.products-infinite__retry {
    min-height: 44px;
    margin-top: 8px;
    padding: 8px 16px;
    border: 1px solid #d9e1ed;
    border-radius: 8px;
    background: #fff;
    color: #1f3a5c;
    cursor: pointer;
}
.products-infinite__retry:focus-visible { outline: 2px solid #e8124c; outline-offset: 2px; }
.products-infinite__retry[hidden] { display: none; }

.products-banner-widget__layout { display: grid; grid-template-columns: minmax(180px, 24%) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.products-banner-widget__layout--left { grid-template-columns: minmax(0, 1fr) minmax(180px, 24%); }
.products-banner-widget__layout--left .products-banner-widget__banner { grid-column: 2; grid-row: 1; }
.products-banner-widget__layout--left .products-banner-swiper { grid-column: 1; grid-row: 1; }
.products-banner-widget .products-banner-swiper { min-width: 0; width: 100%; overflow: hidden; }
.products-banner-widget__banner { min-width: 0; border-radius: 16px; overflow: hidden; background: var(--surface-soft, #f7f8fa); }
.products-banner-widget__banner :is(a, picture) { display: block; height: 100%; }
.products-banner-widget__banner img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 767px) {
    .products-banner-widget__layout, .products-banner-widget__layout--left { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .products-banner-widget__layout--left :is(.products-banner-widget__banner, .products-banner-swiper) { grid-column: auto; grid-row: auto; }
    .products-banner-widget__banner { height: auto; max-height: 240px; }
    .products-banner-widget__banner img { height: auto; max-height: 240px; object-fit: contain; }
}

.catalog-price-label { display: grid; gap: 10px; margin-block: 16px; font-size: 12px; }
.catalog-price-label input { width: 100%; accent-color: #e41a50; min-height: 44px; }
.catalog-orders.product-orders { position: static; display: flex; flex-wrap: wrap; gap: 12px; }
.catalog-orders select { width: auto; min-width: 140px; }
.catalog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; padding-block: 20px; }
.catalog-pagination button { min-height: 44px; }
.catalog-vue details summary { cursor: pointer; padding-block: 12px; }
.catalog-vue .form-check { display: flex; gap: 12px; align-items: center; min-height: 44px; padding: 6px 12px; }
.catalog-vue .form-check input { position: static; margin: 0; float: none; flex-shrink: 0; }
.catalog-status { font-size: 13px; color: #475569; min-height: 24px; margin-block: 12px; }
.catalog-vue button:focus-visible, .catalog-vue input:focus-visible, .catalog-vue summary:focus-visible { outline: 2px solid #e41a50; outline-offset: 3px; }
@media (max-width: 1199px) { .catalog-vue .filters-sidebar.show { overflow-y: auto; max-height: 100dvh; padding-bottom: 100px; } }
.catalog-vue .catalog-orders.product-orders { position: static; inset: auto; height: auto; width: 100%; visibility: visible; opacity: 1; z-index: auto; transform: none; overflow: visible; }
.catalog-vue .attribute-values { max-height: 280px; overflow-y: auto; }

/* Preserve the storefront archive design with Vue-owned controls. */
.catalog-vue .catalog-orders .items { flex: 1; }
.catalog-vue .catalog-orders .items > button {
    min-height: 40px; padding: 0 10px; border: 1px solid transparent; border-radius: 10px;
    background: transparent; color: #475569; font: inherit; font-size: 12px; white-space: nowrap;
}
.catalog-vue .catalog-orders .items > button.active {
    border-color: #fecdd3; background: #fff1f2; color: #be123c;
}
@media (hover: hover) {
    .catalog-vue .catalog-orders .items > button:hover { background: #fff1f2; color: #be123c; }
}
.catalog-vue .catalog-dual-range {
    position: relative; direction: ltr; block-size: 44px; margin: 12px 8px 8px;
}
.catalog-vue .catalog-dual-range::before {
    content: ''; position: absolute; inset: 20px 0; border-radius: 99px;
    background: linear-gradient(to right, #e8ebf0 var(--range-start), var(--colorMain, #e9164d) var(--range-start), var(--colorMain, #e9164d) var(--range-end), #e8ebf0 var(--range-end));
}
.catalog-vue .catalog-dual-range input {
    position: absolute; inset: 0; width: 100%; height: 44px; margin: 0; padding: 0;
    appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none;
}
.catalog-vue .catalog-dual-range input::-webkit-slider-runnable-track { height: 4px; background: transparent; }
.catalog-vue .catalog-dual-range input::-moz-range-track { height: 4px; background: transparent; }
.catalog-vue .catalog-dual-range input::-webkit-slider-thumb {
    appearance: none; -webkit-appearance: none; width: 26px; height: 26px; margin-top: -11px;
    border: 4px solid #fff; border-radius: 50%; background: var(--colorMain, #e9164d);
    box-shadow: 0 0 0 1px #e7eaf0; pointer-events: auto; cursor: grab;
}
.catalog-vue .catalog-dual-range input::-moz-range-thumb {
    width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%;
    background: var(--colorMain, #e9164d); box-shadow: 0 0 0 1px #e7eaf0; pointer-events: auto; cursor: grab;
}
.catalog-vue .catalog-price-auto { margin: 0; padding: 10px; border-radius: 10px; background: #f5f6f8; color: #788397; font-size: 11px; text-align: center; }
.catalog-vue .filter-attributes details { margin-block: 8px; padding: 0 12px; }
.catalog-vue .catalog-status { margin: 0; min-height: 0; }
.catalog-vue .catalog-status:not(:empty) { padding-block: 6px; }
.catalog-vue .catalog-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 767px) {
    .catalog-vue .catalog-orders .items { flex: 1 0 100%; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; }
    .catalog-vue .catalog-orders .items > button { flex-shrink: 0; min-height: 44px; }
    .catalog-vue .catalog-orders > span:last-child { display: none; }
}

.catalog-vue .catalog-pagination { flex-direction: column; gap: 12px; padding-block: 24px; }
.catalog-vue .catalog-pagination-controls, .catalog-vue .catalog-page-numbers { display: flex; align-items: center; justify-content: center; gap: 8px; }
.catalog-vue .catalog-page {
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    min-inline-size: 44px; min-block-size: 44px; padding: 8px 12px;
    border: 1px solid #dce3ea; border-radius: 12px; background: #fff;
    color: #334155; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer;
    box-shadow: 0 2px 4px rgba(15,23,42,.025);
}
.catalog-vue .catalog-page.is-current { border-color: var(--colorMain, #e9164d); background: var(--colorMain, #e9164d); color: #fff; box-shadow: 0 4px 10px rgba(233,22,77,.15); }
.catalog-vue .catalog-page-direction { gap: 8px; padding-inline: 16px; }
.catalog-vue .catalog-page-direction i { font-size: 18px; }
.catalog-vue .catalog-page:disabled { cursor: default; opacity: .45; box-shadow: none; }
.catalog-vue .catalog-pagination-gap { min-inline-size: 16px; text-align: center; color: #788397; }
.catalog-vue .catalog-pagination-caption { margin: 0; color: #788397; font-size: 12px; }
@media (hover: hover) { .catalog-vue .catalog-page:not(:disabled):not(.is-current):hover { border-color: #fecdd3; background: #fff1f2; color: #be123c; } }
@media (max-width: 575px) {
    .catalog-vue .catalog-pagination-controls { flex-wrap: wrap; max-inline-size: 100%; gap: 12px; }
    .catalog-vue .catalog-page-numbers { order: -1; flex-basis: 100%; gap: 4px; }
    .catalog-vue .catalog-page-numbers .catalog-page { padding-inline: 8px; }
    .catalog-vue .catalog-pagination-gap { min-inline-size: 12px; }
}
.catalog-vue .catalog-featured-categories { display: flex; gap: 12px; overflow-x: auto; padding-block: 8px 20px; scroll-snap-type: x proximity; }
.catalog-vue .catalog-featured-categories .category-item { flex: 0 0 180px; scroll-snap-align: start; }
.catalog-vue .content-dropdown.catalog-content-expanded { max-height: none; }
.catalog-vue .catalog-category-faq summary { cursor: pointer; min-height: 44px; padding-block: 12px; }
.catalog-vue .catalog-description { position: relative; max-height: 200px; overflow: hidden; }
.catalog-vue .catalog-description::before { content: ''; position: absolute; inset-inline: 0; bottom: 0; height: 100px; background: linear-gradient(0deg,#fff,#fff,transparent); pointer-events: none; }
.catalog-vue .catalog-description.catalog-content-expanded { max-height: none; overflow: visible; }
.catalog-vue .catalog-description.catalog-content-expanded::before { content: none; }
.catalog-vue .catalog-description-toggle { display: block; position: absolute; bottom: 0; inset-inline: 0; width: 160px; min-height: 44px; margin-inline: auto; padding: 10px; border: 0; background: transparent; color: #334155; cursor: pointer; }
.catalog-vue .catalog-content-expanded .catalog-description-toggle { position: static; }

[data-home-products-native="true"] { overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline proximity; }
[data-home-products-native="true"] .swiper-wrapper { gap: 12px; }
[data-home-products-native="true"] .swiper-slide { flex: 0 0 180px; inline-size: 180px; scroll-snap-align: start; }
[data-category-directory-native="true"] { overflow-x: auto; }
[data-category-directory-native="true"] .swiper-wrapper { gap: 12px; }
[data-category-directory-native="true"] .swiper-slide { flex: 0 0 180px; width: 180px; }
[data-category-directory-native="true"] > button { display: none; }
[data-home-banners-native="true"] { overflow-x: auto; scroll-snap-type: x mandatory; }
[data-home-banners-native="true"] .swiper-slide { flex: 0 0 100%; scroll-snap-align: start; }
[data-home-banners-native="true"] > button { display: none; }
[data-home-journal-native="true"] { overflow-x: auto; }
[data-home-journal-native="true"] .swiper-wrapper { gap: 12px; }
[data-home-journal-native="true"] .swiper-slide { flex: 0 0 280px; width: 280px; }
[data-home-journal-native="true"] > button { display: none; }
