/**
 * Shared Lite theme for informational pages (same typography/colors as download-apps & contact).
 * Loaded from Default-Template.Master; main column is wrapped with .mjt-page.
 */

/* --- Site shell & header (Default-Template) --- */
.mjt-shell {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    table-layout: auto;
}

.mjt-site-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    /* Primary nav bar sits inside .mjt-header-top-right; page body spacing from .mjt-page */
    padding: 0 0 0;
    margin-bottom: 4px;
    background: linear-gradient(135deg, rgba(6, 42, 38, 0.92) 0%, rgba(8, 22, 24, 0.88) 45%, rgba(12, 52, 48, 0.55) 100%);
    border: 1px solid rgba(125, 211, 192, 0.22);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

/* Home page header: darker/black tone (closer to in-game tabs). */
body.mjt-home .mjt-site-header {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.82) 0%, rgba(5, 24, 24, 0.84) 55%, rgba(10, 44, 42, 0.68) 100%);
    border-color: rgba(255, 255, 255, 0.14);
}

/* Header layout (big logo + bg_top.jpg like legacy Lite header) */
.mjt-header-top {
    display: grid;
    grid-template-columns: 249px 1fr;
    align-items: stretch;
    width: 100%;
}

.mjt-header-logo-link {
    display: block;
    line-height: 0;
    text-decoration: none !important;
}

.mjt-header-logo-img {
    display: block;
    width: 249px;
    height: 151px;
    border: 0;
}

.mjt-header-top-right {
    min-width: 0;
    width: 100%;
    height: 100%;
    min-height: 151px; /* match Logo.jpg height so bg_top aligns with logo column */
    box-sizing: border-box;
    /* No bottom padding â€” primary nav is pinned to column bottom (see nav margin-top: auto) */
    padding: 10px 16px 0;
    background: url("../images/lite/bg_top.jpg") right top / cover no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.mjt-home-cta {
    display: none;
    line-height: 0;
    padding-top: 6px; /* "go slower" â€“ a bit more space below nav */
}

body.mjt-home .mjt-home-cta { display: block; }

.mjt-home-cta img {
    display: block;
    width: 100%;
    max-width: 1000px;
    height: auto;
    border: 0;
}

.mjt-site-tagline {
    width: 100%;
    margin: 0;
    padding: 0 4px 2px;
    text-align: center;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: clamp(13px, 1.9vw, 17px);
    font-weight: 600;
    font-style: italic;
    letter-spacing: 0.04em;
    line-height: 1.35;
    color: rgba(244, 228, 192, 0.95) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.mjt-lang-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 10px;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
    /* Move language links lower in the header (more breathing room from top/tagline). */
    margin-top: 18px;
}

.mjt-lang-label {
    color: rgba(232, 244, 242, 0.75) !important;
    margin-right: 4px;
}

.mjt-lang-row a.language_links {
    color: rgba(232, 244, 242, 0.88) !important;
    text-decoration: none !important;
    padding: 3px 6px;
    border-radius: 6px;
    font-weight: 700;
}

.mjt-lang-row a.language_links:hover {
    color: #f4c47a !important;
    background: rgba(0, 0, 0, 0.2);
}

/* Default: flex row (e.g. if nav is ever moved outside the header-right column). */
.mjt-main-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 1px 2px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

/* Classic Lite header: primary nav inside .mjt-header-top-right (same DOM as legacy Lite master; ~1000px shell). */
.mjt-header-top-right > nav.mjt-main-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    text-align: center;
    padding: 10px 4px;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    border-top: 1px solid rgba(125, 211, 192, 0.28);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.42) 100%);
    box-sizing: border-box;
    align-self: stretch;
    gap: 2px 4px;
}

.mjt-header-top-right > nav.mjt-main-nav .main-nav-link {
    flex: 0 0 auto;
    margin: 0 0 6px;
}

.main-nav-link {
    font-family: Verdana, Arial, sans-serif;
    font-size: clamp(10px, 1.65vw, 12px);
    font-weight: 700;
    color: #f2f7fa !important;
    text-decoration: none !important;
    /* Slightly tighter so active state doesn't feel larger. */
    padding: 6px clamp(4px, 1.1vw, 9px);
    display: inline-block;
    flex: 0 0 auto;
    transition: color 0.2s ease, border-color 0.2s ease;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    position: relative;
    white-space: nowrap;
    border-radius: 999px;
    border: 1px solid transparent;
    box-sizing: border-box;
    line-height: 1;
}

@media (max-width: 720px) {
    .mjt-header-top {
        grid-template-columns: 1fr;
    }
    .mjt-header-logo-img {
        width: 100%;
        height: auto;
        max-width: 249px;
        margin: 0 auto;
    }
    .mjt-header-top-right {
        align-items: center;
        text-align: center;
    }
    .mjt-site-tagline { text-align: center; }
    .mjt-lang-row { justify-content: center; }
}

.main-nav-link:hover {
    color: #f4c47a !important;
    text-decoration: none !important;
    border-color: rgba(244, 196, 122, 0.35);
    background: rgba(0, 0, 0, 0.15);
}

.main-nav-link--active,
.main-nav-link--active:hover {
    color: #f4c47a !important;
    text-decoration: none !important;
    /* Keep the active state same size as others. */
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.mjt-page {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 22px 0 40px;
    font-size: 20px;
    line-height: 1.55;
    color: #e8f4f2 !important;
    box-sizing: border-box;
}

/* Rules/scoring pages: form sits in a centered table cell; force full cell width.
   Mahjong-Template uses id="frmMain"; other masters may use aspnetForm. */
form#aspnetForm,
form#frmMain {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.mjt-page h1 {
    margin: 0 0 14px;
    font-size: 35px;
    line-height: 1.2;
    color: #ffffff !important;
    font-weight: 700;
}

.mjt-page h2 {
    margin: 32px 0 14px;
    font-size: 27px;
    line-height: 1.25;
    color: #f4e8c0 !important;
    font-weight: 700;
    border-bottom: 1px solid rgba(125, 211, 192, 0.35);
    padding-bottom: 8px;
}

.mjt-page h3 {
    margin: 24px 0 12px;
    font-size: 22px;
    line-height: 1.3;
    color: #f4e8c0 !important;
    font-weight: 700;
}

.mjt-page p,
.mjt-page td,
.mjt-page th,
.mjt-page li,
.mjt-page div,
.mjt-page label {
    color: #e8f4f2 !important;
}

.mjt-page strong {
    color: #ffffff !important;
}

.mjt-page a {
    color: #7dd3c0 !important;
}

.mjt-page a:hover {
    color: #f4c47a !important;
}

/* Optional inner wrapper (legacy pages) */
.mjt-page .dl-wrap {
    max-width: none;
    margin: 0;
    padding: 0;
}

/* News: keep a comfortable readable width */
.mjt-page .dl-wrap.mjt-news-wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 22px 14px 40px;
}

/* Tournaments: keep centered readable width */
.mjt-page .dl-wrap.mjt-tournaments {
    max-width: 1120px;
    margin: 0 auto;
    padding: 18px 14px 40px;
}

/* Game Info: centered column; undo legacy menu tables (align=left + 210px) that leave a blank band */
.mjt-page .dl-wrap.mjt-game-info-wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 18px 14px 40px;
    width: 100%;
    box-sizing: border-box;
}

.mjt-game-info-wrap .dl-form-panel,
.mjt-game-info-wrap .dl-security {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Same horizontal gutter as intro panel so accordion lists arenâ€™t extra-indented */
.mjt-game-info-wrap .dl-security {
    padding: 18px 26px 20px;
}

/* Game Info intro (resource HTML): beat Lite theme global `a` / visited */
.mjt-game-info-wrap .mjt-rich-text a,
.mjt-game-info-wrap .mjt-rich-text a:link,
.mjt-game-info-wrap .mjt-rich-text a:visited {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mjt-game-info-wrap .mjt-rich-text a:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

.mjt-game-info-wrap .mjt-rich-text a:active {
    color: #f4e8c0 !important;
}

/* Resource menus (Game Info + rules/scoring sidebars): same as body links */
.mjt-game-info-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.mjt-game-info-menu li {
    margin: 7px 0;
    line-height: 1.45;
}

a.mjt-resource-link,
a.mjt-resource-link:link,
a.mjt-resource-link:visited {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    /* Force left alignment even under legacy <td align="center"> shells. */
    text-align: left !important;
}

a.mjt-resource-link:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

a.mjt-resource-link:active {
    color: #f4e8c0 !important;
}

/* Grouped left navigation section titles */
.mjt-nav-section {
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

.mjt-nav-title {
    margin: 10px 0 8px;
    padding: 8px 10px 6px;
    font-family: Verdana, Arial, sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(244, 228, 192, 0.95) !important;
    border-bottom: 1px solid rgba(125, 211, 192, 0.22);
}

/* Section lists stay vertical; the sections themselves will be placed in 3 columns. */
.mjt-nav-section .mjt-game-info-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}

.mjt-nav-section .mjt-game-info-menu li { margin: 0; }

/*
   Rules/scoring nav pills: the whole page shell often sits in <td align="center">, so .mjt-page
   inherits text-align:center. Reset that for the grouped nav card + lists (not only the <a>),
   so labels cannot stay visually centered. Hoisted (.mjt-wide-leftnav) + legacy green table.
*/
.mjt-wide-leftnav,
.mjt-wide-leftnav .mjt-nav-row,
.mjt-wide-leftnav .mjt-nav-section,
.mjt-page table[bgcolor="#5a9537"] .mjt-nav-section,
.mjt-page table[bgcolor="#5a9537"] .mjt-game-info-menu,
.mjt-page table[bgcolor="#5a9537"] .mjt-game-info-menu li {
    text-align: left !important;
}

/* Pill link labels: left-align inside each column. */
.mjt-nav-section .mjt-game-info-menu a.mjt-resource-link,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link,
.mjt-page table[bgcolor="#5a9537"] .mjt-game-info-menu a.mjt-resource-link,
.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu a.mjt-resource-link {
    /* Make the pill itself a left-starting container; this beats inherited centering. */
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    /* gap would offset flex children (Localized markup); keep flush left */
    gap: 0 !important;
    text-align: left !important;
}

/* One row / three columns container for Rules | Scoring | Help */
.mjt-nav-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    display: grid !important;
    /* Equal tracks + minmax(0,â€¦) so each column (and full-width pills) shares the same width */
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px clamp(10px, 2vw, 22px);
    align-items: start;
    justify-items: stretch;
    box-sizing: border-box;
}

@media (max-width: 680px) {
    .mjt-nav-row { grid-template-columns: 1fr; }
}

/* Full-width grouped nav container (injected above the legacy two-column table).
   Hoisted nav + article column are both stretched to 100% (see .mjt-page > rules below). */
.mjt-wide-leftnav {
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* ~10% tighter vertically than prior 18px / 14px / 14â€“16px padding */
    margin: 16px 0 13px;
    padding: 11px clamp(9px, 2.2vw, 14px) 14px;
    border-radius: 16px;
    border: 1px solid rgba(125, 211, 192, 0.48);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.09) 0%, transparent 38%),
        linear-gradient(148deg, rgba(10, 72, 68, 0.94) 0%, rgba(4, 22, 28, 0.92) 42%, rgba(16, 98, 88, 0.62) 100%);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.4) inset,
        0 1px 0 rgba(255, 255, 255, 0.1) inset,
        0 10px 36px rgba(0, 0, 0, 0.42),
        0 0 48px rgba(45, 212, 191, 0.14),
        0 0 72px rgba(251, 191, 36, 0.07);
    overflow-x: hidden;
    position: relative;
}

.mjt-wide-leftnav::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(120% 80% at 10% -20%, rgba(56, 189, 169, 0.22), transparent 55%),
        radial-gradient(90% 70% at 100% 0%, rgba(251, 191, 36, 0.12), transparent 50%);
}

.mjt-page > .mjt-wide-leftnav {
    width: 100% !important;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* Any hoisted nav under .mjt-page (covers odd whitespace/DOM so â€œ>â€ direct-child isnâ€™t required). */
.mjt-page.mjt-page--rules-wide-nav .mjt-wide-leftnav {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

/*
   Legacy two-column table: hiding the 242px rail with display:none can still leave the article
   cell sizing like a ~50% column. Force the row to flex so the visible cell is truly full width.
*/
.mjt-page--rules-wide-nav > table[width="100%"] {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    box-sizing: border-box;
}

.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Legacy article cell wraps content in table width="95%" â€” widen to match hoisted nav */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[width="95%"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Many legacy rules/scoring pages add inline `style="padding-right:20px"` on the article wrapper table,
   which keeps the content column visually narrower than the hoisted navigation card. Neutralize it. */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[style*="padding-right"],
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[style*="padding-left"],
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[style*="padding:"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*
   Some rewritten `.html` routes add extra wrapper tables/divs, so the selector above can miss.
   When the nav is hoisted (mjt-page--rules-wide-nav), force ANY centered 95%-width tables
   inside the article column to use the full available width.
*/
.mjt-page--rules-wide-nav table[width="95%"][align="center"],
.mjt-page--rules-wide-nav table[width="95%"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Direct child of .mjt-page only (hoisted nav); beats any stray width from legacy tables. */
.mjt-page > .mjt-wide-leftnav > .mjt-nav-row {
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    z-index: 1;
}

.mjt-wide-leftnav .mjt-nav-section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: relative;
    z-index: 1;
}

/* Tighter, brighter column titles inside the hoisted card */
.mjt-wide-leftnav .mjt-nav-title {
    margin: 6px 0 5px;
    /* Match pill horizontal inset (pills use padding ~6px 11px) so titles line up with link text */
    padding: 5px 11px 4px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #fff9ed !important;
    text-shadow:
        0 0 20px rgba(94, 234, 212, 0.35),
        0 0 28px rgba(251, 191, 36, 0.2),
        0 1px 2px rgba(0, 0, 0, 0.85);
    border-bottom: 1px solid rgba(125, 211, 192, 0.38);
    box-shadow: 0 1px 0 rgba(251, 191, 36, 0.12);
}

.mjt-wide-leftnav .mjt-nav-section .mjt-game-info-menu {
    gap: 6px;
}

/* Hoisted nav sits outside the legacy table â€” replicate pill styling here so links donâ€™t inherit
   .mjt-pageâ€™s large body font; current page uses same size â€” color-only .mjt-active-nav below. */
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link:link,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link:visited {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: left !important;
    padding: 6px 11px;
    border-radius: 999px;
    border: 1px solid rgba(125, 211, 192, 0.42);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(0, 0, 0, 0.32) 100%);
    font-family: Verdana, Arial, sans-serif !important;
    font-size: clamp(10px, 1.2vw, 12px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #d4f7f0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    justify-content: flex-start !important;
    align-items: center;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 2px 8px rgba(0, 0, 0, 0.2);
}

.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link:hover {
    color: #fff4d6 !important;
    border-color: rgba(251, 191, 36, 0.55);
    background: linear-gradient(180deg, rgba(251, 191, 36, 0.12) 0%, rgba(0, 0, 0, 0.4) 100%);
    box-shadow:
        0 0 0 1px rgba(251, 191, 36, 0.15) inset,
        0 0 18px rgba(45, 212, 191, 0.22),
        0 4px 14px rgba(0, 0, 0, 0.35);
    text-decoration: none !important;
    transform: translateY(-1px);
}

/* After JS moves nav out, hide legacy left rail even if another stylesheet sets table cell display. */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td[width="242"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
}

/* Main article column uses full row width once the 242px rail is gone. */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) {
    flex: 1 1 100%;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    display: block;
    box-sizing: border-box;
}

/* Rules pages: match article text inset to .mjt-wide-leftnav horizontal padding (same readable width as nav card). */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: clamp(9px, 2.2vw, 14px) !important;
    padding-right: clamp(9px, 2.2vw, 14px) !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[width="95%"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important; /* overrides inline padding-right:20px on many pages */
    box-sizing: border-box;
}

/* Legacy rules/scoring pages often add inline `padding-right:20px` on the inner content table.
   That makes the article appear narrower than the hoisted nav even when widths are 100%.
   Strip that padding (and similar inline left/right paddings) only on rules-wide pages. */
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[style*="padding-right"] {
    padding-right: 0 !important;
}
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) table[style*="padding-left"] {
    padding-left: 0 !important;
}
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) td[style*="padding-right"] {
    padding-right: 0 !important;
}
.mjt-page--rules-wide-nav > table[width="100%"] > tbody > tr > td:nth-child(2) td[style*="padding-left"] {
    padding-left: 0 !important;
}

/* Your page source shows the nav sections are inside nested `align="left"` tables.
   Those tables shrink-to-content (table layout), so the 3-column grid only uses ~1/3 width.
   Force the wrappers to behave like block containers spanning the full panel width. */
table[bgcolor="#5a9537"] td.home_head,
table[bgcolor="#5a9537"] td.home_head > table,
table[bgcolor="#5a9537"] td.home_head > table > tbody,
table[bgcolor="#5a9537"] td.home_head > table > tbody > tr,
table[bgcolor="#5a9537"] td.home_head > table > tbody > tr > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    float: none !important;
}

table[bgcolor="#5a9537"] td.home_head > table { margin: 0 !important; }

/* Current page in grouped nav: same type size as siblings â€” stronger teal/gold contrast */
a.mjt-resource-link.mjt-active-nav,
a.mjt-resource-link[aria-current="page"] {
    background: linear-gradient(
        165deg,
        rgba(251, 191, 36, 0.38) 0%,
        rgba(45, 212, 191, 0.28) 42%,
        rgba(8, 52, 56, 0.92) 100%
    ) !important;
    border: 2px solid rgba(251, 212, 132, 0.95) !important;
    color: #fffef6 !important;
    font-weight: 800 !important;
    font-size: clamp(10px, 1.2vw, 12px) !important;
    letter-spacing: 0.03em !important;
    text-align: left !important;
    position: relative;
    padding: 5px 10px !important;
    box-shadow:
        inset 0 0 0 1px rgba(255, 248, 220, 0.35),
        0 0 0 1px rgba(0, 0, 0, 0.35),
        0 0 22px rgba(251, 191, 36, 0.35),
        0 0 28px rgba(45, 212, 191, 0.28),
        0 4px 14px rgba(0, 0, 0, 0.45);
}

a.mjt-resource-link.mjt-active-nav::before,
a.mjt-resource-link[aria-current="page"]::before {
    content: none !important;
    display: none !important;
}

/* Hoisted: active pill matches sibling metrics (global rule sets color/background) */
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link.mjt-active-nav,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link[aria-current="page"] {
    transform: none !important;
}

/* Legacy green 3-column card: strip td inset so column headers align with pill labels */
.mjt-page table[bgcolor="#5a9537"] td.home_head {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Nested legacy wrapper table uses cellpadding="2"; drop horizontal inset so pills/titles share one edge */
.mjt-page table[bgcolor="#5a9537"] td.home_head table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mjt-page table[bgcolor="#5a9537"] .mjt-nav-title {
    margin-left: 0;
    margin-right: 0;
    text-align: left !important;
    padding: 8px 10px 6px;
    box-sizing: border-box;
}

/* Section wrapper: no extra horizontal inset vs titles (legacy nested tables often add phantom gap) */
.mjt-page table[bgcolor="#5a9537"] .mjt-nav-section {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* -------------------------------------------------------------------------
   Legacy rules/help sidebar: ONE ROW / THREE COLUMNS
   IMPORTANT: don't rely on :has(...) (browser support can vary).
   Target the real markup: td.home_head contains the green menu table (bgcolor="#5a9537").
   ------------------------------------------------------------------------- */
.mjt-page td.home_head table[bgcolor="#5a9537"] {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px clamp(10px, 2vw, 20px);
    padding: 11px clamp(9px, 2vw, 13px) 14px;
    border-radius: 14px;
    overflow-x: hidden;
    border: 1px solid rgba(125, 211, 192, 0.4) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 40%),
        linear-gradient(148deg, rgba(10, 72, 68, 0.88) 0%, rgba(4, 22, 28, 0.9) 100%) !important;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.35) inset,
        0 8px 28px rgba(0, 0, 0, 0.38),
        0 0 40px rgba(45, 212, 191, 0.1) !important;
}

.mjt-page td.home_head table[bgcolor="#5a9537"] > tbody > tr { display: contents; }

.mjt-page td.home_head table[bgcolor="#5a9537"] > tbody > tr > td {
    display: block;
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important; /* beats legacy inline padding-left:10px */
    margin: 0;
    box-sizing: border-box;
}

@media (max-width: 680px) {
    .mjt-page td.home_head table[bgcolor="#5a9537"] {
        grid-template-columns: 1fr;
    }
}

/* Critical: remove hard-coded legacy widths so the 3-column nav can use the full available space */
.mjt-page td[width="242"],
.mjt-page table[width="242"],
.mjt-page table[width="224"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Some pages wrap menus in extra inner tables aligned left */
.mjt-page td.home_head > table,
.mjt-page td.home_head > table > tbody,
.mjt-page td.home_head > table > tbody > tr,
.mjt-page td.home_head > table > tbody > tr > td {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.mjt-game-info-wrap .mjt-rich-text blockquote {
    margin: 14px 0;
    padding: 14px 16px 14px 18px;
    border-left: 4px solid rgba(125, 211, 192, 0.55);
    background: rgba(0, 0, 0, 0.18);
    border-radius: 0 12px 12px 0;
}

.mjt-game-info-wrap .mjt-accordion-body table {
    float: none !important;
    display: table;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    box-sizing: border-box;
}

.mjt-game-info-wrap .mjt-accordion-body td {
    text-align: left !important;
    vertical-align: top;
}

.mjt-game-info-wrap .mjt-accordion-body span[style*="244d01"] {
    color: #f4e8c0 !important;
    font-weight: 800 !important;
}

.mjt-game-info-wrap .mjt-accordion-body img[src*="line3.gif"] {
    display: none;
}

.mjt-game-info-wrap .mjt-accordion-body a.side_nav,
.mjt-game-info-wrap .mjt-accordion-body a.side_nav:link,
.mjt-game-info-wrap .mjt-accordion-body a.side_nav:visited {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mjt-game-info-wrap .mjt-accordion-body a.side_nav:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

/* Legacy side_nav inside accordions (if any page still emits it) */
.mjt-game-info-wrap .mjt-accordion-body a.side_nav:active,
.mjt-game-info-wrap .mjt-accordion-body a.mjt-resource-link:active {
    color: #f4e8c0 !important;
}

/* Home (index): full-width column under same header as other Lite pages; links match mjt-page */
.mjt-page .dl-wrap.mjt-home-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 8px 0 32px;
    width: 100%;
    box-sizing: border-box;
}

.mjt-home-wrap .mjt-home-main,
.mjt-home-wrap .mjt-home-games-grid,
.mjt-home-wrap .mjt-home-lower {
    margin-left: auto;
    margin-right: auto;
}

.mjt-home-wrap table {
    box-sizing: border-box;
}

.mjt-home-seo-intro {
    max-width: 980px;
    margin: 0 auto 16px;
    padding: 18px 22px;
    text-align: center;
    border: 1px solid rgba(125, 211, 192, 0.22);
    border-radius: 14px;
    background:
        radial-gradient(120% 90% at 10% -20%, rgba(56, 189, 169, 0.14), transparent 55%),
        linear-gradient(165deg, rgba(13, 44, 44, 0.86) 0%, rgba(8, 20, 24, 0.9) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 26px rgba(0, 0, 0, 0.34);
}

.mjt-home-seo-intro h1 {
    margin: 0 0 8px;
    color: #f4e8c0 !important;
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 900;
}

.mjt-home-seo-intro p {
    max-width: 820px;
    margin: 0 auto;
    color: rgba(242, 247, 250, 0.9) !important;
    font-size: 15px;
    line-height: 1.55;
}

/* -------------------------------------------------------------------------
   Home: Videos / News / Upcoming tournaments (modern card grid)
   ------------------------------------------------------------------------- */
.mjt-home-panels {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr 0.9fr 1.15fr;
    gap: 14px;
    align-items: stretch;
    box-sizing: border-box;
}

@media (max-width: 980px) {
    .mjt-home-panels { grid-template-columns: 1fr; }
}

.mjt-home-card {
    border-radius: 14px;
    border: 1px solid rgba(125, 211, 192, 0.22);
    background:
        radial-gradient(120% 90% at 10% -20%, rgba(56, 189, 169, 0.18), transparent 55%),
        radial-gradient(120% 90% at 100% 0%, rgba(251, 191, 36, 0.10), transparent 55%),
        linear-gradient(165deg, rgba(13, 44, 44, 0.88) 0%, rgba(8, 20, 24, 0.92) 55%, rgba(9, 46, 44, 0.72) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 12px 30px rgba(0, 0, 0, 0.42);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mjt-home-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(125, 211, 192, 0.16);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.12) 100%);
}

.mjt-home-card__title {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 12px;
    color: rgba(244, 228, 192, 0.96) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.mjt-home-card__body {
    padding: 10px 12px;
    flex: 1 1 auto;
    min-height: 210px;
    box-sizing: border-box;
}

.mjt-home-card__footer {
    padding: 10px 12px 12px;
    border-top: 1px solid rgba(125, 211, 192, 0.12);
    display: flex;
    justify-content: flex-end;
}

.mjt-home-card__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(251, 191, 36, 0.35);
    background: rgba(0, 0, 0, 0.22);
    color: #f4c47a !important;
    font-weight: 900;
    text-decoration: none !important;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.mjt-home-card__action:hover {
    transform: translateY(-1px);
    border-color: rgba(210, 250, 255, 0.55);
    background: rgba(0, 0, 0, 0.32);
    color: #fff4d6 !important;
}

/* Inner legacy controls emit fixed-width tables; make them fluid inside the new cards. */
.mjt-home-news table,
.mjt-home-tournaments table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse;
    table-layout: fixed;
}

.mjt-home-news td,
.mjt-home-tournaments td {
    font-size: 13px !important;
    line-height: 1.35;
    color: rgba(232, 244, 242, 0.92) !important;
    width: auto !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mjt-home-news a,
.mjt-home-tournaments a {
    color: rgba(232, 244, 242, 0.92) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.mjt-home-news a:hover,
.mjt-home-tournaments a:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

/* Home tournaments frame: promote header row to match card style */
.mjt-home-tournaments .mjt-tours-frame__head th {
    font-size: 12px !important;
    font-weight: 900 !important;
    color: rgba(232, 244, 242, 0.78) !important;
    letter-spacing: 0.02em;
    padding: 6px 6px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-align: left;
}

.mjt-home-tournaments .mjt-tours-frame__row td {
    padding: 6px 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.mjt-home-tournaments .mjt-tours-frame__row:last-child td {
    border-bottom: 0;
}

/* Video player container: keep a clean rounded viewport */
.mjt-home-video #playerContainer {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(0, 0, 0, 0.35);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.mjt-home-video iframe,
.mjt-home-video object,
.mjt-home-video embed {
    max-width: 100%;
}

.mjt-home-banner-img {
    display: block;
    width: 100%;
    max-width: 1000px;
    height: auto;
}

.mjt-home-wrap a.link_menu,
.mjt-home-wrap a.link_menu:link,
.mjt-home-wrap a.link_menu:visited {
    color: #7dd3c0 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.mjt-home-wrap a.link_menu:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

.mjt-home-wrap .home-card a {
    color: inherit;
}

.dl-beta {
    margin: 0 0 20px;
    padding: 16px 18px;
    background: linear-gradient(135deg, rgba(11, 129, 108, 0.45) 0%, rgba(10, 28, 28, 0.85) 100%);
    border: 1px solid rgba(125, 211, 192, 0.5);
    border-radius: 10px;
    font-size: 1.05em;
    line-height: 1.45;
}

.dl-beta-title {
    display: block;
    margin-bottom: 6px;
    font-size: 1.15em;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #fff6d0 !important;
}

.dl-table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 0.95em;
    background: linear-gradient(to bottom, #1F2D2C 0%, #2A3A38 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.dl-table th,
.dl-table td {
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 12px 14px;
    text-align: left;
    vertical-align: middle;
}

.dl-table th {
    background: #0A1C1C;
    color: #f0fffc !important;
    font-weight: bold;
    font-size: 1em;
}

.dl-table td {
    color: #e8f4f2 !important;
}

.dl-table td a {
    color: #7dd3c0 !important;
    font-weight: 600;
}

.dl-table td a:hover {
    text-decoration: underline;
    color: #f4c47a !important;
}

.dl-coming {
    color: #c8e8e0 !important;
    font-style: italic;
}

.dl-note {
    font-size: 17px;
    color: #c5e8e2 !important;
    margin-top: 10px;
}

.dl-steps {
    font-size: 17px;
    color: #c5e8e2 !important;
    margin: 12px 0 0;
    padding-left: 1.35em;
    line-height: 1.55;
}

.dl-steps li {
    margin: 0.55em 0;
}

.dl-store-row {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    align-items: flex-start;
}

.dl-store-box {
    flex: 1 1 240px;
    padding: 18px;
    background: rgba(0, 0, 0, 0.28);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.95em;
}

.dl-store-box strong {
    color: #f4e8c0 !important;
    font-size: 1.05em;
}

.dl-store-box p {
    margin: 10px 0 0;
    color: #e8f4f2 !important;
}

.dl-store-box a {
    color: #7dd3c0 !important;
}

.dl-security {
    margin: 28px 0 0;
    padding: 16px 18px;
    background: rgba(40, 24, 10, 0.55);
    border: 1px solid rgba(244, 196, 122, 0.45);
    border-radius: 10px;
    font-size: 0.98em;
    line-height: 1.5;
}

.dl-security strong {
    color: #ffe4b8 !important;
}

.dl-security ul {
    margin: 10px 0 0 1.2em;
    padding: 0;
}

.dl-security li {
    margin: 6px 0;
}

/* Contact & forms */
.dl-form-panel {
    margin: 18px 0;
    padding: 24px 26px 28px;
    background: linear-gradient(165deg, #1a2e2c 0%, #243836 45%, #1a2826 100%);
    border: 1px solid rgba(125, 211, 192, 0.28);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

.dl-form-panel,
.dl-form-panel td,
.dl-form-panel th,
.dl-form-panel label,
.dl-form-panel label span,
.dl-form-panel .dl-field-label,
.dl-form-panel .home_text,
.dl-form-panel .labels {
    color: #e8f4f2 !important;
}

.dl-form-panel .dl-field-label {
    font-size: 16px !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.dl-form-panel .contact-success-message {
    color: #ff4d4d !important;
    font-weight: 700;
}

.dl-form-panel label {
    font-size: 16px !important;
    cursor: pointer;
}

.dl-form-panel label span {
    margin-left: 2px;
    vertical-align: middle;
}

.dl-form-table {
    width: 100%;
    max-width: 760px;
    border-collapse: collapse;
}

.dl-form-table td {
    padding: 12px 14px;
    vertical-align: middle;
    color: #e8f4f2 !important;
}

.dl-form-table td.dl-form-label {
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
    width: 1%;
    color: #f2faf8 !important;
    font-size: 16px !important;
    padding-right: 18px;
}

.dl-form-table td.dl-form-field {
    width: 99%;
}

.dl-form-table input[type="text"],
.dl-form-table textarea {
    font-family: Verdana, Arial, sans-serif;
    font-size: 15px;
    color: #0a1414 !important;
    background: #ffffff;
    border: 1px solid rgba(125, 211, 192, 0.55);
    border-radius: 8px;
    padding: 10px 12px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

.dl-form-table input[type="text"]:focus,
.dl-form-table textarea:focus {
    outline: none;
    border-color: #7dd3c0;
    box-shadow: 0 0 0 2px rgba(125, 211, 192, 0.35);
}

.dl-form-table textarea {
    min-height: 150px;
    width: 100%;
    max-width: 440px;
    box-sizing: border-box;
}

.dl-form-table input[type="text"] {
    min-width: 260px;
    max-width: 100%;
    box-sizing: border-box;
}

.dl-form-table input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    accent-color: #2a9d8f;
}

.dl-form-panel .dl-contact-send {
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dl-form-panel .dl-contact-send:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}

/* Contact Us: themed Send button (replaces legacy image button). */
.dl-form-panel .dl-contact-send-btn {
    display: inline-block;
    appearance: none;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 10px;
    padding: 10px 18px;
    min-width: 140px;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.3px;
    color: #f2f7fa;
    background: linear-gradient(180deg, rgba(78, 207, 224, 0.34), rgba(26, 95, 110, 0.32));
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dl-form-panel .dl-contact-send-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
    border-color: rgba(210, 250, 255, 0.7);
}

.dl-form-panel .dl-contact-send-btn:active {
    transform: translateY(0);
}

.mjt-page .clsHint,
.mjt-page span[id*="lbl_Error"] {
    color: #ffb4a8 !important;
    font-size: 14px !important;
}

.dl-form-panel .clsHint {
    color: #ffc9b8 !important;
    font-size: 14px !important;
    display: block;
    margin-top: 4px;
    line-height: 1.35;
}

.mjt-page ul {
    margin: 12px 0 0 1.2em;
    padding: 0;
}

.mjt-page ul li {
    margin: 10px 0;
}

.dl-alt-box {
    margin-top: 28px;
    padding: 18px 20px;
    background: rgba(0, 0, 0, 0.28);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.dl-alt-box a.read_mo {
    font-size: 18px;
    font-weight: 700;
}

/* Two-column layout used by News (and similar pages). */
.mjt-two-col {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 18px;
    align-items: start;
}

@media (max-width: 980px) {
    .mjt-two-col {
        grid-template-columns: 1fr;
    }
}

.mjt-side-title {
    font-size: 18px;
    font-weight: 800;
    color: #e8ecef;
    margin-bottom: 10px;
}

.mjt-side-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mjt-side-links li {
    margin: 10px 0;
}

.mjt-side-links a {
    color: #7dd3c0;
    text-decoration: none;
    font-weight: 700;
}

.mjt-side-links a:hover {
    color: #f4c47a;
    text-decoration: underline;
}

/* News list styling */
.mjt-news-article {
    margin-bottom: 18px;
    padding: 16px 16px 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.20);
}

.mjt-news-title {
    font-size: 22px;
    font-weight: 900;
    color: #f2f7fa;
    margin: 0 0 10px;
}

.mjt-news-body {
    color: rgba(242, 247, 250, 0.92);
    font-size: 16px;
    line-height: 1.55;
}

.mjt-news-body a {
    color: #7dd3c0;
    font-weight: 800;
    word-break: break-word;
}

.mjt-news-body a:hover {
    color: #f4c47a;
    text-decoration: underline;
}

.mjt-news-date {
    margin-top: 12px;
    color: rgba(125, 211, 192, 0.95);
    font-weight: 700;
    font-size: 14px;
    text-align: right;
}

.mjt-news-list {
    margin-top: 12px;
}

.mjt-news-row {
    display: grid;
    grid-template-columns: 110px 1fr 70px;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mjt-news-row-date {
    color: rgba(242, 247, 250, 0.75);
    font-weight: 700;
    font-size: 14px;
}

.mjt-news-row-title {
    color: rgba(242, 247, 250, 0.92);
    font-weight: 700;
    font-size: 15px;
}

.mjt-news-row-read a {
    color: #7dd3c0;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.mjt-news-row-read a:hover {
    color: #f4c47a;
    text-decoration: underline;
}

.mjt-pager-wrap {
    margin-top: 18px;
    text-align: center;
}

.mjt-pager-wrap .mjt-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    max-width: 100%;
    margin: 0 auto;
}

.mjt-pager-wrap .mjt-pager-pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    max-width: 100%;
}

.mjt-pager-wrap .mjt-pager-edge {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
}

/* Legacy table pager (older pages) */
.mjt-pager-wrap table {
    width: auto !important;
    max-width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 6px 6px;
}

.mjt-pager-wrap td {
    padding: 0;
}

.mjt-pager-wrap b {
    font-weight: inherit;
}

.mjt-pager-wrap a {
    display: inline-block;
    min-width: 30px;
    padding: 6px 9px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(0, 0, 0, 0.18);
    color: rgba(242, 247, 250, 0.9);
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
    font-size: 13px;
}

.mjt-pager-wrap a u {
    text-decoration: none;
}

.mjt-pager-wrap a:hover {
    color: #f4c47a;
    border-color: rgba(210, 250, 255, 0.55);
    transform: translateY(-1px);
}

.mjt-pager-wrap a.IsCurrentPageTrue {
    background: rgba(125, 211, 192, 0.18);
    border-color: rgba(125, 211, 192, 0.75);
    color: #7dd3c0;
}

.mjt-pager-wrap a.IsCurrentPageTrue:hover {
    transform: none;
}

/* News: blog-like top bar + category chips */
.mjt-news-top {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.mjt-news-top-title {
    font-size: 22px;
    font-weight: 900;
    color: #f2f7fa;
}

.mjt-news-cats {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.mjt-chip {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(0, 0, 0, 0.22);
    color: #7dd3c0;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.mjt-chip:hover {
    color: #f4c47a;
    border-color: rgba(210, 250, 255, 0.55);
    text-decoration: none;
    transform: translateY(-1px);
}

/* Affiliate FAQs / Terms / Corporate: in-page subnav matches other chip rows */
.mjt-affiliate-subnav {
    margin: 0 0 22px;
    justify-content: flex-start;
}

.mjt-affiliate-subnav .mjt-chip[aria-current="page"] {
    background: rgba(125, 211, 192, 0.22) !important;
    border-color: rgba(125, 211, 192, 0.78) !important;
    color: #f4e8c0 !important;
    font-weight: 900;
    cursor: default;
}

.mjt-affiliate-subnav .mjt-chip[aria-current="page"]:hover {
    color: #f4e8c0 !important;
    transform: none;
    border-color: rgba(125, 211, 192, 0.78) !important;
}

/* Game Info: resource accordions */
.mjt-rich-text {
    color: rgba(242, 247, 250, 0.92);
    font-size: 16px;
    line-height: 1.6;
}

.mjt-resource-sections {
    margin-top: 12px;
    display: grid;
    gap: 10px;
}

.mjt-accordion {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.20);
    overflow: hidden;
}

.mjt-accordion > summary {
    cursor: pointer;
    padding: 12px 14px;
    font-weight: 900;
    color: #e8ecef;
    list-style: none;
}

.mjt-accordion > summary::-webkit-details-marker {
    display: none;
}

.mjt-accordion > summary:after {
    content: "â–¾";
    float: right;
    color: rgba(125, 211, 192, 0.95);
}

.mjt-accordion[open] > summary:after {
    content: "â–´";
}

.mjt-accordion-body {
    padding: 0 14px 12px;
}

/* Game Info: body aligns with intro copy â€” no extra side inset inside dl-security */
.mjt-game-info-wrap .mjt-accordion > summary {
    padding: 12px 0;
}

.mjt-game-info-wrap .mjt-accordion-body {
    padding: 0 0 14px;
}

.mjt-accordion-body a {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mjt-accordion-body a:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

.mjt-accordion-body a:active {
    color: #f4e8c0 !important;
}

/* Tournaments: restyle legacy fancy-green/tables to match Lite theme */
.mjt-tournaments .tour-header-row {
    margin-bottom: 10px;
}

.mjt-tournaments .tour-header-row b {
    font-weight: 900;
}

.mjt-tournaments select,
.mjt-tournaments .ajax__tab_body select {
    color: #e8ecef;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    padding: 6px 10px;
    height: auto !important;
}

.mjt-tournaments select:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(125, 211, 192, 0.35);
}

.mjt-tournaments .ajax__tab_header {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    padding: 0 0 10px !important;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-x: visible;
    overflow-y: visible;
    /* ~3 tabs per row (two rows for six main tabs); Styles2 loads later â€” use flex here */
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
    align-items: stretch;
    gap: 8px 10px;
}

/* Each tab strip cell: ~33% width so pills wrap into two rows on typical widths */
.mjt-tournaments .fancy .ajax__tab_header .ajax__tab_outer {
    flex: 1 1 calc(33.333% - 12px) !important;
    min-width: 140px;
    max-width: calc(33.333% - 8px);
    box-sizing: border-box;
}

/* Drop legacy green_left / green_right GIF tabs inside themed tournaments */
.mjt-tournaments .fancy-green .ajax__tab_header,
.mjt-tournaments .fancy-green .ajax__tab_hover .ajax__tab_outer,
.mjt-tournaments .fancy-green .ajax__tab_active .ajax__tab_outer,
.mjt-tournaments .fancy-green .ajax__tab_header .ajax__tab_outer,
.mjt-tournaments .fancy-green .ajax__tab_hover .ajax__tab_inner,
.mjt-tournaments .fancy-green .ajax__tab_active .ajax__tab_inner,
.mjt-tournaments .fancy-green .ajax__tab_header .ajax__tab_inner {
    background: transparent !important;
    background-image: none !important;
}

/* Undo tabs.css fixed 46px tab chrome + large margins (was sized for GIF tab ends) */
.mjt-tournaments .fancy .ajax__tab_active .ajax__tab_outer,
.mjt-tournaments .fancy .ajax__tab_header .ajax__tab_outer,
.mjt-tournaments .fancy .ajax__tab_hover .ajax__tab_outer {
    height: auto !important;
    min-height: 0 !important;
}

.mjt-tournaments .fancy .ajax__tab_active .ajax__tab_inner,
.mjt-tournaments .fancy .ajax__tab_header .ajax__tab_inner,
.mjt-tournaments .fancy .ajax__tab_hover .ajax__tab_inner {
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
}

.mjt-tournaments .fancy .ajax__tab_active .ajax__tab_tab,
.mjt-tournaments .fancy .ajax__tab_hover .ajax__tab_tab,
.mjt-tournaments .fancy .ajax__tab_header .ajax__tab_tab {
    margin: 0 8px 8px 0 !important;
}

.mjt-tournaments .ajax__tab_tab {
    background: rgba(0, 0, 0, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 999px !important;
    color: rgba(242, 247, 250, 0.92) !important;
    padding: 9px 14px !important;
    margin-right: 8px !important;
    margin-bottom: 8px !important;
    font-weight: 900 !important;
    font-size: 13px !important;
    text-transform: none !important;
    white-space: nowrap !important;
    max-width: 100%;
    box-sizing: border-box;
    word-break: normal;
}

.mjt-tournaments .ajax__tab_tab:hover {
    border-color: rgba(210, 250, 255, 0.55) !important;
    color: #f4c47a !important;
}

.mjt-tournaments .ajax__tab_active .ajax__tab_tab {
    background: rgba(125, 211, 192, 0.18) !important;
    border-color: rgba(125, 211, 192, 0.75) !important;
    color: #7dd3c0 !important;
}

/* Beats CSS/fancy/tabs.css `.fancy .ajax__tab_body { background:#fff }` (loaded after this file from the page head) */
.mjt-page .mjt-tournaments .fancy .ajax__tab_body,
.mjt-tournaments .fancy .ajax__tab_body {
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(10, 28, 28, 0.94) !important;
    color: #e8f4f2 !important;
    padding: 12px 12px 16px !important;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Styles2 `.sec` is a light gray panel - undo inside tournament tab bodies */
.mjt-tournaments .ajax__tab_body tr.sec,
.mjt-tournaments .ajax__tab_body tr.sec > td,
.mjt-tournaments .ajax__tab_body td.sec,
.mjt-tournaments .ajax__tab_body .tour_table td.sec {
    background: transparent !important;
    color: rgba(242, 247, 250, 0.92) !important;
    text-align: left !important;
    font-weight: 700 !important;
    padding: 10px 10px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.mjt-tournaments .ajax__tab_body tr.sec h2,
.mjt-tournaments .ajax__tab_body td.sec h2 {
    color: #f4e8c0 !important;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(125, 211, 192, 0.35) !important;
}

/* Tournament tables: override old bgcolor-based whites */
.mjt-tournaments .tour_table {
    border-collapse: separate;
    border-spacing: 0;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.mjt-tournaments .tour_table tr[bgcolor] {
    background: rgba(0, 0, 0, 0.18) !important;
}

.mjt-tournaments .tour_table td[bgcolor],
.mjt-tournaments .tour_table tr[bgcolor] td {
    background: transparent !important;
}

.mjt-tournaments .tour_table td {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 10px 10px;
    color: rgba(242, 247, 250, 0.92) !important;
    vertical-align: top;
}

.mjt-tournaments .tour_table tr:first-child td {
    background: rgba(0, 0, 0, 0.28) !important;
    font-weight: 900;
    color: #f2f7fa !important;
}

.mjt-tournaments .tour_table a {
    color: #7dd3c0 !important;
    font-weight: 800;
    text-decoration: none;
}

.mjt-tournaments .tour_table a:hover {
    color: #f4c47a !important;
    text-decoration: underline;
}

.mjt-tournaments .sec a {
    color: #7dd3c0 !important;
}

.mjt-tournaments .sec a:hover {
    color: #f4c47a !important;
}

/* Marathon score tables (div-table) â€” override Styles2.css (loads after this file) which uses
   display:table, float:left, white backgrounds â€” that clashes with grid and causes white patches */
.mjt-tournaments .mjt-empty {
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.18);
    color: rgba(242, 247, 250, 0.88);
    font-weight: 700;
    text-align: center;
}

/* Marathon year + season panels: replace legacy inline-block strip (often left a dead band top-right) */
.mjt-tournaments ul.marathonTour {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 14px 16px;
}

.mjt-tournaments li.marathonTour {
    display: block !important;
    flex: 1 1 min(280px, 100%);
    max-width: min(480px, 100%);
    margin: 0 !important;
    vertical-align: top;
    box-sizing: border-box;
}

.mjt-tournaments .div-table {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(10, 28, 28, 0.55) !important;
}

.mjt-tournaments .div-table-row {
    display: grid !important;
    grid-template-columns: 60px 70px 1fr 70px 70px;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    height: auto !important;
    line-height: normal !important;
}

.mjt-tournaments .div-table-col-header {
    float: none !important;
    display: block !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 10px;
    height: auto !important;
    line-height: normal !important;
    background: rgba(0, 0, 0, 0.35) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    color: #f2f7fa !important;
    font-weight: 900;
    font-size: 13px;
    text-align: center;
    vertical-align: middle;
}

.mjt-tournaments .div-table-col,
.mjt-tournaments .div-table-col2 {
    float: none !important;
    display: block !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 9px 10px;
    height: auto !important;
    line-height: normal !important;
    vertical-align: middle;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(242, 247, 250, 0.92) !important;
    font-weight: 700;
    font-size: 13px;
}

.mjt-tournaments .div-table-col {
    background: rgba(0, 0, 0, 0.12) !important;
}

.mjt-tournaments .div-table-col2 {
    background: rgba(255, 255, 255, 0.04) !important;
}

/* Rows 21+ â€œshow allâ€ bucket â€” avoid global .content rules in Styles2.css */
.mjt-tournaments .div-table .mjt-marathon-extra {
    display: none;
    width: 100%;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.08) !important;
    margin: 0;
    padding: 0;
}

.mjt-tournaments .div-table .mjt-marathon-extra .div-table-row {
    display: grid !important;
}

.mjt-tournaments .expander {
    text-align: center;
    padding: 10px 0 0;
}

.mjt-tournaments .expander a {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(0, 0, 0, 0.18);
    color: #7dd3c0 !important;
    font-weight: 900;
    text-decoration: none;
}

.mjt-tournaments .expander a:hover {
    color: #f4c47a !important;
    border-color: rgba(210, 250, 255, 0.55);
}

/* Home / index: keep nav link strip readable if inherited */
.mjt-page a.link_menu {
    color: #7dd3c0 !important;
}

.mjt-page a.link_menu:hover {
    color: #f4c47a !important;
}

/* Lite shell footer quick links: match content link colors */
.mjt-page td.bottom_text a,
.mjt-page td.bottom_text a:link,
.mjt-page td.bottom_text a:visited {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mjt-page td.bottom_text a:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

.mjt-page td.bottom_text .separator {
    color: rgba(232, 244, 242, 0.55) !important;
}

/* -------------------------------------------------------------------------
   Legacy Mahjong-Template pages (rules, scoring, FAQ, login, press, â€¦):
   old #5a9537 green left rail + two-column table. Unify with Lite theme
   without editing each .aspx.
   ------------------------------------------------------------------------- */
.mjt-page [bgcolor="#5a9537"],
.mjt-page td[bgcolor="#5a9537"],
.mjt-page table[bgcolor="#5a9537"] {
    background: rgba(0, 0, 0, 0.24) !important;
    background-color: rgba(0, 0, 0, 0.24) !important;
    border: 1px solid rgba(125, 211, 192, 0.32) !important;
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.mjt-page .home_head,
.mjt-page td.home_head {
    color: #f4e8c0 !important;
}

.mjt-page .home_text,
.mjt-page td.home_text,
.mjt-page .home_text td {
    color: #e8f4f2 !important;
    font-size: 16px !important;
}

.mjt-page .home_text h1,
.mjt-page td.home_text h1 {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.mjt-page .home_text a,
.mjt-page td.home_text a {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
}

.mjt-page .home_text a:hover,
.mjt-page td.home_text a:hover {
    color: #f4c47a !important;
}

.mjt-page .home_text_red,
.mjt-page td.home_text_red {
    color: #ffb4a8 !important;
}

/*
   Rules/help two-column layout: target the layout row by the nested green menu table (always present
   in the left rail). Avoid table:has([bgcolor]) â€” the attribute lives on an INNER table and some
   pipelines strip/normalize it so the outer table never matches â†’ flex "order" never runs â†’
   article stacks above nav (wrong).
*/
.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) {
    display: block;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 18px;
    align-items: stretch;
}

/* Left rail is always column 1, article column 2 â€” same DOM order as stacked visual order */
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) {
    width: 100% !important;
    max-width: 100%;
    display: block;
    box-sizing: border-box;
    order: 1;
}

.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(2) {
    width: 100% !important;
    max-width: 100%;
    display: block;
    box-sizing: border-box;
    order: 2;
}

/* Sidebar links (first column) */
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) a,
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) a:link,
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) a:visited {
    color: #7dd3c0 !important;
    font-size: clamp(13px, 1.35vw, 15px) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) a:hover {
    color: #f4c47a !important;
    text-decoration: underline !important;
}

/*
   Rules/help left rail: same visual language as header .main-nav-link â€” pill buttons, caps,
   no underline hover â€” reads as part of the Lite chrome (not a loose link list).
*/
/* Legacy rules/help pages: let the grouped nav control the list layout (grid) */
.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu li {
    line-height: 1.3;
}

.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu a.mjt-resource-link,
.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu a.mjt-resource-link:link,
.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu a.mjt-resource-link:visited {
    /* Must stay flex+flex-start: later â€œdisplay:blockâ€ used to win over earlier rules and looked centered/indented */
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: left !important;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid rgba(125, 211, 192, 0.35);
    background: rgba(0, 0, 0, 0.35);
    font-family: Verdana, Arial, sans-serif !important;
    font-size: clamp(10px, 1.45vw, 12px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #f2f7fa !important;
    text-decoration: none !important;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) .mjt-game-info-menu a.mjt-resource-link:hover {
    color: #f4c47a !important;
    border-color: rgba(244, 196, 122, 0.45);
    background: rgba(0, 0, 0, 0.48);
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.35);
    text-decoration: none !important;
}

.mjt-page > table[width="100%"]:has(tbody > tr:has(td table[bgcolor="#5a9537"])) td:nth-child(1) table[bgcolor="#5a9537"] tr + tr .mjt-game-info-menu {
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(125, 211, 192, 0.22);
}

/* Widen legacy sidebar tables so the now-horizontal menu can span the page */
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) > table[width="242"],
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) table[width="242"],
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) table[width="224"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* â€œGame infoâ€ GIF strip â€” redundant with global Game Info nav */
.mjt-page > table[width="100%"] > tbody > tr:has(td table[bgcolor="#5a9537"]) > td:nth-child(1) img[src*="game_info"] {
    display: none;
}

.mjt-page iframe[src*="youtube"],
.mjt-page iframe[src*="youtu.be"] {
    max-width: 100%;
    border: 0;
}

/* -------------------------------------------------------------------------
   Legacy green rules/scoring/help nav â€” final alignment pass (keep at EOF).
   Ensures column headings + pills share the same left edge; wins over theme CSS order.
   ------------------------------------------------------------------------- */
.mjt-page td.home_head table[bgcolor="#5a9537"] .mjt-nav-title,
.mjt-page table[bgcolor="#5a9537"] .mjt-nav-title {
    text-align: left !important;
}

.mjt-page table[bgcolor="#5a9537"] ul.mjt-game-info-menu,
.mjt-page table[bgcolor="#5a9537"] ul.mjt-game-info-menu > li {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.mjt-page table[bgcolor="#5a9537"] .mjt-game-info-menu a.mjt-resource-link {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* -------------------------------------------------------------------------
   Hoisted nav (.mjt-wide-leftnav): JS (mahjong.main.js NormalizeGroupedLeftNav) MOVES
   .mjt-nav-section nodes OUT of table[bgcolor="#5a9537"], so rules scoped only to that
   table never hit the visible DOM. Align titles + pills here.
   ------------------------------------------------------------------------- */
.mjt-wide-leftnav .mjt-nav-section {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.mjt-wide-leftnav ul.mjt-game-info-menu,
.mjt-wide-leftnav ul.mjt-game-info-menu > li {
    margin: 0 !important;
    margin-inline-start: 0 !important;
    padding: 0 !important;
    padding-inline-start: 0 !important;
    list-style: none !important;
}

.mjt-wide-leftnav .mjt-nav-title {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Match pill horizontal inset (see .mjt-game-info-menu a padding below) */
    padding-left: 11px !important;
    padding-right: 11px !important;
}

.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link:link,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link:visited {
    gap: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
}

.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link.mjt-active-nav,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link[aria-current="page"] {
    /* Match pill box height (2px border vs 1px default â€” slightly tighter vertical padding) */
    padding: 5px 10px !important;
}

/* Full-width pills: every column uses the same track width */
.mjt-wide-leftnav .mjt-nav-section .mjt-game-info-menu,
.mjt-wide-leftnav .mjt-nav-section .mjt-game-info-menu > li,
.mjt-wide-leftnav .mjt-game-info-menu a.mjt-resource-link {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* -------------------------------------------------------------------------
   Payment / subscription checkout (Mahjong-Subscription + legacy panels)
   ------------------------------------------------------------------------- */

/* Legacy pale-green panels (Deposit, Buy, etc.) — readable text on light bg */
.mjt-page [bgcolor="#e7f2e3"],
.mjt-page [bgcolor="#E7F2E3"],
.mjt-page [bgcolor="#d5e2d1"],
.mjt-page [bgcolor="#D5E2D1"] {
    color: #243028 !important;
}

.mjt-page [bgcolor="#e7f2e3"] td,
.mjt-page [bgcolor="#E7F2E3"] td,
.mjt-page [bgcolor="#e7f2e3"] label,
.mjt-page [bgcolor="#E7F2E3"] label,
.mjt-page [bgcolor="#e7f2e3"] span,
.mjt-page [bgcolor="#E7F2E3"] span,
.mjt-page [bgcolor="#d5e2d1"] td,
.mjt-page [bgcolor="#D5E2D1"] td {
    color: #243028 !important;
}

.mjt-page [bgcolor="#e7f2e3"] .dephead,
.mjt-page [bgcolor="#e7f2e3"] .dephead2,
.mjt-page [bgcolor="#E7F2E3"] .dephead,
.mjt-page [bgcolor="#E7F2E3"] .dephead2,
.mjt-page [bgcolor="#e7f2e3"] .home_text,
.mjt-page [bgcolor="#E7F2E3"] .home_text,
.mjt-page [bgcolor="#d5e2d1"] .dephead,
.mjt-page [bgcolor="#D5E2D1"] .dephead,
.mjt-page [bgcolor="#d5e2d1"] .dephead2,
.mjt-page [bgcolor="#D5E2D1"] .dephead2,
.mjt-page [bgcolor="#d5e2d1"] .home_text,
.mjt-page [bgcolor="#D5E2D1"] .home_text,
.mjt-page [bgcolor="#d5e2d1"] label,
.mjt-page [bgcolor="#D5E2D1"] label,
.mjt-page [bgcolor="#d5e2d1"] span,
.mjt-page [bgcolor="#D5E2D1"] span {
    color: #243028 !important;
}

.mjt-page [bgcolor="#d5e2d1"] a,
.mjt-page [bgcolor="#D5E2D1"] a {
    color: #1a5c42 !important;
}

.mjt-page [bgcolor="#e7f2e3"] a,
.mjt-page [bgcolor="#E7F2E3"] a {
    color: #1a5c42 !important;
}

.mjt-page [bgcolor="#e7f2e3"] .clsHint,
.mjt-page [bgcolor="#E7F2E3"] .clsHint {
    color: #c41e1c !important;
}

/*
   Checkout flow — Mahjong-Subscription.aspx, Mahjong-Deposit.aspx, Mahjong-Buy.aspx.
   All rules are scoped under .mjt-page .subscription-checkout-page (inside cphMain).
   Do not use body/html/form/table/td/a selectors without that prefix.
   The site header lives outside .mjt-page and must never be targeted here.
*/
.mjt-page .subscription-checkout-page {
    position: relative;
    width: 100%;
    max-width: 920px;
    margin: 20px auto 32px;
    padding: 20px 16px 28px;
    box-sizing: border-box;
    border-radius: 12px;
    background:
        radial-gradient(ellipse 90% 55% at 50% 0%, rgba(72, 160, 140, 0.2) 0%, transparent 58%),
        radial-gradient(ellipse 120% 80% at 50% 100%, rgba(8, 40, 36, 0.45) 0%, transparent 55%);
}

.mjt-page .subscription-checkout-page .subscription-checkout-card {
    background: linear-gradient(180deg, #fafdfa 0%, #f2f9ef 100%);
    border: 1px solid rgba(42, 125, 79, 0.28);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.65);
    padding: 28px 32px 32px;
    box-sizing: border-box;
    color: #243028;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card td,
.mjt-page .subscription-checkout-page .subscription-checkout-card th,
.mjt-page .subscription-checkout-page .subscription-checkout-card label,
.mjt-page .subscription-checkout-page .subscription-checkout-card p,
.mjt-page .subscription-checkout-page .subscription-checkout-card li,
.mjt-page .subscription-checkout-page .subscription-checkout-card span,
.mjt-page .subscription-checkout-page .subscription-checkout-card div {
    color: #243028 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Undo global Lite .home_text light color inside checkout card (Deposit billing labels) */
.mjt-page .subscription-checkout-page .subscription-checkout-card .home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card label.home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card .home_text td {
    color: #243028 !important;
    font-size: 14px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card a {
    color: #1a5c42 !important;
    font-weight: 600 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card a:hover {
    color: #0d3d2c !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card strong {
    color: #1a3d2e !important;
}

/* Payment landing: replace legacy pale table frame with the current Lite card style. */
.mjt-page .payment-landing-page {
    width: calc(100% - 32px) !important;
    max-width: 920px;
    margin: 20px auto 32px;
    background: transparent !important;
    border-collapse: separate;
    border-spacing: 0;
}

.mjt-page .payment-landing-page .payment-landing-frame-edge,
.mjt-page .payment-landing-page .payment-landing-frame-side {
    display: none !important;
}

.mjt-page .payment-landing-page .payment-landing-card {
    width: 100% !important;
    padding: 32px 38px !important;
    box-sizing: border-box;
    border: 1px solid rgba(125, 211, 192, 0.26);
    border-radius: 14px;
    background:
        radial-gradient(90% 80% at 85% 35%, rgba(125, 211, 192, 0.12), transparent 58%),
        linear-gradient(165deg, rgba(13, 44, 44, 0.94) 0%, rgba(8, 20, 24, 0.96) 58%, rgba(9, 46, 44, 0.86) 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 16px 42px rgba(0, 0, 0, 0.42);
    color: rgba(242, 247, 250, 0.92) !important;
}

.mjt-page .payment-landing-page .payment-landing-card table {
    background: transparent !important;
}

.mjt-page .payment-landing-page .payment-landing-card td,
.mjt-page .payment-landing-page .payment-landing-card div,
.mjt-page .payment-landing-page .payment-landing-card p,
.mjt-page .payment-landing-page .payment-landing-card span,
.mjt-page .payment-landing-page .payment-landing-card .sec,
.mjt-page .payment-landing-page .payment-landing-card .small {
    background: transparent !important;
    color: rgba(242, 247, 250, 0.92) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.mjt-page .payment-landing-page .payment-landing-card h3,
.mjt-page .payment-landing-page .payment-landing-card .dephead,
.mjt-page .payment-landing-page .payment-landing-card .new_sign_in_head2 {
    color: #f4e8c0 !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.mjt-page .payment-landing-page .payment-landing-card h3 {
    margin: 14px 0 18px !important;
    font-size: 24px !important;
}

.mjt-page .payment-landing-page .payment-landing-card .dephead,
.mjt-page .payment-landing-page .payment-landing-card .new_sign_in_head2 {
    font-size: 18px !important;
}

.mjt-page .payment-landing-page .payment-landing-card .tabl_head,
.mjt-page .payment-landing-page .payment-landing-card .menu_links,
.mjt-page .payment-landing-page .payment-landing-card span[id*="lblAmount"],
.mjt-page .payment-landing-page .payment-landing-card span[id*="lblCoins"],
.mjt-page .payment-landing-page .payment-landing-card span[id*="lblChips"] {
    color: #7dd3c0 !important;
    font-weight: 900 !important;
}

.mjt-page .payment-landing-page .payment-landing-card a {
    color: #7dd3c0 !important;
    font-weight: 700 !important;
    text-decoration: underline;
}

.mjt-page .payment-landing-page .payment-landing-card a:hover {
    color: #f4e8c0 !important;
}

.mjt-page .payment-landing-page .payment-landing-subscription {
    max-width: 760px;
    margin: 0 auto;
    padding: 4px 0 0;
    text-align: left;
}

.mjt-page .payment-landing-page .payment-landing-subscription,
.mjt-page .payment-landing-page .payment-landing-subscription p,
.mjt-page .payment-landing-page .payment-landing-subscription b,
.mjt-page .payment-landing-page .payment-landing-subscription span,
.mjt-page .payment-landing-page .payment-landing-subscription div {
    color: rgba(242, 247, 250, 0.94) !important;
}

.mjt-page .payment-landing-page .payment-landing-subscription b {
    color: #f4e8c0 !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
}

.mjt-page .payment-landing-page .payment-landing-success-title {
    display: inline-block;
    margin-top: 6px;
    color: #f4e8c0 !important;
    font-size: 22px !important;
}

.mjt-page .payment-landing-page .payment-landing-card input[type="image"] {
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.35));
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-main {
    width: 100% !important;
    border: 0;
    border-collapse: collapse;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-header-cell {
    padding: 0 0 20px !important;
    border-bottom: 1px solid #c5dcc0;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-title {
    display: block;
    margin: 0 0 6px !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #1a4d3a !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-subtitle {
    margin: 0 0 14px;
    font-size: 15px !important;
    color: #4a5c52 !important;
    font-weight: 400 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-security {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #d4e8cf;
    border-radius: 8px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-security-text {
    font-size: 13px !important;
    color: #3d5c52 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-section-cell {
    padding: 18px 0 4px !important;
    vertical-align: top !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-section {
    margin: 0;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-section-title,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.dephead2 {
    margin: 0 0 12px !important;
    padding: 0 0 8px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #1a4d3a !important;
    border-bottom: 2px solid #b8d4b0;
}

/* Deposit: amount panel + promo block */
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-promo-wrap,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-card {
    background: #ffffff;
    border: 1px solid #8ab898;
    border-radius: 10px;
    padding: 14px 16px;
    margin: 8px 0 14px;
    box-sizing: border-box;
    max-width: 640px;
    box-shadow: 0 2px 8px rgba(26, 77, 58, 0.08);
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.choosepay,
.mjt-page .subscription-checkout-page .subscription-checkout-card .choosepay {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-text {
    color: #4a5c52 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 0 12px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-label {
    color: #243028 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-input,
.mjt-page .subscription-checkout-page .subscription-checkout-card .ammbord,
.mjt-page .subscription-checkout-page .subscription-checkout-card input[type="text"],
.mjt-page .subscription-checkout-page .subscription-checkout-card input[type="password"],
.mjt-page .subscription-checkout-page .subscription-checkout-card select {
    min-height: 36px;
    padding: 8px 10px !important;
    font-size: 14px !important;
    color: #1a2e28 !important;
    background: #fff !important;
    border: 1px solid #7a9482 !important;
    border-radius: 6px !important;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-input {
    width: 140px;
    max-width: 100%;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-promo-validators {
    margin-top: 6px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table {
    width: 100%;
    border-collapse: collapse;
}

/* Deposit amount radios: same row layout as payment method */
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table {
    border-collapse: collapse !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table tr,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table tr {
    display: table-row !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table td,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table td {
    display: table-cell !important;
    color: #243028 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    vertical-align: middle !important;
    padding: 6px 10px 6px 0 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table td:first-child,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table td:first-child {
    padding-right: 14px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table label,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table label {
    display: inline-flex !important;
    align-items: center !important;
    color: #243028 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    gap: 8px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount table input[type="radio"],
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-deposit-amount-table table input[type="radio"] {
    float: none !important;
    display: inline-block !important;
    margin: 0 !important;
    accent-color: #2a7d4f;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card #moneySymbol,
.mjt-page .subscription-checkout-page .subscription-checkout-card span#moneySymbol {
    color: #243028 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card #divDeposit,
.mjt-page .subscription-checkout-page .subscription-checkout-card #divDepositContent,
.mjt-page .subscription-checkout-page .subscription-checkout-card #divCoinsContent {
    color: #243028 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.deposit_new,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.deposit_new td,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.deposit_new th {
    color: #243028 !important;
    background: #fff !important;
    border-color: #8ab898 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-section--payment {
    margin-bottom: 4px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table > tbody > tr > td {
    padding: 12px 14px !important;
    vertical-align: middle !important;
}

/* RadioButtonList inner table: radio + "Credit Cards" label on same row */
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table tr {
    display: table-row !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table td {
    display: table-cell !important;
    width: auto !important;
    max-width: none !important;
    padding: 8px 10px 8px 0 !important;
    vertical-align: middle !important;
    white-space: normal;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table td:first-child {
    width: 28px !important;
    padding-right: 14px !important;
    white-space: nowrap;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table td:last-child {
    padding-left: 4px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 0 4px !important;
    padding-left: 6px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer;
    line-height: 1.35 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table table input[type="radio"] {
    display: inline-block !important;
    float: none !important;
    margin: 0 !important;
    vertical-align: middle !important;
    accent-color: #2a7d4f;
    flex-shrink: 0;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-payment-table img {
    max-height: 22px;
    width: auto;
    vertical-align: middle;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-plans-wrap {
    max-width: 720px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-plan-type {
    margin: 0 0 10px;
    font-size: 14px !important;
    color: #4a5c52 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 0 12px !important;
    border: 2px solid #2a7d4f !important;
    border-radius: 10px !important;
    border-collapse: separate !important;
    background: linear-gradient(180deg, #ffffff 0%, #f0f8ed 100%) !important;
    box-shadow: 0 4px 14px rgba(42, 125, 79, 0.1);
    overflow: hidden;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card--sale {
    border-color: #4caf50 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4fff4 100%) !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card tr.subscription-plan-card__body td {
    padding: 14px 18px !important;
    vertical-align: middle !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__detail {
    width: 62% !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__price {
    width: 38% !important;
    text-align: right !important;
    white-space: nowrap;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__detail strong {
    font-size: 17px !important;
    color: #1a4d3a !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__tagline {
    font-size: 14px !important;
    color: #5a6b62 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__amount,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card [data-discounted-price] {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #1a6b42 !important;
    line-height: 1.15 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card tr.subscription-plan-card__terms td {
    padding: 10px 18px 14px !important;
    border-top: 1px solid #d4e8cf !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #5a6b62 !important;
    font-style: italic;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card--sale tr:first-child td {
    padding: 12px 18px !important;
    text-align: center !important;
    border-bottom: 1px solid #c8e6c9 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2e7d32 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.choosepay#Table3 {
    max-width: 680px;
    margin-bottom: 8px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form img[src*="w_bar"] {
    display: none !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-billing-wrap {
    background: #ffffff;
    border: 1px solid #cfe0cb;
    border-radius: 10px;
    padding: 14px 16px 10px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr:has(td[height="1"]) {
    display: none !important;
}

/* Legacy 5-column table: cols 1+4 are decor; col 5 holds validators. Flex rows keep errors under inputs. */
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr:not(:has(td[colspan])) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:first-child,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(4) {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(2) {
    flex: 0 0 34% !important;
    width: 34% !important;
    max-width: 34% !important;
    box-sizing: border-box !important;
    text-align: right !important;
    padding: 6px 12px 6px 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
    font-weight: 600 !important;
    color: #243028 !important;
    white-space: nowrap;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(2) .home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form label {
    color: #243028 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(3) {
    flex: 1 1 66% !important;
    width: 66% !important;
    max-width: 66% !important;
    box-sizing: border-box !important;
    padding: 6px 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(5) {
    flex: 0 0 66% !important;
    width: 66% !important;
    max-width: 66% !important;
    margin-left: 34% !important;
    box-sizing: border-box !important;
    display: block !important;
    padding: 2px 0 10px !important;
    background: transparent !important;
    text-align: left !important;
    vertical-align: top !important;
}

/* Validator spans only (have server id). Do NOT force display — ASP.NET hides valid errors with inline display:none. */
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(5) span.clsHint[id],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts span.clsHint[id] {
    line-height: 1.35 !important;
    margin: 0 0 2px !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form span.clsHint[id][style*="display:none"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form span.clsHint[id][style*="display: none"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form span.clsHint[id][style*="visibility:hidden"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form span.clsHint[id][style*="visibility: hidden"] {
    display: none !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form input[type="text"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form input[type="password"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form select {
    width: 100% !important;
    max-width: 320px;
    min-height: 36px;
    padding: 8px 10px !important;
    font-size: 14px !important;
    color: #1a2e28 !important;
    background: #fff !important;
    border: 1px solid #9ca799 !important;
    border-radius: 6px !important;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr[colspan] td,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td[colspan] {
    display: block !important;
    grid-column: 1 / -1;
    background: transparent !important;
    border: 0;
    padding: 8px 0 0 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .clsHint {
    color: #c41e1c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Confirm + credit-card step (plhSubmit): undo Lite .home_text light color on pale-green rows */
.mjt-page .subscription-checkout-page .subscription-checkout-card .home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card span.home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card .home_text td,
.mjt-page .subscription-checkout-page .subscription-checkout-card .dephead2,
.mjt-page .subscription-checkout-page .subscription-checkout-card span.dephead2,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.dephead2,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.sec,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.sec a,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) .home_text,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) label {
    color: #243028 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card td.sec a,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) a {
    color: #1a5c42 !important;
    font-weight: 600 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .dephead2,
.mjt-page .subscription-checkout-page .subscription-checkout-card span.dephead2,
.mjt-page .subscription-checkout-page .subscription-checkout-card td.dephead2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a3d2e !important;
}

/* Credit-card table (legacy pay_proc, not billing form) */
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) {
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto 12px !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: #ffffff;
    border: 1px solid #cfe0cb;
    border-radius: 10px;
    padding: 14px 16px 10px;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) img[src*="w_bar"] {
    display: none !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr:not(:has(td[colspan])) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td:first-child,
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td:nth-child(4) {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr:has(td[height="1"]) {
    display: none !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td[bgcolor="#D5E2D1"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td[bgcolor="#d5e2d1"] {
    background: transparent !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td:nth-child(2) {
    flex: 0 0 38% !important;
    width: 38% !important;
    max-width: 38% !important;
    text-align: right !important;
    padding: 6px 12px 6px 0 !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td:nth-child(3) {
    flex: 1 1 62% !important;
    width: 62% !important;
    max-width: 62% !important;
    padding: 6px 0 !important;
    box-sizing: border-box !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td:nth-child(5),
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td.paddingfromlefts {
    flex: 0 0 62% !important;
    width: 62% !important;
    max-width: 62% !important;
    margin-left: 38% !important;
    display: block !important;
    padding: 2px 0 10px !important;
    box-sizing: border-box !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) > tbody > tr > td[colspan] {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    padding: 8px 0 0 !important;
    display: block !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) input[type="text"],
.mjt-page .subscription-checkout-page .subscription-checkout-card table.pay_proc:not(.subscription-billing-form) select {
    width: 100% !important;
    max-width: 320px;
    min-height: 36px;
    padding: 8px 10px !important;
    font-size: 14px !important;
    color: #1a2e28 !important;
    background: #fff !important;
    border: 1px solid #9ca799 !important;
    border-radius: 6px !important;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .read_mo {
    color: #a1201d !important;
    font-weight: 700 !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-actions {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #c5dcc0;
    max-width: 680px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-terms {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 8px;
    border: 1px solid #d4e8cf;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-terms-text {
    font-size: 13px !important;
    color: #4a5c52 !important;
    font-style: italic;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-terms-link {
    text-decoration: underline !important;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-submit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px 28px;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-continue-btn {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-continue-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
}

.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-header br,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-section br,
.mjt-page .subscription-checkout-page .subscription-checkout-card .subscription-checkout-actions br {
    display: none;
}

.mjt-page .subscription-checkout-page .subscription-checkout-card table[width="95%"] {
    width: 100% !important;
}

@media (max-width: 720px) {
    .mjt-page .subscription-checkout-page .subscription-checkout-card {
        padding: 20px 16px 24px;
    }

    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(2),
    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(3) {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }

    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts,
    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-billing-form > tbody > tr > td:nth-child(5) {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        padding: 2px 0 10px !important;
    }

    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__detail,
    .mjt-page .subscription-checkout-page .subscription-checkout-card table.subscription-plan-card .subscription-plan-card__price {
        width: auto !important;
        display: block;
        text-align: left !important;
    }
}

/*
   Deposit page — compact layout (Mahjong-Deposit.aspx only).
*/
.mjt-page .subscription-checkout-page.deposit-page {
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-page-panel {
    max-width: 960px;
    margin: 36px auto 60px auto;
    padding: 24px 26px 42px 26px;
    background: #ffffff;
    border: 1px solid #9fc79f;
    border-radius: 12px;
    box-sizing: border-box;
    color: #103b34;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-page-title {
    display: block;
    margin: 0 0 4px 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: bold;
    color: #0b4b43 !important;
    border: 0;
    padding: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-subtitle {
    margin: 0 0 16px 0;
    font-size: 16px;
    color: #204c45 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .security-note {
    border: 1px solid #c7dfc7;
    border-radius: 7px;
    padding: 10px 14px;
    margin: 16px 0 20px 0;
    background: #ffffff;
    color: #103b34 !important;
    font-size: 14px;
    line-height: 1.45;
}

.mjt-page .subscription-checkout-page.deposit-page .security-note a {
    color: #006b5f !important;
    font-weight: bold;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap {
    width: 760px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap,
.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap * {
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap .deposit-section-title {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin: 18px 0 6px 0;
    color: #000000 !important;
    border: 0;
    padding: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap .deposit-section-title:first-of-type {
    margin-top: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap .deposit-section-line {
    border: 0;
    border-top: 1px solid #9cc79c;
    margin: 0 0 12px 0;
    height: 0;
    background: transparent;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap .deposit-section-card {
    width: 100%;
    background: #ffffff !important;
    border: 1px solid #8fbd8f !important;
    border-radius: 7px !important;
    padding: 18px 24px !important;
    margin: 0 0 20px 0 !important;
    text-align: left;
    box-shadow: none !important;
    float: none !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Kill nested checkout boxes on deposit page */
.mjt-page .subscription-checkout-page.deposit-page .subscription-payment-card,
.mjt-page .subscription-checkout-page.deposit-page .subscription-deposit-amount,
.mjt-page .subscription-checkout-page.deposit-page .subscription-deposit-promo-wrap {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
}

/* Payment method — one compact row */
.mjt-page .subscription-checkout-page.deposit-page .payment-method-card {
    padding: 18px 24px !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list,
.mjt-page .subscription-checkout-page.deposit-page .payment-method-list table {
    width: 100%;
    border: 0;
    margin: 0;
    padding: 0;
    border-collapse: collapse;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list tr {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list td {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list input[type="radio"] {
    margin: 0 !important;
    flex: 0 0 auto;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list label {
    display: inline-flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    font-weight: bold !important;
    color: #000000 !important;
    font-size: 15px !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list label img {
    vertical-align: middle;
    margin-right: 3px;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-method-list label strong {
    font-weight: bold !important;
    color: #000000 !important;
}

/* Deposit amount — only as tall as options */
.mjt-page .subscription-checkout-page.deposit-page .deposit-amount-card,
.mjt-page .subscription-checkout-page.deposit-page .amount-list-wrap,
.mjt-page .subscription-checkout-page.deposit-page .deposit-amount-card .updatePanel,
.mjt-page .subscription-checkout-page.deposit-page #divDepositContent {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-list,
.mjt-page .subscription-checkout-page.deposit-page .amount-list table,
.mjt-page .subscription-checkout-page.deposit-page table.amount-list,
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] {
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border-collapse: collapse;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-list tr,
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] tr {
    display: table-row;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-list td,
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] td {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    vertical-align: middle !important;
    text-align: left !important;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-list tr:last-child td,
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] tr:last-child td {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-option,
.mjt-page .subscription-checkout-page.deposit-page .amount-list label,
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 31px;
    font-size: 17px;
    font-weight: bold !important;
    color: #000000 !important;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-list input[type="radio"],
.mjt-page .subscription-checkout-page.deposit-page table[id*="rblDeposit"] input[type="radio"] {
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .amount-option-other {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
}

.mjt-page .subscription-checkout-page.deposit-page .currency-symbol {
    margin-left: 6px;
    margin-right: 4px;
    font-weight: bold;
}

.mjt-page .subscription-checkout-page.deposit-page .other-amount-input {
    width: 80px !important;
    max-width: 80px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px 8px !important;
    border: 1px solid #8da38d !important;
    border-radius: 5px !important;
}

/* Promo code */
.mjt-page .subscription-checkout-page.deposit-page .form-help-text {
    text-align: left;
    line-height: 1.45;
    margin: 0 0 14px 0 !important;
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .form-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 14px;
    float: none !important;
    position: static !important;
}

.mjt-page .subscription-checkout-page.deposit-page .form-row-label,
.mjt-page .subscription-checkout-page.deposit-page .form-row label {
    width: 150px;
    flex: 0 0 150px;
    text-align: right;
    font-weight: bold !important;
    color: #000000 !important;
    display: inline-block !important;
    visibility: visible !important;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .form-row-input,
.mjt-page .subscription-checkout-page.deposit-page .form-row input[type="text"],
.mjt-page .subscription-checkout-page.deposit-page .form-row select {
    width: 320px;
    max-width: 100%;
    height: 34px;
    min-height: 34px;
    padding: 5px 10px !important;
    border: 1px solid #9aa99a !important;
    border-radius: 5px !important;
    font-size: 14px !important;
}

.mjt-page .subscription-checkout-page.deposit-page .subscription-promo-validators {
    margin: 0 0 0 164px;
    padding: 0;
    max-width: 320px;
}

.mjt-page .subscription-checkout-page.deposit-page .required-star {
    color: #b40000 !important;
    margin-right: 6px;
}

/* Billing — left-aligned rows inside centered column */
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.deposit-billing-table,
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    float: none !important;
    position: static !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form img[src*="w_bar"] {
    display: none !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr:has(td[height="1"]),
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr:has(td[colspan]) {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr:not(:has(td[colspan])) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 470px;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    height: auto !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:first-child,
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(4) {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(2) {
    flex: 0 0 150px !important;
    width: 150px !important;
    max-width: 150px !important;
    text-align: right !important;
    padding: 0 14px 0 0 !important;
    background: transparent !important;
    font-weight: bold !important;
    color: #000000 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(3) {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    padding: 0 !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(5),
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 470px !important;
    margin: 0 !important;
    padding: 2px 0 0 164px !important;
    text-align: left !important;
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    height: auto !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(5):not(:has(span.clsHint:not([style*="display:none"]):not([style*="display: none"]))),
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts:not(:has(span.clsHint:not([style*="display:none"]):not([style*="display: none"]))) {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td[bgcolor] {
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form input[type="text"],
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form input[type="password"],
.mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form select {
    width: 100% !important;
    max-width: 320px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 5px 10px !important;
    border: 1px solid #9aa99a !important;
    border-radius: 5px !important;
    font-size: 14px !important;
}

/* Terms and buttons */
.mjt-page .subscription-checkout-page.deposit-page .terms-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 520px;
    max-width: 100%;
    margin: 10px 0 24px 0;
    line-height: 1.45;
    font-size: 14px;
    color: #102010;
    float: none !important;
    position: static !important;
    text-align: left;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .terms-row input[type="checkbox"] {
    margin-top: 3px;
    flex: 0 0 auto;
}

.mjt-page .subscription-checkout-page.deposit-page .terms-row label {
    display: block;
    width: auto;
    text-align: left;
    font-weight: normal !important;
    margin: 0 !important;
    color: #102010 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .terms-row a {
    color: #006b5f !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-continue-row {
    text-align: left;
    margin-bottom: 20px;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-seal-row {
    text-align: left;
    margin-top: 8px;
}

.mjt-page .subscription-checkout-page.deposit-page .validation-summary:empty,
.mjt-page .subscription-checkout-page.deposit-page .error-box:empty {
    display: none !important;
}

.mjt-page .subscription-checkout-page.deposit-page #mainTable {
    width: 100% !important;
    border: 0;
}

@media (max-width: 700px) {
    .mjt-page .subscription-checkout-page.deposit-page .deposit-page-panel {
        margin: 16px auto 40px auto;
        padding: 18px 14px 28px 14px;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-form-wrap {
        width: auto;
    }

    .mjt-page .subscription-checkout-page.deposit-page .form-row {
        display: block;
    }

    .mjt-page .subscription-checkout-page.deposit-page .form-row-label,
    .mjt-page .subscription-checkout-page.deposit-page .form-row label {
        display: block;
        width: auto;
        flex: none;
        text-align: left;
        margin-bottom: 6px !important;
    }

    .mjt-page .subscription-checkout-page.deposit-page .form-row-input,
    .mjt-page .subscription-checkout-page.deposit-page .form-row input[type="text"],
    .mjt-page .subscription-checkout-page.deposit-page .form-row select {
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .subscription-promo-validators {
        margin-left: 0;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr:not(:has(td[colspan])) {
        display: block !important;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(2),
    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(3),
    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(5) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        text-align: left !important;
        padding: 0 0 8px 0 !important;
    }

    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td:nth-child(5),
    .mjt-page .subscription-checkout-page.deposit-page .billing-card table.subscription-billing-form > tbody > tr > td.paddingfromlefts {
        padding-left: 0 !important;
    }

    .mjt-page .subscription-checkout-page.deposit-page .terms-row {
        width: 100%;
    }
}

/*
   Deposit payment confirmation step (after Continue) — Mahjong-Deposit.aspx only.
*/
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step {
    width: 760px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 24px auto;
    background: #ffffff !important;
    border: 1px solid #8fbd8f !important;
    border-radius: 8px !important;
    padding: 22px 26px !important;
    color: #103b34 !important;
    box-shadow: none !important;
    text-align: left;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card,
.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card h2,
.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card span,
.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card label,
.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card strong {
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-heading,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-heading,
.mjt-page .subscription-checkout-page.deposit-page .payment-summary-card h2,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card h2 {
    margin: 0 0 22px 0 !important;
    color: #000000 !important;
    font-size: 19px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    font-weight: bold !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-row {
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 8px 0;
    font-size: 17px;
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-label {
    font-weight: bold;
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-value {
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-actions {
    text-align: center;
    margin-top: 16px;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-summary-actions a,
.mjt-page .subscription-checkout-page.deposit-page .change-payment-details-link {
    color: #007060 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    font-size: 16px !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-card {
    width: 620px;
    max-width: 100%;
    margin: 24px auto 0 auto;
    padding: 24px 28px !important;
    background: #ffffff !important;
    border: 1px solid #8fbd8f !important;
    border-radius: 8px !important;
    color: #103b34 !important;
    box-sizing: border-box;
    box-shadow: none !important;
    text-align: left;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-card,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card label,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card span,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card .payment-field-label-text {
    color: #103b34 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-card table,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card tr,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card td {
    background: transparent !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-row-wrap {
    width: 100%;
    max-width: 470px;
    margin: 0 auto 4px auto;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 14px;
    margin-bottom: 0;
    width: 100%;
    background: transparent !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-field-label,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-row > label {
    display: inline-block;
    width: 180px;
    min-width: 180px;
    flex: 0 0 180px;
    text-align: right;
    font-weight: bold;
    color: #000000 !important;
    margin: 0 !important;
    line-height: 1.25;
    white-space: nowrap;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-field-label-text {
    display: inline;
    white-space: nowrap;
    font-weight: bold;
    color: #000000 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-field-input,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-row input[type="text"],
.mjt-page .subscription-checkout-page.deposit-page .payment-form-row input[type="password"],
.mjt-page .subscription-checkout-page.deposit-page .payment-form-row select,
.mjt-page .subscription-checkout-page.deposit-page .payment-form-card .border_black {
    width: 260px !important;
    max-width: 100%;
    height: 32px !important;
    min-height: 32px !important;
    padding: 4px 8px !important;
    border: 1px solid #9aa99a !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    background: #ffffff !important;
    color: #000000 !important;
    box-sizing: border-box;
    font-family: inherit;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-field-input-cvv,
.mjt-page .subscription-checkout-page.deposit-page .cvv-row input[type="text"] {
    width: 90px !important;
    max-width: 90px !important;
    flex: 0 0 90px;
}

.mjt-page .subscription-checkout-page.deposit-page .cvv-row {
    flex-wrap: nowrap;
}

.mjt-page .subscription-checkout-page.deposit-page .cvv-help-link {
    color: #007060 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    margin-left: 6px;
    flex: 0 0 auto;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .expiration-fields {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 260px;
    flex: 0 0 260px;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-field-input-exp,
.mjt-page .subscription-checkout-page.deposit-page .expiration-fields select {
    width: 126px !important;
    max-width: 126px !important;
    flex: 0 0 126px;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-errors {
    width: 100%;
    max-width: 470px;
    margin: 0 auto 12px auto;
    padding: 2px 0 0 194px;
    text-align: left;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .payment-form-errors .clsHint {
    color: #b40000 !important;
    font-size: 13px !important;
    display: block;
    line-height: 1.35;
}

.mjt-page .subscription-checkout-page.deposit-page .required-note {
    width: 620px;
    max-width: 100%;
    margin: 14px auto 14px auto;
    padding: 0 0 0 194px;
    color: #b40000 !important;
    font-size: 14px !important;
    text-align: left;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.deposit-page .required-star {
    color: #b40000 !important;
    margin-right: 6px;
}

.mjt-page .subscription-checkout-page.deposit-page .submit-row {
    text-align: center;
    margin: 18px auto 8px auto;
    width: 100%;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-wrap {
    position: relative;
    display: inline-block;
    vertical-align: top;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-wrap .deposit-submit-button {
    position: relative;
    z-index: 2;
    min-width: 210px;
    width: 210px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    cursor: pointer;
    opacity: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-label {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    display: inline-block;
    min-width: 210px;
    height: 38px;
    line-height: 38px;
    padding: 0 24px;
    border: 0;
    border-radius: 7px;
    background: #0b6b5f;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    box-sizing: border-box;
    pointer-events: none;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-wrap:hover .deposit-submit-label {
    background: #07534a;
}

/* Kill green legacy backgrounds anywhere inside payment step */
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step [bgcolor],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step [bgcolor="#D5E2D1"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step [bgcolor="#d5e2d1"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step [bgcolor="#dbe8d6"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step [bgcolor="#d7e3d0"] {
    background: transparent !important;
    background-color: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .home_text {
    color: #000000 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .sec {
    background: transparent !important;
    text-align: left !important;
    font-weight: normal !important;
}

/* Alternate payment methods (FirstData, CardConnect, etc.) — override green table bars */
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 24px auto !important;
    border: 1px solid #8fbd8f !important;
    border-radius: 8px !important;
    padding: 22px 26px !important;
    background: #ffffff !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc img[src*="w_bar"] {
    display: none !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr:has(td[height="1"]) {
    display: none !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr:not(:has(td[colspan])) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:first-child,
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:nth-child(4),
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:nth-child(6) {
    display: none !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td[bgcolor],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td[bgcolor="#D5E2D1"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td[bgcolor="#d5e2d1"] {
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:nth-child(2) {
    flex: 0 0 180px !important;
    text-align: right !important;
    font-weight: bold !important;
    color: #000000 !important;
    padding: 0 14px 0 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:nth-child(3) {
    flex: 0 0 260px !important;
    padding: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td.paddingfromlefts,
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc > tbody > tr > td:nth-child(5) {
    flex: 0 0 100% !important;
    max-width: 470px !important;
    margin: 0 auto !important;
    padding: 2px 0 0 194px !important;
    display: block !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc input[type="text"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .pay_proc select {
    width: 100% !important;
    max-width: 260px !important;
    height: 34px !important;
    border: 1px solid #9aa99a !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #000000 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .dephead2,
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step td.dephead2,
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step span.dephead2 {
    display: block;
    text-align: center !important;
    color: #000000 !important;
    font-size: 19px !important;
    font-weight: bold !important;
    margin: 0 0 18px 0 !important;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .clsHint {
    color: #b40000 !important;
}

@media (max-width: 700px) {
    .mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step {
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-form-card,
    .mjt-page .subscription-checkout-page.deposit-page .required-note {
        width: 100%;
        padding-left: 0;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-summary-row {
        display: block;
        text-align: left;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-form-row {
        display: block;
        flex-wrap: wrap;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-field-label,
    .mjt-page .subscription-checkout-page.deposit-page .payment-form-row > label {
        display: block;
        width: auto;
        min-width: 0;
        flex: none;
        text-align: left;
        margin-bottom: 6px !important;
        white-space: normal;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-field-input,
    .mjt-page .subscription-checkout-page.deposit-page .payment-form-row input[type="text"],
    .mjt-page .subscription-checkout-page.deposit-page .payment-form-row select {
        width: 100% !important;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .expiration-fields {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        flex: none;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-field-input-exp,
    .mjt-page .subscription-checkout-page.deposit-page .expiration-fields select {
        width: 100% !important;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .payment-form-errors,
    .mjt-page .subscription-checkout-page.deposit-page .required-note {
        padding-left: 0;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .cvv-help-link {
        display: inline-block;
        margin: 8px 0 0 0;
    }
}

/* Second-step deposit credit card form redesign */
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box {
    width: 620px;
    max-width: 100%;
    margin: 30px auto 0 auto;
    padding: 24px 28px 22px 28px;
    background: #ffffff !important;
    border: 1px solid #9bc39b;
    border-radius: 10px;
    box-sizing: border-box;
    color: #103b34;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-title,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box h2 {
    margin: 0 0 22px 0;
    text-align: center;
    font-size: 19px;
    line-height: 1.3;
    font-weight: bold;
    color: #000000 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin-bottom: 14px;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row label,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row-label {
    display: block;
    width: 190px;
    min-width: 190px;
    flex: 0 0 190px;
    text-align: right;
    font-weight: bold;
    color: #000000 !important;
    line-height: 1.25;
    white-space: nowrap;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-input,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row input[type="text"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row input[type="password"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row select {
    width: 240px;
    height: 34px;
    padding: 5px 8px;
    border: 1px solid #9aa99a;
    border-radius: 5px;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 14px;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-cvv-input,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row-cvv .deposit-credit-input {
    width: 90px !important;
    flex: 0 0 90px;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-cvv-help {
    color: #006b5f !important;
    font-weight: bold;
    text-decoration: underline;
    white-space: nowrap;
    font-size: 14px;
    flex: 0 0 auto;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-expiration-wrap {
    display: flex;
    gap: 8px;
    align-items: center;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-expiration-select,
.mjt-page .subscription-checkout-page.deposit-page .deposit-expiration-wrap select {
    width: 116px;
    height: 34px;
    padding: 5px 8px;
    border: 1px solid #9aa99a;
    border-radius: 5px;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 14px;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .required-star,
.mjt-page .subscription-checkout-page.deposit-page .deposit-payment-step .deposit-credit-card-box .required-star {
    color: #b40000;
    margin-right: 6px;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-required-note {
    margin: 16px 0 0 0;
    color: #b40000 !important;
    font-size: 14px;
    text-align: left;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-errors {
    margin: -8px 0 10px 204px;
    padding: 0;
    background: transparent !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-errors .clsHint {
    color: #b40000 !important;
    font-size: 13px;
    display: block;
    line-height: 1.35;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .deposit-submit-row {
    text-align: center;
    margin-top: 18px;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-row input,
.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-row button,
.mjt-page .subscription-checkout-page.deposit-page .deposit-submit-button {
    min-width: 210px;
    height: 38px;
    border: 0;
    border-radius: 8px;
    background: #0b6b5f !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    box-shadow: none;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .deposit-submit-wrap .deposit-submit-button {
    position: relative;
    z-index: 2;
    min-width: 210px;
    width: 210px;
    margin: 0;
    padding: 0;
    background: transparent !important;
    opacity: 0;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .deposit-submit-wrap .deposit-submit-label {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 1;
    display: inline-block;
    min-width: 210px;
    height: 38px;
    line-height: 38px;
    padding: 0 24px;
    border: 0;
    border-radius: 8px;
    background: #0b6b5f;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    box-sizing: border-box;
    pointer-events: none;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .deposit-submit-wrap:hover .deposit-submit-label {
    background: #07544b;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .deposit-submit-wrap {
    position: relative;
    display: inline-block;
    vertical-align: top;
}

/* Kill old green row styling inside this box */
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box table,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box tbody,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box tr,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box td,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor="#D5E2D1"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor="#d5e2d1"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor="#dbe8d6"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor="#d7e3d0"],
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box [bgcolor="#dce9d7"] {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box .pay_proc,
.mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box img[src*="w_bar"] {
    display: none !important;
}

@media (max-width: 700px) {
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-card-box {
        padding: 18px 16px 18px 16px;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row {
        display: block;
        margin-bottom: 16px;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row label,
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row-label {
        display: block;
        width: auto;
        min-width: 0;
        flex: none;
        text-align: left;
        margin-bottom: 6px !important;
        white-space: normal;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-input,
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row select,
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row input[type="text"],
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-row input[type="password"] {
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-expiration-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-expiration-wrap select {
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-cvv-help {
        display: inline-block;
        margin-top: 8px;
    }

    .mjt-page .subscription-checkout-page.deposit-page .deposit-required-note,
    .mjt-page .subscription-checkout-page.deposit-page .deposit-credit-errors {
        margin-left: 0;
    }
}

/* ==========================================================================
   Withdraw Funds page — scoped under .subscription-checkout-page.withdraw-page
   ========================================================================== */

.mjt-page .subscription-checkout-page.withdraw-page {
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel {
    max-width: 920px;
    margin: 28px auto 48px auto;
    padding: 28px 32px;
    background: #ffffff;
    border: 1px solid #9fc79f;
    border-radius: 12px;
    box-sizing: border-box;
    color: #173f38;
    box-shadow: 0 2px 12px rgba(16, 59, 52, 0.08);
    text-align: left;
    font-size: 14px;
    line-height: 1.45;
}

/* Override site-wide pale .mjt-page text inside withdrawal panel */
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel p,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel label,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel span:not(.withdraw-validator):not(.withdraw-submit-label):not(.withdraw-error-message),
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel div,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel td,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel li,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h2,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h3 {
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h1.withdraw-page-title {
    color: #0b4b43 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-required-note,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-summary-note,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-amount-helper,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-field-helper,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-method-desc,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-method-panel-note,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-summary-row--head,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel .withdraw-method-panel-intro {
    color: #5e706b !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel strong {
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-header {
    margin: 0 0 20px 0;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-title {
    display: block;
    margin: 0 0 6px 0;
    font-size: 30px;
    line-height: 1.2;
    font-weight: bold;
    color: #0b4b43 !important;
    border: 0;
    padding: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-subtitle {
    margin: 0 0 8px 0;
    font-size: 16px;
    line-height: 1.45;
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-required-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
}

.mjt-page .subscription-checkout-page.withdraw-page .required-star {
    color: #b40000 !important;
    margin-left: 2px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-section-title .required-star {
    margin-left: 4px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary {
    margin: 0 0 12px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary--actions {
    margin: 0 0 12px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary-list,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary-list * {
    color: #b40000 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary-list ul {
    margin: 4px 0 0 0;
    padding-left: 18px;
    list-style: disc;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validation-summary-list li {
    margin: 0 0 2px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-error-message {
    display: block;
    color: #b40000 !important;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.45;
    padding: 10px 14px;
    background: #fdecea;
    border: 1px solid #e8b4ae;
    border-radius: 6px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-error-message:empty {
    display: none;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-section-title {
    margin: 0 0 10px 0;
    font-size: 17px;
    font-weight: bold;
    color: #0b4b43 !important;
    border: 0;
    padding: 0;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-section {
    margin: 0 0 20px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-panel {
    border: 1px solid #c7dfc7;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row {
    display: flex;
    align-items: stretch;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row--head {
    background: #f3f8f2;
    border-bottom: 1px solid #dce9d7;
    font-size: 12px;
    font-weight: bold;
    text-transform: none;
    letter-spacing: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row--values {
    background: #ffffff;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col {
    padding: 10px 14px;
    box-sizing: border-box;
    min-width: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--account {
    flex: 0 0 25%;
    width: 25%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--balance {
    flex: 0 0 35%;
    width: 35%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--available {
    flex: 0 0 40%;
    width: 40%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--highlight {
    background: #eef7ee;
    border-left: 3px solid #0b6b5f;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-value {
    display: block;
    font-size: 18px;
    font-weight: bold;
    color: #0b4b43 !important;
    line-height: 1.2;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--highlight .withdraw-summary-value {
    color: #0b6b5f !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-note {
    margin: 8px 0 0 0;
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-section {
    margin: 0 0 20px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-input-wrap {
    display: flex;
    align-items: center;
    width: 300px;
    max-width: 100%;
    background: #ffffff;
    border: 1px solid #9aa99a;
    border-radius: 6px;
    overflow: hidden;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-prefix {
    flex: 0 0 auto;
    padding: 0 10px 0 12px;
    font-size: 16px;
    font-weight: bold;
    color: #173f38 !important;
    background: #eef3ee;
    line-height: 38px;
    border-right: 1px solid #c7dfc7;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 6px 12px;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 16px;
    background: #ffffff !important;
    color: #173f38 !important;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-helper {
    margin: 8px 0 0 0;
    font-size: 13px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-methods-section {
    margin: 0 0 16px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-methods-note {
    margin: -4px 0 14px 0;
    font-size: 13px;
    line-height: 1.45;
    font-weight: normal;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-cards {
    width: 100%;
    overflow-x: auto;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list {
    display: table !important;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 12px 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list tbody,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list tr {
    display: table-row;
    width: 100%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list td,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list > span,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card {
    display: table-cell !important;
    width: 25%;
    vertical-align: top;
    position: relative;
    margin: 0 !important;
    padding: 14px 14px 14px 40px;
    background: #ffffff;
    border: 2px solid #c7dfc7;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list > span:hover,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card:hover {
    border-color: #7fb87f;
    background: #f8fbf8;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list > span:focus-within,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card:focus-within {
    outline: 2px solid rgba(11, 107, 95, 0.45);
    outline-offset: 2px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list > span.is-selected,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card.is-selected {
    border-color: #0b6b5f;
    background: #eef7ee;
    box-shadow: inset 0 0 0 1px rgba(11, 107, 95, 0.12);
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list input[type="radio"],
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card input[type="radio"] {
    position: absolute;
    left: 14px;
    top: 17px;
    margin: 0 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list label,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card label {
    display: block !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: bold !important;
    color: #173f38 !important;
    cursor: pointer;
    line-height: 1.3;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card-title {
    display: block;
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: bold;
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-badge {
    display: inline-block;
    margin: 0 0 6px 0;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: bold;
    line-height: 1.4;
    vertical-align: middle;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-badge--info {
    background: #eef3fb;
    color: #2f4f78 !important;
    border: 1px solid #c8d7ef;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-badge--warn {
    background: #fff4e8;
    color: #7a4a12 !important;
    border: 1px solid #efd2a8;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-badge--positive {
    background: #eaf6ea;
    color: #1f5c3f !important;
    border: 1px solid #b9ddb9;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel-title .withdraw-method-badge {
    margin-left: 8px;
    position: relative;
    top: -2px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list label img,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card label img {
    display: none !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-desc {
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.45;
    font-weight: normal;
    min-height: 2.9em;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-details-section {
    margin: 0 0 20px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-details-box {
    background: #f8fbf7;
    border: 1px solid #c7dfc7;
    border-radius: 8px;
    padding: 20px 22px;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel.is-hidden {
    display: none !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel.is-active {
    display: block;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: bold;
    color: #0b4b43 !important;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel-intro {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-panel-note {
    margin: 8px 0 0 0;
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-info-panel {
    border: 1px solid #d5e6d5;
    border-radius: 6px;
    padding: 14px 16px;
    background: #ffffff;
    margin: 0 0 4px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-info-panel .withdraw-method-panel-intro {
    margin-bottom: 10px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-masked {
    margin: 12px 0 0 0;
    font-size: 14px;
    font-weight: bold;
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-ineligible {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e0ece0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-subtitle {
    margin: 14px 0 8px 0;
    font-size: 15px;
    font-weight: bold;
    color: #0b4b43 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-rules {
    margin: 0 0 14px 18px;
    padding: 0;
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-rules li {
    margin: 0 0 8px 0;
    line-height: 1.45;
    color: #173f38 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-callout {
    border: 1px solid #d5e6d5;
    border-left: 4px solid #0b6b5f;
    border-radius: 6px;
    padding: 12px 14px;
    background: #f3f9f3;
    margin: 0 0 14px 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-destination,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-cc-destination-pending {
    margin-top: 12px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-fixed {
    display: inline-block;
    min-height: 36px;
    line-height: 36px;
    padding: 0 10px;
    border: 1px solid #c7dfc7;
    border-radius: 5px;
    background: #f3f7f3;
    color: #173f38 !important;
    font-weight: bold;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field--hidden {
    display: none !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-check-confirm {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 4px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-check-confirm-input {
    margin-top: 3px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-check-confirm-label {
    flex: 1 1 auto;
    font-size: 14px;
    line-height: 1.45;
    color: #173f38 !important;
    font-weight: normal !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-check-confirm .withdraw-field-errors {
    flex: 1 1 100%;
    max-width: 100%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
    margin-top: 4px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field {
    margin: 0 0 12px 0;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-form-grid .withdraw-field {
    margin: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field--full {
    grid-column: 1 / -1;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field--medium .withdraw-field-input,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field--medium select {
    max-width: 460px;
    width: 100%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-label {
    display: block;
    margin: 0 0 6px 0;
    font-size: 14px;
    font-weight: bold;
    color: #173f38 !important;
    line-height: 1.3;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-input,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field select {
    width: 100%;
    max-width: 460px;
    height: 36px;
    min-height: 36px;
    padding: 5px 10px;
    border: 1px solid #9aa99a !important;
    border-radius: 5px !important;
    font-size: 14px !important;
    background: #ffffff !important;
    color: #173f38 !important;
    box-sizing: border-box;
}


.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field select.withdraw-field-input:not(:disabled) {
    background: #ffffff !important;
    color: #173f38 !important;
    cursor: pointer;
    opacity: 1;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field select.withdraw-field-input:disabled {
    background: #f3f7f3 !important;
    color: #5e706b !important;
    cursor: not-allowed;
    opacity: 1;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-form-grid .withdraw-field-input,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-form-grid .withdraw-field select {
    max-width: 100%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-helper {
    margin: 6px 0 0 0;
    font-size: 13px;
    line-height: 1.4;
    max-width: 460px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-errors {
    margin: 4px 0 0 0;
    min-height: 0;
    max-width: 460px;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-validator {
    display: block;
    color: #b40000 !important;
    font-size: 13px;
    line-height: 1.35;
    margin: 2px 0 0 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-input--hidden {
    display: none !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-auth-fields {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #dce9d7;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    margin: 4px 0 0 0;
    width: 100%;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    vertical-align: top;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap .withdraw-submit-button {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    cursor: pointer;
    opacity: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-label {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 40px;
    height: auto;
    line-height: 1.35;
    padding: 10px 20px;
    border: 0;
    border-radius: 8px;
    background: #0b6b5f;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    box-sizing: border-box;
    pointer-events: none;
    white-space: normal;
    word-wrap: break-word;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap:hover .withdraw-submit-label {
    background: #07534a;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap.is-submitting .withdraw-submit-label {
    background: #5a8a82;
    cursor: wait;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap.is-submitting .withdraw-submit-button {
    cursor: wait;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-btn,
.mjt-page .subscription-checkout-page.withdraw-page input.withdraw-submit-btn {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 10px 20px;
    border: 0 !important;
    border-radius: 8px;
    background: #0b6b5f !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 15px !important;
    text-align: center;
    cursor: pointer !important;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-btn:hover,
.mjt-page .subscription-checkout-page.withdraw-page input.withdraw-submit-btn:hover {
    background: #07534a !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-seal-row {
    margin: 20px 0 0 0;
    text-align: left;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-panel {
    padding: 4px 0 0 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-card {
    background: #f8fbf7;
    border: 1px solid #c7dfc7;
    border-radius: 10px;
    padding: 28px 26px 24px 26px;
    text-align: center;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0 auto 16px auto;
    border-radius: 50%;
    background: #eaf6ea;
    border: 2px solid #9fd09f;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-badge-icon {
    font-size: 28px;
    line-height: 1;
    font-weight: bold;
    color: #0b6b5f !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-title {
    margin: 0 0 18px 0;
    font-size: 22px;
    line-height: 1.3;
    font-weight: bold;
    color: #0b4b43 !important;
    border: 0;
    padding: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-message {
    margin: 0 0 22px 0;
    padding: 18px 20px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid #e0ebe0;
    text-align: left;
    box-sizing: border-box;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-message-body,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-message-body strong {
    display: block;
    font-size: 15px;
    line-height: 1.65;
    color: #173f38 !important;
    font-weight: normal;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-message-body strong {
    display: inline;
    font-weight: bold;
    color: #0b4b43 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-actions {
    text-align: center;
    margin: 0;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-close-button {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 10px 20px;
    border: 0;
    border-radius: 8px;
    background: #0b6b5f;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
}

.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-close-button:hover,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-success-close-button:focus {
    background: #07534a;
    color: #ffffff !important;
    outline: 2px solid rgba(11, 107, 95, 0.35);
    outline-offset: 1px;
}

/* Uniform typography across the withdrawal page (page title excluded — see below) */
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h2,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h3,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel h4,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel p,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel label,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel span,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel input,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel select,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel textarea,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel li,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel td,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel th,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel a,
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel button {
    font-size: 14px !important;
    line-height: 1.45 !important;
}

/* Page header — matches deposit page title styling */
.mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-title {
    display: block !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: bold !important;
    color: #0b4b43 !important;
}

.mjt-page .subscription-checkout-page.withdraw-page [bgcolor],
.mjt-page .subscription-checkout-page.withdraw-page [bgcolor="#D5E2D1"],
.mjt-page .subscription-checkout-page.withdraw-page [bgcolor="#d5e2d1"],
.mjt-page .subscription-checkout-page.withdraw-page img[src*="w_bar"] {
    background: transparent !important;
    display: none !important;
}

@media (max-width: 760px) {
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-panel {
        margin: 16px auto 32px auto;
        padding: 20px 16px;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-page-title {
        font-size: 26px !important;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row {
        flex-direction: column;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--account,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--balance,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-col--available {
        flex: 1 1 auto;
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row--head {
        display: none;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row--values .withdraw-summary-col {
        border-bottom: 1px solid #e8f0e8;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-summary-row--values .withdraw-summary-col:last-child {
        border-bottom: 0;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-form-grid {
        grid-template-columns: 1fr;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list tbody,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list tr {
        display: block !important;
        width: 100%;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list td,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-list > span,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-method-card {
        display: block !important;
        width: 100%;
        margin-bottom: 12px !important;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-field-input,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-field select,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-field--medium .withdraw-field-input,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-amount-input-wrap {
        width: 100%;
        max-width: 100%;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-wrap .withdraw-submit-button,
    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-submit-label {
        width: 100%;
        min-width: 0;
    }

    .mjt-page .subscription-checkout-page.withdraw-page .withdraw-cancel-button {
        width: 100%;
    }
}

