.checkout-coupons { padding: 14px 0; border-block: 1px solid #e8ded0; min-width: 0; }
.checkout-coupons h3 { margin: 0 0 6px; font-size: 1rem; line-height: 1.5; }
.checkout-coupons p { margin: 6px 0; color: #756654; font-size: .82rem; line-height: 1.55; }
.checkout-coupon-entry { display: flex; gap: 8px; margin: 10px 0; }
.checkout-coupon-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.checkout-coupon-entry input { flex: 1; width: 0; min-width: 0; padding: 9px; border: 1px solid #d8cbb9; border-radius: 6px; font: inherit; }
.checkout-coupon-entry button { padding: 7px 10px; background: #f5f0e8; color: #4f4030; border: 1px solid #d8cbb9; border-radius: 6px; font: inherit; cursor: pointer; }
.checkout-coupons button:focus-visible, .checkout-coupons input:focus-visible, .checkout-coupons summary:focus-visible { outline: 2px solid #75654a; outline-offset: 3px; }
.checkout-coupons summary { cursor: pointer; padding: 6px 0; line-height: 1.5; }
.checkout-coupon-offers { display: grid; gap: 14px; padding: 9px 0 3px; }
.checkout-coupon-offer { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); width: 100%; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #d8c5ad; border-radius: 11px; background: #fffdf9; color: #40372d; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 2px 7px rgba(91, 68, 43, .08); transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.checkout-coupon-offer::before, .checkout-coupon-offer::after { position: absolute; left: 40px; z-index: 2; width: 14px; height: 14px; border: 1px solid #d8c5ad; border-radius: 50%; background: #fff; content: ""; transform: translateY(-50%); }
.checkout-coupon-offer::before { top: 0; }
.checkout-coupon-offer::after { top: 100%; }
.checkout-coupon-offer:hover { border-color: #ad8c67; background: #faf5ed; box-shadow: 0 4px 11px rgba(91, 68, 43, .12); transform: translateY(-1px); }
.checkout-coupon-offer.is-selected { border-color: #86603a; background: #f1e4d3; box-shadow: 0 3px 10px rgba(91, 68, 43, .15); }
.checkout-coupon-offer:disabled { cursor: not-allowed; opacity: .58; }
.checkout-coupon-offer:disabled:hover { transform: none; box-shadow: 0 2px 7px rgba(91, 68, 43, .08); }
.checkout-coupon-ticket-stub { display: flex; align-items: center; justify-content: center; min-width: 0; border-right: 1px dashed #bfa98e; background: #eee1cf; color: #765737; font-size: 1.1rem; font-weight: 800; }
.checkout-coupon-offer.is-selected .checkout-coupon-ticket-stub { background: #7b5937; color: #fff; }
.checkout-coupon-ticket-copy { position: relative; display: grid; min-width: 0; gap: 2px; padding: 11px 13px; overflow: hidden; overflow-wrap: anywhere; }
.checkout-coupon-offer.has-ribbon .checkout-coupon-ticket-copy { padding-right: 64px; }
.checkout-coupon-ticket-copy strong { display: block; margin-bottom: 2px; color: #4b3927; font-size: .88rem; line-height: 1.45; }
.checkout-coupon-ticket-copy small { display: block; color: #756654; font-size: .78rem; line-height: 1.45; }
.checkout-coupon-ticket-copy .checkout-coupon-saving { color: #72502f; font-weight: 700; }
.checkout-coupon-ticket-copy .checkout-coupon-expiry { margin-top: 2px; color: #8a4f3f; font-weight: 600; }
.checkout-coupon-ribbon { position: absolute; top: 11px; right: -29px; width: 100px; padding: 3px 0; background: #6f7850; color: #fff; font-size: .62rem; font-weight: 800; line-height: 1.2; letter-spacing: .02em; text-align: center; text-transform: uppercase; transform: rotate(42deg); box-shadow: 0 1px 3px #0002; }
#checkoutCouponMessage.is-error { color: #963d2f; }
