/* =========================================================================
   stamp.css - o carimbo
   Assinatura visual do produto: o mesmo bloco aparece na tela e no PDF do
   contrato. Importado pelo layout da aplicação e pelo template do WeasyPrint,
   por isso não pode depender de nada além de tokens.css.
   ========================================================================= */

.stamp {
  border: 1px solid var(--n-line);
  border-radius: var(--r-xs);
  background: var(--n-surface);
  overflow: hidden;
}

/* Cada faixa horizontal do carimbo. Filete entre elas, nunca em volta. */
.stamp__row {
  display: grid;
  grid-template-columns: repeat(var(--stamp-cols, 4), minmax(0, 1fr));
  border-bottom: 1px solid var(--n-line);
}

.stamp__row:last-child { border-bottom: 0; }

.stamp__row--1 { --stamp-cols: 1; }
.stamp__row--2 { --stamp-cols: 2; }
.stamp__row--3 { --stamp-cols: 3; }

.stamp__cell {
  padding: var(--sp-2) var(--sp-3);
  border-right: 1px solid var(--n-line);
  min-width: 0;
}

.stamp__cell:last-child { border-right: 0; }

.stamp__label {
  display: block;
  font-family: var(--ff-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--n-ink-3);
  line-height: 1.3;
  margin-bottom: 2px;
}

.stamp__value {
  display: block;
  font-family: var(--ff-data);
  font-size: var(--fs-data);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--n-ink);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stamp__value--wrap { white-space: normal; }

/* Faixa de coordenadas: rótulo em cima, valores lado a lado embaixo. */
.stamp__coords {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2) var(--sp-4);
}

.stamp__sep {
  color: var(--n-line-strong);
  user-select: none;
}

/* No PDF a fonte fica um ponto menor: a caixa do contrato e mais estreita. */
@media print {
  .stamp {
    border-color: var(--n-ink-3);
    break-inside: avoid;
  }

  .stamp__row,
  .stamp__cell { border-color: var(--n-ink-3); }

  .stamp__value { font-size: 0.8125rem; }
}

@media (max-width: 640px) {
  .stamp__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .stamp__cell:nth-child(2n) { border-right: 0; }

  .stamp__cell:not(:nth-last-child(-n + 2)) {
    border-bottom: 1px solid var(--n-line);
  }
}
