/* ==== SITE-BEST BATCH 1 (items 7, 8, 10, 9) · Theme draft 2026-10-23 ====
   Paste as ONE block at the end of Additional CSS, ONE save (= one LiteSpeed purge via #281).
   Each item is also delimited so it can be removed on its own for rollback. Source sidecars live in specs/<nn>-…/. */

/* ==== SITE-BEST 7 · Dead ends: search no-results + empty cart · Theme 2026-10-23 ====
   Scope: body.search-no-results / body.rtb-search-zero (search, 0 results) and
          body.woocommerce-cart (only the empty-cart blocks .rtb-sb7-*).
   Markup: snippet #80 patch (SPEC §Markup). Tokens: live :root --rx-*. */

/* Filters is pointless at 0 results. rtb-search-zero is only set when no filter is applied. */
body.search-no-results.rtb-search-zero .rtb-shop-toolbar-filters,
body.search-no-results.rtb-search-zero .rtb-shop-filters-trigger{display:none!important;}

/* Help + Fits My Gun lines (search and empty cart share them) */
body.search-no-results .rtb-sb7-help,
body.search-no-results .rtb-sb7-fit,
body.woocommerce-cart .rtb-sb7-fit{
  margin:var(--rx-s4) 0 0; color:var(--rx-text-2);
  font-family:var(--rx-font); font-size:var(--rx-fs-sub); line-height:20px; font-weight:var(--rx-w-reg);
}
body.search-no-results .rtb-sb7-help{margin-top:var(--rx-s5);}
body.search-no-results .rtb-sb7-help,body.search-no-results .rtb-sb7-fit{text-align:center; max-width:36em; margin-left:auto; margin-right:auto;}
body.search-no-results .rtb-sb7-help a,
body.search-no-results .rtb-sb7-fit a,
body.woocommerce-cart .rtb-sb7-fit a{
  color:var(--rx-text)!important; -webkit-text-fill-color:var(--rx-text)!important; font-weight:var(--rx-w-semi);
  text-decoration:underline; text-decoration-color:var(--rx-text-3); text-underline-offset:3px;
  display:inline-block; padding:var(--rx-s1) 0; /* 28px+ tap height inside the sentence */
}
body.search-no-results .rtb-sb7-help a:hover,
body.search-no-results .rtb-sb7-fit a:hover,
body.woocommerce-cart .rtb-sb7-fit a:hover{text-decoration-color:var(--rx-red-hi);}

/* "In demand" rail */
body.search-no-results .rtb-sb7,
body.woocommerce-cart .rtb-sb7{margin:var(--rx-s7) 0 var(--rx-s4); text-align:left;}
body.search-no-results .rtb-sb7 .rtb-section-head,
body.woocommerce-cart .rtb-sb7 .rtb-section-head{display:flex; align-items:baseline; justify-content:space-between; gap:var(--rx-s3); margin:0 0 var(--rx-s3);}
body.search-no-results .rtb-sb7 .rtb-section-head h2,
body.woocommerce-cart .rtb-sb7 .rtb-section-head h2{
  margin:0; font-family:var(--rx-font-display); font-size:var(--rx-fs-title2); line-height:28px;
  font-weight:var(--rx-w-bold); letter-spacing:var(--rx-track-tight); text-transform:none; color:var(--rx-text);
}
body.search-no-results .rtb-sb7 .rtb-section-head p,
body.woocommerce-cart .rtb-sb7 .rtb-section-head p{margin:0;}
body.search-no-results .rtb-sb7 .rtb-section-head a,
body.woocommerce-cart .rtb-sb7 .rtb-section-head a{
  display:inline-flex; align-items:center; min-height:var(--rx-tap);
  color:#ff4d67!important; -webkit-text-fill-color:#ff4d67!important; /* AUDIT-1028-NITS (b): was var(--rx-red-hi) */
  font-size:var(--rx-fs-sub); font-weight:var(--rx-w-semi); text-decoration:none;
}
body.search-no-results .rtb-sb7 ul.products,
body.woocommerce-cart .rtb-sb7 ul.products{
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:var(--rx-s3);
  margin:0!important; padding:0!important; list-style:none; width:100%!important; max-width:none!important;
}
@media (min-width:769px){
  body.search-no-results .rtb-sb7 ul.products,
  body.woocommerce-cart .rtb-sb7 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:var(--rx-s4);}
}
body.search-no-results .rtb-sb7 ul.products::before,body.search-no-results .rtb-sb7 ul.products::after,
body.woocommerce-cart .rtb-sb7 ul.products::before,body.woocommerce-cart .rtb-sb7 ul.products::after{display:none!important;}
body.search-no-results .rtb-sb7 ul.products li.product,
body.woocommerce-cart .rtb-sb7 ul.products li.product{
  width:auto!important; max-width:none!important; margin:0!important; float:none!important; clear:none!important;
  background:var(--rx-card)!important; border:var(--rx-hair) solid var(--rx-sep)!important; border-radius:var(--rx-r-card)!important; overflow:hidden; padding:0 0 var(--rx-s3)!important;
  display:flex; flex-direction:column;
}
body.search-no-results .rtb-sb7 li.product img,
body.woocommerce-cart .rtb-sb7 li.product img{
  width:100%!important; aspect-ratio:1/1; height:auto!important; object-fit:contain; background:var(--rx-img-bg); margin:0 0 var(--rx-s2)!important;
}
body.search-no-results .rtb-sb7 li.product .woocommerce-loop-product__title,
body.woocommerce-cart .rtb-sb7 li.product .woocommerce-loop-product__title{
  padding:0 var(--rx-s3)!important; margin:0 0 var(--rx-s1)!important;
  font-size:var(--rx-fs-sub)!important; line-height:20px!important; font-weight:var(--rx-w-semi)!important; color:var(--rx-text)!important;
  display:-webkit-box!important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden!important; max-height:40px!important; min-height:40px; height:auto!important; text-transform:none!important; letter-spacing:0!important;
}
body.search-no-results .rtb-sb7 li.product .price,
body.search-no-results .rtb-sb7 li.product .rtb-per-round,
body.search-no-results .rtb-sb7 li.product .rtb-card-stock,
body.woocommerce-cart .rtb-sb7 li.product .price,
body.woocommerce-cart .rtb-sb7 li.product .rtb-per-round,
body.woocommerce-cart .rtb-sb7 li.product .rtb-card-stock{padding:0 var(--rx-s3)!important;}
body.search-no-results .rtb-sb7 li.product .price,body.woocommerce-cart .rtb-sb7 li.product .price,
body.search-no-results .rtb-sb7 li.product .price .amount,body.woocommerce-cart .rtb-sb7 li.product .price .amount{color:var(--rx-text)!important; -webkit-text-fill-color:var(--rx-text)!important; opacity:1!important;}
body.search-no-results .rtb-sb7 li.product .button,
body.woocommerce-cart .rtb-sb7 li.product .button{
  margin:auto var(--rx-s3) 0!important; min-height:var(--rx-tap); width:auto!important; border-radius:var(--rx-r-btn)!important;
  display:flex!important; align-items:center; justify-content:center;
}

/* Empty cart: category tiles */
body.woocommerce-cart .rtb-sb7-tiles{margin:var(--rx-s6) 0 0; text-align:left;}
body.woocommerce-cart .rtb-sb7-tiles__head{
  margin:0 0 var(--rx-s3); font-family:var(--rx-font-display); font-size:var(--rx-fs-title2); line-height:28px;
  font-weight:var(--rx-w-bold); letter-spacing:var(--rx-track-tight); text-transform:none; color:var(--rx-text);
}
body.woocommerce-cart .rtb-sb7-tiles__list{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--rx-s2);
}
@media (min-width:769px){ body.woocommerce-cart .rtb-sb7-tiles__list{grid-template-columns:repeat(6,minmax(0,1fr));} }
body.woocommerce-cart .rtb-sb7-tiles__list li{margin:0; padding:0;}
body.woocommerce-cart .rtb-sb7-tiles__list a{
  display:flex; align-items:center; justify-content:space-between; min-height:var(--rx-row);
  padding:0 var(--rx-s3) 0 var(--rx-s4); box-sizing:border-box;
  background:var(--rx-card); border-radius:var(--rx-r-btn);
  color:var(--rx-text)!important; -webkit-text-fill-color:var(--rx-text)!important;
  font-family:var(--rx-font); font-size:var(--rx-fs-body); font-weight:var(--rx-w-semi); text-decoration:none!important;
  transition:background var(--rx-dur) var(--rx-ease);
}
body.woocommerce-cart .rtb-sb7-tiles__list a::after{content:"\203A"; color:var(--rx-text-3); font-size:var(--rx-fs-chev); font-weight:var(--rx-w-reg);}
body.woocommerce-cart .rtb-sb7-tiles__list a:hover{background:var(--rx-card-2);}
body.woocommerce-cart .rtb-sb7-tiles__list a:focus-visible,
body.woocommerce-cart .rtb-sb7 a:focus-visible,
body.search-no-results .rtb-sb7 a:focus-visible,
body.search-no-results .rtb-sb7-help a:focus-visible{outline:var(--rx-ring) solid var(--rx-red-hi); outline-offset:2px;}
/* Keep the existing "Shop guns, ammo, and gear" button as the closing CTA, with breathing room */
body.woocommerce-cart .rtb-sb7 + .return-to-shop,
body.woocommerce-cart .rtb-sb7-tiles + .return-to-shop{margin-top:var(--rx-s6)!important;}
/* ==== /SITE-BEST 7 ==== */

/* ==== SITE-BEST 8 · Mobile drawer cleanup · Theme 2026-10-23 ====
   Scope: the open GeneratePress drawer only (#site-navigation.toggled at ≤768px),
   plus the optional .rtb-nav-shopall class set in wp-admin Menus (SPEC §wp-admin).
   This is site-wide chrome, so it's scoped by the drawer state, not a page class (see SPEC §Scope note).
   Desktop header Account icon rules stay as they are. */
@media (max-width:768px){
  /* Cart: the header cart is already 1 tap away next to the toggle. Hide the duplicate.
     CSS hide on purpose: snippet #74 re-injects the item if it's deleted in Menus. */
  body #site-navigation.toggled .main-nav > ul#menu-menu > li.rtb-drawer-util--cart{display:none!important;}

  /* Account: there's no Account icon in the 390 header, so it stays in the drawer, moved to the bottom as a utility row. */
  body #site-navigation.toggled .main-nav > ul#menu-menu{display:flex!important; flex-direction:column;}
  body #site-navigation.toggled .main-nav > ul#menu-menu > li{order:1;}
  body #site-navigation.toggled .main-nav > ul#menu-menu > li.rtb-drawer-util--account{
    order:99; border-bottom:0!important; margin:var(--rx-s2) 0 0!important;
    border-top:var(--rx-hair) solid var(--rx-sep)!important;
  }
  body #site-navigation.toggled .main-nav > ul#menu-menu > li.rtb-drawer-util--account > a{
    color:var(--rx-text-2)!important; letter-spacing:0!important; font-weight:var(--rx-w-reg)!important;
    font-size:var(--rx-fs-sub)!important;
  }

  /* "Shop all …" first child in each submenu reads as the jump-off, not as another subcategory */
  body #site-navigation.toggled .main-nav ul.sub-menu > li.rtb-nav-shopall > a{
    color:var(--rx-text)!important; -webkit-text-fill-color:var(--rx-text)!important; font-weight:var(--rx-w-semi)!important;
  }
}
/* Desktop dropdowns: the same "Shop all" items appear there (WP menus are shared). Give them a quiet separator. */
@media (min-width:769px){
  body #site-navigation:not(.toggled) .main-nav ul.sub-menu > li.rtb-nav-shopall{border-bottom:var(--rx-hair) solid var(--rx-sep);}
  body #site-navigation:not(.toggled) .main-nav ul.sub-menu > li.rtb-nav-shopall > a{font-weight:var(--rx-w-semi)!important;}
}
/* ==== /SITE-BEST 8 ==== */

/* ==== SITE-BEST 10 · Brands page: stable and scannable · Theme 2026-10-23 ====
   Scope: body.page-id-51760 (Brands) only. Tokens: live :root --rx-*.
   1) CLS: kill the scroll-driven padding animation (rtb-brands-sticky-pad / -desk).
      It grew padding-top 0→48px (0→32px desktop) on all 28 sections while scrolling 140–220px
      = the 0.3141 CLS at 390. Sections get static spacing plus scroll-margin so A–Z jumps clear the sticky bar.
   2) A–Z bar at ≤640px: one swipeable 44px row (was 267px of sticky wrap, 32% of the screen).
   3) Tap targets: list links ≥44px at ≤640px (2 columns), ≥32px at 641px+ (WCAG 2.5.8 floor is 24px).
   4) Top brands row (.rtb-brands-top, markup from snippet #20 patch). */

body.page-id-51760 .rtb-brands-index .rtb-brands-section{
  animation:none!important; animation-timeline:auto!important;
  padding-top:0!important; margin:0 0 var(--rx-s6);
  scroll-margin-top:72px;
}
body.page-id-51760 .rtb-brands-index .rtb-brands-letter{scroll-margin-top:72px;}
@media (min-width:641px){
  body.page-id-51760 .rtb-brands-index .rtb-brands-section,
  body.page-id-51760 .rtb-brands-index .rtb-brands-letter{scroll-margin-top:104px;}
}

/* A–Z: single row, swipe sideways on phones. Height is fixed so nothing below it moves. */
@media (max-width:640px){
  body.page-id-51760 .rtb-brands-index .rtb-brands-az{
    flex-wrap:nowrap!important; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    gap:var(--rx-s2)!important; padding:var(--rx-s2) 0!important; margin:0 0 var(--rx-s4)!important;
    height:60px; max-height:none!important; box-sizing:border-box;
    scroll-snap-type:x proximity;
  }
  body.page-id-51760 .rtb-brands-index .rtb-brands-az::-webkit-scrollbar{display:none;}
  body.page-id-51760 .rtb-brands-index .rtb-brands-az a{
    flex:0 0 auto; scroll-snap-align:start;
    min-width:44px!important; height:44px!important; min-height:44px!important;
    flex-direction:column; border-radius:var(--rx-r-inner)!important;
  }
}

/* List rows */
body.page-id-51760 .rtb-brands-index .rtb-brands-list li{margin:0!important;}
body.page-id-51760 .rtb-brands-index .rtb-brands-list a{
  display:flex; align-items:center; min-height:32px; padding:var(--rx-s1) 0; box-sizing:border-box;
  line-height:1.25;
}
@media (max-width:640px){
  body.page-id-51760 .rtb-brands-index .rtb-brands-list{columns:2!important; column-gap:var(--rx-s4)!important;}
  body.page-id-51760 .rtb-brands-index .rtb-brands-list a{
    min-height:var(--rx-tap); padding:var(--rx-s1) 0;
    border-bottom:var(--rx-hair) solid var(--rx-sep);
    font-size:var(--rx-fs-sub)!important; line-height:20px!important;
  }
}

/* Top brands row (markup: SPEC §Markup, rendered by snippet #20) */
body.page-id-51760 .rtb-brands-top{margin:0 0 var(--rx-s6);}
body.page-id-51760 .rtb-brands-top__head{
  margin:0 0 var(--rx-s3); padding:0; border:0;
  font-family:var(--rx-font-display); font-size:var(--rx-fs-title3); line-height:25px;
  font-weight:var(--rx-w-bold); letter-spacing:var(--rx-track-tight); text-transform:none; color:var(--rx-text);
}
body.page-id-51760 .rtb-brands-top__list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--rx-s2);
}
@media (min-width:641px){ body.page-id-51760 .rtb-brands-top__list{grid-template-columns:repeat(4,minmax(0,1fr));} }
body.page-id-51760 .rtb-brands-top__list li{margin:0; padding:0;}
body.page-id-51760 .rtb-brands-top__list a{
  display:flex; align-items:center; justify-content:space-between; gap:var(--rx-s2);
  min-height:var(--rx-row); padding:0 var(--rx-s3) 0 var(--rx-s4); box-sizing:border-box;
  background:var(--rx-card); border-radius:var(--rx-r-btn);
  color:var(--rx-text)!important; -webkit-text-fill-color:var(--rx-text)!important;
  font-family:var(--rx-font); font-size:var(--rx-fs-sub); line-height:20px; font-weight:var(--rx-w-semi);
  text-decoration:none!important;
  transition:background var(--rx-dur) var(--rx-ease);
}
body.page-id-51760 .rtb-brands-top__list a::after{content:"\203A"; color:var(--rx-text-3); font-size:var(--rx-fs-chev); line-height:1; font-weight:var(--rx-w-reg);}
body.page-id-51760 .rtb-brands-top__list a:hover{background:var(--rx-card-2);}
body.page-id-51760 .rtb-brands-top__list a:focus-visible{outline:var(--rx-ring) solid var(--rx-red-hi); outline-offset:2px;}
/* SB10 A-Z fix (Theme 2026-10-23): stop the old scroll-timeline animations from locking the 390 bar */
@media (max-width:640px){
  body.page-id-51760 .rtb-brands-index .rtb-brands-az{animation:none!important;overflow-x:auto!important;overflow-y:hidden!important;}
  body.page-id-51760 .rtb-brands-index .rtb-brands-az a{animation:none!important;pointer-events:auto!important;}
}
/* ==== /SITE-BEST 10 ==== */

/* ==== SITE-BEST 9 · Cart tidy · Theme 2026-10-23 ====
   Scope: body.woocommerce-cart only. CSS only, so no snippet, price, fee or coupon logic changes.
   Never touches #30 / #729 / FFL. Fee row markup is Woo core (tr.fee); this only adds a caption. */

/* 9a · Hide the duplicate "…added to your cart. View cart" notice when you're already ON the cart.
   Only notices that link back to /cart/ are hidden. "Cart updated.", coupon and error notices stay. */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message:has(> a.wc-forward[href*="/cart/"]){display:none!important;}

/* 9b · Coupon behind "Have a code?". The field stays in the DOM, focusable and labelled.
   Clicking the label focuses the input (for=coupon_code), which opens the row. Tab reaches it too.
   It stays open while focused, while it has text, or while there's a coupon error.
   Browsers without :has() keep today's open field (everything is inside @supports). */
@supports selector(:has(*)){
  body.woocommerce-cart table.cart td.actions .coupon{
    background:transparent!important; border:0!important; padding:0!important; gap:var(--rx-s2);
  }
  body.woocommerce-cart table.cart td.actions .coupon > label[for="coupon_code"]{
    position:static!important; width:auto!important; height:auto!important; clip:auto!important; clip-path:none!important;
    overflow:visible!important; margin:0!important; padding:0!important; white-space:nowrap;
    display:inline-flex!important; align-items:center; min-height:var(--rx-tap); cursor:pointer;
    font-size:0!important; color:transparent; flex:1 1 100%;
  }
  body.woocommerce-cart table.cart td.actions .coupon > label[for="coupon_code"]::after{
    content:"Have a code?"; font-family:var(--rx-font); font-size:var(--rx-fs-sub); line-height:20px; font-weight:var(--rx-w-semi);
    color:var(--rx-text); text-decoration:underline; text-decoration-color:var(--rx-text-3); text-underline-offset:3px;
  }
  body.woocommerce-cart table.cart td.actions .coupon > label[for="coupon_code"]:hover::after{text-decoration-color:var(--rx-red-hi);}
  /* collapsed: visually hidden, NOT display:none, so it stays focusable */
  body.woocommerce-cart table.cart td.actions .coupon:not(:focus-within):not(:has(#coupon_code:not(:placeholder-shown))):not(:has(.coupon-error-notice)) #coupon_code,
  body.woocommerce-cart table.cart td.actions .coupon:not(:focus-within):not(:has(#coupon_code:not(:placeholder-shown))):not(:has(.coupon-error-notice)) button[name="apply_coupon"]{
    position:absolute!important; width:1px!important; height:1px!important; flex:0 0 1px!important; max-width:1px!important; min-width:0!important; min-height:0!important; padding:0!important; margin:-1px!important;
    border:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important;
  }
  /* open: the label turns into a quiet caption above the field */
  body.woocommerce-cart table.cart td.actions .coupon:is(:focus-within,:has(#coupon_code:not(:placeholder-shown)),:has(.coupon-error-notice)) > label[for="coupon_code"]{min-height:28px;}
  body.woocommerce-cart table.cart td.actions .coupon:is(:focus-within,:has(#coupon_code:not(:placeholder-shown)),:has(.coupon-error-notice)) > label[for="coupon_code"]::after{
    content:"Coupon code"; text-decoration:none; color:var(--rx-text-2); font-weight:var(--rx-w-reg); font-size:var(--rx-fs-foot);
  }
  body.woocommerce-cart table.cart td.actions .coupon #coupon_code{min-height:var(--rx-tap); border-radius:var(--rx-r-inner)!important;}
  body.woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"]{min-height:var(--rx-tap); border-radius:var(--rx-r-btn)!important;}
}

/* 9b-2 · Update cart reads as a ghost text button. It enables itself when a quantity changes (Woo core JS). */
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart],
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart]:disabled,
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart]:disabled:hover{
  background:transparent!important; border:0!important; box-shadow:none!important;
  font-family:var(--rx-font); font-size:var(--rx-fs-sub)!important; font-weight:var(--rx-w-semi); letter-spacing:0!important; text-transform:none!important;
  padding:0 var(--rx-s2)!important; min-height:var(--rx-tap)!important;
}
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart]:disabled{color:var(--rx-text-3)!important; cursor:default;}
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart]:not(:disabled){color:var(--rx-red-hi)!important;}
body.woocommerce-cart .woocommerce-cart-form table.cart button.button[name=update_cart]:focus-visible{outline:var(--rx-ring) solid var(--rx-red-hi); outline-offset:2px;}

/* 9c · Handling explainer under the "Additional handling" fee row. Exact wording from Chief, 5:09 PM. */
@media (min-width:769px){
  body.woocommerce-cart .cart_totals tr.fee th::after{
    content:"Small orders from some suppliers carry a handling fee."; display:block; white-space:normal; max-width:22em;
    margin-top:var(--rx-s1); font-family:var(--rx-font); font-size:var(--rx-fs-foot); line-height:18px; font-weight:var(--rx-w-reg);
    color:var(--rx-text-2); letter-spacing:0; text-transform:none;
  }
}
@media (max-width:768px){
  body.woocommerce-cart .cart_totals tr.fee td{flex-wrap:wrap;}
  body.woocommerce-cart .cart_totals tr.fee td::after{
    content:"Small orders from some suppliers carry a handling fee."; display:block; clear:both; text-align:left;
    flex:1 1 100%; width:100%; order:9;
    padding-top:var(--rx-s1); font-family:var(--rx-font); font-size:var(--rx-fs-foot); line-height:18px; font-weight:var(--rx-w-reg);
    color:var(--rx-text-2); letter-spacing:0; text-transform:none;
  }
}
/* ==== /SITE-BEST 9 ==== */

/* ==== LOOK-FIX-1024 · Theme visual & contrast fixes · 2026-10-24 ====
   Scope:
   1. Home rail cards (body.home .rtb-rail / .rtb-newest): edge-to-edge #ffffff image well (aspect-ratio 4/3,
      object-fit: contain, padding: 10px) matching archive/PDP cards so the 'New' / tag badge (::before) sits
      100% inside the white image box (top: 12px, left: 12px) without straddling any dark top padding band.
   2. Archive & Search sort select (.woocommerce-ordering select.orderby): uniform 44px height, 8px radius,
      and vertically centered label text at 390px and 1280px across category archives and search results.
   3. SPEC-1 caliber filter chip bar (.rtb-fx-bar / .rtb-fx-chip): unclipped chip labels at 390px
      (flex: 0 0 auto, flex-shrink: 0, white-space: nowrap, balanced mobile padding/gap/font-size so
      '9mm', '.22 LR', '.45 ACP', and '.357 Magnum' all fit 100% inside .rtb-fx-bar ul at scrollLeft = 0
      with >= 4px right clearance, while remaining chips scroll smoothly to 'All calibers').
   4. Archive/Search card category sub-label (.rtb-result-cat): raise contrast from #8a8a8a (4.09:1)
      to #9e9e9e (5.38:1 on #121212) to pass WCAG AA >= 4.5:1.
   5. BEF-1.0.3 / rtb-site-best dark-surface & contrast harmonization (.rtb-sb-fits, .rtb-sb-search-card,
      body.single-product .rtb-sb-row) so all surfaces match the dark theme (#141414 / #2a2a2a),
      all text inside .rtb-sb-search-card and .rtb-sb-fits meets >= 10:1 / 16.17:1 contrast, and PDP
      'Similar' / 'Goes with it' cards match dark related cards with object-fit: contain.
*/

/* 1. Home rail product cards & tag badges ('New', 'Trending', 'In Demand', 'Back in Stock', 'On Sale') */
body.home .rtb-newest.rtb-rail:has(ul.products li.product) ul.products li.product,
body.home .rtb-rail:has(ul.products li.product) ul.products li.product,
body.home .rtb-newest.rtb-rail ul.products li.product,
body.home .rtb-rail ul.products li.product {
  padding: 0 0 12px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

body.home .rtb-rail ul.products li.product > a.woocommerce-LoopProduct-link,
body.home .rtb-newest ul.products li.product > a.woocommerce-LoopProduct-link,
body.home ul.products li.product:not(.product-category) > a.woocommerce-LoopProduct-link {
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home ul.products li.product:not(.product-category) a.woocommerce-LoopProduct-link img,
body.home .rtb-rail ul.products li.product:not(.product-category) a.woocommerce-LoopProduct-link img,
body.home .rtb-newest ul.products li.product:not(.product-category) a.woocommerce-LoopProduct-link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  object-position: center center !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #2a2a2a !important;
}

body.home .rtb-rail ul.products li.product .price,
body.home .rtb-newest ul.products li.product .price,
body.home ul.products li.product .price {
  padding: 0 14px !important;
  margin: 0 0 4px !important;
}

@media (max-width: 768px) {
  body.home .rtb-rail ul.products li.product .price,
  body.home .rtb-newest ul.products li.product .price,
  body.home ul.products li.product .price {
    padding: 0 10px !important;
  }
  body.home .rtb-rail ul.products li.product .rtb-card-stock,
  body.home .rtb-newest ul.products li.product .rtb-card-stock,
  body.home ul.products li.product .rtb-card-stock {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}

.woocommerce ul.products li.product.product_tag-new-arrivals > a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product.product_tag-in-demand > a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product.product_tag-back-in-stock > a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product.product_tag-on-sale > a.woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product.product_tag-trending > a.woocommerce-LoopProduct-link::before {
  top: 12px !important;
  left: 12px !important;
  z-index: 6 !important;
  height: 22px !important;
  line-height: 20px !important;
  padding: 0 8px !important;
  width: auto !important;
  min-width: 48px !important;
  border-radius: 4px !important;
  background: #1c1c1a !important;
  color: #f4f1ea !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.28) !important;
}

/* 2. Sort dropdown (.woocommerce-ordering select.orderby) vertical centering & consistent height/radius */
body.tax-product_cat .woocommerce-ordering select.orderby,
body.tax-product_tag .woocommerce-ordering select.orderby,
body.tax-product_brand .woocommerce-ordering select.orderby,
body.post-type-archive-product .woocommerce-ordering select.orderby,
body.search .woocommerce-ordering select.orderby,
.woocommerce-ordering select.orderby {
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 1px 34px 0 12px !important;
  font-size: 15px !important;
  line-height: 41px !important;
  font-weight: 500 !important;
  color: #f0f0f0 !important;
  background-color: #121212 !important;
  border: 1px solid #3a3a3a !important;
  border-radius: 8px !important;
  vertical-align: middle;
}

/* 3. SPEC-1 caliber filter chip bar (.rtb-fx-bar / .rtb-fx-chip) unclipped mobile scroll */
body.tax-product_cat .rtb-fx-bar ul,
.rtb-fx-bar ul {
  scroll-padding-inline: 8px;
}

body.tax-product_cat .rtb-fx-chip,
.rtb-fx-chip {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 768px) {
  body.tax-product_cat .rtb-fx-bar ul,
  .rtb-fx-bar ul {
    gap: 10px !important;
    padding: 0 4px 2px !important;
    scroll-padding-inline: 4px !important;
  }
  body.tax-product_cat .rtb-fx-chip,
  .rtb-fx-chip {
    padding: 0 9px !important;
    font-size: 14px !important;
  }
}

/* 4. Archive & Search product card category sub-label WCAG AA contrast (>= 4.5:1 on #121212) */
ul.products li.product .rtb-result-cat,
.woocommerce ul.products li.product .rtb-result-cat {
  color: #9e9e9e !important;
}

/* 5. BEF-1.0.3 / rtb-site-best dark-surface, contrast & uncropped firearm card harmonization */
.rtb-sb-fits,
.rtb-sb-search-card {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 8px !important;
  color: #f0f0f0 !important;
}

.rtb-sb-fits h2,
.rtb-sb-row h2 {
  color: #f0f0f0 !important;
  -webkit-text-fill-color: #f0f0f0 !important;
}

.rtb-sb-fits p,
.rtb-sb-row__note {
  color: #c8c8c8 !important;
  -webkit-text-fill-color: #c8c8c8 !important;
}

.rtb-sb-fits a {
  background: #1c1c1c !important;
  border: 1px solid #3a3a3a !important;
  color: #f0f0f0 !important;
  -webkit-text-fill-color: #f0f0f0 !important;
}

.rtb-sb-fits a:hover,
.rtb-sb-fits a:focus-visible {
  background: #242424 !important;
  border-color: #c8102e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.rtb-sb-search-card,
.rtb-sb-search-card *,
.rtb-sb-search-card a,
.rtb-sb-search-title {
  color: #f0f0f0 !important;
  -webkit-text-fill-color: #f0f0f0 !important;
  opacity: 1 !important;
}

.rtb-sb-search-card a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
}

.rtb-sb-search-card a:hover,
.rtb-sb-search-card a:focus-visible,
.rtb-sb-search-link:hover,
.rtb-sb-search-link:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: underline !important;
  text-decoration-color: #c8102e !important;
}

.rtb-sb-search-link {
  color: #ff4d67 !important;
  -webkit-text-fill-color: #ff4d67 !important;
}

/* PDP 'Similar' & 'Goes with it' rows (.rtb-sb-row) dark theme cards & uncropped firearm images */
body.single-product .rtb-sb-row ul.products li.product,
.rtb-sb-row ul.products li.product {
  background: #141414 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 8px !important;
  color: #f0f0f0 !important;
  overflow: hidden !important;
  padding: 0 0 12px !important;
  box-shadow: none !important;
}

body.single-product .rtb-sb-row ul.products li.product:not(.product-category) a.woocommerce-LoopProduct-link img,
.rtb-sb-row ul.products li.product img,
.rtb-sb-row ul.products li.product a img,
.rtb-sb-row img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  object-position: center center !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #2a2a2a !important;
}

@media (max-width: 768px) {
  body.single-product .rtb-sb-row ul.products li.product:not(.product-category) a.woocommerce-LoopProduct-link img,
  .rtb-sb-row ul.products li.product img,
  .rtb-sb-row ul.products li.product a img,
  .rtb-sb-row img {
    padding: 6px !important;
  }
}

body.single-product .rtb-sb-row ul.products li.product .woocommerce-loop-product__title,
body.single-product .rtb-sb-row ul.products li.product h2,
body.single-product .rtb-sb-row ul.products li.product .price,
body.single-product .rtb-sb-row ul.products li.product .price .amount,
body.single-product .rtb-sb-row ul.products li.product .price bdi {
  color: #f0f0f0 !important;
  -webkit-text-fill-color: #f0f0f0 !important;
}

body.single-product .rtb-sb-row ul.products li.product .rtb-card-stock {
  color: #b9b4aa !important;
}

body.single-product .rtb-sb-row ul.products li.product .rtb-card-stock--low {
  color: #f0f0f0 !important;
  border-left: 2px solid #c8102e !important;
}

body.single-product .rtb-sb-row ul.products li.product .button,
body.single-product .rtb-sb-row ul.products li.product a.add_to_cart_button {
  background: #c8102e !important;
  color: #ffffff !important;
  border: 1px solid #c8102e !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.single-product .rtb-sb-row ul.products li.product .button:hover,
body.single-product .rtb-sb-row ul.products li.product a.add_to_cart_button:hover {
  background: #a00d25 !important;
  border-color: #a00d25 !important;
  color: #ffffff !important;
}
/* ==== /LOOK-FIX-1024 ==== */

/* ==== AUDIT-1028-BATCH-A · Theme visual & contrast fixes · 2026-10-28 ==== */
/* ==========================================================================
   RTB Arms — AUDIT-1028 Batch A Visual, Dark-Surface, /my-account/ & WCAG AA Polish
   File: /workspace/rtb-audit/site-audit-2026-10-28/batch-a-polish.css
   Approved by Brandon Chase ([t3137s11409], 2026-10-28 10:29 PM EDT):
   "Approve all three AUDIT-1028 fix batches: A (look, navigation and account page),
    B (speed and caching), and C (database and autopilot cleanup)."
   ========================================================================== */

/* --------------------------------------------------------------------------
   A2. /fits-my-gun/ Dark Filter Inputs & WCAG AA Button/Link Contrast
   - Fixes pure-white filter inputs (min, max, brand) on /fits-my-gun/?gun=*
   - Fixes dark #141414 text on #c8102e buttons (3.13:1 -> 5.65:1 white #ffffff)
   - Fixes inline link contrast ("Browse holsters" / "More") on #0a0a0a (3.37:1 -> 5.15:1 #ff4d67)
   (Included in both rtb-site-best 1.0.4 assets/site-best.css AND storefront CSS)
   -------------------------------------------------------------------------- */
html body .rtb-ff .rtb-ff-price-form input,
html body .rtb-ff .rtb-ff-price-form input[type="number"],
html body .rtb-ff .rtb-ff-price-form select,
html body input.rtb-fmg-price-input,
html body select.rtb-fmg-select,
html body select.rtb-fmg-select[name="brand"] {
	background-color: #141416 !important;
	color: #f5f5f7 !important;
	border: 1px solid #2c2c30 !important;
	border-radius: 8px !important;
	color-scheme: dark !important;
	box-shadow: none !important;
}

html body .rtb-ff .rtb-ff-price-form input:focus,
html body .rtb-ff .rtb-ff-price-form select:focus,
html body input.rtb-fmg-price-input:focus,
html body select.rtb-fmg-select:focus {
	border-color: #c8102e !important;
	outline: 2px solid rgba(200, 16, 46, 0.45) !important;
	outline-offset: 1px !important;
}

html body .rtb-ff .rtb-ff-price-form button,
html body .rtb-ff a.rtb-ff-atc,
html body .rtb-ff a.button.rtb-ff-atc,
html body .rtb-ff a.rtb-ff-atc:visited,
html body .rtb-fmg-price-btn,
html body a.rtb-fmg-btn,
html body a.rtb-fmg-btn:visited {
	background-color: #c8102e !important;
	color: #ffffff !important;
	border-color: #c8102e !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
}

html body .rtb-ff .rtb-ff-price-form button:hover,
html body .rtb-ff a.rtb-ff-atc:hover,
html body .rtb-ff a.button.rtb-ff-atc:hover,
html body .rtb-fmg-price-btn:hover,
html body a.rtb-fmg-btn:hover {
	background-color: #a50d26 !important;
	border-color: #a50d26 !important;
	color: #ffffff !important;
}

html body .rtb-ff .rtb-ff-more a,
html body .rtb-ff .rtb-ff-footer a,
html body .rtb-fmg a:not(.button):not(.rtb-ff-chip):not(.rtb-ff-atc):not(.rtb-fmg-btn) {
	color: #ff4d67 !important;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

html body .rtb-ff .rtb-ff-more a:hover,
html body .rtb-ff .rtb-ff-footer a:hover {
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   A3. Signed-In & Guest /my-account/ Layout, Sentence Case & Form Polish
   - Forces full-width no-sidebar layout on /my-account/* (eliminates empty 360px #right-sidebar void)
   - Enforces sentence-case headings on /my-account/*, /cart/, and /checkout/
   - Hides orphan Turnstile "Let us know you are human:" label & <br> when widget iframe is unmounted
   - Styles Mailchimp subscribe row & native checkboxes in dark mode
   -------------------------------------------------------------------------- */
html body.woocommerce-account #right-sidebar,
html body.woocommerce-account .widget-area.sidebar {
	display: none !important;
}

html body.woocommerce-account #primary,
html body.woocommerce-account .site-content .content-area {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin-right: 0 !important;
}

/* Sentence-case lock on My Account, Cart, and Checkout headings */
html body.woocommerce-account h1.entry-title,
html body.woocommerce-account .entry-header h1,
html body.woocommerce-account .woocommerce h2,
html body.woocommerce-account .woocommerce h3,
html body.woocommerce-account .woocommerce-MyAccount-content h2,
html body.woocommerce-account .woocommerce-MyAccount-content h3,
html body.woocommerce-account .woocommerce-Addresses h3,
html body.woocommerce-account .woocommerce-Address-title h3,
html body.woocommerce-cart h1.entry-title,
html body.woocommerce-cart .cart_totals h2,
html body.woocommerce-cart .cross-sells h2,
html body.woocommerce-checkout h1.entry-title,
html body.woocommerce-checkout h2,
html body.woocommerce-checkout h3,
html body.woocommerce-checkout #order_review_heading,
html body.woocommerce-checkout .woocommerce-billing-fields h3,
html body.woocommerce-checkout .woocommerce-shipping-fields h3,
html body.woocommerce-checkout .woocommerce-additional-fields h3 {
	text-transform: none !important;
	letter-spacing: -0.01em;
}

/* Hide orphan Turnstile label & spacer until Turnstile mounts an iframe */
html body .cfturnstile-widget-label:has(+ .cf-turnstile:empty),
html body .cf-turnstile:empty ~ .cf-turnstile-br {
	display: none !important;
}

html body.woocommerce-edit-account .cfturnstile-widget-label,
html body.woocommerce-edit-account .cf-turnstile,
html body.woocommerce-edit-account .cf-turnstile-br {
	display: none !important;
}

html body.woocommerce-account form .cf-turnstile:empty,
html body.woocommerce-account form .cf-turnstile:not(:has(iframe)) {
	min-height: 0 !important;
	margin: 0 !important;
}

/* Dark-mode native checkboxes & Mailchimp opt-in row */
html body input[type="checkbox"],
html body input.woocommerce-form__input-checkbox,
html body #mailchimp_woocommerce_is_subscribed,
html body #mailchimp_woocommerce_newsletter {
	color-scheme: dark !important;
	accent-color: #c8102e !important;
	background-color: #18181b;
	border: 1px solid #3a3a40;
	border-radius: 4px;
}

html body p.mailchimp-newsletter,
html body .woocommerce-EditAccountForm p:has(#mailchimp_woocommerce_is_subscribed) {
	margin: 12px 0 16px !important;
}

/* Guest login context banner on /refer-a-friend/ & /saved-items/ */
html body .rtb-guest-gate-note,
html body .rtb-sc-guest-note {
	margin: 0 0 18px;
	padding: 12px 16px;
	background: #141416;
	border: 1px solid #26262b;
	border-left: 3px solid #c8102e;
	border-radius: 8px;
	color: #f0f0f0;
	font-size: 0.95rem;
	line-height: 1.45;
}

/* --------------------------------------------------------------------------
   A4. Site-Wide WCAG AA Contrast (>= 4.5:1), PDP Zoom Trigger & Desktop PDP CLS Lock
   - .woocommerce-breadcrumb a: #8a8a8a (5.31:1 on #0a0a0a)
   - .rtb-tc-price: #f5f5f7 (15.8:1 on #141414) on /gift-guide/, /drills/*, /range-bag/
   - .rtb-tc-pdf: #ff4d67 text (4.75:1 on #1f1f1f) + rgba(200, 16, 46, 0.55) border
   - span.required / abbr.required: #ff4d67 (5.1:1 on #121212/#1c1c1e)
   - .rtb-gunbroker-link: #858585 (5.2:1 on #050505)
   - PDP gallery zoom icon dark surface + desktop 1:1 aspect-ratio CLS lock (0.0692 -> 0.0000)
   -------------------------------------------------------------------------- */
html body .woocommerce-breadcrumb,
html body .woocommerce-breadcrumb a {
	color: #8a8a8a !important;
}

html body .woocommerce-breadcrumb a:hover {
	color: #f5f5f7 !important;
}

html body .rtb-target-card .rtb-tc-price,
html body .rtb-gg .rtb-tc-price,
html body .rtb-drl .rtb-tc-price,
html body .rtb-bag .rtb-tc-price,
html body .rtb-tc-price,
html body .rtb-tc-price .woocommerce-Price-amount,
html body .rtb-tc-price .woocommerce-Price-currencySymbol {
	color: #f5f5f7 !important;
	font-variant-numeric: tabular-nums;
}

html body .rtb-target-card .rtb-tc-pdf,
html body .rtb-tc-pdf {
	background-color: #1f1f1f !important;
	color: #ff4d67 !important;
	border: 1px solid rgba(200, 16, 46, 0.55) !important;
}

html body .woocommerce form .form-row .required,
html body .woocommerce form .form-row abbr.required,
html body .woocommerce form .form-row span.required,
html body span.required,
html body abbr.required {
	color: #ff4d67 !important;
	text-decoration: none !important;
}

html body .rtb-gunbroker-link,
html body a.rtb-gunbroker-link {
	color: #858585 !important;
}

html body .rtb-gunbroker-link:hover,
html body a.rtb-gunbroker-link:hover {
	color: #f5f5f7 !important;
}

html body.single-product a.woocommerce-product-gallery__trigger {
	background: rgba(20, 20, 22, 0.85) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.14);
}

html body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
	aspect-ratio: 1 / 1;
}
/* ==== /AUDIT-1028-BATCH-A ==== */

/* --------------------------------------------------------------------------
   AUDIT-1028 Batch A follow-up (1028b, 2026-10-28 23:10 EDT)
   Dark custom checkboxes on account pages (Remember me, Register opt-in,
   Edit-account opt-in). Native unchecked boxes render light/grey in Chrome
   and iOS Safari even with accent-color, so draw them ourselves.
   Scope: body.woocommerce-account only (login, register, saved-items gate,
   edit-account). Cart/checkout untouched.
   -------------------------------------------------------------------------- */
html body.woocommerce-account input[type="checkbox"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	margin: 0 8px 0 0 !important;
	padding: 0 !important;
	background: #141416 !important;
	border: 1.5px solid #8a8a93 !important;
	border-radius: 4px !important;
	display: inline-block !important;
	vertical-align: -3px !important;
	cursor: pointer;
	accent-color: #c8102e !important;
	transition: background-color .12s ease, border-color .12s ease;
}
html body.woocommerce-account input[type="checkbox"]:hover {
	border-color: #c8102e !important;
}
html body.woocommerce-account input[type="checkbox"]:checked {
	background: #c8102e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 12px 12px no-repeat !important;
	border-color: #c8102e !important;
}
html body.woocommerce-account input[type="checkbox"]:focus-visible {
	outline: 2px solid #c8102e !important;
	outline-offset: 2px !important;
}
html body.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0 !important;
	color: #f5f5f7;
}

/* AUDIT-1028-NITS START (Storefront 2026-10-29) */
/* ==== RTB AUDIT-1028-NITS sidecar (Theme 2026-10-29) ====
 * Selectors are from live guest HTML/CSS curled 2026-10-29 ~00:15 EDT:
 *   /shop/, /?s=glock&post_type=product, /product-category/guns-firearms/,
 *   /cart/, /fits-my-gun/?gun=glock-19-gen5 (body.page-id-300066).
 * CSS only. No text, no layout changes outside these blocks. Leaves the hat banner and the hat hero alone.
 * !important is used only in block (b), where the live rule is already !important. Everywhere else the selector out-specifies the live rule (noted per rule).
 * ROLLBACK: delete everything from this START line to the END line below.
 */

/* (a) Browse chips (FIREARMS / AMMUNITION / DUTY GEAR / BRANDS) on /shop/ and product search.
 *     Live: body.post-type-archive-product a.rtb-shop-entry__chip {border-radius:2px} in custom-cd6d6ea054f8.css (0,2,2).
 *     Search results carry body.post-type-archive-product too, so one selector covers both.
 *     Tag archives use the same chip markup (body.tax-product_tag a.rtb-shop-entry__chip, 2px), included for consistency.
 *     Ours is (0,3,3). --rx-r-btn resolves to 12px live (:root in custom-cd6d6ea054f8.css), 8px only if the token is missing. */
html body.post-type-archive-product .rtb-shop-entry__chips a.rtb-shop-entry__chip,
html body.tax-product_tag .rtb-shop-entry__chips a.rtb-shop-entry__chip {
	border-radius: var(--rx-r-btn, 8px);
}

/* (a) FILTERS button on shop, search and category archives (<button class="rtb-shop-filters-trigger">).
 *     Live: .woocommerce .rtb-shop-filters-trigger (0,2,0) sets no radius, so it renders square.
 *     Ours is (0,2,3) and only sets the radius; colors, border and the brand-archive !important background stay as they are. */
html body.woocommerce button.rtb-shop-filters-trigger {
	border-radius: var(--rx-r-btn, 8px);
}

/* (a2) Category sub-chips (RIFLES / HANDGUNS / SHOTGUNS) — Theme NITS-2 2026-10-29.
 *      Live was border-radius:0. Match browse chips via --rx-r-btn (12px). */
html body.tax-product_cat .rtb-cat-children > ul > li > a {
	border-radius: var(--rx-r-btn, 8px);
}

/* (b) applied as a one-value edit in the SITE-BEST 7 "In demand" rail rule above (var(--rx-red-hi) -> #ff4d67); block dropped. */

/* (c) Fits My Gun results width at desktop.
 *     Cause: GeneratePress gives #primary 70% (inline .site-content .content-area{width:70%}) and keeps an EMPTY
 *     .is-right-sidebar at 30% (its :has(:empty) hide only runs in a landscape-touch media query). Then
 *     .rtb-ff {max-width:880px} (rtb-fit-finder css) caps it again, so the list is about 820px at 1280.
 *     Fix: drop the empty sidebar on this page only (same pattern as live body.page-id-213175), let .rtb-ff go to
 *     1200px, and put the result cards in a 2-up grid with group headings and "More" spanning the row.
 *     Desktop only; 390 and tablet portrait are untouched. */
@media (min-width: 769px) {
	html body.page-id-300066 .site-content > .content-area#primary {
		width: 100%;
		max-width: 100%;
		flex: 1 1 100%;
		float: none;
	}
	html body.page-id-300066 .site-content > .widget-area.is-right-sidebar {
		display: none;
	}
}
@media (min-width: 1024px) {
	html body.page-id-300066 .entry-content .rtb-ff {
		max-width: 1200px;
	}
	html body.page-id-300066 .rtb-ff .rtb-ff-list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
		gap: 10px;
		align-items: stretch;
	}
	/* Group headings ("Exact fit", "Also fits"...) span the full row. "More" sits outside .rtb-ff-list, so it needs nothing. */
	html body.page-id-300066 .rtb-ff .rtb-ff-list > .rtb-ff-group {
		grid-column: 1 / -1;
	}
}
/* ==== END RTB AUDIT-1028-NITS sidecar ==== */
/* AUDIT-1028-NITS END */

/* ==== RTB AUDIT-1028-NITS-HOVER sidecar (Theme, 2026-10-29) ====
 * Restores the "See all" hover/focus state that went out with dropped block (b).
 * Scope: "In demand" rail on the empty cart and the zero-result search (section.rtb-sb7 > .rtb-section-head > p > a).
 * Live base rule (site-best-1028c line 46-50): color/-webkit-text-fill-color:#ff4d67 !important, text-decoration:none.
 * Base is !important, so the state colors must be too. Ours is (0,4,3) with the pseudo-class, beats (0,3,1).
 * Hover: white (19.8:1 on #0a0a0a) + underline, so the change is not color-only.
 * Keyboard focus: white text + 2px red-hi ring, offset 2px, same ring as the site's .rtb-sb7 a:focus-visible (line 117).
 *   Ring #e5323f on #0a0a0a is 4.58:1 (non-text minimum 3:1). Restated here so it holds even if line 117 changes.
 * Mouse click does not show the ring (:focus-visible only). No layout change: outline does not take space.
 * ROLLBACK: delete from this START line to the END line, purge /cart/ and the zero-result search URL.
 */
html body.woocommerce-cart .rtb-sb7 .rtb-section-head a:hover,
html body.search-no-results .rtb-sb7 .rtb-section-head a:hover {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}
html body.woocommerce-cart .rtb-sb7 .rtb-section-head a:focus-visible,
html body.search-no-results .rtb-sb7 .rtb-section-head a:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	outline: var(--rx-ring, 2px) solid var(--rx-red-hi, #e5323f);
	outline-offset: 2px;
	border-radius: 4px;
}
/* ==== END RTB AUDIT-1028-NITS-HOVER sidecar ==== */

/* ==== RTB AUDIT-1028-NITS-2 tinv header hide (Theme, 2026-10-29) ====
 * Hides the TI Wishlist H2 "Saved Items" so only the retitled H1 shows.
 * ROLLBACK: delete this block.
 */
body.woocommerce-account .tinv-wishlist .tinv-header{display:none}
/* ==== END RTB AUDIT-1028-NITS-2 tinv header hide ==== */

/* START hat-banner-slim (Theme HAT-BANNER 2026-10-29) — shop, search, product category/tag/brand archives only.
   Slims the Sales Center "Members only" hero (a.rtb-sc-hero) to a 52px strip (56px at >=768px). Words unchanged (the typed <br> keeps the two-line lockup); image hidden.
   At <768px the secondary line .rtb-sc-hero__s is hidden; it shows at >=768px.
   Home page hero is untouched. Rollback: delete START..END and purge LiteSpeed. */
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__in{
  aspect-ratio:auto;height:52px;max-width:1200px;container-type:normal;display:flex;align-items:center;overflow:hidden}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__pic{display:none}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__t{
  position:static;flex:1;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;text-align:left}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__k{
  flex:none;font-size:11px;padding:4px 8px 5px;letter-spacing:.06em}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__h{
  flex:none;margin:0;font-size:21px;line-height:.92;text-shadow:none}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__s{
  display:none;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1;text-shadow:none;color:#ededed}
:is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__c{
  flex:none;margin:0 0 0 auto;min-height:32px;padding:0 14px;font-size:12px;border-radius:var(--rx-r-btn,12px)}
@media(min-width:768px){
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__in{height:56px}
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__t{gap:14px;padding:0 24px}
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__k{font-size:12px}
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__h{font-size:24px}
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__s{display:block}
  :is(body.post-type-archive-product,body.search,body.tax-product_cat,body.tax-product_tag,body.tax-product_brand) .rtb-sc-hero__c{min-height:36px;font-size:13px}
}
/* END hat-banner-slim */

/* ==== RTB AUDIT-1028-NITS-2 saved-items notice icon START (Theme, 2026-10-29) ====
 * Hides the WooCommerce notice icon on the empty Saved items notice ("Nothing saved yet").
 * Source: woocommerce.css `.woocommerce-info::before{font-family:WooCommerce;content:"\e028";position:absolute;top:1em;left:1.5em}`,
 *   recoloured red by custom-cd6d6ea054f8.css `.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before`.
 *   Our notice skin (custom css `body.woocommerce-page .woocommerce > .woocommerce-info{padding:16px;border-left:4px solid}`)
 *   cut the text inset from 3.5em to 16px, but the icon stays at left:1.5em, so it sits on the "N".
 * House pattern: cart and checkout notices already drop this icon (custom css: body.woocommerce-cart/.woocommerce-checkout
 *   .woocommerce-info::before{content:none;display:none}). The red left and top border already mark the notice.
 * Selector is the same element the live red-border rule paints (.cart-empty.woocommerce-info in MyAccount content),
 *   so it is known to match. Specificity (0,4,2) beats WooCommerce's (0,1,1). No layout change to the text.
 * ROLLBACK: delete from this START line to the END line, purge /my-account/saved-items/.
 */
html body.woocommerce-account .woocommerce-MyAccount-content .cart-empty.woocommerce-info::before {
	content: none;
	display: none;
}
/* ==== RTB AUDIT-1028-NITS-2 saved-items notice icon END ==== */

/* ==== START RTB NITS-3 sidecar (Theme, 2026-10-29) ====
 * Five small layout and state fixes. CSS only. No markup, copy, heading case, hat banner, checkout or FFL changes.
 * ROLLBACK: delete from this START line to the END line, then purge /, /cart/, /fits-my-gun/ and the search URLs.
 */

/* (a) Zero-result search "In demand" rail: 4 cards were in a 5-column grid, leaving an empty slot.
 * Cause: the search page also has body.post-type-archive-product, so the shop archive rule
 * `body.post-type-archive-product #main ul.products{repeat(5)}` (1,1,2, ≥1280px) beats the rail's own repeat(4) rule (0,3,2).
 * Fix: the rail's own 4-column rule, with an ID so it wins. The shop, category, tag and brand grids aren't matched (they have no .rtb-sb7). */
@media (min-width: 769px) {
	html body.search-no-results #main .rtb-sb7 ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* (b) Fits My Gun desktop alignment. The page content's left edge was x=58, but the header logo and nav start at x=80.
 * Cause: GP `.separate-containers .site-main{margin:20px}` (left zeroed by right-sidebar), so #main is 1260 wide and .rtb-ff centres off-axis,
 * plus .rtb-ff padding 28px. Fix: take #main's side margins off and use the header's 40px inner padding.
 * At 390 the gutter is already 30px, matching the header, so there's no mobile rule. */
@media (min-width: 1024px) {
	html body.page-id-300066 #main {
		margin-left: 0;
		margin-right: 0;
	}
	html body.page-id-300066 .entry-content .rtb-ff {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/* (c) Cart line badge "Counts toward free hat" (SC 1.1.4 .rtb-sc-tag, logged-in only) touched the product title with no gap.
 * The gap goes on the title link's end, not the badge's start, so if the badge wraps to its own line it stays flush left with no stray 8px indent.
 * The trailing margin is invisible on lines with no badge. */
html body.woocommerce-cart td.product-name > a {
	margin-inline-end: 8px;
}
html body.woocommerce-cart td.product-name .rtb-sc-tag {
	vertical-align: middle;
}
/* On a phone the badge always drops to its own line. Give it a 6px gap above, and drop the trailing margin so the title wraps exactly as before. */
@media (max-width: 768px) {
	html body.woocommerce-cart td.product-name > a {
		margin-inline-end: 0;
	}
	html body.woocommerce-cart td.product-name .rtb-sc-tag:not([hidden]) {
		display: table;
		margin-top: 6px;
	}
}

/* (d) ADD TO CART was uppercase with tracking on search results and Fits My Gun, but sentence case on shop, category and home.
 * Fix: use the shop loop's treatment (text-transform none, letter-spacing 0) on those two places. Colours, size and radius aren't changed. */
html body.search.search-results ul.products li.product .button,
html body.search.search-results ul.products li.product a.add_to_cart_button,
html body .rtb-ff a.rtb-ff-atc,
html body .rtb-ff a.button.rtb-ff-atc {
	text-transform: none;
	letter-spacing: 0;
}

/* (e) Home rail "See all" keyboard focus. The home rails had no house ring, so Chrome's default white ring showed.
 * White text plus a 2px #e5323f ring, the same as the cart and zero-result rail (audit-1028-nits-hover). The outline-offset is inset (-2px) so the ring stays
 * inside the link box and can't be clipped at the 390 right edge. The link already has 12px side padding, so the ring clears the text.
 * :focus-visible only, so a mouse click shows no ring. An outline takes no space, so nothing moves. */
html body.home .rtb-rail .rtb-section-head a:focus-visible,
html body.home .rtb-newest .rtb-section-head a:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	outline: 2px solid #e5323f;
	outline-offset: -2px;
	border-radius: var(--rx-r-btn, 12px);
}
/* ==== END RTB NITS-3 sidecar ==== */

/* VISUAL-SWEEP-1029: SOFT tap-target fixes only. Not applied live. */
/* My account and checkout: the "Show password" eye is 22px tall. */
.woocommerce form .show-password-input{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
/* Mobile: checkout, lost-password and account inputs are 39px; apparel Size select is 40px. */
@media (max-width:768px){
  .woocommerce form .input-text,
  .woocommerce-checkout .input-text,
  .woocommerce form select,
  .variations select{min-height:44px}
}

/* SIZEFIX-1029 (Chief takeover, 2026-10-29 ET): the apparel Size select stayed 40px at 390 because the theme rule
 * "body.single-product form.variations_form select#pa_size{min-height:2.5rem}" outranks ".variations select" above.
 * Same 44px floor, higher specificity, mobile only. No !important, no other property changed. */
@media (max-width:768px){
  html body.single-product form.variations_form table.variations select,
  html body.single-product form.variations_form table.variations select#pa_size{min-height:44px}
}

/* FIXREST-1029 (Chief takeover, 2026-10-29 ET): checkout State/Country picker (select2) was 37px at 390; fix-1029's
 * "form select" rule only reaches the hidden native select. Same 44px floor on the visible box, mobile only. */
@media (max-width:768px){
  html body.woocommerce-checkout .select2-container .select2-selection--single{height:44px;min-height:44px;display:flex;align-items:center}
  html body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{flex:1 1 auto;min-width:0}
  html body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:42px}
}

/* EYEFIX-1029e (VISUAL-SWEEP-1029b punch, Chief takeover 2026-10-29 ET): the Show password eye is WooCommerce's ::before SVG background with fill #111 on #0a0a0a, so color alone can't reach it. Same SVGs used as a mask; the eye takes #a1a1aa, red #ff4d63 on hover/focus. Rollback: remove this block (or point #3553 back to site-best-1029d-b9b6afd4.css). */
.woocommerce form .show-password-input::before,.woocommerce-page form .show-password-input::before{background-image:none!important;background-color:#a1a1aa!important;-webkit-mask:url("data:image/svg+xml,%3Csvg width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z%22 fill=%22%23111111%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z%22 fill=%22%23111111%22/%3E%3C/svg%3E") center/contain no-repeat;opacity:1!important}
.woocommerce form .show-password-input.display-password::before,.woocommerce-page form .show-password-input.display-password::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z%22 fill=%22%23111111%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22 fill=%22none%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z%22 fill=%22%23111111%22/%3E%3C/svg%3E")}
.woocommerce form .show-password-input:hover::before,.woocommerce form .show-password-input:focus-visible::before,.woocommerce-page form .show-password-input:hover::before,.woocommerce-page form .show-password-input:focus-visible::before{background-color:#ff4d63!important}

/* GAPS-1029f (Chief takeover 2026-10-29 ET): Theme gaps sweep fix-gaps-1029.css appended. Rollback: point #3553 back to site-best-1029e-dcae27d7.css. */
/* RTB Arms — visual gap fixes, 2026-10-29 sweep. Visual only; no FFL/checkout logic touched. */

/* PDP: wrapper is forced 1/1 (litespeed rule "html body.single-product div.product div.images
   .woocommerce-product-gallery__wrapper{aspect-ratio:1/1}"), so a single wide image sits at the top
   with a ~80px empty band below. Center it only when the gallery has exactly one image (multi-image
   flexslider galleries are untouched). */
html body.single-product div.product div.images .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:only-child) {
  display: flex;
  align-items: center;
  justify-content: center;
}
html body.single-product div.product div.images .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:only-child) > .woocommerce-product-gallery__image {
  width: 100%;
}

/* Policy pages (FAQ, Shipping & Returns) at desktop: H2 is 35px/700 with 0 top margin, nearly as big
   as the 42px H1, and the H1 is dimmer (rgb 216) than the H2s (rgb 240). Bring H2s down to a
   section size, give them air, and match the H1 to the heading white. Mobile already uses 21.6px. */
/* H1 colour applies at all widths (measured rgb 216 at 390 and 1280). */
.rtb-policy h1 { color: rgb(240, 240, 240); }
@media (min-width: 769px) {
  .rtb-policy h2 { font-size: 24px; line-height: 1.25; margin-top: 40px; margin-bottom: 12px; }
  .rtb-policy h1 + h2 { margin-top: 24px; }
}

/* Brand pages: an inline rule "body.tax-product_brand .rtb-cat-children.rtb-brand-cats > ul > li > a"
   sets border-radius:0, so brand chips are square while category chips get
   "html body.tax-product_cat .rtb-cat-children > ul > li > a{border-radius:var(--rx-r-btn,8px)}"
   (site-best-1029d, computes 12px). Give brand chips the same radius token. */
html body.tax-product_brand .rtb-cat-children.rtb-brand-cats > ul > li > a { border-radius: var(--rx-r-btn, 8px); }
