.elementor-4402 .elementor-element.elementor-element-fbf3841{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4402 .elementor-element.elementor-element-7da0e1b9{--display:flex;}.elementor-4402 .elementor-element.elementor-element-6b1aa962{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4402 .elementor-element.elementor-element-70c91b75{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4402 .elementor-element.elementor-element-154fd5ff{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4402 .elementor-element.elementor-element-4c7c1458{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4402 .elementor-element.elementor-element-28225d88{--display:flex;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4402 .elementor-element.elementor-element-2d426fa8 .cart button, .elementor-4402 .elementor-element.elementor-element-2d426fa8 .cart .button{transition:all 0.2s;}.elementor-4402 .elementor-element.elementor-element-2d426fa8 .quantity .qty{transition:all 0.2s;}.elementor-4402 .elementor-element.elementor-element-2b2b0f44{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4402 .elementor-element.elementor-element-2016e2f8{--display:flex;}.elementor-4402 .elementor-element.elementor-element-35d458b .elementor-heading-title{color:var( --e-global-color-42513d0 );}.elementor-4402 .elementor-element.elementor-element-b839771{--swiper-slides-to-display:3;--swiper-slides-gap:10px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;--arrow-normal-color:var( --e-global-color-primary );}.elementor-4402 .elementor-element.elementor-element-b839771 .swiper-slide > .elementor-element{height:100%;}@media(max-width:1024px){.elementor-4402 .elementor-element.elementor-element-154fd5ff{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4402 .elementor-element.elementor-element-b839771{--swiper-slides-to-display:2;--arrow-prev-left-position:10px;--arrow-next-right-position:10px;}.elementor-4402 .elementor-element.elementor-element-b839771 > .elementor-widget-container{padding:0px 10px 0px 10px;}}@media(max-width:767px){.elementor-4402 .elementor-element.elementor-element-fbf3841{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-4402 .elementor-element.elementor-element-70c91b75{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-4402 .elementor-element.elementor-element-4c7c1458{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4402 .elementor-element.elementor-element-1077feff > .elementor-widget-container{padding:0px 24px 0px 24px;}.elementor-4402 .elementor-element.elementor-element-b839771{--swiper-slides-to-display:1;}}/* Start custom CSS for woocommerce-breadcrumb, class: .elementor-element-7d93500e */@media (max-width:560px){
  /* Two near-identical studio shots don't earn thumbnail chrome on a
     phone. Hide the strip; the main image still swipes between slides. */
  .k1 .flex-control-thumbs{display:none!important}
  .k1 .woocommerce-product-gallery{padding:14px 12px}
  .k1 .woocommerce-product-gallery .flex-viewport{margin-bottom:0}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cd03b8b *//* ############################################################
   17f — BUY BOX TRUST TRIO (About-page trio, condensed)
   HTML widget in the buy box; on non-FFL products it takes the
   slot where the FFL assurance list sits (inverse display
   conditions on the two widgets).
   ############################################################ */

.k1 .trust-trio{
  list-style:none;display:grid;gap:14px;
  margin:22px 0 0;padding:20px 0 0;
  border-top:1px solid var(--hairline);
}
.k1 .trust-trio li{
  display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;
}
.k1 .trust-trio .tico{
  width:34px;height:34px;border-radius:50%;
  background:var(--crimson);
  display:flex;align-items:center;justify-content:center;
}
.k1 .trust-trio .tico svg{width:16px;height:16px;color:#fff}
.k1 .trust-trio b{
  display:block;
  font-family:var(--font-display);font-weight:400;
  font-size:15px;letter-spacing:.01em;text-transform:uppercase;
  color:var(--bone);margin-bottom:1px;
}
.k1 .trust-trio span{font-size:13.5px;color:var(--bone-dim);line-height:1.45}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-154fd5ff *//* ============================================================
   SECTION 02 — PDP HERO  +  PURCHASE AREA
   Append to the container's Custom CSS.
   ============================================================ */

/* ------------------------------------------------------------
   HERO
   Build it in Elementor so it stays dynamic across every tagged
   product — do NOT hardcode the name in an HTML widget:

     Container  (CSS class: pdp-hero)
       Heading      -> Dynamic Tags > Product Title
       Text Editor  -> Dynamic Tags > Product Short Description
                       (or a static config line)

   Container settings: full width, min-height 320px,
   content vertical-align: center, no padding (CSS handles it).
   ------------------------------------------------------------ */

.k1 .pdp-hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding:96px 0 72px;margin-bottom:56px;
  border-bottom:1px solid var(--hairline);
  background:
    radial-gradient(1100px 640px at 74% 44%, rgba(168,148,111,.22) 0%,
                                             rgba(168,148,111,.07) 44%, transparent 72%),
    radial-gradient(760px 520px at 8% 6%,   rgba(235,231,223,.07) 0%, transparent 62%),
    radial-gradient(900px 700px at 50% 118%, rgba(179,40,45,.10) 0%, transparent 66%),
    linear-gradient(158deg,#26221E 0%,#1B1917 34%,#131211 64%,#0B0A09 100%);
}

/* grain, so the gradient does not band on 8-bit displays */
.k1 .pdp-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  mix-blend-mode:overlay;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");
}

.k1 .pdp-hero h1,
.k1 .pdp-hero .elementor-heading-title{
  font-family:var(--font-display)!important;
  font-size:clamp(34px,5vw,62px)!important;
  line-height:1.05!important;letter-spacing:-.017em!important;
  text-transform:uppercase!important;color:var(--bone)!important;
  max-width:18ch;margin:0 0 18px;
}
.k1 .pdp-hero p,
.k1 .pdp-hero .elementor-widget-text-editor{
  color:var(--bone-dim);font-size:17px;line-height:1.6;max-width:46ch;
}

@media (max-width:1024px){
  .k1 .pdp-hero{padding:64px 0 52px;margin-bottom:36px}
  .k1 .pdp-hero h1,.k1 .pdp-hero .elementor-heading-title{max-width:none}
}

/* ------------------------------------------------------------
   PURCHASE AREA

   The !important flags below are deliberate. Elementor writes
   per-element rules (.elementor-element-xxxxx .product_title)
   that outrank a plain .k1 descendant .elementor-4402 .elementor-element.elementor-element-154fd5ff. The alternative
   is setting each colour in every widget's Style tab, which
   scatters the design across a dozen panels instead of one file.
   ------------------------------------------------------------ */

/* title was rendering dark on dark */
.k1 .elementor-widget-woocommerce-product-title .product_title,
.k1 .elementor-widget-woocommerce-product-title h1,
.k1 .elementor-widget-woocommerce-product-title h2{
  color:var(--bone)!important;
  font-family:var(--font-display)!important;
  letter-spacing:-.017em!important;
  text-transform:uppercase!important;
  line-height:1.05!important;
}

/* give the buy box a body instead of floating on the background */
.k1 .pdp-buybox{
  background:linear-gradient(180deg,#201E1B 0%,#1A1917 100%);
  border:1px solid var(--hairline);
  padding:32px;
}

.k1 .elementor-widget-woocommerce-product-price .price,
.k1 .elementor-widget-woocommerce-product-price .woocommerce-Price-amount{
  color:var(--bone)!important;
  font-family:'IBM Plex Mono',monospace!important;
}

/* quantity: match the button height exactly, kill the theme's rounding */
.k1 form.cart .quantity,
.k1 form.cart .quantity input.qty{border-radius:0!important;height:56px}
.k1 form.cart .quantity input.qty{
  width:72px!important;background:var(--panel)!important;color:var(--bone)!important;
  border:1px solid var(--hairline)!important;
}
.k1 form.cart button.single_add_to_cart_button{
  min-height:56px!important;border-radius:0!important;
  background:var(--crimson)!important;color:#fff!important;
  letter-spacing:.08em!important;
}
.k1 form.cart button.single_add_to_cart_button:hover{background:#911F24!important}

/* the FFL / shipping note under the button */
.k1 .pdp-note{
  margin-top:18px;padding-top:18px;border-top:1px solid var(--hairline);
  font-size:14px;line-height:1.6;color:var(--bone-dim);max-width:58ch;
}

@media (max-width:640px){
  .k1 .pdp-buybox{padding:22px 18px}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2016e2f8 *//* ############################################################
   17c — RELATED PRODUCTS CAROUSEL (Elementor Loop Carousel)
   Add class  krel2  to the Loop Carousel widget.
   ############################################################ */

/* clip stray slides at the widget edge */
.k1 .krel2 .swiper,
.k1 .krel2 .swiper-container{overflow:hidden}

/* breathing room so card borders aren't flush to the arrows */
.k1 .krel2{position:relative}

/* ---- arrows: square ghost, matches .krel-btn ---- */
.k1 .krel2 .elementor-swiper-button{
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(19,18,17,.9);
  border:1px solid var(--hairline);
  border-radius:0;
  color:var(--bone);
  transition:border-color .18s,color .18s;
}
.k1 .krel2 .elementor-swiper-button:hover{
  border-color:var(--fde-bright);color:var(--fde-bright);
}
.k1 .krel2 .elementor-swiper-button svg{
  width:14px;height:14px;fill:currentColor;
}
.k1 .krel2 .elementor-swiper-button-prev{left:-8px}
.k1 .krel2 .elementor-swiper-button-next{right:-8px}

/* ---- pagination dots ---- */
.k1 .krel2 .swiper-pagination{margin-top:18px;position:static}
.k1 .krel2 .swiper-pagination-bullet{
  width:22px;height:2px;border-radius:0;
  background:var(--hairline);opacity:1;
  transition:background .18s;
}
.k1 .krel2 .swiper-pagination-bullet-active{background:var(--fde-bright)}

@media (max-width:640px){
  .k1 .krel2 .elementor-swiper-button{width:38px;height:38px}
}/* End custom CSS */