/*
 * Mike's Balance editorial footer.
 * Uses the same type stack and palette as the approved desktop article design:
 * Source Serif Pro for editorial copy/headings; system sans for small labels.
 */

#footer.mb-editorial-footer {
    --mbf-page: #FCFBF9;
    --mbf-ink: #061925;
    --mbf-body: #4B5562;
    --mbf-muted: #646C75;
    --mbf-soft: #92989C;
    --mbf-line: #E8E8E4;
    --mbf-green: #2C7A5A;
    --mbf-accent: #FF4C60;
    --mbf-serif: "Source Serif Pro", Georgia, "Times New Roman", serif;
    --mbf-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;

    width: 100%;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--mbf-line);
    background: var(--mbf-page);
    color: var(--mbf-body);
    box-shadow: none;
}

#footer.mb-editorial-footer *,
#footer.mb-editorial-footer *::before,
#footer.mb-editorial-footer *::after {
    box-sizing: border-box;
}

#footer.mb-editorial-footer a {
    text-decoration: none;
    box-shadow: none;
}

#footer.mb-editorial-footer .mb-footer-shell {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 36px 28px 0;
}

#footer.mb-editorial-footer .mb-footer-main {
    display: grid;
    grid-template-columns: minmax(250px, 1.22fr) minmax(220px, 1.02fr) minmax(220px, 1.02fr) minmax(180px, .78fr);
    align-items: start;
}

#footer.mb-editorial-footer .mb-footer-brand {
    padding-right: 34px;
}

#footer.mb-editorial-footer .mb-footer-section {
    min-height: 100%;
    padding: 2px 28px 0 32px;
    border-left: 1px solid var(--mbf-line);
}

#footer.mb-editorial-footer .mb-footer-brand-title {
    margin: 0;
    color: var(--mbf-ink);
    font-family: var(--mbf-serif);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.028em;
}

#footer.mb-editorial-footer .mb-footer-brand-accent {
    width: 76px;
    height: 3px;
    margin: 13px 0 17px;
    background: var(--mbf-accent);
}

#footer.mb-editorial-footer .mb-footer-description {
    max-width: 330px;
    margin: 0 0 18px;
    color: var(--mbf-body);
    font-family: var(--mbf-serif);
    font-size: 15.5px;
    font-weight: 400;
    line-height: 1.38;
}

#footer.mb-editorial-footer .mb-footer-primary-links,
#footer.mb-editorial-footer .mb-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer.mb-editorial-footer .mb-footer-primary-links li + li {
    margin-top: 8px;
}

#footer.mb-editorial-footer .mb-footer-primary-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mbf-ink);
    font-family: var(--mbf-serif);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.25;
    transition: color .16s ease;
}

#footer.mb-editorial-footer .mb-footer-primary-links a:hover,
#footer.mb-editorial-footer .mb-footer-primary-links a:focus-visible,
#footer.mb-editorial-footer .mb-footer-links a:hover,
#footer.mb-editorial-footer .mb-footer-links a:focus-visible {
    color: var(--mbf-green);
}

#footer.mb-editorial-footer .mb-footer-arrow {
    font-family: var(--mbf-sans);
    font-size: 15px;
    font-weight: 500;
    transform: translateY(-1px);
}

#footer.mb-editorial-footer .mb-footer-eyebrow {
    margin: 0 0 8px;
    color: var(--mbf-green);
    font-family: var(--mbf-sans);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .15em;
    text-transform: uppercase;
}

#footer.mb-editorial-footer .mb-footer-heading {
    margin: 0 0 18px;
    color: var(--mbf-ink);
    font-family: var(--mbf-serif);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.022em;
}

#footer.mb-editorial-footer .mb-footer-links li + li {
    margin-top: 14px;
}

#footer.mb-editorial-footer .mb-footer-links a {
    display: block;
    color: var(--mbf-body);
    font-family: var(--mbf-serif);
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.12;
    transition: color .16s ease;
}

#footer.mb-editorial-footer .mb-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 46px;
    gap: 22px;
    align-items: center;
    margin-top: 30px;
    padding: 16px 0 18px;
    border-top: 1px solid var(--mbf-line);
}

#footer.mb-editorial-footer .mb-footer-medical {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-width: 0;
}

#footer.mb-editorial-footer .mb-footer-trust-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #DCE7E0;
    border-radius: 50%;
    color: var(--mbf-green);
}

#footer.mb-editorial-footer .mb-footer-trust-icon svg {
    width: 17px;
    height: 17px;
}

#footer.mb-editorial-footer .mb-footer-medical-copy {
    margin: 0;
    color: var(--mbf-muted);
    font-family: var(--mbf-serif);
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.32;
}

#footer.mb-editorial-footer .mb-footer-medical-copy strong {
    color: var(--mbf-ink);
    font-weight: 700;
}

#footer.mb-editorial-footer .mb-footer-copyright {
    margin: 0;
    padding-left: 28px;
    border-left: 1px solid var(--mbf-line);
    color: var(--mbf-muted);
    font-family: var(--mbf-serif);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    white-space: nowrap;
}

#footer.mb-editorial-footer #back-to-top.mb-footer-top {
    display: inline-grid;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 1px solid var(--mbf-line);
    border-radius: 8px;
    background: #F7F7F4;
    color: var(--mbf-ink);
    box-shadow: none;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease;
}

#footer.mb-editorial-footer #back-to-top.mb-footer-top:hover,
#footer.mb-editorial-footer #back-to-top.mb-footer-top:focus-visible {
    border-color: #D8DED9;
    background: #F0F3EF;
}

#footer.mb-editorial-footer #back-to-top.mb-footer-top svg {
    width: 17px;
    height: 17px;
}

@media (max-width: 1080px) {
    #footer.mb-editorial-footer .mb-footer-shell {
        padding-left: 24px;
        padding-right: 24px;
    }

    #footer.mb-editorial-footer .mb-footer-main {
        grid-template-columns: 1.12fr 1fr 1fr;
    }

    #footer.mb-editorial-footer .mb-footer-brand {
        grid-column: 1 / -1;
        padding: 0 0 34px;
        border-bottom: 1px solid var(--mbf-line);
    }

    #footer.mb-editorial-footer .mb-footer-description {
        max-width: 620px;
    }

    #footer.mb-editorial-footer .mb-footer-section {
        margin-top: 32px;
        padding-left: 28px;
    }

    #footer.mb-editorial-footer .mb-footer-section:first-of-type {
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    #footer.mb-editorial-footer .mb-footer-shell {
        padding: 38px 19px 0;
    }

    #footer.mb-editorial-footer .mb-footer-main {
        display: block;
    }

    #footer.mb-editorial-footer .mb-footer-brand {
        padding-bottom: 29px;
    }

    #footer.mb-editorial-footer .mb-footer-brand-title {
        font-size: 31px;
    }

    #footer.mb-editorial-footer .mb-footer-brand-accent {
        width: 62px;
        margin: 15px 0 20px;
    }

    #footer.mb-editorial-footer .mb-footer-description {
        font-size: 16px;
    }

    #footer.mb-editorial-footer .mb-footer-section,
    #footer.mb-editorial-footer .mb-footer-section:first-of-type {
        margin: 0;
        padding: 27px 0;
        border-left: 0;
        border-bottom: 1px solid var(--mbf-line);
    }

    #footer.mb-editorial-footer .mb-footer-section:last-child {
        border-bottom: 0;
    }

    #footer.mb-editorial-footer .mb-footer-eyebrow {
        margin-bottom: 9px;
        font-size: 10px;
    }

    #footer.mb-editorial-footer .mb-footer-heading {
        margin-bottom: 18px;
        font-size: 23px;
    }

    #footer.mb-editorial-footer .mb-footer-links li + li {
        margin-top: 13px;
    }

    #footer.mb-editorial-footer .mb-footer-links a {
        font-size: 15px;
    }

    #footer.mb-editorial-footer .mb-footer-bottom {
        grid-template-columns: 1fr 42px;
        gap: 18px;
        margin-top: 14px;
        padding: 22px 0 25px;
    }

    #footer.mb-editorial-footer .mb-footer-medical {
        grid-column: 1 / -1;
    }

    #footer.mb-editorial-footer .mb-footer-copyright {
        padding-left: 0;
        border-left: 0;
        white-space: normal;
    }
}
