/*
 * ADSC shared accordion + FAQ component (2026-10-14). Moved here from home-sections.css so every page uses ONE
 * component (homepage FAQ, Dr. Walied FAQ, service/area/about FAQs). Markup: inc/faq-accordion.php.
 * Tokens: navy #172852 (14.4:1 on white), body #4a4a4a (8.9:1), gold line #d4af6f, gold ink #7a6837 (4.9:1).
 */
.adsc-hpdoc, .adsc-hpsvc, .adsc-hpfaq, .adsc-hpfaq-list {
	--hp-navy: #172852; --hp-navy-dark: #0f1c3d; --hp-gold: #7a6837; --hp-gold-ink: #6b5a2c; --hp-gold-line: #d4af6f;
	--hp-body: #4a4a4a; --hp-line: #e2ddd0; --hp-off: #f7f5f0;
	--hp-head: var(--font-heading, var(--ax-font-display)); --hp-text: var(--font-body, var(--ax-font-text));
}

/* ---------- Shared disclosure button (also used by the homepage service cards) ---------- */
.adsc-hpacc-btn {
	appearance: none; -webkit-appearance: none; background: transparent; border: 0; border-radius: 8px;
	margin: 0; box-shadow: none; text-transform: none; letter-spacing: normal;
	display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px;
	min-height: 48px; padding: 10px 4px; cursor: pointer; text-align: left;
	font: inherit; color: var(--hp-navy);
}
.adsc-hpacc-btn:hover, .adsc-hpacc-btn:focus { background: transparent; color: var(--hp-navy); }
.adsc-hpacc-icon {
	flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--hp-navy);
	display: grid; place-items: center; color: var(--hp-navy); background: #fff;
	transition: background-color .15s ease, color .15s ease;
}
.adsc-hpacc-icon svg { width: 14px; height: 14px; transition: transform .2s ease; }
.adsc-hpacc-icon path { transition: opacity .2s ease, transform .2s ease; transform-origin: 7px 7px; }
.adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-icon { background: var(--hp-navy); color: #fff; }
.adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-icon svg { transform: rotate(180deg); }
.adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-icon--plus svg { transform: rotate(45deg); }
.adsc-hpdoc a:focus-visible, .adsc-hpsvc a:focus-visible, .adsc-hpacc-btn:focus-visible {
	outline: 3px solid var(--hp-navy) !important; outline-offset: 3px; box-shadow: 0 0 0 6px #fff;
}
.adsc-hpacc-btn:focus:not(:focus-visible) { outline: none; }

/* ---------- FAQ list (the component) ---------- */
.adsc-hpfaq { background: #fff; }
.adsc-hpfaq-list { max-width: 840px; margin: 0 auto; border-top: 1px solid var(--hp-line); font-family: var(--hp-text); text-align: left; }
.adsc-hpfaq-item { border-bottom: 1px solid var(--hp-line); margin: 0; padding: 0; background: none; border-radius: 0; box-shadow: none; }
html body .adsc-hpfaq-list .adsc-hpfaq-item :is(h2, h3, h4, h5, h6) {
	margin: 0 !important; padding: 0 !important; font-size: inherit !important; line-height: inherit !important;
	letter-spacing: normal !important; font-weight: inherit; color: inherit !important; border: 0 !important; background: none !important;
}
html body .adsc-hpfaq-list .adsc-hpfaq-item :is(h2, h3, h4, h5, h6)::before, html body .adsc-hpfaq-list .adsc-hpfaq-item :is(h2, h3, h4, h5, h6)::after { content: none !important; }
html body .adsc-hpfaq-list .adsc-hpfaq-item .adsc-hpacc-btn { min-height: 60px; padding: 14px 4px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--hp-navy) !important; width: 100%; }
html body .adsc-hpfaq-list .adsc-hpfaq-q { font-family: var(--hp-text); font-weight: 600; font-size: 1.08rem; line-height: 1.4; color: var(--hp-navy) !important; }
.adsc-hpfaq-item .adsc-hpacc-btn:hover .adsc-hpfaq-q { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--hp-gold-line); }
/* minimal gold +/- (minus when open) and gold focus ring */
.adsc-hpfaq-list .adsc-hpacc-icon { width: 32px; height: 32px; border: 1px solid var(--hp-gold-line); background: transparent; color: var(--hp-gold); }
.adsc-hpfaq-list .adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-icon { background: transparent; color: var(--hp-gold); border-color: var(--hp-gold); }
.adsc-hpfaq-list .adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-icon svg { transform: none; }
.adsc-hpfaq-list .adsc-hpacc-btn[aria-expanded="true"] .adsc-hpacc-v { opacity: 0; transform: rotate(90deg); }
.adsc-hpfaq-list .adsc-hpacc-btn:focus-visible { outline: 3px solid var(--hp-gold) !important; outline-offset: 2px; box-shadow: none; border-radius: 6px; }
.adsc-hpfaq-list a:focus-visible { outline: 3px solid var(--hp-gold) !important; outline-offset: 2px; }
/* answer */
html body .adsc-hpfaq-list .adsc-hpfaq-a { padding: 0 4px 20px !important; max-width: 72ch; margin: 0; }
html body .adsc-hpfaq-list .adsc-hpfaq-a p, html body .adsc-hpfaq-list .adsc-hpfaq-a li { color: var(--hp-body) !important; font-size: 1rem !important; line-height: 1.7 !important; }
html body .adsc-hpfaq-list .adsc-hpfaq-a p { margin: 0 0 10px !important; }
html body .adsc-hpfaq-list .adsc-hpfaq-a > *:last-child { margin-bottom: 0 !important; }
.adsc-hpfaq-a a { color: var(--hp-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.adsc-hpfaq .adsc-hpfaq-a a { display: inline-block; padding: 10px 0; }
.adsc-hpfaq .adsc-hpfaq-a p a[href^="tel:"] { padding: 0; }
/* smooth open (fade + small slide); nothing under reduced motion */
@media (prefers-reduced-motion: no-preference) {
	.adsc-hpacc-panel:not([hidden]) { animation: adscFaqOpen .22s ease-out; }
}
@keyframes adscFaqOpen { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.adsc-hpfaq-more { text-align: center; margin: 28px 0 0; }
.adsc-hpfaq-more a { display: inline-flex; align-items: center; min-height: 44px; color: var(--hp-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* converted lists sitting inside older grid/card wrappers: let the list use the full width */
:is(.adsc-faq-grid, .adsc-faq-list, .adsc-faq-accordion):has(> .adsc-faqx) { display: block !important; grid-template-columns: none !important; max-width: 840px; margin-left: auto; margin-right: auto; }
.adsc-faqx { margin-top: .5rem; }
@media (max-width: 600px) {
	html body .adsc-hpfaq-list .adsc-hpfaq-q { font-size: 1rem; }
	html body .adsc-hpfaq-list .adsc-hpfaq-item .adsc-hpacc-btn { min-height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
	.adsc-hpacc-icon, .adsc-hpacc-icon svg, .adsc-hpacc-icon path { transition: none !important; }
}
/* "Q:" prefix kept from legacy markup (/contact/): inline, gold, same line as the question. */
html body .adsc-hpfaq-list .adsc-faqx-prefix { display: inline !important; color: #7a6837; font-weight: 700; margin-right: .35em; }
html body .adsc-hpfaq-list .adsc-faqx-prefix::before, html body .adsc-hpfaq-list .adsc-faqx-prefix::after { content: none !important; display: none !important; }
