{"product_id":"rangecommander-xs-tactical-12-pistol-range-bag","title":"RangeCommander XS – Tactical 12-Pistol Range Bag","description":"\u003cbody\u003e\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003cmeta name=\"description\" content=\"RangeCommander XS compact tactical pistol range bag with 12-pistol capacity, lockable dual zipper, universal holster and durable organised storage.\"\u003e\n\u003ctitle\u003eRangeCommander XS Tactical Pistol Range Bag\u003c\/title\u003e\n\n\u003cstyle\u003e\n.bosveld-rod-section {\n  --olive-dark:#26351f;\n  --olive:#556b2f;\n  --olive-medium:#718447;\n  --olive-light:#a8b486;\n  --cream:#f6f2e7;\n  --white:#ffffff;\n  --gold:#d4af37;\n  --text:#252a22;\n  --muted:#535c4d;\n  --border:rgba(85,107,47,.18);\n\n  position:relative;\n  width:100%;\n  overflow:hidden;\n  container-type:inline-size;\n  padding:72px 20px;\n  color:var(--text);\n  font-family:Arial,Helvetica,sans-serif;\n  background:\n    radial-gradient(circle at 10% 10%,rgba(113,132,71,.18),transparent 32%),\n    radial-gradient(circle at 90% 80%,rgba(85,107,47,.14),transparent 30%),\n    var(--cream);\n}\n\n.bosveld-rod-section,\n.bosveld-rod-section *{box-sizing:border-box}\n\n.bosveld-rod-container{\n  position:relative;\n  z-index:2;\n  width:min(100%,860px);\n  margin:0 auto;\n}\n\n.bosveld-decoration{\n  position:absolute;\n  border-radius:50%;\n  pointer-events:none;\n  animation:bosveld-float 7s ease-in-out infinite;\n}\n.bosveld-decoration--one{\n  top:40px;right:4%;width:130px;height:130px;\n  border:2px solid rgba(85,107,47,.18);\n}\n.bosveld-decoration--two{\n  bottom:100px;left:3%;width:84px;height:84px;\n  background:rgba(113,132,71,.1);\n  animation-delay:-3s;\n}\n\n.bosveld-eyebrow{\n  margin:0 0 14px;\n  color:var(--olive);\n  font-size:.8rem;\n  font-weight:900;\n  letter-spacing:2.2px;\n  text-transform:uppercase;\n  animation:bosveld-fade-up .7s ease both;\n}\n\n.bosveld-title{\n  width:100%;\n  max-width:100%;\n  margin:0;\n  color:var(--olive-dark);\n  font-size:clamp(2.45rem,9cqw,5.1rem);\n  line-height:.97;\n  letter-spacing:-.05em;\n  overflow-wrap:normal;\n  word-break:normal;\n  animation:bosveld-fade-up .8s .1s ease both;\n}\n.bosveld-title span{\n  display:block;\n  width:100%;\n  max-width:100%;\n  color:var(--olive-medium);\n}\n\n.bosveld-tagline{\n  margin:22px 0 0;\n  color:#9a7637;\n  font-size:clamp(1.05rem,2vw,1.35rem);\n  font-weight:900;\n  line-height:1.4;\n  animation:bosveld-fade-up .8s .15s ease both;\n}\n\n.bosveld-intro{\n  max-width:760px;\n  margin:18px 0 36px;\n  color:#3f4939;\n  font-size:1.05rem;\n  line-height:1.75;\n  animation:bosveld-fade-up .8s .2s ease both;\n}\n\n.bosveld-product-visual{\n  position:relative;\n  display:grid;\n  width:100%;\n  min-height:480px;\n  margin-bottom:38px;\n  overflow:hidden;\n  place-items:center;\n  border:1px solid var(--border);\n  border-radius:26px;\n  background:\n    radial-gradient(circle at center,rgba(168,180,134,.25),transparent 46%),\n    linear-gradient(150deg,#fff,#e8eddc);\n  box-shadow:0 22px 48px rgba(38,53,31,.14);\n  perspective:1200px;\n}\n.bosveld-product-visual::before{\n  position:absolute;width:430px;height:430px;border-radius:50%;\n  background:rgba(113,132,71,.1);\n  content:\"\";\n  animation:bosveld-halo 5s ease-in-out infinite;\n}\n\n.bosveld-product-badge{\n  position:absolute;top:22px;right:22px;z-index:4;\n  display:grid;width:96px;height:96px;place-items:center;\n  border-radius:50%;color:#dce7be;text-align:center;\n  background:var(--olive-dark);\n  box-shadow:0 14px 30px rgba(38,53,31,.25);\n  animation:bosveld-badge-float 3.5s ease-in-out infinite;\n}\n.bosveld-product-badge strong{display:block;font-size:.9rem;line-height:1.1}\n.bosveld-product-badge span{\n  display:block;margin-top:5px;color:rgba(255,255,255,.68);\n  font-size:.5rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;\n}\n\n\/* RangeCommander XS product illustration *\/\n.bosveld-range-bag{\n  position:relative;\n  z-index:3;\n  width:min(520px,82%);\n  height:310px;\n  animation:bosveld-product-float 4s ease-in-out infinite;\n}\n.bosveld-bag-body{\n  position:absolute;\n  left:50%;top:80px;\n  width:390px;height:190px;\n  transform:translateX(-50%);\n  border:8px solid #151915;\n  border-radius:24px;\n  background:\n    linear-gradient(135deg,rgba(255,255,255,.07),transparent 35%),\n    repeating-linear-gradient(0deg,#394235 0 20px,#343d30 20px 40px);\n  box-shadow:0 28px 40px rgba(30,36,28,.25);\n}\n.bosveld-bag-handle{\n  position:absolute;\n  left:50%;top:34px;\n  width:180px;height:90px;\n  transform:translateX(-50%);\n  border:16px solid #20271e;\n  border-bottom:0;\n  border-radius:48px 48px 0 0;\n}\n.bosveld-bag-pocket{\n  position:absolute;\n  bottom:22px;\n  width:105px;height:82px;\n  border:5px solid #1b2119;\n  border-radius:12px;\n  background:#485341;\n}\n.bosveld-bag-pocket--left{left:22px}\n.bosveld-bag-pocket--middle{left:50%;transform:translateX(-50%)}\n.bosveld-bag-pocket--right{right:22px}\n.bosveld-bag-zip{\n  position:absolute;\n  left:18px;right:18px;top:26px;\n  height:6px;border-radius:999px;background:#9aa48f;\n}\n.bosveld-bag-lock{\n  position:absolute;\n  right:34px;top:12px;\n  display:grid;width:38px;height:38px;place-items:center;\n  border-radius:8px;background:#dce7be;font-size:1.05rem;\n}\n.bosveld-bag-logo{\n  position:absolute;\n  left:50%;top:53px;\n  transform:translateX(-50%);\n  color:#eef3e7;\n  font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;\n}\n.bosveld-section{\n  position:relative;\n  width:100%;\n  margin-bottom:36px;\n  padding:clamp(24px,5vw,40px);\n  border:1px solid var(--border);\n  border-radius:22px;\n  background:rgba(255,255,255,.94);\n  box-shadow:0 14px 35px rgba(38,53,31,.08);\n}\n\n.bosveld-section--dark{\n  color:var(--white);\n  background:var(--olive-dark);\n  box-shadow:0 20px 45px rgba(38,53,31,.18);\n}\n\n.bosveld-section-heading{\n  max-width:100%;\n  margin:0 0 10px;\n  color:var(--olive-dark);\n  font-size:clamp(1.65rem,4vw,2.45rem);\n  line-height:1.15;\n  letter-spacing:-.03em;\n}\n.bosveld-section--dark .bosveld-section-heading{color:var(--white)}\n\n.bosveld-section-intro{\n  max-width:680px;\n  margin:0 0 24px;\n  color:var(--muted);\n  line-height:1.65;\n}\n.bosveld-section--dark .bosveld-section-intro{color:rgba(255,255,255,.72)}\n\n.bosveld-benefit-grid,\n.bosveld-feature-grid,\n.bosveld-spec-grid{\n  display:grid;\n  width:100%;\n  gap:16px;\n}\n.bosveld-benefit-grid{\n  grid-template-columns:1fr;\n  max-width:680px;\n  margin:0 auto;\n}\n.bosveld-feature-grid,\n.bosveld-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}\n\n.bosveld-benefit-card,\n.bosveld-feature-card,\n.bosveld-spec-card{\n  position:relative;\n  overflow:hidden;\n  min-width:0;\n  border-radius:17px;\n  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;\n}\n\n.bosveld-benefit-card{\n  display:grid;\n  grid-template-columns:58px minmax(0,1fr);\n  column-gap:16px;\n  align-items:start;\n  padding:22px;\n  border:1px solid rgba(255,255,255,.13);\n  background:rgba(255,255,255,.07);\n}\n.bosveld-benefit-icon{\n  grid-row:1 \/ span 2;\n}\n.bosveld-benefit-card strong{\n  margin:2px 0 7px;\n  font-size:1.05rem;\n  line-height:1.3;\n}\n.bosveld-benefit-card p{\n  grid-column:2;\n}\n.bosveld-benefit-card:hover{\n  border-color:rgba(255,255,255,.32);\n  background:rgba(255,255,255,.12);\n  transform:translateY(-6px);\n}\n\n.bosveld-benefit-icon{\n  display:grid;width:48px;height:48px;margin-bottom:14px;\n  place-items:center;border-radius:15px;\n  color:var(--olive-dark);font-size:1.3rem;background:#dce7be;\n  animation:bosveld-icon-bob 3.3s ease-in-out infinite;\n}\n.bosveld-benefit-card strong,\n.bosveld-feature-card strong,\n.bosveld-spec-card strong{\n  display:block;margin-bottom:8px;font-size:.96rem;\n}\n.bosveld-benefit-card p{\n  margin:0;color:rgba(255,255,255,.72);\n  font-size:.86rem;line-height:1.6;\n}\n\n.bosveld-feature-card,\n.bosveld-spec-card{\n  padding:20px;\n  border:1px solid var(--border);\n  background:#f8faf3;\n}\n.bosveld-feature-card:hover,\n.bosveld-spec-card:hover{\n  border-color:var(--olive-medium);\n  box-shadow:0 18px 36px rgba(38,53,31,.12);\n  transform:translateY(-6px);\n}\n.bosveld-feature-card p,\n.bosveld-spec-card p{\n  margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;\n}\n\n.bosveld-feature-number{\n  display:grid;\n  width:42px;height:42px;\n  margin-bottom:12px;\n  place-items:center;\n  border-radius:50%;\n  color:var(--olive-dark);\n  background:#dce7be;\n  font-weight:900;\n}\n\n.bosveld-cta{\n  display:grid;\n  grid-template-columns:minmax(0,1fr);\n  gap:18px;\n  padding:clamp(24px,5vw,38px);\n  border-radius:22px;\n  color:var(--white);\n  background:linear-gradient(135deg,var(--olive),var(--olive-dark));\n  box-shadow:0 20px 45px rgba(38,53,31,.2);\n}\n.bosveld-cta h2{margin:0 0 8px;font-size:clamp(1.55rem,4vw,2.2rem)}\n.bosveld-cta p{margin:0;color:rgba(255,255,255,.76);line-height:1.65}\n\n.bosveld-button-group{\n  display:grid;\n  grid-template-columns:1fr;\n  gap:12px;\n}\n.bosveld-button{\n  position:relative;\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  min-height:52px;\n  overflow:hidden;\n  padding:0 22px;\n  border:2px solid var(--white);\n  border-radius:10px;\n  font-weight:900;\n  text-align:center;\n  text-decoration:none;\n  transition:transform .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease;\n}\n.bosveld-button:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(0,0,0,.18)}\n.bosveld-button--primary{color:var(--olive-dark);background:var(--white)}\n.bosveld-button--secondary{color:var(--white);background:transparent;cursor:pointer}\n\n.bosveld-footer-tagline{\n  margin:30px 0 0;\n  color:var(--olive-dark);\n  font-size:.86rem;\n  font-weight:900;\n  letter-spacing:2.3px;\n  text-align:center;\n  text-transform:uppercase;\n}\n\n.bosveld-reveal{\n  opacity:0;\n  transform:translateY(28px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n.bosveld-reveal.is-visible{opacity:1;transform:translateY(0)}\n\n.bosveld-stagger\u003e*{\n  opacity:0;\n  transform:translateY(18px);\n  transition:opacity .6s ease,transform .6s ease;\n}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*{opacity:1;transform:translateY(0)}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(1){transition-delay:.08s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(2){transition-delay:.16s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(3){transition-delay:.24s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(4){transition-delay:.32s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(5){transition-delay:.40s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(6){transition-delay:.48s}\n\n@keyframes bosveld-fade-up{\n  from{opacity:0;transform:translateY(24px)}\n  to{opacity:1;transform:translateY(0)}\n}\n@keyframes bosveld-float{\n  0%,100%{transform:translateY(0) rotate(0)}\n  50%{transform:translateY(-18px) rotate(8deg)}\n}\n@keyframes bosveld-product-float{\n  0%,100%{transform:translateY(0) rotate(-1deg)}\n  50%{transform:translateY(-12px) rotate(1deg)}\n}\n@keyframes bosveld-halo{\n  0%,100%{opacity:.75;transform:scale(.92)}\n  50%{opacity:1;transform:scale(1.06)}\n}\n@keyframes bosveld-icon-bob{\n  0%,100%{transform:translateY(0) rotate(-2deg)}\n  50%{transform:translateY(-7px) rotate(2deg)}\n}\n@keyframes bosveld-badge-float{\n  0%,100%{transform:translateY(0) rotate(-2deg)}\n  50%{transform:translateY(-7px) rotate(2deg)}\n}\n\n@media screen and (max-width:760px){\n  .bosveld-rod-section{padding:48px 16px}\n\n  .bosveld-title{\n    font-size:clamp(2.35rem,10cqw,4rem);\n  }\n\n  .bosveld-product-visual{min-height:390px}\n\n  .bosveld-benefit-grid,\n  .bosveld-feature-grid,\n  .bosveld-spec-grid{\n    grid-template-columns:1fr;\n  }\n\n  .bosveld-product-badge{\n    top:14px;\n    right:14px;\n    width:76px;\n    height:76px;\n  }\n}\n\n@media screen and (max-width:430px){\n  .bosveld-benefit-card{\n    grid-template-columns:48px minmax(0,1fr);\n    column-gap:13px;\n    padding:18px 16px;\n  }\n  .bosveld-benefit-icon{\n    width:44px;\n    height:44px;\n  }\n\n  .bosveld-rod-section{padding-inline:10px}\n\n  .bosveld-rod-container{width:100%}\n\n  .bosveld-title{\n    font-size:clamp(2rem,10.5cqw,3.1rem);\n  }\n\n  .bosveld-eyebrow{\n    font-size:.72rem;\n    letter-spacing:1.7px;\n  }\n\n  .bosveld-intro{font-size:.96rem}\n\n  .bosveld-product-visual{\n    min-height:330px;\n    border-radius:20px;\n  }\n\n  .bosveld-product-badge{\n    width:66px;\n    height:66px;\n  }\n\n  .bosveld-section{padding:22px 17px}\n}\n\n\n@media screen and (max-width:760px){\n  .bosveld-range-bag{width:92%;height:280px}\n  .bosveld-bag-body{top:78px;width:min(390px,88%);height:175px}\n  .bosveld-bag-handle{top:42px;width:155px;height:78px;border-width:14px}\n  .bosveld-bag-pocket{width:27%;height:72px}\n}\n@media screen and (max-width:430px){\n  .bosveld-range-bag{width:96%;height:235px}\n  .bosveld-bag-body{top:70px;width:92%;height:145px;border-width:6px}\n  .bosveld-bag-handle{top:38px;width:125px;height:65px;border-width:12px}\n  .bosveld-bag-pocket{bottom:16px;height:55px;border-width:4px}\n  .bosveld-bag-logo{top:48px;font-size:.58rem}\n  .bosveld-bag-lock{right:20px;width:32px;height:32px}\n}\n\n\n@container (max-width:700px){\n  .bosveld-title{\n    font-size:clamp(2.25rem,10cqw,4rem);\n    line-height:.98;\n    letter-spacing:-.045em;\n  }\n  .bosveld-tagline{\n    font-size:1.05rem;\n  }\n}\n\n@container (max-width:560px){\n  .bosveld-title{\n    font-size:clamp(2rem,10.5cqw,3.15rem);\n    line-height:1;\n    letter-spacing:-.04em;\n  }\n  .bosveld-eyebrow{\n    font-size:.7rem;\n    letter-spacing:1.5px;\n  }\n  .bosveld-tagline{\n    margin-top:16px;\n    font-size:1rem;\n    line-height:1.35;\n  }\n}\n\n@container (max-width:430px){\n  .bosveld-title{\n    font-size:clamp(1.9rem,11cqw,2.8rem);\n  }\n}\n\n@media(prefers-reduced-motion:reduce){\n  .bosveld-rod-section *,\n  .bosveld-rod-section *::before,\n  .bosveld-rod-section *::after{\n    animation-duration:.01ms!important;\n    animation-iteration-count:1!important;\n    transition-duration:.01ms!important;\n  }\n  .bosveld-reveal{opacity:1;transform:none}\n}\n\u003c\/style\u003e\n\n\u003csection class=\"bosveld-rod-section\"\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--one\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eCompact tactical storage for range and field\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      RangeCommander\n      \u003cspan\u003eXS Tactical Range Bag\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eYour Range. Your Rules. Your Bag.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      The \u003cstrong\u003eRangeCommander XS\u003c\/strong\u003e is built for the shooter who takes their kit seriously.\n      Whether you’re heading to the range for a morning session or packing for a hunting trip,\n      this compact tactical pistol bag keeps your firearms secure, organised, and ready for transport\n      — every single time.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bosveld-product-visual\" data-parallax\u003e\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e12 Pistol\u003c\/strong\u003e\n          \u003cspan\u003eCapacity\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-range-bag\" role=\"img\" aria-label=\"RangeCommander XS tactical pistol range bag\"\u003e\n        \u003cdiv class=\"bosveld-bag-handle\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"bosveld-bag-body\"\u003e\n          \u003cdiv class=\"bosveld-bag-zip\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-lock\"\u003e🔒\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-logo\"\u003eRangeCommander XS\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--left\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--middle\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--right\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"bosveld-section bosveld-section--dark bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eCompact outside. Serious capacity inside.\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Built to keep your range setup organised, protected and easier to transport.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🎯\u003c\/div\u003e\n          \u003cstrong\u003e12-Pistol Capacity\u003c\/strong\u003e\n          \u003cp\u003eGenerous organised storage for a full collection or a shared range-day setup.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🔒\u003c\/div\u003e\n          \u003cstrong\u003eLockable Dual Zipper\u003c\/strong\u003e\n          \u003cp\u003ePadlock-compatible zipper pulls help keep the bag secured during storage and transport.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🧰\u003c\/div\u003e\n          \u003cstrong\u003eUniversal Holster Included\u003c\/strong\u003e\n          \u003cp\u003eFits most standard pistol frames, so there’s no separate holster purchase required.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWhat’s Included\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eEverything you need for a more organised range setup.\u003c\/p\u003e\n\n      \u003cdiv style=\"margin:0 0 20px;padding:15px 17px;border-left:5px solid var(--olive);border-radius:10px;background:#edf1e1;color:var(--olive-dark);line-height:1.55;\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The Bosveld Tactical badge is \u003cstrong\u003enot included\u003c\/strong\u003e with the RangeCommander XS.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eTactical 12-Pistol Range Bag\u003c\/strong\u003e\n          \u003cp\u003eCompact tactical storage designed around range-day organisation.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eLockable Dual Zipper\u003c\/strong\u003e\n          \u003cp\u003eCompatible with a padlock for added security. Padlock not included.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eUniversal Holster\u003c\/strong\u003e\n          \u003cp\u003eIncluded with the bag and designed to fit most standard pistol frames.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\" id=\"features\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eKey Features\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Purpose-built storage without unnecessary bulk.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e01\u003c\/div\u003e\n          \u003cstrong\u003e12-Pistol Capacity\u003c\/strong\u003e\n          \u003cp\u003eGenerous storage for your collection or a shared range day.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e02\u003c\/div\u003e\n          \u003cstrong\u003eLockable Zipper\u003c\/strong\u003e\n          \u003cp\u003ePadlock-compatible for more secure storage and transport.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e03\u003c\/div\u003e\n          \u003cstrong\u003eUniversal Holster Included\u003c\/strong\u003e\n          \u003cp\u003eNo extra purchase needed; designed to fit most standard handguns.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e04\u003c\/div\u003e\n          \u003cstrong\u003eDurable Construction\u003c\/strong\u003e\n          \u003cp\u003eBuilt to handle repeated use at the range and in the field.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e05\u003c\/div\u003e\n          \u003cstrong\u003eCompact XS Profile\u003c\/strong\u003e\n          \u003cp\u003eFits neatly in a vehicle boot, locker or range-bag rack without taking over the space.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWho It’s For\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        From the weekend range shooter to the serious hunter, the RangeCommander XS\n        is a no-nonsense bag designed to show up ready. Pack it, secure it and go.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eRange Days\u003c\/strong\u003e\n          \u003cp\u003eKeep your shooting kit together and organised for regular practice sessions.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eHunting Trips\u003c\/strong\u003e\n          \u003cp\u003eCompact enough to pack alongside the rest of your field gear.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eOrganised Storage\u003c\/strong\u003e\n          \u003cp\u003eA practical option when you want dedicated space for your pistols and related range kit.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eShared Range Sessions\u003c\/strong\u003e\n          \u003cp\u003eThe 12-pistol capacity gives you room when more than one shooter is packing for the day.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eProduct Specifications\u003c\/h2\u003e\n\n      \u003cdiv class=\"bosveld-spec-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eProduct\u003c\/strong\u003e\n          \u003cp\u003eRangeCommander XS Tactical Range Bag\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eCapacity\u003c\/strong\u003e\n          \u003cp\u003eUp to 12 pistols\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eClosure\u003c\/strong\u003e\n          \u003cp\u003eLockable dual zipper\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eIncluded\u003c\/strong\u003e\n          \u003cp\u003eUniversal holster\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eProfile\u003c\/strong\u003e\n          \u003cp\u003eCompact XS tactical design\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003ePadlock\u003c\/strong\u003e\n          \u003cp\u003eNot included\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eBosveld Tactical Badge\u003c\/strong\u003e\n          \u003cp\u003eNot included\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eYour range. Your rules. Your bag.\u003c\/h2\u003e\n        \u003cp\u003e\n          Compact tactical organisation for shooters who want their kit together and ready to go.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-button-group\"\u003e\n        \u003ca class=\"bosveld-button bosveld-button--primary\" href=\"#features\"\u003e\n          View Product Features\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bosveld-footer-tagline\"\u003ePACK. SECURE. GO.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  const revealItems=document.querySelectorAll(\".bosveld-reveal\");\n\n  if(\"IntersectionObserver\" in window){\n    const observer=new IntersectionObserver(function(entries,revealObserver){\n      entries.forEach(function(entry){\n        if(!entry.isIntersecting)return;\n        entry.target.classList.add(\"is-visible\");\n        revealObserver.unobserve(entry.target);\n      });\n    },{threshold:.14});\n\n    revealItems.forEach(function(item){observer.observe(item)});\n  }else{\n    revealItems.forEach(function(item){item.classList.add(\"is-visible\")});\n  }\n\n  document.querySelectorAll('.bosveld-rod-section a[href^=\"#\"]').forEach(function(link){\n    link.addEventListener(\"click\",function(event){\n      const href=link.getAttribute(\"href\");\n      if(!href || href===\"#\")return;\n      const target=document.querySelector(href);\n      if(!target)return;\n      event.preventDefault();\n      target.scrollIntoView({behavior:\"smooth\",block:\"start\"});\n    });\n  });\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical","offers":[{"title":"Default Title","offer_id":48831573655705,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageAug8_2026_08_10_24AM.png?v=1786169719","url":"https:\/\/bosveldtactical.co.za\/products\/rangecommander-xs-tactical-12-pistol-range-bag","provider":"Bosveld Tactical ","version":"1.0","type":"link"}