/* ============ HERO BAND (backdrop for the transparent header) ============ */
.elementor-66576 .elementor-element-16f2b670{ min-height:150px !important; }

/* ============ TITLE + INTRO ============ */
.elementor-66576 .elementor-element-5ce661b0.e-con{ max-width:none !important; padding:26px 20px 4px !important; }
.elementor-66576 .elementor-element-5ce661b0 > .e-con-inner{ max-width:1600px !important; }
.elementor-66576 .elementor-element-5ce661b0 h1.elementor-heading-title{ font-size:32px !important; line-height:1.15 !important; color:#101A33 !important; text-align:center !important; margin:0 !important; }
.elementor-66576 .elementor-element-51c71f6{ max-width:900px !important; margin:10px auto 0 !important; text-align:center !important; }
.elementor-66576 .elementor-element-51c71f6 p{ font-size:13.5px !important; line-height:1.6 !important; color:#5b6b7c !important; margin:0 !important; }
.elementor-66576 .sr-intro-toggle{ font-size:11px !important; }

/* ============ SHOP ROW WIDTH ============ */
.elementor-66576 .elementor-element-4123aa9.elementor-section{ max-width:1600px !important; margin:10px auto 0 !important; }
.elementor-66576 .elementor-element-4123aa9 > .elementor-container{ max-width:1600px !important; }

/* ============ FILTER RAIL ============ */
.elementor-66576 .elementor-element-8c31dc0 > .elementor-widget-wrap{ background:#fff; border:1px solid #e9edf3; border-radius:12px; padding:18px 16px !important; align-content:start; }
.elementor-66576 .elementor-element-8c31dc0 .elementor-element-93c7575,
.elementor-66576 .elementor-element-8c31dc0 .elementor-element-c3d88dd{ display:none !important; }
.elementor-66576 .elementor-element-8c31dc0 input[type=checkbox],
.elementor-66576 .elementor-element-8c31dc0 input[type=radio]{ accent-color:#101A33; }
.elementor-66576 .elementor-element-8c31dc0 .apply-filters__button{ width:100%; min-height:42px; border-radius:2px; background:var(--sr-cta); border:none; color:#101A33; font-family:var(--sr-ff-label); font-weight:600; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background .15s; }
.elementor-66576 .elementor-element-8c31dc0 .apply-filters__button:hover{ background:#3c4b71; color:#fff; }
.elementor-66576 .elementor-element-8c31dc0 .elementor-element-e5baa13 *{ color:#8a93a3 !important; font-size:12.5px !important; }

/* Adaptive filters: hide options with zero results in the current context
   (rows are marked .sr-zero by the pruner JS from the indexer counters) */
.elementor-66576 .jet-filter-row.sr-zero{ display:none !important; }
/* 2.33.49: on a facet that is already applied, the unticked options show without a count (JetSmartFilters counts them WITH
   the applied choice, so they would all read (0)); the applied ones keep theirs */
.elementor-66576 .jet-filter-row.sr-nocount .jet-filters-counter{ display:none !important; }
/* v2.8.2: a facet whose EVERY option is (0) in this context hides entirely
   (e.g. Caliber/Capacity/Barrel on apparel, camping, fishing categories) */
.elementor-66576 .elementor-element-8c31dc0 .sr-facet-empty{ display:none !important; }
.elementor-66576 .elementor-element-8c31dc0 .jet-filters-counter{ color:#8a93a3; font-size:12px; }

/* ============ SEARCH + SORT ROW ============ */
.elementor-66576 .elementor-element-8332bc1 .dgwt-wcas-search-wrapp{ max-width:620px !important; margin:0 auto !important; }
.elementor-66576 .elementor-element-2aa28fa .jet-sorting{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:flex-end; gap:10px; }
.elementor-66576 .elementor-element-2aa28fa .jet-sorting-label{ margin:0 !important; color:#5b6b7c; font-size:14px; white-space:nowrap; }
.elementor-66576 .elementor-element-2aa28fa select.jet-sorting-select{ width:auto !important; min-width:190px; border:1px solid #dfe5ee; border-radius:8px; padding:8px 12px; color:#101A33; }
.elementor-66576 .elementor-element-83616ba .elementor-container{ align-items:center; }

/* ============ PRODUCT GRID + CARDS (category/shop) ============ */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ gap:14px !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product{ border:1px solid #eef1f6; border-radius:12px; background:#fff; padding:14px 12px 16px !important; margin:0 !important; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product:hover{ box-shadow:0 10px 26px rgba(16,26,51,.10); transform:translateY(-2px); border-color:#dfe5ee; }
/* v2.11.6: cards must FILL their grid column. Blocksy renders li.product as a
   centered flex column, so the card root shrank to its content (the 180px
   thumbnail widget + 18px column padding = 218px) and every column narrower
   than that clipped the card's right edge (4 cols at 1080 = 172px cards with
   the image cut off on both sides). Root 100%, thumbnail fluid, title clamped
   to three lines so the 122px title box no longer pads every card. */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product{ min-width:0; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product > .elementor{ width:100% !important; max-width:100% !important; min-width:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail{ width:100% !important; max-width:180px !important; min-width:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail .elementor-widget-container,
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail .jet-woo-builder-archive-product-thumbnail__wrapper,
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail .jet-woo-builder-archive-product-thumbnail{ height:auto !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a{ width:100% !important; max-width:100% !important; min-width:0 !important; height:auto !important; aspect-ratio:1/1; box-sizing:border-box; padding:10px !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail img{ width:auto !important; max-width:100% !important; height:auto !important; max-height:100% !important; object-fit:contain; }
/* v2.15.1: ONE frame per card. The archive item template (68487) draws its own column border AND a bordered white box around the
   thumbnail link, so every card showed three nested outlines ("the light outlining boxing is breaking items" — Josh). The li is
   the card; the template's column and thumbnail frames go, at every width. */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-column{ border:none !important; border-radius:0 !important; padding:0 !important; box-shadow:none !important; background:transparent !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a{ border:none !important; background:transparent !important; box-shadow:none !important; border-radius:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail img{ border:none !important; box-shadow:none !important; border-radius:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-excerpt{ min-height:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .jet-woo-builder-archive-product-excerpt{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:4.1em; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart > .elementor-widget-container{ margin-top:6px !important; }
/* v2.19.0: ONE card shape at every width — Josh: "good borders matching for our products in the shop page to keep them consistent
   on where they are at and easily clickable". The card is a flex column that fills its grid cell; image and title boxes are fixed
   height, the stock line + button are pinned to the bottom, so every row lines up (title under image, price under title, button
   on the same baseline) whatever the name length, sale markup or badge count. The whole card is a click target (JS). */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product{ border:1px solid #dfe5ee !important; border-radius:12px !important; background:#fff !important; cursor:pointer; display:flex !important; flex-direction:column !important; align-items:stretch !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product:hover{ border-color:#b9c3d3 !important; box-shadow:0 10px 26px rgba(16,26,51,.10); }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product > .elementor{ display:flex !important; flex:1 1 auto !important; flex-direction:column !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 > .elementor-section{ display:flex !important; flex:1 1 auto !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 > .elementor-section > .elementor-container{ flex:1 1 auto !important; width:100% !important; max-width:100% !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-column{ width:100% !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget-wrap{ display:flex !important; flex-direction:column !important; align-items:stretch !important; align-content:normal !important; flex:1 1 auto !important; padding:0 !important; row-gap:6px !important; gap:6px !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget{ width:100% !important; max-width:100% !important; margin:0 !important; text-align:center !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-spacer{ display:none !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail{ order:1; margin:0 auto !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-excerpt{ order:2; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .jet-woo-builder-archive-product-excerpt{ line-height:1.35 !important; height:4.05em !important; min-height:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-price{ order:3; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-stock-status{ order:4; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget.elementor-widget-jet-woo-builder-archive-stock-status{ margin-top:auto !important; } /* 2.19.3: outranks the generic .elementor-68487 .elementor-widget{margin:0} reset */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart{ order:5; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart .button{ width:100% !important; position:static !important; float:none !important; margin:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart > .elementor-widget-container{ margin-top:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .sr-card-title-link{ color:inherit; text-decoration:none; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product:hover .sr-card-title-link{ color:#101A33; }
/* price-range inputs in the filter rail: at 1080-1300 the rail is ~245-290px
   and the max box clipped "9796.28" to "979(" — smaller type, no spinners */
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__group__text{ padding:0 6px !important; }
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__min,
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__max{ font-size:13px !important; min-width:0 !important; padding:0 2px !important; -moz-appearance:textfield; }
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__min::-webkit-inner-spin-button,
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__max::-webkit-inner-spin-button,
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__min::-webkit-outer-spin-button,
.elementor-66576 .elementor-element-8c31dc0 .jet-range__inputs__max::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
/* column counts per width: the filter rail (~245-330px) sits beside the grid
   from 1025 up, so 4 columns only from 1200 and 5 only from 1600 */
@media (min-width:1600px){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(5,1fr) !important; }
}
@media (min-width:1200px) and (max-width:1599px){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(4,1fr) !important; }
}
@media (min-width:1025px) and (max-width:1199px){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (min-width:769px) and (max-width:1024px){
	/* the rail is hidden here (toggle instead) but the products column kept its
	   75% tablet width, leaving the right quarter of the page empty */
	.elementor-66576 .elementor-element-8332bc1{ width:100% !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(3,1fr) !important; }
}

/* ============ SINGLE PRODUCT PAGES ============ */
.single-product main article{ max-width:1640px !important; }
.elementor-66562 .elementor-element-0692acd > .elementor-container{ max-width:1360px !important; }
.single-product form.cart{ max-width:560px; }
/* Balanced buy row (GrabAGun-style): big centered gallery | dense summary.
   Was: 500px image far-left in a 577px column + 983px sparse text column.
   The 520px cap lives on the jet-single-images WIDGET (e2a5c14 max-width)
   and the img only fills its wrapper chain when every level is 100%. */
.elementor-66562 .elementor-element-0692acd .woocommerce-product-gallery{ width:100% !important; max-width:660px !important; margin:0 auto !important; float:none !important; }
/* v2.7.1: __wrapper + __image intentionally NOT force-widthed — WooCommerce FlexSlider
   inline-sizes the film strip (width:800%) and each slide; overriding them collapsed the
   strip so thumbnail swaps slid into blank space on multi-image products. */
.elementor-66562 .elementor-element-0692acd .woocommerce-product-gallery__image > a,
.elementor-66562 .elementor-element-0692acd .woocommerce-product-gallery__image img{ width:100% !important; height:auto !important; }
@media (min-width:1025px){
	.elementor-66562 .elementor-element-0692acd .elementor-element-dad6534{ width:50% !important; }
	.elementor-66562 .elementor-element-0692acd .elementor-element-6ebdd6a{ width:50% !important; }
	.elementor-66562 .elementor-element-0692acd .elementor-element-e2a5c14{ max-width:660px !important; width:100% !important; margin:0 auto !important; }
	.elementor-66562 .elementor-element-0692acd .elementor-element-6ebdd6a > .elementor-widget-wrap{ max-width:620px; margin-right:auto; }
	/* 2.40.0: the photo keeps pace with a long buy column (an AutoShip chooser, a notify form) instead of leaving a blank half */
	.elementor-66562 .elementor-element-0692acd .elementor-element-dad6534 > .elementor-widget-wrap{ position:sticky; top:112px; align-self:flex-start; align-content:flex-start; }
	body.admin-bar .elementor-66562 .elementor-element-0692acd .elementor-element-dad6534 > .elementor-widget-wrap{ top:144px; }
}
/* 2.36.4 (Josh 10/11, "check for bugs"): the AutoShip chooser (one-time / subscribe + the Deliver dropdown) is a child of
   JetWooBuilder's form.cart, which is display:flex / nowrap — so it was squeezed into an 82px column beside the stepper with the
   button stretched 174px tall. The chooser takes its own line; the stepper and the button share the line below it. */
.single-product form.cart:not(.variations_form):not(.grouped_form){ flex-wrap:wrap !important; }
.single-product form.cart .wcsatt-options-wrapper{ flex:0 0 100% !important; width:100% !important; max-width:none !important; margin:0 0 12px !important; }
@media (min-width:768px){
	.single-product form.cart:not(.variations_form):not(.grouped_form) .quantity{ flex:0 0 auto !important; }
	.single-product form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button{ flex:1 1 0 !important; width:auto !important; min-height:55px; margin-left:10px !important; }
}
/* Phones: quantity stepper on its own line, Add to cart full-width on one
   line below it (was pinched to ~155px and wrapping onto three lines).
   The add-to-cart WIDGET (59cf218) carries a 90% width setting — release it. */
@media (max-width:767px){
	.single-product form.cart .wcsatt-options-wrapper{ margin-bottom:0 !important; } /* the form's gap spaces it */
	.elementor-66562 .elementor-element-59cf218{ width:100% !important; max-width:100% !important; }
	.single-product form.cart{ display:flex !important; flex-wrap:wrap !important; align-items:stretch !important; gap:10px; width:100% !important; }
	.single-product form.cart .quantity{ flex:0 0 auto !important; margin:0 !important; }
	.single-product form.cart .single_add_to_cart_button{ flex:1 1 100% !important; width:100% !important; min-height:48px !important; white-space:nowrap !important; margin:0 !important; }
}

/* ============ RELATED PRODUCTS ============ */
/* 2.33.12 (Josh 10/3, TPS Arms M6 page: the one related product was squeezed into a 76px sliver, 711px tall). The section's
   container (38c82dd) is "boxed", but its content width comes out invalid (--content-width: min(100%, "")), so its inner box
   had no width of its own and shrank to fit what was in it: with six products the cards filled the row, with one it was the
   heading's width (438px) and the card took its 1/6 of that. The inner box now always spans the section (1801px at 1920, the
   same as on a product with six), so a card is the same size whatever the count, and a short row (1-5) sits centred under the
   centred "Related products" heading instead of hugging the left edge. */
.elementor-66562 .elementor-element-38c82dd > .e-con-inner{ width:100% !important; max-width:none !important; }
.elementor-66562 .elementor-element-e191728 .jet-woo-products{ justify-content:center; }
.elementor-66562 .elementor-element-e191728 [class*="jet-woo-product-stock-status__"]{ color:#4d5d6d; font-size:13px; margin-top:2px; }
.elementor-66562 .elementor-element-e191728 .jet-woo-product-title{ font-size:14px; }
@media (max-width:768px){
	.elementor-66562 .elementor-element-e191728 .jet-woo-products__item:nth-child(n+5){ display:none !important; }
}

/* ============ TABLET / MOBILE (category/shop) ============ */
.sr-filter-toggle{ display:none; }
@media (max-width:1024px){
	.elementor-66576 .elementor-element-16f2b670{ min-height:96px !important; }
	.elementor-66576 .elementor-element-5ce661b0 h1.elementor-heading-title{ font-size:24px !important; }
	.elementor-66576 .elementor-element-51c71f6{ padding:0 6px; }
	.elementor-66576 .elementor-element-8c31dc0{ display:none !important; }
	body.sr-show-filters .elementor-66576 .elementor-element-8c31dc0{ display:block !important; width:100% !important; margin-bottom:14px; }
	.sr-filter-toggle{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:0 0 14px; padding:12px; border:1.5px solid #101A33; border-radius:8px; background:#fff; color:#101A33; font-weight:600; font-size:14px; cursor:pointer; }
	.elementor-66576 .elementor-element-8332bc1 .dgwt-wcas-search-wrapp{ max-width:100% !important; }
	/* v2.13.7: ONE toolbar row on tablets/phones — [Filter products ▾][Sort ▾] at equal height, the GrabAGun/Bud's pattern
	   (the stacked button / search pill / floating "Sort by…" label read as three broken lines). Negative flex order keeps the
	   pair ahead of the product loop inside Elementor's wrapping widget-wrap. */
	.elementor-66576 .elementor-element-8332bc1 > .elementor-widget-wrap{ align-items:flex-start !important; }
	.sr-filter-toggle{ order:-3; width:calc(50% - 5px) !important; height:46px !important; min-height:0 !important; margin:0 10px 12px 0 !important; padding:0 12px !important; font-size:14px !important; }
	.elementor-66576 .elementor-element-83616ba{ order:-2; width:calc(50% - 5px) !important; max-width:calc(50% - 5px) !important; margin:0 0 12px !important; padding:0 !important; }
	.elementor-66576 .elementor-element-83616ba > .e-con-inner{ padding:0 !important; display:block !important; }
	.elementor-66576 .elementor-element-2001e33{ display:none !important; }
	.elementor-66576 .elementor-element-83616ba .jet-sorting{ display:block !important; }
	.elementor-66576 .elementor-element-83616ba .jet-sorting-label{ display:none !important; }
	.elementor-66576 .elementor-element-83616ba .jet-sorting{ width:100% !important; }
	.elementor-66576 .elementor-element-83616ba select.jet-sorting-select{ width:100% !important; max-width:100% !important; min-width:0 !important; height:46px !important; padding:0 34px 0 12px !important; border:1.5px solid #101A33 !important; border-radius:8px !important; font-size:14px !important; font-weight:600 !important; color:#101A33 !important; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23101A33' stroke-width='1.8'/></svg>") no-repeat right 12px center !important; -webkit-appearance:none !important; appearance:none !important; }
}
/* v2.13.7: search now lives in the header (Blocksy search item → FiboSearch modal, desktop + phones), so the in-grid search
   pill on shop/category pages is redundant at every width — competitors keep the grid to products, filter and sort. */
.elementor-66576 .elementor-element-8332bc1 .elementor-widget-fibosearch{ display:none !important; }
/* v2.13.7: phone header — the logo PNG carries 34% transparent padding top and bottom, so its 130px box collided with the new
   search icon at 390 (logo right edge 276 vs icon 266). 88px box + 96px row keeps the mark legible and the row phone-sized. */
@media (max-width:767px){
	body:not(.sr-wide)[data-header*="type-1"] .ct-header [data-device="mobile"] [data-id="logo"] .site-logo-container, body:not(.sr-wide) [data-header*="type-1"] .ct-header [data-device="mobile"] [data-id="logo"] .site-logo-container{ --logo-max-height:88px !important; } /* 2.33.0: the wide layout's header is 64 px with the logo's empty margin cropped */
	body:not(.sr-wide)[data-header*="type-1"] .ct-header [data-device="mobile"] [data-row*="middle"], body:not(.sr-wide) [data-header*="type-1"] .ct-header [data-device="mobile"] [data-row*="middle"]{ --height:96px !important; }
}
@media (max-width:768px){
	/* v2.11.6: two cards across at the 768 tablet width (was one 518px-wide
	   card with a 146px image); phones below 767 keep the single column */
	.elementor-66576 .elementor-element-8332bc1{ width:100% !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product{ padding:12px 12px 14px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget-wrap{ row-gap:6px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .button{ position:static !important; float:none !important; min-height:38px !important; margin-top:6px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .sr-cmp-toggle{ min-height:38px !important; font-size:13px !important; } /* 2.41.3: the Compare tick matches the Add to cart above it (the item template forced 46px / 14px) */
}
@media (max-width:767px){
	/* v2.13.0: two cards across on phones like GrabAGun/Bud's. The archive item
	   template lays the phone card out as a 2-column CSS grid (image | text) via
	   grid-areas in its own CSS; that only works one-per-row, so on phones the
	   wrap becomes a plain column: image, title, price, stock, button. */
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4{ grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product{ padding:10px 10px 12px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget-wrap{ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:6px !important; row-gap:6px !important; padding:0 !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-68487 .elementor-widget{ width:100% !important; max-width:100% !important; grid-area:auto !important; margin:0 !important; text-align:center !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-spacer{ display:none !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail{ order:1; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a{ padding:6px !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-excerpt{ order:2; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-product-price{ order:3; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-stock-status{ order:4; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart{ order:5; margin-top:0 !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product .elementor-widget-jet-woo-builder-archive-add-to-cart > .elementor-widget-container{ margin-top:2px !important; }
}

/* ================================================================
   v2.12.0 HOMEPAGE ALIGNMENT + ANNOUNCEMENT BAR + OFFER MODAL + CART NUDGE
   ================================================================ */
/* Outline Elementor buttons (hero, membership band, closing CTA) carry a 2px
   border on top of the same 16px padding as their filled neighbours, so they
   rendered 52px tall beside 48px buttons — same height now. */
.elementor-77797 .elementor-element-74f581ae .elementor-button,
.elementor-77797 .elementor-element-1f3aab39 .elementor-button,
.elementor-77797 .elementor-element-7da41ab5 .elementor-button{ padding-top:14px !important; padding-bottom:14px !important; }
/* New Arrivals carousel: the 16px arrows sat on top of the first and last
   card. Swiper subtracts the container padding when it sizes slides, so 52px
   gutters hold round arrow buttons; the gutters are painted white above the
   slides so neighbours never peek through while it animates. */
.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel{ padding:0 52px !important; position:relative; }
.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::before,
.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::after{ content:''; position:absolute; top:0; bottom:0; width:52px; background:#fff; z-index:20; pointer-events:none; }
.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::before{ left:0; }
.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::after{ right:0; }
.elementor-77797 .elementor-element-2db67d6 .jet-arrow{ z-index:21 !important; width:40px !important; height:40px !important; border-radius:50%; background:#fff !important; border:1px solid var(--sr-border); box-shadow:0 4px 14px rgba(16,26,51,.14); display:flex !important; align-items:center; justify-content:center; color:var(--sr-navy) !important; font-size:14px; }
.elementor-77797 .elementor-element-2db67d6 .jet-arrow:hover{ background:var(--sr-navy) !important; color:#fff !important; }
.elementor-77797 .elementor-element-2db67d6 .jet-swiper-button-prev{ left:4px !important; }
.elementor-77797 .elementor-element-2db67d6 .jet-swiper-button-next{ right:4px !important; }
@media (max-width:767px){
	.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel{ padding:0 !important; }
	.elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::before, .elementor-77797 .elementor-element-2db67d6 .jet-woo-carousel::after, .elementor-77797 .elementor-element-2db67d6 .jet-arrow{ display:none !important; }
}
/* Membership band: body copy in navy (was dark olive on the yellow) */
.elementor-77797 .elementor-element-6d528e35, .elementor-77797 .elementor-element-6d528e35 p{ color:var(--sr-navy) !important; }
/* Suppressors tile (the yellow one): sub-line in navy instead of dark gold */
.elementor-77797 .elementor-element-17c8bfa8 .elementor-flip-box__front .elementor-flip-box__layer__description{ color:rgba(16,26,51,.8) !important; }
/* Dallas block: copy centred against the photo instead of pinned to its top */
.elementor-77797 .elementor-element-7f3259c0{ align-items:center !important; }

/* ---- Announcement bar (above the Blocksy header) ---- */
.sr-topbar{ background:var(--sr-navy); color:#dfe5ee; font-size:13.5px; line-height:1.3; }
.sr-topbar-in{ max-width:1600px; margin:0 auto; padding:9px 24px; display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; text-align:center; }
.sr-topbar strong{ color:#fff; font-weight:700; }
.sr-topbar-link{ color:var(--sr-cta) !important; font-weight:700; text-decoration:none !important; margin-left:6px; white-space:nowrap; }
.sr-topbar-link:hover{ text-decoration:underline !important; }
.sr-topbar-sep{ color:#5b6b7c; }
@media (max-width:767px){
	.sr-topbar-in{ padding:8px 14px; gap:8px; font-size:13px; }
	.sr-topbar-offer + .sr-topbar-sep, .sr-topbar-offer ~ .sr-topbar-member{ display:none; }
}

/* ---- First-visit offer modal ---- */
.sr-offer-lock{ overflow:hidden; }
.sr-offer{ position:fixed; inset:0; z-index:2147482000; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .25s ease; }
.sr-offer.is-open{ opacity:1; }
.sr-offer[hidden]{ display:none; }
.sr-offer-backdrop{ position:absolute; inset:0; background:rgba(16,26,51,.72); }
.sr-offer-card{ position:relative; width:100%; max-width:760px; background:#fff; border-radius:16px; overflow:hidden; display:grid; grid-template-columns:250px minmax(0,1fr); box-shadow:0 30px 80px rgba(0,0,0,.45); transform:translateY(14px); transition:transform .25s ease; }
.sr-offer.is-open .sr-offer-card{ transform:none; }
.sr-offer-side{ background:var(--sr-navy); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 20px; text-align:center; }
.sr-offer-amount{ font-family:Lora,Georgia,serif; font-size:84px; font-weight:700; color:var(--sr-cta); line-height:1; }
.sr-offer-off{ font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin-top:10px; color:#dfe5ee; font-weight:700; }
.sr-offer-body{ padding:30px 32px 24px; }
.sr-offer-body .sr-eyebrow{ margin-bottom:6px; }
.sr-offer-title{ font-family:Lora,Georgia,serif; font-size:28px; font-weight:600; color:var(--sr-navy); margin:0 0 8px; line-height:1.2; }
.sr-offer-intro{ color:var(--sr-text); font-size:14.5px; line-height:1.55; margin:0 0 14px; }
.sr-offer .sr-form-wrap{ border:0; padding:0; margin:0; background:transparent; }
.sr-offer .sr-form-note{ display:none; }
.sr-offer .sr-form-inline input[type=email]{ flex:1 1 auto; min-width:0; }
.sr-offer-fine{ font-size:12px; color:var(--sr-muted); margin:12px 0 0; line-height:1.45; }
.sr-offer-no{ display:block; background:none; border:0; padding:0; margin:12px 0 0; color:var(--sr-muted); font-size:13px; text-decoration:underline; cursor:pointer; font-family:inherit; }
.sr-offer-no:hover{ color:var(--sr-navy); }
.sr-offer-x{ position:absolute; top:10px; right:12px; width:36px; height:36px; border-radius:50%; border:0; background:#f1f3f7; color:var(--sr-navy); font-size:24px; line-height:1; cursor:pointer; z-index:2; display:flex; align-items:center; justify-content:center; padding:0; }
.sr-offer-x:hover{ background:var(--sr-navy); color:#fff; }
.sr-offer-x svg{ display:block; width:16px; height:16px; flex:0 0 auto; pointer-events:none; }
.sr-offer-continue{ margin-top:14px; }
.sr-offer-continue[hidden]{ display:none; }
.sr-offer.is-done .sr-offer-no, .sr-offer.is-done .sr-offer-fine, .sr-offer.is-done .sr-offer-intro{ display:none; }
.sr-offer.is-done .sr-offer-continue{ display:inline-block; }
@media (max-width:640px){
	.sr-offer{ align-items:flex-end; padding:0; }
	.sr-offer-card{ grid-template-columns:1fr; max-width:none; border-radius:16px 16px 0 0; }
	.sr-offer-side{ flex-direction:row; justify-content:flex-start; gap:12px; padding:14px 20px; text-align:left; }
	.sr-offer-amount{ font-size:40px; }
	.sr-offer-off{ margin-top:0; font-size:13px; }
	.sr-offer-body{ padding:18px 20px 64px; } /* room under the last control for the floating accessibility button */
	.sr-offer-title{ font-size:22px; }
	.sr-offer .sr-form-inline{ flex-wrap:wrap; }
	.sr-offer .sr-form-inline .sr-btn{ width:100%; }
}

/* ---- Cart nudge ---- */
.sr-cart-offer{ background:#faf6e8; border:1px solid #ead9a0; border-radius:2px; padding:12px 16px; margin:0 0 18px; font-size:14px; color:var(--sr-navy); }
.sr-cart-offer a{ color:var(--sr-navy); font-weight:700; text-decoration:underline; }

/* ================================================================
   v2.13.0 CATEGORY TOP (chips + intro moved below the grid), CATEGORY TILES,
   YOUTUBE FACADE, CARD TITLE LINKS, HOMEPAGE RHYTHM
   ================================================================ */
/* card titles are links now (JS wraps them) — inherit the card's type */
.sr-card-title-link, .sr-card-title-link:hover{ color:inherit !important; text-decoration:none !important; display:block; text-align:inherit; } /* v2.13.2: follow the card's alignment (it was left while price/stock were centered on phones) */
.sr-card-title-link:hover{ text-decoration:underline !important; }
/* subcategory chips under the category H1 */
.sr-subcats{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:6px auto 4px; width:100%; max-width:1100px; min-width:0; box-sizing:border-box; padding:0 12px; } /* v2.13.2: explicit width — inside Elementor's wrapping column flex the nav otherwise takes its max-content width (1200px on phones) */
.sr-subcats a{ display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border:1.5px solid #dfe5ee; border-radius:999px; background:#fff; color:var(--sr-navy) !important; font-size:13.5px; font-weight:600; text-decoration:none !important; white-space:nowrap; transition:border-color .15s, background .15s; }
.sr-subcats a:hover{ border-color:var(--sr-navy); background:#f6f7fa; }
.sr-subcats a.sr-subcat-up{ background:var(--sr-navy); color:#fff !important; border-color:var(--sr-navy); }
.sr-subcats a.sr-subcat-cur{ border-color:var(--sr-cta); background:#faf5e4; } /* 2.32.0: the category you're on, among its kinds */
.sr-subcats a small{ color:var(--sr-muted); font-weight:600; font-size:12px; }
.sr-subcats a.sr-subcat-up small{ color:#c9d1e0; }
@media (max-width:767px){
	.sr-subcats{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; padding:2px 0 8px; margin:4px 0 0; width:100%; max-width:none; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
	.sr-subcats::-webkit-scrollbar{ display:none; }
	.sr-subcats a{ font-size:13px; padding:7px 12px; }
}
/* the category intro: shown under the H1 as two lines, full text moved below the grid by JS */
.elementor-66576 .elementor-element-51c71f6:not(.sr-intro-moved){ display:none !important; }
.sr-cat-about{ flex:0 0 100%; width:100%; max-width:900px; box-sizing:border-box; margin:34px auto 10px; padding:22px 24px; border-top:1px solid var(--sr-border); } /* v2.13.2: full-width flex item so it can never sit beside the grid */
.elementor-66576 .elementor-element-8332bc1{ flex-wrap:wrap; }
.sr-cat-about h2{ font-family:Lora,Georgia,serif; font-size:22px; font-weight:600; color:var(--sr-navy); margin:0 0 10px; }
.sr-cat-about p{ font-size:14.5px; line-height:1.65; color:var(--sr-text); margin:0; max-height:none !important; overflow:visible !important; -webkit-line-clamp:unset !important; display:block !important; }
.sr-cat-about .sr-intro-toggle{ display:none !important; }
.sr-cat-about a{ color:var(--sr-navy); text-decoration:underline; }
/* homepage category tiles (product cut-outs) */
.sr-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:1360px; margin:0 auto; }
@media (min-width:1200px){ .sr-tiles{ grid-template-columns:repeat(8,1fr); gap:12px; } .sr-tile{ padding:14px 8px 12px; } .sr-tile-img{ height:104px; } .sr-tile-name{ font-size:16px; } } /* v2.13.3: one row of eight on desktop, like GrabAGun's featured categories */
.sr-tile{ display:flex; flex-direction:column; align-items:center; text-align:center; background:#fff; border:1px solid var(--sr-border); border-radius:12px; padding:16px 12px 14px; text-decoration:none !important; color:var(--sr-navy) !important; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.sr-tile:hover{ box-shadow:0 12px 28px rgba(16,26,51,.10); transform:translateY(-2px); border-color:#dfe5ee; }
.sr-tile-img{ display:flex; align-items:center; justify-content:center; width:100%; height:120px; margin-bottom:10px; }
.sr-tile-img img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.sr-tile-name{ font-family:Lora,Georgia,serif; font-size:19px; font-weight:600; line-height:1.2; }
.sr-tile-meta{ font-size:12.5px; color:var(--sr-muted); margin-top:4px; }
@media (max-width:1024px){ .sr-tiles{ grid-template-columns:repeat(4,1fr); gap:10px; } .sr-tile-img{ height:96px; } .sr-tile-name{ font-size:16px; } }
@media (max-width:767px){ .sr-tiles{ grid-template-columns:repeat(2,1fr); gap:10px; } .sr-tile{ padding:12px 8px 12px; } .sr-tile-img{ height:92px; } .sr-tile-name{ font-size:15px; } .sr-tile-meta{ font-size:11.5px; } }
/* v2.14.0: homepage promo hero grid — GrabAGun geometry (two 2:1 tiles over three), premium palette */
.sr-hero-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:auto auto; gap:14px; max-width:1600px; margin:0 auto; }
/* v2.22.0: front page says less — the process band (c161b3b, [sr_steps]) and the Dallas block (3a03122a) are hidden here (they live on
   the ordering guide, product pages, contact page and in the footer); the membership photo (2f5de83d) is hidden on phones */
body.home .elementor-element-c161b3b, body.home .elementor-element-3a03122a, body.home .elementor-element-999de43{ display:none !important; } /* 999de43 = the suppressor band's eyebrow, which repeated its headline */
body.home .elementor-element-31147583 a{ color:var(--sr-cta) !important; font-weight:600; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
@media (max-width:767px){ body.home .elementor-element-2f5de83d{ display:none !important; } }
.sr-hero-tile{ position:relative; display:flex; border-radius:14px; overflow:hidden; text-decoration:none !important; min-height:0; }
.sr-hero-main{ grid-column:span 3; background:#101A33 center/cover no-repeat; min-height:420px; }
.sr-hero-main::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(10,16,32,.95) 0%, rgba(10,16,32,.84) 46%, rgba(10,16,32,.52) 100%); } /* 2.24.0: darker (Josh: "make the ai photo a little less visible") */
.sr-hero-main-in{ position:relative; z-index:1; padding:42px 44px 40px; max-width:640px; display:flex; flex-direction:column; justify-content:center; }
.sr-hero-kicker{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sr-cta); margin:0 0 12px; }
.sr-hero-h1{ font-family:Lora,Georgia,serif; font-size:40px; font-weight:600; line-height:1.12; color:#fff; margin:0 0 12px; }
.sr-hero-sub{ font-size:15.5px; line-height:1.55; color:#d5dbe8; margin:0 0 18px; max-width:540px; }
.sr-hero-search{ background:#fff; border-radius:12px; padding:8px; margin:0 0 16px; max-width:560px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.sr-hero-search .dgwt-wcas-search-wrapp{ max-width:100% !important; }
.sr-hero-ctas{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.sr-hero-ctas .sr-btn{ padding:13px 24px; }
.sr-hero-link{ color:#fff !important; font-size:14px; font-weight:600; text-decoration:underline !important; text-underline-offset:3px; }
.sr-hero-sup{ grid-column:span 3; }
.sr-hero-yellow, .sr-hero-deal, .sr-hero-navy{ grid-column:span 3; min-height:200px; } /* 2.22.0: two over two */
.sr-hero-light{ background:#f4f6fa; border:1px solid #e6eaf1; color:var(--sr-navy); }
.sr-hero-yellow{ background:var(--sr-cta); color:var(--sr-cta-text); }
.sr-hero-navy{ background:var(--sr-navy); color:#fff; }
.sr-hero-text{ position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; gap:10px; padding:32px 34px; flex:1 1 55%; min-width:0; }
.sr-hero-tag{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sr-gold); }
.sr-hero-yellow .sr-hero-tag{ color:var(--sr-gold-d); }
.sr-hero-navy .sr-hero-tag{ color:var(--sr-cta); }
.sr-hero-h2{ font-family:Lora,Georgia,serif; font-size:27px; font-weight:600; line-height:1.18; color:inherit; }
.sr-hero-cta{ font-size:14px; font-weight:700; color:inherit; padding-bottom:3px; border-bottom:2px solid var(--sr-cta); align-self:flex-start; }
.sr-hero-navy .sr-hero-cta{ border-bottom-color:var(--sr-cta); }
.sr-hero-yellow .sr-hero-cta{ border-bottom-color:var(--sr-navy); }
.sr-hero-img{ flex:1 1 45%; display:flex; align-items:center; justify-content:center; padding:18px 22px 18px 0; min-width:0; }
.sr-hero-img img{ max-width:100%; max-height:300px; width:auto; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.sr-hero-sup .sr-hero-img{ flex:1 1 50%; }
.sr-hero-sup .sr-hero-img img{ max-height:420px; }
.sr-hero-tile:hover .sr-hero-cta{ border-bottom-color:currentColor; }
.sr-hero-light:hover{ box-shadow:0 12px 30px rgba(16,26,51,.10); }
/* 2.24.0: the hero moves (Josh 9/29: "a little more unique than this basic … some kind of animation or eye grabber"; "make the ai
   photo a little less visible because the guns are kind of messed up looking"). The photo is a blurred, darker layer that eases in
   (one slow zoom-out); the tiles rise in one after another; on the suppressor tile "$200" gets struck through and "$0" marked; the
   deals % counts up (JS initHeroCount); a sheen crosses the membership tile every 7 s. Transform/opacity only (no layout work),
   one-off except the sheen, and nothing moves for visitors who ask for reduced motion. */
.sr-hero-main{ background:#0c1427; isolation:isolate; }
.sr-hero-photo{ position:absolute; inset:-5%; z-index:0; background:center/cover no-repeat; filter:blur(2.5px) saturate(.55) brightness(.8); transform:scale(1.04); animation:srKen 16s cubic-bezier(.22,.61,.36,1) backwards; will-change:transform; pointer-events:none; }
.sr-hero-main-in{ z-index:3; }
.sr-hero-glint{ position:absolute; top:-25%; bottom:-25%; left:-25%; width:16%; z-index:2; pointer-events:none; background:linear-gradient(90deg, rgba(219,180,44,0), rgba(219,180,44,.14), rgba(219,180,44,0)); transform:translate3d(0,0,0) skewX(-18deg); opacity:0; animation:srGlint 2.4s .7s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes srKen{ from{ transform:scale(1.18) translate3d(2.5%,1.5%,0); } to{ transform:scale(1.04) translate3d(0,0,0); } }
@keyframes srGlint{ 0%{ opacity:0; transform:translate3d(0,0,0) skewX(-18deg); } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ opacity:0; transform:translate3d(900%,0,0) skewX(-18deg); } }
@keyframes srRise{ from{ opacity:0; transform:translate3d(0,18px,0); } to{ opacity:1; transform:translate3d(0,0,0); } }
@keyframes srSlideIn{ from{ opacity:0; transform:translate3d(46px,0,0) rotate(-5deg); } to{ opacity:1; transform:translate3d(0,0,0) rotate(0); } }
.sr-hero-tile{ animation:srRise .6s cubic-bezier(.2,.7,.2,1) backwards; transition:transform .25s ease, box-shadow .25s ease; }
.sr-hero-sup{ animation-delay:.08s; } .sr-hero-yellow{ animation-delay:.16s; } .sr-hero-deal{ animation-delay:.24s; }
.sr-hero-main-in > *{ animation:srRise .55s cubic-bezier(.2,.7,.2,1) backwards; }
.sr-hero-main-in > :nth-child(2){ animation-delay:.1s; } .sr-hero-main-in > :nth-child(3){ animation-delay:.2s; } .sr-hero-main-in > :nth-child(4){ animation-delay:.3s; }
a.sr-hero-tile:hover{ transform:translate3d(0,-3px,0); }
.sr-hero-img img{ animation:srSlideIn .8s .35s cubic-bezier(.2,.8,.2,1) backwards; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.sr-hero-deal .sr-hero-img img{ animation-delay:.5s; }
a.sr-hero-tile:hover .sr-hero-img img{ transform:scale(1.06) rotate(-2deg); }
.sr-arr{ display:inline-block; transition:transform .2s ease; }
a.sr-hero-tile:hover .sr-arr{ transform:translate3d(4px,0,0); }
.sr-was{ position:relative; white-space:nowrap; }
.sr-was::after{ content:''; position:absolute; left:-4%; right:-4%; top:55%; height:3px; margin-top:-1.5px; border-radius:2px; background:#b3261e; transform:scaleX(0); transform-origin:0 50%; animation:srStrike .45s .8s cubic-bezier(.6,0,.2,1) forwards; }
.sr-now{ display:inline-block; padding:0 .1em; margin:0 -.04em; border-radius:3px; background:linear-gradient(transparent 56%, rgba(219,180,44,.6) 56%) no-repeat 0 0 / 0 100%; animation:srMark .5s 1.2s cubic-bezier(.3,.7,.2,1) forwards, srPop .55s 1.2s cubic-bezier(.3,1.5,.5,1) backwards; }
@keyframes srStrike{ to{ transform:scaleX(1); } }
@keyframes srMark{ to{ background-size:100% 100%; } }
@keyframes srPop{ 0%{ transform:scale(.8); } 60%{ transform:scale(1.14); } 100%{ transform:scale(1); } }
.sr-count{ display:inline-block; min-width:1.15em; text-align:right; font-variant-numeric:tabular-nums lining-nums; animation:srCountHold 0s 1.4s backwards; }
@keyframes srCountHold{ from, to{ visibility:hidden; } } /* 2.24.1: the number waits for the count-up (JS lifts this at once); without JS it simply appears at 1.4 s */
.sr-hero-yellow::after{ content:''; position:absolute; top:-10%; bottom:-10%; left:0; width:34%; z-index:0; pointer-events:none; background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 50%, rgba(255,255,255,0) 100%); transform:translate3d(-130%,0,0) skewX(-14deg); animation:srSheen 7s 1.6s ease-in-out infinite; }
@keyframes srSheen{ 0%{ transform:translate3d(-130%,0,0) skewX(-14deg); } 20%,100%{ transform:translate3d(420%,0,0) skewX(-14deg); } }
@media (prefers-reduced-motion: reduce){
	.sr-hero-grid *, .sr-hero-grid *::before, .sr-hero-grid *::after, .sr-hero-tile, .sr-hero-tile::after{ animation:none !important; transition:none !important; }
	.sr-was::after{ transform:scaleX(1); }
	.sr-now{ background-size:100% 100%; }
	.sr-hero-glint, .sr-hero-yellow::after{ display:none; }
}
@media (max-width:1199px){
	.sr-hero-grid{ gap:12px; }
	.sr-hero-main{ grid-column:span 6; min-height:360px; }
	.sr-hero-sup{ grid-column:span 6; min-height:220px; }
	.sr-hero-yellow, .sr-hero-deal, .sr-hero-navy{ grid-column:span 2; min-height:220px; }
	.sr-hero-h1{ font-size:36px; }
	.sr-hero-h2{ font-size:22px; }
	.sr-hero-text{ padding:24px 24px; }
	.sr-hero-sup .sr-hero-img img{ max-height:200px; }
}
/* v2.22.0: less hero — one white search field, shorter photo tile */
.sr-hero-main{ min-height:360px; }
.sr-hero-h1{ font-size:44px; margin:0 0 18px; max-width:520px; }
.sr-hero-search{ background:transparent; padding:0; box-shadow:none; margin:0 0 18px; }
.sr-hero-search .dgwt-wcas-sf-wrapp{ background:transparent !important; padding:0 !important; }
.sr-hero-search input.dgwt-wcas-search-input{ background:#fff !important; height:52px !important; border:0 !important; border-radius:10px !important; box-shadow:0 10px 26px rgba(0,0,0,.28) !important; }
.sr-hero-search .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{ top:50% !important; left:10px !important; transform:translateY(-50%) !important; } /* the icon was placed for the old 10px frame */
@media (max-width:1199px){ .sr-hero-yellow, .sr-hero-deal{ grid-column:span 3; min-height:180px; } .sr-hero-main{ min-height:320px; } .sr-hero-h1{ font-size:38px; } }
@media (max-width:767px){
	.sr-hero-grid{ display:flex; flex-direction:column; gap:10px; }
	.sr-hero-main{ min-height:0; }
	.sr-hero-main-in{ padding:28px 20px 26px; }
	.sr-hero-h1{ font-size:28px; }
	.sr-hero-sub{ font-size:14px; margin-bottom:14px; }
	.sr-hero-search{ padding:6px; margin-bottom:14px; }
	.sr-hero-ctas{ gap:14px; }
	.sr-hero-ctas .sr-btn{ width:100%; text-align:center; }
	.sr-hero-tile{ min-height:0 !important; }
	.sr-hero-text{ padding:20px 18px; gap:8px; }
	.sr-hero-h2{ font-size:20px; }
	.sr-hero-tag{ font-size:11px; }
	.sr-hero-img{ flex:0 0 40%; padding:12px 12px 12px 0; }
	.sr-hero-img img, .sr-hero-sup .sr-hero-img img{ max-height:120px; }
	/* v2.22.0: phone hero = photo tile (H1, search, one button) + two small tiles side by side; the deal tile repeats the row below it */
	.sr-hero-grid{ display:grid !important; grid-template-columns:1fr 1fr; gap:10px; }
	.sr-hero-main{ grid-column:1 / -1; }
	.sr-hero-main-in{ padding:22px 18px 20px; }
	.sr-hero-h1{ font-size:27px; line-height:1.15; margin:0 0 14px; }
	.sr-hero-search{ margin:0 0 12px; padding:0; }
	.sr-hero-search input.dgwt-wcas-search-input{ height:48px !important; }
	.sr-hero-deal{ display:none !important; }
	.sr-hero-sup, .sr-hero-yellow{ grid-column:span 1; }
	.sr-hero-sup .sr-hero-img{ display:none; }
	.sr-hero-sup .sr-hero-text, .sr-hero-yellow .sr-hero-text{ padding:14px 14px 15px; gap:6px; justify-content:flex-start; }
	.sr-hero-sup .sr-hero-h2, .sr-hero-yellow .sr-hero-h2{ font-size:16.5px; line-height:1.2; }
	.sr-hero-sup .sr-hero-tag, .sr-hero-yellow .sr-hero-tag{ font-size:10px; letter-spacing:.07em; line-height:1.35; }
	.sr-hero-sup .sr-hero-cta, .sr-hero-yellow .sr-hero-cta{ font-size:13px; margin-top:auto; }
}
/* v2.15.0: ratings around the web (product page) */
.sr-rv{ margin:26px 0 8px; padding:22px 24px; border:1px solid var(--sr-border); border-radius:14px; background:#fff; }
.sr-rv .sr-h2{ font-size:24px; text-align:left; margin:0 0 6px; }
.sr-rv .sr-h2::after{ margin-left:0; }
.sr-rv-note{ font-size:13px; line-height:1.5; color:var(--sr-muted); margin:0 0 14px; max-width:720px; }
.sr-rv-summary{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 12px; }
.sr-rv-score{ font-family:Lora,Georgia,serif; font-size:40px; font-weight:600; line-height:1; color:var(--sr-navy); }
.sr-rv-score small{ font-size:16px; color:var(--sr-muted); margin-left:2px; }
.sr-rv-stars{ position:relative; display:inline-block; width:120px; height:22px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23dfe5ee'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 120px 22px; }
.sr-rv-stars::before{ content:''; position:absolute; inset:0; width:var(--sr-rv,0%); background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23ffca12'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 120px 22px; }
.sr-rv-meta{ font-size:13.5px; color:var(--sr-muted); }
.sr-rv-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:6px 24px; }
.sr-rv-list li{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #f0f2f6; font-size:14px; }
.sr-rv-src{ color:var(--sr-navy); font-weight:600; }
.sr-rv-src a{ color:var(--sr-navy) !important; text-decoration:underline; text-underline-offset:3px; }
.sr-rv-val{ color:var(--sr-navy2); font-weight:700; white-space:nowrap; }
.sr-rv-val small{ color:var(--sr-muted); font-weight:500; }
.sr-rv-reads{ list-style:none; margin:4px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:6px 24px; }
.sr-rv-reads li{ display:flex; flex-direction:column; gap:2px; padding:8px 0; border-bottom:1px solid #f0f2f6; font-size:14px; }
.sr-rv-reads a{ color:var(--sr-navy) !important; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.sr-rv-reads span{ font-size:12.5px; color:var(--sr-muted); line-height:1.35; }
.sr-tracks-note{ font-size:13.5px; line-height:1.55; color:var(--sr-muted); margin:12px 0 0; }
.sr-buybox-fine span{ font-size:12.5px; color:var(--sr-muted); }
.sr-state-rules table{ width:100%; border-collapse:collapse; margin:8px 0 12px; font-size:14px; }
.sr-state-rules th, .sr-state-rules td{ text-align:left; padding:8px 10px; border-bottom:1px solid #e9edf3; vertical-align:top; }
.sr-state-rules th{ color:var(--sr-navy); font-weight:700; background:#f6f8fb; }
.sr-rv-reads-h{ margin:16px 0 0; font-size:13px; font-weight:700; color:var(--sr-navy); text-transform:uppercase; letter-spacing:.04em; }
@media (max-width:767px){ .sr-rv-reads{ grid-template-columns:1fr; } }
@media (max-width:767px){ .sr-rv{ padding:18px 16px; } .sr-rv-list{ grid-template-columns:1fr; } .sr-rv-score{ font-size:34px; } }
/* YouTube facade (product page) */
.sr-yt{ margin:26px 0 8px; }
.sr-yt .sr-h2{ font-size:24px; text-align:left; margin:0 0 6px; }
.sr-yt .sr-h2::after{ margin-left:0; }
.sr-yt-note{ font-size:12.5px; color:var(--sr-muted); margin:0 0 14px; }
.sr-yt-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sr-yt-item{ display:flex; flex-direction:column; }
.sr-yt-play{ position:relative; display:block; width:100%; aspect-ratio:16/9; border:0; padding:0; border-radius:12px; overflow:hidden; background:#101A33; cursor:pointer; }
.sr-yt-play img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.92; transition:opacity .15s, transform .25s; }
.sr-yt-play:hover img{ opacity:1; transform:scale(1.03); }
.sr-yt-btn{ position:absolute; left:50%; top:50%; width:64px; height:44px; margin:-22px 0 0 -32px; border-radius:12px; background:rgba(16,26,51,.85); }
.sr-yt-btn::after{ content:''; position:absolute; left:26px; top:12px; border-style:solid; border-width:10px 0 10px 18px; border-color:transparent transparent transparent #fff; }
.sr-yt-play:hover .sr-yt-btn{ background:var(--sr-cta); }
.sr-yt-play:hover .sr-yt-btn::after{ border-left-color:var(--sr-navy); }
.sr-yt-item iframe{ width:100%; aspect-ratio:16/9; border:0; border-radius:12px; display:block; }
.sr-yt-title{ font-size:14px; font-weight:600; color:var(--sr-navy); margin:10px 0 2px; line-height:1.35; }
.sr-yt-ch{ font-size:12.5px; color:var(--sr-muted); }
@media (max-width:767px){ .sr-yt-grid{ grid-template-columns:1fr; gap:14px; } }
/* homepage rhythm: sections sat 80–100px apart; the gun-store standard is ~45–55px between blocks */
.elementor-77797 > .e-con.e-parent:not(.elementor-element-521790c8){ --padding-top:42px !important; --padding-bottom:42px !important; padding-top:42px !important; padding-bottom:42px !important; }
.elementor-77797 .sr-h2, .elementor-77797 h2.elementor-heading-title{ margin-bottom:10px; }
@media (max-width:767px){ .elementor-77797 > .e-con.e-parent:not(.elementor-element-521790c8){ --padding-top:30px !important; --padding-bottom:30px !important; padding-top:30px !important; padding-bottom:30px !important; } }
/* v2.13.3: the Dallas block's photo ran 347px tall; keep the block a strip */
.elementor-77797 .elementor-element-2d6999c2 img{ max-height:280px; width:100%; object-fit:cover; border-radius:12px; }
/* v2.13.3: homepage shortcode rows carry their own header — no extra top margin */
.elementor-77797 .elementor-widget-shortcode .sr-grid-block{ margin-top:0; }
/* v2.13.4: phone-height trims — trust tiles 2×2 instead of a 745px stack, membership's three numbered points fold away (the copy above already carries the pricing) */
@media (max-width:767px){
	.elementor-77797 .elementor-element-26db64ee{ flex-direction:row !important; flex-wrap:wrap !important; gap:14px 12px !important; justify-content:center !important; }
	.elementor-77797 .elementor-element-26db64ee > .e-con{ --width:calc(50% - 6px) !important; width:calc(50% - 6px) !important; flex:0 0 calc(50% - 6px) !important; max-width:calc(50% - 6px) !important; }
	.elementor-77797 .elementor-element-26db64ee .elementor-icon-box-title{ font-size:15px !important; }
	.elementor-77797 .elementor-element-26db64ee .elementor-icon-box-description{ font-size:12.5px !important; }
	.elementor-77797 .elementor-element-716d2b51{ display:none !important; }
	.elementor-77797 .elementor-element-2d6999c2 img{ max-height:200px; }
	.elementor-77797 .elementor-element-264616e4 .sr-pc:nth-child(n+3){ display:none; } /* v2.13.6: the suppressor teaser is one row of two on phones */
}
/* v2.13.6: the suppressor band is navy — its "Shop all →" link and any title must be light */
.elementor-77797 .elementor-element-264616e4 .sr-grid-more-link{ color:#fff !important; border-bottom-color:var(--sr-cta); }
.elementor-77797 .elementor-element-264616e4 .sr-grid-head .sr-h2{ color:#fff; }

/* ================================================================
   HOMEPAGE (page 77797)
   ================================================================ */
/* Full-bleed bands: release the Gutenberg constrained-layout cap (1290)
   and punch the Elementor root out to the full viewport, keeping readable
   content boxed at 1600 (same width as shop pages). */
body.home{ overflow-x:hidden; }
/* v2.8.5: the homepage article must never inherit the single-product 1640px cap
   (the full-bleed math below assumes a full-width, centered parent), and the
   stray <div class="product"> wrappers a Woo-template plugin injects around page
   content on non-product pages must not create layout boxes of their own. */
body.home main article{ max-width:none !important; margin-left:auto !important; margin-right:auto !important; }
body:not(.single-product) .entry-content > div.product{ display:contents; }
/* v2.11.6: on the WooCommerce pages that wrapper IS the constrained content
   box (5% gutters, 1290 cap) — with it dissolved the cart table, coupon row
   and checkout form sat flush against the viewport edge at every width */
body.woocommerce-cart .entry-content > div.product,
body.woocommerce-checkout .entry-content > div.product,
body.woocommerce-account .entry-content > div.product{ display:block !important; }
/* v2.8.4: Blocksy's full-width content container pads the page 60px top and
   bottom, which on the full-bleed homepage reads as a blank strip above the
   footer (and under the header). The bands carry their own spacing. */
body.home .ct-container-full{ padding-top:0 !important; padding-bottom:0 !important; }
body.home .entry-content.is-layout-constrained > *{ max-width:none !important; }
body.home .elementor-77797{ width:100vw; margin-left:calc(50% - 50vw); }
.elementor-77797 > .e-con.e-parent{ max-width:100% !important; width:100% !important; }
.elementor-77797 > .e-con.e-parent > .e-con-inner{ max-width:1600px !important; width:100% !important; margin-left:auto !important; margin-right:auto !important; }

/* Section heading accents (gold bar) on the two product sections +
   Shop-by-Category, and bring the suppressor heading up to New
   Arrivals size. */
.elementor-77797 .elementor-element-25d51fd2 .elementor-heading-title::after,
.elementor-77797 .elementor-element-3260f338 .elementor-heading-title::after,
.elementor-77797 .elementor-element-383b888d .elementor-heading-title::after{
	content:''; display:block; width:56px; height:3px; background:#b8941e; margin:12px auto 0; border-radius:2px;
}
.elementor-77797 .elementor-element-3260f338 .elementor-heading-title{ font-size:38px !important; }

/* Flip-box tiles: rounded corners + hover lift */
.elementor-77797 .elementor-element-7db81f64 .elementor-flip-box{ border-radius:12px; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease; }
.elementor-77797 .elementor-element-7db81f64 .elementor-flip-box:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(16,26,51,.16); }

/* Suppressor section: card the four products like the category grid,
   with New-Arrivals-style centered internals on desktop/tablet */
.elementor-77797 .elementor-element-650b3602 ul.products.columns-4{ gap:16px !important; }
.elementor-77797 .elementor-element-650b3602 ul.products.columns-4 > li.product{ border:1px solid #eef1f6; border-radius:12px; background:#fff; padding:14px 12px 16px !important; margin:0 !important; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.elementor-77797 .elementor-element-650b3602 ul.products.columns-4 > li.product:hover{ box-shadow:0 10px 26px rgba(16,26,51,.10); transform:translateY(-2px); border-color:#dfe5ee; }
@media (min-width:769px){
	/* one frame only: strip the card template's own inner border/padding */
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-column{ border:none !important; border-radius:0 !important; padding:0 !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-widget-wrap{ align-items:center !important; text-align:center !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-widget-jet-woo-builder-archive-product-thumbnail{ width:210px !important; max-width:100% !important; margin:6px auto 2px !important; }
	.elementor-77797 .elementor-element-650b3602 li.product img{ border:0 !important; box-shadow:none !important; margin:0 auto; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-widget-jet-woo-builder-archive-product-excerpt{ min-height:0 !important; margin:10px 0 2px !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .jet-woo-builder-archive-product-excerpt{ font-size:14px !important; line-height:1.45 !important; color:#4d5d6d !important; min-height:0 !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
	.elementor-77797 .elementor-element-650b3602 li.product .jet-woo-builder-archive-product-price{ font-size:20px !important; color:#3c4b71 !important; }
	.elementor-77797 .elementor-element-650b3602 li.product [class*="jet-woo-product-stock-status__"]{ font-size:13px !important; color:#4d5d6d !important; margin:2px 0 6px !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .button{ width:100% !important; min-height:42px !important; margin-top:10px !important; position:static !important; float:none !important; }
	/* equal-height cards: stretch the template chain and pin the cart
	   button to the bottom regardless of title length */
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487{ display:flex !important; width:100% !important; flex:1 1 auto !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487 > .elementor-section{ display:flex !important; width:100% !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487 .elementor-container{ width:100% !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-widget-wrap > .elementor-widget-jet-woo-builder-archive-add-to-cart{ margin-top:auto !important; }
}

/* Suppressors 101: heading rhythm + carded accordion, centered ~980px */
.elementor-77797 .elementor-element-219d51cb{ margin:34px 0 4px !important; }
.elementor-77797 .elementor-element-219d51cb .elementor-heading-title{ font-size:26px !important; color:#101A33 !important; }
.elementor-77797 .elementor-element-3a6f03b7{ justify-content:center !important; }
.elementor-77797 .elementor-element-f4f60bf{ width:100% !important; max-width:980px; }
.elementor-77797 .elementor-element-650b3602 .elementor-accordion .elementor-accordion-item{ border:1px solid #e9edf3 !important; border-radius:10px; margin-bottom:10px; background:#fff; overflow:hidden; }
.elementor-77797 .elementor-element-650b3602 .elementor-accordion .elementor-tab-title{ padding:15px 18px; font-size:16px; font-weight:600; color:#101A33; cursor:pointer; }
.elementor-77797 .elementor-element-650b3602 .elementor-accordion .elementor-tab-title.elementor-active{ color:#8a6d1e; }
.elementor-77797 .elementor-element-650b3602 .elementor-accordion .elementor-tab-content{ padding:0 18px 16px; color:#4d5d6d; font-size:14.5px; line-height:1.6; border-top:none !important; }

/* Homepage tablet: suppressor cards 2-up */
@media (min-width:769px) and (max-width:1024px){
	.elementor-77797 .elementor-element-650b3602 ul.products.columns-4{ grid-template-columns:repeat(2,1fr) !important; }
}
/* Homepage phones: suppressor cards as list rows (same treatment as shop) */
@media (max-width:768px){
	.elementor-77797 .elementor-element-650b3602 ul.products.columns-4{ grid-template-columns:1fr !important; gap:10px !important; }
	.elementor-77797 .elementor-element-650b3602 ul.products.columns-4 > li.product{ padding:12px 12px 14px !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487 > .elementor-container,
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487 .elementor-widget-wrap{ max-width:100% !important; width:100% !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .elementor-68487 .elementor-widget-wrap{ row-gap:6px !important; }
	.elementor-77797 .elementor-element-650b3602 li.product .button{ position:static !important; float:none !important; min-height:38px !important; margin-top:6px !important; }
	.elementor-77797 .elementor-element-3260f338 .elementor-heading-title{ font-size:28px !important; }
}

/* ================================================================
   AGE GATE (v2.8.0) — 18+ self-attestation modal, sitewide
   ================================================================ */
html.sr-agegate-lock, html.sr-agegate-lock body{ overflow:hidden !important; }
.sr-agegate-overlay{ position:fixed; inset:0; z-index:2147483000; background:rgba(16,26,51,.9); display:flex; align-items:center; justify-content:center; padding:20px; }
.sr-agegate-card{ background:#fff; width:100%; max-width:680px; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); overflow:hidden; text-align:left; }
.sr-agegate-head{ display:inline-block; background:#101A33; color:#fff; font-family:Lora,Georgia,serif; font-weight:600; font-size:26px; letter-spacing:.03em; padding:10px 22px; margin:26px 0 0 30px; border-radius:6px; }
.sr-agegate-body{ padding:20px 30px 28px; }
.sr-agegate-text{ color:#101A33; font-size:17px; line-height:1.55; font-weight:600; margin:8px 0 18px; }
.sr-agegate-q{ color:#5b6b7c; font-size:13.5px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; }
.sr-agegate-actions{ display:flex; gap:12px; margin:0 0 14px; }
.sr-agegate-btn{ flex:0 0 auto; min-width:150px; min-height:46px; border-radius:8px; font-size:15px; font-weight:700; letter-spacing:.06em; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.sr-agegate-yes{ background:#DBB42C; border:1.5px solid #DBB42C; color:#101A33; }
.sr-agegate-yes:hover{ background:#3c4b71; border-color:#3c4b71; color:#fff; }
.sr-agegate-no{ background:#fff; border:1.5px solid #101A33; color:#101A33; }
.sr-agegate-no:hover{ background:#101A33; color:#fff; }
.sr-agegate-remember{ display:flex; align-items:flex-start; gap:8px; color:#8a93a3; font-size:12.5px; line-height:1.45; cursor:pointer; }
.sr-agegate-remember input{ accent-color:#101A33; margin-top:2px; }
.sr-agegate-blocked-title{ color:#101A33; font-family:Lora,Georgia,serif; font-size:22px; font-weight:600; margin:6px 0 10px; }
.sr-agegate-blocked-text{ color:#4d5d6d; font-size:14.5px; line-height:1.6; margin:0 0 18px; }
.sr-agegate-leave{ display:inline-block; background:#101A33; color:#fff !important; text-decoration:none !important; border-radius:8px; padding:13px 26px; font-weight:700; font-size:14px; }
.sr-agegate-undo{ display:block; margin-top:14px; color:#8a93a3; font-size:12px; text-decoration:underline; cursor:pointer; }
@media (max-width:480px){
	.sr-agegate-head{ font-size:20px; margin:20px 0 0 20px; padding:8px 16px; }
	.sr-agegate-body{ padding:16px 20px 22px; }
	.sr-agegate-text{ font-size:15px; }
	.sr-agegate-actions{ flex-wrap:wrap; }
	.sr-agegate-btn{ flex:1 1 45%; min-width:0; }
}
/* ================================================================
   v2.9.0 REDESIGN LAYER — tokens, content-page system, blocks, forms
   ================================================================ */
:root{ --sr-navy:#101A33; --sr-navy2:#3c4b71; --sr-gold:#b8941e; --sr-cta:#DBB42C; --sr-cta-text:#101A33; --sr-border:#e9edf3; --sr-muted:#8a93a3; --sr-text:#4d5d6d; --sr-instock:#1e7f4f; --sr-low:#c47f17; --sr-oos:#8a93a3; --sr-ink:#00062E; --sr-gold-d:#8a6d10; --sr-line:#dde2ea; --sr-ff-label:Poppins,"Helvetica Neue",Arial,sans-serif; }
/* v2.12.0 colour system: ONE action colour sitewide. The Elementor sections
   (hero buttons, membership band) already used the brand yellow #ffca12 with
   navy text while every plugin element (pill, badges, card buttons, form
   buttons) used the muted logo gold #b8941e with white text — two golds on
   one page. Now: --sr-cta yellow + navy text for every button/badge/pill,
   navy + white on hover; --sr-gold stays for type accents (eyebrows, H2
   underline bars, numerals, the logo).
   2.33.0 (Josh 10/2: "the feel that we are giving our customers that you see
   in the Sherman & Rose logo … expensive and well put together"): --sr-cta is
   the LOGO gold #DBB42C (the theme palette's and the Elementor kit's own gold)
   with navy text — still one action colour; --sr-ink #00062E is the logo navy
   for the dark bars (top bar, department strip, ☰ drawer, price labels);
   buttons are square capitals in Poppins (--sr-ff-label), corners 2 px. */
.sr-sr-only{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.sr-muted{ color:var(--sr-muted); font-size:13.5px; }
.sr-eyebrow{ display:block; letter-spacing:.14em; text-transform:uppercase; font-size:12px; font-weight:700; color:var(--sr-gold); margin:0 0 10px; }
.sr-btn{ display:inline-block; padding:13px 24px; border-radius:2px; font-weight:600; font-size:13.5px; letter-spacing:.11em; text-transform:uppercase; line-height:1.2; text-decoration:none !important; border:1.5px solid transparent; cursor:pointer; transition:background .15s, color .15s, border-color .15s; font-family:var(--sr-ff-label); }
.sr-btn-gold{ background:var(--sr-cta); border-color:var(--sr-cta); color:var(--sr-cta-text) !important; }
.sr-btn-gold:hover{ background:var(--sr-ink); border-color:var(--sr-ink); color:#fff !important; }
.sr-btn-navy{ background:var(--sr-navy); border-color:var(--sr-navy); color:#fff !important; }
.sr-btn-navy:hover{ background:var(--sr-ink); border-color:var(--sr-ink); }
.sr-btn-outline{ background:transparent; border-color:var(--sr-navy); color:var(--sr-navy) !important; }
.sr-btn-outline:hover{ background:var(--sr-ink); border-color:var(--sr-ink); color:#fff !important; }
.sr-btn-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0 0; }
.sr-btn-row .sr-textlink{ font-size:14px; color:var(--sr-navy2); text-decoration:underline; }
/* ----- content pages (HTML pages rendered by the theme) ----- */
.sr-page{ max-width:1100px; margin:0 auto; padding:26px 20px 64px; color:var(--sr-text); font-size:16px; line-height:1.65; }
.sr-page h1, .sr-hero h1{ font-family:Lora,Georgia,serif; font-size:40px; font-weight:600; color:var(--sr-navy); line-height:1.15; margin:0 0 12px; }
.sr-page .sr-lede{ font-size:19px; line-height:1.5; color:var(--sr-navy2); margin:0 0 22px; max-width:820px; }
.sr-h2, .sr-page h2{ font-family:Lora,Georgia,serif; font-size:30px; font-weight:600; color:var(--sr-navy); line-height:1.2; margin:44px 0 16px; }
.sr-h2::after, .sr-page h2::after{ content:''; display:block; width:56px; height:3px; background:var(--sr-gold); margin:10px 0 0; border-radius:2px; }
.sr-page h3{ font-family:inherit; font-size:20px; font-weight:700; color:var(--sr-navy); margin:26px 0 8px; }
.sr-page p{ margin:0 0 14px; }
.sr-page ul, .sr-page ol{ margin:0 0 16px; padding-left:22px; }
.sr-page li{ margin:0 0 6px; }
.sr-page a{ color:var(--sr-navy2); }
.sr-page table{ width:100%; border-collapse:collapse; font-size:14.5px; margin:0 0 20px; }
.sr-page th, .sr-page td{ border:1px solid var(--sr-border); padding:10px 12px; text-align:left; vertical-align:top; }
.sr-page th{ background:#f5f7fa; color:var(--sr-navy); }
.sr-hero{ background:var(--sr-navy); color:#fff; padding:56px 20px 52px; text-align:center; width:100vw; margin-left:calc(50% - 50vw); }
.sr-hero > div{ max-width:900px; margin:0 auto; }
.sr-hero h1{ color:#fff; font-size:44px; }
.sr-hero .sr-lede{ color:#d9dfeb; font-size:18px; margin:0 auto 10px; }
.sr-hero .sr-btn-outline{ border-color:#fff; color:#fff !important; }
.sr-hero .sr-btn-outline:hover{ background:#fff; color:var(--sr-navy) !important; }
.sr-hero .sr-btn-row{ justify-content:center; margin-top:22px; }
.sr-hero .sr-textlink{ color:#d9dfeb; }
.sr-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:start; }
.sr-callout{ border-left:4px solid var(--sr-gold); background:#fbf8ee; padding:14px 18px; border-radius:8px; margin:18px 0; }
.sr-callout p:last-child{ margin-bottom:0; }
.sr-callout-navy{ background:var(--sr-navy); color:#fff; border-left-color:var(--sr-gold); }
.sr-callout-navy a{ color:#f2d67a; }
.sr-note{ font-size:13.5px; color:var(--sr-muted); }
.sr-check{ list-style:none; padding:0 !important; }
.sr-check li{ padding-left:26px; position:relative; margin:0 0 8px; }
.sr-check li::before{ content:'\2713'; position:absolute; left:0; top:0; color:var(--sr-instock); font-weight:700; }
/* ----- steps ----- */
.sr-steps{ margin:0 auto; }
.sr-steps .sr-h2{ text-align:center; }
.sr-steps .sr-h2::after{ margin-left:auto; margin-right:auto; }
.sr-steps-list{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0 !important; margin:0 !important; }
.sr-steps-list li{ background:#fff; border:1px solid var(--sr-border); border-radius:12px; padding:22px 20px 20px; margin:0 !important; font-size:15px; line-height:1.55; color:var(--sr-text); }
.sr-steps-list li strong{ display:block; color:var(--sr-navy); font-size:17px; margin:0 0 6px; }
.sr-step-n{ display:inline-flex; width:34px; height:34px; border-radius:50%; background:var(--sr-navy); color:var(--sr-gold); font-family:Lora,Georgia,serif; font-weight:700; font-size:16px; align-items:center; justify-content:center; margin:0 0 12px; }
.sr-steps-link{ text-align:center; margin:16px 0 0 !important; font-size:14.5px; }
.sr-steps-compact .sr-steps-list{ grid-template-columns:1fr; gap:10px; }
.sr-steps-compact .sr-steps-list li{ padding:14px 16px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; align-items:start; font-size:14px; }
.sr-steps-compact .sr-step-body{ min-width:0; }
.sr-steps-list .sr-step-body{ display:block; }
.sr-steps-compact .sr-steps-list li strong{ font-size:15px; margin:0 0 2px; }
.sr-steps-compact .sr-step-n{ margin:0; width:30px; height:30px; font-size:14px; }
.sr-steps-compact .sr-steps-link{ text-align:left; }
/* ----- NFA two tracks ----- */
.sr-tracks{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:18px 0 26px; }
.sr-track{ border:1px solid var(--sr-border); border-radius:14px; padding:26px 26px 20px; background:#fff; }
.sr-track h3{ margin:0 0 12px !important; font-family:Lora,Georgia,serif; font-size:24px; font-weight:600; }
.sr-track ol{ padding-left:20px; margin:0; }
.sr-track li{ margin:0 0 10px; line-height:1.55; }
.sr-track-eyebrow{ letter-spacing:.12em; text-transform:uppercase; font-size:11.5px; font-weight:700; color:var(--sr-gold); margin:0 0 8px; }
.sr-track-dallas{ background:var(--sr-navy); border-color:var(--sr-navy); color:#e6eaf2; }
.sr-track-dallas h3{ color:#fff; }
.sr-track-dallas a{ color:#f2d67a; }
/* ----- FAQ ----- */
.sr-faq details{ border:1px solid var(--sr-border); border-radius:10px; margin:0 0 10px; background:#fff; }
.sr-faq summary{ padding:14px 44px 14px 18px; font-weight:600; color:var(--sr-navy); cursor:pointer; list-style:none; position:relative; font-size:16px; }
.sr-faq summary::-webkit-details-marker{ display:none; }
.sr-faq summary::after{ content:'+'; position:absolute; right:16px; top:10px; font-size:22px; color:var(--sr-gold); }
.sr-faq details[open] summary::after{ content:'\2013'; }
.sr-faq details > div{ padding:0 18px 16px; font-size:15px; line-height:1.6; }
/* ----- status stages / trust row / contact card ----- */
.sr-stages{ counter-reset:sr; list-style:none; padding:0 !important; margin:0 0 10px !important; }
.sr-stages li{ counter-increment:sr; padding:10px 0 10px 40px; border-bottom:1px solid var(--sr-border); position:relative; margin:0 !important; }
.sr-stages li::before{ content:counter(sr); position:absolute; left:0; top:9px; width:26px; height:26px; border-radius:50%; background:var(--sr-navy); color:var(--sr-gold); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.sr-stages li strong{ color:var(--sr-navy); }
.sr-trust-row{ list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; padding:0 !important; margin:14px 0 0 !important; font-size:13px; color:var(--sr-text); }
.sr-trust-row li{ margin:0 !important; }
.sr-trust-row li::before{ content:'\2713'; color:var(--sr-instock); font-weight:700; margin-right:6px; }
.sr-contact-card{ display:grid; grid-template-columns:1fr 1fr auto; gap:20px; border:1px solid var(--sr-border); border-radius:14px; padding:22px 24px; background:#fff; align-items:center; margin:18px 0; line-height:1.6; }
.sr-contact-card strong{ color:var(--sr-navy); font-size:17px; }
.sr-contact-card .sr-btn{ margin:4px 6px 4px 0; }
.sr-map{ width:100%; height:320px; border:0; border-radius:14px; margin:6px 0 18px; }
/* ----- lead forms ----- */
.sr-form-wrap{ background:#fff; border:1px solid var(--sr-border); border-radius:14px; padding:22px 24px; margin:18px 0; }
.sr-form-title{ font-family:Lora,Georgia,serif; font-size:22px; font-weight:600; color:var(--sr-navy); margin:0 0 6px; }
.sr-form-intro{ margin:0 0 14px; color:var(--sr-text); font-size:14.5px; }
.sr-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
.sr-form label{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--sr-navy); }
.sr-form input[type=text], .sr-form input[type=email], .sr-form input[type=tel], .sr-form textarea{ border:1px solid #dfe5ee; border-radius:8px; padding:11px 12px; font-size:15px; font-weight:400; color:var(--sr-navy); width:100%; font-family:inherit; background:#fff; }
.sr-form input:focus, .sr-form textarea:focus{ outline:none; border-color:var(--sr-navy); box-shadow:0 0 0 3px rgba(16,26,51,.08); }
.sr-form-full{ margin-top:12px; }
.sr-form-actions{ margin-top:14px; }
.sr-form-note{ font-size:12.5px; color:var(--sr-muted); margin:12px 0 0; }
.sr-form-note a{ color:inherit; }
.sr-hp{ position:absolute !important; left:-9999px !important; top:-9999px !important; }
.sr-form-inline{ display:flex; gap:10px; }
.sr-form-inline input{ flex:1 1 auto; min-width:0; }
.sr-form-inline .sr-btn{ flex:0 0 auto; white-space:nowrap; }
.sr-form-done, .sr-form-err{ padding:12px 14px; border-radius:8px; font-weight:600; margin-top:12px; font-size:14px; }
.sr-form-done{ background:#eef8f1; border:1px solid #bfe3cb; color:var(--sr-instock); }
.sr-form-err{ background:#fdf1ec; border:1px solid #f1c7b8; color:#a8401f; }
.sr-form.is-sent .sr-form-grid, .sr-form.is-sent .sr-form-inline, .sr-form.is-sent .sr-form-full, .sr-form.is-sent .sr-form-actions, .sr-form.is-sent .sr-form-note{ display:none; }
/* footer variant (dark) */
.ct-footer .sr-form-wrap{ background:transparent; border:0; padding:0; margin:0; }
.ct-footer .sr-form-title{ color:#fff; font-size:18px; }
.ct-footer .sr-form-intro, .ct-footer .sr-form-note{ color:#aab3c5; }
.ct-footer .sr-form-inline{ flex-wrap:wrap; }
.ct-footer .sr-form input[type=email]{ background:#fff; border-color:#fff; }
.ct-footer .sr-footer-col p{ margin:0 0 8px; }
.ct-footer .sr-footer-col a{ color:inherit; }
.ct-footer .sr-license{ font-size:12.5px; color:#aab3c5; }
/* content pages that open with a hero band: no theme top padding, hero flush under the header */
/* 2.23.0: body class set in PHP (was body:has(), which made every style recalculation on every page re-check the whole document) */
body.sr-hero-first .ct-container-full, body.sr-hero-first .ct-container{ padding-top:0 !important; }
body.sr-hero-first .entry-content > .sr-hero:first-child{ margin-top:0; }
body.page .entry-content > .sr-hero + .sr-page{ padding-top:36px; }
/* header pill CTA (desktop header, end column) */
.sr-header-pill{ display:inline-flex; align-items:center; align-self:center; justify-self:end; width:max-content; height:34px; gap:6px; background:var(--sr-cta); color:var(--sr-cta-text) !important; font-size:13px; font-weight:700; letter-spacing:.01em; padding:0 14px; border-radius:999px; text-decoration:none !important; white-space:nowrap; margin:0 14px 0 0; line-height:1; transition:background .15s; flex:0 0 auto; }
/* hero: the ship-to-your-dealer text link must stay legible on the dark band */
.elementor-77797 .elementor-element-521790c8 .elementor-widget-text-editor a{ color:#C7D0DC !important; text-decoration:underline; }
.elementor-77797 .elementor-element-521790c8 .elementor-widget-text-editor a:hover{ color:var(--sr-cta) !important; }
.sr-header-pill:hover{ background:var(--sr-navy2); }
header#header [data-id="button"]{ margin-left:18px; }
header#header [data-id="button"] .ct-button.sr-header-pill, header#header [data-id="button"] a.sr-header-pill{ display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:999px; background:var(--sr-cta); color:var(--sr-cta-text) !important; font-size:13px; font-weight:700; line-height:1; white-space:nowrap; text-decoration:none !important; margin:0; }
header#header [data-id="button"] .ct-button.sr-header-pill:hover, header#header [data-id="button"] a.sr-header-pill:hover{ background:var(--sr-navy2); color:#fff !important; }
@media (max-width:1024px){ .sr-header-pill, header#header [data-id="button"]{ display:none; } }
/* homepage helpers */
.elementor-77797 .sr-home-steps .sr-steps{ max-width:1180px; margin:0 auto; }
.elementor-77797 .sr-home-signup .sr-form-wrap{ max-width:660px; margin:0 auto; text-align:center; }
.elementor-77797 .sr-home-signup .sr-form-inline{ justify-content:center; }
@media (max-width:1024px){
	.sr-tracks, .sr-two-col{ grid-template-columns:1fr; }
	.sr-contact-card{ grid-template-columns:1fr; }
}
@media (max-width:768px){
	.sr-page{ padding:20px 16px 50px; font-size:15.5px; }
	.sr-page h1{ font-size:30px; }
	.sr-hero h1{ font-size:32px; }
	.sr-hero{ padding:40px 16px 36px; }
	.sr-h2, .sr-page h2{ font-size:25px; margin-top:34px; }
	.sr-steps-list{ grid-template-columns:1fr; gap:12px; }
	.sr-form-grid{ grid-template-columns:1fr; }
	.sr-form-wrap{ padding:18px 16px; }
	.sr-form-inline{ flex-direction:column; }
	.sr-btn{ width:100%; text-align:center; }
	.sr-btn-row .sr-btn{ width:auto; }
	.sr-track{ padding:20px 18px 14px; }
}
/* ================================================================
   v2.9.2 PRODUCT PAGE LAYER — buy box, stock line, cross-sell, Q&A, sticky bar
   ================================================================ */
.sr-crumb{ max-width:1360px; margin:8px auto 0; padding:0 15px; font-size:13px; color:var(--sr-muted); }
.sr-crumb .woocommerce-breadcrumb{ margin:0; font-size:13px; color:var(--sr-muted); }
.sr-crumb a{ color:var(--sr-navy2); }
.sr-save{ display:inline-block; margin-left:10px; font-size:14px; color:var(--sr-instock); font-weight:600; vertical-align:middle; }
.sr-member-line{ display:block; font-size:13.5px; color:var(--sr-navy2); font-weight:500; margin-top:6px; line-height:1.4; }
.sr-member-line a{ color:var(--sr-navy2); text-decoration:underline; }
.single-product p.stock.sr-stock{ font-size:14px !important; font-weight:600; margin:0 0 12px !important; }
.single-product p.stock.sr-stock-in{ color:var(--sr-instock) !important; }
.single-product p.stock.sr-stock-low{ color:var(--sr-low) !important; }
.single-product p.stock.sr-stock-oos{ color:var(--sr-oos) !important; }
.single-product p.stock.sr-stock a{ color:var(--sr-navy2); text-decoration:underline; font-weight:600; }
.sr-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; background:currentColor; margin-right:7px; vertical-align:middle; }
.sr-pdp-extras{ margin:14px 0 4px; max-width:560px; }
.sr-buybox{ border:1px solid var(--sr-border); border-radius:12px; background:#fff; overflow:hidden; }
.sr-buybox-row{ display:grid; grid-template-columns:140px 1fr; gap:4px 14px; padding:12px 14px; border-top:1px solid var(--sr-border); font-size:13.5px; line-height:1.5; color:var(--sr-text); }
.sr-buybox-row:first-child{ border-top:0; }
.sr-buybox-row strong{ color:var(--sr-navy); font-size:13.5px; }
.sr-buybox-row a{ color:var(--sr-navy2); text-decoration:underline; }
.sr-buybox-hi{ background:#fbf8ee; }
.sr-pdp-extras .sr-trust-row{ margin-top:12px !important; }
.sr-pdp-extras .sr-form-wrap{ margin:14px 0 0; padding:16px 18px; }
.sr-form-wrap.sr-form-buycol{ display:block; margin:16px 0 8px; padding:18px 20px; max-width:560px; } /* 2.37.3: the notify form in the buy column */
body.sr-wide .sr-form-wrap.sr-form-buycol{ max-width:700px; }
.sr-pdp-below{ max-width:1360px; margin:30px auto 10px; padding:0 15px; }
.sr-goeswith{ margin:0 0 30px; }
.sr-goeswith .sr-h2{ font-size:26px; margin:0 0 16px; }
.sr-goeswith-list{ list-style:none; display:grid; grid-template-columns:repeat(6,1fr); gap:14px; padding:0 !important; margin:0 !important; }
.sr-goeswith-list li{ margin:0 !important; }
.sr-goeswith-list li a{ display:flex; flex-direction:column; height:100%; border:1px solid var(--sr-border); border-radius:12px; padding:12px; background:#fff; text-decoration:none !important; transition:box-shadow .18s ease, transform .18s ease; }
.sr-goeswith-list li a:hover{ box-shadow:0 10px 26px rgba(16,26,51,.10); transform:translateY(-2px); }
.sr-goeswith-list img{ width:100%; height:120px; object-fit:contain; margin:0 0 8px; }
.sr-gw-title{ font-size:13px; color:var(--sr-navy); line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sr-gw-price{ margin-top:auto; padding-top:8px; font-weight:700; color:var(--sr-navy2); font-size:15px; }
.sr-gw-price del{ color:var(--sr-muted); font-weight:400; margin-right:6px; }
.sr-pdp-steps{ margin:0 0 22px; }
.sr-pdp-steps .sr-h2{ font-size:24px; text-align:left; margin:0 0 14px; }
.sr-pdp-steps .sr-h2::after{ margin-left:0; }
.sr-qa-toggle{ display:block; width:100%; text-align:left; background:#fff; border:1px solid var(--sr-border); border-radius:12px; padding:16px 18px; font-size:16px; font-weight:600; color:var(--sr-navy); cursor:pointer; font-family:inherit; }
.sr-qa-toggle span{ color:var(--sr-gold); float:right; font-weight:700; }
.sr-qa-toggle.is-open span{ transform:rotate(90deg); display:inline-block; }
.sr-qa-body{ margin-top:10px; }
.sr-sticky-cart{ position:fixed; left:0; right:0; bottom:0; z-index:99990; display:none; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px 10px 74px; background:#fff; border-top:1px solid var(--sr-border); box-shadow:0 -6px 20px rgba(16,26,51,.12); }
.sr-sticky-cart.is-visible{ display:flex; }
.sr-sticky-price{ font-weight:700; color:var(--sr-navy2); font-size:18px; line-height:1.15; min-width:0; }
.sr-sticky-price small{ display:block; font-size:12px; font-weight:500; color:var(--sr-muted); }
.sr-sticky-cart .sr-btn{ width:auto; padding:12px 22px; white-space:nowrap; flex:0 0 auto; }
@media (min-width:1025px) and (max-width:1199px){
	.sr-goeswith-list{ grid-template-columns:repeat(4,1fr); }
	.sr-goeswith-list li:nth-child(n+5){ display:none; }
	.elementor-66562 .elementor-element-e191728 .jet-woo-products__item{ flex:0 0 25% !important; max-width:25% !important; }
	.elementor-66562 .elementor-element-e191728 .jet-woo-products__item:nth-child(n+5){ display:none !important; }
}
@media (max-width:1024px){ .sr-goeswith-list{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
	.sr-goeswith-list{ grid-template-columns:repeat(2,1fr); gap:10px; }
	.sr-buybox-row{ grid-template-columns:1fr; }
	.sr-pdp-extras{ max-width:100%; }
	body.sr-has-sticky-cart{ padding-bottom:70px; }
}
/* ---- listing cards: stock line, badges, savings, member line ---- */
.sr-card-stock{ font-size:12.5px !important; font-weight:600; line-height:1.35; }
.sr-card-in{ color:var(--sr-instock) !important; }
.sr-card-low{ color:var(--sr-low) !important; }
.sr-card-oos{ color:var(--sr-oos) !important; }
.sr-card-badges{ display:flex; flex-wrap:wrap; gap:4px; justify-content:center; margin:5px 0 0; }
.sr-badge{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 7px; border-radius:6px; line-height:1.3; }
.sr-badge-dallas{ background:#fbf3d6; color:#7a5e12; }
.sr-badge-ship{ background:#eef8f1; color:var(--sr-instock); }
.sr-card-save{ display:block; font-size:12px; color:var(--sr-instock); font-weight:600; }
.sr-card-member{ display:block; font-size:12px; color:var(--sr-navy2); font-weight:500; }
/* v2.19.0: card star row (third-party score, see the PDP panel for sources) */
.sr-card-rv{ display:flex; align-items:center; justify-content:center; gap:5px; margin:0 0 3px; font-size:12px; font-weight:600; color:#3c4b71; line-height:1; cursor:help; }
.sr-card-rv small{ font-size:11px; font-weight:500; color:#6b7788; }
.sr-card-rv{ flex-wrap:wrap; row-gap:2px; }
.sr-card-rv-src{ font-size:11px; font-weight:500; color:#6b7788; white-space:nowrap; }
.sr-card-rv-src::before{ content:'\00b7'; margin:0 4px 0 1px; }
.sr-card-stars{ position:relative; display:inline-block; width:76px; height:14px; flex:0 0 76px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23d9dfe8'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 76px 14px; }
.sr-card-stars::before{ content:''; position:absolute; inset:0; width:var(--sr-rv,0%); background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23ffca12'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 76px 14px; }
/* v2.19.0: the Rating facet (JetSmartFilters rating widget in the rail) — only where something is rated */
.elementor-66576 .elementor-widget-jet-smart-filters-rating{ display:none !important; }
body.sr-has-rv .elementor-66576 .elementor-widget-jet-smart-filters-rating{ display:block !important; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating > .elementor-widget-container{ border:1px solid #dfe5ee; border-radius:8px; padding:10px 12px 8px; margin:0 0 10px; background:#fff; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-filter-label{ display:block; font-size:14px; font-weight:500; color:#101A33; margin:0 0 6px; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-facet-hint{ display:block; font-size:11.5px; color:#6b7788; margin:6px 0 0; }
/* v2.20.0: the five radios become labelled rows ("5 stars", "4 stars & up", …) with counts; the widget stays JetSmartFilters' so the
   URL, Apply and Reset keep working */
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating{ visibility:hidden; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating.sr-rv-ready{ visibility:visible; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating, .elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating__control, .elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-stars, .elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-stars__fields{ display:block !important; float:none !important; width:100% !important; max-width:100% !important; min-width:0 !important; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-facet-hint{ clear:both; width:100%; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-stars__fields{ display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:2px; margin:0 !important; padding:0 !important; border:0 !important; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-star__input{ position:absolute !important; opacity:0 !important; width:1px; height:1px; overflow:hidden; pointer-events:none; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-star__input.sr-rv-hide, .elementor-66576 .elementor-widget-jet-smart-filters-rating label.sr-rv-hide{ display:none !important; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating label.sr-rv-row{ display:flex !important; align-items:center; gap:8px; width:100% !important; margin:0 !important; padding:6px 8px !important; border-radius:8px; cursor:pointer; font-size:13.5px; line-height:1.2; color:#101A33; background:transparent; transition:background .12s ease; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating label.sr-rv-row:hover{ background:#f3f5f9; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-star__input:checked + label.sr-rv-row, .elementor-66576 .elementor-widget-jet-smart-filters-rating .jet-rating-star__input.is-checked + label.sr-rv-row{ background:#faf5e4; box-shadow:inset 0 0 0 1.5px var(--sr-cta); font-weight:600; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating label.sr-rv-row .jet-rating-star__icon{ display:none !important; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-row-stars{ position:relative; display:inline-block; width:76px; height:14px; flex:0 0 76px; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23d9dfe8'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 76px 14px; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-row-stars::before{ content:''; position:absolute; inset:0; width:var(--sr-rv,0%); background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22'><g fill='%23ffca12'><path d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(24)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(48)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(72)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/><path transform='translate(96)' d='M12 1.5l3 6.6 7.2.8-5.3 4.9 1.5 7.1L12 17.3 5.6 20.9l1.5-7.1L1.8 8.9 9 8.1z'/></g></svg>") no-repeat 0 0 / 76px 14px; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-row-txt{ flex:1 1 auto; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating .sr-rv-row-n{ flex:0 0 auto; color:#8a93a3; font-size:12px; font-weight:400; }
.elementor-66576 .elementor-widget-jet-smart-filters-rating label.sr-rv-row.sr-rv-empty{ opacity:.45; }
@media (max-width:768px){ .sr-card-badges{ justify-content:flex-start; } }
/* ---- membership page: plans + examples + member price display ---- */
.sr-plans{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:18px 0 10px; }
.sr-plan{ position:relative; border:1px solid var(--sr-border); border-radius:16px; padding:28px 26px 22px; background:#fff; }
.sr-plan-featured{ border:2px solid var(--sr-gold); box-shadow:0 14px 34px rgba(16,26,51,.10); }
.sr-plan h3{ font-family:Lora,Georgia,serif; font-size:26px; font-weight:600; margin:6px 0 4px !important; }
.sr-plan-price{ font-family:Lora,Georgia,serif; font-size:40px; font-weight:600; color:var(--sr-navy); margin:0 0 14px; }
.sr-plan-price span{ font-family:inherit; font-size:16px; color:var(--sr-muted); font-weight:400; margin-left:4px; }
.sr-plan-badge{ position:absolute; top:-13px; left:24px; background:var(--sr-cta); color:var(--sr-cta-text); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:20px; }
.sr-plan-badge-alt{ background:var(--sr-navy2); }
.sr-plan .sr-check{ margin:0 0 18px !important; }
.sr-plan .sr-btn{ width:100%; text-align:center; }
.sr-plan .sr-note{ text-align:center; margin:10px 0 0; }
/* 2.25.4: per-month number, billing frequency right under it, yearly total small at the foot of the card */
.sr-plan .sr-plan-price{ margin:0; line-height:1.1; }
.sr-plan .sr-plan-billing{ margin:4px 0 16px !important; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sr-muted); }
.sr-plan .sr-plan-total{ font-size:12.5px; line-height:1.45; }
.sr-buybox-member .sr-buybox-hi span{ color:var(--sr-navy); }
.sr-co-member{ margin:0 0 14px; padding:12px 14px; border:1px solid #e3e8f0; border-radius:10px; background:#f7f9fc; font-size:13px; line-height:1.5; color:#3c4b71; }
.sr-co-member p{ margin:0; }
.sr-co-member .sr-co-member-title{ margin:0 0 4px; font-weight:700; color:#101A33; }
.sr-co-member .sr-co-tick{ display:flex; gap:8px; align-items:flex-start; margin:10px 0 0; font-weight:600; color:#101A33; cursor:pointer; } /* 2.34.0 */
.sr-co-member .sr-co-tick input{ margin:3px 0 0; flex:0 0 auto; }
/* 2.34.0: one membership — cart rows, ammo shipping line, membership page */
.sr-member-row td, .sr-ammo-row td{ padding-top:4px !important; padding-bottom:10px !important; border-top:0 !important; }
.sr-member-row td small, .sr-ammo-row td small{ display:block; font-size:12.5px; line-height:1.45; font-weight:400; color:#5b6577; }
.sr-member-row td small a, .sr-ammo-row td small a{ color:var(--sr-navy2, #1b2a4a); text-decoration:underline; }
.sr-member-join td{ padding:6px 0 12px !important; }
.sr-member-join .sr-join-btn{ display:block; width:100%; text-align:center; margin:0 0 6px; padding:11px 14px; border-radius:2px; font-weight:700; font-size:14px; line-height:1.3; text-decoration:none; } /* 2.43.0 (Josh 10/12): square like every other button (was 10px) */
.sr-member-join .sr-join-btn .woocommerce-Price-amount{ font-weight:800; }
.sr-ship-line{ display:block; font-size:13px; color:#2f7d32; font-weight:600; margin-top:4px; }
.sr-member-line small{ font-weight:400; color:#5b6577; }
.sr-hero .sr-hero-note{ margin:12px 0 0; color:#c9d2e3; font-size:13px; }
.sr-page .sr-steps-plain{ margin:0 0 28px; padding-left:22px; font-size:16px; line-height:1.55; }
.sr-page .sr-steps-plain li{ margin:0 0 10px; }
.sr-calc-one .sr-calc-rows{ grid-template-columns:1fr; }
/* 2.36.0: Ammo AutoShip explainer + category strip */
.sr-as-ic{ width:34px; height:34px; color:var(--sr-navy, #101A33); flex:0 0 auto; }
.sr-page .sr-as-steps{ list-style:none; margin:0 0 36px; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; counter-reset:none; }
.sr-page .sr-as-steps li{ position:relative; background:#fff; border:1px solid #e3e8f0; border-radius:14px; padding:26px 22px 22px; margin:0; }
.sr-page .sr-as-steps .sr-as-num{ position:absolute; top:-14px; left:20px; width:28px; height:28px; border-radius:50%; background:var(--sr-gold, #C9A227); color:#101A33; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
.sr-page .sr-as-steps h3{ margin:12px 0 6px; font-size:19px; }
.sr-page .sr-as-steps p{ margin:0; font-size:15px; line-height:1.5; color:#3c4b71; }
.sr-page .sr-as-tiles{ list-style:none; margin:0 0 36px; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.sr-page .sr-as-tiles li{ display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:12px; row-gap:2px; align-items:center; background:#f7f9fc; border-radius:12px; padding:16px 18px; margin:0; }
.sr-page .sr-as-tiles .sr-as-ic{ grid-row:1 / span 2; width:30px; height:30px; }
.sr-page .sr-as-tiles strong{ font-size:15.5px; color:#101A33; }
.sr-page .sr-as-tiles span{ font-size:13.5px; color:#5b6577; line-height:1.4; }
.sr-page .sr-as-whatif{ margin:0 0 36px; display:grid; grid-template-columns:repeat(2, 1fr); gap:12px 24px; }
.sr-page .sr-as-whatif div{ border-left:3px solid var(--sr-gold, #C9A227); padding:2px 0 2px 14px; }
.sr-page .sr-as-whatif dt{ font-weight:700; color:#101A33; margin:0 0 4px; font-size:15.5px; }
.sr-page .sr-as-whatif dd{ margin:0; font-size:14.5px; line-height:1.5; color:#3c4b71; }
.sr-as-strip{ margin:0 auto 18px; padding:0 16px; max-width:1600px; }
.sr-as-strip-in{ display:flex; align-items:center; gap:14px; background:#101A33; color:#fff; border-radius:12px; padding:12px 16px; }
.sr-as-strip-in .sr-as-ic{ color:var(--sr-gold, #C9A227); width:28px; height:28px; }
.sr-as-strip-in p{ margin:0; flex:1 1 auto; font-size:14.5px; line-height:1.4; color:#fff; }
.sr-as-strip-in p strong{ color:var(--sr-gold, #C9A227); }
.sr-as-strip-in .sr-btn{ flex:0 0 auto; padding:9px 14px; font-size:13px; }
body.sr-wide .sr-as-steps li, body.sr-wide .sr-as-tiles li, body.sr-wide .sr-as-strip-in{ border-radius:2px !important; } /* the site's square premium style */
@media (max-width:900px){ .sr-page .sr-as-steps, .sr-page .sr-as-tiles{ grid-template-columns:1fr 1fr; } .sr-page .sr-as-whatif{ grid-template-columns:1fr; } }
@media (max-width:600px){ .sr-page .sr-as-steps, .sr-page .sr-as-tiles{ grid-template-columns:1fr; } .sr-as-strip-in{ flex-wrap:wrap; } .sr-as-strip-in p{ flex-basis:100%; order:2; } .sr-as-strip-in .sr-btn{ order:3; } }
.sr-examples td small{ color:var(--sr-instock); font-weight:600; }
/* v2.11.6: on phones the examples table ran 1,000px tall — long catalog
   names one word per line in a 116px column. Clamp names to three lines,
   tighter cells, smaller type. */
@media (max-width:599px){
	.sr-examples th, .sr-examples td{ padding:8px 5px; font-size:12.5px; line-height:1.35; }
	.sr-examples td:first-child a{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
	.sr-examples td small{ display:block; }
}
.sr-mp del{ color:var(--sr-muted); font-weight:400; margin-right:8px; }
.sr-mp ins{ text-decoration:none; color:var(--sr-navy2); font-weight:700; }
.sr-mp-label{ display:block; font-size:12px; color:var(--sr-gold); font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-top:2px; }
@media (max-width:768px){ .sr-plans{ grid-template-columns:1fr; } }
/* 2.25.5: who each plan is for, "Everything in Standard, plus", exclusions under the cards, savings calculator */
.sr-plan .sr-plan-for{ margin:0 0 16px !important; font-size:14.5px; line-height:1.45; color:var(--sr-navy); }
.sr-plan .sr-plan-plus{ margin:0 0 8px !important; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--sr-muted); }
.sr-plans-note{ margin:4px 0 22px !important; text-align:center; }
/* 2.25.6: the Pro badge printed navy text on the navy badge (2:1 contrast); side by side, both Join buttons sit on one line */
.sr-plan-badge.sr-plan-badge-alt{ color:#fff; }
@media (min-width:769px){
	.sr-plan{ display:flex; flex-direction:column; }
	.sr-plan .sr-btn{ margin-top:auto; }
}
.sr-calc{ border:1px solid var(--sr-border); border-radius:16px; background:#f7f9fc; padding:22px 24px 18px; margin:0 0 34px; }
.sr-calc .sr-calc-title{ font-family:Lora,Georgia,serif; font-size:22px; font-weight:600; line-height:1.25; color:var(--sr-navy); margin:0 0 2px !important; }
.sr-calc .sr-calc-sub{ font-size:14px; color:var(--sr-muted); margin:0 0 14px !important; }
.sr-calc .sr-calc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.sr-calc .sr-calc-chip{ -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:40px; margin:0 !important; padding:0 16px !important; border:1px solid #cfd6e2 !important; border-radius:999px !important; background:#fff !important; color:var(--sr-navy) !important; box-shadow:none !important; font-family:inherit; font-size:14px !important; font-weight:600 !important; line-height:1 !important; letter-spacing:0 !important; text-transform:none !important; cursor:pointer; transition:background .12s ease, border-color .12s ease, color .12s ease; }
.sr-calc .sr-calc-chip:hover{ border-color:var(--sr-navy) !important; }
.sr-calc .sr-calc-chip[aria-pressed="true"]{ background:var(--sr-navy) !important; border-color:var(--sr-navy) !important; color:#fff !important; }
.sr-calc .sr-calc-rows{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sr-calc .sr-calc-row{ display:flex; flex-direction:column; gap:2px; background:#fff; border:1px solid var(--sr-border); border-radius:12px; padding:12px 14px; }
.sr-calc .sr-calc-row.is-best{ border:2px solid var(--sr-gold); padding:11px 13px; }
.sr-calc .sr-calc-plan{ font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--sr-muted); }
.sr-calc .sr-calc-val{ font-family:Lora,Georgia,serif; font-size:30px; font-weight:600; line-height:1.15; color:var(--sr-instock); }
.sr-calc .sr-calc-row.is-neg .sr-calc-val{ color:var(--sr-muted); }
.sr-calc .sr-calc-lab{ font-size:12.5px; line-height:1.35; color:var(--sr-muted); }
.sr-calc .sr-calc-verdict{ margin:14px 0 4px !important; font-size:15px; font-weight:700; line-height:1.4; color:var(--sr-navy); }
.sr-calc .sr-calc-note{ margin:0 !important; font-size:12.5px; }
/* 2.50.0: the two views */
.sr-calc .sr-calc-tabs{ display:flex; gap:8px; margin:10px 0 16px; }
.sr-calc .sr-calc-tab{ -webkit-appearance:none; appearance:none; flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0 !important; padding:0 12px !important; border:1px solid #cfd6e2 !important; border-radius:999px !important; background:#fff !important; color:var(--sr-navy) !important; box-shadow:none !important; font-family:inherit; font-size:15px !important; font-weight:700 !important; line-height:1.2; cursor:pointer; }
.sr-calc .sr-calc-tab:hover{ border-color:var(--sr-navy) !important; }
.sr-calc .sr-calc-tab[aria-selected="true"]{ background:var(--sr-navy) !important; border-color:var(--sr-navy) !important; color:#fff !important; }
.sr-calc .sr-calc-pane[hidden]{ display:none !important; }
.sr-calc .sr-calc-how{ margin:8px 0 10px !important; font-size:14px; line-height:1.45; color:var(--sr-navy); }
@media (max-width:599px){
	.sr-calc{ padding:18px 16px 14px; }
	.sr-calc .sr-calc-chips{ display:grid; grid-template-columns:repeat(3,1fr); }
	.sr-calc .sr-calc-chip{ padding:0 6px !important; font-size:13.5px !important; }
	.sr-calc .sr-calc-val{ font-size:25px; }
}
/* ---- checkout copy blocks + attestations ---- */
#ffl_checkout_notice{ display:none !important; }
/* v2.11.6: the FFL finder row stayed three-across on phones (112px each, the
   radius select clipped to "within 5 Mile") — zip + radius share a line,
   Find FFL takes its own */
@media (max-width:599px){
	#ffl_search_fields .ffl_checkout_columns{ flex-wrap:wrap !important; gap:8px !important; }
	#ffl_search_fields .ffl_checkout_columns > .ffl_checkout_column{ flex:1 1 calc(50% - 4px) !important; width:auto !important; min-width:0 !important; margin:0 !important; }
	#ffl_search_fields .ffl_checkout_columns > .ffl_checkout_column:nth-child(3){ flex:1 1 100% !important; }
	#ffl_search_fields .ffl_checkout_columns > .ffl_checkout_column > *{ width:100% !important; box-sizing:border-box; }
}
/* v2.11.6: primary purchase buttons read as disabled — the theme's global
   button colour is #F3F5F7 grey on dark text (Proceed to checkout, Place
   order, Apply coupon) and the product-page Add to cart sat at 47% gold.
   Solid brand gold, white text, navy on hover; secondary buttons untouched. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.single-product form.cart .single_add_to_cart_button,
body .elementor-element-8332bc1 ul.products > li.product .jet-woo-builder-archive-add-to-cart .button,
.jet-woo-products .jet-woo-product-button .button,
.jet-woo-products .jet-woo-product-button a.button,
.jet-woo-products a.button.add_to_cart_button{ background:var(--sr-cta) !important; border-color:var(--sr-cta) !important; color:var(--sr-cta-text) !important; text-shadow:none !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.single-product form.cart .single_add_to_cart_button:hover,
body .elementor-element-8332bc1 ul.products > li.product .jet-woo-builder-archive-add-to-cart .button:hover,
.jet-woo-products .jet-woo-product-button .button:hover,
.jet-woo-products .jet-woo-product-button a.button:hover,
.jet-woo-products a.button.add_to_cart_button:hover{ background:var(--sr-navy2) !important; border-color:var(--sr-navy2) !important; color:#fff !important; }
.sr-co-block{ background:#f5f7fa; border:1px solid var(--sr-border); border-radius:10px; padding:12px 14px; margin:10px 0; font-size:14px; line-height:1.5; color:var(--sr-navy); }
.sr-co-block strong{ color:var(--sr-navy); }
.sr-co-pickup{ background:#fbf8ee; border-color:#eadfb8; }
.sr-co-block a{ color:var(--sr-navy2); text-decoration:underline; }
.sr-attest{ border:1px solid var(--sr-border); border-radius:10px; padding:14px 16px; margin:0 0 16px; background:#fff; }
.sr-attest-title{ font-weight:700; color:var(--sr-navy); margin:0 0 8px; font-size:14px; }
.sr-attest label{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; line-height:1.45; color:var(--sr-text); margin:0 0 8px; cursor:pointer; }
.sr-attest input{ margin-top:3px; accent-color:var(--sr-navy); flex:0 0 auto; }
/* ================================================================
   v2.10.0 DEALS LAYER — MSRP strike + savings, deals/best-seller grids
   ================================================================ */
.sr-msrp{ display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; }
.sr-msrp del, .sr-msrp del .amount{ color:var(--sr-muted); font-weight:400; font-size:.78em; }
.sr-msrp del{ text-decoration:line-through; }
.sr-msrp-label{ font-size:.85em; letter-spacing:.06em; text-transform:uppercase; }
.sr-msrp ins, .sr-msrp ins .amount{ text-decoration:none; font-weight:700; }
.sr-msrp-save{ display:block; font-size:12.5px; font-weight:700; color:var(--sr-instock); line-height:1.3; margin-top:2px; }
.sr-msrp-save .amount, .sr-msrp-save .woocommerce-Price-currencySymbol{ font-size:inherit !important; vertical-align:baseline; }
.single-product .elementor-widget-jet-single-price .sr-msrp-save, .single-product .summary .sr-msrp-save{ font-size:14.5px; }
.jet-woo-product-price .sr-msrp del, .jet-woo-product-price .sr-msrp del .amount, .jet-woo-builder-archive-product-price .sr-msrp del .amount, .elementor-widget-jet-single-price .sr-msrp del .amount, .price .sr-msrp del .amount{ font-size:.78em !important; color:var(--sr-muted) !important; font-weight:400 !important; }
.jet-woo-product-price .sr-msrp-save, .jet-woo-builder-archive-product-price .sr-msrp-save{ font-size:12.5px; }
.sr-pc-grid{ list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:0 !important; margin:0 !important; }
.sr-pc{ margin:0 !important; display:flex; flex-direction:column; background:#fff; border:1px solid var(--sr-border); border-radius:12px; padding:14px; position:relative; transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.sr-pc:hover{ box-shadow:0 12px 28px rgba(16,26,51,.10); transform:translateY(-2px); border-color:#dfe5ee; }
.sr-pc-link{ display:flex; flex-direction:column; flex:1 1 auto; text-decoration:none !important; color:var(--sr-navy); }
.sr-pc img{ width:100%; height:170px; object-fit:contain; margin:0 0 10px; display:block; }
.sr-deal-badge{ position:absolute; top:12px; left:12px; z-index:2; background:var(--sr-cta); color:var(--sr-cta-text); font-size:12px; font-weight:700; letter-spacing:.02em; padding:4px 9px; border-radius:6px; line-height:1.2; }
.sr-pc-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.35; font-weight:600; color:var(--sr-navy); margin:0 0 8px; min-height:38px; }
.sr-pc-price{ display:block; font-size:18px; font-weight:700; color:var(--sr-navy); margin:0; }
.sr-pc-price .amount{ font-family:inherit; color:var(--sr-navy); }
.sr-pc-price .sr-msrp del, .sr-pc-price .sr-msrp del .amount{ font-size:13px; color:var(--sr-muted); }
/* 2.40.1: APFS appends "— or subscribe to save 5%" to ammo card prices with the "5%" outside the <small>, so it printed at the
   19px price size. One muted line under the price instead. */
.sr-pc-price .wcsatt-sub-options, .sr-pc-price .wcsatt-sub-discount{ font-size:12.5px; font-weight:600; color:var(--sr-muted); }
.sr-pc-price .wcsatt-sub-options::before{ content:''; display:block; height:2px; }
.sr-pc-price .wcsatt-dash{ display:none; }
.sr-pc-ship{ display:block; font-size:12.5px; color:var(--sr-muted); margin:6px 0 12px; }
.sr-pc-btn{ margin-top:auto; text-align:center; padding:11px 14px; font-size:14px; }
.sr-pc .added_to_cart{ display:block; text-align:center; font-size:13px; margin-top:8px; color:var(--sr-navy2); text-decoration:underline; }
.sr-h2-center{ text-align:center; }
.sr-h2-center::after{ margin-left:auto; margin-right:auto; }
.sr-grid-block{ max-width:1360px; margin:0 auto; }
.sr-page-wide{ max-width:1400px; }
.sr-page .sr-pc-link, .sr-page .sr-pc-link *{ color:var(--sr-navy); }
.sr-page .sr-pc-price .sr-msrp del, .sr-page .sr-pc-price .sr-msrp del *{ color:var(--sr-muted); }
.sr-page .sr-pc-ship{ color:var(--sr-muted); }
.sr-page .sr-grid-block{ margin-bottom:34px; }
.sr-grid-block .sr-h2{ margin-top:0; }
.sr-grid-more{ text-align:center; margin:24px 0 0 !important; }
/* v2.13.3: grid header row (title left, "See all →" right) */
.sr-grid-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:0 0 18px; }
.sr-grid-head .sr-h2{ margin:0 !important; text-align:left; }
.sr-grid-head .sr-h2::after{ margin-left:0; margin-right:0; }
.sr-grid-more-link{ flex:0 0 auto; font-size:14px; font-weight:700; color:var(--sr-navy) !important; text-decoration:none !important; padding:0 0 4px; border-bottom:2px solid var(--sr-cta); margin-bottom:6px; white-space:nowrap; }
.sr-grid-more-link:hover{ border-bottom-color:var(--sr-navy); }
/* homepage product rows: 5 across on desktop, 4 on tablet (5th hidden), 2×2 on phones */
@media (min-width:1200px){ .elementor-77797 .sr-pc-grid{ grid-template-columns:repeat(5,1fr); gap:14px; } .elementor-77797 .sr-pc img{ height:160px; } }
@media (min-width:768px) and (max-width:1199px){ .elementor-77797 .sr-pc-grid{ grid-template-columns:repeat(4,1fr); gap:12px; } .elementor-77797 .sr-pc-grid .sr-pc:nth-child(n+5){ display:none; } }
@media (max-width:767px){ .elementor-77797 .sr-pc-grid .sr-pc:nth-child(n+5){ display:none; } .sr-grid-head{ margin-bottom:12px; } .sr-grid-head .sr-h2{ font-size:24px; } .sr-grid-more-link{ font-size:13px; } }
.sr-deals-hero{ text-align:center; }
.sr-deals-hero .sr-h1{ margin-bottom:12px; }
@media (max-width:1024px){ .sr-pc-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){
	.sr-pc-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
	.sr-pc{ padding:10px; }
	.sr-pc img{ height:120px; }
	.sr-pc-price{ font-size:16px; }
	.sr-pc-btn{ padding:10px 8px; font-size:13px; }
	.sr-deal-badge{ top:8px; left:8px; font-size:11px; padding:3px 7px; }
}
/* ================================================================
   v2.25.0 ONE CARD STANDARD + PRODUCT-PAGE PHOTO STAGE (Josh 9/29, phone screenshots)
   "all the font is off, inconsistent as well, random ones with the members from and other text. We need to follow a
   uniform standard!" / "The vertical length of photos are way too long, let's bring them in like our competitors."
   Cards before: three builds, three looks. Archive cards (shop / category / brand / search, template 68487): titles 12.5px
   grey system font, prices in "Muli" (never loaded, so Helvetica/Arial), and the template's own phone CSS forced EVERY span
   in the price widget to 24px !important — the regular price, "Members from $X" and the rating row came out price-sized
   while sale prices were 16px. Homepage + /deals/ cards (sr-pc): left-aligned, navy sale prices, 2-line titles. Related
   cards on product pages (JetWooBuilder grid e191728): Poppins titles, stock line above the title, no frame.
   Standard now (measured on GrabAGun + Brownells 9/29: left-aligned, one price size for sale and regular, secondary lines
   one step smaller, clamped titles): one font (the site's system UI stack), left-aligned text, 3-line title box, rating
   row → price (sale red, old price small grey strike on the same line) → save line → member line → stock line → button,
   same frame, same gold button, hover effects only on devices that can hover (a tap on iOS left cards "hovered").
   ================================================================ */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product,
html body li.sr-pc,
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box{
	--c-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--c-title:14.5px; --c-price:19px; --c-old:13.5px; --c-meta:12.5px; --c-btn:12px; --c-btn-h:40px;
	--c-red:#c62828; --c-grey:#6b7788; --c-low:#a8650a;
}
@media (max-width:1199px){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product,
	html body li.sr-pc,
	html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box{ --c-title:14px; --c-price:18px; --c-old:13px; }
}
@media (max-width:767px){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product,
	html body li.sr-pc,
	html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box{ --c-title:13px; --c-price:17px; --c-old:12.5px; --c-meta:12px; --c-btn:11.5px; --c-btn-h:38px; }
}
/* frame: the archive li already is the card (2.19.0); homepage cards take the same border; related cards get the frame on
   their inner box (the item's own padding is the grid gutter) and become the same flex column */
html body li.sr-pc.sr-pc{ border-color:#dfe5ee !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box.jet-woo-products__inner-box{ display:flex !important; flex-direction:column !important; height:100% !important; box-sizing:border-box !important; padding:12px !important; border:1px solid #dfe5ee !important; border-radius:2px !important; background:#fff !important; text-align:left !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-thumbnail{ order:1 !important; margin:0 0 10px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; } /* one frame per card (the grid drew a second box around the photo) */
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-categories, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-stock-status{ text-align:left !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-categories{ order:2 !important; margin:0 0 3px !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-title{ order:3 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-rating{ order:4 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-price{ order:5 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-stock-status{ order:6 !important; margin:0 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-product-button{ order:7 !important; margin:auto 0 0 !important; padding-top:10px; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box > .jet-woo-products-cqw-wrapper{ order:8 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box .jet-woo-product-categories a{ font-family:var(--c-ui) !important; font-size:11px !important; font-weight:600 !important; letter-spacing:.05em !important; text-transform:uppercase !important; color:var(--c-grey) !important; text-decoration:none !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box .jet-woo-product-thumbnail a{ position:relative !important; display:block !important; height:150px; overflow:hidden !important; padding:0 !important; }
html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box .jet-woo-product-thumbnail a img{ position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; margin:0 !important; object-fit:contain !important; }
@media (max-width:767px){ html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box .jet-woo-product-thumbnail a{ height:120px; } html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box.jet-woo-products__inner-box{ padding:10px !important; } }
/* 2.33.31 — "Related products" placeholder while the row loads (sr_pdp_defer): six grey cards the height of real ones (median
   of 7 product pages, 10/3: 454 px ≥1200 [435–491], 450 px 1025–1199 [432–469], 434 px 768–1024 [415–454], ~412 px phones
   [404–440]), heading blurred until the cards arrive */
html body .sr-defer .sr-skel .jet-woo-products__inner-box{ min-height:412px; }
@media (min-width:768px) and (max-width:1024px){ html body .sr-defer .sr-skel .jet-woo-products__inner-box{ min-height:432px; } }
@media (min-width:1025px) and (max-width:1199px){ html body .sr-defer .sr-skel .jet-woo-products__inner-box{ min-height:450px; } }
@media (min-width:1200px){ html body .sr-defer .sr-skel .jet-woo-products__inner-box{ min-height:454px; } }
.sr-skel .sr-skel-b{ display:block; flex:0 0 auto; border-radius:2px; background-color:#eef1f5; background-image:linear-gradient(90deg, #eef1f5 0%, #f8f9fb 45%, #eef1f5 90%); background-size:300% 100%; animation:sr-skel 1.3s ease-in-out infinite; }
.sr-skel .sr-skel-img{ height:150px; margin:0 0 12px; }
.sr-skel .sr-skel-l1{ height:10px; width:46%; margin:0 0 9px; }
.sr-skel .sr-skel-l2{ height:10px; width:64%; margin:0 0 12px; }
.sr-skel .sr-skel-l3{ height:13px; width:96%; margin:0 0 7px; }
.sr-skel .sr-skel-l4{ height:13px; width:70%; margin:0 0 14px; }
.sr-skel .sr-skel-pr{ height:18px; width:44%; margin:0 0 8px; }
.sr-skel .sr-skel-btn{ height:38px; width:100%; margin-top:auto; }
@media (max-width:767px){ .sr-skel .sr-skel-img{ height:120px; } }
@keyframes sr-skel{ 0%{ background-position:100% 0; } 100%{ background-position:0 0; } }
.elementor-66562 .elementor-widget-heading .elementor-heading-title{ transition:filter .35s ease, opacity .35s ease; }
.elementor-66562 .elementor-widget-heading:has(+ .sr-defer) .elementor-heading-title{ filter:blur(4px); opacity:.55; }
.sr-defer-in{ animation:sr-defer-in .35s ease both; }
@keyframes sr-defer-in{ from{ opacity:0; } to{ opacity:1; } }
@media (prefers-reduced-motion:reduce){ .sr-skel .sr-skel-b, .sr-defer-in{ animation:none !important; } .elementor-66562 .elementor-widget-heading .elementor-heading-title{ transition:none; } }
/* archive cards: spacing comes from the elements below, not from the column gap */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget-wrap{ gap:0 !important; row-gap:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget-jet-woo-builder-archive-product-thumbnail{ margin:0 auto 10px !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget{ text-align:left !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget-jet-woo-builder-archive-product-thumbnail{ text-align:center !important; }
/* 2.25.1 — photos sit whole in the box on every browser (Josh 9/29, iPhone: tall suppressor photos showed as zoomed-in close-ups).
   The box relied on max-height:100% inside an aspect-ratio:1/1 link; WebKit (every iPhone browser) does not resolve that
   percentage there, so a tall photo kept its full height — and the srcset `sizes` (45vw) makes a small 84×500 file render
   ~175px wide — and the overflow:hidden box showed only its middle. Now the photo is absolutely placed inside the square
   and object-fit:contain'ed: whole photo, same box, identical in Chrome and Safari. Same for related cards and the
   product-page stage below. */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a{ position:relative !important; display:block !important; overflow:hidden !important; padding:0 !important; height:auto !important; aspect-ratio:1 / 1; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a img{ position:absolute !important; top:8px !important; left:8px !important; width:calc(100% - 16px) !important; height:calc(100% - 16px) !important; max-width:none !important; max-height:none !important; margin:0 !important; object-fit:contain !important; }
@media (max-width:767px){ body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-widget-jet-woo-builder-archive-product-thumbnail a img{ top:4px !important; left:4px !important; width:calc(100% - 8px) !important; height:calc(100% - 8px) !important; } }
/* the stock line sits right under the price; only the button is pinned to the bottom (buttons still line up across a row) */
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget.elementor-widget-jet-woo-builder-archive-stock-status{ margin-top:0 !important; }
body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product .elementor-68487 .elementor-widget.elementor-widget-jet-woo-builder-archive-add-to-cart{ margin-top:auto !important; padding-top:10px !important; }

/* title: one font, one size, three lines, fixed box so every price starts at the same height */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-builder-archive-product-excerpt, .sr-pc-title, .jet-woo-product-title){
	display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:3 !important; overflow:hidden !important;
	font-family:var(--c-ui) !important; font-size:var(--c-title) !important; line-height:1.35 !important; font-weight:600 !important; letter-spacing:0 !important; text-transform:none !important;
	color:var(--sr-navy) !important; text-align:left !important; height:4.05em !important; min-height:0 !important; max-height:none !important; margin:0 0 6px !important; padding:0 !important;
}
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.sr-card-title-link, .jet-woo-product-title a){ display:inline !important; font:inherit !important; color:inherit !important; text-decoration:none !important; }

/* rating row: stars + score + count, then "· N sources" (own line in narrow cards, see the container query below) */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-rv{
	display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:flex-start !important; gap:2px 5px !important; margin:0 0 4px !important;
	font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.25 !important; font-weight:500 !important; color:var(--c-grey) !important; text-align:left !important;
}
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-rv .sr-card-rv-txt{ font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.25 !important; font-weight:700 !important; color:var(--sr-navy) !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-rv :is(small, .sr-card-rv-src){ font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.25 !important; font-weight:500 !important; color:var(--c-grey) !important; white-space:nowrap !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-rv .sr-card-stars{ width:66px !important; height:12px !important; flex:0 0 66px !important; background-size:66px 12px !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-rv .sr-card-stars::before{ background-size:66px 12px !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price){ container-type:inline-size; }
@container (max-width:190px){
	.sr-card-rv .sr-card-rv-src{ flex-basis:100% !important; }
	.sr-card-rv .sr-card-rv-src::before{ content:'from ' !important; margin:0 !important; }
}

/* price: the same size for regular and sale prices; sale red with the old price small and struck on the same line */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-builder-archive-product-price, .jet-woo-product-price, .jet-woo-product-price .price, .sr-pc-price){
	font-family:var(--c-ui) !important; font-size:var(--c-price) !important; line-height:1.25 !important; font-weight:700 !important; color:var(--sr-navy) !important; text-align:left !important; margin:0 !important;
}
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) .woocommerce-Price-amount{ font-family:var(--c-ui) !important; font-size:var(--c-price) !important; line-height:1.25 !important; font-weight:700 !important; color:var(--sr-navy) !important; white-space:nowrap; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) .woocommerce-Price-currencySymbol{ font-family:inherit !important; font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important; color:inherit !important; vertical-align:baseline !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-msrp{ display:inline-flex !important; flex-wrap:wrap !important; align-items:baseline !important; justify-content:flex-start !important; gap:0 6px !important; font-size:var(--c-price) !important; line-height:1.25 !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) del,
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) del .woocommerce-Price-amount{ font-size:var(--c-old) !important; line-height:1.25 !important; font-weight:500 !important; color:var(--c-grey) !important; text-decoration:line-through !important; margin-right:0 !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) ins,
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) ins .woocommerce-Price-amount{ font-size:var(--c-price) !important; line-height:1.25 !important; font-weight:700 !important; color:var(--c-red) !important; text-decoration:none !important; background:none !important; }
/* save + member lines: one step down, full-width lines under the price */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) :is(.sr-msrp-save, .sr-card-save){ display:block !important; margin:2px 0 0 !important; font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.3 !important; font-weight:700 !important; color:var(--sr-instock) !important; text-align:left !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) :is(.sr-msrp-save, .sr-card-save) .woocommerce-Price-amount{ font-size:inherit !important; line-height:inherit !important; font-weight:inherit !important; color:inherit !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) .sr-card-member{ display:block !important; margin:3px 0 0 !important; font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.3 !important; font-weight:600 !important; color:var(--sr-navy2) !important; text-align:left !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.jet-woo-product-price, .sr-pc-price) .sr-card-member .woocommerce-Price-amount{ font-size:inherit !important; line-height:inherit !important; font-weight:800 !important; color:inherit !important; }

/* stock / shipping line + badges */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.sr-card-stock, .sr-pc-ship){ font-family:var(--c-ui) !important; font-size:var(--c-meta) !important; line-height:1.3 !important; font-weight:600 !important; text-align:left !important; margin:8px 0 0 !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-in{ color:var(--sr-instock) !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-low{ color:var(--c-low) !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-oos,
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-pc-ship{ color:var(--c-grey) !important; }
html body li.sr-pc .sr-pc-link{ padding-bottom:10px !important; } /* same 10px above the button as the other cards */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-card-badges{ justify-content:flex-start !important; margin:6px 0 0 !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) .sr-badge{ font-family:var(--c-ui) !important; font-size:10.5px !important; }

/* button: one gold button, same height, radius and type everywhere.
   2.25.2: the in-stock "Add to cart" is a <button> inside form.cart (only "Notify me" / "Select options" are links), so the
   rule names button.button too; appearance:none drops the native button look on iOS. */
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(a.button, button.button, .sr-pc-btn){
	display:flex !important; align-items:center !important; justify-content:center !important; gap:6px; width:100% !important; min-width:0 !important; min-height:var(--c-btn-h) !important; height:auto !important; box-sizing:border-box !important;
	padding:8px 10px !important; margin:0 !important; border:0 !important; border-radius:2px !important; background:var(--sr-cta) !important; color:var(--sr-navy) !important; box-shadow:none !important; -webkit-appearance:none !important; appearance:none !important; cursor:pointer;
	font-family:var(--sr-ff-label) !important; font-size:var(--c-btn) !important; line-height:1.2 !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important; text-align:center !important; text-decoration:none !important; /* 2.33.0: square capitals */
}
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(a.button, button.button, .sr-pc-btn) *{ font:inherit !important; color:inherit !important; }
:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) form.cart{ display:block !important; width:100% !important; margin:0 !important; padding:0 !important; }

/* hover only where there is a mouse: on phones a tap left the card lifted and its title underlined */
@media (hover:hover){
	:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(a.button, button.button, .sr-pc-btn):hover{ background:var(--sr-ink) !important; color:#fff !important; }
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product:hover .sr-card-title-link,
	html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box .jet-woo-product-title a:hover{ text-decoration:underline !important; }
	html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box.jet-woo-products__inner-box:hover{ border-color:#b9c3d3 !important; box-shadow:0 10px 26px rgba(16,26,51,.10) !important; }
}
@media (hover:none){
	body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product.product:hover,
	html body li.sr-pc.sr-pc:hover{ transform:none !important; box-shadow:none !important; border-color:#dfe5ee !important; }
	:is(body .elementor-element-8332bc1 div.jet-woo-products-wrapper ul.products.columns-4 > li.product, html body li.sr-pc, html body .elementor-66562 .elementor-element-e191728 .jet-woo-products__inner-box) :is(.sr-card-title-link, .jet-woo-product-title a):hover{ text-decoration:none !important; }
}

/* ---- product page photo: a fixed 5:4 stage (GrabAGun 800×656 desktop / 355×290 phone, Brownells 809×656), the photo
   contained in it — was a 520px-tall box at every width (the single-product template's own CSS), so a phone showed a
   273px-wide, 520px-tall frame and a tall suppressor photo ran down the whole screen ---- */
.elementor-66562 .elementor-element.elementor-element-e2a5c14 .woocommerce-product-gallery__image{ position:relative !important; aspect-ratio:5 / 4; min-height:0 !important; max-height:min(560px, 64vh); display:block !important; overflow:hidden; background:#fff; }
.elementor-66562 .elementor-element.elementor-element-e2a5c14 .woocommerce-product-gallery__image > a{ position:absolute !important; top:0 !important; right:0 !important; bottom:0 !important; left:0 !important; display:block !important; width:auto !important; height:auto !important; min-height:0 !important; }
.elementor-66562 .elementor-element.elementor-element-e2a5c14 .woocommerce-product-gallery__image img:not(.zoomImg){ position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; margin:0 !important; object-fit:contain !important; }
/* 2.25.9: every photo behaves the same — hover magnifies in place (mouse only), click / the round button opens one viewer */
/* 2.25.10: no position rule on the gallery itself — Blocksy's "sticky gallery" makes it position:sticky with top:180px
   (212px with the toolbar); 2.25.9 forced position:relative here, which turned that top into a permanent 180px drop
   (photo over the tabs and description on desktop — Josh 10/1). The theme already positions it, so the button and lens
   anchor to it as they are. */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image{ cursor:zoom-in; }
/* 2.33.12 (Josh 10/3, Colt Commander: "in the bottom left it zooms in the image and cuts it off"): the photo stays whole under
   the mouse now. A light frame on the photo marks the area being magnified and the close-up opens in a panel beside it (over
   the product details, gone the moment the mouse leaves the photo) — 2.25.9 filled the photo's own box with a 2-3x crop. */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image .sr-zoom-lens{ position:absolute; top:0; left:0; z-index:4; box-sizing:border-box; width:0; height:0; pointer-events:none; opacity:0; border:1px solid rgba(16,26,51,.6); background:rgba(255,255,255,.28); box-shadow:inset 0 0 0 1px rgba(255,255,255,.75); transition:opacity .12s ease; will-change:transform; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image.sr-zooming .sr-zoom-lens{ opacity:1; }
.sr-zoom-pane{ position:fixed; top:0; left:0; z-index:1000; box-sizing:border-box; pointer-events:none; opacity:0; visibility:hidden; background:#fff no-repeat; border:1px solid #dfe5ee; border-radius:2px; box-shadow:0 22px 48px -16px rgba(16,26,51,.35); transition:opacity .12s ease, visibility 0s linear .12s; }
.sr-zoom-pane.sr-on{ opacity:1; visibility:visible; transition:opacity .12s ease; }
.single-product .woocommerce-product-gallery .sr-gal-open{ position:absolute; top:10px; right:10px; z-index:9; width:38px; height:38px; min-height:0; padding:0; margin:0; border-radius:50%; border:1px solid #dfe5ee; background:#fff; color:var(--sr-navy, #101a33); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 2px 8px rgba(16,26,51,.12); line-height:1; }
.single-product .woocommerce-product-gallery .sr-gal-open:hover, .single-product .woocommerce-product-gallery .sr-gal-open:focus-visible{ background:#f2f5fa; outline:2px solid var(--sr-navy, #101a33); outline-offset:1px; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{ display:none !important; }
.pswp{ z-index:100000 !important; } /* the viewer sits over everything, the WordPress toolbar included (its close button was under it for staff) */
.pswp.pswp--open .pswp__bg{ opacity:.92 !important; } /* a dark backdrop: one clear layer (was .7, the page showed through) */
/* 2.25.9: store credit rows (cart / checkout totals) and the account-page box */
.sr-credit-row th, .sr-credit-row td{ vertical-align:top; }
.sr-credit-row .sr-credit-why, .sr-credit-row.sr-credit-ship td small{ display:block; margin-top:4px; font-size:12px; line-height:1.45; font-weight:400; color:#5b6577; }
.sr-credit-row.sr-credit-ship td{ padding-top:0; }
/* 2.26.0: employee pricing tag on cart lines */
.sr-emp-tag{ display:block; margin-top:2px; font-size:12px; line-height:1.4; font-weight:500; color:#5b6577; }
.sr-credit-box{ margin:0 0 18px; padding:14px 16px; border:1px solid #dfe5ee; border-radius:10px; background:#f7f9fc; }
.sr-credit-box h3{ margin:0 0 6px; font-size:16px; }
.sr-credit-box ul{ margin:0 0 6px 18px; }
.sr-credit-box code{ font-size:14px; letter-spacing:.04em; }
@media (max-width:767px){
	/* phones: the page gets a 16px gutter like the category pages (was 43px of theme card margin + padding, then 15px of
	   column padding — the photo and text used 273 of 390px) */
	.single-product main article{ width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; padding-left:16px !important; padding-right:16px !important; border-radius:0 !important; }
	.elementor-66562 > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap{ padding-left:0 !important; padding-right:0 !important; }
	.sr-crumb{ padding:0 !important; }
	.elementor-66562 .elementor-element.elementor-element-0692acd{ padding-top:14px !important; } /* was 56px between the breadcrumb and the photo */
	.elementor-66562 .elementor-element.elementor-element-e2a5c14{ margin-bottom:6px !important; }
	.elementor-66562 .elementor-element.elementor-element-e2a5c14, .elementor-66562 .elementor-element.elementor-element-e2a5c14 .woocommerce-product-gallery{ max-width:100% !important; }
	.elementor-66562 .elementor-element.elementor-element-e2a5c14 .jet-single-images__wrap .woocommerce-product-gallery > .flex-viewport,
	.elementor-66562 .elementor-element.elementor-element-e2a5c14 .jet-single-images__wrap .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper{ margin:0 0 10px !important; }
}
@media (min-width:768px) and (max-width:1024px){
	/* tablets: the photo column was 230 of 768px (photo 180px wide) inside 66px page margins — half and half, 24px gutter */
	.single-product main article{ width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; padding-left:24px !important; padding-right:24px !important; }
	.elementor-66562 .elementor-element-0692acd .elementor-element-dad6534, .elementor-66562 .elementor-element-0692acd .elementor-element-6ebdd6a{ width:50% !important; }
	.elementor-66562 .elementor-element.elementor-element-e2a5c14, .elementor-66562 .elementor-element.elementor-element-e2a5c14 .woocommerce-product-gallery{ max-width:100% !important; }
}
/* 2.25.3 (Josh 9/29: "since you made the logo smaller … the spacing is off on the shop pages, can we shorten that down"):
   the white-to-navy band behind the transparent header on shop / category / brand / search pages (template 66576,
   container 16f2b670) is held open by two Elementor spacers (122 + 10 px) sized for the 130 px desktop logo row, so on
   phones - 96 px header row since 2.13.7 - it left 76 px of empty navy under the logo. Phones: band = header row + a
   20 px navy edge (116 px), the gradient still drawn at its old 172 px size so the logo and icons sit on exactly the
   same shade as before; the space above the title and above Filter / Sort tightened to match (products start ~95 px
   higher at 390). Tablet and desktop keep the 130 px row + 42 px edge. */
@media (max-width:767px){
	.elementor-66576 .elementor-element-16f2b670{ min-height:0 !important; height:116px !important; background-size:100% 172px !important; background-repeat:no-repeat !important; background-position:0 0 !important; background-color:#030c20 !important; }
	.elementor-66576 .elementor-element-16f2b670 > .e-con-inner{ display:none !important; } /* the two spacer widgets */
	.elementor-66576 .elementor-element-5ce661b0.e-con{ padding:20px 16px 0 !important; }
	.elementor-66576 .elementor-element-5ce661b0 > .e-con-inner{ padding-top:0 !important; padding-bottom:0 !important; }
	.elementor-66576 .elementor-element-4123aa9.elementor-section{ margin-top:0 !important; padding-top:18px !important; }
}
/* 2.25.5 (Noah via Josh 9/29: "three different sections, today's deals, shop by category, and new arrivals is a touch overwhelming
   on the home page on mobile"). Phones only: the product rows scroll sideways (one row each, the next card peeking - the
   Amazon / Walmart / GrabAGun pattern) instead of stacking 2 x 2, the eight category tiles sit four across without the item
   counts (categories stay high: Baymard - the homepage has to show what the store sells), and New arrivals moves below the
   membership and suppressor bands. Page 5,270 -> ~4,140 px tall at 390. Tablet and desktop unchanged. */
@media (max-width:767px){
	.elementor-77797{ display:flex; flex-direction:column; }
	.elementor-77797 > .elementor-element-46a176ca ~ *{ order:3; }
	.elementor-77797 > .elementor-element-264616e4{ order:1; } /* suppressors band up */
	.elementor-77797 > .elementor-element-46a176ca{ order:2; } /* New arrivals below it */
	.elementor-77797 .sr-pc-grid{ display:flex !important; gap:10px !important; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:2px 13px 10px !important; margin:0 -13px !important; scroll-padding-left:13px; }
	.elementor-77797 .sr-pc-grid::-webkit-scrollbar{ display:none; }
	.elementor-77797 .sr-pc-grid > .sr-pc{ flex:0 0 44%; min-width:0; scroll-snap-align:start; }
	.elementor-77797 .sr-pc-grid .sr-pc:nth-child(n+5){ display:flex !important; }
	.elementor-77797 .sr-tiles{ grid-template-columns:repeat(4,1fr) !important; gap:8px !important; }
	.elementor-77797 .sr-tile{ padding:10px 4px 9px !important; border-radius:10px; }
	.elementor-77797 .sr-tile-img{ height:52px !important; margin-bottom:6px !important; }
	.elementor-77797 .sr-tile-name{ font-size:12.5px !important; line-height:1.2; }
	.elementor-77797 .sr-tile-meta{ display:none !important; }
}