/* PrintFarm Pricer — long-form guide pages */
.guide { max-width: 720px; padding-top: 32px; padding-bottom: 56px; }
.crumb { font-size: 0.82rem; color: var(--ink-faint); margin: 0 0 14px; }
.crumb a { color: var(--accent-dark); text-decoration: none; }
.guide h1 {
  font-size: clamp(1.8rem, 4.4vw, 2.5rem); font-weight: 800;
  letter-spacing: -0.03em; line-height: 1.1; margin: 0 0 14px; text-wrap: balance;
}
.standfirst { font-size: 1.08rem; color: var(--ink-soft); margin: 0 0 30px; }
.guide h2 {
  font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em;
  margin: 34px 0 12px; text-wrap: balance;
}
.guide p { margin: 0 0 14px; }
.guide .btn { margin: 6px 0 18px; }
.guide-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 460px; }
.guide-table th {
  text-align: left; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--ink-faint);
  padding: 8px 10px; border-bottom: 2px solid var(--line);
}
.guide-table td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.guide-table tr:last-child td { border-bottom: none; }
.guide-table .m { font-family: var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.calcbox {
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px;
  padding: 8px 18px; margin: 18px 0 20px; box-shadow: var(--shadow);
}
.calcrow {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 0.93rem;
}
.calcrow:last-child { border-bottom: none; }
.calcrow .m { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.calcrow.total { font-weight: 700; border-bottom: 2px solid var(--line); }
@media (max-width: 700px) {
  .guide-table { min-width: 420px; }
}

/* ---- what-to-print ---- */
.guide-wide { max-width: 1120px; }
.callout-warn {
  background: var(--accent-soft); border-radius: 14px; padding: 14px 18px;
  font-size: 0.92rem; margin: 0 0 22px; color: var(--ink);
}
.niche-controls { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; flex-wrap: wrap; }
.niche-controls label { font-size: 0.85rem; font-weight: 600; color: var(--ink-soft); display: flex; align-items: center; gap: 8px; }
.niche-controls select { font: 500 0.9rem var(--sans); padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--input-bg); color: var(--ink); }
.niche-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-bottom: 34px; }
.niche-card { display: flex; flex-direction: column; gap: 10px; }
.niche-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.niche-head h3 { margin: 0; font-size: 1.02rem; line-height: 1.25; }
.sat { flex: none; font: 700 0.62rem var(--mono); letter-spacing: 0.05em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.sat-low { background: var(--good-soft); color: var(--good); }
.sat-medium { background: var(--accent-soft); color: var(--accent-dark); }
.sat-high { background: var(--bad-soft); color: var(--bad); }
.niche-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nn i { display: block; font-style: normal; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-faint); }
.nn b { font-family: var(--mono); font-size: 0.95rem; }
.nn b.pos { color: var(--good); }
.nn b.neg { color: var(--bad); }
.niche-note { margin: 0; font-size: 0.84rem; color: var(--ink-soft); }
.niche-license { margin: 0; font-size: 0.78rem; color: var(--ink-faint); flex: 1; }
.niche-card .btn { align-self: flex-start; }
