.purchase-coupon {
    margin: 20px 0 16px;
    padding: 0 0 20px;
    border-bottom: 1px dashed var(--el-border-color-lighter, #e2e8f0);
}
.purchase-coupon__row { display: flex; align-items: flex-start; gap: 12px; }
.purchase-coupon__label { flex: 0 0 auto; padding-top: 11px; color: var(--secondary-text, #64748b); font-size: 14px; line-height: 22px; white-space: nowrap; }
.purchase-coupon__control { flex: 1; min-width: 0; }
.purchase-coupon__entry { display: flex; gap: 8px; align-items: stretch; }
.purchase-coupon__entry .el-input { flex: 1; min-width: 0; }
.purchase-coupon__entry .el-input__inner {
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--el-border-color, #dcdfe6);
    border-radius: var(--radius-md, 10px);
    background: var(--el-bg-color, #fff);
    color: var(--main-text, #1e293b);
    font-size: 14px;
    line-height: 44px;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}
.purchase-coupon__entry .el-input--suffix .el-input__inner { padding-right: 30px; }
.purchase-coupon__entry .el-input__inner:hover { border-color: #94a3b8; }
.purchase-coupon__entry .el-input__inner:focus {
    border-color: var(--primary-color, #3b82f6);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}
.purchase-coupon__entry .el-input__inner:disabled { background: var(--el-fill-color-light, #f5f7fa); box-shadow: none; }
.purchase-coupon__entry .purchase-coupon__apply {
    flex: 0 0 76px;
    min-width: 76px;
    height: 44px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--el-border-color, #dcdfe6);
    border-radius: var(--radius-md, 10px);
    background: var(--el-bg-color, #fff);
    color: var(--primary-color, #3b82f6);
    font-size: 14px;
    font-weight: 600;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease;
}
.purchase-coupon__entry .purchase-coupon__apply:hover,
.purchase-coupon__entry .purchase-coupon__apply:focus-visible {
    border-color: var(--primary-color, #3b82f6);
    background: var(--primary-light, #eff6ff);
}
.purchase-coupon__entry .purchase-coupon__apply:focus-visible { outline: 2px solid var(--primary-color, #3b82f6); outline-offset: 2px; }
.purchase-coupon__entry .purchase-coupon__apply:active { background: #dbeafe; }
.purchase-coupon__entry .purchase-coupon__apply.is-disabled { border-color: var(--el-border-color-lighter, #e2e8f0); color: #94a3b8; background: var(--el-fill-color-light, #f5f7fa); cursor: not-allowed; }
.purchase-coupon__feedback { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 8px; }
.purchase-coupon__message { flex: 1 1 140px; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.purchase-coupon__message--success { color: #247243; }
.purchase-coupon__message--error, .purchase-coupon__message--warning { color: #a13224; }
.purchase-coupon__remove.el-button { min-height: 28px; padding: 4px 0; margin: 0; font-size: 12px; }
.purchase-coupon-total .page-right-item-price { font-variant-numeric: tabular-nums; }
.purchase-coupon-total small { display: block; color: var(--el-text-color-secondary, #606266); font-size: 12px; margin-top: 4px; }
/* Keep the checkout card clear of the existing fixed customer-service controls. */
@media (min-width: 1025px) and (max-width: 1599px) {
    .page-container:has(.purchase-coupon) { padding-right: clamp(0px, calc(800px - 50vw), 96px); }
}
@media (max-width: 720px) {
    .purchase-coupon__row { gap: 10px; }
    .purchase-coupon__entry .el-input__inner { font-size: 16px; }
    .purchase-coupon__remove.el-button { min-height: 44px; }
}
@media (max-width: 360px) {
    .purchase-coupon__row { display: block; }
    .purchase-coupon__label { display: block; padding-top: 0; margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .purchase-coupon__entry .el-input__inner,
    .purchase-coupon__entry .purchase-coupon__apply { transition: none; }
}
