/* Mockup stage only — never part of the shipped system. */
body { background: var(--surface-panel); padding: 40px; }
body[data-content-status="illustrative"]::before {
  content: "PROTOTIPO · DATOS ILUSTRATIVOS · NO USAR PARA PRODUCCIÓN O COMPRA";
  display: block; width: max-content; max-width: 100%; margin: 0 auto var(--space-2);
  border: var(--rule-hairline); padding: var(--space-1) var(--space-2);
  background: var(--surface-page); color: var(--text-secondary);
  font: var(--t-micro); letter-spacing: var(--tracking-micro); text-transform: uppercase;
}
.stage { display: flex; gap: 40px; align-items: flex-start; justify-content: center; }
.stage--col { flex-direction: column; align-items: center; }
.spec { font: var(--t-micro); letter-spacing: var(--tracking-micro);
        color: var(--text-metadata); margin-bottom: 8px; }

/* Illustrative Data Status Banner */
body[data-content-status="illustrative"]::before {
  content: "PROTOTIPO · DATOS ILUSTRATIVOS";
  display: block;
  font: var(--t-micro);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-metadata);
  background: var(--surface-recessed);
  border: 1px dashed var(--border-hairline);
  padding: 6px 12px;
  text-align: center;
  margin-bottom: 24px;
}

/* Print-substrate grain — packaging, labels and plates only. */
.grain { position: relative; }
.grain::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("../assets/textures/paper-grain.png");
  background-size: 512px 512px; mix-blend-mode: multiply; opacity: .55;
}
/* Engravings are inked on white stock; multiply drops the white onto PAPER. */
.engraving { mix-blend-mode: multiply; }
