/*
 * JFM My Account — Premium Redesign v3
 * Single source of truth. One rule per selector. No duplicates.
 */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
.woocommerce-account {
    --jma-or:    #E8531A;
    --jma-or-dk: #C84410;
    --jma-or-lt: #FFF3EE;
    --jma-bg:    #F4F1ED;
    --jma-sf:    #fff;
    --jma-sf2:   #F0EDE8;
    --jma-bd:    #DDD8D0;
    --jma-tx:    #1C1917;
    --jma-tx2:   #57534E;
    --jma-tx3:   #A8A29E;
    --jma-rd:    #DC2626;
    --jma-rd-lt: #FEF2F2;
    --jma-rd-bd: #FECACA;
    --jma-sh1:   0 1px 3px rgba(0,0,0,.07);
    --jma-sh2:   0 4px 16px rgba(0,0,0,.10);
    --jma-r:     14px;
    --jma-rs:    8px;
    --jma-rl:    22px;
}

/* ============================================================
   PAGE CHROME
   ============================================================ */
body.woocommerce-account {
    background: #F4F1ED !important;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.woocommerce-account .post-thumbnail { display: none !important; }
.woocommerce-account .entry-header { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-header { display: none !important; }
.woocommerce-account article.hentry { margin-bottom: 0 !important; }

.woocommerce-account .entry-content {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    margin-top: 0 !important;
}

.woocommerce-account article.container {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* ============================================================
   GRID — sidebar + content side by side
   ============================================================ */
.logged-in.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #F4F1ED !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    align-items: start !important;
    min-height: calc(100vh - 90px) !important;
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
}

/* ============================================================
   SIDEBAR — sticky, bounded within parent, logout at bottom
   ============================================================ */
.logged-in.woocommerce-account .jma-sidebar {
    grid-column: 1;
    position: sticky;
    top: 90px;
    width: 240px;
    height: calc(100vh - 90px);
    background: linear-gradient(180deg, #fff 0%, #FAFAF9 100%);
    border-right: 1px solid #EDE9E4;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin: 0;
    padding: 0;
    align-self: start;
}

.jma-side-top {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 24px 18px 20px;
    border-bottom: 1px solid #EDE9E4;
    flex-shrink: 0;
    background: linear-gradient(180deg, #FFF8F5 0%, #fff 100%);
    position: relative;
}

/* Extra breathing room between avatar block and nav */
.logged-in.woocommerce-account .jma-sidebar .jma-side-nav {
    padding-top: 20px !important;
}

/* Orange accent strip at top */
.jma-side-top::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #E8531A, #F98450);
}

.jma-side-av {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: linear-gradient(135deg, #E8531A, #F98450);
    color: #fff;
    font-weight: 800;
    font-size: .95em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(232,83,26,.35);
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .02em;
}

.jma-side-info { min-width: 0; flex: 1; }

.jma-side-name {
    font-weight: 800;
    font-size: .9em;
    color: #1C1917;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -.01em;
}

.jma-side-email {
    font-size: .73em;
    color: #A8A29E;
    margin-top: 3px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jma-side-nav {
    list-style: none;
    margin: 0;
    padding: 20px 0 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    position: relative;
}

.jma-nav-item { display: block; margin: 0; }

.jma-nav-item a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px 9px 16px;
    font-size: .845em;
    font-weight: 500;
    color: #57534E;
    border-left: 3px solid transparent;
    text-decoration: none !important;
    transition: all .15s;
    font-family: 'DM Sans', sans-serif;
    line-height: 1.4;
    margin: 1px 8px 1px 0;
    border-radius: 0 10px 10px 0;
}

.jma-nav-item a:hover {
    background: #F5F2EF;
    color: #1C1917;
}

.jma-nav-item.is-active a {
    background: linear-gradient(135deg, #FFF3EE, #FFE8DC);
    color: #E8531A;
    border-left-color: #E8531A;
    font-weight: 700;
    box-shadow: 0 2px 8px rgba(232,83,26,.12);
}

.jma-nav-item a svg {
    flex-shrink: 0;
    opacity: .45;
    transition: opacity .15s;
}

.jma-nav-item.is-active a svg { opacity: 1; color: #E8531A; }
.jma-nav-item a:hover svg { opacity: .7; }

/* Separator pushes logout up from absolute bottom */
.jma-nav-sep {
    display: none;
}

/* Logout — absolutely positioned at bottom of sidebar */
.jma-nav-item.is-logout {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
}

.jma-nav-item.is-logout::before {
    content: '';
    display: block;
    height: 1px;
    background: #DDD8D0;
    margin-bottom: 4px;
}

.jma-nav-item.is-logout a { color: #DC2626; }
.jma-nav-item.is-logout a:hover { background: #FEF2F2; border-left-color: transparent; }

/* ============================================================
   CONTENT AREA
   ============================================================ */
.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
    min-width: 0;
    max-width: 960px;
    padding: 32px 36px 60px;
}

/* ============================================================
   FONTS
   ============================================================ */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce p,
.woocommerce-account .woocommerce a,
.woocommerce-account .woocommerce li,
.woocommerce-account .woocommerce td,
.woocommerce-account .woocommerce th,
.woocommerce-account .woocommerce label,
.woocommerce-account .woocommerce input,
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce textarea,
.woocommerce-account .woocommerce button {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-account h4,
.jma-ph h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
}

/* ============================================================
   MY INFO
   ============================================================ */
.jma-ph { margin-bottom: 18px; }
.jma-ph h2 { font-size: 1.7em !important; font-weight: 400 !important; color: #1C1917 !important; margin: 0 0 4px !important; }
.jma-ph p { font-size: .86em; color: #57534E; margin: 0; }

.jma-card { background: #fff; border: 1px solid #DDD8D0; border-radius: 22px; box-shadow: 0 1px 3px rgba(0,0,0,.07); overflow: hidden; margin-bottom: 13px; }
.jma-card-hd { padding: 13px 19px; border-bottom: 1px solid #DDD8D0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.jma-card-tt { font-weight: 700; font-size: .845em; color: #1C1917; display: flex; align-items: center; gap: 7px; }
.jma-card-bd { padding: 17px 19px; }

.jma-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.jma-info-field label { display: block; font-size: .66em; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: #A8A29E; margin-bottom: 4px; }
.jma-info-val { font-size: .885em; font-weight: 500; color: #1C1917; display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.jma-info-ed { font-size: .73em; color: #E8531A; font-weight: 600; text-decoration: none !important; flex-shrink: 0; }
.jma-info-sep { grid-column: 1 / -1; height: 1px; background: #DDD8D0; }
.jma-info-full { grid-column: 1 / -1; }

/* ============================================================
   BUTTONS
   ============================================================ */
.jma-btn { display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px; border-radius: 100px; border: none; font-family: 'DM Sans', sans-serif; font-size: .78em; font-weight: 700; cursor: pointer; transition: all .15s; white-space: nowrap; text-decoration: none !important; line-height: 1; }
.jma-btn-wh { background: #F0EDE8; color: #57534E !important; border: 1px solid #DDD8D0; }
.jma-btn-wh:hover { background: #DDD8D0; color: #1C1917 !important; }
.jma-btn-sm { padding: 5px 11px; font-size: .75em; }
.jma-btn-or { background: #E8531A; color: #fff !important; }
.jma-btn-or:hover { background: #C84410; }

/* ============================================================
   EDIT FORMS
   ============================================================ */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields { background: #fff; border: 1px solid #DDD8D0; border-radius: 22px; padding: 24px; }

.woocommerce-account .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-address-fields input,
.woocommerce-account .woocommerce-address-fields select {
    border: 1.5px solid #DDD8D0 !important; border-radius: 8px !important; padding: 8px 10px !important;
    font-size: .875em !important; font-family: 'DM Sans', sans-serif !important; width: 100% !important;
}

.woocommerce-account .woocommerce-EditAccountForm input:focus,
.woocommerce-account .woocommerce-address-fields input:focus {
    outline: none !important; border-color: #E8531A !important; box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
}

.woocommerce-account .woocommerce-EditAccountForm button[type="submit"],
.woocommerce-account .woocommerce-address-fields button[type="submit"],
.woocommerce-account .woocommerce-EditAccountForm .button,
.woocommerce-account .woocommerce-address-fields .button {
    background: #E8531A !important; color: #fff !important; border: none !important;
    border-radius: 100px !important; padding: 9px 22px !important; font-weight: 700 !important; cursor: pointer !important;
}

/* ============================================================
   LOGIN PAGE
   ============================================================ */
.woocommerce-account:not(.logged-in) .entry-header { display: block !important; }
.woocommerce-account:not(.logged-in) .entry-content { max-width: 480px !important; margin: 40px auto !important; padding: 0 20px !important; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block !important; background: #fff !important; border: 1px solid #DDD8D0 !important; border-radius: 22px !important; box-shadow: 0 4px 16px rgba(0,0,0,.10) !important; padding: 32px 28px !important; min-height: 0 !important; }
.woocommerce-account:not(.logged-in) .woocommerce h2 { font-family: 'DM Serif Display', Georgia, serif !important; font-size: 1.5em !important; font-weight: 400 !important; margin-bottom: 20px !important; }
.woocommerce-account:not(.logged-in) input[type="text"],
.woocommerce-account:not(.logged-in) input[type="password"] { border: 1.5px solid #DDD8D0 !important; border-radius: 8px !important; padding: 9px 12px !important; width: 100% !important; }
.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit { background: #E8531A !important; color: #fff !important; border: none !important; border-radius: 100px !important; padding: 10px 24px !important; font-weight: 700 !important; cursor: pointer !important; }

/* ============================================================
   SUBSCRIPTION DETAIL
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-content h2 { font-family: 'DM Serif Display', Georgia, serif !important; font-size: 1.2em !important; font-weight: 400 !important; margin: 18px 0 9px !important; }
.woocommerce-account .subscription_details .button { background: #F0EDE8 !important; border: 1px solid #DDD8D0 !important; color: #57534E !important; border-radius: 100px !important; padding: 5px 12px !important; font-size: .78em !important; font-weight: 700 !important; }
.woocommerce-account .subscription_details .cancel { background: #FEF2F2 !important; color: #DC2626 !important; border-color: #FECACA !important; }
.woocommerce-account .input-text.date { border: 1.5px solid #DDD8D0 !important; border-radius: 8px !important; padding: 8px 10px !important; }

/* ── Override theme orange .button inside redesign ── */
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button,
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button:visited,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button:visited {
    background: #F5F2EE !important; border: 1px solid #DDD8D0 !important; border-radius: 100px !important;
    padding: 6px 13px !important; font-size: 11px !important; font-weight: 700 !important;
    color: #57534E !important; display: inline-flex !important; align-items: center !important;
    text-decoration: none !important; white-space: nowrap !important; line-height: 1 !important;
    box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer !important;
}
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button:hover,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button:hover { background: #FFF3EE !important; border-color: #E8531A !important; color: #E8531A !important; }
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button.cancel,
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button.cancel:visited,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button.cancel,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button.cancel:visited { background: #FEF2F2 !important; border-color: #FECACA !important; color: #991B1B !important; }
.woocommerce-account .jma-sub-wrap .jma-sub-btns a.button.cancel:hover,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body a.button.cancel:hover { border-color: #DC2626 !important; color: #DC2626 !important; }
.woocommerce-account .jma-sub-wrap .jma-sub-card__footer input[type="submit"],
.woocommerce-account .jma-sub-wrap .jma-sub-card__body input[type="submit"].jma-sub-btn-or { background: #E8531A !important; border: none !important; border-radius: 100px !important; padding: 9px 20px !important; font-size: 12px !important; font-weight: 700 !important; color: #fff !important; cursor: pointer !important; box-shadow: none !important; }
.woocommerce-account .jma-sub-wrap .jma-sub-card__footer input[type="submit"]:hover,
.woocommerce-account .jma-sub-wrap .jma-sub-card__body input[type="submit"].jma-sub-btn-or:hover { background: #C84410 !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
    /* Grid — single column */
    .logged-in.woocommerce-account .woocommerce {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        align-items: start !important;
    }

    /* Sidebar — full width horizontal strip */
    .logged-in.woocommerce-account .jma-sidebar {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        border-right: none !important;
        border-bottom: 1px solid #DDD8D0 !important;
        background: #fff !important;
        overflow: visible !important;
    }

    /* Hide orange strip and avatar block */
    .jma-side-top { display: none !important; }
    .jma-side-top::before { display: none !important; }

    /* Nav — horizontal scrollable */
    .jma-side-nav {
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        flex: none !important;
        padding: 0 !important;
        scrollbar-width: none !important;
        position: static !important;
    }

    .jma-side-nav::-webkit-scrollbar { display: none !important; }
    .jma-nav-item { flex-shrink: 0 !important; }

    /* Nav items — horizontal tabs */
    .jma-nav-item a {
        border-left: none !important;
        border-bottom: 3px solid transparent !important;
        border-radius: 0 !important;
        white-space: nowrap !important;
        padding: 10px 14px !important;
        margin: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .jma-nav-item a:hover {
        background: #F5F2EF !important;
        border-bottom-color: transparent !important;
    }

    .jma-nav-item.is-active a {
        border-left: none !important;
        border-bottom: 3px solid #E8531A !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #E8531A !important;
    }

    /* Logout — reset absolute positioning */
    .jma-nav-item.is-logout {
        position: static !important;
        padding-bottom: 0 !important;
    }

    .jma-nav-item.is-logout::before { display: none !important; }

    /* Separator — vertical line */
    .jma-nav-sep {
        display: block !important;
        width: 1px !important;
        height: 20px !important;
        align-self: center !important;
        margin: 0 4px !important;
        margin-top: 0 !important;
    }

    /* Content */
    .logged-in.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1 !important;
        padding: 20px 16px 40px !important;
    }

    /* Info grid single column */
    .jma-info-grid { grid-template-columns: 1fr !important; }
}

/* Hide empty WP block paragraph */
.woocommerce-account .wp-block-paragraph {
    display: none !important;
}



/* ============================================================
   EDIT ACCOUNT FORM — final clean layout
   ============================================================ */
.woocommerce-account .woocommerce-EditAccountForm {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 20px !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 22px !important;
    padding: 24px !important;
}

/* Hide clear divs */
.woocommerce-account .woocommerce-EditAccountForm .clear { display: none !important; }

/* First + Last name — col 1 and col 2 */
.woocommerce-account .woocommerce-EditAccountForm .form-row-first { grid-column: 1 !important; }
.woocommerce-account .woocommerce-EditAccountForm .form-row-last  { grid-column: 2 !important; }

/* Display name + email — side by side (both are form-row-wide but we override) */
.woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row--wide:nth-of-type(3) { grid-column: 1 !important; }
.woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row--wide:nth-of-type(4) { grid-column: 2 !important; }

/* Checkbox + fieldset + save button — full width */
.woocommerce-account .woocommerce-EditAccountForm #update_all_subscriptions_billing_contact_field,
.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-EditAccountForm p:last-child {
    grid-column: 1 / -1 !important;
}

/* Labels — small uppercase */
.woocommerce-account .woocommerce-EditAccountForm label {
    display: block !important;
    font-size: .68em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #A8A29E !important;
    margin-bottom: 5px !important;
}

/* Inputs — slim */
.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"] {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    background: #FAFAF9 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 38px !important;
    color: #1C1917 !important;
}

.woocommerce-account .woocommerce-EditAccountForm input:focus {
    outline: none !important;
    border-color: #E8531A !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
}

/* Password fieldset — 2 col grid */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: 1px solid #EDE9E4 !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 20px !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
    font-size: .68em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #A8A29E !important;
    padding: 0 8px !important;
}

/* Current password — full width in fieldset */
.woocommerce-account .woocommerce-EditAccountForm fieldset p:first-of-type {
    grid-column: 1 / -1 !important;
}

/* New + Confirm — side by side */
.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-of-type(2) { grid-column: 1 !important; }
.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-of-type(3) { grid-column: 2 !important; }

/* Password input wrapper */
.woocommerce-account .password-input {
    position: relative !important;
    display: block !important;
}

.woocommerce-account .password-input input[type="password"] {
    padding-right: 36px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Eye icon — small, inside input */
.woocommerce-account .show-password-input {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    opacity: .4 !important;
    transition: opacity .15s !important;
    font-size: 0 !important;
    color: transparent !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

.woocommerce-account .show-password-input:hover {
    opacity: .8 !important;
    background: none !important;
}

.woocommerce-account .show-password-input::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231C1917' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
}

/* Save button spacing */
.woocommerce-account .woocommerce-EditAccountForm p:last-child {
    margin-top: 8px !important;
}

.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 9px 28px !important;
    font-weight: 700 !important;
    font-size: .875em !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    width: auto !important;
}

@media (max-width: 600px) {
    .woocommerce-account .woocommerce-EditAccountForm { grid-template-columns: 1fr !important; }
    .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-account .woocommerce-EditAccountForm .form-row-last,
    .woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row--wide:nth-of-type(3),
    .woocommerce-account .woocommerce-EditAccountForm p.woocommerce-form-row--wide:nth-of-type(4) { grid-column: 1 !important; }
    .woocommerce-account .woocommerce-EditAccountForm fieldset { grid-template-columns: 1fr !important; }
    .woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-of-type(2),
    .woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-of-type(3) { grid-column: 1 !important; }
}

/* ============================================================
   EDIT ACCOUNT — targeted fixes
   ============================================================ */

/* Hide display name description */
.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description {
    display: none !important;
}

/* Fix checkbox styling */
.woocommerce-account .woocommerce-EditAccountForm input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    border-radius: 4px !important;
    accent-color: #E8531A !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #DDD8D0 !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-input-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-account .woocommerce-EditAccountForm label.checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: .84em !important;
    color: #57534E !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}

/* Password fieldset — use CSS grid with named lines to force new+confirm side by side */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 20px !important;
}

/* All fieldset rows full width by default */
.woocommerce-account .woocommerce-EditAccountForm fieldset p {
    grid-column: 1 / -1 !important;
}

/* New password (2nd p) and Confirm (3rd p) side by side */
.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-child(2) {
    grid-column: 1 !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-child(3) {
    grid-column: 2 !important;
}

.woocommerce-account .show-password-input {
    margin-top: 0 !important;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-child(2),
.woocommerce-account .woocommerce-EditAccountForm fieldset p:nth-child(3),
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
    margin-top: 10px !important;
}

/* ============================================================
   EDIT ADDRESS FORM
   ============================================================ */
.woocommerce-account .woocommerce-address-fields h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1.7em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 0 18px !important;
}

.woocommerce-account .woocommerce-address-fields {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 22px !important;
    padding: 24px !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 20px !important;
}

/* First + Last name side by side */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first { grid-column: 1 !important; }
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last  { grid-column: 2 !important; }

/* All wide fields full width */
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1 !important; }

/* City + State side by side */
.woocommerce-account #shipping_city_field,
.woocommerce-account #billing_city_field { grid-column: 1 !important; }

.woocommerce-account #shipping_state_field,
.woocommerce-account #billing_state_field { grid-column: 2 !important; }

/* ZIP + Phone side by side */
.woocommerce-account #shipping_postcode_field,
.woocommerce-account #billing_postcode_field { grid-column: 1 !important; }

.woocommerce-account #shipping_phone_field,
.woocommerce-account #billing_phone_field { grid-column: 2 !important; }

/* Labels */
.woocommerce-account .woocommerce-address-fields label {
    display: block !important;
    font-size: .68em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #A8A29E !important;
    margin-bottom: 5px !important;
}

/* Inputs + selects */
.woocommerce-account .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-address-fields select {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    background: #FAFAF9 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    height: 38px !important;
    color: #1C1917 !important;
}

.woocommerce-account .woocommerce-address-fields input.input-text:focus,
.woocommerce-account .woocommerce-address-fields select:focus {
    outline: none !important;
    border-color: #E8531A !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
}

/* Select2 custom dropdown */
.woocommerce-account .woocommerce-address-fields .select2-container .select2-selection--single {
    height: 38px !important;
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    background: #FAFAF9 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: .84em !important;
    color: #1C1917 !important;
    padding: 0 !important;
    line-height: 38px !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
}

/* Checkbox */
.woocommerce-account .woocommerce-address-fields label.checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: .84em !important;
    color: #57534E !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    margin-top: 4px !important;
}

.woocommerce-account .woocommerce-address-fields input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: #E8531A !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

/* Save button */
.woocommerce-account .woocommerce-address-fields button[type="submit"] {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 9px 28px !important;
    font-weight: 700 !important;
    font-size: .875em !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    margin-top: 8px !important;
}

@media (max-width: 600px) {
    .woocommerce-account .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr !important; }
    .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
    .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last,
    .woocommerce-account #shipping_city_field, .woocommerce-account #billing_city_field,
    .woocommerce-account #shipping_state_field, .woocommerce-account #billing_state_field,
    .woocommerce-account #shipping_postcode_field, .woocommerce-account #billing_postcode_field,
    .woocommerce-account #shipping_phone_field, .woocommerce-account #billing_phone_field { grid-column: 1 !important; }
}

/* Address form — margin-bottom on all field rows */
.woocommerce-account .woocommerce-address-fields__field-wrapper p {
    margin-bottom: 10px !important;
}

/* Fix horizontal scroll — prevent overflow */
.woocommerce-account .woocommerce-address-fields__field-wrapper {
    overflow: hidden !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix label padding */
.woocommerce-account .woocommerce-address-fields label {
    padding-left: 0 !important;
}

/* Hide horizontal scroll on account page */
.page-id-9 {
    overflow-x: hidden !important;
}

/* Remove left padding from all labels on account pages */
.woocommerce-account label {
    padding-left: 0 !important;
}

/* Hide hardcoded address page heading — we style it via CSS instead */
.woocommerce-account .woocommerce-address-fields h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1.7em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content > form > h2,
.woocommerce-account .woocommerce-MyAccount-content > h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1.7em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 0 18px !important;
}

/* Fix checkbox double-click issue */
.woocommerce-account .woocommerce-input-wrapper {
    pointer-events: auto !important;
}

.woocommerce-account label.checkbox {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.woocommerce-account label.checkbox input[type="checkbox"] {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ============================================================
   WC NOTICES — success, error, info toasts
   ============================================================ */
.woocommerce-account .woocommerce-notices-wrapper {
    margin-bottom: 16px !important;
}

/* Base notice */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 16px !important;
    border-radius: 10px !important;
    font-size: .82em !important;
    font-weight: 500 !important;
    margin-bottom: 10px !important;
    list-style: none !important;
    border: 1px solid !important;
    border-left-width: 1px !important;
}

/* Success */
.woocommerce-account .woocommerce-message {
    background: #F0FDF4 !important;
    border-color: #BBF7D0 !important;
    color: #166534 !important;
}

/* Error */
.woocommerce-account .woocommerce-error {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}

/* Info — confirm email: minimal, inline */
.woocommerce-account .woocommerce-info {
    background: #fff !important;
    border-color: #DDD8D0 !important;
    color: #57534E !important;
    font-size: .8em !important;
    padding: 9px 14px !important;
}

/* Confirm email button — small pill, not giant orange block */
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-info a.button,
.woocommerce-account .woocommerce-info .wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    background: #F0EDE8 !important;
    border: 1px solid #DDD8D0 !important;
    color: #57534E !important;
    font-size: .8em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    order: 2 !important;
}

.woocommerce-account .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-info a.button:hover,
.woocommerce-account .woocommerce-info .wc-forward:hover {
    background: #E8531A !important;
    border-color: #E8531A !important;
    color: #fff !important;
}

/* Notice links */
.woocommerce-account .woocommerce-message a:not(.button),
.woocommerce-account .woocommerce-error a:not(.button) {
    color: inherit !important;
    font-weight: 700 !important;
}

/* Error list items */
.woocommerce-account .woocommerce-error li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* ============================================================
   ADDRESS LIST PAGE (/my-account/edit-address/)
   ============================================================ */
.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.woocommerce-account .woocommerce-Address {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 22px !important;
    padding: 20px 24px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
}

.woocommerce-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #DDD8D0 !important;
}

.woocommerce-account .woocommerce-Address-title h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-Address-title a {
    background: #F0EDE8 !important;
    color: #57534E !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 100px !important;
    padding: 5px 12px !important;
    font-size: .65em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
    width: 200px;
    text-align: center;
}

.woocommerce-account .woocommerce-Address-title a:hover {
    background: #E8531A !important;
    color: #fff !important;
    border-color: #E8531A !important;
}

.woocommerce-account address {
    font-style: normal !important;
    font-size: .875em !important;
    color: #57534E !important;
    line-height: 1.7 !important;
}

/* The intro text */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    font-size: .875em !important;
    color: #A8A29E !important;
    margin-bottom: 20px !important;
}

@media (max-width: 600px) {
    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   SELECT2 PREMIUM DROPDOWN — global (select2 appends to body)
   ============================================================ */

/* Selection box */
.select2-container--default .select2-selection--single {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    height: 38px !important;
    background: #FAFAF9 !important;
    display: flex !important;
    align-items: center !important;
    transition: border-color .15s, box-shadow .15s !important;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #E8531A !important;
    box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
    background: #fff !important;
    outline: none !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1C1917 !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 38px !important;
    padding-left: 12px !important;
    padding-right: 32px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    right: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #A8A29E transparent transparent transparent !important;
    border-width: 5px 4px 0 4px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #E8531A transparent !important;
    border-width: 0 4px 5px 4px !important;
}

/* Dropdown panel */
.select2-dropdown {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.14) !important;
    overflow: hidden !important;
    background: #fff !important;
    font-family: 'DM Sans', sans-serif !important;
}

/* Search box inside dropdown */
.select2-search--dropdown {
    padding: 8px 10px !important;
    border-bottom: 1px solid #EDE9E4 !important;
}

.select2-search--dropdown .select2-search__field {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #1C1917 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.select2-search--dropdown .select2-search__field:focus {
    outline: none !important;
    border-color: #E8531A !important;
}

/* Options list */
.select2-results__options {
    max-height: 240px !important;
    overflow-y: auto !important;
    padding: 4px 0 !important;
}

.select2-results__option {
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    padding: 8px 14px !important;
    color: #57534E !important;
    transition: background .1s, color .1s !important;
    border-radius: 0 !important;
}

.select2-results__option--highlighted {
    background: #FFF3EE !important;
    color: #E8531A !important;
}

.select2-results__option[aria-selected="true"] {
    background: #FFF3EE !important;
    color: #E8531A !important;
    font-weight: 600 !important;
}

/* Scrollbar inside dropdown */
.select2-results__options::-webkit-scrollbar {
    width: 4px !important;
}

.select2-results__options::-webkit-scrollbar-track {
    background: #F4F1ED !important;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: #DDD8D0 !important;
    border-radius: 4px !important;
}

/* Thin select2 search input */
.select2-search--dropdown .select2-search__field {
    padding: 5px 10px !important;
    height: 32px !important;
    font-size: .82em !important;
}

.select2-search--dropdown {
    padding: 6px 8px !important;
}

/* Orange scrollbar */
.select2-results__options::-webkit-scrollbar-thumb {
    background: #E8531A !important;
    border-radius: 4px !important;
}

/* Native select styling — country dropdown */
.woocommerce-account .woocommerce-address-fields select,
.woocommerce-account .woocommerce-EditAccountForm select {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    background: #FAFAF9 !important;
    width: 100% !important;
    height: 38px !important;
    color: #1C1917 !important;
    box-sizing: border-box !important;
    appearance: auto !important;
    cursor: pointer !important;
}

.woocommerce-account .woocommerce-address-fields select:focus,
.woocommerce-account .woocommerce-EditAccountForm select:focus {
    outline: none !important;
    border-color: #E8531A !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
}

/* Force native select styling with higher specificity */
.woocommerce-account select,
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce-address-fields__field-wrapper select,
.woocommerce-account #shipping_country,
.woocommerce-account #billing_country {
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    background: #FAFAF9 !important;
    width: 100% !important;
    height: 38px !important;
    color: #1C1917 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;
    appearance: auto !important;
}

/* Target country field wrapper and select directly */
#shipping_country_field .woocommerce-input-wrapper,
#billing_country_field .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
}

#shipping_country,
#billing_country {
    display: block !important;
    width: 100% !important;
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    font-size: .84em !important;
    font-family: 'DM Sans', sans-serif !important;
    background: #FAFAF9 !important;
    height: 38px !important;
    color: #1C1917 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

#shipping_country:focus,
#billing_country:focus {
    outline: none !important;
    border-color: #E8531A !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(232,83,26,.08) !important;
}

/* Force override native select appearance */
#shipping_country,
#billing_country {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-color: #FAFAF9 !important;
    padding-right: 36px !important;
}
/* ============================================================
   ADDRESS LIST PAGE — fixes
   ============================================================ */

/* Prevent heading wrapping */
.woocommerce-account .woocommerce-Address-title h3 {
    white-space: nowrap !important;
}

/* Remove extra bottom padding from cards */
.woocommerce-account .woocommerce-Address {
    padding-bottom: 20px !important;
}

/* ============================================================
   ADDRESS LIST — correct selectors from actual DOM
   ============================================================ */
.woocommerce-account .u-columns.addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.woocommerce-account .u-columns.addresses .woocommerce-Address {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 22px !important;
    padding: 20px 24px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
}

.woocommerce-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #DDD8D0 !important;
}

.woocommerce-account .woocommerce-Address-title h2 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.woocommerce-account address {
    font-style: normal !important;
    font-size: .875em !important;
    color: #57534E !important;
    line-height: 1.7 !important;
}

/* Hide the default intro paragraph */
.woocommerce-account .woocommerce-MyAccount-content > p {
    font-size: .875em !important;
    color: #A8A29E !important;
    margin-bottom: 20px !important;
}

/* Fix address list issues */

/* Hide default intro text */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    display: none !important;
}

/* Prevent button wrapping */
.woocommerce-account .woocommerce-Address-title a {
    white-space: nowrap !important;
}

/* Move My Addresses heading above cards using flex order */
.woocommerce-account .woocommerce-MyAccount-content {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce-account .woocommerce-MyAccount-content .jma-ph {
    order: -2 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper {
    order: -3 !important;
}

.woocommerce-account .woocommerce-MyAccount-content .u-columns.addresses {
    order: -1 !important;
}

/* ============================================================
   CUSTOMIZE MY MEALS — subscription picker
   ============================================================ */

/* Override inline styles from the picker */
.jfm-picker {
    max-width: 100% !important;
    margin: 0 0 24px !important;
}

.jfm-picker h3 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1.3em !important;
    font-weight: 400 !important;
    color: #1C1917 !important;
    margin: 0 0 16px !important;
}

.jfm-picker-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}

.jfm-picker-item {
    display: block !important;
    padding: 16px 18px !important;
    background: #fff !important;
    border: 1.5px solid #DDD8D0 !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    color: #1C1917 !important;
    transition: all .15s !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
}

.jfm-picker-item:hover {
    background: #FFF3EE !important;
    border-color: #E8531A !important;
    box-shadow: 0 4px 12px rgba(232,83,26,.12) !important;
    color: #1C1917 !important;
}

.jfm-picker-num {
    display: block !important;
    font-weight: 700 !important;
    font-size: .9em !important;
    margin-bottom: 6px !important;
    color: #1C1917 !important;
    font-family: 'DM Sans', sans-serif !important;
}

.jfm-picker-status {
    display: inline-block !important;
    font-size: .72em !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 100px !important;
    background: #F0EDE8 !important;
    color: #57534E !important;
    text-transform: capitalize !important;
    font-family: 'DM Sans', sans-serif !important;
}

.jfm-picker-status.status-active {
    background: #F0FDF4 !important;
    color: #16A34A !important;
}

.jfm-picker-status.status-on-hold {
    background: #FFFBEB !important;
    color: #D97706 !important;
}

.jfm-picker-status.status-cancelled {
    background: #FEF2F2 !important;
    color: #DC2626 !important;
}


/* ============================================================
   WC TABLES — orders & payment methods (CSS-only card style)
   ============================================================ */

/* ── Orders table → card list ── */
.woocommerce-account .woocommerce-MyAccount-orders {
    display: block !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* Hide thead — labels become data-title on mobile anyway */
.woocommerce-account .woocommerce-MyAccount-orders thead {
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-orders tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Each row = a card */
.woocommerce-account .woocommerce-MyAccount-orders tbody tr {
    display: grid !important;
    grid-template-columns: auto 1fr auto auto auto !important;
    align-items: center !important;
    gap: 0 !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
    overflow: hidden !important;
    transition: border-color .15s, box-shadow .15s !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-orders tbody tr:hover {
    border-color: #E8531A !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
}

/* All cells — reset table display */
.woocommerce-account .woocommerce-MyAccount-orders td,
.woocommerce-account .woocommerce-MyAccount-orders th {
    display: flex !important;
    align-items: center !important;
    padding: 14px 16px !important;
    border-bottom: none !important;
    background: transparent !important;
    font-size: .845em !important;
    font-family: 'DM Sans', sans-serif !important;
    border-right: 1px solid #EDE9E4 !important;
}

.woocommerce-account .woocommerce-MyAccount-orders td:last-child {
    border-right: none !important;
}

/* Order number — bold */
.woocommerce-account .woocommerce-orders-table__cell-order-number {
    font-weight: 800 !important;
    color: #1C1917 !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    color: #1C1917 !important;
    text-decoration: none !important;
    font-weight: 800 !important;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
    color: #E8531A !important;
}

/* Date */
.woocommerce-account .woocommerce-orders-table__cell-order-date {
    color: #A8A29E !important;
    font-size: .8em !important;
    white-space: nowrap !important;
}

/* Status badge */
.woocommerce-account .woocommerce-orders-table__cell-order-status {
    font-size: .72em !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Status colours via row class */
.woocommerce-account tr.woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status,
.woocommerce-account tr.woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status {
    color: #16A34A !important;
}

.woocommerce-account tr.woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status {
    color: #D97706 !important;
}

.woocommerce-account tr.woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-account tr.woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
.woocommerce-account tr.woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status {
    color: #DC2626 !important;
}

.woocommerce-account tr.woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status {
    color: #2563EB !important;
}

/* Total */
.woocommerce-account .woocommerce-orders-table__cell-order-total {
    font-weight: 700 !important;
    color: #1C1917 !important;
    white-space: nowrap !important;
}

/* Actions */
.woocommerce-account .woocommerce-orders-table__cell-order-actions {
    gap: 6px !important;
    flex-wrap: nowrap !important;
    border-right: none !important;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 14px !important;
    border-radius: 100px !important;
    border: 1px solid #DDD8D0 !important;
    background: #F0EDE8 !important;
    color: #57534E !important;
    font-size: .75em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover {
    background: #E8531A !important;
    border-color: #E8531A !important;
    color: #fff !important;
}

/* Pay button — orange */
.woocommerce-account .woocommerce-orders-table__cell-order-actions .pay {
    background: #E8531A !important;
    border-color: #E8531A !important;
    color: #fff !important;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .pay:hover {
    background: #C84410 !important;
    border-color: #C84410 !important;
}

/* Payment methods table */
.woocommerce-account .woocommerce-MyAccount-paymentMethods {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: .875em !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
    margin-bottom: 16px !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods thead { display: none !important; }

.woocommerce-account .woocommerce-MyAccount-paymentMethods tbody tr {
    display: flex !important;
    align-items: center !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #EDE9E4 !important;
    gap: 12px !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods tbody tr:last-child {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods td {
    padding: 0 !important;
    border-bottom: none !important;
    vertical-align: middle !important;
    font-size: .875em !important;
}

/* Card icon + name — flex: 1 so it takes available space */
.woocommerce-account .woocommerce-MyAccount-paymentMethods .payment-method-method {
    flex: 1 !important;
    font-weight: 600 !important;
    color: #1C1917 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Add a subtle card icon before the method name */
.woocommerce-account .woocommerce-MyAccount-paymentMethods .payment-method-method::before {
    content: '' !important;
    display: inline-block !important;
    width: 36px !important;
    height: 24px !important;
    background: #F0EDE8 !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14' viewBox='0 0 24 16' fill='none'%3E%3Crect width='24' height='16' rx='3' fill='%23F0EDE8'/%3E%3Crect y='4' width='24' height='4' fill='%23DDD8D0'/%3E%3Crect x='3' y='10' width='6' height='2' rx='1' fill='%23A8A29E'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Default badge on default-payment-method row */
.woocommerce-account .woocommerce-MyAccount-paymentMethods .default-payment-method .payment-method-method::after {
    content: 'Default' !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #F0FDF4 !important;
    border: 1px solid #BBF7D0 !important;
    color: #166534 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    border-radius: 100px !important;
    padding: 2px 8px !important;
    letter-spacing: .03em !important;
    margin-left: 4px !important;
}

/* Add payment method button — + icon */
.woocommerce-account .woocommerce-MyAccount-content a.button[href*="add-payment-method"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}
.woocommerce-account .woocommerce-MyAccount-content a.button[href*="add-payment-method"]::before {
    content: '' !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    flex-shrink: 0 !important;
}

/* Page header */
.jfm-pm-header { margin-bottom: 20px !important; }
.jfm-pm-header__title {
    font-size: 1.3em !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    margin: 0 0 4px !important;
    font-family: 'DM Serif Display', serif !important;
}
.jfm-pm-header__sub {
    font-size: .875em !important;
    color: #78716C !important;
    margin: 0 !important;
}

/* Security notice */
.jfm-pm-secure {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: .78em !important;
    color: #78716C !important;
    margin-top: 14px !important;
    padding: 10px 14px !important;
    background: #F9F7F5 !important;
    border: 1px solid #EDE9E4 !important;
    border-radius: 10px !important;
}
.jfm-pm-secure svg { flex-shrink: 0 !important; color: #A8A29E !important; }

/* Expiry — muted */
.woocommerce-account .woocommerce-MyAccount-paymentMethods .payment-method-expires {
    color: #A8A29E !important;
    font-size: .8em !important;
    white-space: nowrap !important;
}

/* Actions */
.woocommerce-account .woocommerce-MyAccount-paymentMethods .payment-method-actions {
    flex-shrink: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods .button {
    background: #FEF2F2 !important;
    border: 1px solid #FECACA !important;
    color: #991B1B !important;
    border-radius: 100px !important;
    padding: 5px 14px !important;
    font-size: .75em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all .15s !important;
}

.woocommerce-account .woocommerce-MyAccount-paymentMethods .button:hover {
    background: #DC2626 !important;
    border-color: #DC2626 !important;
    color: #fff !important;
}

/* Add payment method button — the direct <a class="button"> after the table */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-MyAccount-paymentMethods ~ a.button,
.woocommerce-account .woocommerce-MyAccount-content a.button[href*="add-payment-method"] {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 10px 22px !important;
    font-weight: 700 !important;
    font-size: .875em !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: background .15s !important;
}

.woocommerce-account .woocommerce-MyAccount-content a.button[href*="add-payment-method"]:hover {
    background: #C84410 !important;
}

.woocommerce-account .woocommerce-payment-methods + p a.button {
    background: #E8531A !important; color: #fff !important; border-radius: 100px !important;
    padding: 8px 18px !important; font-weight: 700 !important; margin-top: 12px !important;
    display: inline-block !important; text-decoration: none !important;
}

/* ── Add Payment Method page ── */

/* On add-payment-method page, WC wrongly highlights first nav item.
   Force payment-methods nav item to appear active instead.
   WC outputs: .woocommerce-MyAccount-navigation-link--payment-methods
   and .woocommerce-MyAccount-navigation-link--edit-account (wrongly active) */
.woocommerce-account.woocommerce-add-payment-method .jma-nav-item.is-active a {
    background: transparent !important;
    color: inherit !important;
    border-left-color: transparent !important;
    font-weight: 400 !important;
    box-shadow: none !important;
}
.woocommerce-account.woocommerce-add-payment-method .jma-nav-item.is-active a svg {
    opacity: .45 !important;
    color: inherit !important;
}
/* Highlight payment-methods nav item */
.woocommerce-account.woocommerce-add-payment-method .woocommerce-MyAccount-navigation-link--payment-methods a,
.woocommerce-account.woocommerce-add-payment-method li[class*="payment-methods"] a {
    background: linear-gradient(135deg, #FFF3EE, #FFE8DC) !important;
    color: #E8531A !important;
    border-left-color: #E8531A !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 8px rgba(232,83,26,.12) !important;
}
.woocommerce-account.woocommerce-add-payment-method .woocommerce-MyAccount-navigation-link--payment-methods a svg,
.woocommerce-account.woocommerce-add-payment-method li[class*="payment-methods"] a svg {
    opacity: 1 !important;
    color: #E8531A !important;
}

/* Page header injected via functions.php */
.jfm-add-pm-header { margin-bottom: 24px !important; }
.jfm-add-pm-header__title {
    font-size: 1.3em !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    margin: 0 0 4px !important;
    font-family: 'DM Serif Display', serif !important;
}
.jfm-add-pm-header__sub {
    font-size: .875em !important;
    color: #78716C !important;
    margin: 0 !important;
}

/* Wrap the whole form in a card */
.woocommerce-account #add_payment_method #payment {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
    margin-bottom: 16px !important;
}

/* Hide the payment method radio + label (only one option — Stripe) */
.woocommerce-account #add_payment_method .woocommerce-PaymentMethod > input[type="radio"],
.woocommerce-account #add_payment_method .woocommerce-PaymentMethod > label {
    display: none !important;
}

/* Payment box — Stripe iframe wrapper */
.woocommerce-account #add_payment_method .payment_box {
    background: #fff !important;
    padding: 20px 24px !important;
    margin: 0 !important;
    border: none !important;
}

/* Hide the test mode notice on production — keep on staging via opacity trick
   We can't know env from CSS, so just style it nicely */
.woocommerce-account #add_payment_method .testmode-info {
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .78em !important;
    color: #92400E !important;
    margin-bottom: 14px !important;
}

.woocommerce-account #add_payment_method .testmode-info strong {
    color: #92400E !important;
}

/* Stripe UPE element wrapper */
.woocommerce-account #add_payment_method .wc-stripe-upe-element {
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* Update subscriptions checkbox */
.woocommerce-account #add_payment_method #wc-stripe-update-subs-payment-method-card_field {
    padding: 14px 24px !important;
    margin: 0 !important;
    border-top: 1px solid #EDE9E4 !important;
    background: #FAFAF9 !important;
}

.woocommerce-account #add_payment_method #wc-stripe-update-subs-payment-method-card_field label.checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: .8em !important;
    color: #57534E !important;
    cursor: pointer !important;
    font-weight: 400 !important;
}

.woocommerce-account #add_payment_method #wc-stripe-update-subs-payment-method-card_field input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    accent-color: #E8531A !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.woocommerce-account #add_payment_method #wc-stripe-update-subs-payment-method-card_field .optional {
    color: #A8A29E !important;
    font-size: .9em !important;
}

/* Submit button row */
.woocommerce-account #add_payment_method .form-row:last-child {
    padding: 0 !important;
    margin: 16px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Submit button */
.woocommerce-account #add_payment_method #place_order {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 11px 28px !important;
    font-size: .9em !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: background .15s !important;
    line-height: 1 !important;
    box-shadow: none !important;
    margin-left: 1rem !important;
    margin-bottom: 1rem !important;
}

.woocommerce-account #add_payment_method #place_order:hover {
    background: #C84410 !important;
}

/* Back link — shown via functions.php */
.jfm-add-pm-back {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: .8em !important;
    color: #78716C !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color .15s !important;
}
.jfm-add-pm-back:hover { color: #1C1917 !important; }
.jfm-add-pm-back svg { flex-shrink: 0 !important; }

/* Security notice */
.jfm-add-pm-secure {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: .78em !important;
    color: #78716C !important;
    margin-top: 12px !important;
    padding: 10px 14px !important;
    background: #F9F7F5 !important;
    border: 1px solid #EDE9E4 !important;
    border-radius: 10px !important;
}
.jfm-add-pm-secure svg { flex-shrink: 0 !important; color: #A8A29E !important; }

/* Responsive — stack cells vertically on small screens */
@media (max-width: 700px) {
    .woocommerce-account .woocommerce-MyAccount-orders tbody tr {
        grid-template-columns: 1fr 1fr !important;
    }

    .woocommerce-account .woocommerce-MyAccount-orders td {
        border-right: none !important;
        border-bottom: 1px solid #EDE9E4 !important;
    }

    .woocommerce-account .woocommerce-orders-table__cell-order-actions {
        grid-column: 1 / -1 !important;
        border-bottom: none !important;
        background: #FAFAF9 !important;
    }
}

/* ============================================================
   VIEW ORDER PAGE — CSS only
   ============================================================ */

/* Status summary paragraph */
.woocommerce-account .woocommerce-MyAccount-content > p:has(.order-number) {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    font-size: .84em !important;
    color: #57534E !important;
    margin-bottom: 20px !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p .order-number,
.woocommerce-account .woocommerce-MyAccount-content > p .order-date {
    font-weight: 700 !important;
    color: #1C1917 !important;
    background: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p .order-status {
    font-weight: 700 !important;
    color: #D97706 !important;
    background: none !important;
}

/* ── Order details section ── */
.woocommerce-account .woocommerce-order-details {
    margin-bottom: 20px !important;
}

.woocommerce-account .woocommerce-order-details__title,
.woocommerce-account .woocommerce-order-details header h2,
.woocommerce-account .woocommerce-customer-details .woocommerce-column__title {
    font-family: 'DM Sans', sans-serif !important;
    font-size: .68em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .09em !important;
    color: #1C1917 !important;
    margin: 0 0 10px !important;
}

/* Order details table */
.woocommerce-account .woocommerce-table--order-details {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
    margin-bottom: 20px !important;
}

.woocommerce-account .woocommerce-table--order-details thead tr {
    background: #F9F7F5 !important;
}

.woocommerce-account .woocommerce-table--order-details thead th {
    font-size: .65em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .09em !important;
    color: #A8A29E !important;
    padding: 10px 18px !important;
    border-bottom: 1px solid #EDE9E4 !important;
    text-align: left !important;
}

.woocommerce-account .woocommerce-table--order-details thead th:last-child {
    text-align: right !important;
}

/* Product rows */
.woocommerce-account .woocommerce-table--order-details tbody td {
    padding: 16px 18px !important;
    border-bottom: 1px solid #EDE9E4 !important;
    font-size: .875em !important;
    vertical-align: top !important;
}

.woocommerce-account .woocommerce-table--order-details tbody td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    white-space: nowrap !important;
}

.woocommerce-account .woocommerce-table--order-details .product-name a {
    font-weight: 600 !important;
    color: #1C1917 !important;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-table--order-details .product-name a:hover {
    color: #E8531A !important;
}

.woocommerce-account .woocommerce-table--order-details .product-quantity {
    font-weight: 400 !important;
    color: #A8A29E !important;
}

/* Item meta (Special Request, Period, etc.) */
.woocommerce-account .woocommerce-table--order-details .wc-item-meta {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
}

.woocommerce-account .woocommerce-table--order-details .wc-item-meta li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #FFF3EE !important;
    border: 1px solid #F9C4AD !important;
    border-radius: 100px !important;
    padding: 3px 10px !important;
    font-size: .72em !important;
    color: #C44B0F !important;
    list-style: none !important;
}

.woocommerce-account .woocommerce-table--order-details .wc-item-meta li strong {
    color: #E8531A !important;
    font-weight: 700 !important;
}

.woocommerce-account .woocommerce-table--order-details .wc-item-meta li p {
    margin: 0 !important;
    display: inline !important;
}

/* Tfoot — subtotal/total rows */
.woocommerce-account .woocommerce-table--order-details tfoot tr {
    border-top: 1px solid #EDE9E4 !important;
}

.woocommerce-account .woocommerce-table--order-details tfoot th {
    padding: 9px 18px !important;
    font-size: .78em !important;
    font-weight: 600 !important;
    color: #57534E !important;
    text-align: left !important;
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-table--order-details tfoot td {
    padding: 9px 18px !important;
    font-size: .78em !important;
    font-weight: 600 !important;
    color: #57534E !important;
    text-align: right !important;
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-table--order-details tfoot tr:first-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:first-child td {
    border-top: 1px solid #EDE9E4 !important;
    padding-top: 13px !important;
}

/* Total row — bigger + darker */
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-table--order-details tfoot tr:last-child td {
    font-size: .9em !important;
    font-weight: 800 !important;
    color: #1C1917 !important;
    padding-bottom: 14px !important;
}

.woocommerce-account .woocommerce-table--order-details small.shipped_via {
    font-size: .85em !important;
    color: #A8A29E !important;
    font-weight: 400 !important;
}

/* ── Related subscriptions table ── */
.woocommerce-account .woocommerce-order-details header {
    margin-top: 24px !important;
    margin-bottom: 10px !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
    margin-bottom: 24px !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions thead th {
    background: #F9F7F5 !important;
    font-size: .65em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .09em !important;
    color: #A8A29E !important;
    padding: 10px 18px !important;
    border-bottom: 1px solid #EDE9E4 !important;
    text-align: left !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions tbody td {
    padding: 13px 18px !important;
    font-size: .845em !important;
    border-bottom: 1px solid #EDE9E4 !important;
    vertical-align: middle !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions tbody tr:last-child td {
    border-bottom: none !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions .order-number a {
    font-weight: 700 !important;
    color: #1C1917 !important;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions .order-number a:hover {
    color: #E8531A !important;
}

/* Subscription status colours */
.woocommerce-account .woocommerce-orders-table__row--status-active .order-status { color: #16A34A !important; font-weight: 700 !important; }
.woocommerce-account .woocommerce-orders-table__row--status-on-hold .order-status { color: #2563EB !important; font-weight: 700 !important; }
.woocommerce-account .woocommerce-orders-table__row--status-cancelled .order-status,
.woocommerce-account .woocommerce-orders-table__row--status-expired .order-status { color: #DC2626 !important; font-weight: 700 !important; }
.woocommerce-account .woocommerce-orders-table__row--status-pending .order-status { color: #D97706 !important; font-weight: 700 !important; }

.woocommerce-account .woocommerce-MyAccount-subscriptions .button {
    display: inline-flex !important;
    padding: 5px 14px !important;
    border-radius: 100px !important;
    border: 1px solid #DDD8D0 !important;
    background: #F0EDE8 !important;
    color: #57534E !important;
    font-size: .75em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all .15s !important;
}

.woocommerce-account .woocommerce-MyAccount-subscriptions .button:hover {
    background: #E8531A !important;
    border-color: #E8531A !important;
    color: #fff !important;
}

/* ── Billing + Shipping address section ── */
.woocommerce-account .woocommerce-customer-details {
    margin-top: 4px !important;
}

.woocommerce-account .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.woocommerce-account .woocommerce-column {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    padding: 18px 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.07) !important;
}

.woocommerce-account .woocommerce-column address {
    font-style: normal !important;
    font-size: .875em !important;
    color: #57534E !important;
    line-height: 1.8 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-customer-details--phone,
.woocommerce-account .woocommerce-customer-details--email {
    margin: 4px 0 0 !important;
    font-size: .84em !important;
    color: #A8A29E !important;
}

@media (max-width: 640px) {
    .woocommerce-account .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   SUBSCRIPTIONS LIST PAGE — card style (CSS only)
   ============================================================ */


.woocommerce-account .my_account_subscriptions {
    display: block !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
}

.woocommerce-account .my_account_subscriptions thead {
    display: none !important;
}

.woocommerce-account .my_account_subscriptions tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Card row */
.woocommerce-account .my_account_subscriptions tbody tr {
    display: flex !important;
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
    overflow: hidden !important;
    transition: border-color .15s, box-shadow .15s !important;
    padding: 0 !important;
}

.woocommerce-account .my_account_subscriptions tbody tr:hover {
    border-color: #E8531A !important;
    box-shadow: 0 4px 16px rgba(232,83,26,.10) !important;
}

/* Coloured left accent bar via pseudo-element on status cell */
.woocommerce-account .my_account_subscriptions tbody tr::before {
    content: '' !important;
    display: block !important;
    width: 6px !important;
    flex-shrink: 0 !important;
    background: #DDD8D0 !important;
}

.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-active::before { background: #16A34A !important; }
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-on-hold::before { background: #1D4ED8 !important; }
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-cancelled::before,
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-expired::before { background: #DC2626 !important; }
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-pending::before { background: #D97706 !important; }

/* All cells base */
.woocommerce-account .my_account_subscriptions td {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 14px 18px !important;
    border-bottom: none !important;
    font-family: 'DM Sans', sans-serif !important;
    background: transparent !important;
    border-right: 1px solid #EDE9E4 !important;
}

.woocommerce-account .my_account_subscriptions td:last-child {
    border-right: none !important;
}

/* Subscription ID cell */
.woocommerce-account .my_account_subscriptions .subscription-id {
    min-width: 130px !important;
    flex-shrink: 0 !important;
}

.woocommerce-account .my_account_subscriptions .subscription-id a {
    font-size: .875em !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    text-decoration: none !important;
    display: block !important;
    line-height: 1.3 !important;
}

.woocommerce-account .my_account_subscriptions .subscription-id a:hover {
    color: #E8531A !important;
}

/* Status cell */
.woocommerce-account .my_account_subscriptions .subscription-status {
    flex-shrink: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
}

/* Status pill */
.woocommerce-account .my_account_subscriptions .subscription-status {
    font-size: .72em !important;
    font-weight: 700 !important;
}

.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-active .subscription-status {
    color: #166534 !important;
    background: #F0FDF4 !important;
}
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-on-hold .subscription-status {
    color: #1E40AF !important;
    background: #EFF6FF !important;
}
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-cancelled .subscription-status,
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-expired .subscription-status {
    color: #991B1B !important;
    background: #FEF2F2 !important;
}
.woocommerce-account .my_account_subscriptions .woocommerce-orders-table__row--status-pending .subscription-status {
    color: #92400E !important;
    background: #FFFBEB !important;
}

/* Next payment — right-aligned label+value stack */
.woocommerce-account .my_account_subscriptions .subscription-next-payment {
    flex: 1 !important;
    align-items: flex-end !important;
    text-align: right !important;
}

.woocommerce-account .my_account_subscriptions .subscription-next-payment::before {
    content: 'Next payment' !important;
    display: block !important;
    font-size: .68em !important;
    color: #A8A29E !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

.woocommerce-account .my_account_subscriptions .subscription-next-payment {
    font-size: .8em !important;
    font-weight: 500 !important;
    color: #1C1917 !important;
}

/* Total — right-aligned label+value stack */
.woocommerce-account .my_account_subscriptions .subscription-total {
    align-items: flex-end !important;
    text-align: right !important;
    min-width: 110px !important;
    flex-shrink: 0 !important;
}

.woocommerce-account .my_account_subscriptions .subscription-total::before {
    content: 'Total' !important;
    display: block !important;
    font-size: .68em !important;
    color: #A8A29E !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

.woocommerce-account .my_account_subscriptions .subscription-total {
    font-size: .95em !important;
    font-weight: 800 !important;
    color: #1C1917 !important;
}

/* Actions */
.woocommerce-account .my_account_subscriptions .subscription-actions {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
    padding: 14px 16px !important;
    border-right: none !important;
}

.woocommerce-account .my_account_subscriptions .subscription-actions .button {
    display: inline-flex !important;
    padding: 6px 16px !important;
    border-radius: 100px !important;
    border: 1px solid #DDD8D0 !important;
    background: #F9F7F5 !important;
    color: #57534E !important;
    font-size: .78em !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
}

.woocommerce-account .my_account_subscriptions .subscription-actions .button:hover {
    background: #E8531A !important;
    border-color: #E8531A !important;
    color: #fff !important;
}

/* Page heading */
.woocommerce-account .woocommerce_account_subscriptions > .jma-ph {
    margin-bottom: 18px !important;
}

@media (max-width: 700px) {
    .woocommerce-account .my_account_subscriptions tbody tr {
        flex-wrap: wrap !important;
    }
    .woocommerce-account .my_account_subscriptions td {
        border-right: none !important;
        border-bottom: 1px solid #EDE9E4 !important;
    }
    .woocommerce-account .my_account_subscriptions .subscription-actions {
        width: 100% !important;
        justify-content: flex-start !important;
        border-bottom: none !important;
    }
}

/* ============================================================
   VIEW SUBSCRIPTION — jma-sub-* (tab layout redesign)
   ============================================================ */

.jma-sub-wrap { font-family: 'DM Sans', sans-serif !important; }

/* ── Hero ── */
.jma-sub-hero {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 20px !important;
    padding: 22px 26px !important;
    margin-bottom: 12px !important;
    position: relative !important;
    overflow: hidden !important;
}

.jma-sub-hero__accent {
    position: absolute !important;
    top: -40px !important; right: -40px !important;
    width: 180px !important; height: 180px !important;
    border-radius: 50% !important;
    background: rgba(232,83,26,.10) !important;
    pointer-events: none !important;
}

.jma-sub-hero__top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    position: relative !important;
}

.jma-sub-hero__id {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: #A8A29E !important;
    margin-bottom: 4px !important;
}

.jma-sub-hero__plans {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #1C1917 !important;
    line-height: 1.2 !important;
}

.jma-sub-hero__stats {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 10px !important;
    margin-top: 16px !important;
    position: relative !important;
}

.jma-sub-hstat {
    background: #F9F7F5 !important;
    border: 1px solid #EDE9E4 !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
}

.jma-sub-hstat__l {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: #A8A29E !important;
    margin-bottom: 5px !important;
}

.jma-sub-hstat__v {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #1C1917 !important;
    line-height: 1 !important;
}

.jma-sub-hstat__s {
    font-size: 11px !important;
    color: #A8A29E !important;
    margin-top: 3px !important;
}

/* ── Status badge ── */
.jma-sub-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    border-radius: 100px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    background: #F0FDF4 !important;
    border: 1px solid #BBF7D0 !important;
    color: #166534 !important;
    white-space: nowrap !important;
}

.jma-sub-badge--on-hold {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
    color: #1E40AF !important;
}

.jma-sub-badge--cancelled,
.jma-sub-badge--expired {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}

.jma-sub-badge--pending {
    background: #FFFBEB !important;
    border-color: #FDE68A !important;
    color: #92400E !important;
}

.jma-sub-badge__dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: currentColor !important;
    flex-shrink: 0 !important;
}

/* ── CTA ── */
.jma-sub-cta {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-left: 4px solid #E8531A !important;
    border-radius: 0 14px 14px 0 !important;
    padding: 14px 20px !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.jma-sub-cta__t {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    margin-bottom: 2px !important;
}

.jma-sub-cta__s {
    font-size: 11px !important;
    color: #A8A29E !important;
}

.jma-sub-btn-or {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 9px 18px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background .15s !important;
}

.jma-sub-btn-or:hover { background: #C84410 !important; color: #fff !important; }

/* ── Page tabs ── */
.jma-sub-tabs {
    display: flex !important;
    gap: 5px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

.jma-sub-tab {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 100px !important;
    padding: 7px 15px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #78716C !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
}

.jma-sub-tab.on {
    background: #1C1917 !important;
    border-color: #1C1917 !important;
    color: #fff !important;
}

.jma-sub-tab:hover:not(.on) {
    border-color: #E8531A !important;
    color: #E8531A !important;
}

/* ── Panels ── */
.jma-sub-panel { display: none !important; }
.jma-sub-panel.on { display: block !important; }

/* ── Plan tabs ── */
.jma-sub-plan-tabs {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

.jma-sub-plan-tab {
    background: #F9F7F5 !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #78716C !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.jma-sub-plan-tab.on {
    background: #fff !important;
    border-color: #E8531A !important;
    color: #E8531A !important;
    box-shadow: 0 0 0 1px #E8531A !important;
}

.jma-sub-plan-tab__dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #DDD8D0 !important;
    flex-shrink: 0 !important;
    transition: background .15s !important;
}

.jma-sub-plan-tab.on .jma-sub-plan-tab__dot {
    background: #E8531A !important;
}

/* ── Plan panels ── */
.jma-sub-plan-panel { display: none !important; }
.jma-sub-plan-panel.on { display: block !important; }

/* ── Cards ── */
.jma-sub-card {
    background: #fff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

.jma-sub-card__hdr {
    padding: 13px 20px !important;
    border-bottom: 1px solid #EDE9E4 !important;
    background: #FAFAF9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.jma-sub-card__title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #1C1917 !important;
}

.jma-sub-card__body {
    padding: 18px 20px !important;
}

.jma-sub-card__footer {
    padding: 12px 20px !important;
    border-top: 1px solid #EDE9E4 !important;
    background: #FAFAF9 !important;
}

/* Danger card */
.jma-sub-card--danger { border-color: #FECACA !important; }
.jma-sub-card__hdr--danger { background: #FEF9F9 !important; border-bottom-color: #FECACA !important; }
.jma-sub-card__title--danger { color: #991B1B !important; }

/* ── KV rows ── */
.jma-sub-kv {
    display: flex !important;
    align-items: center !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid #EDE9E4 !important;
    font-size: 13px !important;
}

.jma-sub-kv:last-child { border-bottom: none !important; }

.jma-sub-kv__k {
    color: #A8A29E !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    min-width: 155px !important;
    flex-shrink: 0 !important;
}

.jma-sub-kv__v {
    color: #1C1917 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

/* ── Buttons ── */
.jma-sub-btn {
    background: #F5F2EE !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 100px !important;
    padding: 6px 13px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #57534E !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    transition: all .15s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.jma-sub-btn:hover {
    border-color: #E8531A !important;
    color: #E8531A !important;
    background: #FFF3EE !important;
}

.jma-sub-btn--red {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #991B1B !important;
}

.jma-sub-btn--red:hover {
    border-color: #DC2626 !important;
    color: #DC2626 !important;
    background: #FEF2F2 !important;
}

.jma-sub-btns {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

/* ── Two-col layout ── */
.jma-sub-two-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

/* ── Plan totals ── */
.jma-sub-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid #EDE9E4 !important;
    font-size: 13px !important;
}

.jma-sub-total-row:last-child { border-bottom: none !important; padding-top: 12px !important; }

.jma-sub-total-k { color: #A8A29E !important; font-size: 12px !important; }
.jma-sub-total-v { font-weight: 600 !important; color: #1C1917 !important; }
.jma-sub-switch-link { display: inline-block !important; font-size: 10px !important; font-weight: 700 !important; color: #E8531A !important; text-decoration: none !important; margin-top: 3px !important; }
.jma-sub-switch-link:hover { text-decoration: underline !important; }

.jma-sub-total-row--big .jma-sub-total-k {
    font-size: 14px !important; font-weight: 700 !important; color: #1C1917 !important;
}
.jma-sub-total-row--big .jma-sub-total-v {
    font-size: 16px !important; font-weight: 800 !important; color: #E8531A !important;
}

/* ── Mini order rows ── */
.jma-sub-mini-order {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #EDE9E4 !important;
}
.jma-sub-mini-order:last-child { border-bottom: none !important; }
.jma-sub-mini-num { font-size: 13px !important; font-weight: 700 !important; color: #1C1917 !important; }
.jma-sub-mini-num a { color: #1C1917 !important; text-decoration: none !important; }
.jma-sub-mini-num a:hover { color: #E8531A !important; }
.jma-sub-mini-sub { font-size: 11px !important; color: #A8A29E !important; margin-top: 2px !important; }
.jma-sub-status-processing { font-size: 11px !important; font-weight: 700 !important; color: #16A34A !important; }
.jma-sub-status-pending    { font-size: 11px !important; font-weight: 700 !important; color: #D97706 !important; }
.jma-sub-status-completed  { font-size: 11px !important; font-weight: 700 !important; color: #16A34A !important; }
.jma-sub-status-failed,
.jma-sub-status-cancelled  { font-size: 11px !important; font-weight: 700 !important; color: #DC2626 !important; }

/* ── Addresses ── */
.jma-sub-addr-lbl {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: #A8A29E !important;
    margin-bottom: 5px !important;
}

.jma-sub-addr-txt {
    font-size: 12px !important;
    color: #57534E !important;
    line-height: 1.85 !important;
}

/* ── Activity log ── */
.jma-sub-act {
    padding: 14px 16px !important;
    border-bottom: none !important;
    border: 1px solid #EDE9E4 !important;
    border-radius: 10px !important;
    background: #FAFAF9 !important;
    list-style: none !important;
    margin-bottom: 8px !important;
}
.jma-sub-act:last-child { margin-bottom: 0 !important; }

.jma-sub-act__date {
    font-size: 11px !important;
    color: #A8A29E !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
}

.jma-sub-act__body {
    font-size: 13px !important;
    color: #57534E !important;
    line-height: 1.7 !important;
}

.jma-sub-act__body p { margin: 0 0 4px !important; }

/* Style the orange 48hr notice inside activity items */
.jma-sub-act__body span[style*="background-color: #ff4c24"],
.jma-sub-act__body span[style*="background-color:#ff4c24"] {
    display: inline-block !important;
    background: #FFF3EE !important;
    border: 1px solid #F9C4AD !important;
    color: #C44B0F !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

/* ── Pause form ── */
.jma-sub-pause-field {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.jma-sub-pause-lbl {
    font-size: 12px !important;
    color: #A8A29E !important;
    min-width: 90px !important;
    flex-shrink: 0 !important;
}

.jma-sub-pause-in {
    border: 1px solid #DDD8D0 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-family: 'DM Sans', sans-serif !important;
    color: #1C1917 !important;
    background: #fff !important;
    flex: 1 !important;
}

.jma-sub-pause-in:focus {
    outline: 2px solid #E8531A !important;
    border-color: #E8531A !important;
}

/* ── Plan section / change request ── */
.jma-sub-plan-section { margin-bottom: 18px !important; }
.jma-sub-plan-section:last-child { margin-bottom: 0 !important; }

.jma-sub-plan-nm {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: #A8A29E !important;
    margin-bottom: 6px !important;
}

.jma-sub-plan-ta {
    width: 100% !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    font-family: 'DM Sans', sans-serif !important;
    resize: vertical !important;
    min-height: 65px !important;
    color: #1C1917 !important;
    display: block !important;
}

.jma-sub-plan-ta:focus {
    outline: 2px solid #E8531A !important;
    border-color: #E8531A !important;
}

/* ── Notice boxes ── */
.jma-sub-notice-48 {
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
    color: #92400E !important;
    margin-bottom: 12px !important;
    line-height: 1.6 !important;
}

.jma-sub-notice-sm {
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
    border-radius: 8px !important;
    padding: 7px 12px !important;
    font-size: 11px !important;
    color: #92400E !important;
    margin-bottom: 8px !important;
}

/* ── Hide original WC subscription_details table + headings ── */
/* (they're replaced by our redesign) */
.woocommerce-account.single-wc_user_subscription .shop_table.subscription_details,
.woocommerce-account.single-wc_user_subscription .woocommerce-MyAccount-content > h2:not(.jma-keep),
.woocommerce-account.single-wc_user_subscription .woocommerce-MyAccount-content > h2:empty,
.woocommerce-account.single-wc_user_subscription .woocommerce-OrderUpdates,
.woocommerce-account.single-wc_user_subscription .jfm-swap-cta,
.woocommerce-account.single-wc_user_subscription .jfm-points-widget:not(.jma-sub-panel .jfm-points-widget),
.woocommerce-account.single-wc_user_subscription .jfm-rating-widget:not(.jma-sub-panel .jfm-rating-widget),
.woocommerce-account.single-wc_user_subscription .shop_table.order_details {
    display: none !important;
}

/* ── Addons — let style.css handle layout via single_variation_wrap ── */
.jma-sub-card__body .all-product-addons { display: block !important; }
.jma-sub-card__body .addons-dpw { display: none !important; }
.jma-sub-card__body .addons-other { display: none !important; }

/* White background + overflow visible for addon card */
.jma-addons-card { background: #fff !important; overflow: visible !important; }
.jma-addons-card .jma-sub-card__body { background: #fff !important; overflow: visible !important; }
.jma-addons-card .jma-sub-card__hdr { background: #FAFAF9 !important; }

/* ── Responsive ── */
@media (max-width: 700px) {
    .jma-sub-two-col { grid-template-columns: 1fr !important; }
    .jma-sub-hero__stats { grid-template-columns: 1fr 1fr !important; }
    .jma-sub-hero__stats .jma-sub-hstat:last-child { grid-column: 1 / -1 !important; }
    .jma-sub-cta { flex-direction: column !important; align-items: flex-start !important; }
    .jma-sub-card__hdr { flex-wrap: wrap !important; gap: 8px !important; }
    .jma-sub-btns { flex-wrap: wrap !important; }
}

/* ── Hide duplicate content WC outputs after subscription-details.php ── */

/* The plugin hooks (jfm_send_custom_request, jfm_add_snack_and_juices_fields)
   and WC itself output these AFTER our template. Hide them since we render
   them inside our tab system. */

/* Duplicate shop tables from plugin hooks */
.woocommerce-MyAccount-content .jma-sub-wrap ~ table.shop_table.subscription_details,
.woocommerce-MyAccount-content .jma-sub-wrap ~ h2,
.woocommerce-MyAccount-content .jma-sub-wrap ~ h2 + table,
.woocommerce-MyAccount-content .jma-sub-wrap ~ form,
.woocommerce-MyAccount-content .jma-sub-wrap ~ .woocommerce-customer-details,
.woocommerce-MyAccount-content .jma-sub-wrap ~ #woocommerce-subscriptions-related-orders-table,
.woocommerce-MyAccount-content .jma-sub-wrap ~ header,
.woocommerce-MyAccount-content .jma-sub-wrap ~ .clear,
.woocommerce-MyAccount-content .jma-sub-wrap ~ section {
    display: none !important;
}

/* Also hide any h2 that WC injects inside the content area on this page */
.woocommerce-MyAccount-content > h2:not(.jma-keep) {
    display: none !important;
}

/* ── Fix: hide widgets/forms that WC injects into wrong places ── */

/* The jfm-swap-cta, pause table, points+rating widgets are output
   by do_action hooks inside jma-sub-overview — hide them there,
   they belong in their own tabs */
#jma-sub-overview .jfm-swap-cta,
#jma-sub-overview .jfm-points-widget,
#jma-sub-overview .jfm-rating-widget,
#jma-sub-overview h2.jfm-keep,
#jma-sub-overview table.shop_table.subscription_details,
#jma-sub-overview h2:not(.woocommerce-column__title) {
    display: none !important;
}

/* Style the real rating widget inside our meals tab */
#jma-sub-meals .jfm-rating-widget {
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

#jma-sub-meals .jfm-rating-widget__title {
    display: none !important; /* we have our own card header */
}

#jma-sub-meals .jfm-rating-widget__body {
    padding: 0 !important;
}

#jma-sub-meals .jfm-delivery-date-label {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .07em !important;
    color: #A8A29E !important;
    margin-bottom: 8px !important;
}

#jma-sub-meals .jfm-meal-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #EDE9E4 !important;
    flex-wrap: wrap !important;
}

#jma-sub-meals .jfm-meal-row:last-child { border-bottom: none !important; }

#jma-sub-meals .jfm-meal-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    flex: 1 !important;
    min-width: 140px !important;
}

#jma-sub-meals .jfm-meal-type {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #A8A29E !important;
    min-width: 50px !important;
}

#jma-sub-meals .jfm-star {
    font-size: 22px !important;
    color: #E2DDD8 !important;
    cursor: pointer !important;
    line-height: 1 !important;
}

#jma-sub-meals .jfm-star.rated,
#jma-sub-meals .jfm-star.selected,
#jma-sub-meals .jfm-star.hover {
    color: #E8531A !important;
}

/* Style the real points widget inside our meals tab */
#jma-sub-meals .jfm-points-widget {
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

#jma-sub-meals .jfm-points-widget__title { display: none !important; }
#jma-sub-meals .jfm-points-widget__header { display: none !important; }

#jma-sub-meals .jfm-points-widget__balance-number {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: #1C1917 !important;
}

/* ── Addons tab ── */

/* Month variants hidden — inline style per panel handles showing correct period */
#jma-sub-addons .addon-display-month { display: none !important; }
#jma-sub-addons .addons-other { display: none !important; }
#jma-sub-addons .addons-dpw { display: none !important; }

/* overflow:visible on card and ancestors so tooltip + icons are not clipped */
#jma-sub-addons .jma-sub-card { overflow: visible !important; }
#jma-sub-addons .jma-sub-card__body { overflow: visible !important; }
#jma-sub-addons .jma-sub-plan-panel { overflow: visible !important; }

/* Restore position:relative on section containers — needed for icon positioning
   style.css sets > img { position:absolute; top:0; left:0 } which anchors to these */
#jma-sub-addons .addons-oats,
#jma-sub-addons .addons-oat,
#jma-sub-addons .addons-bottles { position: relative !important; overflow: visible !important; }

/* Tooltip: keep .more-info-wrapper as anchor, remove 2em gap to stop blinking */
#jma-sub-addons .more-info-wrapper {
    position: relative !important;
    display: inline-block !important;
}
#jma-sub-addons .addons-tooltip { margin-bottom: 0 !important; }
#jma-sub-addons .addons-tooltip:hover { display: block !important; }

/* Addon name */
#jma-sub-addons .addon-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    margin: 0 0 2px !important;
}

/* More Info link */
#jma-sub-addons .more-info-wrapper .more-info {
    font-size: 11px !important;
    color: #E8531A !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-bottom: 8px !important;
}

/* Checkbox / radio rows */
#jma-sub-addons .addons-form-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

#jma-sub-addons .form-row {
    margin: 0 !important;
    padding: 5px 0 !important;
    border-bottom: 1px solid #F4F1ED !important;
}

#jma-sub-addons .form-row:last-child { border-bottom: none !important; }

#jma-sub-addons label.checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: #57534E !important;
    cursor: pointer !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 0 !important;
}

#jma-sub-addons input[type="checkbox"],
#jma-sub-addons input[type="radio"] {
    width: 15px !important;
    height: 15px !important;
    border-radius: 3px !important;
    border: 1.5px solid #DDD8D0 !important;
    accent-color: #E8531A !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Submit button */
#jma-sub-addons input[type="submit"] {
    background: #E8531A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 9px 20px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    font-family: 'DM Sans', sans-serif !important;
    margin-top: 4px !important;
}

#jma-sub-addons input[type="submit"]:hover {
    background: #C84410 !important;
}

/* ── Manage tab — style pause form ── */
#jma-sub-manage .shop_table.subscription_details,
#jma-sub-manage h2 {
    display: none !important; /* hide if WC re-injects them */
}

/* ── jQuery UI Datepicker — premium redesign ── */
#ui-datepicker-div {
    font-family: 'DM Sans', sans-serif !important;
    background: #ffffff !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.14) !important;
    padding: 16px !important;
    width: 300px !important;
    z-index: 9999 !important;
}

/* Header */
#ui-datepicker-div .ui-datepicker-header {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
}

/* Group prev/next together with gap */
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
    order: 1 !important;
}
#ui-datepicker-div .ui-datepicker-title {
    order: 0 !important;
    margin-right: auto !important;
}
/* Wrap both arrows in a flex group via adjacent sibling — use gap on header */
#ui-datepicker-div .ui-datepicker-prev + .ui-datepicker-title + .ui-datepicker-next {
    margin-left: 6px !important;
}
#ui-datepicker-div .ui-datepicker-next {
    margin-left: 6px !important;
}

/* Month/Year title */
#ui-datepicker-div .ui-datepicker-title {
    font-size: .95em !important;
    font-weight: 700 !important;
    color: #1C1917 !important;
    line-height: 1 !important;
    margin: 0 auto !important;
    text-align: center !important;
}

/* Prev / Next arrows */
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
    background: #F5F2EE !important;
    border: 1px solid #DDD8D0 !important;
    border-radius: 10px !important;
    width: 36px !important;
    height: 36px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: auto !important;
    position: static !important;
    float: none !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
    background: #FFF3EE !important;
    border-color: #E8531A !important;
}

#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
#ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
    opacity: .35 !important;
    cursor: default !important;
}

/* Arrow icons */
#ui-datepicker-div .ui-icon {
    background-image: none !important;
    background: none !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    position: relative !important;
    font-size: 0 !important;
}

#ui-datepicker-div .ui-icon::before {
    content: '' !important;
    position: absolute !important;
    top: 15% !important;
    left: 15% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    color: #1C1917 !important;
    text-indent: 0 !important;
}

#ui-datepicker-div .ui-icon-circle-triangle-w::before { content: '‹' !important; }
#ui-datepicker-div .ui-icon-circle-triangle-e::before { content: '›' !important; }
#ui-datepicker-div .ui-datepicker-prev:hover .ui-icon::before,
#ui-datepicker-div .ui-datepicker-next:hover .ui-icon::before { color: #E8531A !important; }

/* Divider under header */
#ui-datepicker-div .ui-datepicker-header::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: -16px !important;
    right: -16px !important;
    height: 1px !important;
    background: #EDE9E4 !important;
}

/* Calendar table */
#ui-datepicker-div .ui-datepicker-calendar {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 2px !important;
    margin-top: 10px !important;
}

/* Day headers */
#ui-datepicker-div .ui-datepicker-calendar thead th {
    font-size: .7em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #A8A29E !important;
    padding: 4px 0 8px !important;
    text-align: center !important;
    border: none !important;
}

/* Day cells */
#ui-datepicker-div .ui-datepicker-calendar td {
    padding: 2px !important;
    text-align: center !important;
    border: none !important;
}

#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    font-size: .82em !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin: 0 auto !important;
    border: none !important;
    background: transparent !important;
    color: #1C1917 !important;
    transition: all .12s !important;
}

/* Disabled / past days */
#ui-datepicker-div .ui-state-disabled span.ui-state-default {
    color: #D6D3D1 !important;
    background: transparent !important;
}

/* Hoverable days */
#ui-datepicker-div .ui-datepicker-calendar td:not(.ui-state-disabled) a:hover {
    background: #FFF3EE !important;
    color: #E8531A !important;
}

/* Today */
#ui-datepicker-div .ui-datepicker-today span,
#ui-datepicker-div .ui-datepicker-today a {
    background: #F0EDE8 !important;
    color: #1C1917 !important;
    font-weight: 700 !important;
}

/* Selected day */
#ui-datepicker-div .ui-state-active,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
    background: #E8531A !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}

/* Other month days */
#ui-datepicker-div .ui-datepicker-other-month span {
    color: #E7E5E4 !important;
}