/* =========================================================
   Bizmantra - FAQ section
   assets/css/faq.css?v=1
   - Follows the header's light / dark tokens (--bm-*).
   ========================================================= */
.bmf {
    --f-bg: #F6F8FD;
    --f-card: #FFFFFF;
    --f-line: #E0E7F5;
    --f-sub: #4F5D7A;
    --f-chip: #EEF3FF;

    position: relative; overflow: hidden;
    padding-block: clamp(56px, 8vw, 104px);
    background: var(--f-bg);
    color: var(--bm-text);
    font-family: var(--bm-font, 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif);
}
:root[data-theme="dark"] .bmf {
    --f-bg: #0E1736;
    --f-card: #141E3D;
    --f-line: rgba(143,176,255,.20);
    --f-sub: #B4C1E0;
    --f-chip: rgba(143,176,255,.12);
}

:where(.bmf) *, :where(.bmf) *::before, :where(.bmf) *::after { box-sizing: border-box; }
:where(.bmf) ul { list-style: none; margin: 0; padding: 0; }
:where(.bmf) h2, :where(.bmf) h3, :where(.bmf) p { margin: 0; }
:where(.bmf) a { color: inherit; text-decoration: none; }
:where(.bmf) svg { display: block; flex: none; }
:where(.bmf) button { font: inherit; color: inherit; }
.bmf :focus-visible { outline: 2px solid var(--bm-blue-d); outline-offset: 2px; border-radius: 8px; }

/* soft background glow */
.bmf::before, .bmf::after {
    content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(70px); opacity: .5;
}
.bmf::before { width: 360px; height: 360px; top: -140px; left: -120px; background: rgba(60,100,220,.16); }
.bmf::after  { width: 320px; height: 320px; bottom: -140px; right: -100px; background: rgba(134,184,63,.18); }

.bmf__container { position: relative; z-index: 1; width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 20px; }

/* ---------------- HEAD ---------------- */
.bmf__head { text-align: center; }
.bmf__eyebrow {
    display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px;
    font-size: 12.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    color: #4E7A1A; background: rgba(134,184,63,.16);
}
:root[data-theme="dark"] .bmf__eyebrow { color: #B7E27A; background: rgba(168,215,94,.14); }
.bmf__eyebrow svg { width: 15px; height: 15px; }
.bmf__title {
    margin: 16px auto 0; max-width: 30ch;
    font-size: clamp(28px, 2vw, 44px); font-weight: 800; line-height: 1.12; letter-spacing: -.03em;
    color: var(--bm-head); text-wrap: balance;
}
.bmf__sub { margin: 14px auto 0; max-width: 72ch; font-size: clamp(15px, 1.3vw, 17px); line-height: 1.7; color: var(--f-sub); text-wrap: balance; }

/* ---------------- SEARCH ---------------- */
.bmf__search { position: relative; max-width: 680px; margin: 30px auto 0; }
.bmf__search > svg { position: absolute; left: 18px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--f-sub); pointer-events: none; }
.bmf__input {
    width: 100%; height: 54px; padding: 0 48px 0 48px; border-radius: 16px;
    border: 1px solid var(--f-line); background: var(--f-card); color: var(--bm-head);
    font: inherit; font-size: 15px; box-shadow: 0 10px 28px -20px rgba(31,53,115,.5);
    transition: border-color .2s, box-shadow .2s;
    -webkit-appearance: none; appearance: none;
}
.bmf__input::placeholder { color: var(--f-sub); opacity: .85; }
.bmf__input:focus { outline: none; border-color: var(--bm-blue); box-shadow: 0 0 0 4px rgba(60,100,220,.14); }
.bmf__input::-webkit-search-cancel-button { display: none; }
.bmf__clear {
    position: absolute; right: 10px; top: 50%; display: none; place-items: center; width: 32px; height: 32px; transform: translateY(-50%);
    border: 0; border-radius: 50%; background: var(--f-chip); color: var(--f-sub); cursor: pointer;
}
.bmf__clear svg { width: 14px; height: 14px; }
.bmf__clear:hover { color: var(--bm-head); }
.bmf__search.has-value .bmf__clear { display: grid; }

/* ---------------- TABS ---------------- */
.bmf__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.bmf__tab {
    display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border-radius: 999px;
    border: 1px solid var(--f-line); background: var(--f-card); color: var(--bm-head);
    font-size: 13.5px; font-weight: 700; white-space: nowrap; cursor: pointer;
    transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.bmf__tab svg { width: 16px; height: 16px; }
.bmf__tab:hover { border-color: var(--bm-blue); transform: translateY(-1px); }
.bmf__tab-n {
    display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
    font-size: 11px; font-weight: 800; background: var(--f-chip); color: var(--f-sub);
}
.bmf__tab[aria-pressed="true"] {
    background: linear-gradient(135deg, var(--bm-blue), var(--bm-blue-d)); border-color: transparent; color: #fff;
    box-shadow: 0 12px 22px -14px rgba(31,53,115,.9);
}
.bmf__tab[aria-pressed="true"] .bmf__tab-n { background: rgba(255,255,255,.22); color: #fff; }

/* ---------------- LIST ---------------- */
.bmf__list { display: grid; gap: 14px; margin-top: 30px; }
.bmf__item {
    border-radius: 18px; border: 1px solid var(--f-line); background: var(--f-card);
    box-shadow: 0 14px 30px -26px rgba(31,53,115,.55);
    transition: border-color .25s, box-shadow .25s;
}
.bmf__item[hidden] { display: none; }
.bmf__item:hover { border-color: rgba(60,100,220,.45); }
.bmf__item.is-open { border-color: var(--bm-blue); box-shadow: 0 22px 40px -28px rgba(31,53,115,.7); }

.bmf__q {
    display: flex; align-items: center; gap: 14px; width: 100%; padding: 18px 20px; border: 0; background: none;
    text-align: left; cursor: pointer; border-radius: 18px;
}
.bmf__qicon {
    display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px;
    background: rgba(134,184,63,.16); color: #5E8F20; transition: background .25s, color .25s;
}
:root[data-theme="dark"] .bmf__qicon { color: #B7E27A; }
.bmf__qicon svg { width: 18px; height: 18px; }
.bmf__item.is-open .bmf__qicon { background: linear-gradient(135deg, var(--bm-blue), var(--bm-blue-d)); color: #fff; }
.bmf__qtext { flex: 1; min-width: 0; font-size: clamp(15px, 1.4vw, 16.5px); font-weight: 700; line-height: 1.4; color: var(--bm-head); }
.bmf__chev { width: 20px; height: 20px; color: var(--f-sub); transition: transform .3s, color .2s; }
.bmf__item.is-open .bmf__chev { transform: rotate(180deg); color: var(--bm-blue-d); }

.bmf__panel {
    display: grid; grid-template-rows: 0fr; visibility: hidden;
    transition: grid-template-rows .32s ease, visibility 0s linear .32s;
}
.bmf__item.is-open .bmf__panel { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .32s ease, visibility 0s; }
.bmf__panel-in { min-height: 0; overflow: hidden; }
.bmf__a { padding: 2px 20px 20px 68px; border-top: 1px solid transparent; }
.bmf__a p { margin-top: 12px; max-width: 105ch; font-size: 15px; line-height: 1.75; color: var(--f-sub); }
.bmf__a p:first-child { margin-top: 0; }
.bmf__a strong { color: var(--bm-head); font-weight: 700; }
.bmf__a ul { margin-top: 12px; display: grid; gap: 8px; }
.bmf__a li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.65; color: var(--f-sub); }
.bmf__a li::before {
    content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 50%;
    background: linear-gradient(135deg, var(--bm-blue), var(--bm-green));
}

.bmf__kw { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--f-line); }
.bmf__kw-label { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--f-sub); }
.bmf__chip {
    padding: 5px 12px; border-radius: 999px; border: 1px solid var(--f-line); background: var(--f-chip);
    font-size: 12px; font-weight: 600; color: var(--bm-head); cursor: pointer; transition: border-color .2s, transform .2s;
}
.bmf__chip:hover { border-color: var(--bm-blue); transform: translateY(-1px); }

/* ---------------- EMPTY ---------------- */
.bmf__empty { display: none; margin-top: 30px; padding: 40px 20px; border-radius: 18px; border: 1px dashed var(--f-line); background: var(--f-card); text-align: center; }
.bmf__empty.is-show { display: block; }
.bmf__empty svg { width: 34px; height: 34px; margin: 0 auto 12px; color: var(--bm-blue-d); }
.bmf__empty h3 { font-size: 17px; font-weight: 800; color: var(--bm-head); }
.bmf__empty p { margin-top: 6px; font-size: 14.5px; color: var(--f-sub); }

/* ---------------- CTA ---------------- */
.bmf__cta {
    position: relative; overflow: hidden; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px;
    margin-top: 40px; padding: clamp(24px, 4vw, 36px); border-radius: 22px; color: #fff;
    background: linear-gradient(135deg, var(--bm-blue), var(--bm-blue-d));
    box-shadow: 0 26px 46px -28px rgba(31,53,115,.9);
}
.bmf__cta::after {
    content: ""; position: absolute; right: -70px; top: -70px; width: 220px; height: 220px; border-radius: 50%;
    background: radial-gradient(circle, rgba(168,215,94,.45), transparent 70%); pointer-events: none;
}
.bmf__cta-copy { position: relative; z-index: 1; flex: 1 1 320px; min-width: 0; }
.bmf__cta-title { font-size: clamp(20px, 2.4vw, 26px); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.bmf__cta-text { margin-top: 8px; font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.86); }
.bmf__cta-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; }
.bmf-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 10px 22px;
    border-radius: 10px; font-size: 15px; font-weight: 700; white-space: nowrap; transition: background .2s, transform .2s, border-color .2s;
}
.bmf-btn svg { width: 17px; height: 17px; }
.bmf-btn--light { background: #fff; color: #17306B !important; }
.bmf-btn--light:hover { transform: translateY(-1px); background: #F0F5FF; }
.bmf-btn--green { background: linear-gradient(135deg, #A8D75E, #86B83F); color: #17306B !important; }
.bmf-btn--green:hover { transform: translateY(-1px); }
.bmf-btn--light svg { transition: transform .2s; }
.bmf-btn--light:hover svg { transform: translateX(3px); }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 767px) {
    .bmf__tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: -20px; padding: 2px 20px 8px; scrollbar-width: none; }
    .bmf__tabs::-webkit-scrollbar { display: none; }
    .bmf__tab { flex: none; }
}
@media (max-width: 599px) {
    .bmf__container { padding-inline: 16px; }
    .bmf__tabs { margin-inline: -16px; padding-inline: 16px; }
    .bmf__q { padding: 15px 14px; gap: 11px; }
    .bmf__qicon { width: 30px; height: 30px; border-radius: 9px; }
    .bmf__a { padding: 2px 16px 18px 16px; }
    .bmf__cta-actions { width: 100%; flex-direction: column; }
    .bmf-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .bmf *, .bmf *::before, .bmf *::after { transition-duration: .01ms !important; }
}