/* Cartão de rastreio dos Correios (portal dos clientes e Simple Company).
   Reaproveita as peças de cada página (info-label, info-value, paste-btn,
   rastrear-btn) para herdar o tema do cliente; aqui só vai o layout.
   A logo dos Correios entra numa cor só (máscara), na cor do texto. */
.postal-card.hidden { display: none; }
.postal-card { position: relative; animation: postal-in .45s cubic-bezier(.2, .7, .2, 1) both; }
.postal-card:not(.history-card) { margin: 24px 0 28px; }
.postal-card .postal-head { margin-bottom: 18px; }
.postal-card .postal-head h3 { margin: 10px 0 0; font-size: 1rem; line-height: 1.35; letter-spacing: -.02em; font-weight: 700; }

.postal-mark {
  display: block;
  width: 92px;
  height: 19px;
  background: currentColor;
  opacity: .9;
  -webkit-mask: url(logos/correios.svg) left center / contain no-repeat;
  mask: url(logos/correios.svg) left center / contain no-repeat;
}

.postal-body { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px 24px; }
.postal-code-wrap { min-width: 0; }
.postal-card .postal-code-label { display: block; font-size: .84rem; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: none; opacity: .68; }
.postal-code-row { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.postal-card .postal-code {
  display: block;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .04em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.postal-code span + span { margin-left: .34em; }

.postal-card .postal-copy {
  position: static;
  transform: none;
  flex-shrink: 0;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background: transparent;
  font: inherit;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}
.postal-card .postal-copy:hover { transform: none; }
.postal-card .postal-copy:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.postal-copy .postal-copied-text { display: none; }
.postal-copy.is-copied .postal-copy-text { display: none; }
.postal-copy.is-copied .postal-copied-text { display: inline; }

.postal-card a.postal-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-height: 46px;
  padding: 0 22px;
  flex-shrink: 0;
  font-size: .9rem;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}
.postal-card a.postal-action svg { flex-shrink: 0; transition: transform .2s ease; }
.postal-card a.postal-action:hover svg { transform: translate(2px, -2px); }
.postal-card a.postal-action:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.postal-card a.postal-action:not(.rastrear-btn) { border-radius: 11px; background: #111; color: #fff; font-weight: 750; }
.postal-card a.postal-action:not(.rastrear-btn):hover { background: #333; }

.postal-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@keyframes postal-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
  .postal-body { flex-direction: column; align-items: stretch; }
  .postal-card .postal-code { font-size: 1.15rem; }
  .postal-card a.postal-action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .postal-card, .postal-card a.postal-action svg { animation: none; transition: none; }
}
