/* LYA v30: Vouchers in Admin and checkout. */
.voucher-admin-panel .panel-heading { align-items: flex-start; }
.voucher-admin-panel .panel-heading p { max-width: 60ch; }
.voucher-list { display: grid; gap: 14px; }
.voucher-empty { margin: 0; padding: 22px; border: 1px dashed #8f0000; color: #8f0000; background: #fff; }
.voucher-editor-card { display: grid; grid-template-columns: minmax(150px, 1.2fr) minmax(130px, .9fr) minmax(120px, .7fr) auto auto; gap: 12px; align-items: end; padding: 18px; border: 1px solid #8f0000; border-radius: 14px; background: #fff; }
.voucher-editor-card label { display: grid; gap: 7px; color: #8f0000; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.voucher-editor-card input:not([type="checkbox"]), .voucher-editor-card select { min-width: 0; min-height: 42px; padding: 10px 12px; color: #8f0000; background: #fff; border: 1px solid #8f0000; border-radius: 9px; font: inherit; }
.voucher-editor-card input[type="checkbox"] { width: 18px; height: 18px; accent-color: #750000; }
.voucher-editor-card .voucher-active { display: flex; min-height: 42px; align-items: center; gap: 8px; white-space: nowrap; }
.voucher-editor-card .voucher-remove { min-height: 42px; border: 1px solid #8f0000; border-radius: 9px; padding: 0 14px; color: #8f0000; background: #fff; font-weight: 700; }
.voucher-editor-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.voucher-editor-actions .admin-primary, .voucher-editor-actions .admin-secondary { border-radius: 10px; }
.voucher-redemption { display: grid; gap: 8px; margin: 14px 0; padding: 14px; border: 1px solid #8f0000; border-radius: 12px; background: #fff; }
.voucher-redemption > label { color: #8f0000; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.voucher-redemption-row { display: flex; gap: 8px; }
.voucher-redemption-row input { flex: 1 1 auto; min-width: 0; min-height: 42px; padding: 10px 12px; color: #8f0000; background: #fff; border: 1px solid #8f0000; border-radius: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.voucher-apply-button { flex: 0 0 auto; min-height: 42px; padding: 0 16px; color: #fff; background: #750000; border: 1px solid #750000; border-radius: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.voucher-apply-button:disabled { cursor: wait; opacity: .7; }
.voucher-message { color: #8f0000; font-size: 12px; }
.voucher-message--error { color: #8f0000; text-decoration: underline; }
.checkout-original-total del { color: #8f0000; }
.checkout-savings { margin-top: 8px; padding: 10px 12px; color: #8f0000; background: #fff; border: 1px solid #8f0000; border-radius: 9px; }
.checkout-savings strong, .voucher-discount strong { color: #8f0000; }
@media (max-width: 900px) {
  .voucher-editor-card { grid-template-columns: 1fr 1fr; }
  .voucher-editor-card .voucher-active, .voucher-editor-card .voucher-remove { grid-column: span 1; }
}
@media (max-width: 520px) {
  .voucher-editor-card { grid-template-columns: 1fr; padding: 14px; }
  .voucher-editor-card .voucher-active, .voucher-editor-card .voucher-remove { grid-column: auto; }
  .voucher-redemption-row { flex-direction: column; }
  .voucher-apply-button { width: 100%; }
}
