.myupona-faq-page {
    --mp-bg: #FAF8F3;
        --mp-bg-soft: #FBFAF6;
        --mp-surface: #FFFEFA;
        --mp-surface-soft: rgba(255, 254, 250, 0.68);
        --mp-text: #102A43;
        --mp-navy: #0E2A47;
        --mp-muted: #5F6B7A;
        --mp-accent: #5C6F84;
        --mp-purple: #4A4863;
        --mp-lavender: #E9E4F4;
        --mp-sage: #DDE9DE;
        --mp-beige: #F1E9DA;
        --mp-border: #E3D9C9;
        --mp-line: rgba(16, 42, 67, 0.15);
        --mp-active-bg: rgba(241, 233, 218, 0.58);
        --mp-shadow-soft: 0 22px 70px rgba(16, 42, 67, 0.055);

    position: relative;
    isolation: isolate;
    background: var(--mp-bg);
    color: var(--mp-text);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.myupona-faq-page::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(145deg,
            #FBFAF6 0%,
            #FAF8F3 24%,
            #F7F2EA 50%,
            #F4F7EF 76%,
            #FAF8F3 100%
        );
}

.myupona-faq-page::after {
    content: "";
    position: absolute;
    inset: -18% -12%;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 12% 8%, rgba(233, 228, 244, 0.34), transparent 46%),
        radial-gradient(ellipse at 86% 18%, rgba(221, 233, 222, 0.36), transparent 48%),
        radial-gradient(ellipse at 22% 82%, rgba(241, 233, 218, 0.34), transparent 44%),
        radial-gradient(ellipse at 88% 92%, rgba(233, 228, 244, 0.18), transparent 46%);
    filter: blur(18px);
    opacity: 0.86;
}

.myupona-faq-page * {
    box-sizing: border-box;
}

.myupona-faq-page a {
    text-decoration: none;
}

.mp-faq-wrap {
    width: calc(100% - 56px);
    max-width: 1160px;
    margin: 0 auto;
    padding: 56px 0 210px;
}

.mp-faq-hero {
    position: relative;
    max-width: 880px;
    margin: 0 auto;
    padding: 0 0 74px;
    text-align: center;
}

.mp-faq-hero::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -38px;
    width: 84vw;
    max-width: 760px;
    height: 250px;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
    background: transparent;
    filter: none;
}

.mp-faq-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: 0 0 16px;
    padding: 8px 14px;
    border: 1px solid rgba(16, 42, 67, 0.12);
    border-radius: 999px;
    background: #FAF8F3;
    color: var(--mp-accent);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.mp-faq-hero-title {
    margin: 0;
    color: var(--mp-text);
    font-family: "Playfair Display", "Cormorant Garamond", Georgia, serif;
    font-size: clamp(52px, 5.9vw, 82px);
    line-height: 0.98;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.mp-faq-hero-note {
    margin: 18px auto 0;
    max-width: 720px;
    color: var(--mp-muted);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 15.5px;
    line-height: 1.75;
    font-weight: 400;
}

.mp-faq-hero-note a {
    color: var(--mp-navy);
    font-weight: 800;
}

.mp-faq-brand-cues-spacer {
    display: block;
    width: 100%;
    height: 36px;
    margin: 28px auto 0;
    pointer-events: none;
}

.mp-faq-grid {
    position: relative;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    column-gap: 64px;
    align-items: start;
}

.mp-faq-grid > input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mp-faq-left {
    align-self: start;
    position: sticky;
    top: 96px;
}

.mp-faq-nav {
    margin-top: 0;
    display: grid;
    gap: 28px;
}

.mp-faq-nav label {
    position: relative;
    display: block;
    padding: 0;
    border-bottom: none !important;
    color: rgba(16, 42, 67, 0.68);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 23px;
    line-height: 1.52;
    font-weight: 600;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

.mp-faq-nav label:hover {
    color: var(--mp-navy);
    padding-left: 8px;
}

#mp-tab-about:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-about"],
#mp-tab-product:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-product"],
#mp-tab-supplements:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-supplements"],
#mp-tab-personal:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-personal"],
#mp-tab-orders:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-orders"],
#mp-tab-payments:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-payments"],
#mp-tab-shipping:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-shipping"],
#mp-tab-subscriptions:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-subscriptions"],
#mp-tab-returns:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-returns"] {
    color: var(--mp-navy);
    font-weight: 800;
    padding-left: 14px;
}

#mp-tab-about:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-about"]::before,
#mp-tab-product:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-product"]::before,
#mp-tab-supplements:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-supplements"]::before,
#mp-tab-personal:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-personal"]::before,
#mp-tab-orders:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-orders"]::before,
#mp-tab-payments:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-payments"]::before,
#mp-tab-shipping:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-shipping"]::before,
#mp-tab-subscriptions:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-subscriptions"]::before,
#mp-tab-returns:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-returns"]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 3px;
    height: 28px;
    border-radius: 999px;
    background: var(--mp-navy);
}

.mp-faq-right {
    min-width: 0;
    position: relative;
}

.mp-faq-right::before {
    content: "MYUPONA";
    display: block;
    margin: 0 0 14px;
    color: rgba(92, 111, 132, 0.78);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.mp-faq-panel {
    display: none;
}

#mp-tab-about:checked ~ .mp-faq-right .mp-panel-about,
#mp-tab-product:checked ~ .mp-faq-right .mp-panel-product,
#mp-tab-supplements:checked ~ .mp-faq-right .mp-panel-supplements,
#mp-tab-personal:checked ~ .mp-faq-right .mp-panel-personal,
#mp-tab-orders:checked ~ .mp-faq-right .mp-panel-orders,
#mp-tab-payments:checked ~ .mp-faq-right .mp-panel-payments,
#mp-tab-shipping:checked ~ .mp-faq-right .mp-panel-shipping,
#mp-tab-subscriptions:checked ~ .mp-faq-right .mp-panel-subscriptions,
#mp-tab-returns:checked ~ .mp-faq-right .mp-panel-returns {
    display: block;
}

.mp-faq-list {
    border-top: 1px solid rgba(16, 42, 67, 0.12);
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.mp-faq-item {
    border-bottom: 1px solid rgba(16, 42, 67, 0.12);
    background: transparent;
}

.mp-faq-item:last-child {
    border-bottom: none;
}

.mp-faq-item summary {
    position: relative;
    display: block;
    list-style: none;
    cursor: pointer;
    padding: 21px 46px 21px 0;
    color: var(--mp-text);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 15.5px;
    line-height: 1.42;
    font-weight: 800;
    letter-spacing: 0;
}

.mp-faq-item summary::-webkit-details-marker {
    display: none;
}

.mp-faq-item summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 20px;
    color: var(--mp-accent);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
}

.mp-faq-item[open] summary::after {
    content: "−";
    color: var(--mp-navy);
}

.mp-faq-answer {
    padding: 4px 0 28px;
    max-width: 840px;
    background: transparent;
}

.mp-faq-item,
.mp-faq-item summary,
.mp-faq-answer {
    background-color: transparent !important;
}

.mp-faq-answer p {
    margin: 0 0 12px;
    color: var(--mp-muted);
    font-family: "Montserrat", "Inter", "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
    line-height: 1.86;
    font-weight: 400;
}

.mp-faq-answer p:last-child {
    margin-bottom: 0;
}

.mp-faq-answer a {
    color: var(--mp-navy);
    font-weight: 800;
}

@media (max-width: 980px) {
    .mp-faq-wrap {
        width: calc(100% - 40px);
        max-width: 1160px;
        padding: 44px 0 168px;
    }

    .mp-faq-hero {
        max-width: 760px;
        padding-bottom: 44px;
    }

    .mp-faq-grid {
        grid-template-columns: 1fr;
        row-gap: 34px;
    }

    .mp-faq-left {
        position: static;
    }

    .mp-faq-nav {
        margin-top: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }

    .mp-faq-nav label {
        padding: 13px 18px;
        border: 1px solid var(--mp-line) !important;
        border-radius: 999px;
        background: rgba(255, 254, 250, 0.38);
        font-size: 15px;
        letter-spacing: 0;
        line-height: 1.2;
        font-weight: 700;
    }

    .mp-faq-nav label:hover {
        padding-left: 18px;
    }

    #mp-tab-about:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-about"],
#mp-tab-product:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-product"],
#mp-tab-supplements:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-supplements"],
#mp-tab-personal:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-personal"],
#mp-tab-orders:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-orders"],
#mp-tab-payments:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-payments"],
#mp-tab-shipping:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-shipping"],
#mp-tab-subscriptions:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-subscriptions"],
#mp-tab-returns:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-returns"] {
        padding-left: 18px;
        background: rgba(241, 233, 218, 0.38);
    }

    #mp-tab-about:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-about"]::before,
#mp-tab-product:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-product"]::before,
#mp-tab-supplements:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-supplements"]::before,
#mp-tab-personal:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-personal"]::before,
#mp-tab-orders:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-orders"]::before,
#mp-tab-payments:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-payments"]::before,
#mp-tab-shipping:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-shipping"]::before,
#mp-tab-subscriptions:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-subscriptions"]::before,
#mp-tab-returns:checked ~ .mp-faq-left .mp-faq-nav label[for="mp-tab-returns"]::before {
        display: none;
    }
}

@media (max-width: 640px) {
    .mp-faq-wrap {
        width: calc(100% - 28px);
        max-width: 1160px;
        padding: 36px 0 140px;
    }

    .mp-faq-hero {
        padding-bottom: 36px;
    }

    .mp-faq-hero-kicker {
        font-size: 11px;
        letter-spacing: 0.19em;
    }

    .mp-faq-hero-title {
        font-size: 44px;
        line-height: 1.02;
        letter-spacing: -0.035em;
    }

    .mp-faq-brand-cues-spacer {
        height: 36px;
        margin-top: 22px;
    }

    .mp-faq-hero-note,
    .mp-faq-answer p {
        font-size: 15px;
    }

    .mp-faq-item summary {
        font-size: 15px;
        padding-right: 34px;
    }

    .mp-faq-item summary::after {
        font-size: 24px;
    }
}

/* Magento / Porto page spacing override for FAQ only */
body.cms-faq .page-title-wrapper {
    display: none !important;
}

body.cms-faq .page-main,
body.cms-faq .columns,
body.cms-faq .column.main {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: #FAF8F3 !important;
}

body.cms-faq .page-wrapper {
    background: #FAF8F3 !important;
}


