/* ============================================================================
   manufacturing-guide.css — PROTOTYPE ONLY, not production
   Pack 2, Industry Buyer Guides: Manufacturing ERP Buyer's Guide

   Layered on main.css + pages/knowledge-article.css + buyer-guide.css.

   buyer-guide.css is NOT modified. The Buyer Guide visual system is permanently
   frozen, and TWO shared corrections are now part of that frozen baseline:

     .bg-cta-in .btn-p  white-space: normal      long CTA labels wrap
     .bg-signoff td     overflow-wrap: break-word  unbreakable tokens wrap

   Both are relied on here and neither is touched. This guide therefore carries
   NO CTA rule and NO sign-off table rule of any kind; family-qa.js asserts that
   no guide-specific stylesheet re-privatises either behaviour.

   Manufacturing loads none of guide2-7.css, seed-guide.css, steel-guide.css or
   transport-guide.css: the prototypes stay independent, which is why a
   component that also exists in another guide's stylesheet is redefined here
   rather than shared. That is the established family pattern.

   Reused from the frozen buyer-guide.css, unchanged:
     .bga-hero .bga-doc .bga-band          brand-aligned shell + semantic bands
     .bg-rail .bg-toc .bg-toc-m            contents, desktop and mobile
     .bg-answer .bg-tag                    direct answer + hero label
     .bg-record                            every flat equal-weight set
     .bg-qlist                             the long operational question sets
     .bg-pair                              the one genuine "X is not Y" contrast
     .bg-show                              the eight SHOW ME scenarios
     .bg-ask .bg-principle                 the prominent question + key principle
     .bg-signoff                           the 46-row evaluation record
     .bg-proof                             Re-feel, Ambika Foods and ARCL, no logo
     .bg-check                             the twenty-one-group checklist
     .bg-vendor .bg-cta .bg-sr h2.bg-rule  Exactlly band, CTA, a11y, rhythm
     .kn-note .kn-next                     knowledge-article idioms

   Five components are defined here, each because the shared set cannot express
   it: a blockquote (nothing styles <blockquote>), the production chains, the
   two EQUAL expected-versus-actual treatments, the five delivery
   classifications and the red flags.

   Two editorial risks shape everything below.

   The first is production-model neutrality. The guide must read equally for
   make-to-stock and make-to-order, discrete and batch, job-shop and repetitive
   — and the approved copy is explicit that these categories overlap. Nothing
   here ranks, numbers or colours any member of a set: discrete is not styled as
   the default and batch is not styled as the specialism.

   The second is the standard-versus-actual spine. The whole guide turns on
   PLAN THE WORK / CAPTURE THE ACTUAL / EXPLAIN THE VARIANCE, so the two
   expected-versus-actual comparisons must read as genuinely parallel: the
   standard is not an aspiration and the actual is not a failure. One rule
   styles both panels of both pairs.
   ============================================================================ */

/* ── Quotations ────────────────────────────────────────────────────────────
   The approved copy sets a large number of questions and statements as
   blockquotes. Nothing in main.css or knowledge-article.css styles
   <blockquote>. */

.kn-article .mf-quote {
  margin: 0 0 22px;
  padding: 16px 20px;
  background: var(--bg-s);
  border-left: 3px solid var(--b-bd);
  border-radius: 0 var(--r) var(--r) 0;
}

.kn-article .mf-quote p {
  font-size: 16.5px !important;
  line-height: 1.6;
  color: var(--t) !important;
  font-weight: 500;
  margin: 0 !important;
}

/* The question the buyer should ask instead of the one being set aside. */
.kn-article .mf-quote.is-key { background: var(--b-lt); border-left-color: var(--b); }

.mf-quotes { display: flex; flex-direction: column; gap: 8px; margin: 0 0 22px; }
.mf-quotes .mf-quote { margin: 0; }

/* ── Production chains ─────────────────────────────────────────────────────
   Two chains: the short answer's plan-to-produce chain (seventeen stages, the
   longest in the programme) and FOLLOW THE PRODUCTION RECORD.

   flex-direction:row is REQUIRED and explicit. knowledge-article.css:107 sets
   flex-direction:column on .kn-article ul/ol and wins otherwise — the defect
   found in Guides 2, 5 and 6, guarded against in Guide 7, Seeds, Steel and
   Transport. flex-wrap:wrap is retained so a seventeen-stage chain wraps on a
   narrow screen rather than being forced onto one line or overflowing.

   Text only. No SVG, no factory illustration, no machinery iconography, no
   animation. */

.kn-article .mf-chain {
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 4px 0 22px !important;
  padding: 16px 18px !important;
  background: var(--bg-s);
  border: 1px solid var(--br);
  border-radius: var(--r);
}

.kn-article .mf-chain li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  margin: 0;
  font-size: 14.5px !important;
  font-weight: 600;
  color: var(--t) !important;
  line-height: 1.4;
}

.kn-article .mf-chain li::before { content: none; }

.mf-chain-a { color: var(--b); font-weight: 700; }

/* ── The two EQUAL expected-versus-actual treatments ───────────────────────
   Used twice, for the guide's two load-bearing comparisons:

     STANDARD TIME    ↔ ACTUAL TIME
     EXPECTED COST    ↔ ACTUAL COST

   Deliberately not .bg-pair. That component's three-track grid places a symbol
   between the halves and offers .is-strong to emphasise one, which is right for
   a real inequality and wrong here. The standard is not an aspiration the
   actual falls short of, and the actual is not a failure against the standard:
   they are two records the buyer must be able to compare, and the entire point
   of the guide is that BOTH must exist. One rule styles both panels, so neither
   side can read as the authoritative one. */

.mf-dual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 4px 0 22px;
}

.mf-dual-c {
  border: 1px solid var(--br);
  border-top: 3px solid var(--b-bd);
  border-radius: var(--r);
  background: var(--w);
  padding: 18px 20px 16px;
}

.kn-article .mf-dual-h {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--b);
  margin: 0 0 12px;
}

.kn-article .mf-dual-c p { font-size: 15px !important; }
.kn-article .mf-dual-c .mf-quote { margin: 0 0 14px; padding: 12px 14px; }
.kn-article .mf-dual-c .mf-quote p { font-size: 15px !important; }
.kn-article .mf-dual-c ul { margin: 0 0 14px !important; }
.kn-article .mf-dual-c li { font-size: 15px !important; }
.kn-article .mf-dual-c > :last-child { margin-bottom: 0 !important; }

/* ── Delivery classification ───────────────────────────────────────────────
   Five members, so neither .bg-trio nor .bg-prio — both three-track — fits.
   Unnumbered and identically styled: the approved copy states that none of the
   labels is automatically good or bad, so nothing here may imply that Standard
   is safe or Custom is a warning. */

.mf-class {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin: 4px 0 22px;
}

.mf-class-i {
  border: 1px solid var(--br);
  border-radius: var(--r);
  background: var(--w);
  box-shadow: var(--sh-xs);
  padding: 16px 18px 14px;
}

.kn-article .mf-class-k {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--b);
  margin-bottom: 8px;
}

.kn-article .mf-class-i p {
  font-size: 14.5px !important;
  line-height: 1.6;
  margin: 0 !important;
}

/* ── Red flags ─────────────────────────────────────────────────────────────
   Twenty of them. Restrained, exactly as Pack 1, Seeds, Steel and Transport: a
   hairline and a heading, no alarm colour and no icon. The approved copy is
   diagnostic, not accusatory. */

.mf-flag {
  border-top: 1px solid var(--br);
  padding: 16px 0 0;
  margin: 0 0 18px;
}

.kn-article .mf-flag-h {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--t);
  margin: 0 0 6px;
}

.kn-article .mf-flag p { font-size: 15px !important; }
.kn-article .mf-flag > :last-child { margin-bottom: 0 !important; }

/* ── Ground-aware surfaces on alternate bands ──────────────────────────────
   The frozen shell alternates the body ground between white and var(--bg).
   Two Manufacturing surfaces are designed against white:

     .mf-quote   var(--bg-s)  #FAFBFC on #F7F8FA — no reading
     .mf-chain   var(--bg-s)  no reading

   Lifted to var(--w) on an alt band, keeping the panel lighter than its ground,
   which is the production idiom of white cards on a .sec-alt section.

   GUARDED, following the Pack 1 closure. Two things this selector must not do:

   1. It must not read `.bga-band.is-alt .kn-article .mf-quote`. In the aligned
      shell .kn-article is the grid container and .bga-band sits inside it, so
      .kn-article is an ANCESTOR of the band — that shape matches nothing.

   2. It must not lift every instance. The direct child combinator admits only
      surfaces whose ground really is the band column, directly or through the
      transparent .mf-quotes wrapper; a quotation nested inside a painted
      .mf-dual-c panel keeps its own fill rather than becoming white-on-white.
      :not(.is-key) leaves the intentionally blue key quotations alone. */

.bga-band.is-alt > .bga-col > .mf-quote:not(.is-key),
.bga-band.is-alt > .bga-col > .mf-quotes > .mf-quote:not(.is-key),
.bga-band.is-alt > .bga-col > .mf-chain {
  background: var(--w);
}

/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 720px) {
  .mf-dual { grid-template-columns: 1fr; }
  .mf-class { grid-template-columns: 1fr; }
}

@media print {
  .mf-quote, .mf-dual-c, .mf-class-i { box-shadow: none; break-inside: avoid; }
  .mf-flag { break-inside: avoid; }
  .mf-dual { grid-template-columns: repeat(2, 1fr); }
  /* The chain reads as a sequence on paper without its box. */
  .kn-article .mf-chain { background: none; border: 0; padding: 0 !important; }
}
