/* Home-only coupon polish; keep the existing filters and horizontal track. */
.home-shell .stc-coupon-section-head {
    margin-top: 28px;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.stc-coupon-section-note {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 600;
    color: #527565;
}
html.stc-theme-frontend .stc-coupon-box.stc-coupon-modern {
    margin-top: 0;
    border: 1px solid #dce8e2;
    border-radius: 18px;
    background: linear-gradient(145deg, #f0f8f3, #fff 65%);
}
.stc-coupon-modern .stc-coupon-toolbar {
    padding: 14px 16px !important;
    border-bottom: 1px solid #e1ece5;
    background: rgba(255, 255, 255, .7);
}
.stc-coupon-modern .stc-coupon-controls {
    margin-top: 0 !important;
    grid-template-columns: 38px minmax(0, 1fr) 38px !important;
    gap: 8px !important;
}
.stc-coupon-modern .stc-coupon-nav {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
}
.stc-coupon-modern .stc-coupon-tab {
    font-size: 12px !important;
    padding: 9px 5px !important;
    white-space: normal;
}
.stc-coupon-modern .stc-coupon-track {
    grid-template-rows: repeat(2, 184px) !important;
    grid-auto-columns: min(340px, 100%) !important;
    gap: 12px !important;
}
.stc-coupon-modern .stc-coupon-card,
.stc-coupon-modern .stc-coupon-empty {
    width: 100% !important;
    max-width: none !important;
    height: 184px !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
}
.stc-coupon-modern .stc-coupon-body {
    padding: 12px 12px 18px 14px !important;
    min-width: 0;
}
.stc-coupon-modern .stc-coupon-top {
    padding-right: 0 !important;
    gap: 4px 8px;
}
.stc-coupon-modern .stc-coupon-discount {
    font-size: 22px !important;
    line-height: 1.3 !important;
}
.stc-coupon-modern .stc-coupon-desc {
    height: auto !important;
    min-height: 32px;
}
.stc-coupon-code-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #cfe1d5;
}
.stc-coupon-code-row code {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #18553d;
    font-size: 12px;
    font-weight: 700;
}
.stc-coupon-modern .stc-coupon-code-row .stc-coupon-copy {
    position: static !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 9px;
    border: 0;
    border-radius: 8px;
    font-size: 11px;
    cursor: pointer;
}
.stc-coupon-modern .stc-coupon-progress {
    left: 68px !important;
    bottom: 8px !important;
}
@media (max-width: 480px) {
    .stc-coupon-modern .stc-coupon-stage { padding: 12px 10px !important; }
    .stc-coupon-modern .stc-coupon-toolbar { padding: 12px 10px !important; }
    .stc-coupon-modern .stc-coupon-track { grid-template-rows: repeat(2, 204px) !important; }
    .stc-coupon-modern .stc-coupon-card,
    .stc-coupon-modern .stc-coupon-empty { height: 204px !important; }
}
html.stc-theme-frontend .stc-coupon-box {
    border-color: #d7e6df;
    background: #f7faf8;
    box-shadow: 0 8px 24px rgba(23, 60, 51, .06);
}
.stc-coupon-box .stc-coupon-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 16px;
    gap: 14px;
}
.stc-coupon-box .stc-coupon-title-text p { font-weight: 500; }
.stc-coupon-box .stc-coupon-stage { padding: 14px 16px 16px; }
.stc-coupon-box .stc-coupon-track {
    grid-template-rows: repeat(2, 132px);
    grid-auto-columns: minmax(280px, 300px);
    gap: 12px;
}
.stc-coupon-box .stc-coupon-card {
    width: 100%;
    max-width: none;
    height: 132px;
    grid-template-columns: 60px minmax(0, 1fr);
    border-color: #dce8e2;
    border-radius: 14px;
    box-shadow: 0 3px 10px rgba(23, 60, 51, .04);
    transition: border-color .2s, box-shadow .2s;
}
.stc-coupon-box .stc-coupon-card:hover {
    border-color: #75a68d;
    box-shadow: 0 5px 16px rgba(23, 60, 51, .12);
}
.stc-coupon-box .stc-coupon-body { padding: 12px 12px 16px 14px; }
.stc-coupon-box .stc-coupon-top { padding-right: 0; flex-wrap: wrap; gap: 4px 8px; }
.stc-coupon-box .stc-coupon-card.is-hot:before { display: none; }
.stc-coupon-box .stc-coupon-label { max-width: 100%; font-size: 10px; }
.stc-coupon-box .stc-coupon-date { color: #63776e; font-size: 10px; font-weight: 500; }
.stc-coupon-box .stc-coupon-discount { font-size: 21px; line-height: 1.3; }
.stc-coupon-box .stc-coupon-discount span { font-size: 11px; font-weight: 500; }
.stc-coupon-box .stc-coupon-desc { font-size: 11px; font-weight: 500; line-height: 1.45; height: 32px; }
.stc-coupon-box .stc-coupon-progress { left: 74px; bottom: 8px; }
html.stc-theme-frontend .stc-coupon-box .stc-coupon-title-icon,
html.stc-theme-frontend .stc-coupon-box .stc-coupon-left,
html.stc-theme-frontend .stc-coupon-box .stc-coupon-tab.active,
html.stc-theme-frontend #stcCouponDetailModal .stc-voucher-modal-top,
html.stc-theme-frontend #stcCouponDetailModal .stc-voucher-ticket-left,
html.stc-theme-frontend #stcCouponDetailModal .stc-voucher-ok {
    background: var(--stc-nav-gradient, linear-gradient(135deg, #173c33, #1f6d53)) !important;
}
#stcCouponDetailModal {
    padding: 16px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}
#stcCouponDetailModal.show { display: flex; }
#stcCouponDetailModal .stc-modal-wrap {
    width: min(520px, 100%);
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    margin: 0;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
}
#stcCouponDetailModal .stc-voucher-modal-top { height: 100px; }
#stcCouponModalTitle { margin: 0; padding: 20px 60px 0 20px; color: #fff; font-size: 17px; font-weight: 700; }
#stcCouponDetailModal .stc-voucher-save,
#stcCouponDetailModal .stc-voucher-list b { color: #1f6d53; }
#stcCouponDetailModal .stc-voucher-heading { color: #63776e; }
#stcCouponDetailModal .stc-voucher-code { height: auto; min-height: 36px; white-space: normal; overflow-wrap: anywhere; }
.stc-coupon-box [tabindex]:focus-visible,
.stc-coupon-box button:focus-visible,
#stcCouponDetailModal button:focus-visible { outline: 3px solid #75a68d; outline-offset: 2px; }
@media (max-width: 768px) {
    .stc-coupon-box .stc-coupon-track { grid-auto-columns: min(290px, 100%); }
    .stc-coupon-box .stc-coupon-toolbar { padding: 13px; }
    .stc-coupon-box .stc-coupon-stage { padding: 12px; }
    #stcCouponDetailModal { padding: 12px; }
    #stcCouponDetailModal .stc-modal-wrap {
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
    }
}