/* FAQ pages (Students FAQs, Training Provider FAQs) — self-contained design
   tokens, matching the rest of the site's "fresh palette" (see About.css /
   Policy.css / Contact.css for the same tokens under their own page-scoped
   names). Accordion is built on native <details>/<summary> — accessible and
   keyboard-operable with zero JavaScript required; the small amount of JS in
   core/FAQFrame.php only adds an "Expand all / Collapse all" convenience. */
:root{
    --faq-navy: #0B1F3A;
    --faq-navy-2: #14315C;
    --faq-navy-3: #1E4079;
    --faq-coral: #D6363C;
    --faq-coral-dark: #C22A30;
    --faq-amber: #FFB020;
    --faq-teal: #0B7A6D;
    --faq-bg: #F5F7FB;
    --faq-ink: #1A2333;
    --faq-muted: #5B6478;
    --faq-border: #E3E7F0;
    --faq-heading-font: 'Zilla Slab', Georgia, serif;
    --faq-body-font: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.faq-main{background:var(--faq-bg);font-family:var(--faq-body-font);color:var(--faq-ink);}

/* Breadcrumb */
.faq-crumb{background:#fff;border-bottom:1px solid var(--faq-border);padding:12px 20px;}
.faq-crumb-wrap{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--faq-muted);flex-wrap:wrap;}
.faq-crumb-wrap a{color:var(--faq-navy-3);text-decoration:none;}
.faq-crumb-wrap a:hover{text-decoration:underline;}

/* Hero */
.faq-hero{background:linear-gradient(100deg, var(--faq-navy) 0%, var(--faq-navy-2) 55%, var(--faq-navy-3) 100%);color:#fff;padding:48px 20px;text-align:center;}
.faq-hero-eyebrow{display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--faq-amber);margin-bottom:10px;}
.faq-hero h1{font-family:var(--faq-heading-font);font-size:clamp(1.8rem, 4vw, 2.4rem);font-weight:700;margin:0 0 12px;}
.faq-hero p{max-width:640px;margin:0 auto;color:#D7DEEC;font-size:1.02rem;line-height:1.6;}

/* Layout */
.faq-wrap{max-width:820px;margin:0 auto;padding:36px 20px 56px;}

.faq-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px;}
.faq-toggle-all{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--faq-navy-3);font-weight:600;font-size:0.85rem;padding:9px 16px;border-radius:999px;border:1px solid var(--faq-border);cursor:pointer;transition:background-color 0.2s ease, border-color 0.2s ease;}
.faq-toggle-all:hover{background:var(--faq-bg);border-color:var(--faq-navy-3);}

/* Accordion */
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--faq-border);border-radius:12px;box-shadow:0 4px 14px rgba(11,31,58,0.05);overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;font-weight:700;color:var(--faq-navy);font-size:0.98rem;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'\002B';margin-left:auto;flex-shrink:0;font-size:1.3rem;line-height:1;color:var(--faq-navy-3);transition:transform 0.2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:hover{background:var(--faq-bg);}
.faq-item summary:focus-visible{outline:2px solid var(--faq-navy-3);outline-offset:-2px;}
.faq-item-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--faq-bg);color:var(--faq-navy-3);font-size:0.82rem;font-weight:700;}
.faq-item[open] .faq-item-num{background:var(--faq-coral);color:#fff;}

.faq-answer{padding:0 20px 20px 60px;color:var(--faq-ink);font-size:0.94rem;line-height:1.7;}
.faq-answer p{margin:0 0 12px;}
.faq-answer p:last-child{margin-bottom:0;}
.faq-answer ul,.faq-answer ol{margin:0 0 12px;padding-left:1.3em;}
.faq-answer ul:last-child,.faq-answer ol:last-child{margin-bottom:0;}
.faq-answer li{margin-bottom:6px;}
.faq-answer a{color:var(--faq-navy-3);text-decoration:underline;text-decoration-color:var(--faq-border);text-underline-offset:2px;}
.faq-answer a:hover{color:var(--faq-coral-dark);}
.faq-answer strong{color:var(--faq-navy);}

/* Bottom CTA */
.faq-cta{margin-top:32px;background:#fff;border:1px solid var(--faq-border);border-left:4px solid var(--faq-coral);border-radius:12px;padding:24px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
.faq-cta h2{font-family:var(--faq-heading-font);font-size:1.1rem;font-weight:700;color:var(--faq-navy);margin:0 0 4px;}
.faq-cta p{margin:0;color:var(--faq-muted);font-size:0.9rem;max-width:46ch;}
.faq-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--faq-coral);color:#fff;font-weight:700;font-size:0.92rem;padding:12px 22px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:background-color 0.2s ease, transform 0.2s ease;}
.faq-cta-btn:hover{background:var(--faq-coral-dark);transform:translateY(-1px);}

@media (max-width: 560px){
    .faq-item summary{padding:15px 16px;gap:10px;}
    .faq-answer{padding:0 16px 16px;}
    .faq-cta{padding:20px;flex-direction:column;align-items:flex-start;}
}
