/* ── Coupon Banner (Full Course) ── */
.coupon-banner {
    display: none;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #e8f8f0 0%, #d0f0e0 100%);
    border: 1.5px dashed #2EB97E;
    border-radius: 8px;
    padding: 12px 16px;
    margin-top: 14px;
    cursor: pointer;
    transition: box-shadow .2s, transform .2s;
}
.coupon-banner:hover { box-shadow: 0 4px 16px rgba(46,185,126,.18); transform: translateY(-1px); }
.coupon-banner.visible { display: flex; }
.coupon-tag-icon {
    background: #2EB97E;
    color: #fff;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    white-space: nowrap;
    flex-shrink: 0;
}
.coupon-banner-text { flex: 1; }
.coupon-banner-text strong { font-size: 13px; color: #1a7a52; display: block; }
.coupon-banner-text span { font-size: 12px; color: #555; }
.coupon-apply-btn {
    background: #2EB97E;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s;
}
.coupon-apply-btn:hover { background: #25a06c; }
.coupon-apply-btn.applied { background: #1a7a52; }

/* ── Subject price display ── */
.sub-price .price-original-full {
    font-size: 12px;
    color: #aaa;
    text-decoration: line-through;
    display: block;
    line-height: 1.2;
}
.sub-price .price-main {
    font-size: 14px;
    font-weight: 700;
    color: #181818;
    display: block;
}
.sub-price .price-discounted-full {
    font-size: 14px;
    font-weight: 700;
    color: #2EB97E;
    display: block;
}

/* ── Cart discount row ── */
.cart-discount-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 13px;
    color: #2EB97E;
}
.cart-original-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
    font-size: 12px;
    color: #999;
}
.cart-original-row span:last-child { text-decoration: line-through; }

/* ── Coupon applied badge in cart ── */
#cartCouponBadge {
    display: none;
    background: #e8f8f0;
    border: 1px solid #2EB97E;
    border-radius: 5px;
    padding: 5px 10px;
    font-size: 11px;
    color: #1a7a52;
    margin-bottom: 8px;
    text-align: center;
    font-weight: 600;
}
#cartCouponBadge.show { display: block; }

/* Keep existing coupon input area but restyle slightly */
#cartCouponWrap { margin-top: 10px; }
#couponCode {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 13px;
    margin-bottom: 6px;
    box-sizing: border-box;
}
#applyCouponBtn {
    width: 100%;
    padding: 7px;
    background: #2EB97E;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
#applyCouponBtn:hover { background: #25a06c; }
#cartDiscountInfo { font-size: 12px; color: #2EB97E; margin-top: 4px; }
#cartCouponError  { font-size: 12px; color: #e53e3e; margin-top: 4px; }

/* Savings highlight */
.savings-highlight {
    background: #e8f8f0;
    border-radius: 5px;
    padding: 4px 10px;
    font-size: 12px;
    color: #1a7a52;
    font-weight: 600;
    display: inline-block;
    margin-top: 2px;
}