.elementor-4258 .elementor-element.elementor-element-369637d2{--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-4258 .elementor-element.elementor-element-eace4be{--display:flex;}.elementor-4258 .elementor-element.elementor-element-56ba91b9{--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-4258 .elementor-element.elementor-element-fc6663d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4258 .elementor-element.elementor-element-498ded27{--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-4258 .elementor-element.elementor-element-4947336d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4258 .elementor-element.elementor-element-46c3873e{--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-4258 .elementor-element.elementor-element-358f141e .cart button, .elementor-4258 .elementor-element.elementor-element-358f141e .cart .button{transition:all 0.2s;}.elementor-4258 .elementor-element.elementor-element-358f141e .quantity .qty{transition:all 0.2s;}.elementor-4258 .elementor-element.elementor-element-7b6e8653{--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-4258 .elementor-element.elementor-element-25776c7f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4258 .elementor-element.elementor-element-7d66d82{--display:flex;}@media(max-width:767px){.elementor-4258 .elementor-element.elementor-element-369637d2{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-4258 .elementor-element.elementor-element-fc6663d{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-4258 .elementor-element.elementor-element-4947336d{--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;}}/* Start custom CSS for woocommerce-breadcrumb, class: .elementor-element-7e4d41e */@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-708b344b *//* ============================================================
   SECTION 01 — GALLERY + BUY BOX
   Append to 00-pdp-styles.css in the container's Custom CSS.
   ============================================================ */

/* ------------------------------------------------------------
   GALLERY  (widget: Product Images)

   IMPORTANT: the product's gallery images are currently studio
   shots on white. On a dark template they render as bright white
   panels. CSS cannot knock a white background out of a JPEG —
   the real fix is uploading transparent PNG/WebP versions to the
   product gallery. Kratos-Rifle-no-bg-1.webp is already in the
   media library and is the right treatment.

   The stage below assumes transparent images. If any gallery
   image still has a white background it will look wrong, and
   that is a content fix, not a CSS one.
   ------------------------------------------------------------ */

.k1 .woocommerce-product-gallery{
  position:relative;padding:40px 24px;
  background:
    radial-gradient(900px 520px at 60% 40%, rgba(168,148,111,.16) 0%, transparent 70%),
    linear-gradient(160deg,#232019 0%,#171614 55%,#0F0E0D 100%);
  border:1px solid var(--hairline);
}
.k1 .woocommerce-product-gallery__image img{
  display:block;width:100%;height:auto;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.7));
}

/* zoom trigger, so it does not sit as a black blob on dark */
.k1 .woocommerce-product-gallery__trigger{
  background:rgba(19,18,17,.8);border:1px solid var(--hairline);
  color:var(--bone);border-radius:0;width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .18s ease,color .18s ease;
}
.k1 .woocommerce-product-gallery__trigger:hover{border-color:var(--fde-bright);color:var(--fde-bright)}

/* thumbnails */
.k1 .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin:10px 0 0;padding:0;list-style:none;
}
.k1 .flex-control-thumbs li{margin:0;width:auto}
.k1 .flex-control-thumbs img{
  display:block;width:100%;height:auto;padding:10px;
  background:var(--gunmetal);border:1px solid var(--hairline);
  opacity:.72;cursor:pointer;
  transition:opacity .18s ease,border-color .18s ease;
}
.k1 .flex-control-thumbs img:hover,
.k1 .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--fde-bright)}

/* ------------------------------------------------------------
   CATEGORY CHIPS  (widget: Product Meta)
   Woo prints "Categories: a, b, c" as inline links. Restyling
   the links as chips and hiding the label reads better here.
   ------------------------------------------------------------ */
.k1 .product_meta .posted_in{
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
  font-size:0;                       /* hides the "Categories:" label text */
  margin-bottom:18px;
}
.k1 .product_meta .posted_in a{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 10px;border:1px solid var(--hairline);
  color:var(--bone-dim);text-decoration:none;
  transition:border-color .18s ease,color .18s ease;
}
.k1 .product_meta .posted_in a:hover{border-color:var(--fde-bright);color:var(--fde-bright)}

/* SKU stays as a quiet line under the button */
.k1 .product_meta .sku_wrapper{display:block;font-size:12px;margin-top:4px}

/* ------------------------------------------------------------
   ASSURANCE LIST  (HTML widget, markup in 01-pdp-assurance.html)
   ------------------------------------------------------------ */
.k1 .assure{display:grid;gap:12px;margin:22px 0 0;padding-top:20px;
            border-top:1px solid var(--hairline);list-style:none}
.k1 .assure li{display:grid;grid-template-columns:18px 1fr;gap:11px;align-items:start;
               font-size:14px;color:var(--bone-dim);line-height:1.45}
.k1 .assure b{color:var(--bone);font-weight:600;display:block;font-size:14px;margin-bottom:1px}
.k1 .assure svg{width:16px;height:16px;color:var(--fde-bright);margin-top:2px;flex:0 0 auto}

/* ------------------------------------------------------------
   RESPONSIVE
   Elementor handles the column stack; these are the details it
   will not know about.
   ------------------------------------------------------------ */
@media (max-width:1024px){
  .k1 .woocommerce-product-gallery{padding:28px 18px}
}
@media (max-width:640px){
  .k1 .flex-control-thumbs{grid-template-columns:repeat(4,1fr);gap:8px}
  .k1 form.cart{flex-wrap:wrap}
  .k1 form.cart button.single_add_to_cart_button{flex:1 1 100%}
  .k1 .price,.k1 .woocommerce-Price-amount{font-size:28px}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-498ded27 *//* ============================================================
   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-4258 .elementor-element.elementor-element-498ded27. 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 html, class: .elementor-element-7ad4bae4 *//* ============================================================
   SECTION 04 — CONTENT GALLERY
   Append to the container's Custom CSS.
   ============================================================ */

.k1 .pgal{padding:72px 0}

.k1 .pgal-grid{
  display:grid;gap:14px;margin-top:36px;
  grid-template-columns:repeat(3,1fr);
}
.k1 .pgal-lead{grid-column:1 / -1}

.k1 .pgal-item{
  position:relative;display:block;overflow:hidden;
  border:1px solid var(--hairline);background:var(--gunmetal);
}
.k1 .pgal-item img{
  display:block;width:100%;height:100%;object-fit:cover;
  aspect-ratio:3/2;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.k1 .pgal-lead img{aspect-ratio:21/9}
.k1 .pgal-item:hover img{transform:scale(1.035)}

/* caption: mono tag pinned bottom-left over a local gradient */
.k1 .pgal-cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:34px 16px 14px;
  font-family:'IBM Plex Mono',monospace;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bone);
  background:linear-gradient(180deg,transparent 0%,rgba(10,10,11,.82) 100%);
  pointer-events:none;
}

.k1 .pgal-item:focus-visible{outline:2px solid var(--fde-bright);outline-offset:3px}

@media (max-width:900px){
  .k1 .pgal{padding:52px 0}
  .k1 .pgal-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .k1 .pgal-lead{grid-column:1 / -1}
}
@media (max-width:560px){
  .k1 .pgal-grid{grid-template-columns:1fr}
  .k1 .pgal-item img{aspect-ratio:16/10}
}

/* scroll reveal, same double guard as the landing page */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .k1 .pgal-item{
      opacity:0;animation:pgal-in linear both;
      animation-timeline:view();animation-range:entry 8% cover 26%;
    }
    .k1 .pgal-item:nth-child(2){animation-range:entry 8% cover 32%}
    .k1 .pgal-item:nth-child(3){animation-range:entry 8% cover 38%}
    .k1 .pgal-item:nth-child(4){animation-range:entry 8% cover 44%}
    @keyframes pgal-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  }
}/* End custom CSS */