/**
 * FAQ — editorial layout (aligned with coaching-type / how-it-works)
 */
body.am-bodywrap:has(.page-faq) {
    background: #ffffff !important;
}

.page-faq {
    background: #ffffff;
    --faq-canvas-bg: #ffffff;
    --faq-ink: var(--brand-text-primary, #000D3E);
    --faq-muted: var(--brand-text-muted, #64748B);
    --faq-cream: #E6F2FF;
    --faq-pink: #d4e8ff;
    --faq-blue: #7DB9F9;
    --faq-accent: linear-gradient(135deg, #7DB9F9 0%, #006EFF 100%);
    --faq-accent-border: #006EFF;
    --faq-hero-bg: linear-gradient(
        130deg,
        #ffffff 0%,
        var(--brand-light-blue, #E6F2FF) 55%,
        color-mix(in srgb, var(--brand-sky-blue, #7DB9F9) 22%, #fff) 100%
    );
    --faq-panel-bg: var(--brand-light-blue, #E6F2FF);
    --faq-shadow: 0 2px 8px rgba(17, 17, 17, 0.04);
    --faq-radius: 1.5rem;
    --faq-max: 100%;
    --faq-gutter: clamp(0.75rem, 2vw, 1.5rem);
    --faq-section-space: clamp(1.5rem, 4vw, 2.5rem);
    --faq-panel-pad: clamp(2rem, 4vw, 3rem);
}

.am-main:has(> .page-faq) {
    background: var(--faq-canvas-bg) !important;
}

body:has(.page-faq) .am-header_two.am-header_eight {
    background: var(--faq-canvas-bg) !important;
}

/* ------------------------------------------------------------------ */
/* Page grid                                                          */
/* ------------------------------------------------------------------ */
.page-faq > .pb-themesection {
    background: var(--faq-canvas-bg) !important;
    background-color: var(--faq-canvas-bg) !important;
    background-image: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

.page-faq > .pb-themesection + .pb-themesection {
    margin-top: var(--faq-section-space) !important;
}

.page-faq > .pb-themesection:first-child {
    margin-top: var(--faq-section-space) !important;
}

.page-faq > .pb-themesection:last-child {
    margin-bottom: var(--faq-section-space) !important;
}

.page-faq > .pb-themesection > .container-fluid,
.page-faq > .pb-themesection > .container {
    width: 100% !important;
    max-width: var(--faq-max) !important;
    margin-inline: auto !important;
    padding-left: var(--faq-gutter) !important;
    padding-right: var(--faq-gutter) !important;
}

.page-faq > .pb-themesection > .container-fluid > .row,
.page-faq > .pb-themesection > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.page-faq > .pb-themesection > .container-fluid > .row > [class*="col-"],
.page-faq > .pb-themesection > .container > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* ------------------------------------------------------------------ */
/* Typography                                                         */
/* ------------------------------------------------------------------ */
.page-faq .am-content_box h2,
.page-faq .am-content_box h3,
.page-faq .am-section_title h2 {
    font-family: "Bitter", Georgia, serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    color: var(--faq-ink) !important;
    line-height: 1.12 !important;
    font-size: clamp(1.75rem, 1.15rem + 1.6vw, 2.5rem) !important;
}

.page-faq .am-content_box p,
.page-faq .am-content_banner_richtext,
.page-faq .am-content_banner_richtext p,
.page-faq .am-section_title p,
.page-faq .am-faqtab-content .accordion-body,
.page-faq .am-faqtab-content .accordion-body p {
    color: var(--faq-muted) !important;
    font-size: 1.0625rem !important;
    line-height: 1.65 !important;
}

.page-faq .am-content_box h3 em,
.page-faq .am-content_box h3 strong,
.page-faq .am-section_title h2 em,
.page-faq .am-section_title h2 strong {
    font-style: italic;
    font-weight: 700;
    background: var(--faq-accent);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Eyebrow badge */
.page-faq .am-content_box > span,
.page-faq .am-section_title > span,
.page-faq .am-section_title .am-tag,
.page-faq .am-section_title_three > span {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    margin: 0 0 1.25rem !important;
    padding: 8px 20px 8px 32px !important;
    border-radius: 50px !important;
    background: color-mix(in srgb, var(--faq-cream) 88%, #fff) !important;
    color: var(--faq-ink) !important;
    border: 1px solid color-mix(in srgb, var(--faq-cream) 35%, rgba(17, 17, 17, 0.1)) !important;
    font-family: "Bitter", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

.page-faq .am-content_box > span::before,
.page-faq .am-section_title > span::before,
.page-faq .am-section_title .am-tag::before,
.page-faq .am-section_title_three > span::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: currentColor !important;
}

.page-faq .am-content_box > span::after,
.page-faq .am-section_title > span::after,
.page-faq .am-section_title .am-tag::after,
.page-faq .am-section_title_three > span::after {
    display: none !important;
    content: none !important;
}

/* ------------------------------------------------------------------ */
/* Hero (content-banner)                                              */
/* ------------------------------------------------------------------ */
.page-faq > .pb-themesection:first-child .am-works {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
    border-radius: clamp(1.5rem, 3vw, 2rem);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: var(--faq-shadow);
    overflow: hidden;
    background: var(--faq-hero-bg) !important;
    background-color: transparent !important;
    padding: var(--faq-panel-pad) !important;
    text-align: center;
}

.page-faq > .pb-themesection:first-child .am-page-title-wrap {
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.page-faq > .pb-themesection:first-child .am-page-title-wrap .am-content_box {
    padding: 0 !important;
    max-width: 52rem;
    margin-inline: auto;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.page-faq > .pb-themesection:first-child .am-content_box h3 {
    font-size: clamp(1.625rem, 1.05rem + 1.4vw, 2.25rem) !important;
    margin: 0 0 0.75rem !important;
    line-height: 1.15 !important;
}

.page-faq > .pb-themesection:first-child .am-content_banner_richtext {
    width: 100%;
    max-width: 38rem;
    margin: 0.35rem auto 0 !important;
    margin-inline: auto !important;
    text-align: center;
}

.page-faq > .pb-themesection:first-child .am-content_banner_richtext,
.page-faq > .pb-themesection:first-child .am-content_banner_richtext p {
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: var(--faq-muted) !important;
}

.page-faq > .pb-themesection:first-child .am-content_banner_richtext p {
    margin: 0 !important;
}

.page-faq > .pb-themesection:first-child .am-joincommunity_btn {
    justify-content: center;
    margin-top: 1.5rem;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.page-faq .am-joincommunity_btn .am-btn {
    background: var(--faq-ink) !important;
    border: 1px solid var(--faq-ink) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 0.75rem 1.75rem !important;
    font-weight: 600 !important;
}

.page-faq .am-joincommunity_btn .am-btn:hover {
    background: var(--faq-accent) !important;
    border-color: var(--faq-accent-border) !important;
    color: #1f2a33 !important;
}

/* ------------------------------------------------------------------ */
/* FAQ panel — tabs + accordions                                      */
/* ------------------------------------------------------------------ */
.page-faq .faq-page-section,
.page-faq .am-faqs_section {
    padding: 0 !important;
    background: transparent !important;
}

.page-faq .faq-page-section__body,
.page-faq .am-faqs_section_contant {
    padding: 0 !important;
    background: transparent !important;
}

.page-faq .faq-page-panel {
    width: 100%;
    max-width: 52rem;
    margin-inline: auto;
    background: var(--faq-panel-bg) !important;
    border-radius: 30px;
    padding: var(--faq-panel-pad);
    box-sizing: border-box;
}

.page-faq .faq-page-panel__tabs {
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    padding-bottom: clamp(1rem, 2.5vw, 1.25rem);
    border-bottom: 1px solid rgba(17, 17, 17, 0.06);
}

.page-faq .faq-page-tabs {
    gap: 0.5rem !important;
    justify-content: flex-start;
    flex-wrap: nowrap;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    width: 100%;
    max-width: 20rem;
    margin-inline: auto !important;
}

.page-faq .faq-page-tabs .nav-item {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    list-style: none;
}

@media (min-width: 640px) {
    .page-faq .faq-page-tabs {
        flex-direction: row !important;
        justify-content: center;
        align-items: stretch;
        max-width: none;
    }

    .page-faq .faq-page-tabs .nav-item {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: none;
    }
}

.page-faq .faq-page-tabs .nav-link,
.page-faq .faq-page-tabs button.nav-link {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap;
    padding: 0.7rem 1.35rem !important;
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    color: var(--faq-ink) !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 0.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-faq .faq-page-tabs .nav-link::after {
    display: none !important;
}

.page-faq .faq-page-tabs .nav-link.active,
.page-faq .faq-page-tabs .nav-link[aria-selected="true"] {
    background: #fff !important;
    border-color: rgba(17, 17, 17, 0.12) !important;
    color: var(--faq-ink) !important;
}

.page-faq .faq-page-tabs .nav-link i::before {
    font-size: 1rem;
    color: var(--faq-ink) !important;
}

.page-faq .am-themetabwrap {
    box-shadow: none !important;
    background: transparent !important;
}

.page-faq .am-faq-page {
    max-width: 100% !important;
    width: 100% !important;
}

.page-faq .am-faqs-tabs-detail {
    gap: 0 !important;
    width: 100%;
    align-items: stretch;
}

.page-faq .faq-page-accordion-panel,
.page-faq .am-faqtab-content {
    width: 100%;
}

.page-faq .am-faqtab-content .accordion {
    gap: clamp(0.65rem, 2vw, 0.85rem);
    display: flex;
    flex-direction: column;
}

.page-faq .am-faqtab-content .accordion-item {
    padding: clamp(1rem, 2.5vw, 1.25rem) clamp(1.1rem, 2.5vw, 1.35rem) !important;
    border-radius: clamp(1rem, 2.5vw, 1.25rem) !important;
    background: #fff !important;
    border: 1px solid rgba(17, 17, 17, 0.07) !important;
    box-shadow: none !important;
}

.page-faq .am-faqtab-content .accordion-header {
    gap: 0.75rem;
    font-family: "Poppins", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--faq-ink) !important;
}

.page-faq .am-faqtab-content .accordion-header span {
    width: 2.25rem;
    height: 2.25rem;
    flex: none;
    display: flex;
    background: color-mix(in srgb, var(--faq-cream) 55%, #fff);
    border-radius: 0.5rem;
    align-items: center;
    justify-content: center;
}

.page-faq .am-faqtab-content .accordion-header span .am-icon-file-02::before {
    font-size: 0.9rem;
    color: var(--faq-ink) !important;
}

.page-faq .am-faqtab-content .accordion-button {
    padding: 0 !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--faq-ink) !important;
    line-height: 1.4 !important;
}

.page-faq .am-faqtab-content .accordion-button::after {
    width: 0.875rem;
    height: 0.875rem;
    opacity: 0.55;
}

.page-faq .am-faqtab-content .accordion-body {
    padding: 0.85rem 0 0 2.95rem !important;
    font-size: 0.9375rem !important;
}

@media (max-width: 639px) {
    .page-faq .am-faqtab-content .accordion-body {
        padding-left: 0 !important;
    }
}

/* faqs-without-btn variant (if present) */
.page-faq .am-faqs-three {
    padding: 0 !important;
}

.page-faq .am-faqs-three_content {
    max-width: 52rem;
    margin-inline: auto;
    background: var(--faq-panel-bg);
    border-radius: 30px;
    padding: var(--faq-panel-pad);
}

.page-faq .am-faqs-three_accordions .accordion-item {
    padding: clamp(1rem, 2.5vw, 1.25rem) clamp(1.1rem, 2.5vw, 1.35rem) !important;
    border-radius: clamp(1rem, 2.5vw, 1.25rem) !important;
    background: #fff !important;
    border: 1px solid rgba(17, 17, 17, 0.07) !important;
    box-shadow: none !important;
}

.page-faq .am-faqs-three .am-section_title .am-btn {
    background: var(--faq-ink) !important;
    border: 1px solid var(--faq-ink) !important;
    color: #fff !important;
    border-radius: 999px !important;
}

.page-faq .am-faqs-three .am-section_title .am-btn:hover {
    background: var(--faq-accent) !important;
    border-color: var(--faq-accent-border) !important;
    color: #1f2a33 !important;
}
