.commune-faq { background:#f4f5f9; color:#233f50; padding:3rem 0; scroll-margin-top:260px; }
.commune-faq > .container { max-width:1060px; }
.commune-faq h2 { text-align:center; color:#173c55; margin:0 0 .6rem; font-size:clamp(1.5rem,3vw,2.4rem); }
.commune-faq .commune-faq-intro { text-align:center; color:#596b77; margin:0 0 2rem; }
.commune-faq .commune-faq-groups { display:grid; gap:1rem; }
.commune-faq .commune-faq-group { background:#fff; border:1px solid #dfe4e8; border-radius:14px; overflow:hidden; }
.commune-faq summary { min-height:64px; display:flex; align-items:center; gap:1rem; padding:1.2rem 1.5rem; cursor:pointer; color:#203f53; font-weight:600; list-style:none; }
.commune-faq summary::-webkit-details-marker { display:none; }
.commune-faq summary > span:first-child { flex:1; }
.commune-faq .commune-faq-count { font-size:.85rem; color:#61727c; white-space:nowrap; }
.commune-faq .commune-faq-toggle::before { content:'+'; font-size:1.2rem; }
.commune-faq details[open] .commune-faq-toggle::before { content:'−'; }
.commune-faq summary:focus-visible { outline:3px solid #2868a0; outline-offset:-3px; }
.commune-faq .commune-faq-answers { padding:.2rem 1.5rem 1.1rem; }
.commune-faq article { padding:1rem 0; }
.commune-faq article + article { border-top:1px solid #e8ecef; }
.commune-faq article h3 { margin:0 0 .6rem; font-size:1rem; color:#203f53; }
.commune-faq article p { margin:0; color:#35434d; line-height:1.7; }
.commune-faq a { color:#165b90; text-decoration:underline; }
@media(max-width:600px) { .commune-faq summary { flex-wrap:wrap; gap:.5rem; padding:1rem; } .commune-faq summary > span:first-child { flex-basis:75%; } .commune-faq .commune-faq-count { order:3; flex-basis:100%; } .commune-faq .commune-faq-answers { padding:0 1rem 1rem; } }
