/* Cupones: recuadro del checkout y pestaña «Cupones» */
.cupones-fila { display: flex; gap: 8px; align-items: stretch; }
.ndf-chk .cupones-fila input { flex: 1 1 auto; min-width: 0; text-transform: uppercase; letter-spacing: .04em; }
.ndf-chk .cupones-fila input.ok { border-color: var(--accent-ink); }
.cupones-fila .ndf-btn { flex: none; }
.cupones-msg { margin: 0; font-size: 14px; min-height: 1.2em; }
.cupones-msg:empty { display: none; }
.cupones-ok { font-weight: 700; color: var(--accent-ink); }
.cupones-mal { color: var(--err, #b42318); }
/* the total to pay (shared with zonas-entrega: only the last box shows it) */
.ndfv-total { display: flex; justify-content: space-between; gap: 10px; margin: 2px 0 0; padding-top: 8px; border-top: 1px solid color-mix(in srgb, var(--fg) 14%, transparent); font-size: 15px; }
.ndfv-total b { font-variant-numeric: tabular-nums; }
.ndfv-total[hidden] { display: none; }

.cupones-main { align-items: center; }
.cupones-code { font: 700 15px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .03em; overflow-wrap: anywhere; }
.cupones-ej { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.cupones-st { padding: 2px 9px; border-radius: 99px; font-size: 12px; font-weight: 700; border: 1px solid color-mix(in srgb, var(--fg) 22%, transparent); color: var(--fg); }
.cupones-st[data-st="activo"] { border-color: var(--accent-ink); color: var(--accent-ink); }
.cupones-st[data-st="vencido"], .cupones-st[data-st="pausado"], .cupones-st[data-st="usado"], .cupones-st[data-st="agotado"] { color: var(--muted); }
.cupones-linea, .cupones-res { flex-basis: 100%; }
.cupones-res { font-size: 13.5px; font-weight: 600; }
.cupones-form .ndf-row .ndf-f { flex: 1 1 140px; }
.cupones-form input[type="text"], .cupones-form input[type="number"], .cupones-form input[type="date"] { width: 100%; box-sizing: border-box; }
@media (max-width: 479px) { .cupones-fila { flex-wrap: wrap; } .cupones-fila .ndf-btn { flex: 1 1 100%; } }
