/* === Responsive layer: mobile/tablet product and details layout === */
@media (max-width: 900px) {
  .main,
  .main .full {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .main .full {
    margin-top:12px;
    padding-left:12px;
    padding-right:12px;
  }
  .column,
  .column.right,
  .column.products_list,
  .column.product,
  .column.photos,
  .column.details,
  DIV.column.FactoryPagesBean,
  body.products .column.products_list,
  body.details .column.product,
  body.details .column.product .column.photos,
  body.details .column.product .column.details {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  body.products .products_wrap > .column.left,
  body.details .products_wrap > .column.left,
  .products_wrap > .column.left {
    display:none;
  }
  body.details {
    --product-mobile-buy-bar-space:0px;
  }
  body.details.product_mobile_buy_bar_visible {
    --product-mobile-buy-bar-space:52px;
  }
  body.details .product_detail_anchor {
    scroll-margin-top:calc(var(--sam-header-space, var(--mobile-header-space, 0px)) + 8px);
  }
  body.details .product_info_mobile_nav {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    column-gap:0;
    position:fixed;
    top:var(--sam-header-space, var(--mobile-header-space, 0px));
    left:0;
    right:0;
    z-index:1100;
    width:100%;
    margin:0;
    padding:9px 12px 0;
    overflow-x:auto;
    background:#ffffff;
    border-bottom:2px solid #e3262e;
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
    box-sizing:border-box;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-100%);
    transition:opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }
  body.details.product_info_mobile_nav_visible .product_info_mobile_nav {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.details .product_mobile_buy_bar {
    display:flex;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1185;
    width:100%;
    height:52px;
    min-height:52px;
    max-height:52px;
    align-items:center;
    justify-content:space-between;
    column-gap:12px;
    padding:7px 12px;
    box-sizing:border-box;
    background:#ffffff;
    border-top:1px solid rgba(0,0,0,0.16);
    box-shadow:0 -4px 14px rgba(0,0,0,0.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(100%);
    transition:opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
  }
  body.details.product_mobile_buy_bar_visible .product_mobile_buy_bar {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.mobile-menu-open.details .product_mobile_buy_bar {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  body.details .product_mobile_buy_price {
    display:flex;
    flex:1 1 auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    column-gap:5px;
    color:#000000;
    font-size:18px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.details .product_mobile_buy_regular_price {
    display:inline-block;
    flex:0 1 auto;
    min-width:0;
    max-width:48%;
    color:#aa0000;
    font-size:18px;
    line-height:1;
    font-weight:700;
    text-decoration:line-through;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.details .product_mobile_buy_price_separator {
    display:inline-block;
    flex:0 0 auto;
    color:#777777;
    font-size:18px;
    line-height:1;
    font-weight:700;
    text-decoration:none;
  }
  body.details .product_mobile_buy_sell_price {
    display:inline-block;
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
    color:#000000;
    font-size:18px;
    line-height:1;
    font-weight:700;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.details .product_mobile_buy_button {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    min-width:92px;
    height:34px;
    padding:0 12px;
    border-radius:6px;
    background:#e3262e;
    color:#ffffff;
    font-size:13px;
    line-height:1;
    font-weight:700;
    text-decoration:none;
    box-sizing:border-box;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    outline:0;
  }
  body.details .product_mobile_buy_button:before {
    content:"\f07a";
    display:inline-block;
    margin-right:6px;
    font-family:"Font Awesome 5 Free";
    font-weight:900;
    font-size:14px;
    line-height:1;
  }
  body.details .product_mobile_buy_button:focus,
  body.details .product_mobile_buy_button:active {
    background:#e3262e;
    color:#ffffff;
    box-shadow:none;
    outline:0;
    text-decoration:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.details .product_info_mobile_nav.product_info_mobile_nav_items_2 {
    justify-content:center;
    column-gap:36px;
  }
  body.details .product_info_mobile_nav.product_info_mobile_nav_items_3 {
    justify-content:space-between;
    column-gap:0;
  }
  body.details .product_info_mobile_nav::-webkit-scrollbar {
    display:none;
  }
  body.details .product_info_mobile_nav .item {
    flex:0 0 auto;
    margin:0;
    padding:0 0 8px;
    border-radius:0;
    color:#333333;
    font-weight:600;
    background:transparent;
    box-shadow:none;
    white-space:nowrap;
    text-decoration:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.details .product_info_mobile_nav .item:hover,
  body.details .product_info_mobile_nav .item:focus,
  body.details .product_info_mobile_nav .item:active {
    color:#333333;
    background:transparent;
    box-shadow:none;
    outline:0;
    text-decoration:none;
  }
  body.details .product_info_mobile_nav .item.is_active,
  body.details .product_info_mobile_nav .item.is_active:hover,
  body.details .product_info_mobile_nav .item.is_active:focus,
  body.details .product_info_mobile_nav .item.is_active:active {
    color:#e3262e;
    font-weight:700;
    background:transparent;
    box-shadow:none;
    outline:0;
    text-decoration:none;
  }
  .TreeView[source='ProductCategoriesBean'] {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node {
    padding:3px 4px;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle {
    flex:0 0 18px;
    width:18px;
    min-width:18px;
    height:22px;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle .Button,
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle .Button:before {
    width:18px;
    height:18px;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .ActionRenderer[action='TextTreeItemAction'] {
    margin-left:6px;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node:not([active="1"]),
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node:not([active="1"]):hover {
    background:transparent;
    box-shadow:none;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node:not([active="1"]):hover .ActionRenderer[action='TextTreeItemAction'] {
    color:#d7d7d7;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="closed"]:not([active="1"]) .Handle:hover .Button,
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="opened"]:not([active="1"]) .Handle:hover .Button {
    background:rgba(255,255,255,0.06);
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[active="1"] {
    background:rgba(227,38,46,0.18);
    box-shadow:inset 3px 0 0 #e3262e;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[active="1"] .Handle .Button {
    background:rgba(227,38,46,0.22);
  }
  .ListView,
  .ListView .viewport {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .ListView .PaginatorComponent {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.products .ListView .viewport {
    margin-top:25px;
    margin-bottom:25px;
  }
  .ListView .PaginatorTopComponent {
    display:none;
  }
  .ListView .PaginatorTopComponent .cell,
  .ListView .PaginatorTopComponent .page_navigation {
    display:block;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    text-align:left;
  }
  .ListView .PaginatorBottomComponent {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:10px;
  }
  .ListView .PaginatorBottomComponent .cell.page_info,
  .ListView .PaginatorBottomComponent .cell.results_info {
    display:inline-flex;
    align-items:center;
    width:auto;
    max-width:none;
    box-sizing:border-box;
    white-space:nowrap;
    text-align:left;
  }
  .ListView .PaginatorBottomComponent .cell.page_navigation.long:empty {
    display:none;
  }
  .ListView .PaginatorBottomComponent .cell.results_info {
    margin-left:auto;
    text-align:right;
  }
  .ProductItem {
    display:block;
    width:100%;
    max-width:100%;
    min-height:0;
    margin:0 auto 20px auto;
    box-sizing:border-box;
  }
  .ProductItem .product_name,
  .ProductItem .summary,
  .ProductItem .summary .price_panel,
  .ProductItem .summary .product_code,
  .ProductItem .summary .sell_price,
  .ProductItem .summary .regular_price,
  .ProductItem .Image {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .ProductItem .Image > IMG.lazy,
  .ProductItem .Image > IMG:not([class*='ribbon']) {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    box-sizing:border-box;
  }
  .ProductItem .Image .by-order-ribbon,
  .ProductItem .Image .free-delivery-ribbon,
  .ProductItem .Image .new-product-ribbon,
  .ProductItem .Image .coming-soon-ribbon {
    width:auto;
    max-width:42%;
    height:auto;
    box-sizing:content-box;
  }
  body.products .column.products_list .subcategories {
    margin:14px 0 18px 0;
    text-align:center;
  }
  body.products .column.products_list .subcategories A {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto 12px auto;
    box-sizing:border-box;
  }
  body.products .column.products_list .subcategories A IMG {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto;
    box-sizing:border-box;
  }
  body.details .column.product .caption,
  body.details .column.product .description,
  body.details .column.product .image_gallery,
  body.details .column.product .GalleryTape,
  body.details .GalleryTape,
  body.details .GalleryTape .viewport,
  body.details .GalleryTape .slots,
  body.details .column.product .photo.gallery,
  body.details .column.product .column.photos .photo.big,
  body.details .column.product .column.details .price_panel,
  body.details .column.product .column.details .attribute_features,
  body.details .column.product .column.details .summary {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.details .column.product .column.photos IMG,
  body.details .GalleryTape IMG {
    max-width:100%;
    height:auto;
  }
  body.details .column.product .column.photos .photo.big .coming-soon-ribbon,
  body.details .column.product .column.photos .photo.big .by-order-ribbon,
  body.details .column.product .column.photos .photo.big .free-delivery-ribbon,
  body.details .column.product .column.photos .photo.big .new-product-ribbon {
    width:68px;
    max-width:24%;
    height:auto;
  }
  body.details .column.product .column.details .attribute_features,
  body.details .column.product .column.details .attributes,
  body.details .column.product .column.details .features {
    display:block;
    width:100%;
  }
  body.details .column.product .column.details .price_panel {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:start;
    column-gap:12px;
    row-gap:8px;
  }
  body.details .column.product .column.details .price_panel .product_code {
    grid-column:1;
  }
  body.details .column.product .column.details .price_panel .detail_product_prices,
  body.details .column.product .column.details .price_panel .icon_cart {
    grid-column:2;
    justify-self:end;
  }
  body.details .column.product .column.details .price_panel .icon_cart {
    margin:0 13px 0 0;
  }
  body.details .column.product > h1.caption.product {
    font-size:20px;
    font-weight:700;
  }
  body.details .column.product .column.details.product_details_with_addons {
    display:flex;
    flex-direction:column;
  }
  body.details .column.product .column.details.product_details_with_addons .product_detail_addons_panel {
    order:1;
    margin:12px 0 0 0;
    padding-top:14px;
    padding-left:5px;
    border-top:1px solid rgba(0,0,0,0.12);
  }
  body.details .column.product .column.details.product_details_with_addons .price_panel_with_addons {
    order:2;
    margin-top:28px;
    padding-top:14px;
    border-top:1px solid rgba(0,0,0,0.12);
  }
  body.details .column.product .product_info_highlights_desktop {
    display:none;
  }
  body.details .column.product .column.details .product_info_highlights_mobile {
    display:block;
    width:100%;
    max-width:100%;
    margin:18px 0 0 0;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-sizing:border-box;
  }
  body.details .column.product .column.details.product_details_with_addons .product_info_highlights_mobile {
    order:3;
  }
  body.details .column.product .column.details .product_info_highlights_mobile .caption {
    margin:0 0 14px 0;
    padding:0 0 8px 0;
    background:transparent;
    border:0;
    border-bottom:1px solid #dddddd;
    color:#e3262e;
    font-size:16px;
    line-height:1.2;
    font-weight:bold;
    letter-spacing:0;
    text-align:left;
    text-transform:uppercase;
    box-sizing:border-box;
  }
  body.details .column.product .column.details .product_info_highlights_mobile .product_info_highlights_list {
    padding:12px 13px 4px 13px;
    background:#ffffff;
    border:1px solid rgba(0,0,0,0.10);
    border-radius:10px;
    box-sizing:border-box;
  }
  body.details .column.product .column.details .product_info_highlights_mobile .product_info_highlight_item {
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    column-gap:12px;
    align-items:baseline;
    padding:7px 0;
    border-bottom:1px solid rgba(0,0,0,0.07);
  }
  body.details .column.product .column.details .product_info_highlights_mobile .product_info_highlight_item:last-child {
    border-bottom:0;
  }
  body.details .column.product .column.details .product_info_highlights_mobile .product_info_highlight_name {
    color:#000000;
    font-size:15px;
    line-height:1.25;
    letter-spacing:0;
    text-transform:none;
  }
  body.details .column.product .column.details .product_info_highlights_mobile .product_info_highlight_value {
    margin-top:0;
    color:#222222;
    font-size:15px;
    line-height:1.25;
    text-align:right;
  }
  body.details .column.product .column.details.product_details_with_addons .attribute_features {
    order:4;
  }
  body.details .GalleryTape .button.left,
  body.details .GalleryTape .button.right {
    display:none;
  }
}
/* === Responsive layer: desktop product/details grid === */
@media (min-width: 901px) {
  body.ProductsPage {
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    overflow-x:clip;
  }
  body.ProductsPage .banners,
body.ProductsPage .main,
body.ProductsPage .main .full {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.ProductsPage .main .full {
    padding-left:20px;
    padding-right:20px;
  }
  body.ProductsPage .products_wrap {
    display:grid;
    grid-template-columns:300px minmax(0, 1fr);
    gap:30px;
    align-items:start;
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.ProductsPage .products_wrap > .column.left {
    grid-column:1;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:var(--products-sidebar-sticky-top);
    align-self:start;
    width:310px;
    max-width:310px;
    max-height:var(--products-sidebar-visible-height);
    min-width:0;
    margin-right:0;
    overflow:hidden;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  body.ProductsPage .products_wrap > .column.left::-webkit-scrollbar {
    display:none;
  }
  body.ProductsPage .products_wrap > .column.left.no_product_filters {
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
  }
  body.ProductsPage .products_wrap > .column.left.no_product_filters::-webkit-scrollbar {
    display:none;
  }
  body.details .products_wrap > .column.left .product_info_highlights_section {
    margin-top:10px;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_card {
    display:none;
    margin-top:10px;
    padding:18px;
    background:#3a3a3a;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    box-sizing:border-box;
    opacity:0;
    pointer-events:none;
    transform:translateY(8px);
    transition:opacity .16s ease, transform .16s ease;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_card.is_visible {
    display:block;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_name {
    color:#d7d7d7;
    font-size:15px;
    line-height:1.25;
    font-weight:500;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_prices {
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:baseline;
    gap:6px 10px;
    margin-top:20px;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_regular_price {
    color:#d8d8d8;
    font-size:18px;
    line-height:1.25;
    font-weight:600;
    text-decoration:line-through;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_sell_price {
    color:#ffffff;
    font-size:18px;
    line-height:1.25;
    font-weight:600;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_button {
    display:block;
    width:100%;
    margin-top:12px;
    padding:10px 12px;
    background:#e3262e;
    color:#ffffff;
    border-radius:9px;
    box-sizing:border-box;
    font-size:14px;
    line-height:1.2;
    font-weight:800;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
  }
  body.details .products_wrap > .column.left .product_sidebar_buy_button:hover,
  body.details .products_wrap > .column.left .product_sidebar_buy_button:focus {
    background:#c91f27;
    color:#ffffff;
    outline:0;
    text-decoration:none;
  }
  body.ProductsPage .TreeView[source='ProductCategoriesBean'] {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body.products .products_wrap > .column.products_list,
  body.details .products_wrap > .column.product,
  body.ProductsPage .products_wrap > .column.right,
  body.ProductsPage .products_wrap > DIV.column.FactoryPagesBean {
    grid-column:2;
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    box-sizing:border-box;
  }
  body.products .ListView,
  body.products .ListView .PaginatorComponent,
  body.products .ListView .PaginatorTopComponent,
  body.products .ListView .PaginatorBottomComponent {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.products .ListView .viewport {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-flow:row;
    direction:ltr;
    justify-items:stretch;
    gap:26px 24px;
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:0;
    margin-right:0;
    margin-top:50px;
    margin-bottom:25px;
    box-sizing:border-box;
  }
  body.products .ProductItem {
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    margin:0;
    box-sizing:border-box;
  }
  body.products .ProductItem .product_name,
  body.products .ProductItem .summary,
  body.products .ProductItem .summary .price_panel,
  body.products .ProductItem .summary .product_code,
  body.products .ProductItem .summary .sell_price,
  body.products .ProductItem .summary .regular_price,
  body.products .ProductItem .Image {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body.products .ProductItem .Image > IMG.lazy,
  body.products .ProductItem .Image > IMG:not([class*='ribbon']) {
    display:block;
    width:auto;
    max-width:300px;
    height:auto;
    box-sizing:border-box;
  }
  body.products .ProductItem .Image .discount_ribbon {
    top:7px;
    left:7px;
    right:auto;
    bottom:auto;
    min-width:44px;
    min-height:26px;
    padding:5px 8px;
    font-size:15px;
  }
  body.products .ProductItem .product_name .product_card_brand_badge {
    top:0px;
    max-width:74%;
    padding:0;
    font-size:16px;
    letter-spacing:0.07em;
  }


  body.products .ProductItem .Image .by-order-ribbon,
  body.products .ProductItem .Image .free-delivery-ribbon,
  body.products .ProductItem .Image .new-product-ribbon,
  body.products .ProductItem .Image .coming-soon-ribbon {
    width:auto;
    max-width:38%;
    height:auto;
    box-sizing:content-box;
  }
  body.products .column.products_list .subcategories {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    gap:14px;
    margin-left:0;
    margin-right:0;
  }
  body.products .column.products_list .subcategories A {
    display:block;
    width:304px;
    max-width:304px;
    height:auto;
    box-sizing:border-box;
  }
  body.products .column.products_list .subcategories A IMG {
    display:block;
    width:304px;
    max-width:304px;
    height:auto;
    box-sizing:border-box;
  }
  body.details .column.product {
    display:grid;
    grid-template-columns:clamp(420px, 35%, 542px) minmax(0, 1fr);
    column-gap:20px;
    row-gap:0;
    align-items:start;
  }
  body.details .column.product > .caption,
  body.details .column.product > .caption.product,
  body.details .column.product > .clear,
  body.details .column.product > .description,
  body.details .column.product > .image_gallery,
  body.details .column.product > .GalleryTape {
    grid-column:1 / -1;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  body.details .column.product > .column.photos {
    grid-column:1;
    width:100%;
    max-width:542px;
    min-width:0;
    margin:20px 0;
    box-sizing:border-box;
  }
  body.details .column.product > .column.details {
    grid-column:2;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:20px 0;
    box-sizing:border-box;
  }
  body.details .column.product .column.photos .photo.big,
  body.details .column.product .photo.gallery {
    width:100%;
    max-width:542px;
    min-width:0;
    box-sizing:border-box;
  }
  body.details .GalleryTape,
  body.details .GalleryTape .viewport,
  body.details .GalleryTape .slots {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.details .column.product .column.photos .photo.big {
    display:flex;
    justify-content:center;
    align-items:center;
  }
  body.details .column.product .column.photos .photo.big IMG,
  body.details .column.product .photo.gallery IMG,
  body.details .GalleryTape IMG {
    max-width:100%;
    height:auto;
  }
}

@media (min-width: 901px) and (max-width: 1399px) {
  body.products .ListView .viewport {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  body.details .column.product {
    grid-template-columns:clamp(420px, 35%, 542px) minmax(0, 1fr);
  }
}

@media (min-width: 1273px) and (max-width: 1399px) {
  body.products .column.products_list .subcategories A {
    width:calc((100% - 28px) / 3);
    max-width:304px;
    margin-left:0;
    margin-right:0;
  }
  body.products .column.products_list .subcategories A IMG {
    width:100%;
    max-width:304px;
  }
}

@media (min-width: 901px) and (max-width: 1272px) {
  body.products .ListView .viewport {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  body.ProductsPage {
    --products-sidebar-width:260px;
  }
  body.ProductsPage .products_wrap {
    grid-template-columns:260px minmax(0, 1fr);
    gap:16px;
  }
  body.ProductsPage .products_wrap > .column.left {
    width:260px;
    max-width:260px;
  }
  body.products .ListView .viewport {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  body.details .column.product {
    grid-template-columns:1fr;
  }
  body.details .column.product > .column.photos,
body.details .column.product > .column.details {
    grid-column:1 / -1;
  }
}

