/* ==========================================================================
   FAQ — Clean corporate design (palette aligned)
   ========================================================================== */

:root {
    --c-primary:#000080;
    --c-muted:#808080;
    --c-accent:#FF5733;
    --c-white:#FFFFFF;
    --c-border:#E6E8EF;
    --c-ink:#0E1333;
    --shadow-sm:0 6px 16px rgba(0,0,0,.06);
    --site-max:1100px;
    --site-gutter:clamp(12px,3vw,24px);

    /* component tokens */
    --chip-pad:.4rem .75rem;
    --btn-pad:.7rem 1.2rem;
    --acc-pad:1rem 1.05rem;
}

/* Section shell */
.faq-clean {
    padding:clamp(28px,5vw,56px) 0;
    background:var(--c-white);
    color:var(--c-muted);
}

.faq-clean__wrap {
    width:100%;
    max-width:var(--site-max);
    margin-inline:auto;
    padding-inline:var(--site-gutter);
}

/* Heading */
.faq-clean__head { margin:0 0 clamp(16px,3vw,24px) 0; }

.faq-clean__title {
    margin:0;
    color:var(--c-primary);
    font-weight:900;
    line-height:1.1;
    font-size:clamp(1.6rem,3.2vw,2.2rem);
    letter-spacing:.01em;
    text-wrap:balance;
}
.faq-clean__title::after{
    content:"";
    display:block;
    width:clamp(44px,6vw,72px);
    height:3px;
    background:var(--c-accent);
    border-radius:2px;
    margin:.6rem auto 0;
}

.faq-clean__subtitle{ margin:.4rem 0 0; color:var(--c-muted); }
.faq-clean__tagline { margin:.15rem 0 0; color:var(--c-ink); font-weight:600; }

/* Quick Nav */
.faq-clean__index { margin:clamp(8px,2vw,16px) 0 clamp(16px,3vw,24px); }

.faq-nav{
    display:flex; flex-wrap:wrap; gap:10px;
    list-style:none; margin:0; padding:0; justify-content:center;
}
.faq-nav__li{ margin:0; }

.faq-nav__btn{
    padding:var(--chip-pad);
    border-radius:999px;
    border:1px solid var(--c-border);
    background:var(--c-white);
    color:var(--c-primary);
    font-weight:700; font-size:.92rem; line-height:1;
    cursor:pointer;
    transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.faq-nav__btn:hover{
    border-color:#d9ddea;
    transform:translateY(-1px);
    box-shadow:var(--shadow-sm);
}
.faq-nav__btn:active{ transform:none; box-shadow:none; }

/* Accordion (scoped) */
.faq-clean .accordion .accordion-item{
    background:var(--c-white);
    border:1px solid var(--c-border);
    border-radius:14px;
    overflow:hidden;
    transition:box-shadow .2s,transform .2s;
}
.faq-clean .accordion .accordion-item + .accordion-item{ margin-top:12px; }
.faq-clean .accordion .accordion-item:hover{
    box-shadow:0 10px 26px rgba(0,0,0,.08);
    transform:translateY(-1px);
}

/* Header buttons (Bootstrap override) */
.faq-clean .accordion :is(.accordion-button,.jx-acc__btn){
    background:var(--c-white)!important;
    color:var(--c-primary)!important;
    font-weight:800; line-height:1.3;
    padding:var(--acc-pad);
    border-left:3px solid transparent;
    box-shadow:none;
    transition:background .2s,color .2s,border-color .2s;
}
.faq-clean .accordion :is(.accordion-button,.jx-acc__btn):hover{
    background:#F9FBFF!important;
}
.faq-clean .accordion :is(.accordion-button,.jx-acc__btn):focus{
    box-shadow:0 0 0 .2rem rgba(255,87,51,.18);
}
.faq-clean .accordion :is(.accordion-button,.jx-acc__btn):not(.collapsed){
    border-left-color:var(--c-accent);
}

/* Chevron */
.faq-clean .accordion .accordion-button::after{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path d='M1.5 5.5 L8 11 L14.5 5.5' stroke='%23FF5733' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    transition:transform .2s;
}
.faq-clean .accordion .accordion-button:not(.collapsed)::after{ transform:rotate(180deg); }

/* Body */
.faq-clean .accordion .accordion-body{
    background:var(--c-white);
    color:#2B2B2B;
    line-height:1.7;
    padding:1rem 1.05rem 1.15rem;
}

/* CTAs */
.faq-clean__cta{
    margin:clamp(16px,3vw,24px) 0 0;
    display:flex; gap:10px; justify-content:center;
}
.faq-clean .btn{
    padding:var(--btn-pad);
    border-radius:999px;
    font-weight:800; text-decoration:none;
    background:var(--c-accent); color:var(--c-white);
    box-shadow:0 8px 22px rgba(255,87,51,.18);
    transition:transform .2s,box-shadow .2s;
}
.faq-clean .btn:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 28px rgba(255,87,51,.26);
}
.faq-clean .btn--ghost{
    background:transparent; color:var(--c-accent);
    border:2px solid var(--c-accent); box-shadow:none;
}
.faq-clean .btn--ghost:hover{ background:#fff1ed; }

/* Motion preference */
@media (prefers-reduced-motion:reduce){
    .faq-nav__btn,
    .faq-clean .accordion .accordion-item,
    .faq-clean .accordion :is(.accordion-button,.jx-acc__btn),
    .faq-clean .accordion .accordion-body,
    .faq-clean .btn { transition:none!important; }
}

/* JS highlight when quick-nav opens an item */
.accordion-button.faq-flash{ box-shadow:inset 0 0 0 2px var(--c-accent); }
