/* ===========================
   BASE TABLE CONTAINER
=========================== */
.mm-table-wrap {
    background: #ffffff;
    border-radius: 20px;
    padding: 25px;
    margin: 40px auto;
    max-width: 900px;
    box-shadow: 0px 10px 35px rgba(0, 0, 0, 0.08);
}

/* ===========================
   HEADINGS INSIDE TABLE WRAPPER
=========================== */
.mm-table-header {
    text-align: center;
    padding-bottom: 15px;
}

.mm-table-title {
    font-size: 28px;
    font-weight: 700;
    color: #8CC63F;
    margin: 0 0 10px 0;
}

.mm-table-title strong {
    font-weight: 700; /* force bold on "Direct Debit" */
}

.mm-table-desc {
    font-size: 16px;
    color: #555;
    margin: 0 0 20px 0;
}

/* ===========================
   TABLE ELEMENTS
=========================== */
.mm-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.mm-table th {
    text-align: left;
    padding: 14px 16px;
    font-weight: 700;
    color: #444;
    border-bottom: 2px solid #eaeaea;
    background: #ffffff;
}

.mm-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #f1f1f1;
    vertical-align: top;
    background: #ffffff;
}

/* ===========================
   SAVINGS COLUMN (TABLE 1)
=========================== */
.mm-table__head--savings {
    background: #FFF3E8;
    color: #FF7A00;
}

.mm-table__col--savings {
    background: #FFF6E9 !important;
    color: #FF7A00 !important;
    font-weight: 700;
    font-size: 18px;
}

/* ===========================
   SPECIAL ROW STYLING (M4)
=========================== */
.mm-table-row--highlight td {
    background: #FFF3E8 !important;
}

.mm-table-row--highlight td:first-child {
    border-left: 5px solid #FF7A00;
}

.mm-label--best-value {
    background: #FF7A00;
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 13px;
    margin-left: 6px;
    font-weight: 600;
}

/* ===========================
   FOOTNOTES (USED IN TABLE 2 & 3)
=========================== */
.mm-footnotes-row td {
    padding-top: 14px;
    padding-bottom: 10px;
    font-size: 14px;
    color: #555;
    background: #fafafa;
    border-bottom: none !important;
}

.mm-footnotes-row strong {
    font-weight: 700;
}

/* ===========================
   TABLE 2 & 3 (REHAB TABLES)
   - NO ZEBRA, SAME WIDTH AS TABLE 1
=========================== */
.mm-table--rehab {
    width: 100%;
}

.mm-table--rehab tr {
    background: none !important;
}

/* Highlight column in rehab tables (cost/session) */
.mm-table--rehab .mm-table__col--highlight {
    background: #fcffe8;
    color: #444;
    font-weight: 600;
}

/* ===========================
   MOBILE RESPONSIVE
=========================== */
@media (max-width: 768px) {
    .mm-table-wrap {
        padding: 18px;
        margin: 25px auto;
    }

    .mm-table-title {
        font-size: 24px;
    }

    .mm-table th,
    .mm-table td {
        padding: 10px 12px;
        font-size: 15px;
    }

    .mm-table__col--savings {
        font-size: 16px;
    }
}
