/* FAQ public page — scoped styles */
.faq-hero {
    position: relative;
    overflow: visible;
    padding-bottom: 5rem;
}
.faq-hero::after {
    content: "";
    position: absolute;
    inset-inline-end: -8rem;
    bottom: -6rem;
    width: 20rem;
    height: 20rem;
    border: 1px solid rgba(199,166,103,.22);
    border-radius: 50%;
    pointer-events: none;
}
.faq-hero__inner { position: relative; z-index: 2; }
.faq-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .85rem;
    padding: .48rem .8rem;
    border: 1px solid rgba(226,211,175,.35);
    border-radius: 999px;
    color: var(--ae-gold-100);
    background: rgba(255,255,255,.06);
    font-weight: 800;
    font-size: .86rem;
}
.faq-hero h1 { max-width: 760px; margin-bottom: .8rem; }
.faq-hero p { max-width: 760px; margin-bottom: 0; font-size: 1.06rem; line-height: 1.9; }
.faq-hero-stats {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .8rem;
}
.faq-hero-stats > div {
    padding: 1.1rem .8rem;
    text-align: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1rem;
    backdrop-filter: blur(8px);
}
.faq-hero-stats strong { display:block; color:var(--ae-gold-100); font-size:1.8rem; line-height:1; }
.faq-hero-stats span { display:block; margin-top:.5rem; color:#fff; font-size:.8rem; opacity:.82; }

.faq-search-card {
    position: absolute;
    inset-inline: 12px;
    bottom: -7.3rem;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.15rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1.25rem;
    box-shadow: 0 20px 50px rgba(15,27,36,.14);
}
.faq-search-box { position:relative; display:flex; align-items:center; }
.faq-search-box > i { position:absolute; inset-inline-start:1rem; color:var(--primary); font-size:1.1rem; }
.faq-search-box input {
    width:100%;
    min-height:3.6rem;
    padding: .8rem 3rem;
    border:1px solid var(--border-strong);
    border-radius:.9rem;
    background:var(--surface-warm);
    color:var(--text);
    outline:none;
    transition:.2s ease;
}
.faq-search-box input:focus { border-color:var(--ae-gold-600); box-shadow:0 0 0 .22rem rgba(199,166,103,.16); background:var(--surface); }
.faq-search-clear { position:absolute; inset-inline-end:.65rem; width:2.25rem; height:2.25rem; border:0; border-radius:50%; background:transparent; color:var(--text-muted); }
.faq-search-clear:hover { background:rgba(16,32,45,.07); color:var(--primary); }
.faq-search-meta { display:flex; align-items:center; gap:1rem; white-space:nowrap; }
.faq-search-meta > span { color:var(--text-muted); font-size:.85rem; font-weight:700; }
.faq-expand-all { border:0; background:transparent; color:var(--primary); font-weight:800; display:inline-flex; align-items:center; gap:.4rem; padding:.65rem .4rem; }
.faq-expand-all:hover { color:var(--ae-gold-700); }

.faq-page-section { padding: 9.2rem 0 5rem; background:linear-gradient(180deg,#fff 0%,#fbfaf7 42%,#fff 100%); }
.faq-category-nav {
    display:flex;
    gap:.65rem;
    overflow-x:auto;
    padding:.15rem 0 1.5rem;
    scrollbar-width:thin;
}
.faq-category-pill {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    min-height:2.75rem;
    padding:.55rem .85rem;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--surface);
    color:var(--primary-dark);
    font-size:.84rem;
    font-weight:800;
    transition:.18s ease;
}
.faq-category-pill b { min-width:1.55rem; height:1.55rem; display:grid; place-items:center; border-radius:50%; background:var(--ae-gold-50); color:var(--ae-gold-700); font-size:.72rem; }
.faq-category-pill:hover,.faq-category-pill.active { color:#fff; background:var(--primary); border-color:var(--primary); transform:translateY(-1px); }
.faq-category-pill.active b,.faq-category-pill:hover b { background:rgba(255,255,255,.14); color:#fff; }

.faq-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:2rem; align-items:start; }
.faq-sidebar { position:sticky; top:7.5rem; }
.faq-sidebar-card { padding:1.1rem; border:1px solid var(--border); border-radius:1rem; background:var(--surface); box-shadow:0 12px 28px rgba(15,27,36,.05); }
.faq-sidebar-title { display:block; padding:.2rem .5rem .8rem; color:var(--text-muted); font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.faq-sidebar-card a { display:grid; grid-template-columns:1.5rem minmax(0,1fr) auto; gap:.45rem; align-items:center; padding:.72rem .55rem; color:var(--primary-dark); border-radius:.7rem; text-decoration:none; font-weight:700; font-size:.84rem; }
.faq-sidebar-card a:hover { background:var(--ae-gold-50); color:var(--ae-gold-700); }
.faq-sidebar-card a b { font-size:.72rem; color:var(--text-muted); }

.faq-group { scroll-margin-top:7rem; margin-bottom:2.3rem; }
.faq-group[hidden],.faq-item[hidden] { display:none !important; }
.faq-group-heading { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.8rem; align-items:center; margin-bottom:.85rem; }
.faq-group-icon { width:3rem; height:3rem; display:grid; place-items:center; border-radius:.9rem; color:var(--ae-gold-700); background:var(--ae-gold-50); border:1px solid rgba(199,166,103,.28); font-size:1.2rem; }
.faq-group-heading span { display:block; color:var(--text-muted); font-size:.7rem; font-weight:800; }
.faq-group-heading h2 { margin:0; color:var(--primary-dark); font-size:1.28rem; font-weight:900; }
.faq-group-count { color:var(--text-muted); font-size:.78rem; font-weight:700; }

.faq-accordion { display:grid; gap:.7rem; }
.faq-accordion .accordion-item { overflow:hidden; border:1px solid var(--border); border-radius:1rem !important; background:var(--surface); box-shadow:0 8px 20px rgba(15,27,36,.035); }
.faq-accordion .accordion-button { gap:.8rem; padding:1rem 1.05rem; background:var(--surface); color:var(--primary-dark); box-shadow:none; font-weight:800; line-height:1.7; }
.faq-accordion .accordion-button:not(.collapsed) { background:linear-gradient(90deg,var(--ae-gold-50),var(--surface)); color:var(--primary); }
.faq-accordion .accordion-button:focus { box-shadow:inset 0 0 0 2px rgba(161,126,67,.35); }
.faq-question-number { flex:0 0 auto; min-width:2.15rem; height:2.15rem; display:grid; place-items:center; border-radius:.7rem; background:rgba(0,56,102,.07); color:var(--primary); font-size:.72rem; font-weight:900; }
.faq-accordion .accordion-button:not(.collapsed) .faq-question-number { background:var(--primary); color:#fff; }
.faq-question-text { flex:1; }
.faq-accordion .accordion-body { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.75rem; padding:1.05rem 1.15rem 1.2rem; border-top:1px dashed rgba(16,32,45,.1); line-height:2; color:var(--text); }
.faq-answer-mark { width:2rem; height:2rem; display:grid; place-items:center; color:var(--ae-gold-700); background:var(--ae-gold-50); border-radius:50%; margin-top:.1rem; }
.faq-answer-text p:last-child { margin-bottom:0; }

.faq-no-results,.faq-empty-state { padding:3.5rem 1.25rem; text-align:center; border:1px dashed var(--border-strong); border-radius:1.25rem; background:var(--surface); }
.faq-empty-icon { width:4.3rem; height:4.3rem; margin:0 auto 1rem; display:grid; place-items:center; border-radius:1.2rem; background:var(--ae-gold-50); color:var(--ae-gold-700); font-size:1.7rem; }
.faq-no-results h2,.faq-empty-state h2 { color:var(--primary-dark); font-size:1.35rem; font-weight:900; }
.faq-no-results p,.faq-empty-state p { color:var(--text-muted); }

.faq-support-card {
	margin-top: 3.2rem;
	display: grid;
	grid-template-columns: auto minmax(0,1fr) auto;
	gap: 1.2rem;
	align-items: center;
	padding: 3rem;
	border-radius: 1.25rem;
	background: var(--primary);
	color: #fff;
	box-shadow: 0 18px 45px rgba(0,56,102,.2);
	color: #FFF;
}
.faq-support-icon { width:3.4rem; height:3.4rem; display:grid; place-items:center; border-radius:1rem; background:rgba(255,255,255,.1); color:var(--ae-gold-100); font-size:1.4rem; }
.faq-support-copy span { color:var(--ae-gold-100); font-size:.78rem; font-weight:800; }
.faq-support-copy h2 {
	margin: .15rem 0 .25rem;
	color: #fff !important;
	font-size: 1.25rem;
	font-weight: 900 !important;
	letter-spacing: normal !important;
}
.faq-support-copy p { margin:0; color:rgba(255,255,255,.78); font-size:.88rem; line-height:1.7; }

html.a11y-dark .faq-page-section { background:var(--surface-warm); }
html.a11y-dark .faq-search-card,
html.a11y-dark .faq-category-pill,
html.a11y-dark .faq-sidebar-card,
html.a11y-dark .faq-accordion .accordion-item,
html.a11y-dark .faq-accordion .accordion-button,
html.a11y-dark .faq-no-results,
html.a11y-dark .faq-empty-state { background:var(--surface); }
html.a11y-dark .faq-accordion .accordion-button:not(.collapsed) { background:var(--surface-warm); }
html.a11y-dark .faq-group-heading h2,
html.a11y-dark .faq-sidebar-card a,
html.a11y-dark .faq-accordion .accordion-button,
html.a11y-dark .faq-no-results h2,
html.a11y-dark .faq-empty-state h2 { color:var(--text); }

@media (max-width: 991.98px) {
    .faq-hero { padding-bottom:5.5rem; }
    .faq-search-card { grid-template-columns:1fr; bottom:-8.3rem; }
    .faq-search-meta { justify-content:space-between; }
    .faq-page-section { padding-top:10.3rem; }
    .faq-layout { grid-template-columns:1fr; }
}
@media (max-width: 575.98px) {
    .faq-hero-stats { margin-top:.4rem; }
    .faq-search-card { inset-inline:0; border-radius:0; border-inline:0; bottom:-8.5rem; }
    .faq-search-meta > span { font-size:.75rem; }
    .faq-expand-all { font-size:.78rem; }
    .faq-page-section { padding-top:10.5rem; }
    .faq-category-nav { margin-inline:-.75rem; padding-inline:.75rem; }
    .faq-group-heading { grid-template-columns:auto minmax(0,1fr); }
    .faq-group-count { display:none; }
    .faq-accordion .accordion-button { padding:.85rem; gap:.6rem; font-size:.88rem; }
    .faq-question-number { min-width:1.9rem; height:1.9rem; border-radius:.55rem; }
    .faq-accordion .accordion-body { grid-template-columns:1fr; padding:.9rem 1rem 1.05rem; font-size:.88rem; }
    .faq-answer-mark { display:none; }
    .faq-support-card { grid-template-columns:auto 1fr; padding:1.2rem; }
    .faq-support-card .btn { grid-column:1/-1; width:100%; }
}
