/* Desktop: hamburger hidden; index nav keeps vertical sidebar layout. */
.mm-menu-btn {
    display: none;
}

.mm-nav a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.mm-sidebar .mm-nav {
    text-align: center;
    margin-top: 2.5em;
}

.mm-sidebar .mm-nav a {
    display: block;
    margin: 0.85em 0;
}

.mm-sidebar-support {
    text-align: center;
    margin-top: 2.5em;
}

@media (max-width: 768px) {
    body {
        font-size: 12pt !important;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    /* Re-order sections: header → main → about → site footer. */
    body > table[width="100%"] > tbody {
        display: flex;
        flex-direction: column;
    }

    body > table[width="100%"] > tbody > tr {
        display: contents;
    }

    body > table[width="100%"] td[background] {
        display: none !important;
    }

    .mm-sidebar {
        order: 1;
        display: block;
        width: 100% !important;
        padding: 10px 12px !important;
    }

    .mm-main {
        order: 2;
        display: block;
        width: 100% !important;
        max-width: 100vw;
        padding: 12px !important;
        overflow-x: hidden;
    }

    .mm-about {
        order: 3;
        display: block;
        width: 100% !important;
        padding: 12px !important;
    }

    .mm-site-footer {
        order: 4;
        display: block;
        width: 100% !important;
        padding: 12px !important;
        text-align: center;
    }

    /* Compact header: small logo + hamburger menu. */
    .mm-mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .mm-sidebar:not(:has(.mm-menu-btn)) .mm-mobile-header {
        justify-content: center;
    }

    .mm-logo {
        max-height: 72px;
        width: auto;
    }

    .mm-menu-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 2px solid #fff;
        border-radius: 8px;
        background: #63c03e;
        color: #fff;
        cursor: pointer;
        min-height: 44px;
    }

    .mm-menu-icon,
    .mm-menu-icon::before,
    .mm-menu-icon::after {
        display: block;
        width: 20px;
        height: 2px;
        background: #fff;
        border-radius: 1px;
        position: relative;
    }

    .mm-menu-icon::before,
    .mm-menu-icon::after {
        content: "";
        position: absolute;
        left: 0;
    }

    .mm-menu-icon::before {
        top: -6px;
    }

    .mm-menu-icon::after {
        top: 6px;
    }

    .mm-sidebar .mm-nav {
        display: none;
        margin-top: 0;
        padding: 8px 0 4px;
        text-align: left;
    }

    .mm-sidebar .mm-nav.mm-nav-open {
        display: block;
    }

    .mm-sidebar .mm-nav a {
        display: block;
        padding: 10px 4px;
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    }

    .mm-sidebar-support {
        display: none;
    }

    div[style*="float:right"] {
        float: none !important;
        text-align: right;
        margin-bottom: 10px;
    }

    /* Stack two-column content tables inside the main area. */
    .mm-main > table:not(.mm-plan-tabs):not(.mm-plan-panel):not(#table) > tbody > tr,
    .mm-main > table:not(.mm-plan-tabs):not(.mm-plan-panel):not(#table) > tr {
        display: block;
    }

    .mm-main > table:not(.mm-plan-tabs):not(.mm-plan-panel):not(#table) td {
        display: block;
        width: auto !important;
    }

    .mm-main .mm-col-spacer {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Vertical gap only (stacked columns on mobile). */
    .mm-main .mm-offer-col ul {
        margin-bottom: 0;
    }

    .mm-main .mm-stats-col {
        margin-top: 0;
        padding-top: 0;
    }

    .mm-main .mm-stats-col > p:first-child {
        margin-top: 1em;
        margin-bottom: 1em;
    }

    .mm-main .mm-stats-col > ul {
        margin-top: 0;
    }

    /* Plan tabs: single horizontal row, scroll if needed. */
    .mm-plan-tabs {
        width: 100% !important;
        max-width: 100%;
        display: block;
    }

    .mm-plan-tabs td {
        display: block;
        padding: 8px 8px 0 !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mm-plan-tabs .mm-plan-tab-row {
        display: flex;
        flex-wrap: nowrap;
        gap: 6px;
        min-width: min-content;
    }

    .mm-plan-tabs button.tab {
        flex: 0 0 auto;
        white-space: nowrap;
        font-size: 0.8rem;
        padding: 8px 12px;
        margin: 0;
        min-height: 40px;
    }

    /* Registration / plan panel (index and register pages). */
    .mm-plan-panel,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] {
        width: 100% !important;
        max-width: 100%;
        height: auto !important;
        table-layout: fixed;
        border-radius: 0 0 25px 25px !important;
        font-size: 0.8rem;
    }

    .mm-plan-panel input,
    .mm-plan-panel label,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] input,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] label {
        font-size: inherit;
    }

    .mm-plan-panel button,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] button {
        font-size: medium;
    }

    .mm-plan-panel > tbody > tr > td,
    .mm-plan-panel > tr > td,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] > tbody > tr > td,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] > tr > td {
        padding: 12px !important;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .mm-plan-panel h3,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] h3 {
        font-size: 1.15em;
        line-height: 1.4;
        margin-bottom: 16px !important;
        padding: 0 4px;
    }

    .mm-plan-panel .white,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] .white {
        max-width: 100%;
        border-radius: 20px;
        padding: 10px;
        font-size: inherit;
        font-weight: bold;
        line-height: 1.35;
    }

    .mm-plan-panel .white2,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] .white2 {
        max-width: 100%;
        border-radius: 80px;
        padding: 10px;
        font-size: small;
        font-style: italic;
        line-height: 1.45;
        margin-top: 1em;
        text-align: center;
    }

    .mm-plan-panel .white2 .example,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] .white2 .example {
        display: block;
    }

    .mm-plan-panel .example,
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] .example {
        font-size: medium;
        font-weight: bold;
    }

    .mm-plan-panel th span[style*="font-size:large"],
    .mm-main table[cellpadding="30"][style*="background-color: #66e038"] th span[style*="font-size:large"] {
        font-size: large !important;
    }

    .mm-registration-form,
    .mm-main .Dedicated.plan,
    .mm-main .Enterprise1.plan,
    .mm-main .Enterprise2.plan {
        max-width: 100%;
        line-height: 1.5;
    }

    .mm-registration-form span[style*="position:absolute"],
    .mm-main .Dedicated.plan span[style*="position:absolute"] {
        position: static !important;
        display: inline !important;
        margin-top: 0;
        margin-left: 0.2em;
    }

    .mm-registration-form span[style*="padding-left:30px"],
    .mm-registration-form .mm-subdomain-row,
    .mm-main .Dedicated.plan span[style*="padding-left:30px"],
    .mm-main .Dedicated.plan .mm-subdomain-row,
    .mm-main .Enterprise1.plan span[style*="padding-left:30px"],
    .mm-main .Enterprise2.plan span[style*="padding-left:30px"] {
        padding-left: 0 !important;
        display: block;
        margin-top: 0.65em;
    }

    .mm-domain-group {
        white-space: nowrap;
        display: inline;
    }

    .mm-domain-group input[type="text"] {
        width: 7em !important;
        max-width: 42% !important;
        margin-left: 0.2em;
    }

    .mm-domain-suffix {
        white-space: nowrap;
    }

    .mm-registration-form input[type="text"],
    .mm-registration-form input[type="email"],
    .mm-main .mm-registration-form input[type="text"],
    .mm-main .mm-registration-form input[type="email"],
    .mm-main .Dedicated.plan input[type="text"],
    .mm-main .Dedicated.plan input[type="email"],
    .mm-main .Enterprise1.plan input[type="text"],
    .mm-main .Enterprise1.plan input[type="email"],
    .mm-main .Enterprise2.plan input[type="text"],
    .mm-main .Enterprise2.plan input[type="email"] {
        width: 9em !important;
        max-width: 52% !important;
        display: inline-block;
        margin-top: 0;
        margin-left: 0.2em;
        vertical-align: baseline;
        box-sizing: border-box;
    }

    .mm-registration-form br + br,
    .mm-main .Dedicated.plan br + br,
    .mm-main .Enterprise1.plan br + br,
    .mm-main .Enterprise2.plan br + br {
        display: none;
    }

    /* Login and other non-registration forms keep full-width inputs. */
    .mm-main table:not([cellpadding="30"]) :not(.mm-login-box):not(.mm-login-row) > input[type="text"],
    .mm-main table:not([cellpadding="30"]) :not(.mm-login-box):not(.mm-login-row) > input[type="email"] {
        width: 100% !important;
        max-width: 100% !important;
        display: block;
        margin-top: 4px;
        box-sizing: border-box;
    }

    .mm-main .mm-login-row {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.5em;
    }

    .mm-main .mm-login-box input[type="email"],
    .mm-main .mm-login-row input[type="email"] {
        flex: 1 1 8em;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        display: inline-block !important;
        margin: 0 !important;
        vertical-align: middle;
    }

    .mm-main .mm-login-box button,
    .mm-main .mm-login-row button {
        flex: 0 0 auto;
        display: inline-block;
        white-space: nowrap;
        vertical-align: middle;
        margin: 0;
    }

    /* Stack monthly / annual subscription columns. */
    .mm-plan-panel table[style*="background-color: #66e038"][width="100%"]:not([class*="features"]) > tbody > tr,
    .mm-plan-panel table[style*="background-color: #66e038"][width="100%"]:not([class*="features"]) > tr,
    .mm-main table[cellpadding="30"] table[style*="background-color: #66e038"][width="100%"] > tbody > tr,
    .mm-main table[cellpadding="30"] table[style*="background-color: #66e038"][width="100%"] > tr {
        display: block;
    }

    .mm-plan-panel table[style*="background-color: #66e038"][width="100%"]:not([class*="features"]) th,
    .mm-main table[cellpadding="30"] table[style*="background-color: #66e038"][width="100%"] th {
        display: block;
        width: 100%;
        padding: 14px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }

    .mm-plan-panel table[class*="plan features"],
    .mm-plan-panel table[class*="plan features"] ul,
    .mm-plan-panel table[class*="plan features"] li,
    .mm-main table[cellpadding="30"] table[class*="plan features"],
    .mm-main table[cellpadding="30"] table[class*="plan features"] ul,
    .mm-main table[cellpadding="30"] table[class*="plan features"] li {
        font-size: inherit;
        line-height: 1.6em;
    }

    .mm-plan-panel table[class*="plan features"] ul,
    .mm-main table[cellpadding="30"] table[class*="plan features"] ul,
    table[class*="plan features"] ul.mm-features-list,
    table[class*="plan features"] ul {
        margin: 0 !important;
        padding-left: 1.6em;
    }

    #table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    hr {
        width: 100% !important;
        max-width: 100%;
    }

    p[style*="padding-left:40px"] {
        padding-left: 15px !important;
    }

    button:not(.mm-menu-btn):not(.tab) {
        min-height: 44px;
        padding: 10px 16px;
    }

    h1 {
        font-size: 1.5em;
    }

    h2 {
        font-size: 1.3em;
    }

    h3 {
        font-size: 1.1em;
    }
}
