/* Ammo SKU + manufacturer static pages.

   Layers on directory/listing-page.css (header, breadcrumb, 2fr/1fr body,
   sidebar cards, meta chips, grade/source styles) and adds only the ammo
   specifics: the projectile emblem, the energy-by-velocity bars, the catalog
   grouped by caliber, and the where-to-buy rows. */

.ammo-detail { background: var(--paper, #F4F1EA); }
.ammo-detail .listing-inner { max-width: 1140px; }

/* ===== SKU header emblem (stands in for a product photo) ===== */
.ammo-header-emblem {
  flex-shrink: 0; width: clamp(84px, 11vw, 116px); height: clamp(84px, 11vw, 116px);
  border-radius: 22px; background: linear-gradient(150deg, #fff, var(--paper, #F4F1EA));
  border: 1.5px solid var(--rule, #E2DBC9);
  box-shadow: 0 14px 34px -18px rgba(31, 37, 40, 0.3);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  color: var(--charcoal, #2D363D); position: relative;
}
.ammo-header-emblem svg { width: 38%; height: 38%; }
.ammo-header-cal { font: 800 13px var(--mono, 'JetBrains Mono', monospace); letter-spacing: 0.02em; color: var(--muted, #6E7178); }
.ammo-header-emblem.ammo-cal--slug { color: var(--orange-deep, #C84711); }
.ammo-header-emblem.ammo-cal--bigbore { background: linear-gradient(150deg, #fff, rgba(242,92,31,0.08)); color: var(--orange-deep, #C84711); }
.ammo-header-emblem.ammo-cal--bigbore .ammo-header-cal { color: var(--orange-deep, #C84711); }

.ammo-title { max-width: 22ch; }

/* section wrappers */
.ammo-sec { }
.ammo-sec-note { font: 400 13.5px/1.55 var(--body, 'DM Sans', sans-serif); color: var(--muted, #6E7178); margin: 0 0 16px; max-width: 60ch; }

/* ===== energy-by-velocity bars ===== */
.ammo-fpe-list { display: flex; flex-direction: column; gap: 9px; background: #fff; border: 1.5px solid var(--rule, #E2DBC9); border-radius: var(--r-lg, 14px); padding: 18px 20px; box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,0.06)); }
.ammo-fpe-row { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 12px; }
.ammo-fpe-vel { font: 700 12px var(--mono, 'JetBrains Mono', monospace); color: var(--muted, #6E7178); }
.ammo-fpe-bar { height: 12px; border-radius: 999px; background: var(--paper-deep, #E5DFD2); overflow: hidden; }
.ammo-fpe-fill { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--topo-sage, #5A8F3A), var(--orange, #F25C1F)); }
.ammo-fpe-val { font: 800 15px var(--display, 'Archivo', sans-serif); color: var(--charcoal, #1F2528); white-space: nowrap; }
.ammo-fpe-unit { font: 600 10px var(--mono, 'JetBrains Mono', monospace); color: var(--muted, #6E7178); }

/* hunting kv + ethics note */
.ammo-hunt-kv dd { line-height: 1.45; }
.ammo-ethics-note { font: 400 13px/1.6 var(--body, 'DM Sans', sans-serif); color: var(--muted, #6E7178); margin: 14px 0 0; padding: 14px 16px; background: rgba(200,71,17,0.05); border-left: 3px solid var(--orange, #F25C1F); border-radius: 0 10px 10px 0; }
.ammo-notes p { font: 400 14.5px/1.62 var(--body, 'DM Sans', sans-serif); color: #3f474d; margin: 0; }

/* ===== sidebar: where to buy ===== */
.ammo-wtb-card .ammo-wtb-headline { font: 900 24px var(--display, 'Archivo', sans-serif); color: var(--charcoal, #1F2528); margin-bottom: 12px; }
.ammo-wtb-pack { font: 600 12px var(--mono, 'JetBrains Mono', monospace); color: var(--muted, #6E7178); }
.ammo-wtb-row { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--rule, #E2DBC9); border-radius: 10px; text-decoration: none; margin-bottom: 7px; transition: border-color 0.14s ease, transform 0.14s ease; }
a.ammo-wtb-row:hover { border-color: var(--orange, #F25C1F); transform: translateY(-1px); }
.ammo-wtb-name { font: 700 13.5px var(--body, 'DM Sans', sans-serif); color: var(--charcoal, #1F2528); flex: 1; }
.ammo-wtb-price { font: 800 14px var(--display, 'Archivo', sans-serif); color: var(--orange-deep, #C84711); }
.ammo-wtb-row .dx-outbound-arrow { color: var(--orange, #F25C1F); flex-shrink: 0; }
.ammo-wtb-foot { font: 400 11px/1.45 var(--body, 'DM Sans', sans-serif); color: var(--muted, #6E7178); margin: 10px 0 0; }

/* run-the-numbers card */
.ammo-calc-card { border-top: 4px solid var(--topo-sage, #5A8F3A); }
.ammo-calc-card p { font: 400 13px/1.55 var(--body, 'DM Sans', sans-serif); color: #4a5258; margin: 0 0 14px; }
.ammo-calc-cta { display: flex; align-items: center; gap: 6px; font: 700 13px var(--body, 'DM Sans', sans-serif); color: var(--orange-deep, #C84711); text-decoration: none; padding: 5px 0; }
.ammo-calc-cta:hover .dx-related-arrow { transform: translateX(3px); }

/* related SKUs */
.ammo-rel-list { display: flex; flex-direction: column; gap: 7px; }
.ammo-rel-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: #fff; border: 1px solid var(--rule, #E2DBC9); border-radius: 10px; text-decoration: none; transition: border-color 0.14s ease, transform 0.14s ease; }
.ammo-rel-item:hover { border-color: var(--orange, #F25C1F); transform: translateY(-1px); }
.ammo-rel-name { font: 700 13px/1.3 var(--body, 'DM Sans', sans-serif); color: var(--charcoal, #1F2528); flex: 1; }
.ammo-rel-meta { font: 600 10px var(--mono, 'JetBrains Mono', monospace); color: var(--muted, #6E7178); white-space: nowrap; }
.ammo-rel-item .dx-related-arrow { color: var(--orange, #F25C1F); flex-shrink: 0; }

/* ===== manufacturer catalog grouped by caliber ===== */
.ammo-catalog { }
.ammo-cat-group { margin-bottom: var(--s-6, 26px); }
.ammo-cat-calh { display: flex; align-items: center; gap: 10px; font: 800 16px var(--display, 'Archivo', sans-serif); color: var(--charcoal, #1F2528); margin: 0 0 12px; padding-bottom: 7px; border-bottom: 2px solid var(--rule, #E2DBC9); }
.ammo-cat-caln { font: 700 11px var(--mono, 'JetBrains Mono', monospace); color: var(--muted, #6E7178); background: var(--paper, #F4F1EA); border-radius: 6px; padding: 2px 8px; }
.ammo-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 9px; }
.ammo-cat-item { display: flex; align-items: center; gap: 11px; padding: 11px 13px; background: #fff; border: 1px solid var(--rule, #E2DBC9); border-radius: 11px; text-decoration: none; transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease; }
.ammo-cat-item:hover { transform: translateY(-2px); border-color: var(--orange, #F25C1F); box-shadow: 0 10px 22px -13px rgba(200, 71, 17, 0.3); }
.ammo-cat-cal { flex-shrink: 0; width: 38px; height: 38px; border-radius: 9px; background: var(--paper, #F4F1EA); display: flex; align-items: center; justify-content: center; color: var(--charcoal, #2D363D); }
.ammo-cat-cal svg { width: 20px; height: 20px; }
.ammo-cat-cal.ammo-cal--slug { color: var(--orange-deep, #C84711); background: rgba(242,92,31,0.08); }
.ammo-cat-cal.ammo-cal--bigbore { color: var(--orange-deep, #C84711); background: rgba(242,92,31,0.12); }
.ammo-cat-text { min-width: 0; flex: 1; }
.ammo-cat-name { display: block; font: 800 13.5px var(--display, 'Archivo', sans-serif); color: var(--charcoal, #1F2528); }
.ammo-cat-meta { display: block; font: 500 11px var(--body, 'DM Sans', sans-serif); color: var(--muted, #6E7178); margin-top: 1px; }
.ammo-cat-item .dx-related-arrow { color: var(--orange, #F25C1F); flex-shrink: 0; margin-left: auto; }

/* ===== mobile reading order ===== */
@media (max-width: 980px) {
  /* SKU page: specs lead, then ballistics, then manufacturer/buy cards */
  .ammo-body .ammo-spec-block   { order: 1; }
  .ammo-body .ammo-fpe-block    { order: 2; }
  .ammo-body .dx-mfr-card       { order: 3; }
  .ammo-body .ammo-wtb-card     { order: 4; }
  .ammo-body .ammo-sec:not(.ammo-spec-block):not(.ammo-fpe-block) { order: 5; }
  .ammo-body .ammo-calc-card    { order: 6; }
  .ammo-body .ammo-rel-card     { order: 7; }

  /* brand page: summary -> facts -> catalog */
  .ammo-brand-body .dx-sec-oneline   { order: 1; }
  .ammo-brand-body .dx-facts-card    { order: 2; }
  .ammo-brand-body .dx-sec-commentary{ order: 3; }
  .ammo-brand-body .dx-sec-support   { order: 4; }
  .ammo-brand-body .dx-sec-avail     { order: 5; }
  .ammo-brand-body .dx-catalog-block { order: 6; }
  .ammo-brand-body .dx-sitecard      { order: 7; }
  .ammo-brand-body .dx-sec-sources   { order: 8; }
}
@media (max-width: 560px) {
  .ammo-cat-grid { grid-template-columns: 1fr; }
  .ammo-header, .ammo-brand-header { flex-direction: column; align-items: flex-start; }
}
