.dm-client-wrap {
    font-size: 14px;
    color: #334155;
}
.dm-client-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    background: linear-gradient(135deg, #3b1d5e, #6337a8 55%, #8b5cf6);
    color: #fff;
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 20px;
    box-shadow: 0 18px 38px -24px rgba(59, 29, 94, .7);
}
.dm-client-hero-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 22px;
    color: #3b1d5e;
    background: linear-gradient(135deg, #e9d5ff, #c084fc);
}
.dm-client-hero h2 {
    margin: 0 0 4px;
    font-size: 20px;
    color: #fff;
    font-weight: 800;
}
.dm-client-hero p {
    margin: 0;
    opacity: .88;
    font-size: 13px;
}
.dm-client-hero-saved {
    margin-left: auto;
    text-align: right;
    display: flex;
    flex-direction: column;
}
.dm-client-hero-saved-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #e9d5ff;
    font-weight: 700;
}
.dm-client-hero-saved-value {
    font-size: 24px;
    font-weight: 800;
}
.dm-client-panel {
    background: #fff;
    border: 1px solid #e9e4f2;
    border-radius: 14px;
    margin-bottom: 18px;
    overflow: hidden;
    box-shadow: 0 12px 28px -26px rgba(30, 10, 50, .6);
}
.dm-client-panel-head {
    padding: 13px 18px;
    font-weight: 800;
    color: #4c1d95;
    background: linear-gradient(180deg, #faf8ff, #fff);
    border-bottom: 1px solid #f0ecf7;
    font-size: 14px;
}
.dm-client-panel-body {
    padding: 14px 18px;
}
.dm-client-table {
    margin: 0;
}
.dm-empty {
    color: #8a94a6;
    margin: 6px 0;
}
.dm-saved {
    color: #16a34a;
    font-weight: 700;
}
.dm-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    background: #eef1f6;
    color: #64748b;
}
.dm-status-active {
    background: #e7f6ec;
    color: #0f7b3d;
}
.dm-discount-label {
    color: #16a34a;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

/* Self-contained tables: do not rely on the active theme's Bootstrap CSS. */
.dm-client-wrap table.dm-client-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
    font-size: 13.5px;
    color: #334155;
}
.dm-client-wrap .dm-client-table thead > tr > th {
    text-align: left;
    padding: 10px 12px;
    background: #faf8ff;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    border-bottom: 1px solid #eee9f7;
    white-space: nowrap;
}
.dm-client-wrap .dm-client-table tbody > tr > td {
    padding: 11px 12px;
    border-bottom: 1px solid #f0ecf7;
    vertical-align: middle;
}
.dm-client-wrap .dm-client-table tbody > tr:nth-child(odd) > td {
    background: #fcfbfe;
}
.dm-client-wrap .dm-client-table tbody > tr:last-child > td {
    border-bottom: 0;
}
.dm-client-wrap .dm-client-table code {
    background: #f7f3ff;
    color: #6d28d9;
    border: 1px solid #e7ddf9;
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 12px;
}
.dm-client-wrap .table-responsive {
    width: 100%;
    overflow-x: auto;
}

/* Checkout summary: inline-styled, but reinforce against theme table resets. */
.dm-checkout-summary table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: transparent;
}
.dm-checkout-summary table td {
    border: 0;
    background: transparent;
}
.dm-checkout-summary .dm-cs-name {
    padding: 4px 0;
}
.dm-checkout-summary .dm-cs-before {
    text-align: right;
    padding: 4px 8px;
    color: #8a94a6;
    text-decoration: line-through;
}
.dm-checkout-summary .dm-cs-after {
    text-align: right;
    padding: 4px 0;
    font-weight: 700;
    color: #16a34a;
}

/* Catalog (store / product page) price decoration. */
.dm-was {
    color: #8a94a6;
    text-decoration: line-through;
    font-weight: 400;
    margin-right: 4px;
}
.dm-now {
    color: #16a34a;
    font-weight: 700;
}
.dm-badge {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 6px;
    border-radius: 10px;
    background: #16a34a;
    color: #fff;
    font-size: 0.72em;
    font-weight: 700;
    line-height: 1.5;
    vertical-align: middle;
    white-space: nowrap;
}

@media (max-width: 640px) {
    .dm-client-hero {
        flex-direction: column;
        align-items: flex-start;
    }
    .dm-client-hero-saved {
        margin-left: 0;
        text-align: left;
    }
}
