/* FAQ accordion (AEO module) — self-contained, brand-aligned. */
.ap-faq{--ap-faq-green:#52924e;--ap-faq-ink:#23282a;--ap-faq-muted:#5b6266;--ap-faq-line:#e4e7e1;--ap-faq-bg:#ffffff;box-sizing:border-box;width:100%;padding:4px 0;}
.ap-faq *,.ap-faq *::before,.ap-faq *::after{box-sizing:border-box;}
.ap-faq-inner{max-width:100%;margin:0;}
/* Higher specificity so the theme's post-content h2 rules don't override size/spacing. */
.ap-faq h2.ap-faq-title{font-size:clamp(19px,2vw,23px)!important;line-height:1.2;letter-spacing:-0.01em;color:var(--ap-faq-ink);margin:0 0 8px!important;font-weight:700;padding:0;text-align:left;}
.ap-faq-list{border-top:1px solid var(--ap-faq-line);}
.ap-faq-item{border-bottom:1px solid var(--ap-faq-line);}
.ap-faq-q{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;}
.ap-faq-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:0;padding:14px 2px;background:none;border:0;text-align:left;cursor:pointer;color:var(--ap-faq-ink);font-family:inherit;font-size:clamp(15px,1.3vw,16.5px);font-weight:600;line-height:1.4;}
.ap-faq-trigger:hover .ap-faq-q-text{color:var(--ap-faq-green);}
.ap-faq-trigger:focus-visible{outline:2px solid var(--ap-faq-green);outline-offset:2px;border-radius:4px;}
.ap-faq-q-text{flex:1 1 auto;transition:color .15s ease;}
.ap-faq-icon{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eef3ed;transition:background .2s ease;}
.ap-faq-trigger[aria-expanded="true"] .ap-faq-icon{background:var(--ap-faq-green);}
.ap-faq-icon svg{width:13px;height:13px;stroke:var(--ap-faq-green);transition:stroke .2s ease;}
.ap-faq-trigger[aria-expanded="true"] .ap-faq-icon svg{stroke:#ffffff;}
.ap-faq-icon-v{transition:transform .25s ease,opacity .2s ease;transform-origin:center;}
.ap-faq-trigger[aria-expanded="true"] .ap-faq-icon-v{transform:scaleY(0);opacity:0;}
.ap-faq-panel{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.ap-faq-answer{padding:0 2px 16px;color:var(--ap-faq-muted);font-size:15px;line-height:1.6;}
.ap-faq-answer p{margin:0 0 10px;color:inherit;font-size:inherit;line-height:inherit;}
.ap-faq-answer p:last-child{margin-bottom:0;}
.ap-faq-answer a{color:var(--ap-faq-green);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.ap-faq-answer ul,.ap-faq-answer ol{margin:0 0 12px;padding-left:20px;}
.ap-faq-answer li{margin:0 0 6px;}
/* No-JS fallback: show all answers so content is always present/citable. */
.ap-faq:not(.ap-faq-ready) .ap-faq-panel{max-height:none;}
@media (prefers-reduced-motion: reduce){.ap-faq-panel{transition:none;}.ap-faq-icon,.ap-faq-icon svg,.ap-faq-icon-v{transition:none;}}

/* ----------------------------------------------------------------------------
   Single-post override. The theme styles every h1-h6/p/li inside .post-content
   with a 6-class !important chain (single.css), which otherwise forces heading
   sizes + margins onto the FAQ title and question <h3>s (oversize + indent +
   extra spacing). These selectors mirror that chain so the FAQ wins. Scoped to
   .single-post, so the homepage/other pages keep the base rules above.
   --------------------------------------------------------------------------- */
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-title{font-size:clamp(19px,2vw,23px)!important;line-height:1.2!important;font-weight:700!important;margin:0 0 10px!important;padding:0!important;color:var(--ap-faq-ink)!important;}
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-q{font-size:inherit!important;line-height:1.4!important;font-weight:600!important;margin:0!important;padding:0!important;letter-spacing:0!important;}
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-trigger{font-size:clamp(15px,1.3vw,16.5px)!important;line-height:1.4!important;}
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-answer,
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-answer p,
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-answer li{font-size:15px!important;line-height:1.6!important;}
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-answer p{margin:0 0 10px!important;}
.single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-answer p:last-child{margin-bottom:0!important;}
/* Align the FAQ's left/right edges with the article body text. The theme row
   wrapper lands the FAQ one gutter (36px) wider than the nested body column;
   add that gutter back on desktop so the title, questions and dividers line up
   with the paragraphs above. Zeroed on mobile where gutters collapse. */
@media (min-width:768px){
  .single-post .box-wrapper .main-wrapper .main-container .page-wrapper article .post-content .ap-faq-inner{padding-left:36px;padding-right:36px;}
}
