/*
 * Products CSS maintenance map
 * Keep this as one live file for legacy PHP/cache safety.
 * Add new rules inside the closest section below; do not append random overrides at the end.
 * Treat repeated selectors carefully: many are intentional responsive/cascade overrides.
 */

/* === Products CSS: base product page columns and breadcrumbs === */
body.ProductsPage {
  --products-sidebar-sticky-top:53px;
  --products-sidebar-bottom-gap:10px;
  --products-sidebar-visible-height:calc(100vh - var(--products-sidebar-sticky-top) - var(--products-sidebar-bottom-gap));
  --products-sidebar-left:20px;
  --products-sidebar-width:310px;
  --products-filter-actions-bottom:15px;
  --products-filter-actions-clearance:50px;
}
.column {
  display:inline-block;
  vertical-align:top;
}
.column.left {
  max-width:300px;
  width:300px;
  margin-right:20px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
body.details .products_wrap > .column.left {
  margin-top:65px;
}
.products_breadcrumb_fullscreen {
  display:block;
  width:100%;
  margin:0 0 25px 0;
  padding:0;
  clear:both;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.caption.category_path {
  display:block;
  border-bottom: solid 1px #dddddd;
}
h1.caption,
h2.caption {
  display:block;
  margin:0;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
}
body.details h1.caption.product {
  font-size:24px;
  font-weight:700;
  line-height:1.2;
}
.inline_category_h1 {
  display:inline;
  margin:0;
  padding:0;
  font:inherit;
  font-weight:inherit;
  line-height:inherit;
}
.inline_category_h1 A {
  font:inherit;
}
body.products .caption.category_path .inline_category_h1 A,
body.products .caption.category_path .category_path_current A {
  color:#e3262e;
}
.caption.category_path A {
  color:#222222;
  font-size:14px;
  -webkit-tap-highlight-color:transparent;
  tap-highlight-color:transparent;
}
.caption.category_path A:focus,
.caption.category_path A:active {
  background:transparent;
  outline:0;
  box-shadow:none;
}

/* Visual-only home icon in product breadcrumbs: keep href/rel/text/schema unchanged. */
.caption.category_path A[href="/"][rel="Начало"] {
  display:inline-block;
  width:22px;
  height:22px;
  overflow:hidden;
  color:transparent;
  font-size:0;
  line-height:22px;
  text-align:center;
  vertical-align:middle;
  text-transform:none;
}
.caption.category_path A[href="/"][rel="Начало"]:before {
  content:"\f015";
  display:inline-block;
  color:#222222;
  font-family:"Font Awesome 5 Free";
  font-size:18px;
  font-weight:900;
  line-height:18px;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
}
body.details .product_detail_anchor {
  scroll-margin-top:var(--products-sidebar-sticky-top);
}
.product_info_mobile_nav {
  display:none;
}
.product_info_nav_section .product_info_nav_list {
  padding:8px;
  display:flex;
  flex-direction:column;
  row-gap:0px;
  background-color:#3a3a3a;
  border-top: 1px solid rgba(255,255,255,0.12);
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.product_info_nav_list .item {
  display:block;
  margin:5px 0;
  padding:5px 10px;
  border-radius:8px;
  color:#d7d7d7;
  font-size:17px;
  line-height:1.25;
  text-decoration:none;
}
.product_info_nav_list .item:hover {
  background:transparent;
  box-shadow:none;
  color:#d7d7d7;
  outline:0;
}
.product_info_nav_list .item.is_active {
  background:rgba(227,38,46,0.18);
  box-shadow:inset 3px 0 0 #e3262e;
  color:#ffffff;
  outline:0;
}
.product_info_nav_list .item:focus {
  outline:0;
}
.product_info_highlights_section {
  margin-top:12px;
}
.product_info_highlights_mobile {
  display:none;
}
.product_info_highlights_section .product_info_highlights_list {
  padding:8px;
  background:#3a3a3a;
  border-top:1px solid rgba(255,255,255,0.12);
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.product_info_highlight_item {
  padding:5px 10px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.product_info_highlight_item:last-child {
  border-bottom:0;
}
.product_info_highlight_name {
  display:block;
  color:#d7d7d7;
  font-size:15px;
  line-height:1.25;
}
.product_info_highlight_value {
  display:block;
  margin-top:5px;
  color:#ffffff;
  font-size:15px;
  line-height:1.25;
  font-weight:600;
}
.product_sidebar_buy_card {
  display:none;
}
.column.left .caption {
  background: #3a3a3a;
  color:#d5d5d5;
  font-weight:600;
  padding:13px 15px;
  text-align:center;
  text-transform:uppercase;
  border-top-left-radius:10px;
  border-top-right-radius:10px;
}
.products_wrap .column.left .section:first-child > .caption {
  padding:13px 15px;
  background:#3a3a3a;
  border:1px solid rgba(255,255,255,0.08);
  border-bottom:0;
  color:#d5d5d5;
  font-size:15px;
  line-height:1.2;
  letter-spacing:0.02em;
  text-transform:uppercase;
  box-sizing:border-box;
}

/* === Category tree / left navigation inside product pages === */
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] {
  width:100%;
  max-width:100%;
  padding:5px;
  background:#3a3a3a;
  background-image:none;
  border:1px solid rgba(255,255,255,0.08);
  border-top:1px solid rgba(255,255,255,0.12);
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
  box-shadow:none;
  font-size:14px;
  box-sizing:border-box;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .NodeChilds {
  margin:0;
  padding-left:12px;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] > .NodeChilds {
  padding-left:0;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .NodeOuter {
  margin:1px 0;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node {
  display:flex;
  align-items:center;
  min-height:32px;
  padding:8px 9px;
  border-radius:9px;
  box-sizing:border-box;
  transition:background-color .14s ease, color .14s ease;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .ActionRenderer[action='TextTreeItemAction'] {
  display:block;
  flex:1 1 auto;
  min-width:0;
  color:#d7d7d7;
  font-size:14px;
  line-height:1.25;
  text-decoration:none;
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node:hover {
  background:rgba(255,255,255,0.07);
}
.products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node:hover .ActionRenderer[action='TextTreeItemAction'] {
  color:#ffffff;
}
.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"] .ActionRenderer[action='TextTreeItemAction'] {
  color:#ffffff;
  font-weight:600;
}
.products_wrap .column.left .products_catalog_categories_section.is_collapsed .TreeView[source='ProductCategoriesBean'] {
  display:none;
}
.products_wrap .column.left .products_catalog_categories_section.is_expanded .TreeView[source='ProductCategoriesBean'] {
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_summary {
  padding:5px 10px 7px;
  background:#3a3a3a;
  border:0;
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
  box-sizing:border-box;
  text-align:center;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  caret-color:transparent;
}
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_toggle {
  display:block;
  width:24px;
  height:20px;
  min-height:0;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:1;
  text-align:center;
  cursor:pointer;
  outline:0;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  caret-color:transparent;
}
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_toggle_arrow {
  display:inline-block;
  width:8px;
  height:8px;
  margin:0;
  border-right:2px solid #e3262e;
  border-bottom:2px solid #e3262e;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .16s ease;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  caret-color:transparent;
}
.products_wrap .column.left .products_catalog_categories_section.is_expanded .catalog_categories_toggle_arrow {
  transform:translateY(2px) rotate(-135deg);
}
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_toggle:hover,
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_toggle:focus,
.products_wrap .column.left .products_catalog_categories_section .catalog_categories_toggle:active {
  background:transparent;
  color:#ffffff;
  outline:0;
  box-shadow:none;
}
.products_wrap .column.left .products_catalog_categories_section.is_expanded .catalog_categories_summary {
  box-shadow:none;
}

/* Desktop category-tree toggle affordance. */
@media (min-width:901px) {
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle {
    display:flex;
    flex:0 0 18px;
    width:18px;
    min-width:18px;
    height:22px;
    align-items:center;
    justify-content:center;
    text-align:center;
    cursor:pointer;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle .Button {
    display:flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    min-width:18px;
    min-height:18px;
    max-width:18px;
    max-height:18px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,0.06);
    background-image:none;
    color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
    font-size:0;
    line-height:1;
    text-align:center;
    box-sizing:border-box;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .Handle .Button:before {
    content:"›";
    display:flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    color:#ffffff;
    font-size:18px;
    line-height:1;
    text-align:center;
    transform:none;
    transform-origin:50% 50%;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="opened"] .Handle .Button:before {
    transform:rotate(90deg);
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="leaf"] .Handle {
    cursor:default;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="leaf"] .Handle .Button {
    background:transparent;
    background-image:none;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="leaf"] .Handle .Button:before {
    content:"•";
    color:#e3262e;
    font-size:16px;
    transform:none;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node .ActionRenderer[action='TextTreeItemAction'] {
    margin-left:6px;
  }
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="closed"] .Handle:hover .Button,
  .products_wrap .column.left .TreeView[source='ProductCategoriesBean'] .Node[branch_type="opened"] .Handle:hover .Button {
    background:rgba(227,38,46,0.22);
    color:#ffffff;
  }
}


/* === Category filters: desktop sidebar and mobile full-screen drawer === */
.catalog_filters_form {
  box-sizing:border-box;
}
.products_wrap .column.left .catalog_filters_form_sidebar {
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  padding: 10px;
  background:#ffffff;
  border:1px solid #dddddd;
  border-radius:10px;
  box-shadow:0 6px 14px rgba(0,0,0,0.06);
  overflow:hidden;
}
.catalog_filters_form_sidebar:before {
  content:"Филтри";
  flex:0 0 auto;
  display:block;
  margin:0;
  padding:0 0 7px 0;
  border-bottom:1px solid #dddddd;
  color:#222222;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}
.catalog_filters_form_sidebar .catalog_filters_groups {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-bottom:var(--products-filter-actions-clearance);
  scrollbar-width:none;
}
.catalog_filters_form_sidebar .catalog_filters_groups::-webkit-scrollbar {
  display:none;
}
.catalog_filter_group {
  border-bottom:1px solid #eeeeee;
}
.catalog_filter_group:last-child {
  border-bottom:0;
}
.catalog_filter_group_toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:36px;
  padding:8px 5px 0px 0px;
  border:0;
  background:transparent;
  color:#222222;
  font:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  outline:0;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  caret-color:transparent;
}
.catalog_filter_group_arrow {
  display:inline-block;
  flex:0 0 auto;
  width:8px;
  height:8px;
  margin-left:12px;
  border-right:2px solid #666666;
  border-bottom:2px solid #666666;
  transform:rotate(45deg);
  transition:transform .16s ease;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  caret-color:transparent;
}
.catalog_filter_group.is_open .catalog_filter_group_arrow {
  transform:rotate(-135deg);
}
.catalog_filter_group_toggle:hover,
.catalog_filter_group_toggle:focus,
.catalog_filter_group_toggle:active {
  background:transparent;
  outline:0;
  box-shadow:none;
}
.catalog_filter_group_toggle::-moz-focus-inner {
  border:0;
}
.catalog_filter_group_body {
  display:none;
  padding:0 0 9px 0;
}
.catalog_filter_group.is_open .catalog_filter_group_body {
  display:block;
}
.catalog_filter_range {
  display:flex;
  align-items:center;
  gap:7px;
}
.catalog_filter_range label {
  display:flex;
  flex:1 1 0;
  align-items:center;
  gap:5px;
  color:#555555;
  font-size:13px;
}
.catalog_filter_range input,
.catalog_filter_text {
  width:100%;
  height:36px;
  padding:6px 8px;
  border:1px solid #d1d1d1;
  border-radius:8px;
  background:#ffffff;
  color:#222222;
  font-size:14px;
  box-sizing:border-box;
}
.catalog_filter_unit {
  flex:0 0 auto;
  color:#555555;
  font-size:13px;
  font-weight:700;
}
.catalog_filter_check {
  display:flex;
  align-items:center;
  gap:7px;
  min-height:28px;
  color:#333333;
  font-size:13px;
  line-height:1.2;
  cursor:pointer;
}
.catalog_filter_check input {
  flex:0 0 auto;
}
.catalog_filters_footer {
  display:none;
  align-items:center;
  grid-template-columns:1fr;
  gap:8px;
  margin:10px -6px -6px -6px;
  padding:8px 6px 6px 6px;
  border-top:1px solid #dddddd;
  background:#ffffff;
  box-sizing:border-box;
}
.catalog_filters_footer.is_visible {
  display:grid;
}
.catalog_filters_footer.has_active_filters {
  grid-template-columns:1fr 1.35fr;
}
.catalog_filters_footer:not(.has_active_filters) .catalog_filters_clear {
  display:none;
}
.catalog_filters_footer_sidebar {
  flex:0 0 auto;
}
.catalog_filters_clear,
.catalog_filters_apply {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 7px;
  border-radius:7px;
  font-size:12px;
  font-weight:700;
  line-height:1.1;
  cursor:pointer;
  box-sizing:border-box;
}
.catalog_filters_clear {
  border:1px solid #d6d6d6;
  background:#f4f4f4;
  color:#333333;
}
.catalog_filters_apply {
  border:0;
  background:#e3262e;
  color:#ffffff;
  box-shadow:0 6px 14px rgba(227,38,46,0.16);
}
.catalog_filters_count {
  margin-left:4px;
}
.catalog_mobile_filters_shell {
  display:none;
}

@media (min-width:901px) {
  body.products .products_wrap .column.left .catalog_filters_form_sidebar {
    height:var(--products-sidebar-visible-height);
    max-height:var(--products-sidebar-visible-height);
  }
  body.products .catalog_filters_footer_sidebar {
    width:auto;
  }
}
.catalog_mobile_filters {
  display:none;
}

@media (max-width:900px) {
  body.products .column.left .catalog_filters_form_sidebar {
    display:none;
  }
  body.products .catalog_mobile_filters_shell {
    display:block;
    margin:0;
  }
  body.products .mobile_filter_group {
    display:flex;
    flex:1 1 auto;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-width:0;
  }
  body.products .mobile_filter_toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    max-width:36px;
    max-height:36px;
    padding:0;
    margin:0;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:50%;
    background:#2f2f2f;
    color:#ffffff;
    font-size:18px;
    line-height:1;
    cursor:pointer;
    box-sizing:border-box;
    position:relative;
  }
  body.mobile-header-condensed.products .mobile_filter_toggle {
    flex-basis:28px;
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    max-width:28px;
    max-height:28px;
  }
  body.products .mobile_filter_toggle:focus,
  body.products .mobile_filter_toggle:active {
    background:transparent;
    outline:0;
    box-shadow:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.products .mobile_filter_toggle_icon {
    display:block;
    width:20px;
    height:20px;
    fill:none;
    stroke:#ffffff;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body.mobile-header-condensed.products .mobile_filter_toggle_icon {
    width:15px;
    height:15px;
  }
  body.products .mobile_filter_count_badge {
    position:absolute;
    right:-4px;
    top:-4px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:16px;
    height:16px;
    padding:0 4px;
    border:1px solid #ffffff;
    border-radius:999px;
    background:#e3262e;
    color:#ffffff;
    font-size:10px;
    font-weight:700;
    line-height:1;
    box-sizing:border-box;
    pointer-events:none;
  }
  body.mobile-header-condensed.products .mobile_filter_count_badge {
    right:-5px;
    top:-5px;
    min-width:15px;
    height:15px;
    padding:0 3px;
    font-size:9px;
  }
  body.products .catalog_mobile_filters {
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index:10020;
    background:#ffffff;
  }
  body.products .catalog_mobile_filters.is_visible {
    display:block;
  }
  body.products .catalog_mobile_filters,
  body.products .catalog_mobile_filters * {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-touch-callout:none;
  }
  body.products .catalog_mobile_filters_panel {
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    background:#ffffff;
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters_header {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    padding:12px 4px 12px 14px;
    border-bottom:1px solid #e6e6e6;
    background:#ffffff;
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters_header h2 {
    margin:0;
    color:#222222;
    font-size:20px;
    line-height:1.2;
    font-weight:700;
  }
  body.products .catalog_mobile_filters_close {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:34px;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#e3262e;
    font-size:34px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters .catalog_filters_form_mobile {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:4px 14px 72px 14px;
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters .catalog_filter_group_toggle {
    min-height:52px;
    padding:14px 0;
    font-size:16px;
  }
  body.products .catalog_mobile_filters .catalog_filter_group_body {
    padding-bottom:16px;
  }
  body.products .catalog_mobile_filters .catalog_filter_check,
  body.products .catalog_mobile_filters .catalog_filter_check span,
  body.products .catalog_mobile_filters .catalog_filter_check input,
  body.products .catalog_mobile_filters .catalog_filter_check:hover,
  body.products .catalog_mobile_filters .catalog_filter_check:focus,
  body.products .catalog_mobile_filters .catalog_filter_check:active,
  body.products .catalog_mobile_filters .catalog_filter_check:focus-within {
    background:transparent;
    background-color:transparent;
    outline:0;
    box-shadow:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.products .catalog_mobile_filters .catalog_filter_check input,
  body.products .catalog_mobile_filters .catalog_filter_check input:checked,
  body.products .catalog_mobile_filters .catalog_filter_check input:focus,
  body.products .catalog_mobile_filters .catalog_filter_check input:active,
  body.products .catalog_mobile_filters .catalog_filter_text,
  body.products .catalog_mobile_filters .catalog_filter_text:focus,
  body.products .catalog_mobile_filters .catalog_filter_text:active,
  body.products .catalog_mobile_filters .catalog_filter_range input,
  body.products .catalog_mobile_filters .catalog_filter_range input:focus,
  body.products .catalog_mobile_filters .catalog_filter_range input:active {
    background:transparent;
    background-color:transparent;
    outline:0;
    box-shadow:none;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  }
  body.products .catalog_mobile_filters_footer {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    display:none;
    grid-template-columns:1fr;
    justify-items:center;
    gap:8px;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom)) 12px;
    border-top:1px solid #e6e6e6;
    background:#ffffff;
    box-shadow:0 -6px 14px rgba(0,0,0,0.08);
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters_footer.is_visible {
    display:grid;
  }
  body.products .catalog_mobile_filters_footer.has_active_filters {
    grid-template-columns:0.88fr 1.12fr;
    justify-items:stretch;
  }
  body.products .catalog_mobile_filters_footer.has_active_filters .catalog_mobile_filters_clear,
  body.products .catalog_mobile_filters_footer.has_active_filters .catalog_mobile_filters_apply {
    max-width:none;
  }
  body.products .catalog_mobile_filters_clear,
  body.products .catalog_mobile_filters_apply {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    width:100%;
    max-width:230px;
    padding:0 10px;
    border-radius:9px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    box-sizing:border-box;
  }
  body.products .catalog_mobile_filters_clear {
    border:1px solid #d5d5d5;
    background:#f4f4f4;
    color:#333333;
  }
  body.products .catalog_mobile_filters_apply {
    border:0;
    background:#e3262e;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(227,38,46,0.20);
  }
  body.products .catalog_mobile_filters_count {
    margin-left:5px;
  }
}

.catalog_filter_check input[type="checkbox"],
.catalog_filter_check input[type="radio"] {
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin:0;
  cursor:pointer;
  accent-color:#e3262e;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.catalog_filter_check input[type="checkbox"]:focus,
.catalog_filter_check input[type="checkbox"]:active,
.catalog_filter_check input[type="radio"]:focus,
.catalog_filter_check input[type="radio"]:active {
  outline:0;
}
.catalog_filter_check.is_disabled {
  color:#9b9b9b;
  cursor:not-allowed;
  opacity:0.62;
}
.catalog_filter_check.is_disabled input {
  cursor:not-allowed;
}

/* === Product list viewport and listing controls === */
.ListView {
  width:1560px;
  max-width:1560px;
  margin-top:5px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.ListView .viewport {
  margin-left:2px;
  margin-right:2px;
  position:relative;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
#products-results {
  scroll-margin-top:calc(var(--sam-header-space, var(--mobile-header-space, 0px)) + 12px);
}
@media (min-width:901px) {
  #products-results {
    scroll-margin-top:var(--products-sidebar-sticky-top);
  }
}
.ListView .PaginatorComponent {
  padding:5px;
}
.ListView .PaginatorTopComponent {
  display: none;
  border:0px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.ListView .PaginatorTopComponent .next_page {
  margin-left:10px;
}
.ListView .PaginatorBottomComponent {
  background-image:;
  background-color:#;
  border:0px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.category_heading {
  margin:0px 0px 15px 0px;
  padding:5px 10px 10px 10px;
  color:#222222;
  font-size:22px;
  font-weight:700;
  line-height:1.5;
}
.category_intro {
  margin:14px 0 24px 2px;
  padding:0;
  color:#333333;
  font-size:14px;
  line-height:1.5;
  max-width:1548px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.category_intro .category_intro_content {
  border-bottom:1px solid #d8d8d8;
  position:relative;
  overflow:hidden;
  padding:10px 10px 10px 10px;
}
.category_intro.collapsed .category_intro_content {
  max-height:200px;
}
.category_intro.collapsed .category_intro_content:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:42px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #ffffff);
}
.category_intro.expanded .category_intro_content {
  max-height:none;
}
.category_intro H1,
.category_intro H2,
.category_intro H3 {
  margin:0 0 12px 0;
  padding:0;
  color:#222222;
  font-size:18px;
  line-height:1.5;
}
.category_intro P {
  margin:0 0 12px 0;
}
.category_intro .category_intro_toggle {
  display:block;
  margin:10px auto 0 auto;
  color:#2b78a0;
  font-size:16px;
  font-weight:700;
  text-align:center;
  text-decoration:none;
  text-transform:lowercase;
  cursor:pointer;
}

/* === Product cards and product-list item visuals === */
.ProductItem {
  min-height:450px;
  display:inline-block;
  position:relative;
  vertical-align:top;
  margin-left:5px;
  margin-right:5px;
  text-decoration:none;
  border-bottom:1px solid #ffffff00;
}
.ProductItem:hover {
  border-bottom:1px solid #bbbbbb;
}
.ProductItem .product_card_link {
  display:block;
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.ProductItem .product_card_link:active,
.ProductItem .product_card_link:focus,
.ProductItem .product_card_link:hover {
  color:inherit;
  text-decoration:none;
}
.ProductItem .product_card_buy,
.ProductItem .product_card_buy:active,
.ProductItem .product_card_buy:focus {
  -webkit-tap-highlight-color:transparent;
  outline:0;
}
.ProductItemSeparator {
  display:block;
  border-bottom:1px solid #bbbbbb;
  height:1px;
  line-height:1px;
}
.ProductItem .Image {
  display:block;
  border:1px solid #bbbbbb;
  position:relative;
  background-color:#ffffff;
}
.ProductItem .Image IMG {
  display:block;
  z-index:1;
}
.ProductItem .Image .discount_ribbon {
  position:absolute;
  top:8px;
  left:8px;
  z-index:6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(255,255,255,0.28);
  border-radius:999px;
  background:#252525;
  color:#ffffff;
  font-size:16px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.01em;
  text-align:center;
  box-sizing:border-box;
  box-shadow:0 6px 14px rgba(0,0,0,0.22), inset 3px 0 0 #e3262e;
}
.ProductItem .Image .discount_ribbon .value {
  display:block;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  margin:0;
}
.ProductItem .product_name {
  position:relative;
}
.ProductItem .product_name .product_card_brand_badge {
  position:absolute;
  left:50%;
  top:8px;
  z-index:2;
  display:block;
  max-width:78%;
  padding:0;
  border:0;
  background:transparent;
  color:#202020;
  font-size:16px;
  font-weight:800;
  line-height:1.1;
  letter-spacing:0.08em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
  box-shadow:none;
  transform:translateX(-50%);
  pointer-events:none;
}
.ProductItem .product_name .product_card_name_text {
  display:block;
}


.ProductItem .Image .by-order-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
.ProductItem .Image .free-delivery-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
.ProductItem .Image .new-product-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
.ProductItem.outofstock .Image .coming-soon-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
.ProductItem .summary {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  text-align:right;
  margin:5px;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
.ProductItem .product_name {
  width:302px;
  max-width:302px;
  text-align:center;
  color:#000000;
  display:flex;
  align-items: center;
  justify-content: center;
  font-size:20px;
  min-height:110px;
}
.ProductItem .summary .sell_price {
  display:block;
  color:#000000;
  font-size:20px;
  font-weight:700;
  text-align:right;
  margin-right:13px;
}
.ProductItem .summary .regular_price {
  display:block;
  color:#aa0000;
  font-size:20px;
  text-decoration:line-through;
  font-weight:bold;
  text-align:right;
  margin-right:13px;
}
.ProductItem .summary .price_panel {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  min-height:52px;
  width:100%;
  box-sizing:border-box;
}
.ProductItem .summary .product_item_prices {
  display:flex;
  order:1;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  margin-left:0;
  margin-right:auto;
}
.ProductItem .summary .icon_cart {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:80px;
  height:30px;
  padding:0 16px;
  border-radius:10px;
  background:#e3262e;
  color:#ffffff;
  font-size:14px;
  font-weight:700;
  line-height:34px;
  text-decoration:none;
  text-transform:none;
  box-sizing:border-box;
  box-shadow:0 6px 14px rgba(227,38,46,0.18);
  cursor:pointer;
}
.ProductItem .summary .icon_cart:after {
  content:"\041a\0443\043f\0438";
  text-transform:none;
}
.ProductItem .summary .icon_cart:hover {
  background:#c91f27;
}
.ProductItem .summary .product_code {
  display:flex;
  order:2;
  flex:1 1 auto;
  align-items:flex-start;
  justify-content:flex-end;
  min-width:0;
  padding-left:5px;
  padding-right:5px;
  box-sizing:border-box;
}

.section.news .list {
  margin-bottom:4px;
  padding:10px;
  background-color:#3a3a3a;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.section.news .item {
  display:table;
  text-decoration:none;
}
.section.news .item .cell {
  display:table-cell;
  vertical-align:top;
  padding-bottom:10px;
}
.section.news .item .cell.details {
  padding-left:10px;
}
.section.news .item .cell.details .title {
  color:#d7d7d7;
  display:block;
  text-decoration:none;
  font-size:14px;
}
.section.news .item .cell.details .date {
  color:#ffffff;
  display:block;
  text-decoration:none;
}
.section.new-products .list {
  margin-bottom:4px;
  padding:10px;
  background-color:#3a3a3a;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.section.new-products .item {
  display:table;
  text-decoration:none;
}
.section.new-products .item .cell {
  display:table-cell;
  vertical-align:top;
  padding-bottom:10px;
}
.section.new-products .item .cell.details {
  padding-left:10px;
}
.section.new-products .item .cell.details .title {
  color:#d7d7d7;
  display:block;
  text-decoration:none;
  font-size:14px;
}
.section.new-products .item .cell.details .date {
  color:#ffffff;
  display:block;
  text-decoration:none;
}
.section.promo-products .list {
  margin-bottom:4px;
  padding:10px;
  background-color:#3a3a3a;
  border-bottom-left-radius:10px;
  border-bottom-right-radius:10px;
}
.section.promo-products .item {
  display:table;
  text-decoration:none;
}
.section.promo-products .item .cell {
  display:table-cell;
  vertical-align:top;
  padding-bottom:10px;
}
.section.promo-products .item .cell.details {
  padding-left:10px;
}
.section.promo-products .item .cell.details .title {
  color:#d7d7d7;
  display:block;
  text-decoration:none;
  font-size:14px;
}
.section.promo-products .item .cell.details .date {
  color:#ffffff;
  display:block;
  text-decoration:none;
}

@media (max-width:900px) {
  body.content.index .column.left {
    display:none;
  }

  body.content.index .main .full {
    padding-left:12px;
    padding-right:12px;
  }

  body.content.index .products_wrap,
body.content.index .products_wrap .column.DynamicPagesBean {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    padding: 0px 5px;
  }
}


/* Product-card/listing polish. */
body.products,
body.products .products_wrap,
body.products .column.products_list {
  background-color: #ffffff;
}
body.products .ProductItem {
  padding: 10px 10px 12px 10px;
  background-color: #ffffff;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  box-sizing: border-box;
  transition: box-shadow 160ms ease-out, background-color 160ms ease-out, border-color 160ms ease-out;
}

body.products .ProductItem:hover {
  background-color: #ffffff;
  border-color: #d3d3d3;
  box-shadow: 0 4px 12px rgba(0,0,0,0.14);
}

body.products .ProductItem .Image {
  border: 0;
  border-radius: 8px;
  overflow: visible;
}
@media (min-width:901px) {
  body.products .ProductItem .product_name {
    margin-top: 5px;
    margin-bottom: 5px;
    font-size:16px;
    font-weight:600;
  }
}

@media (max-width:900px) {
  body.products .ProductItem .product_name {
    font-size:16px;
    font-weight:600;
  }
}

body.products .ProductItem .summary {
  margin-top: 0;
}


/* Climate product-card highlights: compact spec chips below product name. */
body.products .ProductItem .product_card_highlights {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:7px;
  width:auto;
  max-width:none;
  margin:0 0 25px 0;
  padding:0;
  box-sizing:border-box;
}
body.products .ProductItem .product_card_highlight {
  display:flex;
  align-items:center;
  min-width:0;
  min-height:42px;
  padding:8px 8px;
  border:1px solid #dddddd;
  border-radius:10px;
  background:linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  color:#222222;
  box-sizing:border-box;
}
body.products .ProductItem .product_card_highlight_icon {
  display:inline-flex;
  flex:0 0 26px;
  width:26px;
  height:26px;
  align-items:center;
  justify-content:center;
  margin-right:10px;
  color:var(--chip-icon-color, #202020);
  font-family:"Font Awesome 5 Free";
  font-size:22px;
  font-weight:900;
  line-height:1;
}
body.products .ProductItem .product_card_highlight_snowflake .product_card_highlight_icon:before {
  content:"\f2dc";
}
body.products .ProductItem .product_card_highlight_fire .product_card_highlight_icon:before {
  content:"\f06d";
}
body.products .ProductItem .product_card_highlight_leaf .product_card_highlight_icon:before {
  content:"\f06c";
}
body.products .ProductItem .product_card_highlight_area .product_card_highlight_icon:before {
  content:"\f065";
}
body.products .ProductItem .product_card_highlight_text {
  display:block;
  min-width:0;
  text-align:left;
}
body.products .ProductItem .product_card_highlight_label {
  display:block;
  color:#777777;
  font-size:11px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.products .ProductItem .product_card_highlight_value {
  display:block;
  margin-top:2px;
  color:#151515;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.products a.ProductItem,
body.products a.ProductItem:visited,
body.products a.ProductItem:hover,
body.products a.ProductItem:active {
  color: inherit;
  text-decoration: none;
}

body.products a.ProductItem {
  cursor: pointer;
}


/* === Products listing page: subcategories and list column === */
body.products .column.products_list {
  width:1560px;
  max-width:1560px;
  vertical-align:top;
  box-sizing:border-box;
  -moz-box-sizing:border-box;
}
body.products .column.products_list .subcategories {
  display:block;
  margin-left:-7px;
  margin-right:-7px;
  margin-top:15px;
  margin-bottom:5px;
  text-align:center;
}
body.products .column.products_list .subcategories A {
  display:inline-block;
  margin-left:7px;
  margin-right:7px;
  margin-bottom:5px;
}
body.products .column.products_list .subcategories A IMG {
  display:block;
}

/* === Product details page: main layout, title, summary and price panel === */
body.details .column.product {
  width:1560px;
  max-width:1560px;
  box-sizing:border-box;
  vertical-align:top;
}
body.details .column.product .caption {
  text-transform:uppercase;
  font-size:16px;
}
body.details .column.product .caption.product {
  font-size:24px;
  background:transparent;
  color:#000000;
  text-align:center;
  text-transform:none;
  margin-top:5px;
}
body.details .column.product .column.details {
  max-width:495px;
  width:100%;
  margin:20px 0px 20px 20px;
}
body.details .column.product .column.details .product_code {
  display:block;
  font-size:14px;
  color:#000000;
  text-align:left;
  text-transform:uppercase;
  margin:0px 0px 0px 5px;
  flex:1 1 auto;
  min-width:0;
}
body.details .column.product .column.details .price_panel {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  column-gap:14px;
  row-gap:12px;
  text-align:right;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,0.12);
}
body.details .column.product .column.details .price_panel .add_to_cart {
  font-size:13px;
  color:#00000;
}
body.details .column.product .column.details .price_panel .detail_product_prices {
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  text-align:right;
}
body.details .column.product .column.details .price_panel .sell_price {
  display:block;
  font-size:22px;
  color:#000000;
  font-weight:bold;
  text-align:right;
  margin-right:13px;
}
body.details .column.product .column.details .price_panel .regular_price {
  display:block;
  font-size:22px;
  color:#aa0000;
  font-weight:bold;
  text-decoration:line-through;
  text-align:right;
  margin-right:13px;
}


body.details .column.product .column.details .price_panel .product_detail_buy_row {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:2px;
}
body.details .column.product .column.details .price_panel .product_detail_qty {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  color:#333333;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.02em;
}
body.details .column.product .column.details .price_panel .product_detail_qty_stepper {
  display:inline-grid;
  grid-template-columns:31px minmax(32px, auto) 31px;
  align-items:center;
  height:33px;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:999px;
  background:#ffffff;
  box-sizing:border-box;
  overflow:hidden;
}
body.details .column.product .column.details .price_panel .product_detail_qty_button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:31px;
  height:33px;
  padding:0;
  border:0;
  background:transparent;
  color:#222222;
  font-size:18px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
}
body.details .column.product .column.details .price_panel .product_detail_qty_button:focus {
  outline:0;
  background:transparent;
  color:#222222;
}
body.details .column.product .column.details .price_panel .product_detail_qty_button:active {
  background:#e3262e;
  color:#ffffff;
}
@media (hover:hover) {
  body.details .column.product .column.details .price_panel .product_detail_qty_button:hover {
    background:#e3262e;
    color:#ffffff;
  }
}
body.details .column.product .column.details .price_panel .product_detail_qty_input {
  min-width:32px;
  width:36px;
  height:33px;
  padding:0 4px;
  border:0;
  background:#ffffff;
  color:#222222;
  font-size:15px;
  line-height:1;
  font-weight:700;
  text-align:center;
  box-sizing:border-box;
  -moz-appearance:textfield;
}
body.details .column.product .column.details .price_panel .product_detail_qty_input:focus {
  outline:0;
  border:0;
  box-shadow:none;
}
body.details .column.product .column.details .price_panel .product_detail_qty_input::-webkit-outer-spin-button,
body.details .column.product .column.details .price_panel .product_detail_qty_input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}
body.details .column.product .column.details .price_panel .product_detail_buy_row .icon_cart {
  flex:0 0 auto;
}
body.details .column.product .column.details .product_detail_addons_panel {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:12px 0 18px 0;
  padding:0;
}
body.details .column.product .column.details .product_detail_addons_group {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-right:5px;
}
body.details .column.product .column.details .product_detail_addons_group h2 {
  margin:0 0 2px 0;
  color:#e3262e;
  font-size:15px;
  line-height:1.25;
  font-weight:600;
  text-transform:uppercase;
}
body.details .column.product .column.details .product_detail_addon {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:32px;
  padding:4px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#222222;
  font-size:14px;
  line-height:1.25;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
body.details .column.product .column.details .product_detail_addon:active {
  background:transparent;
}
body.details .column.product .column.details .product_detail_addon_checkbox {
  cursor:pointer;
}
body.details .column.product .column.details .product_detail_addon_checkbox input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  border:1px solid rgba(0,0,0,0.28);
  border-radius:3px;
  background:#ffffff;
  box-sizing:border-box;
  cursor:pointer;
}
body.details .column.product .column.details .product_detail_addon_checkbox input[type="checkbox"]:checked {
  background-color:#e3262e;
  border-color:#e3262e;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round' d='M3.3 8.3 6.6 11.4 12.8 4.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}
body.details .column.product .column.details .product_detail_addon_checkbox input[type="checkbox"]:focus {
  outline:0;
  box-shadow:none;
}
body.details .column.product .column.details .product_detail_addon_checkbox input[type="checkbox"]:active {
  box-shadow:none;
}
body.details .column.product .column.details .product_detail_addon_select {
  align-items:flex-start;
  flex-direction:column;
}
body.details .column.product .column.details .product_detail_addon_select select {
  width:100%;
  min-height:36px;
  padding-left:10px;
  padding-right:25px;
  border:1px solid rgba(0,0,0,0.16);
  border-radius:8px;
  background:#ffffff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23555' d='M1 0l4 4 4-4 1 1-5 5-5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 5px center;
  background-size:10px 6px;
  color:#222222;
  font-size:14px;
  font-weight:600;
  box-sizing:border-box;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}
body.details .column.product .column.details .product_detail_addon_select select:focus {
  outline:0;
  border-color:rgba(0,0,0,0.16);
  box-shadow:none;
}
body.details .column.product .column.details .product_detail_addon_select.product_detail_addon_required_missing select {
  border-color:#e3262e;
  box-shadow:0 0 0 1px rgba(227,38,46,0.22);
}
body.details .column.product .column.details .product_detail_required_star {
  color:#e3262e;
  font-weight:700;
}
body.details .column.product .column.details .product_detail_addon_select select option {
  font-weight:600;
}
body.details .column.product .column.details .product_detail_addon_name {
  flex:1 1 auto;
  min-width:0;
  text-align:left;
}
body.details .column.product .column.details .product_detail_addon_checkbox .product_detail_addon_name {
  font-weight:600;
}
body.details .column.product .column.details .product_detail_addon_price {
  flex:0 0 auto;
  color:#222222;
  font-weight:700;
  white-space:nowrap;
}

/* === Details/products quick-buy modal === */
body.details .details_buy_modal,
body.products .details_buy_modal {
  display:none;
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:100%;
  z-index:10000;
  align-items:center;
  justify-content:center;
  padding:14px;
  box-sizing:border-box;
}
body.details .details_buy_modal.is_visible,
body.products .details_buy_modal.is_visible {
  display:flex;
}
body.details .details_buy_modal_backdrop,
body.products .details_buy_modal_backdrop {
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.54);
}
body.details .details_buy_modal_card,
body.products .details_buy_modal_card {
  position:relative;
  width:550px;
  max-width:calc(100% - 28px);
  padding:24px 24px 22px 24px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 18px 42px rgba(0,0,0,0.18);
  text-align:center;
  box-sizing:border-box;
  text-shadow:none;
}
body.details .details_buy_modal_photo,
body.products .details_buy_modal_photo {
  display:flex;
  align-items:center;
  justify-content:center;
  width:172px;
  height:142px;
  margin:12px auto 10px auto;
  border-radius:14px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,0.08);
  overflow:hidden;
}
body.details .details_buy_modal_photo img,
body.products .details_buy_modal_photo img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  border:0;
  outline:0;
  box-shadow:none;
}
body.details .details_buy_modal h2,
body.products .details_buy_modal h2 {
  margin:0 0 20px 0;
  color:#222222;
  font-size:22px;
  line-height:1.18;
  font-weight:700;
  text-shadow:none;
}
body.details .details_buy_modal_product,
body.products .details_buy_modal_product {
  margin:0 auto 8px auto;
  color:#e3262e;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  text-shadow:none;
}
body.details .details_buy_modal_price,
body.products .details_buy_modal_price {
  margin:0 auto 12px auto;
  color:#222222;
  font-size:19px;
  line-height:1.2;
  font-weight:700;
  text-shadow:none;
}
body.details .details_buy_modal_price_line,
body.products .details_buy_modal_price_line {
  display:block;
}
body.details .details_buy_modal_price_line strong,
body.products .details_buy_modal_price_line strong {
  color:#e3262e;
  font-weight:800;
}
body.details .details_buy_modal_text,
body.products .details_buy_modal_text {
  margin:0 auto 20px auto;
  color:#666666;
  font-size:14px;
  line-height:1.45;
}
body.details .details_buy_modal_actions,
body.products .details_buy_modal_actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
body.details .details_buy_modal_cart,
body.details .details_buy_modal_continue,
body.products .details_buy_modal_cart,
body.products .details_buy_modal_continue {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  box-sizing:border-box;
  cursor:pointer;
}
body.details .details_buy_modal_cart,
body.products .details_buy_modal_cart {
  border:0;
  background:#e3262e;
  color:#ffffff;
  box-shadow:0 8px 18px rgba(227,38,46,0.22);
}
body.details .details_buy_modal_cart:hover,
body.products .details_buy_modal_cart:hover {
  background:#c91f27;
}
body.details .details_buy_modal_continue,
body.products .details_buy_modal_continue {
  border:0;
  background:#f4f4f4;
  color:#333333;
}
body.details .details_buy_modal_continue:hover,
body.products .details_buy_modal_continue:hover {
  background:#ebebeb;
}
@media (max-width:900px) {
  body.details .details_buy_modal,
  body.products .details_buy_modal {
    padding-left:7px;
    padding-right:7px;
  }
  body.details .details_buy_modal_card,
  body.products .details_buy_modal_card {
    max-width:calc(100% - 14px);
    padding:22px 16px 18px 16px;
  }
  body.details .details_buy_modal_actions,
  body.products .details_buy_modal_actions {
    grid-template-columns:1fr;
  }
}
body.details .column.product .column.details .attribute_features {
  display:table;
  width:100%;
  padding-top:10px;
  border-bottom:0;
}
body.details .column.product .column.details .attributes {
  display:table-cell;
  text-align:left;
  width:50%;
  vertical-align:top;
}
body.details .column.product .column.details .attributes .item {
  display:block;
  color: #002b45;
  font-size: 15px;
}
body.details .column.product .column.details .attributes .item .attribute_name {
  display:inline-block;
  font-weight:bold;
}
body.details .column.product .column.details .attributes .item .attribute_value {
  display:inline-block;
  margin-left:5px;
}
body.details .column.product .column.details .features {
  display:table-cell;
  text-align:left;
  width:50%;
  vertical-align:top;
}
body.details .column.product .column.details .features UL {
  display:inline-block;
  text-align:left;
  padding-top:0px;
  margin-top:0px;
}
body.details .column.product .column.details .features UL LI {
  color:#002b45;
  font-size:15px;
}
body.details .column.product .column.details .summary {
  padding:10px;
  display:block;
  font-size:14px;
}
body.details .column.product .description {
  min-height:50px;
  font-size:16px;
  padding:5px;
}

body.details .column.product .caption.product_detail_anchor {
  color:#e3262e;
  font-size:16px;
  font-weight:bold;
  border-bottom:1px solid #dddddd;
}

body.details .column.product .caption.related_products_caption {
  color:#e3262e;
  font-size:16px;
  font-weight:bold;
  border-bottom:1px solid #dddddd;
}


body.details .column.product .product_summary_info_caption {
  margin-top:18px;
}
body.details .column.product .product_summary_info {
  margin-bottom:12px;
}

/* === Product description / legacy editor content fixes === */
/* Keeps editor-set image width/height attributes from distorting Burnit/details images on mobile. */
body.details .column.product .description img {
  display:block;
  max-width:100%;
  height:auto;
  width:auto;
  object-fit:contain;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
@media (max-width: 900px) {
  body.details .column.product .description img {
    width:auto;
    max-width:100%;
    height:auto;
  }
}

/* === Product details media: main photo, thumbnails and related gallery tape === */
body.details .column.product .column.photos {
  width:100%;
  max-width:542px;
  min-width:0;
  margin-top:20px;
  box-sizing:border-box;
}
body.details .column.product .column.photos .photo.big {
  width:100%;
  aspect-ratio:1 / 1;
  border:1px solid #bbbbbb;
  border-radius:10px;
  position:relative;
  overflow:visible;
  background-color:#ffffff;
  box-sizing:border-box;
}
body.details .column.product .column.photos .photo.big .coming-soon-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
body.details .column.product .column.photos .photo.big .by-order-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
body.details .column.product .column.photos .photo.big .free-delivery-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
body.details .column.product .column.photos .photo.big .new-product-ribbon {
  position:absolute;
  left:0px;
  top:0px;
  z-index:5;
  display:block;
  margin-left:-7px;
  margin-top:-7px;
}
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:82px;
  max-width:28%;
  height:auto;
  border-radius:0;
}
body.details .column.product .column.photos .photo.big .product_detail_main_image_link IMG {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:10px;
}
body.details .column.product .photo.gallery {
  display:block;
  margin:10px 0px 10px 4px;
  width:100%;
  max-width:542px;
  box-sizing:border-box;
}
body.details .column.product .photo.gallery .item {
  display:inline-block;
  vertical-align:top;
  border:1px solid #bbbbbb;
  border-radius:10px;
  margin-right:2px;
  margin-left:0px;
  margin-bottom:4px;
  overflow:hidden;
  background-color:#ffffff;
}
body.details .column.product .photo.gallery .item IMG {
  display:block;
  border-radius:10px;
}
body.details .GalleryTape {
  border-top:0;
  border-bottom:1px solid #bbbbbb;
}
body.details .GalleryTape .slots {
  height:252px;
  max-height:252px;
}
body.details .GalleryTape .button.left {
  min-width:30px;
  max-width:30px;
  width:30px;
}
body.details .GalleryTape .button.right {
  min-width:30px;
  max-width:30px;
  width:30px;
}
body.details .GalleryTape .slots .slot {
  padding:0px;
  background-color:#ffffff;
  border:0px;
}
body.details .GalleryTape .slots .slot A {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  color:#111111;
  text-decoration:none;
  position:relative;
  box-sizing:border-box;
}
body.details .GalleryTape .slots .slot .slot_product_name {
  display:block;
  min-height:42px;
  margin:0 0 10px 0;
  color:#111111;
  font-family:Georgia, "Times New Roman", serif;
  font-size:17px;
  line-height:1.25;
  font-weight:normal;
  text-align:center;
  overflow:hidden;
  box-sizing:border-box;
}
body.details .GalleryTape .slots .slot IMG {
  display:block;
  margin-left:auto;
  margin-right:auto;
}
body.details .GalleryTape .slots .slot .slot_product_meta {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:3px;
  width:155px;
  max-width:100%;
  margin:5px auto 0 auto;
  padding:0 1px;
  background:transparent;
  color:#111111;
  text-align:left;
  box-sizing:border-box;
  line-height:1.1;
  overflow:hidden;
}
body.details .GalleryTape .slots .slot .slot_product_code {
  display:inline-block;
  min-width:0;
  flex:1 1 auto;
  color:#333333;
  font-size:10px;
  line-height:1.15;
  text-transform:uppercase;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.details .GalleryTape .slots .slot .slot_product_prices {
  display:flex;
  flex:0 0 72px;
  width:72px;
  margin-left:auto;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  text-align:right;
  white-space:nowrap;
}
body.details .GalleryTape .slots .slot .slot_regular_price {
  display:block;
  width:100%;
  color:#aa0000;
  font-size:12px;
  line-height:1.15;
  text-decoration:line-through;
  font-weight:bold;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}
body.details .GalleryTape .slots .slot .slot_sell_price {
  display:block;
  width:100%;
  color:#000000;
  font-size:12px;
  line-height:1.15;
  font-weight:bold;
  white-space:nowrap;
  text-align:right;
}

@media (min-width:901px) {
  body.details .GalleryTape .slots {
    height:252px;
    max-height:252px;
    white-space:nowrap;
  }

  body.details .GalleryTape .slots .slot {
    width:170px;
    max-width:170px;
    min-height:246px;
    vertical-align:top;
    overflow:hidden;
    box-sizing:border-box;
  }

  body.details .GalleryTape .slots .slot A {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    max-width:100%;
    color:#111111;
    text-decoration:none;
    white-space:normal;
    box-sizing:border-box;
  }

  body.details .GalleryTape .slots .slot .slot_product_name {
    width:100%;
    max-width:100%;
    height:48px;
    min-height:48px;
    max-height:48px;
    margin:0 0 8px 0;
    font-size:13px;
    line-height:1.18;
    text-align:center;
    white-space:normal;
    overflow:hidden;
    overflow-wrap:anywhere;
    box-sizing:border-box;
  }

  body.details .GalleryTape .slots .slot IMG {
    display:block;
    margin-left:auto;
    margin-right:auto;
  }
}
body.details .icon_cart {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  grid-column:2;
  justify-self:end;
  flex:0 0 auto;
  min-width:92px;
  height:34px;
  padding:0 12px;
  background:#e3262e;
  border-radius:10px;
  color:#ffffff;
  float:none;
  margin:0 13px 0 0;
  text-decoration:none;
  box-sizing:border-box;
}
body.details .icon_cart:before {
  content:"\f07a";
  display:inline-block;
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:14px;
  line-height:1;
}
body.details .icon_cart:after {
  content:"\041a\0443\043f\0438";
  display:inline-block;
  font-size:13px;
  line-height:1;
  font-weight:bold;
  text-transform:none;
}
body.details .product_mobile_buy_bar {
  display:none;
}
.checkout.customer .navigation .note {
  text-align:right;
  max-width:400px;
  float:right;
}
.PaginatorComponent .sort_fields .direction {
  font-size:18px;
  color:#6670fd;
  text-decoration:none;
  margin-left:10px;
  display:inline-block;
}
.PaginatorComponent A {
  text-decoration:none;
}
.PaginatorComponent .page_navigation .previous_page {
  margin-left:10px;
}

/* === 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));
    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;
  }
}

/* === Product image quality guards === */
body.products .ProductItem .Image {
  display:flex;
  justify-content:center;
  align-items:center;
  aspect-ratio:1 / 1;
  overflow:visible;
}
body.products .ProductItem .Image > IMG.lazy,
body.products .ProductItem .Image > IMG:not([class*='ribbon']) {
  width:auto;
  max-width:300px;
  max-width:min(300px, calc(100% - 2px));
  max-height:300px;
  max-height:min(300px, calc(100% - 2px));
  height:auto;
  margin:auto;
  image-rendering:auto;
  border-radius:8px;
}
@media (min-width: 901px) {
  body.products .column.products_list .subcategories A,
  body.products .column.products_list .subcategories A IMG {
    max-width:304px;
  }
}
body.details .column.product .column.photos .photo.big {
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:visible;
}
body.details .column.product .column.photos .photo.big > IMG:not([class*='ribbon']) {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:auto;
}

/* === Details gallery and popup visual layer === */
body.details .column.product .photo.gallery {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  max-width:100%;
  margin:12px 0 10px 0;
  padding:0;
  box-sizing:border-box;
}
body.details .column.product .photo.gallery .item {
  display:flex;
  align-items:center;
  justify-content:center;
  width:102px;
  height:102px;
  margin:0;
  padding:0;
  border:1px solid #bbbbbb;
  background:#ffffff;
  box-sizing:border-box;
}
body.details .column.product .photo.gallery .item A.product_detail_thumb_link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
body.details .column.product .photo.gallery .item.is_active {
  border-color:#e3262e;
}
body.details .column.product .photo.gallery .item IMG {
  display:block;
  width:auto;
  height:auto;
  max-width:100px;
  max-height:100px;
  object-fit:contain;
  margin:auto;
}
@media (max-width: 900px) {
  body.details .column.product .photo.gallery {
    justify-content:center;
    gap:8px;
  }
}

@media (max-width:900px) {
  .caption.category_path A {
    font-size:14px;
  }

  .TreeView .Node .Handle .Button {
    width:15px;
    height:15px;
    min-width:15px;
    min-height:15px;
    max-width:15px;
    max-height:15px;
    box-sizing:border-box;
  }

  body.details .GalleryTape .viewport {
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    touch-action:pan-x pan-y;
    scrollbar-width:thin;
    height:auto;
    max-height:none;
  }

  body.details .GalleryTape {
    display:block;
    width:100%;
    max-width:100%;
    border-top:0;
    border-bottom:1px solid #bbbbbb;
    box-sizing:border-box;
  }

  body.details .GalleryTape .button.left,
body.details .GalleryTape .button.right {
    display:none;
  }

  body.details .GalleryTape .slots {
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:10px;
    width:max-content;
    min-width:100%;
    max-width:none;
    overflow:visible;
    height:auto;
    max-height:none;
    white-space:normal;
  }

  body.details .GalleryTape .slots .slot {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    flex:0 0 min(58vw, 220px);
    width:min(58vw, 220px);
    max-width:220px;
    height:auto;
    max-height:none;
    overflow:visible;
    scroll-snap-align:start;
  }

  body.details .GalleryTape .slots .slot A {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    max-width:100%;
    white-space:normal;
    box-sizing:border-box;
  }

  body.details .GalleryTape .slots .slot .slot_product_name {
    width:100%;
    max-width:100%;
    height:50px;
    min-height:50px;
    max-height:50px;
    margin-bottom:10px;
    font-size:14px;
    line-height:1.2;
    white-space:normal;
    overflow-wrap:anywhere;
    box-sizing:border-box;
  }
}

body.products .ProductItem .summary .price_panel {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-top:auto;
}

body.products .ProductItem .summary .product_item_prices {
  display:flex;
  order:1;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  margin-left:0;
  margin-right:auto;
  text-align:left;
}

body.products .ProductItem .summary .product_item_prices .regular_price,
body.products .ProductItem .summary .product_item_prices .sell_price {
  width:auto;
  max-width:100%;
  text-align:left;
}



@media screen and (max-width: 900px) {
  body.products .ProductItem .product_card_highlights {
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:5px;
    width:auto;
    max-width:none;
    margin:0 0 10px 0;
    padding:0;
  }
  body.products .ProductItem .product_card_highlight {
    min-height:36px;
    padding:5px 6px;
    border-radius:9px;
  }
  body.products .ProductItem .product_card_highlight_icon {
    flex-basis:20px;
    width:20px;
    height:20px;
    margin-right:10px;
    font-size:20px;
  }
  body.products .ProductItem .product_card_highlight_label {
    font-size:12px;
  }
  body.products .ProductItem .product_card_highlight_value {
    font-size:13px;
    font-weight:700;
  }
}

/* === Product characteristics table === */
.product_characteristics {
  margin: 15px 0 15px;
  padding: 0;
  max-width: 760px;
}
.product_characteristics TABLE {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: #ffffff;
  border: 1px solid #d8d8d8;
}
.product_characteristics TH,
.product_characteristics TD {
  width: 50%;
  box-sizing: border-box;
  padding: 9px 10px;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: normal;
}
.product_characteristics TH {
  color: #333333;
  font-weight: bold;
  background: #f7f7f7;
  border-right: solid 1px #e6e6e6;
}
.product_characteristics TR:last-child TH,
.product_characteristics TR:last-child TD {
  border-bottom: 0;
}

@media (max-width: 640px) {
  .product_characteristics TABLE,
  .product_characteristics TBODY,
  .product_characteristics TR,
  .product_characteristics TH,
  .product_characteristics TD {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .product_characteristics TABLE {
    table-layout: auto;
  }

  .product_characteristics TR {
    border-bottom: 1px solid #e6e6e6;
  }

  .product_characteristics TH,
  .product_characteristics TD {
    min-height: 36px;
    padding: 8px 10px;
    text-align: left;
    line-height: 1.35;
  }

  .product_characteristics TH {
    border-bottom: 0;
  }

  .product_characteristics TD {
    border-bottom: 0;
  }

  .product_characteristics TR:last-child {
    border-bottom: 0;
  }
}

/* Keep desktop product-category dropdowns above product-card badges. */
@media (min-width:901px) {
  body.products .header {
    z-index:10000;
  }
  body.products .header .full .menu_wrap {
    z-index:10001;
  }
  body.products .MenuBarComponent[name='CategoriesMenu'] .SubmenuRenderer {
    z-index:10002;
  }
  body.products .ProductItem {
    isolation:isolate;
    z-index:0;
  }
}
