/* Single FAQ template — relies on psa-site.css custom properties */

.faq-hero{ background:var(--paper-2); border-bottom:1px solid var(--border); padding:36px 0 34px; }
.faq-hero-inner{ max-width:820px; }

.faq-breadcrumb{ font-size:13px; color:var(--text-muted); margin-bottom:16px; }
.faq-breadcrumb a{ color:var(--text-muted); text-decoration:none; }
.faq-breadcrumb a:hover{ color:var(--sec-strong); }
.faq-breadcrumb span[aria-hidden]{ margin:0 6px; }

.faq-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--sec-strong); margin-bottom:14px; }
.faq-eyebrow svg{ flex:none; }

.faq-h1{ font-size:clamp(26px,3.6vw,38px); line-height:1.2; color:var(--navy-900); }

.faq-meta{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:16px; font-size:13.5px; color:var(--text-muted); }
.faq-meta span{ display:flex; align-items:center; gap:6px; }
.faq-meta svg{ flex:none; color:var(--sec); }

.faq-layout-wrap{ padding-left:96px; padding-right:96px; }
@media (max-width:1280px){ .faq-layout-wrap{ padding-left:56px; padding-right:56px; } }
@media (max-width:720px){ .faq-layout-wrap{ padding-left:20px; padding-right:20px; } }

.faq-layout{ display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; padding:44px 0 96px; }
@media (max-width:980px){ .faq-layout{ grid-template-columns:1fr; gap:36px; } }

/* Direct-answer box: the single most important element for AEO/GEO — this is
   the block written to stand alone when lifted into an AI answer or snippet. */
.faq-answer-box{
	display:flex; gap:14px; align-items:flex-start;
	background:var(--teal-50); border:1px solid var(--teal-100); border-radius:10px;
	padding:24px 26px; margin-bottom:36px;
}
:root[data-theme="dark"] .faq-answer-box, @media (prefers-color-scheme:dark){
	.faq-answer-box{ background:rgba(82,194,209,.08); border-color:rgba(82,194,209,.25); }
}
.faq-answer-box svg{ flex:none; color:var(--sec-strong); margin-top:3px; }
.faq-answer-label{ font-family:var(--font-mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--sec-strong); margin-bottom:8px; }
.faq-answer-text{ margin:0; font-size:18px; line-height:1.6; font-weight:500; color:var(--ink); }

.faq-detailed{ font-size:16px; line-height:1.75; color:var(--text); }
.faq-detailed h2,.faq-detailed h3{ color:var(--navy-900); margin-top:1.6em; }
.faq-detailed h3{ font-size:19px; }
.faq-detailed p{ margin:1em 0; }
.faq-detailed ul,.faq-detailed ol{ padding-left:1.4em; margin:1em 0; }
.faq-detailed li{ margin:.4em 0; }
.faq-detailed a{ color:var(--sec-strong); }

.faq-reviewed{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-muted); margin-top:32px; padding-top:20px; border-top:1px solid var(--border); }
.faq-reviewed svg{ flex:none; color:var(--sec); }

/* Sources / citations — supports E-E-A-T trust signals for the page */
.faq-sources{ margin-top:28px; }
.faq-sources-title{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--text); margin-bottom:12px; }
.faq-sources-title svg{ color:var(--sec); }
.faq-sources-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.faq-sources-list a{ font-size:14px; color:var(--sec-strong); text-decoration:none; }
.faq-sources-list a:hover{ text-decoration:underline; }

/* Related questions — full accordion list, distinct from the compact sidebar
   accordion used on single-blog.php */
.faq-related{ margin-top:48px; }
.faq-related-title{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; color:var(--text); margin-bottom:16px; }
.faq-related-title svg{ color:var(--accent-strong); }
.faq-related-list{ display:flex; flex-direction:column; gap:10px; }
.faq-related-item{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	background:var(--card-bg); border:1px solid var(--border); border-radius:8px;
	padding:16px 20px; text-decoration:none; color:var(--ink); transition:border-color .15s ease, color .15s ease;
}
.faq-related-item:hover{ border-color:var(--sec); color:var(--sec-strong); }
.faq-related-item span{ font-size:15px; font-weight:500; }
.faq-related-item svg{ flex:none; color:var(--sec); }

/* Sidebar */
.faq-sidebar-panel{ background:var(--card-bg); border:1px solid var(--border); border-radius:8px; padding:24px; margin-bottom:24px; }
.faq-sidebar-panel:last-child{ margin-bottom:0; }
.faq-sidebar-title{ font-family:var(--font-mono); font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; margin-bottom:16px; }

.faq-toc-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.faq-toc-list a{ font-size:14px; color:var(--text); text-decoration:none; }
.faq-toc-list a:hover{ color:var(--sec-strong); text-decoration:underline; }

.faq-category-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.faq-category-chip{
	font-family:var(--font-mono); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; font-weight:600;
	padding:6px 12px; border-radius:999px; text-decoration:none; border:1px solid var(--border-strong); color:var(--text);
	transition:border-color .15s ease, color .15s ease;
}
.faq-category-chip:hover{ border-color:var(--sec); color:var(--sec-strong); }
.faq-category-chip-service{ background:var(--teal-50); border-color:var(--teal-100); color:var(--teal-700); }
:root[data-theme="dark"] .faq-category-chip-service, @media (prefers-color-scheme:dark){ .faq-category-chip-service{ background:rgba(82,194,209,.1); border-color:rgba(82,194,209,.25); color:var(--sec-strong);} }

.faq-sidebar-panel-dark{ background:var(--sec); border-color:var(--sec); color:#fff; }
.faq-sidebar-panel-dark .faq-sidebar-title{ color:#fff; }
.faq-sidebar-cta-copy{ font-size:13.5px; line-height:1.55; margin-bottom:16px; opacity:.92; }
.faq-sidebar-cta-btn{ display:block; width:100%; text-align:center; }

.faq-sidebar-phone{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; font-size:14px; text-decoration:none; color:#fff; }
.faq-sidebar-phone svg{ flex:none; }

/* Why Trust panel — bullet-list credentials + broker photo, matching the
   sidebar trust block used on single-blog.php. */
.faq-trust-list{ list-style:none; padding:16px; margin:0; display:flex; flex-direction:column; gap:14px; background:var(--paper); border-radius:6px; }
.faq-trust-list li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; color:var(--text); }
.faq-trust-list svg{ flex:none; color:var(--sec-strong); margin-top:2px; }

.faq-trust-broker{ display:flex; gap:12px; align-items:center; margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); }
.faq-trust-broker-photo{ width:52px; height:52px; border-radius:50%; overflow:hidden; flex:none; background:var(--paper-2); }
.faq-trust-broker-photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.faq-trust-broker-name{ font-family:var(--font-display); font-weight:600; font-size:15px; color:#fff; }
.faq-trust-broker-title{ font-size:12px; color:#C8CED2; line-height:1.4; margin-top:2px; }

/* Speakable target used by voice-assistant/GEO crawlers looking for a
   concise, standalone spoken answer. */
[data-speakable]{ scroll-margin-top:24px; }
