/* =========================================================
   FAQ PAGE — COMPLETE CSS
   File: assets/css/faq.css
========================================================= */

/* =========================================================
   FAQ PAGE BASE
========================================================= */

.mmc-faq-page {
    background: var(--mmc-cream) !important;
    overflow: hidden !important;
}

/* =========================================================
   FAQ PAGE — HERO SECTION
========================================================= */

/* =========================================================
   FAQ PAGE — HERO SECTION
========================================================= */

.mmc-faq-hero {
    padding: 34px 0 46px !important;
    background: var(--mmc-cream) !important;
    overflow: hidden !important;
}

.mmc-faq-hero-shell {
    position: relative !important;
    min-height: 560px !important;

    display: grid !important;
    grid-template-columns: 52% 48% !important;
    align-items: stretch !important;

    overflow: hidden !important;

    background:
        radial-gradient(circle at top left, rgba(114, 174, 68, 0.10), transparent 34%),
        linear-gradient(90deg, #FFFDF8 0%, #F6F3EE 100%) !important;

    border-radius: 0 !important;
}

/* LEFT CONTENT */

.mmc-faq-hero-content {
    position: relative !important;
    z-index: 3 !important;

    padding: 74px 52px 58px 14px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

.mmc-faq-hero-title {
    max-width: 680px !important;
    margin: 14px 0 20px !important;

    color: var(--mmc-deep-teal) !important;
    font-family: var(--mmc-font-heading) !important;
    font-size: clamp(38px, 3vw, 68px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.055em !important;
    font-weight: 700 !important;
}

.mmc-faq-hero-text {
    max-width: 560px !important;
    margin: 0 0 30px !important;

    color: var(--mmc-text-secondary) !important;
    font-size: 16.5px !important;
    line-height: 1.78 !important;
    font-weight: 600 !important;
}

.mmc-faq-hero-actions {
    margin-bottom: 20px !important;
}

.mmc-faq-hero-note {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;

    color: var(--mmc-text-muted) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}

.mmc-faq-hero-note i {
    color: var(--mmc-green) !important;
}

/* RIGHT VISUAL */

.mmc-faq-hero-visual {
    position: relative !important;
    min-height: 560px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 54px 20px 54px 42px !important;
    overflow: hidden !important;
}

.mmc-faq-hero-visual::before {
    content: "" !important;
    position: absolute !important;
    left: -110px !important;
    top: 0 !important;
    bottom: 0 !important;

    width: 230px !important;

    background: linear-gradient(90deg, var(--mmc-cream) 0%, #FFFDF8 100%) !important;
    border-radius: 0 50% 50% 0 !important;

    z-index: 1 !important;
}

.mmc-faq-hero-card {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    max-width: 460px !important;
    padding: 42px 38px !important;

    border-radius: 30px !important;

    background:
        radial-gradient(circle at bottom right, rgba(114, 174, 68, 0.13), transparent 38%),
        rgba(255, 255, 255, 0.94) !important;

    border: 1px solid rgba(10, 52, 52, 0.08) !important;
    box-shadow: 0 26px 70px rgba(10, 52, 52, 0.10) !important;
}

.mmc-faq-hero-card-icon {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 24px !important;
    border-radius: 50% !important;

    background: rgba(114, 174, 68, 0.12) !important;
    color: var(--mmc-green) !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 28px !important;
}

.mmc-faq-hero-card h3 {
    max-width: 340px !important;
    margin: 0 0 12px !important;

    color: var(--mmc-deep-teal) !important;
    font-family: var(--mmc-font-heading) !important;
    font-size: 32px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.04em !important;
    font-weight: 700 !important;
}

.mmc-faq-hero-card p {
    max-width: 340px !important;
    margin: 0 0 26px !important;

    color: var(--mmc-text-secondary) !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
}

.mmc-faq-hero-mini-list {
    display: grid !important;
    gap: 14px !important;
}

.mmc-faq-hero-mini-item {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;

    padding: 14px 16px !important;
    border-radius: 16px !important;

    background: rgba(246, 243, 238, 0.72) !important;
    border: 1px solid rgba(10, 52, 52, 0.06) !important;
}

.mmc-faq-hero-mini-item i {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;

    background: rgba(114, 174, 68, 0.12) !important;
    color: var(--mmc-green) !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 15px !important;
}

.mmc-faq-hero-mini-item span {
    color: var(--mmc-deep-teal) !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
}

/* TABLET */

@media (max-width: 991px) {
    .mmc-faq-hero {
        padding: 24px 0 42px !important;
    }

    .mmc-faq-hero-shell {
        min-height: auto !important;
        grid-template-columns: 1fr !important;

        background:
            radial-gradient(circle at top left, rgba(114, 174, 68, 0.10), transparent 34%),
            linear-gradient(180deg, #FFFDF8 0%, #F6F3EE 100%) !important;
    }

    .mmc-faq-hero-content {
        padding: 54px 34px 32px !important;
        text-align: center !important;
        align-items: center !important;
    }

    .mmc-faq-hero-title {
        max-width: 640px !important;
        margin: 14px auto 20px !important;
    }

    .mmc-faq-hero-text {
        max-width: 580px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .mmc-faq-hero-visual {
        min-height: auto !important;
        padding: 18px 34px 52px !important;
    }

    .mmc-faq-hero-visual::before {
        display: none !important;
    }

    .mmc-faq-hero-card {
        max-width: 620px !important;
        text-align: left !important;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .mmc-faq-hero {
        padding: 16px 0 34px !important;
    }

    .mmc-faq-hero-content {
        padding: 42px 20px 28px !important;
    }

    .mmc-faq-hero-title {
        max-width: 340px !important;
        font-size: 38px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.045em !important;
    }

    .mmc-faq-hero-text {
        max-width: 330px !important;
        font-size: 15.5px !important;
        line-height: 1.75 !important;
    }

    .mmc-faq-hero-visual {
        padding: 10px 20px 42px !important;
    }

    .mmc-faq-hero-card {
        padding: 34px 22px !important;
        border-radius: 24px !important;
    }

    .mmc-faq-hero-card h3 {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .mmc-faq-hero-card p {
        font-size: 14.5px !important;
    }

    .mmc-faq-hero-mini-item {
        padding: 13px 14px !important;
    }

    .mmc-faq-hero-mini-item span {
        font-size: 13px !important;
    }
}

@media (max-width: 420px) {
    .mmc-faq-hero-title {
        font-size: 36px !important;
    }
}

/* =========================================================
   FAQ PAGE — ACCORDION SECTION
========================================================= */

.mmc-faq-section {
    padding: 42px 0 42px !important;
    background: var(--mmc-cream) !important;
}

.mmc-faq-accordion {
    max-width: 980px !important;
    margin: 0 auto !important;
}

.mmc-faq-category-block {
    margin-bottom: 44px !important;
}

.mmc-faq-category-block:last-child {
    margin-bottom: 0 !important;
}

/* CATEGORY HEADER */

.mmc-faq-category-header {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;

    margin-bottom: 18px !important;
}

.mmc-faq-category-header span {
    display: inline-flex !important;
    align-items: center !important;

    padding: 8px 16px !important;
    border-radius: 999px !important;

    background: var(--mmc-deep-teal) !important;
    color: #ffffff !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.mmc-faq-category-header div {
    flex: 1 !important;
    height: 1px !important;
    background: rgba(10, 52, 52, 0.10) !important;
}

/* FAQ ITEM */

.mmc-faq-item {
    margin-bottom: 12px !important;
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;

    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 12px 34px rgba(10, 52, 52, 0.055) !important;
}

.mmc-faq-item:last-child {
    margin-bottom: 0 !important;
}

.mmc-faq-item .accordion-header {
    margin: 0 !important;
}

.mmc-faq-item .accordion-button {
    position: relative !important;

    width: 100% !important;
    padding: 22px 64px 22px 24px !important;

    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(10, 52, 52, 0.08) !important;
    border-radius: 18px !important;
    box-shadow: none !important;

    color: var(--mmc-deep-teal) !important;
    font-family: var(--mmc-font-body) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 900 !important;
    text-align: left !important;

    transition: all 0.28s ease !important;
}

.mmc-faq-item .accordion-button:hover {
    background:
        radial-gradient(circle at top left, rgba(114, 174, 68, 0.08), transparent 32%),
        #ffffff !important;
    color: var(--mmc-deep-teal) !important;
}

.mmc-faq-item .accordion-button:not(.collapsed) {
    background:
        radial-gradient(circle at top left, rgba(114, 174, 68, 0.10), transparent 34%),
        linear-gradient(180deg, #F8FFF5 0%, #EEF9EF 100%) !important;

    border-color: rgba(114, 174, 68, 0.24) !important;
    color: var(--mmc-deep-teal) !important;
}

.mmc-faq-item .accordion-button:focus {
    box-shadow: none !important;
    outline: none !important;
}

.mmc-faq-item .accordion-button::after {
    content: "+" !important;
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;

    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;

    background: rgba(114, 174, 68, 0.12) !important;
    color: var(--mmc-green) !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-family: var(--mmc-font-body) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    transform: translateY(-50%) !important;
    background-image: none !important;
    transition: all 0.28s ease !important;
}

.mmc-faq-item .accordion-button:not(.collapsed)::after {
    content: "–" !important;
    background: var(--mmc-green) !important;
    color: #ffffff !important;
}

/* ANSWER BODY */

.mmc-faq-item .accordion-collapse {
    border: 0 !important;
}

.mmc-faq-item .accordion-body {
    padding: 0 26px 24px 26px !important;

    background:
        linear-gradient(180deg, rgba(248, 255, 245, 0.42) 0%, rgba(255, 255, 255, 0.96) 100%) !important;

    border-left: 1px solid rgba(114, 174, 68, 0.18) !important;
    border-right: 1px solid rgba(114, 174, 68, 0.18) !important;
    border-bottom: 1px solid rgba(114, 174, 68, 0.18) !important;
    border-radius: 0 0 18px 18px !important;

    color: var(--mmc-text-secondary) !important;
    font-size: 15px !important;
    line-height: 1.78 !important;
    font-weight: 600 !important;
}

.mmc-faq-item .accordion-body p {
    margin: 0 0 12px !important;
    color: var(--mmc-text-secondary) !important;
}

.mmc-faq-item .accordion-body p:last-child {
    margin-bottom: 0 !important;
}

.mmc-faq-item .accordion-body a {
    color: var(--mmc-deep-teal) !important;
    font-weight: 900 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.mmc-faq-item .accordion-body ul,
.mmc-faq-item .accordion-body ol {
    margin: 14px 0 0 !important;
    padding-left: 20px !important;
}

.mmc-faq-item .accordion-body li {
    margin-bottom: 8px !important;
    color: var(--mmc-text-secondary) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    font-weight: 600 !important;
}

/* EMPTY STATE */

.mmc-faq-empty {
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 54px 28px !important;

    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(10, 52, 52, 0.08) !important;
    box-shadow: 0 18px 45px rgba(10, 52, 52, 0.06) !important;
}

.mmc-faq-empty h2 {
    margin: 0 0 10px !important;
    color: var(--mmc-deep-teal) !important;
    font-family: var(--mmc-font-heading) !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
}

.mmc-faq-empty p {
    margin: 0 !important;
    color: var(--mmc-text-secondary) !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
}

/* =========================================================
   FAQ PAGE — SUPPORT CALLOUT
========================================================= */

.mmc-faq-support {
    padding: 20px 0 72px !important;
    background: var(--mmc-cream) !important;
}

.mmc-faq-support-shell {
    position: relative !important;

    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 48px 44px !important;

    border-radius: 26px !important;
    overflow: hidden !important;

    background:
        radial-gradient(circle at bottom right, rgba(114, 174, 68, 0.14), transparent 36%),
        linear-gradient(180deg, #F8FFF5 0%, #EEF9EF 100%) !important;

    border: 1px solid rgba(114, 174, 68, 0.18) !important;
    box-shadow: 0 22px 58px rgba(10, 52, 52, 0.07) !important;

    text-align: center !important;
}

.mmc-faq-support-shell::before {
    content: "" !important;
    position: absolute !important;
    left: -40px !important;
    bottom: -40px !important;

    width: 130px !important;
    height: 130px !important;
    border-radius: 50% !important;

    background: rgba(197, 160, 89, 0.13) !important;
}

.mmc-faq-support-shell h2 {
    position: relative !important;
    z-index: 2 !important;

    margin: 12px 0 12px !important;

    color: var(--mmc-deep-teal) !important;
    font-family: var(--mmc-font-heading) !important;
    font-size: clamp(32px, 3vw, 46px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.04em !important;
    font-weight: 700 !important;
}

.mmc-faq-support-shell h2::after {
    content: "" !important;
    display: block !important;

    width: 58px !important;
    height: 3px !important;
    margin: 14px auto 0 !important;

    border-radius: 999px !important;
    background: var(--mmc-muted-gold) !important;
}

.mmc-faq-support-shell p {
    position: relative !important;
    z-index: 2 !important;

    max-width: 620px !important;
    margin: 0 auto 26px !important;

    color: var(--mmc-text-secondary) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
    font-weight: 600 !important;
}

.mmc-faq-support-shell .mmc-action-btn {
    position: relative !important;
    z-index: 2 !important;
}

/* =========================================================
   FAQ PAGE — RESPONSIVE
========================================================= */

@media (max-width: 991px) {
    .mmc-faq-hero {
        padding: 28px 0 38px !important;
    }

    .mmc-faq-hero-shell {
        padding: 62px 34px 62px !important;
        border-radius: 30px !important;
    }

    .mmc-faq-hero-shell::before {
        right: 28px !important;
        top: 30px !important;
        font-size: 150px !important;
    }

    .mmc-faq-accordion {
        max-width: 760px !important;
    }

    .mmc-faq-support-shell {
        max-width: 760px !important;
        padding: 44px 34px !important;
    }
}

@media (max-width: 767px) {
    .mmc-faq-hero {
        padding: 24px 0 34px !important;
    }

    .mmc-faq-hero-shell {
        padding: 48px 22px 56px !important;
        border-radius: 26px !important;
    }

    .mmc-faq-hero-shell::before {
        right: 14px !important;
        top: 22px !important;
        font-size: 110px !important;
    }

    .mmc-faq-hero-title {
        max-width: 340px !important;
        font-size: 38px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.045em !important;
    }

    .mmc-faq-hero-text {
        max-width: 330px !important;
        font-size: 15.5px !important;
        line-height: 1.75 !important;
    }

    .mmc-faq-section {
        padding: 34px 0 34px !important;
    }

    .mmc-faq-category-block {
        margin-bottom: 38px !important;
    }

    .mmc-faq-category-header {
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .mmc-faq-category-header span {
        padding: 8px 13px !important;
        font-size: 10.8px !important;
        letter-spacing: 0.10em !important;
    }

    .mmc-faq-item {
        border-radius: 16px !important;
        margin-bottom: 11px !important;
    }

    .mmc-faq-item .accordion-button {
        padding: 19px 56px 19px 18px !important;

        border-radius: 16px !important;

        font-size: 14.8px !important;
        line-height: 1.45 !important;
    }

    .mmc-faq-item .accordion-button::after {
        right: 16px !important;
        width: 30px !important;
        height: 30px !important;
        font-size: 20px !important;
    }

    .mmc-faq-item .accordion-body {
        padding: 0 19px 21px 19px !important;

        border-radius: 0 0 16px 16px !important;

        font-size: 14.2px !important;
        line-height: 1.76 !important;
    }

    .mmc-faq-item .accordion-body li {
        font-size: 14.2px !important;
    }

    .mmc-faq-support {
        padding: 14px 0 58px !important;
    }

    .mmc-faq-support-shell {
        padding: 40px 22px !important;
        border-radius: 22px !important;
    }

    .mmc-faq-support-shell h2 {
        font-size: 31px !important;
        line-height: 1.18 !important;
    }

    .mmc-faq-support-shell p {
        font-size: 15px !important;
        line-height: 1.72 !important;
    }
}

@media (max-width: 420px) {
    .mmc-faq-hero-title {
        font-size: 36px !important;
    }

    .mmc-faq-item .accordion-button {
        font-size: 14.2px !important;
    }

    .mmc-faq-category-header span {
        white-space: normal !important;
        line-height: 1.25 !important;
    }
}





.mmc-faq-mail-link {
    color: var(--mmc-deep-teal) !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.mmc-faq-mail-link:hover {
    color: var(--mmc-green) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}