.promotion-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.promotion-section label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}
.promotion-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.promotion-entry input{min-width:0;width:100%;height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:16px;text-transform:uppercase}
.promotion-entry input::placeholder{text-transform:none;color:#586a84}
.promotion-entry .btn{min-height:48px;padding:10px 18px;font-size:14px;border:0}
.promotion-section :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.promotion-message{font-size:13px;line-height:1.5;color:#52647f;margin:12px 0 0}
.promotion-message:empty{display:none}
.promotion-message.is-error{color:#a52b43}
.promotion-entry input[aria-invalid=true]{border-color:#a52b43}
.promotion-applied{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#edf1fa;border-radius:12px;padding:16px}
.promotion-applied strong{font-size:15px;color:var(--blue)}
.promotion-applied p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#52647f}
.promotion-applied button{flex:none;min-height:44px;border:0;background:transparent;color:var(--blue);font-weight:600;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
#promotionDiscountRow strong{color:var(--blue)}
@media(max-width:360px){.promotion-entry{grid-template-columns:minmax(0,1fr)}.promotion-entry .btn{width:100%}}

.checkout-pending-actions{margin-top:16px}.checkout-pending-actions .checkout-pending-close{background:transparent;color:var(--ink);border:1px solid var(--line)}
