/* Scoped checkout and owner voucher controls; no storefront/nav/hero changes. */
.checkout-voucher { padding: 18px 0; margin: 3px 0 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.checkout-voucher > label { display: block; margin-bottom: 9px; font-size: 12px; color: #d5e8dc; }
.voucher-input-row { display: flex; align-items: stretch; gap: 9px; }
.voucher-input-row input { flex: 1; min-width: 0; text-transform: uppercase; font-size: 12px; }
.voucher-input-row input::placeholder { text-transform: none; }
.voucher-input-row .btn { flex: none; min-height: 43px; padding-inline: 14px; font-size: 11px; }
.checkout-voucher .field-hint { margin-top: 8px; font-size: 10px; }
.voucher-status { font-size: 11px; line-height: 1.8; color: #84efaa; margin-top: 8px; overflow-wrap: anywhere; }
.voucher-status:empty { display: none; }
.voucher-status-error { color: #ffbcb2; }
.checkout-voucher .text-button { margin-top: 9px; min-height: 30px; font-size: 11px; }
.summary-line.summary-voucher { color: #83efa7; gap: 12px; }
.summary-voucher > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.summary-voucher > span:last-child { flex: none; white-space: nowrap; }
.checkout-voucher [hidden], .summary-line[hidden], .voucher-editor [hidden] { display: none !important; }
.voucher-manager > .admin-panel-toolbar h2 { font-size: 22px; margin-bottom: 9px; }
.voucher-manager > .admin-panel-toolbar p { color: var(--muted); font-size: 12px; }
.voucher-admin-help { max-width: 800px; margin: 18px 0 24px; line-height: 1.9; }
.voucher-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.voucher-admin-card { display: flex; flex-direction: column; min-width: 0; background: #0d1911; border: 1px solid #345e417a; border-radius: 13px; padding: 22px; }
.voucher-admin-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.voucher-admin-heading code { font: 700 15px/1.5 ui-monospace, monospace; color: #d5ffe2; overflow-wrap: anywhere; min-width: 0; }
.voucher-admin-heading .status-badge { flex: none; font-size: 9px; }
.voucher-admin-discount { color: #70fa9b; font: 750 31px/1.3 var(--heading); margin-top: 20px; }
.voucher-admin-quota { color: #c0d7c7; font-size: 11px; margin: 13px 0 8px; }
.voucher-admin-card .field-hint { font-size: 10px; line-height: 1.8; }
.voucher-admin-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 20px; }
.voucher-admin-actions .btn { min-height: 38px; font-size: 10px; padding: 8px 10px; }
.voucher-editor { display: grid; gap: 18px; }
.voucher-editor .field { margin: 0; }
.voucher-editor .field > label { display: block; margin-bottom: 8px; font-size: 12px; }
.voucher-editor .field-hint { margin: -7px 0 0; font-size: 11px; line-height: 1.8; }
.voucher-editor .field-grid { margin: 0; gap: 14px; }
.voucher-editor input[readonly] { opacity: .8; cursor: default; }
.voucher-editor .check-label { min-height: 32px; }
.voucher-editor .form-error { margin: 0; }
.voucher-editor .btn-primary { justify-self: start; min-height: 44px; }
@media (max-width: 1000px) { .voucher-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .voucher-admin-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .voucher-manager > .admin-panel-toolbar { align-items: flex-start; gap: 16px; }
  .voucher-admin-card { padding: 21px; }
  .voucher-input-row { gap: 7px; }
  .voucher-input-row .btn { padding-inline: 12px; }
  .voucher-editor .field-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .voucher-admin-actions .btn { transition: none; } }
