/** Shopify CDN: Minification failed

Line 132:0 Unexpected "@media"

**/
/* Gun PDP styles. Generated from gun-pdp-newstyle/assets/css/gun.css by
   build_theme.py on 15 Sep 2026. Loaded only by the gun snippets, after
   nbn-site.css, so the gun-specific overrides win on these pages only.
   Plain .css on purpose, never .css.liquid: a pushed .css.liquid serves the
   old body under a fresh ?v= and the change looks like it did not land. */
.nbn-gun /* ------------------------------------------------------------------ gun pages
   Layered on site.css. Two things differ from a sealant page.

   1. The product is wide and low where a cartridge is tall and narrow, so the
      turntable box is width-driven with its own aspect ratio, the shell is
      wider, and the centre column takes most of it.
   2. Each gun carries its own brand colour: Octogun red or Newborn blue, both
      taken from site.css's own values (#c8102e, #003087) rather than invented.
      Every accented rule below reads --gc, which each page sets on <html>.
--------------------------------------------------------------------------- */

:root{ --gc: #c8102e; --gc-tint: rgba(200, 16, 46, 0.06); }.nbn-gun /* --------------------------------------------------------------- hero layout */
.nbn-pq{ max-width: 1460px; padding-top: 34px; }.nbn-gun .nbn-pq-grid{ grid-template-columns: 0.78fr 2.05fr 0.78fr; gap: 34px; }@media (max-width: 1240px){.nbn-gun .nbn-pq-grid{ grid-template-columns: 1fr 1fr; }.nbn-gun .nbn-pq-media{ grid-column: 1 / -1; order: -1; }
}@media (max-width: 760px){.nbn-gun .nbn-pq-grid{ grid-template-columns: 1fr; } }.nbn-gun /* A compact index instead of the accordions that used to sit here. Those four
   panels each duplicated a full section further down the page, and stacking
   them made the right column so tall that centring the media against the row
   pushed the gun below the fold. */
.nbn-jump{ border: 1px solid var(--rule); padding: 16px 18px; }.nbn-gun .nbn-jump h4{ margin: 0 0 4px; font-size: 13px; letter-spacing: 1.3px;
  text-transform: uppercase; color: var(--faint); }.nbn-gun .nbn-jump ol{ list-style: none; margin: 8px 0 0; padding: 0; counter-reset: j; }.nbn-gun .nbn-jump li{ border-top: 1px solid var(--rule); }.nbn-gun .nbn-jump li:first-child{ border-top: 0; }.nbn-gun .nbn-jump a{ display: block; padding: 9px 0; font-size: 13.5px; color: var(--ink);
  text-decoration: none; }.nbn-gun .nbn-jump a:hover{ color: var(--gc); }.nbn-gun /* Drop the turntable into the middle of the hero row. site.css top-aligns the
   media column, which is right for a tall cartridge that fills the row but
   leaves a wide, low gun stranded at the top with a large gap beneath it. The
   gap is layout, not padding: measured, the hero frame already sits roughly
   centred inside its own box (15 percent above, 19 percent below) and about
   half the 36 frames reach into that lower space once it rotates, so the box
   itself cannot be cropped any tighter. */
.nbn-pq-media{ align-self: center; }.nbn-gun .nbn-pq-media .nbn-spin{
  max-width: none; width: 100%; height: auto;
  aspect-ratio: var(--ar, 4 / 3); margin: 0 auto;
}.nbn-gun .nbn-pq-media .nbn-spin img{ width: 100%; height: auto; max-height: none; margin: 0; }.nbn-gun /* site.css paints a live contact shadow off --cyl once the canvas is up. That
   is a cylinder standing on a surface; a gun has no standing line and the
   derived ellipse spans the whole frame. */
.nbn-pq-media .nbn-spin.is-spinnable::before, .nbn-gun .nbn-pq-media .nbn-spin.is-spinnable::after{ display: none; }.nbn-gun .nbn-pq-media .nbn-spin-hint{ margin-top: 2px; }.nbn-gun /* ------------------------------------------------------------------- accents */
.nbn-gun-eyebrow{
  display: inline-block; font-size: 11px; letter-spacing: 1.6px;
  text-transform: uppercase; font-weight: 700; color: var(--gc);
  border-bottom: 2px solid var(--gc); padding-bottom: 5px; margin-bottom: 16px;
}.nbn-gun .nbn-pq-buy h1{ margin-bottom: 10px; }.nbn-gun .nbn-pq-chem{ color: var(--gc); font-weight: 600; }.nbn-gun .nbn-pq-add{ background: var(--gc); }.nbn-gun .nbn-pq-add:hover{ background: var(--ink-deep); }.nbn-gun .nbn-pq-badges .nbn-pq-badge{ border-top: 2px solid var(--gc); }.nbn-gun .nbn-pq-acc > summary{ cursor: pointer; }.nbn-gun .nbn-pq-acc[open] > summary{ color: var(--gc); }.nbn-gun .nbn-hero-note{ border-left: 3px solid var(--gc); }.nbn-gun .nbn-gauge-scale li.is-on{ box-shadow: inset 0 0 0 2px var(--gc); }.nbn-gun .nbn-gauge-value{ color: var(--gc); }.nbn-gun .nbn-cta-section{ background: var(--gc); }.nbn-gun .nbn-cta-section .nbn-cta-button{ background: #fff; color: var(--gc); }.nbn-gun .nbn-cta-section .nbn-cta-button:hover{ background: var(--ink-deep); color: #fff; }.nbn-gun /* the second, switchable ratio on the 360-DT, marked on the same scale rather
   than given a second gauge, because it is one gun with a switch */
.nbn-gauge-scale li.is-mark{ outline: 2px solid var(--ink-deep); outline-offset: -2px; }.nbn-gun .nbn-gauge-scale li.is-mark span{ font-weight: 700; color: var(--ink-deep); }.nbn-gun /* --------------------------------------------------- at-a-glance strip */
.nbn-gs-band{ border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  background: var(--gc-tint); }.nbn-gun .nbn-gs-band .nbn-inner{ display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; background: var(--rule); }.nbn-gun .nbn-gs-cell{ background: #fff; padding: 22px 18px; }.nbn-gun .nbn-gs-k{ display: block; font-size: 11px; letter-spacing: 1.4px;
  text-transform: uppercase; color: var(--faint); margin-bottom: 8px; }.nbn-gun .nbn-gs-v{ display: block; font-size: 22px; font-weight: 600; line-height: 1.15;
  color: var(--gc); }.nbn-gun /* ------------------------------------------------------- the side bundle kit */
.nbn-kit{ border: 1px solid var(--rule); border-top: 3px solid var(--gc);
  padding: 18px; margin-bottom: 22px; }.nbn-gun .nbn-kit__k{ display: block; font-size: 11px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--gc); font-weight: 700; margin-bottom: 6px; }.nbn-gun .nbn-kit__t{ display: block; font-size: 17px; font-weight: 600; line-height: 1.25;
  margin-bottom: 10px; }.nbn-gun .nbn-kit__d{ font-size: 13.5px; line-height: 1.6; color: var(--muted); margin: 0 0 14px; }.nbn-gun .nbn-kit__items{ list-style: none; margin: 0 0 14px; padding: 0; }.nbn-gun .nbn-kit__items li{ display: flex; align-items: center; gap: 10px;
  padding: 8px 0; border-top: 1px solid var(--rule); font-size: 13.5px; }.nbn-gun .nbn-kit__items img{ width: 44px; height: 44px; object-fit: contain; flex: none;
  background: #fff; }.nbn-gun .nbn-kit__items b{ font-weight: 500; flex: 1; }.nbn-gun .nbn-kit__items span{ color: var(--faint); font-variant-numeric: tabular-nums; }.nbn-gun .nbn-kit__tot{ display: flex; justify-content: space-between; align-items: baseline;
  border-top: 2px solid var(--ink-deep); padding-top: 10px; font-weight: 600; }.nbn-gun .nbn-kit__tot b{ font-size: 19px; color: var(--gc); }.nbn-gun .nbn-kit__note{ font-size: 11.5px; line-height: 1.55; color: var(--faint);
  margin: 10px 0 0; }.nbn-gun /* Both an <a> and a <button>. The mock pages link to the collection, the theme
   build renders a button that adds the whole kit to the cart, and the two have
   to be indistinguishable. width/border/font-family are what a button needs to
   stop looking like a form control. */
.nbn-kit__go{ display: block; width: 100%; text-align: center; margin-top: 12px;
  padding: 11px; border: 0; background: var(--ink-deep); color: #fff;
  text-decoration: none; font-family: inherit; font-size: 13px;
  letter-spacing: 0.6px; font-weight: 600; cursor: pointer; }.nbn-gun .nbn-kit__go[disabled]{ opacity: 0.6; cursor: default; }.nbn-gun .nbn-kit__go:hover{ background: var(--gc); }.nbn-gun /* free-goods ladder */
.nbn-ladder{ border: 1px solid var(--rule); padding: 16px 18px; margin-bottom: 22px; }.nbn-gun .nbn-ladder h4{ margin: 0 0 4px; font-size: 13px; letter-spacing: 1.3px;
  text-transform: uppercase; color: var(--faint); }.nbn-gun .nbn-ladder ol{ list-style: none; margin: 10px 0 0; padding: 0; }.nbn-gun .nbn-ladder li{ display: flex; gap: 10px; align-items: baseline; padding: 7px 0;
  border-top: 1px solid var(--rule); font-size: 13.5px; }.nbn-gun .nbn-ladder li:first-child{ border-top: 0; }.nbn-gun .nbn-ladder em{ font-style: normal; color: var(--gc); font-weight: 700;
  font-variant-numeric: tabular-nums; flex: none; min-width: 52px; }.nbn-gun /* ------------------------------------------------------ full-bleed accent band */
.nbn-band{ background: var(--gc); color: #fff; padding: 64px 0; margin: 0; }.nbn-gun .nbn-band .nbn-inner{ max-width: var(--shell); margin: 0 auto; padding: 0 var(--gut); }.nbn-gun .nbn-band h2{ color: #fff; margin-bottom: 14px; }.nbn-gun .nbn-band p{ color: rgba(255, 255, 255, 0.9); }.nbn-gun .nbn-band .nbn-section-intro{ color: rgba(255, 255, 255, 0.78); }.nbn-gun .nbn-band-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  margin-top: 30px; }.nbn-gun .nbn-band-grid ul{ list-style: none; margin: 10px 0 0; padding: 0; }.nbn-gun .nbn-band-grid li{ padding: 9px 0; border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff; }.nbn-gun .nbn-band h3{ color: #fff; font-size: 15px; letter-spacing: 1.3px;
  text-transform: uppercase; margin: 0; }@media (max-width: 760px){.nbn-gun .nbn-band-grid{ grid-template-columns: 1fr; } }.nbn-gun /* --------------------------------------------------------- comparison table */
.nbn-cmp{ width: 100%; border-collapse: collapse; margin-top: 26px; font-size: 14.5px; }.nbn-gun .nbn-cmp th, .nbn-gun .nbn-cmp td{ text-align: left; padding: 14px 16px;
  border-bottom: 1px solid var(--rule); }.nbn-gun .nbn-cmp thead th{ font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase;
  color: var(--faint); border-bottom: 2px solid var(--ink-deep); }.nbn-gun .nbn-cmp tbody th{ font-weight: 500; color: var(--muted); width: 26%; }.nbn-gun .nbn-cmp .is-this{ background: var(--gc-tint); }.nbn-gun .nbn-cmp thead .is-this{ color: var(--gc); font-weight: 700; }.nbn-gun .nbn-cmp-wrap{ overflow-x: auto; }.nbn-gun /* -------------------------------------------------------------- gun picker */
.nbn-gp-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }.nbn-gun .nbn-gp-card{ display: block; text-decoration: none; color: inherit;
  border: 1px solid var(--rule); padding: 20px; transition: border-color 0.2s; }.nbn-gun /* the three heroes have different aspect ratios, so give them one box and
   contain inside it or the card text lands at three different heights */
.nbn-gp-card img{ width: 100%; aspect-ratio: 5 / 3; object-fit: contain;
  display: block; margin-bottom: 14px; }.nbn-gun .nbn-gp-card b{ display: block; font-size: 18px; margin-bottom: 4px; }.nbn-gun .nbn-gp-card span{ color: var(--muted); font-size: 14px; }.nbn-gun .nbn-gp-card:hover{ border-color: var(--gc); }.nbn-gun .nbn-gp-card[aria-current="page"]{ border-color: var(--gc); border-top-width: 3px; }@media (max-width: 760px){.nbn-gun .nbn-gp-grid{ grid-template-columns: 1fr; } }.nbn-gun /* Three tubes standing in the band instead of a bulleted list of names. The five
   cutouts share one 774x1857 canvas, one baseline and one cylinder scale, so any
   subset lines up for free PROVIDED they are sized by height, never width. Their
   ink sits at x130-643 of that canvas, so each carries about 17 percent
   transparent padding a side; the negative margin pulls that back out so the
   three read as a line-up rather than three widely spaced tubes. */
.nbn-band-tubes{ display: flex; align-items: flex-end; justify-content: flex-start;
  gap: 26px; margin: 18px 0 0; }.nbn-gun .nbn-band-tubes figure{ margin: 0; text-align: center; }.nbn-gun .nbn-band-tubes img{ height: 330px; width: auto; display: block; }.nbn-gun .nbn-band-tubes figcaption{ margin-top: 10px; font-size: 12px; letter-spacing: 1.1px;
  text-transform: uppercase; color: rgba(255, 255, 255, 0.92); }.nbn-gun .nbn-band-more{ margin-top: 20px; font-size: 14px;
  color: rgba(255, 255, 255, 0.78); }@media (max-width: 620px){.nbn-gun .nbn-band-tubes{ gap: 14px; }.nbn-gun .nbn-band-tubes img{ height: 230px; } }.nbn-gun /* ---------------------------------------------------------------- 15 Sep 2026
   Styles for the blocks ported over from the live product page: the subtitle,
   the deals module under the price, the free shipping line, the full feature
   list, the live technical specification table, the mechanism explainer, the
   reviews slot and the project bundles. Written to sit inside the existing
   gun.css scale rather than introduce a second one. */
.nbn-pq-subtitle{font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gc);font-weight:600;margin:-6px 0 10px}.nbn-gun .nbn-pq-ship{font-size:13px;color:#57534E;margin:10px 0 0}.nbn-gun .nbn-pq-deals{border:1px solid #E7E5E4;background:#FAFAF9;padding:14px 16px;margin:16px 0 4px}.nbn-gun .nbn-pq-deals h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gc);margin:0 0 9px}.nbn-gun .nbn-pq-deals ul{list-style:none;margin:0;padding:0}.nbn-gun .nbn-pq-deals li{display:flex;gap:10px;align-items:baseline;padding:4px 0;font-size:13.5px}.nbn-gun .nbn-pq-deals li strong{color:var(--gc);font-weight:700;min-width:44px}.nbn-gun .nbn-pq-deals__how{color:#78716C;font-size:12px;border-top:1px solid #E7E5E4;
  margin-top:7px;padding-top:8px}.nbn-gun .nbn-tool-tiles{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:10px;margin:22px 0 0;padding:0}.nbn-gun .nbn-tool-tiles li{border:1px solid #E7E5E4;padding:13px 15px;font-size:12px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:#1C1917;background:#fff}.nbn-gun .nbn-tspec-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:34px;margin-top:24px}.nbn-gun .nbn-tspec-group h3{font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gc);border-bottom:2px solid var(--gc);padding-bottom:7px;margin:0 0 4px}.nbn-gun .nbn-tspec-group dl{margin:0}.nbn-gun .nbn-tspec{display:flex;justify-content:space-between;gap:18px;padding:10px 0;
  border-bottom:1px solid #EFEDEC;font-size:14px}.nbn-gun .nbn-tspec dt{color:#78716C}.nbn-gun .nbn-tspec dd{margin:0;font-weight:600;text-align:right;color:#1C1917}.nbn-gun .nbn-tspec-gap{margin-top:22px;padding:13px 16px;background:#FFF8E8;border-left:3px solid #E8A33D;
  font-size:13px;color:#57534E}.nbn-gun .nbn-mechanism{background:var(--gc-tint)}.nbn-gun .nbn-mechanism-body{margin-top:18px;max-width:64ch}.nbn-gun .nbn-mechanism-body p{font-size:15.5px;line-height:1.65;margin:0 0 13px;color:#1C1917}.nbn-gun .nbn-mechanism-body p:last-child{margin-bottom:0}.nbn-gun .nbn-reviews-eyebrow, .nbn-gun .nbn-bundles-eyebrow{display:inline-block;font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gc);margin-bottom:6px}.nbn-gun .nbn-bundle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:12px;margin-top:24px}.nbn-gun .nbn-bundle-card{display:block;border:1px solid #E7E5E4;padding:26px 20px;text-decoration:none;
  font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#1C1917;background:#fff;transition:border-color .2s,color .2s}.nbn-gun .nbn-bundle-card:hover{border-color:var(--gc);color:var(--gc)}@media(max-width:700px){.nbn-gun .nbn-tspec-groups{gap:26px}.nbn-gun .nbn-tool-tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}.nbn-gun /* 15 Sep 2026, mobile overflow. Every gun page scrolled sideways at 375px: the
   document measured 423px against a 375px viewport, on the device most of this
   traffic uses. Pre-existing, not introduced by the content port.

   Root cause is in the shared site.css, not here. Its @media (max-width: 768px)
   block gives the header nav a deliberate edge-to-edge bleed:

       nav { margin: 0 calc(var(--gut) * -1); width: calc(100% + var(--gut) * 2); }

   but the selector is the bare element `nav`, and the breadcrumb is also a
   <nav>. So the breadcrumb inherited the bleed, came out 375 + 48 = 423px wide,
   and its right edge pushed the whole document out. The header itself was fine.

   Fixed here rather than in site.css because that file is shared with the
   sealant-line mockups; the same bug is in them and wants the same fix applied
   once, at source, when someone is in there. The header nav bleed is left alone,
   it is intentional and it works. */
@media (max-width: 768px){.nbn-gun .nbn-crumbs{
    width: auto;
    margin-left: auto;
    margin-right: auto;
    overflow-x: visible;
    flex-wrap: wrap;
    gap: 0;
  }
}
