/* Cartão e comanda: usados na impressão e nas prévias do sistema. */

/* ---------- CARTÃO ---------- */
.cartao {
  position: relative; overflow: hidden; box-sizing: border-box; flex-shrink: 0;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
  font-family: 'Fraunces', Georgia, serif;
}
.cartao-conteudo {
  position: absolute; inset: 0; box-sizing: border-box;
  padding: calc(7mm * var(--esc, 1)) calc(8mm * var(--esc, 1));
  display: flex; flex-direction: column; justify-content: space-between; gap: calc(2mm * var(--esc, 1));
}
.cartao-para {
  font-family: 'Figtree', sans-serif; font-size: calc(2.5mm * var(--esc, 1)); font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--destaque);
}
.cartao-msg {
  flex: 1; display: flex; align-items: center; line-height: 1.38; max-width: 82%;
  overflow-wrap: anywhere; font-style: italic;
}
.cartao-sans .cartao-msg, .cartao .cartao-msg[style*="Figtree"] { font-style: normal; }
.cartao-rodape { display: flex; justify-content: space-between; align-items: flex-end; gap: 3mm; }
.cartao-assina { font-size: calc(3.8mm * var(--esc, 1)); font-weight: 500; }
.cartao-loja { font-family: 'Figtree', sans-serif; font-size: calc(2.2mm * var(--esc, 1)); opacity: .7; white-space: nowrap; }
.cartao-logo { max-height: calc(8mm * var(--esc, 1)); max-width: calc(24mm * var(--esc, 1)); object-fit: contain; }

.cartao .orn { position: absolute; pointer-events: none; }
.cartao .orn-ramo { width: 34%; aspect-ratio: 1; right: -4%; top: -5%; opacity: .6; }
.cartao .orn-flores-a { width: 30%; aspect-ratio: 1; right: -2%; top: -3%; opacity: .55; }
.cartao .orn-flores-b { width: 22%; aspect-ratio: 1; left: -3%; bottom: -4%; opacity: .45; }
.cartao-flores .cartao-rodape { padding-left: 14%; }
.cartao .orn-moldura { position: absolute; inset: calc(3mm * var(--esc, 1)); border: 0.3mm solid; border-radius: 1mm; opacity: .8; }
.cartao .orn-canto { width: 9%; aspect-ratio: 1; }
.cartao .orn-tl { left: 1.5mm; top: 1.5mm; }
.cartao .orn-tr { right: 1.5mm; top: 1.5mm; transform: scaleX(-1); }
.cartao .orn-bl { left: 1.5mm; bottom: 1.5mm; transform: scaleY(-1); }
.cartao .orn-br { right: 1.5mm; bottom: 1.5mm; transform: scale(-1, -1); }
.cartao-moldura .cartao-conteudo { padding: calc(9mm * var(--esc, 1)) calc(11mm * var(--esc, 1)); text-align: center; }
.cartao-moldura .cartao-msg { justify-content: center; max-width: 100%; }
.cartao-moldura .cartao-rodape { flex-direction: column; align-items: center; gap: 1.5mm; }
.cartao-nenhum .cartao-msg { max-width: 100%; }
.cartao-nenhum .cartao-para { border-bottom: 0.2mm solid var(--destaque); padding-bottom: 1.5mm; align-self: flex-start; }

/* ---------- COMANDA (térmica) ---------- */
.comanda {
  box-sizing: border-box; font-family: 'Figtree', Arial, sans-serif; color: #000; background: #fff;
  font-size: 9.5pt; line-height: 1.3; display: flex; flex-direction: column; gap: 2mm;
}
.cm-topo { text-align: center; }
.cm-loja { font-size: 12pt; font-weight: 800; text-transform: uppercase; }
.cm-peq { font-size: 8pt; }
.cm-tracejado { border-top: 0.5mm dashed #000; }
.cm-tracejado.fino { border-top-width: 0.25mm; }
.cm-linha { display: flex; justify-content: space-between; gap: 2mm; }
.cm-linha strong { text-align: right; }
.cm-num span { font-size: 16pt; font-weight: 800; }
.cm-num small { font-size: 8pt; align-self: center; }
.cm-destaque { border: 0.5mm solid #000; padding: 1.5mm 2mm; text-align: center; }
.cm-grande { font-size: 14pt; font-weight: 800; }
.cm-rot { font-size: 7.5pt; font-weight: 700; letter-spacing: .04em; }
.cm-produto { font-size: 11.5pt; font-weight: 800; }
.cm-bloco { display: flex; flex-direction: column; gap: .5mm; overflow-wrap: anywhere; }
