/* Road Biker global header polish: styles existing Journal Arabic header/menu only. */
:root {
  --rb-page-bg: #E8E8E8;
  --rb-surface-bg: #fff;
  --rb-text: #222;
  --rb-muted-text: #666;
  --rb-border: #d7d7d7;
  --rb-home-accent: #F3BF3C;
  --rb-home-accent-hover: #d8a52b;
  --rb-home-accent-ink: #111;
}

html,
body,
.site-wrapper {
  background: var(--rb-page-bg) !important;
}

html:not(.route-common-home):not(.popup) #top,
html:not(.route-common-home):not(.popup) .site-wrapper,
html:not(.route-common-home):not(.popup) .grid-row:not(.grid-row-4):not(.grid-row-5),
html:not(.route-common-home):not(.popup) .grid-row:not(.grid-row-4):not(.grid-row-5) > .row-bg,
html:not(.route-common-home):not(.popup) .grid-row:not(.grid-row-4):not(.grid-row-5) > .grid-cols-wrapper > .grid-cols,
html:not(.route-common-home):not(.popup) .site-wrapper > .page-title,
html:not(.route-common-home):not(.popup) .breadcrumbs {
  background: var(--rb-page-bg) !important;
}

html:not(.route-common-home):not(.popup) #content,
html:not(.route-common-home):not(.popup) .page-title,
html:not(.route-common-home):not(.popup) .page-title *,
html:not(.route-common-home):not(.popup) .breadcrumbs,
html:not(.route-common-home):not(.popup) .breadcrumbs *,
html:not(.route-common-home):not(.popup) .main-products,
html:not(.route-common-home):not(.popup) .main-products *,
html:not(.route-common-home):not(.popup) .product-info,
html:not(.route-common-home):not(.popup) .product-info *,
html:not(.route-common-home):not(.popup) .module-filter,
html:not(.route-common-home):not(.popup) .module-filter *,
html:not(.route-common-home):not(.popup) .module-categories,
html:not(.route-common-home):not(.popup) .module-categories *,
html:not(.route-common-home):not(.popup) .module-side_products,
html:not(.route-common-home):not(.popup) .module-side_products *,
html:not(.route-common-home):not(.popup) .module-products,
html:not(.route-common-home):not(.popup) .module-products * {
  color: var(--rb-text) !important;
}

html:not(.route-common-home):not(.popup) .product-thumb,
html:not(.route-common-home):not(.popup) .product-thumb .caption,
html:not(.route-common-home):not(.popup) .product-thumb .image,
html:not(.route-common-home):not(.popup) .product-thumb .product-img,
html:not(.route-common-home):not(.popup) .product-thumb .product-img > div,
html:not(.route-common-home):not(.popup) .module-filter,
html:not(.route-common-home):not(.popup) .module-filter .module-body,
html:not(.route-common-home):not(.popup) .module-filter .panel,
html:not(.route-common-home):not(.popup) .module-filter .panel-body,
html:not(.route-common-home):not(.popup) .module-filter .panel-collapse,
html:not(.route-common-home):not(.popup) .module-categories,
html:not(.route-common-home):not(.popup) .module-categories .module-body,
html:not(.route-common-home):not(.popup) .category-thumb,
html:not(.route-common-home):not(.popup) .product-info .product-left-wrapper,
html:not(.route-common-home):not(.popup) .product-info .product-right-wrapper,
html:not(.route-common-home):not(.popup) .product-info .product-left,
html:not(.route-common-home):not(.popup) .product-info .product-right,
html:not(.route-common-home):not(.popup) .product-info .product-image,
html:not(.route-common-home):not(.popup) .product-info .product-details,
html:not(.route-common-home):not(.popup) .product-info .product-options,
html:not(.route-common-home):not(.popup) .product-info .product-blocks > *,
html:not(.route-common-home):not(.popup) .module-side_products,
html:not(.route-common-home):not(.popup) .module-side_products .module-body,
html:not(.route-common-home):not(.popup) .module-products,
html:not(.route-common-home):not(.popup) .module-products .module-body {
  background: var(--rb-surface-bg) !important;
}

html:not(.route-common-home):not(.popup) .product-thumb,
html:not(.route-common-home):not(.popup) .module-filter,
html:not(.route-common-home):not(.popup) .category-thumb,
html:not(.route-common-home):not(.popup) .product-info .product-left-wrapper,
html:not(.route-common-home):not(.popup) .product-info .product-right-wrapper,
html:not(.route-common-home):not(.popup) .module-side_products,
html:not(.route-common-home):not(.popup) .module-products {
  border-color: var(--rb-border) !important;
}

html:not(.route-common-home):not(.popup) .price-old,
html:not(.route-common-home):not(.popup) .price-tax,
html:not(.route-common-home):not(.popup) .description,
html:not(.route-common-home):not(.popup) .product-stats,
html:not(.route-common-home):not(.popup) .product-stats *,
html:not(.route-common-home):not(.popup) .module-filter .count-badge {
  color: var(--rb-muted-text) !important;
}

html:not(.route-common-home):not(.popup) .product-label,
html:not(.route-common-home):not(.popup) .module-filter .module-title,
html:not(.route-common-home):not(.popup) .module-filter .filter-title {
  color: inherit;
}

html:not(.route-common-home):not(.popup) .btn.btn-cart,
html:not(.route-common-home):not(.popup) .btn.btn-cart *,
html:not(.route-common-home):not(.popup) .btn.btn-extra,
html:not(.route-common-home):not(.popup) .btn.btn-extra * {
  color: #111 !important;
}

html:not(.route-common-home):not(.popup) .btn.btn-cart,
html:not(.route-common-home):not(.popup) .btn.btn-extra {
  background: #f6c334 !important;
  border-color: #d5a500 !important;
}

html:not(.route-common-home):not(.popup) .products-filter,
html:not(.route-common-home):not(.popup) .grid-list,
html:not(.route-common-home):not(.popup) .grid-list .compare-btn,
html:not(.route-common-home):not(.popup) .grid-list .compare-btn .links-text,
html:not(.route-common-home):not(.popup) .grid-list .compare-btn::before,
html:not(.route-common-home):not(.popup) .grid-list .view-btn,
html:not(.route-common-home):not(.popup) .grid-list .view-btn::before,
html:not(.route-common-home):not(.popup) .products-filter .input-group-addon,
html:not(.route-common-home):not(.popup) .products-filter label {
  color: var(--rb-text) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module,
html.route-product-product:not(.popup) .rb-buy-module {
  background: var(--rb-surface-bg) !important;
  color: var(--rb-text) !important;
  border: 1px solid var(--rb-border) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .12) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .product-price-group,
html.route-product-product:not(.popup) .rb-buy-module .product-price-group {
  background: #f6f6f6 !important;
  border-color: var(--rb-border) !important;
  color: var(--rb-text) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .price-wrapper,
html.route-product-product:not(.popup) .rb-buy-module .price-wrapper {
  border-bottom-color: var(--rb-border) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .price-wrapper::before,
html.route-product-product:not(.popup) .rb-buy-module .price-wrapper::before,
html.route-product-product:not(.popup) #product .rb-buy-module .product-price-old,
html.route-product-product:not(.popup) #product .rb-buy-module .product-tax,
html.route-product-product:not(.popup) #product .rb-buy-module .product-points,
html.route-product-product:not(.popup) #product .rb-buy-module .discounts,
html.route-product-product:not(.popup) .rb-buy-module .product-price-old,
html.route-product-product:not(.popup) .rb-buy-module .product-tax,
html.route-product-product:not(.popup) .rb-buy-module .product-points,
html.route-product-product:not(.popup) .rb-buy-module .discounts,
html.route-product-product:not(.popup) #product .rb-buy-module .product-stats,
html.route-product-product:not(.popup) #product .rb-buy-module .product-stats li,
html.route-product-product:not(.popup) #product .rb-buy-module .product-stats b,
html.route-product-product:not(.popup) #product .rb-buy-module .product-stats span,
html.route-product-product:not(.popup) #product .rb-buy-module .product-stats a,
html.route-product-product:not(.popup) .rb-buy-module .product-stats,
html.route-product-product:not(.popup) .rb-buy-module .product-stats li,
html.route-product-product:not(.popup) .rb-buy-module .product-stats b,
html.route-product-product:not(.popup) .rb-buy-module .product-stats span,
html.route-product-product:not(.popup) .rb-buy-module .product-stats a {
  color: var(--rb-muted-text) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .product-price,
html.route-product-product:not(.popup) #product .rb-buy-module .product-price-new,
html.route-product-product:not(.popup) .rb-buy-module .product-price,
html.route-product-product:not(.popup) .rb-buy-module .product-price-new,
html.route-product-product:not(.popup) #product .rb-buy-module .cart-group > .control-label,
html.route-product-product:not(.popup) #product .rb-buy-module .stepper-group.cart-group > label.control-label,
html.route-product-product:not(.popup) #product .rb-buy-module .product-options,
html.route-product-product:not(.popup) #product .rb-buy-module .form-group,
html.route-product-product:not(.popup) .rb-buy-module .cart-group > .control-label,
html.route-product-product:not(.popup) .rb-buy-module .product-options,
html.route-product-product:not(.popup) .rb-buy-module .form-group {
  color: var(--rb-text) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .form-control,
html.route-product-product:not(.popup) #product .rb-buy-module select,
html.route-product-product:not(.popup) #product .rb-buy-module textarea,
html.route-product-product:not(.popup) #product .rb-buy-module input[type="text"],
html.route-product-product:not(.popup) .rb-buy-module .form-control,
html.route-product-product:not(.popup) .rb-buy-module select,
html.route-product-product:not(.popup) #product .rb-buy-module .stepper,
html.route-product-product:not(.popup) .rb-buy-module .stepper,
html.route-product-product:not(.popup) #product .rb-buy-module .stepper button,
html.route-product-product:not(.popup) #product .rb-buy-module .stepper input#product-quantity,
html.route-product-product:not(.popup) #product .rb-buy-module .stepper input,
html.route-product-product:not(.popup) .rb-buy-module .stepper button,
html.route-product-product:not(.popup) .rb-buy-module .stepper input {
  background: var(--rb-surface-bg) !important;
  color: var(--rb-text) !important;
  border-color: var(--rb-border) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .stepper button::before,
html.route-product-product:not(.popup) .rb-buy-module .stepper button::before {
  color: var(--rb-text) !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .extra-group .btn.btn-extra,
html.route-product-product:not(.popup) .rb-buy-module .extra-group .btn.btn-extra {
  background: #f6c334 !important;
  border-color: #d5a500 !important;
  color: #111 !important;
}

html.route-product-product:not(.popup) #product .rb-buy-module .extra-group .btn.btn-extra *,
html.route-product-product:not(.popup) .rb-buy-module .extra-group .btn.btn-extra * {
  color: #111 !important;
}

html.route-product-product:not(.popup) .product_blocks.product_blocks-image .rb-product-actions .btn,
html.route-product-product:not(.popup) .product_blocks.product_blocks-image .rb-product-actions .btn .btn-text,
html.route-product-product:not(.popup) .product-blocks-popup-btn,
html.route-product-product:not(.popup) .product-blocks-popup-btn .btn-text {
  color: #444 !important;
}

html.desktop.route-product-product:not(.popup) body #content .product-info .product-blocks button.btn.product-blocks-popup-btn,
html.desktop.route-product-product:not(.popup) body #content .product-info .product-blocks button.btn.product-blocks-popup-btn *,
html.desktop.route-product-product:not(.popup) body #content .product-info .product-blocks button.btn.product-blocks-popup-btn::before,
html.route-product-product:not(.popup) body #content .product-info .product_blocks.product_blocks-image .product-blocks-popup-btn,
html.route-product-product:not(.popup) body #content .product-info .product_blocks.product_blocks-image .product-blocks-popup-btn *,
html.route-product-product:not(.popup) body #content .product-info .product_blocks.product_blocks-image .product-blocks-popup-btn::before {
  color: #444 !important;
}

html.route-product-product:not(.popup) .module-side_products .module-body,
html.route-product-product:not(.popup) .module-side_products .tab-content,
html.route-product-product:not(.popup) .module-side_products .module-item,
html.route-product-product:not(.popup) .module-side_products .side-products,
html.route-product-product:not(.popup) .module-side_products .auto-grid-items,
html.route-product-product:not(.popup) .module-side_products .product-layout,
html.route-product-product:not(.popup) .module-side_products .side-product,
html.route-product-product:not(.popup) .module-side_products .side-product .caption,
html.route-product-product:not(.popup) .module-side_products .side-product .image {
  background: var(--rb-surface-bg) !important;
  color: var(--rb-text) !important;
}

html.route-product-product:not(.popup) .module-side_products .side-product .name a,
html.route-product-product:not(.popup) .module-side_products .side-product .price,
html.route-product-product:not(.popup) .module-side_products .side-product .price *,
html.route-product-product:not(.popup) .module-side_products .btn-wishlist,
html.route-product-product:not(.popup) .module-side_products .btn-compare,
html.route-product-product:not(.popup) .module-side_products .btn-wishlist::before,
html.route-product-product:not(.popup) .module-side_products .btn-compare::before,
html.route-product-product:not(.popup) .module-side_products .btn-wishlist *,
html.route-product-product:not(.popup) .module-side_products .btn-compare * {
  color: var(--rb-text) !important;
}

@media (min-width: 992px) {
  .desktop-header-active .header-classic,
  .desktop-header-active .header-classic .header,
  .desktop-header-active .header-classic .mid-bar,
  .desktop-header-active .header-classic .mid-bar::before {
    background: #191b1b !important;
  }

  .desktop-header-active .header-classic .top-bar {
    display: none !important;
  }

  .desktop-header-active .header-classic .mid-bar {
    height: 92px !important;
    min-height: 92px !important;
    display: grid !important;
    grid-template-columns: minmax(360px, 1fr) 250px minmax(360px, 1fr) !important;
    column-gap: 34px !important;
    align-items: center !important;
    padding-left: max(72px, calc((100vw - 1480px) / 2)) !important;
    padding-right: max(72px, calc((100vw - 1480px) / 2)) !important;
    direction: ltr !important;
    box-sizing: border-box !important;
  }

  .desktop-header-active .header-classic .desktop-logo-wrapper {
    grid-column: 2 !important;
    width: 250px !important;
    min-width: 250px !important;
    position: static !important;
    transform: none !important;
    justify-content: center !important;
  }

  .desktop-header-active .header-classic #logo,
  .desktop-header-active .header-classic #logo a {
    width: 250px !important;
    max-width: 250px !important;
    justify-content: center !important;
  }

  .desktop-header-active .header-classic #logo img {
    max-width: 230px !important;
    max-height: 76px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  .desktop-header-active .header-classic .desktop-search-wrapper {
    grid-column: 3 !important;
    width: min(520px, 100%) !important;
    min-width: 320px !important;
    justify-self: end !important;
    justify-content: stretch !important;
    margin: 0 !important;
    direction: rtl !important;
  }

  .desktop-header-active .header-classic .full-search #search,
  .desktop-header-active .header-classic .full-search #search > .dropdown-menu,
  .desktop-header-active .header-classic .header-search {
    width: 100% !important;
    height: 42px !important;
  }

  .desktop-header-active .header-classic .header-search {
    display: flex !important;
    align-items: center !important;
    background: #f6f6f6 !important;
    border: 1px solid #d7d7d7 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .desktop-header-active .header-classic .header-search input {
    height: 40px !important;
    background: #f6f6f6 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 40px !important;
    padding: 0 16px !important;
    text-align: right !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
  }

  .desktop-header-active .header-classic .header-search input::placeholder {
    color: #777 !important;
    opacity: 1 !important;
  }

  .desktop-header-active .header-classic .header-search .search-button,
  .desktop-header-active .header-classic .header-search > button {
    width: 46px !important;
    min-width: 46px !important;
    height: 40px !important;
    background: #f6f6f6 !important;
    color: #9f9f9f !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    direction: rtl !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu {
    margin: 0 !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu > .top-menu,
  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu .j-menu {
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu .j-menu > li > a {
    height: 58px !important;
    min-width: 58px !important;
    padding: 0 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    border-inline-start: 1px solid rgba(255, 255, 255, .28) !important;
    text-decoration: none !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu .links-text {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    max-width: 68px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .desktop-header-active .header-classic .classic-cart-wrapper .top-menu.secondary-menu .count-badge {
    top: 6px !important;
    inset-inline-end: 6px !important;
    background: #f60808 !important;
    color: #fff !important;
  }

  .desktop-header-active .header-classic .desktop-cart-wrapper #cart > a {
    height: 44px !important;
    min-height: 44px !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 24px !important;
    color: #fff !important;
    padding: 0 14px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .desktop-header-active .header-classic .desktop-cart-wrapper #cart > a > em {
    width: 34px !important;
    min-width: 34px !important;
    color: #fff !important;
  }

  .desktop-header-active .header-classic #cart-total {
    padding: 0 6px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    max-width: 200px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .desktop-header-active .header-classic #cart-total .cart-title {
    display: none !important;
  }

  .desktop-header-active .header-classic #cart-items {
    background: #f60808 !important;
    color: #fff !important;
  }

  .desktop-main-menu-wrapper.menu-bar,
  .desktop-main-menu-wrapper.menu-bar::after {
    height: 52px !important;
    min-height: 52px !important;
    background: #f60808 !important;
  }

  .desktop-main-menu-wrapper.menu-bar {
    z-index: 100 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  .desktop-main-menu-wrapper.menu-bar > .main-menu-1,
  .desktop-main-menu-wrapper.menu-bar #main-menu,
  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu {
    height: 52px !important;
  }

  .desktop-main-menu-wrapper.menu-bar .main-menu-1 {
    justify-content: center !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu {
    justify-content: center !important;
    flex-wrap: nowrap !important;
    width: min(1480px, calc(100vw - 48px)) !important;
    margin: 0 auto !important;
    direction: rtl !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item {
    height: 52px !important;
    padding: 0 !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item > a {
    height: 52px !important;
    padding: 0 18px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 52px !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item > a > .links-text {
    color: inherit !important;
    max-width: 190px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item:hover > a,
  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.open > a,
  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.active > a,
  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.panel-active > a {
    background: #c70000 !important;
    color: #fff !important;
  }

  .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item > a::after {
    border-left-color: currentColor !important;
    opacity: .9 !important;
  }

  header .main-menu .mega-menu > .j-dropdown {
    padding-top: 0 !important;
  }

  header .main-menu .mega-menu .mega-menu-content {
    width: min(1280px, calc(100vw - 180px)) !important;
    margin: 0 auto !important;
    padding: 30px 34px !important;
    background: #fff !important;
    color: #333 !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .18) !important;
    direction: rtl !important;
  }

  header .main-menu .mega-menu .mega-menu-content.rb-roadbiker-mega {
    min-height: 360px !important;
    padding: 28px 34px 30px !important;
    background: #fff !important;
    color: #333 !important;
    overflow: visible !important;
  }

  .rb-roadbiker-mega .rb-mega-heading {
    display: none !important;
  }

  .rb-roadbiker-mega .rb-mega-columns {
    display: grid !important;
    grid-template-columns: .9fr 1fr 1.1fr 1.1fr !important;
    gap: 0 !important;
    min-height: 300px !important;
    direction: rtl !important;
  }

  .rb-roadbiker-mega .rb-mega-col {
    min-width: 0 !important;
    padding: 0 26px !important;
    border-left: 1px solid #e8e8e8 !important;
  }

  .rb-roadbiker-mega .rb-mega-col:first-child {
    padding-right: 0 !important;
  }

  .rb-roadbiker-mega .rb-mega-col:last-child {
    border-left: 0 !important;
    padding-left: 0 !important;
  }

  .rb-roadbiker-mega .rb-mega-title {
    display: block !important;
    margin: 0 0 18px !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }

  .rb-roadbiker-mega .rb-mega-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 11px !important;
  }

  .rb-roadbiker-mega .rb-mega-list li,
  .rb-roadbiker-mega .rb-mega-list a {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .rb-roadbiker-mega .rb-mega-list a {
    display: grid !important;
    grid-template-columns: 31px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    min-height: 31px !important;
    direction: rtl !important;
  }

  .rb-roadbiker-mega .rb-mega-list a:hover,
  .rb-roadbiker-mega .rb-mega-brand-card:hover {
    color: #f60808 !important;
    text-decoration: none !important;
  }

  .rb-roadbiker-mega .rb-mega-icon {
    width: 31px !important;
    height: 31px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .rb-roadbiker-mega .rb-mega-icon img {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  .rb-roadbiker-mega .rb-mega-dot {
    width: 22px !important;
    height: 22px !important;
    display: inline-block !important;
    border: 2px solid #f60808 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 7px #222 !important;
  }

  .rb-roadbiker-mega .rb-mega-brand-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 72px) !important;
    gap: 14px 18px !important;
    justify-content: center !important;
  }

  .rb-roadbiker-mega .rb-mega-brand-card {
    width: 72px !important;
    height: 66px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 3px !important;
    padding: 6px !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #333 !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .rb-roadbiker-mega .rb-mega-brand-card img {
    width: 50px !important;
    height: 34px !important;
    max-width: 50px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  .rb-roadbiker-mega .rb-mega-brand-card span {
    max-width: 58px !important;
    color: inherit !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-grid .auto-grid-items {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
    gap: 20px 18px !important;
    overflow: visible !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-layout,
  header .main-menu .mega-menu .mega-menu-content .category-thumb {
    min-width: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    text-align: center !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .image {
    margin: 0 auto 10px !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a {
    width: 74px !important;
    height: 74px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .image img {
    width: 66px !important;
    height: 66px !important;
    max-width: 66px !important;
    max-height: 66px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .caption,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .name {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .name a {
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
  }

  header .main-menu .mega-menu .mega-menu-content .category-thumb .product-count,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .description {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .mobile-header,
  .mobile-header .mobile-top-bar,
  .mobile-header .mobile-bar {
    background: #191b1b !important;
  }

  .mobile-header .mobile-bar {
    border-bottom: 4px solid #f60808 !important;
  }

  .mobile-header .header-search {
    background: #f6f6f6 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
  }

  .mobile-header .header-search input {
    background: #f6f6f6 !important;
    color: #333 !important;
    text-align: right !important;
    letter-spacing: 0 !important;
  }
}

html.route-common-home body,
html.route-common-home .site-wrapper {
  background: var(--rb-page-bg) !important;
}

html.route-common-home .grid-row-top-1 > .grid-cols-wrapper > .grid-cols,
html.route-common-home .grid-row-top-1 .grid-items,
html.route-common-home .grid-row-top-2 > .grid-cols-wrapper > .grid-cols,
html.route-common-home .grid-row-top-2 .grid-items {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html.route-common-home .grid-row-top-1,
html.route-common-home .grid-row-top-1 > .row-bg,
html.route-common-home .grid-row-top-1 > .grid-cols-wrapper > .grid-cols {
  background: #070808 !important;
}

@media (min-width: 992px) {
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 {
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    overflow: hidden !important;
    background: #151818 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 > .grid-cols-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 > .grid-cols-wrapper > .grid-cols,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-col-top-1-1,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-items,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-module-top-1-1-1 {
    width: 100% !important;
    max-width: none !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-module-top-1-1-1 {
    left: calc(50% - 50vw) !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;  /* filter moved below the hero */
    width: auto !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .swiper-slide {
    background: #050505 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content::before,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image::before,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content::after,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image::after {
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #050505 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slider-wrapper,
  /* .module-item (the slide) deliberately excluded: forcing width:100%
     !important overrode Swiper's inline per-slide width, which pinned the
     hero to one slide per view regardless of slidesPerView. */
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .swiper-container,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .swiper-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image {
    width: 100% !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Custom paint layer disabled: the real slide image is visible again, so
     Swiper's own two-up rendering shows through (slidesPerView: 2). */
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image img {
    width: 100% !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    background: transparent !important;
    opacity: 1 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .slide-content-image .rb-hero-slide-paint {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    opacity: 1 !important;
    z-index: 4 !important;
    pointer-events: none !important;
    background: transparent !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .swiper-buttons,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .swiper-pagination-wrapper {
    z-index: 8 !important;
  }

  /* :not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) — this hide rule targets whatever generic row
     sits at index top-2; the imported Journal3 HOME modules must stay visible. */
  html.route-common-home.rb-hero-enhanced .grid-row-top-2:not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) {
    display: none !important;
  }
}

@media (min-width: 1860px) {
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] {
    right: 0 !important; /* reels moved to the Collection List row */
  }
}

html.route-common-home .module-marquee-981 {
  height: 53px !important;
  min-height: 53px !important;
  background: #333c3d !important;
  overflow: hidden !important;
}

html.route-common-home.rb-home-enhanced .grid-row-top-3:not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) {
  display: none !important;
}

/* --- RB_ILM_HOME_MODULES_START (2026-07-26) ------------------------------
   The homepage now shows the imported Journal3 modules HOME Collection List
   (1217) and HOME New Arrivals (1221) in place of the enhancer's own
   best-sellers + promo banner block, so that block must not render too. */
html.route-common-home .rb-champion-lower-home .rb-home-banner-row {
  display: none !important;
}
/* --- RB_ILM_HOME_MODULES_END --- */

html.route-common-home.rb-home-enhanced #top .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3):not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) > .row-bg,
html.route-common-home.rb-home-enhanced #top .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3):not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) > .grid-cols-wrapper > .grid-cols {
  background: var(--rb-page-bg) !important;
}

@media (min-width: 992px) {
  html.route-common-home.rb-home-enhanced #top .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3):not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) > .grid-cols-wrapper {
    width: min(1280px, calc(100vw - 48px)) !important;
    max-width: min(1280px, calc(100vw - 48px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.route-common-home.rb-home-enhanced #top .grid-row:not(.grid-row-top-1):not(.grid-row-top-2):not(.grid-row-top-3):not(.rb-imported-ilm-home):not(:has(.ilm-coll-module)):not(:has(.rb-new-arrivals)) > .grid-cols-wrapper > .grid-cols {
    width: 100% !important;
    max-width: 100% !important;
  }

  html.route-common-home.rb-home-enhanced #top .module-banners_grid {
    background: #fff !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-home-enhanced #top .module-banners_grid .module-item,
  html.route-common-home.rb-home-enhanced #top .module-banners_grid .slide-content-image,
  html.route-common-home.rb-home-enhanced #top .module-banners_grid .slide-content-image a {
    border-radius: 0 !important;
  }

  html.route-common-home.rb-home-enhanced #top .module-banners_grid img {
    display: block !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  html.route-common-home.rb-home-enhanced #top .module-products {
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

.rb-champion-home-panel {
  width: min(1280px, calc(100vw - 48px));
  margin: 36px auto 30px;
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  direction: ltr;
  box-sizing: border-box;
}

.rb-quick-search-panel {
  display: none;
}

@media (min-width: 992px) {
  .rb-quick-search-panel {
    width: 300px;
    height: 398px;
    position: absolute;
    top: 0;
    left: max(24px, calc(50vw - 640px));
    z-index: 9;
    display: grid;
    grid-template-rows: 45px repeat(4, 58px) 50px;
    gap: 11px;
    padding: 19px 25px 18px;
    background: #191b1b;
    color: #fff;
    direction: rtl;
    overflow: visible;
    box-sizing: border-box;
  }

  .rb-quick-search-panel::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 100vw;
    background: #070808;
    z-index: -1;
  }

  .rb-quick-search-panel h2 {
    margin: 0;
    color: #fff;
    font-size: 21px;
    font-weight: 900;
    line-height: 45px;
    text-align: center;
    letter-spacing: 0;
  }

  .rb-quick-field {
    position: relative;
    min-width: 0;
    z-index: 1;
  }

  .rb-quick-field.is-open {
    z-index: 40;
  }

  .rb-quick-toggle {
    width: 100%;
    height: 49px;
    padding: 0 16px 0 44px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: #f6f6f6;
    border: 0;
    border-radius: 4px;
    color: #444;
    font-size: 14px;
    font-weight: 700;
    line-height: 49px;
    text-align: right;
    letter-spacing: 0;
    cursor: pointer;
    box-shadow: none;
    position: relative;
  }

  .rb-quick-toggle::after {
    content: "\f107";
    font-family: FontAwesome, sans-serif;
    width: 22px;
    height: 22px;
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -11px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f60808;
    border: 1px solid #f60808;
    border-radius: 50%;
    font-size: 12px;
    line-height: 1;
  }

  .rb-quick-toggle span {
    min-width: 0;
    max-width: 100%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .rb-quick-menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 51px;
    max-height: 190px;
    overflow: auto;
    background: #fff;
    border: 1px solid #e1e1e1;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .22);
    z-index: 30;
    box-sizing: border-box;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .rb-quick-menu.rb-quick-menu-floating {
    display: block !important;
    position: fixed !important;
    right: auto !important;
    bottom: auto !important;
    max-width: calc(100vw - 16px);
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 2147483000 !important;
  }

  .rb-quick-field[data-field="department"] .rb-quick-menu,
  .rb-quick-field[data-field="style"] .rb-quick-menu {
    top: auto;
    bottom: 51px;
  }

  .rb-quick-field.is-open .rb-quick-menu {
    display: block;
  }

  .rb-quick-option {
    width: 100%;
    min-height: 36px;
    padding: 8px 14px;
    display: block;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #ededed;
    color: #333;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: right;
    cursor: pointer;
  }

  .rb-quick-option:hover {
    background: #f60808;
    color: #fff;
  }

  .rb-quick-submit {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f60808;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    cursor: pointer;
  }

  .rb-quick-submit::before {
    content: "\f002";
    font-family: FontAwesome, sans-serif;
    font-size: 14px;
  }

  .rb-quick-submit:hover {
    background: #d90000;
  }
}

.rb-hero-reels-card {
  display: none;
}

@media (min-width: 1860px) {
  html.route-common-home.rb-hero-enhanced .rb-hero-reels-card {
    width: 250px;
    height: 398px;
    display: block;
    position: absolute;
    top: 0;
    left: max(24px, calc(50vw - 910px));
    z-index: 10;
    overflow: hidden;
    background: #fff;
    color: #222;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
    box-sizing: border-box;
  }

  .rb-hero-reels-title {
    height: 28px;
    margin: 0;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
    background: transparent;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
    pointer-events: none;
  }

  .rb-hero-reels-player {
    width: 100%;
    height: 398px;
    display: block;
    overflow: hidden;
    background: #050505;
    position: relative;
  }

  .rb-hero-reels-video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
    background: #000;
  }

  .rb-hero-reels-nav {
    height: 34px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .78));
    color: #fff;
    box-sizing: border-box;
  }

  .rb-hero-reels-btn {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(0, 0, 0, .28);
    color: #fff;
    cursor: pointer;
    padding: 0;
  }

  .rb-hero-reels-btn::before {
    font-family: FontAwesome, sans-serif;
    font-size: 14px;
    line-height: 1;
  }

  .rb-hero-reels-prev::before {
    content: "\f104";
  }

  .rb-hero-reels-next::before {
    content: "\f105";
  }

  .rb-hero-reels-count {
    min-width: 34px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(0, 0, 0, .42);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    direction: ltr;
  }
}

.rb-home-best,
.rb-home-cats {
  min-width: 0;
  background: #fff;
  color: #242424;
  direction: rtl;
  box-sizing: border-box;
}

.rb-home-red-title {
  height: 48px;
  margin: 0;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: #f60808;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.rb-home-best-list {
  background: #fff;
}

.rb-home-best-stage {
  width: 100%;
  overflow: hidden;
  background: #fff;
  direction: ltr;
  cursor: grab;
  touch-action: pan-y;
}

.rb-home-best-stage:active {
  cursor: grabbing;
}

.rb-home-best-stage .rb-home-best-list {
  display: flex;
  width: 100%;
  background: #fff;
  direction: ltr;
  transition: transform .28s ease;
  will-change: transform;
}

.rb-home-best-page {
  flex: 0 0 100%;
  min-width: 100%;
  background: #fff;
  direction: rtl;
}

.rb-home-best-dots.owl-dots {
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid #ececec;
  background: #fff;
  direction: ltr;
}

.rb-home-best-dots .owl-dot {
  width: 12px;
  height: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.rb-home-best-dots .owl-dot span {
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 999px;
  background: #d2d2d2;
}

.rb-home-best-dots .owl-dot.active span,
.rb-home-best-dots .owl-dot:hover span {
  background: #f60808;
}

.rb-home-best-item {
  min-height: 112px;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 32px;
  gap: 10px;
  align-items: center;
  padding: 15px 18px;
  border-bottom: 1px solid #e2e2e2;
  direction: ltr;
  box-sizing: border-box;
}

.rb-home-best-image {
  width: 92px;
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

.rb-home-best-image img {
  width: 92px;
  height: 82px;
  object-fit: contain;
  display: block;
}

.rb-home-best-meta {
  min-width: 0;
  display: grid;
  gap: 4px;
  direction: rtl;
  text-align: right;
}

.rb-home-best-name {
  color: #333;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rb-home-best-name:hover {
  color: #f60808;
  text-decoration: none;
}

.rb-home-stars::before {
  content: "\2605\2605\2605\2605\2605";
  color: #ffb800;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
}

.rb-home-price {
  color: #222;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.1;
  direction: ltr;
  unicode-bidi: isolate;
}

.rb-home-price::before {
  content: "\e900";
  font-family: "marvel-saudi-riyal-symbol" !important;
  margin-inline-end: 4px;
  font-size: .95em;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
}

.rb-home-cart {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e0e0;
  background: #f8f8f8;
  color: #f60808;
  border-radius: 0;
  cursor: pointer;
  padding: 0;
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

.rb-home-cart::before {
  content: "\f07a";
  font-family: FontAwesome, sans-serif;
  font-size: 14px;
  line-height: 1;
}

.rb-home-cart:hover {
  background: #f60808;
  border-color: #f60808;
  color: #fff;
}

.rb-home-cart.is-loading,
.rb-row-cart.is-loading {
  opacity: .55;
  pointer-events: none;
}

.rb-home-cats {
  min-height: 220px;
  padding: 0 20px 20px;
}

.rb-home-section-title {
  height: 48px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #242424;
  direction: ltr;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.rb-home-section-title::before {
  content: "\00bb\00bb\00bb";
  margin-right: 10px;
  color: #f60808;
  font-size: 25px;
  font-weight: 900;
}

.rb-home-cat-grid {
  display: flex;
  gap: 20px;
  direction: ltr;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.rb-home-cat-grid::-webkit-scrollbar {
  display: none;
}

.rb-home-cat-card {
  flex: 0 0 calc((100% - 80px) / 5);
  min-width: calc((100% - 80px) / 5);
  display: grid;
  grid-template-rows: 124px 48px;
  background: #f4f4f4;
  color: #333;
  text-decoration: none;
  overflow: hidden;
  scroll-snap-align: start;
}

.rb-home-cat-image {
  display: block;
  width: 100%;
  height: 124px;
  overflow: hidden;
  background: #ddd;
}

.rb-home-cat-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.rb-home-cat-card strong {
  min-width: 0;
  height: 48px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  direction: rtl;
  overflow: hidden;
}

.rb-home-cat-card:hover strong {
  color: #f60808;
}

html.route-common-home.rb-home-enhanced .module-products {
  background: #fff !important;
  padding: 18px 18px 24px !important;
  box-sizing: border-box !important;
}

html.route-common-home.rb-home-enhanced .module-products .product-thumb {
  background: #fff !important;
}

html.route-common-home.rb-home-enhanced .module-products .name a,
html.route-common-home.rb-home-enhanced .module-products .price,
html.route-common-home.rb-home-enhanced .module-products .price-normal {
  color: #222 !important;
}

html.route-common-home.rb-home-full-enhanced .rb-home-source-hidden,
html.route-common-home.rb-home-full-enhanced .rb-home-source-row-hidden {
  display: none !important;
}

html.route-common-home.rb-home-full-enhanced .rb-champion-home-panel {
  grid-template-rows: auto auto;
  row-gap: 24px;
}

html.route-common-home.rb-home-full-enhanced .rb-home-best {
  grid-column: 1;
  grid-row: 1 / span 2;
}

html.route-common-home.rb-home-full-enhanced .rb-home-cats {
  grid-column: 2;
  grid-row: 1;
}

.rb-home-inline-promo {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  height: 212px;
  background: #111;
  overflow: hidden;
}

.rb-home-promo-link {
  width: 100%;
  height: 212px;
  display: block;
  background: #111;
}

.rb-home-promo-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}

.rb-champion-lower-home {
  width: min(1280px, calc(100vw - 48px));
  margin: 0 auto;
  direction: ltr;
  box-sizing: border-box;
}

.rb-product-showcase {
  margin: 28px 0 0;
  color: #242424;
}

.rb-row-heading {
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  direction: ltr;
}

@media (min-width: 992px) {
  .rb-row-heading {
    width: calc(100% - 255px);
    margin-left: 255px;
  }
}

.rb-row-heading h2 {
  margin: 0;
  display: flex;
  align-items: center;
  color: #252525;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  direction: rtl;
}

.rb-row-heading h2::before {
  content: "\00bb\00bb\00bb";
  margin-right: 10px;
  color: #f60808;
  font-size: 25px;
  font-weight: 900;
  direction: ltr;
}

.rb-row-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.rb-row-arrow {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #f60808;
  cursor: pointer;
  padding: 0;
}

.rb-row-arrow::before {
  font-family: FontAwesome, sans-serif;
  font-size: 18px;
  line-height: 1;
}

.rb-row-prev::before {
  content: "\f104";
}

.rb-row-next::before {
  content: "\f105";
}

.rb-row-arrow:hover {
  background: #f60808;
  color: #fff;
}

.rb-row-body {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  gap: 20px;
  background: #fff;
  min-height: 356px;
  padding: 0;
  box-sizing: border-box;
}

.rb-row-feature {
  width: 235px;
  height: 356px;
  display: block;
  background: #111;
  overflow: hidden;
}

.rb-row-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.rb-row-feature img[src*="8.39.34%20PM-410x545w"],
.rb-row-feature img[src*="8.49.41%20PM-410x545w"] {
  object-fit: fill;
}

.rb-row-strip {
  min-width: 0;
  height: 356px;
  display: flex;
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  background: #fff;
}

.rb-row-strip::-webkit-scrollbar {
  display: none;
}

.rb-row-product {
  position: relative;
  flex: 0 0 calc((100% - 42px) / 4);
  min-width: 0;
  height: 356px;
  scroll-snap-align: start;
  display: grid;
  grid-template-rows: 184px 44px 16px 30px 34px;
  align-content: start;
  gap: 5px;
  padding: 13px 14px 12px;
  border: 1px solid #e3e3e3;
  background: #fff;
  color: #222;
  direction: rtl;
  text-align: center;
  box-sizing: border-box;
}

.rb-row-product-image {
  width: 100%;
  height: 184px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

.rb-row-product-image img {
  width: 100%;
  height: 180px;
  object-fit: contain;
  display: block;
}

.rb-row-product-name {
  min-width: 0;
  color: #222;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rb-row-product-name:hover {
  color: #f60808;
  text-decoration: none;
}

.rb-row-stars::before {
  content: "\2605\2605\2605\2605\2605";
  color: #ffb800;
  font-size: 12px;
  line-height: 1;
}

.rb-row-price-wrap {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  color: #222;
  direction: rtl;
  line-height: 1.1;
}

.rb-row-price-wrap strong {
  color: #222;
  font-size: 14px;
  font-weight: 900;
  direction: ltr;
  unicode-bidi: isolate;
}

.rb-row-price-wrap strong::before {
  content: "\e900";
  font-family: "marvel-saudi-riyal-symbol" !important;
  margin-inline-end: 4px;
  font-size: .95em;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
}

.rb-row-price-wrap del {
  color: #aaa;
  font-size: 12px;
  font-weight: 700;
  direction: ltr;
  unicode-bidi: isolate;
}

.rb-row-price-wrap del::before {
  content: "\e900";
  font-family: "marvel-saudi-riyal-symbol" !important;
  margin-inline-end: 3px;
  font-size: .95em;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
}

.price,
.price-new,
.price-old,
.price-normal {
  direction: ltr;
  unicode-bidi: isolate;
}

.rb-row-sale {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 28px;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f60808;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  z-index: 2;
}

.rb-row-cart {
  width: 34px;
  height: 30px;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dedede;
  border-radius: 0;
  background: #f8f8f8;
  color: #f60808;
  cursor: pointer;
  padding: 0;
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

.rb-row-cart::before {
  content: "\f07a";
  font-family: FontAwesome, sans-serif;
  font-size: 14px;
  line-height: 1;
}

.rb-row-cart:hover {
  background: #f60808;
  border-color: #f60808;
  color: #fff;
}

.rb-home-gallery,
.rb-home-terms {
  margin: 20px 0 0;
  background: #fff;
  color: #242424;
  direction: rtl;
}

.rb-home-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 18px;
  direction: ltr;
}

.rb-home-gallery-card {
  height: 185px;
  display: block;
  overflow: hidden;
  background: #111;
}

.rb-home-gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.rb-home-term-list {
  min-height: 58px;
  padding: 16px 18px 18px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  background: #fff;
}

.rb-home-term-list a {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 12px;
  background: #f4f4f4;
  color: #555;
  border: 1px solid #e0e0e0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.rb-home-term-list a:hover {
  color: #fff;
  border-color: #f60808;
  background: #f60808;
  text-decoration: none;
}

html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 {
  width: min(1280px, calc(100vw - 48px)) !important;
  margin: 20px auto 0 !important;
  padding: 16px 18px !important;
  position: relative !important;
  left: calc(max(24px, (100vw - 1280px) / 2) - max(0px, (100vw - 1470px) / 2)) !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-body,
html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .swiper-container,
html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .swiper-wrapper {
  background: #fff !important;
}

html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb {
  border: 1px solid #e2e2e2 !important;
  border-radius: 3px !important;
  background: #fff !important;
  min-height: 58px !important;
}

html.route-common-home.rb-home-full-enhanced footer {
  margin-top: 34px !important;
  background: #171919 !important;
  color: #d8d8d8 !important;
}

html.route-common-home.rb-home-full-enhanced footer > .grid-rows > .grid-row-4,
html.route-common-home.rb-home-full-enhanced footer > .grid-rows > .grid-row-5 {
  background: #171919 !important;
}

html.route-common-home.rb-home-full-enhanced footer > .grid-rows > .grid-row-4 > .row-bg,
html.route-common-home.rb-home-full-enhanced footer > .grid-rows > .grid-row-5 > .row-bg {
  background: #171919 !important;
}

html.route-common-home.rb-home-full-enhanced footer a,
html.route-common-home.rb-home-full-enhanced footer .links-text,
html.route-common-home.rb-home-full-enhanced footer .module-description,
html.route-common-home.rb-home-full-enhanced footer .info-block-title,
html.route-common-home.rb-home-full-enhanced footer .info-block-text {
  color: #d8d8d8 !important;
}

html.route-common-home.rb-home-full-enhanced footer .grid-cols-wrapper {
  width: min(1280px, calc(100vw - 48px)) !important;
  max-width: min(1280px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 991px) {
  .rb-champion-home-panel {
    width: calc(100vw - 24px);
    margin: 22px auto;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .rb-home-cat-grid {
    gap: 12px;
  }

  .rb-home-cat-card {
    flex-basis: calc((100% - 12px) / 2);
    min-width: calc((100% - 12px) / 2);
    grid-template-rows: 110px 44px;
  }

  .rb-home-cat-image {
    height: 110px;
  }

  html.route-common-home.rb-home-full-enhanced .rb-home-best,
  html.route-common-home.rb-home-full-enhanced .rb-home-cats,
  .rb-home-inline-promo {
    grid-column: 1;
    grid-row: auto;
  }

  .rb-champion-lower-home {
    width: calc(100vw - 24px);
  }

  .rb-row-body {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .rb-row-heading {
    width: 100%;
    margin-left: 0;
  }

  .rb-row-feature {
    width: 100%;
    height: 170px;
  }

  .rb-row-strip {
    height: 300px;
  }

  .rb-row-product {
    flex-basis: 210px;
    height: 300px;
    grid-template-rows: 150px 42px 16px 30px 34px;
  }

  .rb-home-gallery-grid {
    grid-template-columns: 1fr;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 {
    width: calc(100vw - 24px) !important;
  }
}

/* Homepage yellow accent pass. Keep cart and discount/sale cues red. */
html.route-common-home .desktop-main-menu-wrapper.menu-bar,
html.route-common-home .desktop-main-menu-wrapper.menu-bar::after,
html.route-common-home .rb-home-red-title,
html.route-common-home .rb-quick-submit {
  background: var(--rb-home-accent) !important;
  color: var(--rb-home-accent-ink) !important;
}

html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item > a,
html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item > a > .links-text,
html.route-common-home .rb-home-red-title strong {
  color: var(--rb-home-accent-ink) !important;
}

html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item:hover > a,
html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.open > a,
html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.active > a,
html.route-common-home .desktop-main-menu-wrapper.menu-bar #main-menu > .j-menu > .main-menu-item.panel-active > a,
html.route-common-home .rb-quick-option:hover,
html.route-common-home .rb-quick-submit:hover,
html.route-common-home .rb-row-arrow:hover,
html.route-common-home .rb-home-term-list a:hover {
  background: var(--rb-home-accent-hover) !important;
  border-color: var(--rb-home-accent-hover) !important;
  color: var(--rb-home-accent-ink) !important;
}

html.route-common-home .rb-roadbiker-mega .rb-mega-list a:hover,
html.route-common-home .rb-roadbiker-mega .rb-mega-brand-card:hover,
html.route-common-home .rb-quick-toggle::after,
html.route-common-home .rb-home-best-dots .owl-dot.active span,
html.route-common-home .rb-home-best-dots .owl-dot:hover span,
html.route-common-home .rb-home-best-name:hover,
html.route-common-home .rb-home-section-title::before,
html.route-common-home .rb-home-cat-card:hover strong,
html.route-common-home .rb-row-heading h2::before,
html.route-common-home .rb-row-arrow,
html.route-common-home .rb-row-product-name:hover {
  color: var(--rb-home-accent) !important;
}

html.route-common-home .rb-roadbiker-mega .rb-mega-icon,
html.route-common-home .rb-quick-toggle::after {
  border-color: var(--rb-home-accent) !important;
}

html.route-common-home .rb-home-best-dots .owl-dot.active span,
html.route-common-home .rb-home-best-dots .owl-dot:hover span {
  background: var(--rb-home-accent) !important;
}

html.route-common-home .mobile-header .mobile-bar {
  border-bottom-color: var(--rb-home-accent) !important;
}
.rb-home-journal-source-assets {
  display: none !important;
}

html.route-common-home.rb-hero-enhanced .rb-home-showcase > .rb-home-rail-right {
  display: none !important;
}

/* The home panel is kept as an empty sentinel for initFullHome(); with
   BUILD_HOME_PANEL = false it must not occupy any space. */
html.route-common-home .rb-champion-home-panel:empty {
  display: none !important;
}

/* --- RB_ILM_HOME_MODULE_ORDER (2026-07-26) -------------------------------
   #top .grid-rows is a flex column and every child defaults to order:0, so the
   enhancer's generated .rb-champion-lower-home — injected early in the DOM —
   rendered ABOVE the imported Journal3 HOME modules, pushing them ~2600px down
   the page. Put the hero first, then the two HOME modules, then the generated
   showcase rows. Keyed off .rb-imported-ilm-home so admin reordering is safe. */
/* No explicit order on the module rows: leaving them at the default 0 means the
   Journal layout order decides where they (and any copies) appear. Only the
   enhancer's generated block is pushed last. */
html.route-common-home .grid-rows > .rb-champion-lower-home {
  order: 2;
}

/* --- RB_ILM_COLL_LOOK (2026-07-26) ---------------------------------------
   ILM's Collection List styling. Journal's Custom CSS never reaches the
   Lightning bundle on this install, so the rules live here (this file is
   verified to reach the page). The same rules are also stored in Journal
   Custom Code so an admin re-save stays consistent. */
/*ILM-COLLECTIONS-START*/
.ilm-coll-row{background:#131313!important;padding:34px 0 44px!important}
.ilm-coll-row .row-bg{background:#131313!important}
.ilm-coll-module{position:relative}
.ilm-coll-module > .module-title{color:#fff!important;text-align:center;font-size:15px;font-weight:700;letter-spacing:.35em;text-transform:uppercase;margin:0 0 30px!important}
.ilm-coll-module > .module-title:after{content:"";display:block;width:28px;height:2px;background:#8a8a8a;margin:14px auto 0}
.ilm-coll-module .module-body{max-width:1140px!important;margin:0 auto!important;padding:0 20px}
.ilm-coll-module .blocks-grid{display:flex!important;flex-wrap:nowrap!important;direction:ltr;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.ilm-coll-module .blocks-grid::-webkit-scrollbar{display:none}
.ilm-coll-module .blocks-grid.ilm-coll-dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto!important}
.ilm-coll-module .module-item{flex:0 0 calc(25% - 12px);min-width:calc(25% - 12px);aspect-ratio:0.545;scroll-snap-align:start;position:relative;overflow:hidden;margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.ilm-coll-module .block-body{background:transparent!important;padding:0!important;margin:0!important;height:100%}
.ilm-coll-module .block-header{margin:0!important;height:100%;background:transparent!important}
.ilm-coll-module .block-header img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;display:block;transition:transform .5s ease;-webkit-user-drag:none;user-select:none}
.ilm-coll-module .module-item:hover .block-header img{transform:scale(1.04)}
.ilm-coll-module .module-item::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1);pointer-events:none}
.ilm-coll-module .block-wrapper{display:none!important}
.ilm-coll-btn{position:absolute;top:calc(50% + 18px);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.95);border:0;cursor:pointer;z-index:6;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,.4);transition:transform .2s ease,opacity .25s ease,background .2s ease;padding:0}
.ilm-coll-btn:hover{transform:translateY(-50%) scale(1.1);background:#fff}
.ilm-coll-btn:active{transform:translateY(-50%) scale(.96)}
.ilm-coll-btn.is-disabled{opacity:.2;pointer-events:none}
.ilm-coll-btn span{width:10px;height:10px;border-top:2.5px solid #111;border-left:2.5px solid #111;display:block;border-radius:1px}
.ilm-coll-prev{left:calc(50% - 570px - 62px)}
.ilm-coll-prev span{transform:rotate(-45deg);margin-left:4px}
.ilm-coll-next{right:calc(50% - 570px - 62px)}
.ilm-coll-next span{transform:rotate(135deg);margin-right:4px}
@media(max-width:1330px){.ilm-coll-prev{left:10px}.ilm-coll-next{right:10px}}
@media(max-width:767px){.ilm-coll-btn{display:none}}
@media(max-width:900px){.ilm-coll-module .module-body{padding:0 12px}.ilm-coll-module .blocks-grid{gap:12px}.ilm-coll-module .module-item{flex:0 0 45.4%;min-width:45.4%}}
/*ILM-COLLECTIONS-END*/
/* RoadBiker's Journal renders this module as
   .ilm-coll-module.blocks-grid > .module-body > .ipr-grid > .block-item,
   while ILM's CSS targets .blocks-grid as a CHILD and the cards as
   .module-item. Journal's generated per-module rule
   (.module-blocks-1217.blocks-grid > .module-body > .ipr-grid > .block-item)
   therefore outranks it and forces 5-up wrapped cards. Re-assert ILM's
   4-up horizontal scroller against the real structure. */
html.route-common-home .ilm-coll-module .module-body > .ipr-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  direction: ltr;
  gap: 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}
html.route-common-home .ilm-coll-module .module-body > .ipr-grid::-webkit-scrollbar {
  display: none;
}
html.route-common-home .ilm-coll-module .module-body > .ipr-grid.ilm-coll-dragging {
  cursor: grabbing;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}
html.route-common-home .ilm-coll-module .module-body > .ipr-grid > .block-item {
  flex: 0 0 calc(25% - 12px) !important;
  width: calc(25% - 12px) !important;
  min-width: calc(25% - 12px) !important;
  max-width: none !important;
  aspect-ratio: 0.545 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
  background: transparent !important;
}
@media (max-width: 900px) {
  html.route-common-home .ilm-coll-module .module-body > .ipr-grid > .block-item {
    flex: 0 0 45.4% !important;
    width: 45.4% !important;
    min-width: 45.4% !important;
  }
}

/* --- RB_ILM_FEATURED_LOOK (2026-07-26) -----------------------------------
   HOME New Arrivals (1221). On ILM this row's black background comes from the
   Journal layout row setting, which did not survive the import — the module
   rendered white while its title is white text, making the title invisible.
   Restore the dark row + ILM's centred title. */
html.route-common-home .ilm-featured-row,
html.route-common-home .ilm-featured-row > .row-bg,
html.route-common-home .ilm-featured-row > .grid-cols-wrapper > .grid-cols,
html.route-common-home .ilm-featured-row .grid-col,
html.route-common-home .ilm-featured-row .grid-items {
  background: #000 !important;
}
html.route-common-home .ilm-featured-row .rb-new-arrivals,
html.route-common-home .ilm-featured-row .rb-new-arrivals .module-body {
  background: transparent !important;
}
html.route-common-home .rb-new-arrivals .title-main {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  box-sizing: border-box !important;
}
html.route-common-home .rb-new-arrivals .title-main .module-title {
  margin: 0 !important;
  align-self: center !important;
  line-height: 1.2 !important;
  color: #fff !important;
}

/* --- RB_ILM_HOME_MODULE_COMPACT (2026-07-27) ------------------------------
   Both imported HOME modules rendered too tall once the rows went full-width.
   Trim card heights ~30% while keeping the ILM proportions and cover crops. */

/* Collection List: aspect-ratio .545 gave 263x483 cards; .78 gives ~263x337. */
html.route-common-home .ilm-coll-module .module-body > .ipr-grid > .block-item {
  aspect-ratio: 0.78 !important;
}
html.route-common-home .ilm-coll-row {
  padding: 22px 0 28px !important;
}
html.route-common-home .ilm-coll-module > .module-title {
  margin: 0 0 20px !important;
}

/* New Arrivals: 304px square image box drove 444px cards; cap it at 210px. */
html.route-common-home .rb-new-arrivals .image-group,
html.route-common-home .rb-new-arrivals .image,
html.route-common-home .rb-new-arrivals .product-img,
html.route-common-home .rb-new-arrivals .product-img > div {
  height: 210px !important;
  max-height: 210px !important;
  min-height: 0 !important;
}
html.route-common-home .rb-new-arrivals .product-img img,
html.route-common-home .rb-new-arrivals .image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* The shorter image box letterboxes 350x350 product images (object-fit:contain);
   the row's black background was showing through as bars on the white cards. */
html.route-common-home .rb-new-arrivals .product-thumb,
html.route-common-home .rb-new-arrivals .image-group,
html.route-common-home .rb-new-arrivals .image,
html.route-common-home .rb-new-arrivals .product-img,
html.route-common-home .rb-new-arrivals .product-img > div {
  background: #fff !important;
}

/* --- RB_ILM_NA_NARROW (2026-07-27) ---------------------------------------
   New Arrivals cards were 320px wide. The grid declares one explicit 320px
   column per product, so use auto-columns instead — narrower cards without
   depending on how many products the module returns. Image box follows in
   proportion (overrides the 210px set above). */
html.route-common-home .rb-new-arrivals .auto-grid-items {
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 240px !important;
}
html.route-common-home .rb-new-arrivals .product-layout {
  width: 240px !important;
  max-width: 240px !important;
  min-width: 0 !important;
}
html.route-common-home .rb-new-arrivals .image-group,
html.route-common-home .rb-new-arrivals .image,
html.route-common-home .rb-new-arrivals .product-img,
html.route-common-home .rb-new-arrivals .product-img > div {
  height: 165px !important;
  max-height: 165px !important;
}

/* The <img> elements themselves carry background-color:#232829, which showed as
   dark bars beside letterboxed (object-fit:contain) product images. */
html.route-common-home .rb-new-arrivals img,
html.route-common-home .rb-new-arrivals .product-img img,
html.route-common-home .rb-new-arrivals .image img {
  background: transparent !important;
  background-color: transparent !important;
}

/* --- RB_ILM_HOME_ANY_COPY (2026-07-27) ------------------------------------
   Style these modules by their own custom class plus :has() on the row, so a
   duplicate made in Journal admin works anywhere: the copy inherits
   .ilm-coll-module / .rb-new-arrivals from the module settings, and whatever
   row it lands in picks up the right background automatically. */
html.route-common-home .grid-row:has(.ilm-coll-module),
html.route-common-home .grid-row:has(.ilm-coll-module) > .row-bg {
  background: #131313 !important;
}
html.route-common-home .grid-row:has(.rb-new-arrivals),
html.route-common-home .grid-row:has(.rb-new-arrivals) > .row-bg {
  background: #000 !important;
}
/* Inner wrappers stay transparent so the row colour shows edge to edge. */
html.route-common-home .grid-row:has(.ilm-coll-module) > .grid-cols-wrapper > .grid-cols,
html.route-common-home .grid-row:has(.rb-new-arrivals) > .grid-cols-wrapper > .grid-cols,
html.route-common-home .grid-row:has(.ilm-coll-module) .grid-col,
html.route-common-home .grid-row:has(.rb-new-arrivals) .grid-col,
html.route-common-home .grid-row:has(.ilm-coll-module) .grid-items,
html.route-common-home .grid-row:has(.rb-new-arrivals) .grid-items {
  background: transparent !important;
}

/* --- RB_REELS_ON_COLLECTION (2026-07-27) ----------------------------------
   The two reels players moved off the hero slider onto the Collection List
   row, so the slider can run full width. Selectors are deliberately stronger
   than the originals (which live in header.twig / above) to win the cascade. */
html.route-common-home .ilm-coll-row {
  position: relative !important;
}

@media (min-width: 1400px) {
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card,
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 230px !important;
    height: 340px !important;
    z-index: 10 !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .28) !important;
    box-sizing: border-box !important;
  }
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card {
    left: max(16px, calc(50vw - 900px)) !important;
    right: auto !important;
  }
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right {
    right: max(16px, calc(50vw - 900px)) !important;
    left: auto !important;
  }
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card .rb-hero-reels-player,
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right .rb-hero-reels-player {
    height: calc(100% - 34px) !important;
  }
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card .rb-hero-reels-video,
  html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right .rb-hero-reels-video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Hero slider reclaims the strip the right-hand reel used to occupy. */
@media (min-width: 1860px) {
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] {
    right: 0 !important;
  }
}

/* Collection List arrows (built by the enhancer). */
html.route-common-home .ilm-coll-module .ilm-coll-btn {
  position: absolute;
  top: calc(50% + 18px);
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .95);
  border: 0;
  cursor: pointer;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}
html.route-common-home .ilm-coll-module .ilm-coll-btn:hover {
  transform: translateY(-50%) scale(1.1);
  background: #fff;
}
html.route-common-home .ilm-coll-module .ilm-coll-btn.is-disabled {
  opacity: .2;
  pointer-events: none;
}
html.route-common-home .ilm-coll-module .ilm-coll-btn span {
  width: 10px;
  height: 10px;
  border-top: 2.5px solid #111;
  border-left: 2.5px solid #111;
  display: block;
  border-radius: 1px;
}
html.route-common-home .ilm-coll-module .ilm-coll-prev {
  left: calc(50% - 570px - 62px);
}
html.route-common-home .ilm-coll-module .ilm-coll-prev span {
  transform: rotate(-45deg);
  margin-left: 4px;
}
html.route-common-home .ilm-coll-module .ilm-coll-next {
  right: calc(50% - 570px - 62px);
}
html.route-common-home .ilm-coll-module .ilm-coll-next span {
  transform: rotate(135deg);
  margin-right: 4px;
}
@media (max-width: 1330px) {
  html.route-common-home .ilm-coll-module .ilm-coll-prev { left: 10px; }
  html.route-common-home .ilm-coll-module .ilm-coll-next { right: 10px; }
}
@media (max-width: 767px) {
  html.route-common-home .ilm-coll-module .ilm-coll-btn { display: none; }
}

/* Reels sit on the dark Collection List row now — drop the white card
   background (and the white strip under the video) and let the clip fill. */
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card,
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right {
  background: transparent !important;
  box-shadow: none !important;
}
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card .rb-hero-reels-title,
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right .rb-hero-reels-title {
  display: none !important;
}
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card .rb-hero-reels-player,
html.route-common-home .ilm-coll-row aside.rb-hero-reels-card-right .rb-hero-reels-player {
  height: 100% !important;
  background: transparent !important;
}

/* --- RB_HIDE_NOLAN_ROW (2026-07-27) --------------------------------------
   Hide only the Nolan helmets showcase row. Matched on its banner image
   (".../WhatsApp Image 2026-05-05 at 8.49.41 PM-410x545w.jpeg") so the other
   showcase rows are untouched and row order can change safely. */
html.route-common-home .rb-champion-lower-home .rb-product-showcase:has(img[src*="8.49.41"]) {
  display: none !important;
}

/* --- RB_QUICK_PANEL_BELOW_HERO (2026-07-27) -------------------------------
   The filter sits under the hero as a single full-width horizontal bar: the
   four dropdowns and the search button all on one line. */
@media (min-width: 992px) {
  html.route-common-home .grid-rows > .rb-quick-search-panel {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: min(1240px, 94vw) !important;
    height: auto !important;
    margin: 20px auto 24px !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) 148px !important;
    grid-template-rows: auto !important;
    grid-auto-rows: 50px !important;  /* row exactly the control height, so nothing floats */
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 22px 18px !important;
    border-radius: 10px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .28);
  }
  /* Title on its own line above the controls. */
  html.route-common-home .grid-rows > .rb-quick-search-panel h2 {
    grid-column: 1 / -1 !important;
    margin: 0 0 6px !important;
    text-align: center;
  }
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-field,
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-toggle,
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  /* Same height AND same vertical alignment: the fields were stretching to the
     top of a taller grid row while the button centred itself, leaving it 8px low. */
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-field,
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-toggle,
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    align-self: center !important;
  }
  html.route-common-home .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    font-size: 14px !important;
    padding: 0 14px !important;
    /* Align to the row start like the fields; it was sitting 8px low. */
    align-self: start !important;
    margin: 0 !important;
    top: auto !important;
    position: relative !important;
  }
}

/* Below 992px keep them stacked — five controls will not fit on one line. */
@media (max-width: 991px) {
  html.route-common-home .grid-rows > .rb-quick-search-panel {
    display: grid !important;
    position: static !important;
    width: min(92vw, 340px) !important;
    height: auto !important;
    margin: 18px auto 22px !important;
    grid-template-rows: auto repeat(4, 54px) 48px !important;
    gap: 10px;
    padding: 16px 18px;
    background: #191b1b;
    color: #fff;
    direction: rtl;
    box-sizing: border-box;
    border-radius: 10px;
  }
}

/* Higher specificity (extra `body`) so these win regardless of the stylesheet
   being included twice: the fields kept a 16px bottom margin, which made the
   grid row taller than the controls and left the search button 8px low. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    grid-auto-rows: 50px !important;
    align-items: center !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-field,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    margin: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    align-self: center !important;
  }
}

/* --- RB_QUICK_PANEL_LOOK (2026-07-27) -------------------------------------
   Target design: dark rounded card with a gold hairline border, gold gradient
   title over a line+diamond divider, then one row of white pill selects with
   the gold search button at the RTL end. Flex (not grid) so every control
   shares one baseline — the grid row was taller than the controls, which is
   what left the button sitting 8px low. Extra `body` in the selectors because
   this stylesheet is included twice in the Lightning bundle. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: min(1300px, 94vw) !important;
    height: auto !important;
    margin: 24px auto 28px !important;
    padding: 24px 28px 28px !important;
    background: #1c1c1c !important;
    border: 1px solid rgba(212, 175, 55, .85) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .38) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2 {
    position: relative !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
    padding-bottom: 26px !important;
    text-align: center !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    background: linear-gradient(180deg, #f6dc94 0%, #e2b551 45%, #c1902a 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }
  /* divider: hairline + centred diamond */
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    width: 280px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, .95), transparent);
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 9px;
    height: 9px;
    transform: translateX(-50%) rotate(45deg);
    background: linear-gradient(135deg, #f6dc94, #c1902a);
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-field {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 300px !important;
    margin: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    align-self: center !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 11px !important;
    font-size: 15px !important;
    color: #3a3a3a !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    flex: 0 0 210px !important;
    width: 210px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    align-self: center !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(180deg, #f2ce67 0%, #e0b24d 50%, #cf9a24 100%) !important;
    color: #1c1c1c !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    box-shadow: 0 6px 16px rgba(207, 154, 36, .35) !important;
  }
}

/* Journal's base rule
     form > div:not(.buttons):not(.checkout-section)…{ margin-bottom: var(--j-gap-spacing---6) !important }
   gives every div child of a form a 16px bottom margin. The panel is a <form>,
   so the four .rb-quick-field divs got it but the <button> did not — their
   margin boxes were 72px vs 56px, which is what pushed the search button 8px
   below the selects. Each :not(.class) carries class specificity, so that rule
   outranks a normal override; the repeated class names below outrank it back. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows >
  .rb-quick-search-panel.rb-quick-search-panel
  .rb-quick-field.rb-quick-field.rb-quick-field.rb-quick-field {
    margin: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Journal's rule carries :not(#review) — ID-level specificity — so the fields'
   16px bottom margin cannot be overridden by class selectors. Match it on the
   button instead: equal margin boxes (56+16) centre identically in the row. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    margin: 0 0 16px !important;
  }
}

/* --- RB_QUICK_PANEL_COMPACT (2026-07-27) ----------------------------------
   Controls only: hide the title/divider and shrink the bar. Bottom padding is
   0 because Journal's form rule already adds 16px under each control. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2 {
    display: none !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    padding: 14px 16px 0 !important;
    gap: 10px !important;
    margin: 16px auto 20px !important;
    border-radius: 14px !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-field,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle {
    font-size: 14px !important;
    border-radius: 9px !important;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    font-size: 15px !important;
    border-radius: 9px !important;
    flex: 0 0 190px !important;
    width: 190px !important;
  }
}

/* The strip behind the search bar was pure #000 (from .grid-rows / .top).
   Paint a full-bleed #1C1C1C band behind just this bar, so the surrounding
   area matches the panel instead of being black. Scoped to the panel, so no
   other homepage row is affected. */
@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    position: relative !important;
    z-index: 1;
  }
  html.route-common-home body .grid-rows > .rb-quick-search-panel::before {
    content: "";
    position: absolute;
    left: 50%;
    /* An earlier ::before rule sets right:100%; leaving it set over-constrains
       the box and RTL then drops `left`, parking the band beside the bar. */
    right: auto;
    transform: translateX(-50%);
    top: -16px;
    bottom: -20px;
    width: 100vw;
    background: #1C1C1C;
    z-index: -1;
    pointer-events: none;
  }
}

/* --- RB_REELS_HIDDEN (2026-07-27) -----------------------------------------
   Reels hidden for now. Extra element in the selector so this outranks the
   `display: block` rule that places them on the Collection List rows.
   To bring them back, delete this block. */
html.route-common-home body .ilm-coll-row aside.rb-hero-reels-card,
html.route-common-home body .ilm-coll-row aside.rb-hero-reels-card-right,
html.route-common-home body aside.rb-hero-reels-card,
html.route-common-home body aside.rb-hero-reels-card-right {
  display: none !important;
}

/* --- RB_COLL_FIVE_UP (2026-07-27) -----------------------------------------
   Show 5 cards instead of 4 WITHOUT resizing them: pin the card to its current
   263x337 (aspect .78) instead of a 25% share, and widen the track to fit five
   (5x263 + 4x16 gap = 1379). Applies to every .ilm-coll-module, so the copy
   picks it up too. Arrows follow the wider track. */
@media (min-width: 1500px) {
  html.route-common-home body .ilm-coll-module .module-body {
    max-width: 1420px !important;
  }
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item {
    flex: 0 0 263px !important;
    width: 263px !important;
    min-width: 263px !important;
    max-width: 263px !important;
    aspect-ratio: 0.78 !important;
  }
  html.route-common-home body .ilm-coll-module .ilm-coll-prev {
    left: calc(50% - 690px - 56px) !important;
  }
  html.route-common-home body .ilm-coll-module .ilm-coll-next {
    right: calc(50% - 690px - 56px) !important;
  }
}

/* --- RB_COLL_TALLER_15 (2026-07-27) ---------------------------------------
   Card height +15% (337 -> 388). Width stays 263, so the fixed aspect-ratio is
   dropped in favour of an explicit height. The module/row grow with the cards. */
@media (min-width: 1500px) {
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item {
    aspect-ratio: auto !important;
    height: 388px !important;
    min-height: 388px !important;
    max-height: 388px !important;
  }
}

/* --- RB_COLL_IMG_FILL (2026-07-27) ----------------------------------------
   Make the collection images fill the card completely — no letterboxing or
   gaps. The wrappers (link/body/header) must be full height too, otherwise the
   image only fills part of the card. */
@media (min-width: 992px) {
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item > a,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-body,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-header,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-image {
    height: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
}

/* Percentage heights never resolved down this chain (block-body / block-header
   stayed at the image's intrinsic 467.75px), so the image overflowed the 388px
   card. Pin every level to the card height in pixels instead. */
@media (min-width: 1500px) {
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-body,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-header,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item img {
    height: 388px !important;
    min-height: 0 !important;
    max-height: 388px !important;
    overflow: hidden !important;
  }
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
}

/* --- RB_COLL_FULL_IMAGE (2026-07-27) --------------------------------------
   The card labels (FULL FACE, MODULAR, …) are part of the images themselves —
   the .block-wrapper caption is hidden. At 263x388 the 700x1245 images were
   cover-cropped by 80px, which cut the label off the bottom. 263 x 1245/700 =
   468, so a 468px card shows each image complete: no crop, no empty space. */
@media (min-width: 1500px) {
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-body,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item .block-header,
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item img {
    height: 468px !important;
    min-height: 0 !important;
    max-height: 468px !important;
  }
  html.route-common-home body .ilm-coll-module .module-body > .ipr-grid > .block-item img {
    object-fit: cover !important;
    object-position: center bottom !important;
  }
}

/* --- RB_NA_MATCH_ILM (2026-07-27) -----------------------------------------
   Match ILM's HOME New Arrivals exactly (measured on ilm.145-241-157-159):
   card 320x463, image box 304x304 with object-fit:fill, 320px columns, 20px
   gap. This supersedes the earlier 240px / 165px sizing above. */
@media (min-width: 992px) {
  html.route-common-home body .rb-new-arrivals .auto-grid-items {
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 320px !important;
    gap: 20px !important;
  }
  html.route-common-home body .rb-new-arrivals .product-layout {
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
  }
  html.route-common-home body .rb-new-arrivals .image-group,
  html.route-common-home body .rb-new-arrivals .image,
  html.route-common-home body .rb-new-arrivals .product-img,
  html.route-common-home body .rb-new-arrivals .product-img > div {
    width: 304px !important;
    height: 304px !important;
    min-height: 0 !important;
    max-height: 304px !important;
  }
  html.route-common-home body .rb-new-arrivals .product-img img,
  html.route-common-home body .rb-new-arrivals .image img {
    width: 304px !important;
    height: 304px !important;
    max-height: 304px !important;
    object-fit: fill !important;
  }
}

/* Card height: ours came out 444 vs ILM's 463 (caption content differs
   slightly). Pin it so both installs match exactly. */
@media (min-width: 992px) {
  html.route-common-home body .rb-new-arrivals .product-layout,
  html.route-common-home body .rb-new-arrivals .product-thumb {
    height: 463px !important;
    min-height: 463px !important;
    max-height: 463px !important;
  }
}

/* --- RB_SHOWCASE_CONSISTENT (2026-07-27) ----------------------------------
   The product showcase rows were 1280 wide while New Arrivals is 1514 and the
   Collection List 1380. Widen them to 1514 so all homepage modules line up,
   and give each row the dark #131313 card treatment (white product cards on
   dark, like the other modules) instead of the flat white strip. */
@media (min-width: 1200px) {
  html.route-common-home body .rb-champion-lower-home {
    width: min(1514px, 96vw) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    background: #131313 !important;
    border-radius: 14px !important;
    padding: 14px 16px 16px !important;
    margin: 0 auto 22px !important;
  }
  /* Let the row colour show through the inner wrappers. */
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-body,
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-strip,
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-heading {
    background: transparent !important;
  }
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-heading h2 {
    color: #fff !important;
  }
  /* Product cards stay white so they read as cards on the dark row. */
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-product {
    background: #fff !important;
    border-radius: 10px !important;
  }
}

/* --- RB_SHOWCASE_FULLBLEED (2026-07-27) -----------------------------------
   Supersedes the boxed treatment above: instead of each row being a rounded
   dark card floating on the grey page, the whole lower area becomes one
   continuous full-width #131313 band, with the content centred at 1514 via
   side padding. Rows themselves go transparent. */
@media (min-width: 1200px) {
  html.route-common-home body .rb-champion-lower-home {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 26px calc(50vw - 757px) 30px !important;
    background: #131313 !important;
    box-sizing: border-box !important;
  }
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase {
    width: 100% !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 30px !important;
  }
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase:last-of-type {
    margin-bottom: 0 !important;
  }
}

/* --- RB_REELS_MODULE (2026-07-27) ------------------------------------------
   HOME Reels (module 1213) ported from ILM: full-bleed dark band, absolute
   heading with nav buttons, horizontal 9:16 video cards. */
/*ILM-REELS-START*/
.module-blocks-1213.ilm-reels-module{position:relative;width:100vw!important;max-width:100vw!important;min-width:0!important;margin:0 calc(50% - 50vw) 48px!important;background:#0e0e0e;padding:56px 0 64px!important}
.module-blocks-1213.ilm-reels-module > .module-body{max-width:1400px!important;min-width:0!important;width:100%!important;margin:0 auto!important;padding:0 20px!important}
/* fixed head (escapes the scroller) */
.module-blocks-1213.ilm-reels-module .block-item.ilm-rl-head{position:absolute;top:56px;inset-inline:0;width:100%;max-width:1400px;margin:0 auto!important;padding:0 20px!important;background:none!important;z-index:5}
.module-blocks-1213.ilm-reels-module .ilm-rl-head > .block-body{background:none!important;padding:0!important;min-height:0!important;display:block!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-head .block-wrapper{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;width:100%;max-width:none;background:none!important;padding:0!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-head .block-title{color:#fff!important;font-size:clamp(28px,3.4vw,46px)!important;font-weight:800!important;margin:0!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-head .block-content{margin:0!important;max-width:none}
.module-blocks-1213.ilm-reels-module .ilm-reels-nav{display:flex;gap:12px}
.module-blocks-1213.ilm-reels-module .ilm-reels-btn{width:44px;height:44px;border-radius:99px;border:1px solid #555;background:transparent;color:#fff;font-size:22px;cursor:pointer;line-height:1;transition:background .2s,color .2s}
.module-blocks-1213.ilm-reels-module .ilm-reels-btn:hover{background:#fff;color:#000;border-color:#fff}
/* horizontal track */
.module-blocks-1213.ilm-reels-module > .module-body > .ipr-grid{display:flex!important;flex-wrap:nowrap!important;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 6px!important;margin-top:84px!important;max-width:none!important;min-width:0!important;width:100%!important}
.module-blocks-1213.ilm-reels-module > .module-body > .ipr-grid::-webkit-scrollbar{display:none}
.module-blocks-1213.ilm-reels-module > .module-body > .ipr-grid.rb-reels-auto-track{scroll-snap-type:none!important;scroll-behavior:auto!important}
/* reel cards */
.module-blocks-1213.ilm-reels-module .block-item.ilm-rl-item{flex:0 0 auto!important;width:min(320px,72vw)!important;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#000!important;scroll-snap-align:start;margin:0!important;padding:0!important;box-shadow:none!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-item > .block-body{background:none!important;padding:0!important;min-height:0!important;height:100%!important;display:block!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-item .block-wrapper{height:100%;max-width:none;padding:0!important;background:none!important;display:block!important}
.module-blocks-1213.ilm-reels-module .ilm-rl-item .block-content{height:100%;margin:0!important;max-width:none}
.module-blocks-1213.ilm-reels-module .ilm-rl-item video{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
@media(max-width:900px){
.module-blocks-1213.ilm-reels-module .ilm-rl-head .block-title{font-size:30px!important}
.module-blocks-1213.ilm-reels-module > .module-body > .ipr-grid{margin-top:70px!important}
}
/*ILM-REELS-END*/

/* --- RB_NATIVE_MENU_ROUND (2026-07-28) ------------------------------------
   Header menu restored to Journal's native category grid (the enhancer no
   longer overwrites .mega-menu-content). Thumbnails back to round, larger
   circles as they were originally, instead of the 74px rounded squares. */
@media (min-width: 992px) {
  header .main-menu .mega-menu .mega-menu-content .category-grid .auto-grid-items {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
    gap: 22px 16px !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a {
    width: 112px !important;
    height: 112px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: #fff !important;
    padding: 8px !important;
    box-sizing: border-box !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image img {
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    border-radius: 50% !important;
    object-fit: contain !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .name a {
    font-size: 13px !important;
    font-weight: 700 !important;
  }
}

/* --- RB_MENU_MATCH_ROADBIKER (2026-07-28) ---------------------------------
   Keep the full-width 1540px category grid and circular artwork while using
   the site's clean white menu treatment. */
@media (min-width: 992px) {
  header .main-menu .mega-menu .mega-menu-content {
    background: #fff !important;
    width: 100% !important;
    max-width: none !important;
    border-bottom: 1px solid #e7e7e7 !important;
    box-shadow: 0 12px 28px rgba(17, 17, 17, .1) !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-grid .auto-grid-items {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)) !important;
    max-width: 1540px !important;
    margin: 0 auto !important;
    gap: 0 !important;
    justify-content: center !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a {
    width: 116px !important;
    height: 116px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image img {
    width: 114px !important;
    height: 104px !important;
    max-width: 114px !important;
    max-height: 104px !important;
    border-radius: 0 !important;
    object-fit: contain !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image {
    order: 1 !important;
    margin-bottom: 10px !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .caption {
    order: 2 !important;
    width: 100% !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image img {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image::before,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image::after,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a::before,
  header .main-menu .mega-menu .mega-menu-content .category-thumb .image a::after {
    display: none !important;
    content: none !important;
  }
  header .main-menu .mega-menu .mega-menu-content .category-thumb .name a {
    color: #333 !important;
    font-size: 14px !important;
  }
}

/* --- RB_HERO_TWO_BANNERS (2026-07-28) -------------------------------------
   The reels used to sit either side of the hero slider, so the showcase
   wrapper reserved side columns and the slider only spanned 968px. With the
   reels gone, let it use the full hero width — two slides now show side by
   side (module 729 slidesPerView = 2). */
@media (min-width: 992px) {
  html.route-common-home body .rb-home-showcase [class*="module-slider-"],
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] {
    left: 12px !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* --- RB_HERO_PAINT_OFF (2026-07-29) ---------------------------------------
   The enhancer draws the hero banner itself via .rb-hero-slide-paint, which
   renders the ACTIVE slide across the whole hero and so overrode the two-up
   Swiper layout. Hidden here so each slide paints its own banner. */
html.route-common-home.rb-hero-enhanced .grid-row-top-1 [class*="module-slider-"] .rb-hero-slide-paint,
html.route-common-home .grid-row-top-1 [class*="module-slider-"] img.rb-hero-slide-paint {
  display: none !important;
  opacity: 0 !important;
}

/* --- RB_SINGLE_DESKTOP_HERO_20260801_START -------------------------------
   Use module 1225 as the one full-width desktop hero. Module 729 remains the
   mobile carousel, so phone behavior is unchanged. */
@media (min-width: 992px) {
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 {
    display: none !important;
    pointer-events: none !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 398px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slider-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-container,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-slide,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content-image {
    width: 100% !important;
    height: 398px !important;
    min-height: 398px !important;
    max-height: 398px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content-image img:not(.rb-hero-slide-paint) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}
/* --- RB_SINGLE_DESKTOP_HERO_20260801_END --------------------------------- */

/* --- RB_MOBILE_HOME_20260729_START ----------------------------------------
   Phone and tablet layout only. Desktop hero geometry and search controls are
   deliberately left to their existing min-width:992px rules. */
@media (max-width: 991px) {
  html.route-common-home,
  html.route-common-home body,
  html.route-common-home .site-wrapper {
    overflow-x: hidden !important;
  }

  html.route-common-home .mobile-header {
    background: #121515 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
  }

  html.route-common-home .mobile-header .mobile-bar {
    min-height: 60px !important;
    border-bottom: 0 !important;
    background: #121515 !important;
  }

  html.route-common-home .mobile-header .mobile-search-group {
    padding: 6px 8px !important;
    background: var(--rb-home-accent) !important;
    box-sizing: border-box !important;
  }

  html.route-common-home .mobile-header .header-search {
    height: 40px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f6f6f4 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
  }

  html.route-common-home .mobile-header .header-search input {
    height: 40px !important;
    padding: 0 14px !important;
    background: transparent !important;
    font-size: 14px !important;
  }

  html.route-common-home .mobile-header .header-search .search-button {
    width: 42px !important;
    height: 40px !important;
    border-radius: 999px 0 0 999px !important;
    background: #25292a !important;
    color: #fff !important;
  }

  html.route-common-home .mobile-header .menu-trigger,
  html.route-common-home .mobile-header .menu-trigger .menu-icon {
    color: #fff !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 > .grid-cols-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 > .grid-cols-wrapper > .grid-cols,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-col,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-items,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-module-top-1-1-1,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .slider-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .swiper-container,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .swiper-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .swiper-slide,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .slide-content,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .slide-content-image {
    width: 100% !important;
    max-width: 100% !important;
    height: 35vw !important;
    min-height: 35vw !important;
    max-height: 35vw !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 {
    background: #080909 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 > .grid-cols-wrapper {
    left: 0 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 {
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-module-top-1-1-2 {
    display: none !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .slide-content-image img:not(.rb-hero-slide-paint) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .swiper-buttons,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 .swiper-pagination-wrapper {
    display: none !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    width: calc(100% - 24px) !important;
    max-width: 480px !important;
    height: auto !important;
    margin: 16px auto 24px !important;
    padding: 18px 16px 16px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto repeat(2, 50px) 50px !important;
    gap: 10px !important;
    position: relative !important;
    background: linear-gradient(145deg, #202424 0%, #111313 100%) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .28) !important;
    color: #fff !important;
    overflow: visible !important;
    direction: rtl !important;
    box-sizing: border-box !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2 {
    grid-column: 1 / -1 !important;
    margin: 0 0 4px !important;
    padding: 0 0 12px !important;
    position: relative !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::after {
    content: "" !important;
    width: 42px !important;
    height: 3px !important;
    position: absolute !important;
    right: 50% !important;
    bottom: 0 !important;
    transform: translateX(50%) !important;
    border-radius: 999px !important;
    background: var(--rb-home-accent) !important;
  }

  html.route-common-home body .grid-rows >
  .rb-quick-search-panel.rb-quick-search-panel
  .rb-quick-field.rb-quick-field.rb-quick-field.rb-quick-field {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 13px 0 39px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid #e6e6e2 !important;
    border-radius: 10px !important;
    background: #f7f7f4 !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 50px !important;
    text-align: right !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle span {
    max-width: 100% !important;
    overflow: hidden !important;
    display: block !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle::after {
    content: "\f107" !important;
    width: 22px !important;
    height: 22px !important;
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    margin-top: -11px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--rb-home-accent) !important;
    border-radius: 50% !important;
    color: #9b6d00 !important;
    font-family: FontAwesome, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  html.route-common-home .rb-quick-menu {
    display: none !important;
    max-height: 220px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid #deded9 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .3) !important;
    box-sizing: border-box !important;
  }

  html.route-common-home .rb-quick-menu.rb-quick-menu-floating {
    display: block !important;
  }

  html.route-common-home .rb-quick-option {
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 13px !important;
    display: block !important;
    border: 0 !important;
    border-bottom: 1px solid #eeeeeb !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: right !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--rb-home-accent) !important;
    color: var(--rb-home-accent-ink) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(243, 191, 60, .18) !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit::before {
    content: "\f002" !important;
    font-family: FontAwesome, sans-serif !important;
    font-size: 14px !important;
  }

  html.route-common-home .notification-wrapper-bottom {
    padding: 0 12px 12px !important;
    align-items: flex-end !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
  }

  html.route-common-home .notification-wrapper-bottom .module-notification.notification {
    width: 100% !important;
    max-width: 520px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 14px !important;
    background: rgba(24, 28, 29, .97) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .38) !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
  }

  html.route-common-home .notification-wrapper-bottom .notification-content,
  html.route-common-home .notification-wrapper-bottom .notification-content > div {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-common-home .notification-wrapper-bottom .notification-title {
    margin: 0 0 5px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
  }

  html.route-common-home .notification-wrapper-bottom .notification-text {
    margin: 0 !important;
    color: #c9cdcd !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  html.route-common-home .notification-wrapper-bottom .notification-close {
    width: auto !important;
    min-width: 58px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--rb-home-accent) !important;
    color: var(--rb-home-accent-ink) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }
}

@media (max-width: 359px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto repeat(4, 50px) 50px !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    grid-column: 1 !important;
  }
}
/* --- RB_MOBILE_HOME_20260729_END ------------------------------------------ */

/* --- RB_MOBILE_SECTIONS_20260729_START ------------------------------------
   Mobile-only discoverability and aspect-ratio fixes for the lower homepage. */
@media (max-width: 991px) {
  /* Eight cards are present in this module. Leave a clear third-card peek so
     visitors immediately understand that the row can be swiped. */
  html.route-common-home .module-blocks-1224 .module-body > .ipr-grid {
    gap: 12px !important;
    padding-inline-end: 8px !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-inline: contain !important;
  }

  html.route-common-home .module-blocks-1224 .module-body > .ipr-grid > .block-item {
    flex: 0 0 42% !important;
    width: 42% !important;
    min-width: 42% !important;
    scroll-snap-align: start !important;
  }

  /* Source artwork is 410x545 portrait. The previous 170px landscape box
     cropped away most of every poster on phones. */
  html.route-common-home .rb-champion-lower-home .rb-product-showcase .rb-row-feature {
    width: min(100%, 410px) !important;
    height: auto !important;
    aspect-ratio: 410 / 545 !important;
    margin: 0 auto !important;
    border-radius: 8px !important;
    background: #0c0d0d !important;
  }

  html.route-common-home .rb-champion-lower-home .rb-product-showcase .rb-row-feature img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  /* Reset the desktop offset and make the full manufacturer rail visible.
     Three complete logos plus a partial fourth communicate horizontal swipe. */
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 {
    width: calc(100vw - 24px) !important;
    min-width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    left: calc(50% - 50vw + 12px) !important;
    margin: 20px 0 0 !important;
    padding: 12px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .12) !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-body,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-item,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .auto-grid-items {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    gap: 10px !important;
    padding: 0 20px 6px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .auto-grid-items::-webkit-scrollbar {
    display: none !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-layout {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 76px !important;
    flex: 0 0 86px !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 8px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb .image,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }
}
/* --- RB_MOBILE_SECTIONS_20260729_END -------------------------------------- */

/* --- RB_MOBILE_DISCOUNT_CALLOUT_20260729_START ----------------------------
   Keep the product's own percentage badge, but remove the large promotional
   callout above New Arrivals cards on phone and tablet layouts. */
@media (max-width: 991px) {
  html.route-common-home .rb-new-arrivals::before {
    display: none !important;
    content: none !important;
  }
}
/* --- RB_MOBILE_DISCOUNT_CALLOUT_20260729_END ------------------------------ */

/* --- RB_MOBILE_MANUFACTURERS_FLUSH_20260729_START -------------------------
   The bottom-row wrapper is narrower and offset on phones. Break the
   manufacturer rail out to the viewport and use four equal, gapless cells. */
@media (max-width: 991px) {
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    left: 3px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-body {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .auto-grid-items {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-layout {
    width: 25% !important;
    min-width: 25% !important;
    max-width: 25% !important;
    height: 72px !important;
    flex: 0 0 25% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    padding: 8px !important;
    gap: 0 !important;
    border-radius: 0 !important;
  }
}
/* --- RB_MOBILE_MANUFACTURERS_FLUSH_20260729_END --------------------------- */

/* --- RB_LEFT_HERO_WRAP_CONTROLS_20260729_START ----------------------------
   Journal draws both stacked controls with the same chevron in RTL. */
@media (min-width: 992px) {
  html.route-common-home .module-slider-729 .swiper-button-next::before,
  html.route-common-home .module-slider-729 .swiper-button-next::after {
    display: inline-block !important;
    transform: scaleX(-1) !important;
  }
}
/* --- RB_LEFT_HERO_WRAP_CONTROLS_20260729_END ------------------------------ */

/* --- RB_MOBILE_HOME_AND_CATEGORY_POLISH_20260802_START --------------------
   Phone-only cleanup for the homepage footer modules and category listings. */
@media (max-width: 767px) {
  html.route-common-home .rb-home-terms {
    margin: 18px 0 0 !important;
    border-radius: 14px 14px 0 0 !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(21, 25, 27, .12) !important;
  }

  html.route-common-home .rb-home-terms .rb-home-red-title {
    min-height: 50px !important;
    padding: 0 16px !important;
    justify-content: center !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  html.route-common-home .rb-home-term-list {
    min-height: 0 !important;
    padding: 14px 12px 16px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px 7px !important;
  }

  html.route-common-home .rb-home-term-list a {
    min-height: 32px !important;
    padding: 0 13px !important;
    border-color: #dfe3e6 !important;
    border-radius: 999px !important;
    background: #f5f6f7 !important;
    color: #303538 !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 {
    width: calc(100vw - 24px) !important;
    min-width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    padding: 10px 8px 12px !important;
    border-top: 1px solid #edf0f2 !important;
    border-radius: 0 0 14px 14px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(21, 25, 27, .12) !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-body,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-item,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .auto-grid-items {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 9px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-layout {
    width: 25% !important;
    min-width: 25% !important;
    max-width: 25% !important;
    height: 68px !important;
    flex: 0 0 25% !important;
    scroll-snap-align: start !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-layout + .manufacturer-layout {
    border-inline-start: 1px solid #edf0f2 !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    padding: 9px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb img {
    max-height: 50px !important;
    object-fit: contain !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb .caption {
    display: none !important;
  }

  html.route-product-category #content {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    flex: 0 0 calc(100vw - 24px) !important;
    margin: 12px auto 26px !important;
    padding: 0 !important;
  }

  html.route-product-category #content > .page-title {
    margin: 0 0 16px !important;
    font-size: 25px !important;
    line-height: 1.25 !important;
  }

  html.route-product-category #content-top {
    width: 100% !important;
    height: auto !important;
    margin: 0 0 14px !important;
  }

  html.route-product-category #content-top .grid-row-content-top-1 {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dde2e5 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(21, 25, 27, .08) !important;
    overflow: hidden !important;
  }

  html.route-product-category #content-top .grid-row-content-top-1 > .row-bg {
    display: none !important;
  }

  html.route-product-category #content-top .grid-cols-wrapper,
  html.route-product-category #content-top .grid-cols,
  html.route-product-category #content-top .grid-col,
  html.route-product-category #content-top .grid-items,
  html.route-product-category #content-top .grid-item,
  html.route-product-category #content-top .module-categories-1025,
  html.route-product-category #content-top .module-categories-1025 .module-body,
  html.route-product-category #content-top .module-categories-1025 .module-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html.route-product-category #content-top .module-categories-1025 {
    border: 0 !important;
    box-shadow: none !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-grid {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html.route-product-category #content-top .module-categories-1025 .auto-grid-items {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    gap: 9px !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    transform: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.route-product-category #content-top .module-categories-1025 .auto-grid-items::-webkit-scrollbar {
    display: none !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-layout {
    width: 106px !important;
    min-width: 106px !important;
    max-width: 106px !important;
    height: 126px !important;
    flex: 0 0 106px !important;
    scroll-snap-align: start !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 126px !important;
    padding: 8px 6px 7px !important;
    border: 1px solid #e2e6e8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-layout.active .category-thumb {
    border-color: #f3b900 !important;
    background: #fffaf0 !important;
    box-shadow: inset 0 0 0 1px rgba(243, 185, 0, .18) !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .image,
  html.route-product-category #content-top .module-categories-1025 .category-thumb .image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 82px !important;
    height: 82px !important;
    margin: 0 auto !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .image img {
    width: 82px !important;
    height: 82px !important;
    object-fit: contain !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .caption {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 28px !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .name {
    width: 100% !important;
    margin: 0 !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .description,
  html.route-product-category #content-top .module-categories-1025 .category-thumb .button-group {
    display: none !important;
  }

  html.route-product-category .main-products-wrapper .products-filter {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 54px !important;
    margin: 0 0 14px !important;
    padding: 9px !important;
    gap: 7px !important;
    border: 1px solid #dde2e5 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 7px 18px rgba(21, 25, 27, .06) !important;
  }

  html.route-product-category .products-filter .view-btn {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    border: 1px solid #dce1e4 !important;
    border-radius: 8px !important;
    background: #f6f7f8 !important;
    color: #202527 !important;
  }

  html.route-product-category .products-filter .view-btn.active {
    border-color: #f3b900 !important;
    background: #f3bf3c !important;
    color: #171a1b !important;
  }

  html.route-product-category .products-filter select.form-control {
    height: 34px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    border: 1px solid #dce1e4 !important;
    border-radius: 8px !important;
    background: #24292b !important;
    color: #fff !important;
    font-size: 12px !important;
  }

  html.route-product-category .main-products.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html.route-product-category .main-products.product-grid > .product-layout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-product-category .main-products.product-grid .product-thumb {
    height: 100% !important;
    min-height: 272px !important;
    padding: 0 !important;
    border: 1px solid #e0e4e6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(21, 25, 27, .07) !important;
    overflow: hidden !important;
  }

  html.route-product-category .main-products.product-grid .image-group {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  html.route-product-category .main-products.product-grid .caption {
    width: 100% !important;
    min-height: 112px !important;
    height: auto !important;
    padding: 10px !important;
  }

  html.route-product-category .main-products.product-grid .name {
    width: 100% !important;
    margin: 5px 0 7px !important;
    justify-content: flex-start !important;
    text-align: right !important;
  }

  html.route-product-category .main-products.product-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  html.route-product-category .main-products.product-list > .product-layout {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 132px !important;
    min-height: 132px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html.route-product-category .main-products.product-list .product-thumb {
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    grid-template-rows: 116px !important;
    gap: 0 !important;
    width: 100% !important;
    height: 132px !important;
    padding: 8px !important;
    border: 1px solid #e0e4e6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(21, 25, 27, .07) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html.route-product-category .main-products.product-list .image-group,
  html.route-product-category .main-products.product-list .image,
  html.route-product-category .main-products.product-list .product-img,
  html.route-product-category .main-products.product-list .product-img > div,
  html.route-product-category .main-products.product-list .product-img img {
    grid-column: 1 !important;
    width: 116px !important;
    height: 116px !important;
    min-width: 116px !important;
    max-width: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    object-fit: contain !important;
  }

  html.route-product-category .main-products.product-list .caption {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 116px !important;
    min-height: 116px !important;
    padding: 7px 11px 6px !important;
    align-items: stretch !important;
    text-align: right !important;
  }

  html.route-product-category .main-products.product-list .stats {
    width: 100% !important;
  }

  html.route-product-category .main-products.product-list .name {
    width: 100% !important;
    margin: 5px 0 4px !important;
    justify-content: flex-start !important;
    text-align: right !important;
  }

  html.route-product-category .main-products.product-list .name a {
    display: -webkit-box !important;
    overflow: hidden !important;
    width: 100% !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  html.route-product-category .main-products.product-list .price {
    width: 100% !important;
    margin: auto 0 0 !important;
    justify-content: flex-start !important;
    text-align: right !important;
  }

  html.route-product-category .main-products.product-list .description,
  html.route-product-category .main-products.product-list .rating,
  html.route-product-category .main-products.product-list .buttons-wrapper,
  html.route-product-category .main-products.product-list .extra-group {
    display: none !important;
  }
}
/* --- RB_MOBILE_HOME_AND_CATEGORY_POLISH_20260802_END ---------------------- */

/* --- RB_MOBILE_CATEGORY_DARK_LIST_20260802_START --------------------------
   Match the compact dark mobile list reference without changing grid view. */
@media (max-width: 767px) {
  html.route-product-category .main-products.product-list {
    gap: 0 !important;
    padding: 0 5px !important;
    border-radius: 0 !important;
    background: #181c1d !important;
    box-shadow: none !important;
  }

  html.route-product-category .main-products.product-list > .product-layout {
    height: 154px !important;
    min-height: 154px !important;
    border-bottom: 1px solid #343839 !important;
  }

  html.route-product-category .main-products.product-list > .product-layout:last-child {
    border-bottom: 0 !important;
  }

  html.route-product-category .main-products.product-list .product-thumb {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    grid-template-rows: 130px !important;
    height: 154px !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.route-product-category .main-products.product-list .image-group,
  html.route-product-category .main-products.product-list .image,
  html.route-product-category .main-products.product-list .product-img,
  html.route-product-category .main-products.product-list .product-img > div,
  html.route-product-category .main-products.product-list .product-img img {
    grid-column: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 84px !important;
    height: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    min-height: 84px !important;
    max-height: 84px !important;
    border-radius: 5px !important;
    background: #fff !important;
    object-fit: contain !important;
    overflow: hidden !important;
  }

  html.route-product-category .main-products.product-list .caption {
    display: grid !important;
    grid-template-rows: 16px minmax(0, 1fr) 23px !important;
    align-content: stretch !important;
    align-items: start !important;
    grid-column: 2 !important;
    width: 100% !important;
    height: 130px !important;
    min-height: 130px !important;
    padding: 3px 10px 2px 0 !important;
    background: transparent !important;
    color: #fff !important;
  }

  html.route-product-category .main-products.product-list .stats,
  html.route-product-category .main-products.product-list .stats-group {
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 16px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html.route-product-category .main-products.product-list .stats-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    direction: ltr !important;
  }

  html.route-product-category .main-products.product-list .stats-label {
    display: none !important;
  }

  html.route-product-category .main-products.product-list .stats-group > .stat-1 {
    display: block !important;
    order: 2 !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 58% !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #aeb4b6 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    direction: ltr !important;
    text-align: right !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html.route-product-category .main-products.product-list .stat-1 > span:not(.stats-label),
  html.route-product-category .main-products.product-list .stat-1 a {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: #aeb4b6 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    direction: ltr !important;
    text-align: right !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  html.route-product-category .main-products.product-list .stats-group > .stat-2,
  html.route-product-category .main-products.product-list .dynamic-in-stock {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #25d67a !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    direction: rtl !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  html.route-product-category .main-products.product-list .dynamic-in-stock {
    font-size: 0 !important;
  }

  html.route-product-category .main-products.product-list .dynamic-in-stock::after {
    content: "متوفر";
    font-size: 12px !important;
    font-family: Tahoma, sans-serif !important;
    direction: rtl !important;
    unicode-bidi: isolate !important;
  }

  html.route-product-category .main-products.product-list .name {
    display: block !important;
    grid-row: 2 !important;
    align-self: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: 57px !important;
    margin: 3px 0 2px !important;
    overflow: hidden !important;
  }

  html.route-product-category .main-products.product-list .name a {
    display: -webkit-box !important;
    max-height: 57px !important;
    overflow: hidden !important;
    color: #f4f5f5 !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  html.route-product-category .main-products.product-list .price {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    grid-row: 3 !important;
    align-self: end !important;
    align-items: flex-end !important;
    width: 100% !important;
    height: 23px !important;
    min-height: 23px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    direction: ltr !important;
    text-align: right !important;
    overflow: hidden !important;
  }

  html.route-product-category .main-products.product-list .price > div {
    margin-right: 0 !important;
    margin-left: auto !important;
  }

  html.route-product-category .main-products.product-list .price-normal,
  html.route-product-category .main-products.product-list .price-new {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 900 !important;
  }

  html.route-product-category .main-products.product-list .price-old {
    display: none !important;
  }

  html.route-product-category .main-products.product-list .price-tax {
    display: none !important;
  }

  html.route-product-category .main-products.product-list .product-labels-price {
    display: none !important;
  }

  html.route-product-category .main-products.product-list .floating-wishlist {
    top: 7px !important;
    right: 7px !important;
  }

  html.route-product-category .main-products.product-list .quickview-button {
    right: 6px !important;
    bottom: 6px !important;
  }
}
/* --- RB_MOBILE_CATEGORY_DARK_LIST_20260802_END ---------------------------- */

/* --- RB_MOBILE_CATEGORY_JOURNAL_DARK_RESTORE_20260802_START ---------------
   Restore the original Journal dark category treatment on phones only. */
@media (max-width: 767px) {
  html.route-product-category:not(.popup),
  html.route-product-category:not(.popup) body,
  html.route-product-category:not(.popup) body .global-wrapper,
  html.route-product-category:not(.popup) body .site-wrapper,
  html.route-product-category:not(.popup) body #product-category {
    background: #181c1d !important;
  }

  html.route-product-category:not(.popup) body .breadcrumbs,
  html.route-product-category:not(.popup) body .breadcrumbs * {
    background: #181c1d !important;
    color: #8e9699 !important;
  }

  html.route-product-category:not(.popup) body #product-category #content,
  html.route-product-category:not(.popup) body #product-category #content > .page-title,
  html.route-product-category:not(.popup) body #product-category #content > .page-title * {
    background: transparent !important;
    color: #f5f6f6 !important;
  }

  html.route-product-category #content > .page-title {
    margin-bottom: 24px !important;
    border-bottom-color: #353a3c !important;
  }

  html.route-product-category #content > .page-title:after {
    background: #ff5b14 !important;
  }

  html.route-product-category #content-top .grid-row-content-top-1 {
    padding: 22px 0 18px !important;
    border: 2px solid #ff5b14 !important;
    border-radius: 4px !important;
    background: #24292a !important;
    box-shadow: none !important;
  }

  html.route-product-category #content-top .grid-cols-wrapper,
  html.route-product-category #content-top .grid-cols,
  html.route-product-category #content-top .grid-col,
  html.route-product-category #content-top .grid-items,
  html.route-product-category #content-top .grid-item,
  html.route-product-category #content-top .module-categories-1025,
  html.route-product-category #content-top .module-categories-1025 .module-body,
  html.route-product-category #content-top .module-categories-1025 .module-item,
  html.route-product-category #content-top .module-categories-1025 .category-grid {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html.route-product-category #content-top .grid-item,
  html.route-product-category #content-top .module-categories-1025 {
    border: 0 !important;
    box-shadow: none !important;
  }

  html.route-product-category #content-top .module-categories-1025 .auto-grid-items {
    gap: 8px !important;
    padding: 0 24px 4px !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-layout {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    height: 118px !important;
    flex: 0 0 180px !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb,
  html.route-product-category #content-top .module-categories-1025 .category-layout.active .category-thumb {
    width: 180px !important;
    height: 118px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .image,
  html.route-product-category #content-top .module-categories-1025 .category-thumb .image a {
    width: 86px !important;
    height: 86px !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .image img {
    width: 86px !important;
    height: 86px !important;
    border-radius: 14px !important;
    object-fit: contain !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .caption {
    min-height: 24px !important;
    margin-top: 8px !important;
    background: transparent !important;
  }

  html.route-product-category #content-top .module-categories-1025 .category-thumb .name,
  html.route-product-category #content-top .module-categories-1025 .category-thumb .name a {
    color: #b9bec0 !important;
    font-size: 11px !important;
  }

  html.route-product-category .main-products-wrapper,
  html.route-product-category .main-products-wrapper .products-filter {
    background: transparent !important;
  }

  html.route-product-category .main-products-wrapper .products-filter {
    min-height: 44px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html.route-product-category .products-filter .view-btn {
    border: 0 !important;
    background: transparent !important;
    color: #f5f6f6 !important;
  }

  html.route-product-category .products-filter .view-btn.active {
    background: transparent !important;
    color: #f3bf3c !important;
  }

  html.route-product-category .products-filter select.form-control {
    border-color: #394043 !important;
    border-radius: 4px !important;
    background: #202526 !important;
    color: #f5f6f6 !important;
    box-shadow: none !important;
  }

  html.route-product-category .main-products.product-list {
    border-top: 1px solid #343839 !important;
    border-bottom: 1px solid #343839 !important;
    background: #181c1d !important;
  }

  html.route-product-category .main-products.product-list .product-layout.has-special .price-new {
    color: #ff4f4f !important;
  }

  html.route-product-category .main-products.product-list .product-layout.has-special .price-old {
    color: #8f979a !important;
    text-decoration: line-through !important;
  }
}
/* --- RB_MOBILE_CATEGORY_JOURNAL_DARK_RESTORE_20260802_END ----------------- */

/* --- RB_REELS_HEAD_MOBILE (2026-08-02) ------------------------------------
   Journal generates its own sizing rule for every child of the blocks grid:

     .module-blocks-1213.blocks-grid>.module-body>.ipr-grid
       >.block-item:not(.swiper-slide){padding:12px;width:calc(100%/2 - .01px)}

   That selector scores 0,6,0 and so beats the width:100% set on .ilm-rl-head
   above (0,4,0, no !important). It hits the heading as well as the reel
   cards, even though the heading is position:absolute -- so the head box
   became half the 100vw band (~156px on a phone) and margin:0 auto centred it
   over the cards. The two 44px nav buttons then consumed the whole row and
   the heading was squeezed to ~16px, wrapping to one letter per line.

   Phones only: let the head span the band again so the title sits on the
   gutter line with the cards and the nav sits at the opposite edge. */
@media (max-width: 900px) {
  .module-blocks-1213.ilm-reels-module .block-item.ilm-rl-head {
    width: auto !important;      /* with inset-inline:0 this stretches the band */
    max-width: none !important;
    margin: 0 !important;
    padding: 0 20px !important;  /* matches .module-body's gutter */
  }
  .module-blocks-1213.ilm-reels-module .ilm-rl-head .block-wrapper {
    gap: 12px !important;
  }
  .module-blocks-1213.ilm-reels-module .ilm-rl-head .block-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
  }
  .module-blocks-1213.ilm-reels-module .ilm-rl-head .block-content {
    flex: 0 0 auto !important;
  }
}
/* --- RB_REELS_HEAD_MOBILE_END --------------------------------------------- */


/* --- RB_MOBILE_HERO_1225 (2026-08-02) -------------------------------------
   Mobile now shows the current banner carousel (module 1225, 1600x560 art)
   instead of the older module 729 (1499x1049 lifestyle shots).

   Division of labour, learned the hard way: the enhancer's applyHeroLayout()
   positions and sizes the *module* with inline !important styles, which no
   stylesheet rule can override. But it never touches the inner swiper chain,
   and those elements still need an explicit height here or the revealed
   slider collapses into a black band. So the JS owns the outer box and this
   block owns everything inside it.

   35vw is deliberate: the strip is 100vw wide, so 100/35 = 2.857:1, which is
   exactly the banners' native 1600x560 ratio. The art fills the strip edge to
   edge with nothing cropped and no empty bars.

   Mirrors the proven module-729 block above, and is placed after it so it
   wins on source order at equal specificity. */
@media (max-width: 991px) {
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-729 {
    display: none !important;
    pointer-events: none !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .grid-module-top-1-1-2 {
    display: block !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slider-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-container,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-wrapper,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-slide,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content-image {
    width: 100% !important;
    max-width: 100% !important;
    height: 35vw !important;
    min-height: 35vw !important;
    max-height: 35vw !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 {
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .slide-content-image img:not(.rb-hero-slide-paint) {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    opacity: 1 !important;
  }

  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-buttons,
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .swiper-pagination-wrapper {
    display: none !important;
  }

  /* Journal leaves this spinner behind when a slider is initialised late,
     which is exactly what happens to 1225 now that it starts hidden. */
  html.route-common-home.rb-hero-enhanced .grid-row-top-1 .module-slider-1225 .journal-loading {
    display: none !important;
  }
}
/* --- RB_MOBILE_HERO_1225_END ---------------------------------------------- */


/* --- RB_QUICK_SEARCH_COMPACT (2026-08-02) ---------------------------------
   Phone version of the بحث سريع panel, second pass — tighter again.
   Original was ~376px tall on a one-column handset (22px title, 50px fields,
   50px button, 10px gaps); this brings it to roughly 265px, about 30% down.

   Same design language throughout: dark gradient card, yellow accent rule
   under the heading, white pill selects with the circled chevron, yellow
   search button. Everything is scaled together — accent rule, chevron circle,
   corner radii and shadows all step down with the type so nothing reads as
   oversized on the smaller card.

   Selects sit at 36px and the submit button is held at 38px: the button is
   the one control that must stay easy to hit, and keeping it slightly taller
   than the selects also gives the card a clear visual anchor at the bottom.

   Appended after the original block so it wins on source order at equal
   specificity; the narrow-phone override must stay last so its four-field row
   count still beats the row template set here. */
@media (max-width: 991px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    max-width: 380px !important;
    margin: 10px auto 16px !important;
    padding: 11px 10px 10px !important;
    grid-template-rows: auto repeat(2, 36px) 38px !important;
    gap: 7px !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .24) !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2 {
    margin: 0 0 2px !important;
    padding: 0 0 7px !important;
    font-size: 15px !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::after {
    width: 28px !important;
    height: 2px !important;
  }

  html.route-common-home body .grid-rows >
  .rb-quick-search-panel.rb-quick-search-panel
  .rb-quick-field.rb-quick-field.rb-quick-field.rb-quick-field {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle {
    height: 36px !important;
    padding: 0 10px 0 30px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    line-height: 36px !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle::after {
    width: 17px !important;
    height: 17px !important;
    left: 7px !important;
    margin-top: -8.5px !important;
    font-size: 9px !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 12px !important;
    gap: 6px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    box-shadow: 0 5px 12px rgba(243, 191, 60, .15) !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit::before {
    font-size: 12px !important;
  }
}

/* One column on the narrowest phones — must stay after the block above so the
   four-field row count wins. */
@media (max-width: 359px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    grid-template-rows: auto repeat(4, 36px) 38px !important;
  }
}
/* --- RB_QUICK_SEARCH_COMPACT_END ------------------------------------------ */

/* --- RB_MOBILE_SHOWCASE_DARK (2026-08-02) ---------------------------------
   Desktop gets one continuous full-bleed #131313 band behind the whole lower
   home area (RB_SHOWCASE_FULLBLEED above), but that block is gated behind
   min-width:1200px. Below it, .rb-champion-lower-home stayed a narrow
   calc(100vw - 24px) column, so the light page background showed through
   between every banner and product rail — the thing that looked "reverted"
   on phones.

   This mirrors the desktop treatment for everything under 1200px: same
   #131313, same full-bleed technique, just phone-sized padding instead of
   the 1514px centring. Rows go transparent so the band is continuous,
   headings go white, and the product cards stay white so they still read as
   cards against the dark band — exactly as they do on desktop. */
@media (max-width: 1199px) {
  html.route-common-home body .rb-champion-lower-home {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 18px 12px 22px !important;
    background: #131313 !important;
    box-sizing: border-box !important;
  }

  html.route-common-home body .rb-champion-lower-home .rb-product-showcase {
    width: 100% !important;
    max-width: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 22px !important;
    box-sizing: border-box !important;
  }

  html.route-common-home body .rb-champion-lower-home .rb-product-showcase:last-of-type {
    margin-bottom: 0 !important;
  }

  /* Let the band colour show through the inner wrappers. */
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-body,
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-strip,
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-heading,
  html.route-common-home body .rb-champion-lower-home .rb-home-banner-row {
    background: transparent !important;
  }

  /* Row titles sit on the dark band now, same as desktop. */
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-heading h2,
  html.route-common-home body .rb-champion-lower-home .rb-row-heading h2 {
    color: #fff !important;
  }

  /* Cards stay white so they read as cards on the dark band. */
  html.route-common-home body .rb-champion-lower-home .rb-product-showcase .rb-row-product {
    background: #fff !important;
    border-radius: 10px !important;
  }
}
/* --- RB_MOBILE_SHOWCASE_DARK_END ------------------------------------------ */


/* --- RB_MOBILE_BRANDS_FULLWIDTH (2026-08-02, rev 2) -----------------------
   Corrected after reading the real DOM. The rail is NOT inside
   .rb-champion-lower-home, so the dark band's padding was never the cause.
   Actual ancestry is:

     .bottom.bottom-row > .grid-rows > .grid-row-bottom-2 (fullwidth-row)
       > .grid-cols-wrapper > .grid-cols > .grid-col > .grid-items
       > .grid-item.grid-module-bottom-2-1-1 > .module-manufacturers-588

   and the module carries Journal's `align-to-content`, which pins it to the
   content width. The dark strips down each side were simply the full-width
   row showing past that constrained module.

   Rev 1 tried a negative-margin breakout. That was the wrong tool twice over:
   unnecessary (the row is already full width) and unsafe, because Journal
   sets `.phone .site-wrapper{overflow:hidden}`, which clips anything pushed
   outside the wrapper. So instead of fighting outward, flatten the ancestor
   chain to full width with no padding and let the rail simply fill the row —
   no negative margins, nothing to clip. */
@media (max-width: 991px) {
  html.route-common-home .grid-row-bottom-2,
  html.route-common-home .grid-row-bottom-2 > .grid-cols-wrapper,
  html.route-common-home .grid-row-bottom-2 .grid-cols,
  html.route-common-home .grid-row-bottom-2 .grid-col,
  html.route-common-home .grid-row-bottom-2 .grid-items,
  html.route-common-home .grid-row-bottom-2 .grid-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Beat `align-to-content`'s content-width cap and the desktop left: calc()
     offset from the base rule. */
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588,
  html.route-common-home .module-manufacturers-588.align-to-content {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .module-body,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .swiper-container,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .swiper-wrapper,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-grid,
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .auto-grid-items {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-layout {
    width: 25% !important;
    min-width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  /* Cells stay white so the dark logo marks stay readable; the 1px #e2e2e2
     border that drew lines between them is removed. */
  html.route-common-home.rb-home-full-enhanced .module-manufacturers-588 .manufacturer-thumb {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 8px !important;
    gap: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }
}
/* --- RB_MOBILE_BRANDS_FULLWIDTH_END --------------------------------------- */

/* --- RB_MOBILE_BRANDS_TILE_BG (2026-08-02) --------------------------------
   The dark "sides" were per-logo, not per-strip. Journal styles the anchor
   inside each tile as an image well:

     .module-manufacturers-588 .manufacturer-thumb .image a {
       background-color: hsla(var(--j-color-scheme-image-background-h) ...);
       border-radius: 4px;
     }

   That scheme colour is dark. Combined with the logo being capped small
   (.module-manufacturers-588 .image img is max-width:120px, 50px under
   768px, with width:auto), the image never covered its well, so the dark
   showed down both sides of every logo.

   Two fixes: force the well white (the colour comes from a CSS variable, so
   the custom property is reset too, not just background-color), and let the
   logo fill the tile. object-fit:contain keeps each brand mark undistorted —
   these logos have very different aspect ratios, so cover would crop them. */
@media (max-width: 991px) {
  html.route-common-home .module-manufacturers-588 .manufacturer-thumb .image,
  html.route-common-home .module-manufacturers-588 .manufacturer-thumb .image a,
  html.route-common-home .module-manufacturers-588 .manufacturer-thumb > a {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    background-color: #fff !important;
    --background-color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    --element-border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  /* Beat the 120px / 50px width caps and width:auto so the mark fills the
     tile. Specificity here is higher than those rules, which also use
     !important. */
  html.route-common-home .module-manufacturers-588 .manufacturer-thumb .image img,
  html.route-common-home .module-manufacturers-588 .manufacturer-thumb img,
  html.route-common-home .module-manufacturers-588 .image img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
    border-radius: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
/* --- RB_MOBILE_BRANDS_TILE_BG_END ----------------------------------------- */


/* --- RB_FILTER_BAR_TOP (2026-08-03) --------------------------------------
   Quick filter presented as a full-bleed toolbar directly beneath the menu,
   styled to match the reference "Find Parts" strip as closely as the
   different content allows (RTL, four filters instead of three, and dropdown
   toggles rather than free-text inputs).

   No JS change. The enhancer inserts the panel as hero.nextSibling, and
   `#top .grid-rows` is a flex column whose children all default to order:0,
   so a negative order lifts it above the hero while leaving the build logic
   (and the rebuild when live search data arrives) untouched.

   Supersedes RB_QUICK_PANEL_BELOW_HERO's centred-card treatment; placed later
   in the file so it wins on source order. */

/* Lift above the hero at every width. */
html.route-common-home .grid-rows > .rb-quick-search-panel {
  order: -1 !important;
}

@media (min-width: 992px) {
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    /* Full-bleed grey band. Inner content lines up with a 1460px grid to
       match the reference's wider spread; max() keeps a gutter on viewports
       narrower than that instead of going negative. */
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 7px max(16px, calc(50vw - 730px)) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #8b8f91 !important;
    border: 0 !important;

    /* label + 4 dropdowns + button, one tight line */
    display: grid !important;
    grid-template-columns: auto repeat(4, minmax(0, 1fr)) 118px !important;
    grid-template-rows: auto !important;
    grid-auto-rows: 30px !important;
    align-items: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  /* Leading label inline at the start of the bar (right, in RTL), matching
     "Find Parts 2.0" rather than sitting centred on its own line. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2 {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 6px 0 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
    text-align: right !important;
    color: #fff !important;
  }

  /* The accent underline belongs to the card treatment, not a toolbar. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::after,
  html.route-common-home body .grid-rows > .rb-quick-search-panel h2::before {
    display: none !important;
    content: none !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-field,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle,
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: center !important;
  }

  /* Plain white rectangles like the reference's inputs: square-ish corners,
     hairline border, no pill radius. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle {
    border-radius: 2px !important;
    border: 1px solid #cfd2d3 !important;
    background: #fff !important;
    color: #33393b !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 30px !important;
    padding: 0 26px 0 9px !important;
    box-shadow: none !important;
  }

  /* Replace the yellow circled chevron with a small flat caret. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-toggle::after {
    width: auto !important;
    height: auto !important;
    inset-inline-start: auto !important;
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    margin-top: -7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: #6b7173 !important;
    font-size: 12px !important;
    line-height: 14px !important;
  }

  /* Flat button, sized like the reference's Search/Reset. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel .rb-quick-submit {
    border-radius: 2px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 0 10px !important;
    align-self: center !important;
    position: relative !important;
    top: auto !important;
    box-shadow: none !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
  }
}
/* --- RB_FILTER_BAR_TOP_END ------------------------------------------------ */

/* --- RB_HERO_CONTAINED (2026-08-03) --------------------------------------
   Reference framing: the hero sits in a contained box on a light page rather
   than bleeding edge to edge. applyHeroLayout() now sizes the row to
   min(1240px,92vw); this supplies the surround and moves the slider controls
   below the box like the references dots. backend/ deploy/ docs/ mobile/ scripts/ tools/

/* --- RB_HERO_CONTAINED (2026-08-03) --------------------------------------
   Reference framing: the hero sits in a contained box on a light page rather
   than bleeding edge to edge. applyHeroLayout() now sizes the row to
   min(1240px, 92vw) via inline styles (CSS cannot reach it, the JS writes
   !important); this block supplies the light surround and moves the slider
   controls off the artwork, the way the reference keeps its art clean and
   puts the dots underneath. */
@media (min-width: 992px) {
  html.route-common-home body #top,
  html.route-common-home body .grid-rows {
    background: #fff !important;
  }

  /* Overlay arrows and the 1/4 counter sit on top of the art in our build. */
  html.route-common-home body .grid-row-top-1 .module-slider-1225 .swiper-buttons,
  html.route-common-home body .grid-row-top-1 .module-slider-729 .swiper-buttons {
    display: none !important;
  }

  html.route-common-home body .grid-row-top-1 .module-slider-1225 .swiper-pagination-wrapper {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 10px !important;
    top: auto !important;
    display: flex !important;
    justify-content: center !important;
    z-index: 6 !important;
  }

  /* The filter bar now sits on a light page, so hold the grey. */
  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    background: #8b8f91 !important;
  }
}
/* --- RB_HERO_CONTAINED_END ------------------------------------------------ */

@media (min-width: 992px) {
  html.route-common-home body .rb-quick-search-panel,
  html.route-common-home body .rb-quick-search-panel .rb-quick-field {
    overflow: visible !important;
  }

  html.route-common-home body .grid-rows > .rb-quick-search-panel {
    position: relative !important;
    z-index: 20 !important;
    isolation: isolate !important;
  }

  html.route-common-home body header,
  html.route-common-home body header .desktop-main-menu-wrapper,
  html.route-common-home body header .main-menu,
  html.route-common-home body header .main-menu > .j-menu,
  html.route-common-home body header .main-menu .j-dropdown {
    z-index: 2000 !important;
  }

  html.route-common-home body header .desktop-main-menu-wrapper,
  html.route-common-home body header .main-menu,
  html.route-common-home body header .main-menu > .j-menu {
    overflow: visible !important;
  }

  html.route-common-home body .grid-rows > .grid-row-top-1 {
    position: relative !important;
    z-index: 1 !important;
  }

  html.route-common-home body .rb-quick-search-panel .rb-quick-menu.rb-quick-menu-floating {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 1000 !important;
  }
}

@media (min-width: 1200px) {
  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 {
    width: min(1514px, 96vw) !important;
    min-width: min(1514px, 96vw) !important;
    max-width: none !important;
    padding: 16px 0 !important;
    overflow: hidden !important;
  }

  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .module-body,
  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .module-item,
  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .manufacturer-grid,
  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .auto-grid-items {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .auto-grid-items {
    gap: 12px !important;
  }

  html.route-common-home.rb-home-full-enhanced body .module-manufacturers-588 .manufacturer-layout {
    width: calc((100% - 120px) / 11) !important;
    min-width: calc((100% - 120px) / 11) !important;
    max-width: calc((100% - 120px) / 11) !important;
    flex: 0 0 calc((100% - 120px) / 11) !important;
    margin: 0 !important;
  }
}
