.dmax-promotion-box { margin:24px 0; padding:18px 20px; border:1px dashed var(--primary); border-radius:10px; background:#fff; }
.dmax-promotion-box h2,
.dmax-product-coupons h2 { margin:0 0 14px; color:var(--primary); font-family:var(--font-main); font-size:18px; font-weight:800; line-height:1.4; }
.dmax-promotion-content { color:var(--text); font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.dmax-promotion-content ul { margin:0; padding:0; list-style:none; }
.dmax-promotion-content ul > li { position:relative; margin:8px 0; padding-left:22px; }
.dmax-promotion-content ul > li::before { content:'✓'; position:absolute; left:0; top:4px; display:flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--primary); color:#fff; font-size:11px; line-height:1; }
.dmax-promotion-content p { margin:0 0 10px; }
.dmax-promotion-content > :last-child { margin-bottom:0; }
.dmax-product-coupons { margin:24px 0; }
.dmax-product-coupons > ul { margin:0; padding:0 16px; border:1px solid var(--border); border-radius:12px; list-style:none; background:#fff; }
.dmax-product-coupons li { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0; padding:16px 0; }
.dmax-product-coupons li + li { border-top:1px solid var(--border); }
.dmax-product-coupons li > div { min-width:0; }
.dmax-product-coupons strong { color:var(--primary); font-size:17px; font-weight:800; overflow-wrap:anywhere; }
.dmax-product-coupons p { margin:5px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.dmax-coupon-value { flex-shrink:0; text-align:right; }
.dmax-coupon-value b { display:block; color:var(--primary); font-size:20px; }
.dmax-coupon-value button { height:var(--button-height); margin-top:4px; padding:0 12px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--primary); font-family:var(--font-main); font-size:13px; cursor:pointer; }
.dmax-cart-coupon { clear:both; margin:0 0 24px; padding:20px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.dmax-cart-coupon h3 { margin:0 0 14px; color:var(--primary); font-family:var(--font-main); font-size:20px; font-weight:800; }
.dmax-coupon-form { display:flex; flex-wrap:wrap; gap:10px; }
.dmax-coupon-form input { flex:1 1 180px; width:auto; min-width:0; height:var(--button-height); margin:0; padding:0 12px; border:1px solid var(--border); border-radius:8px; font-family:var(--font-main); font-size:16px; text-transform:uppercase; }
.dmax-coupon-form button { height:var(--button-height); padding:0 18px; border:1px solid var(--primary); border-radius:8px; background:var(--primary); color:#fff; font-family:var(--font-main); font-size:16px; font-weight:700; cursor:pointer; }
.dmax-coupon-form .dmax-coupon-remove { background:#fff; color:var(--primary); }
.dmax-coupon-form button[hidden] { display:none; }
.dmax-coupon-form button:disabled { opacity:.6; cursor:wait; }
.dmax-coupon-message { margin:12px 0 0; color:var(--primary); font-size:14px; }
.dmax-coupon-message.is-error { color:#c8151a; }
.dmax-coupon-help { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.dmax-cart-coupon button:focus-visible,
.dmax-product-coupons button:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.dmax-coupon-message:empty { display:none; }
@media (max-width: 500px) {
    .dmax-promotion-box,
    .dmax-cart-coupon { padding:16px; }
    .dmax-coupon-form input { flex-basis:100%; width:100%; }
    .dmax-coupon-form button { flex:1; }
}
