/* FAQ component (native <details>, works without JavaScript and is fully crawlable) */
.faq-section {
    padding: 60px 20px;
    background-color: #f8fafc;
    border-top: 1px solid #e2e8f0;
}
.faq-container { max-width: 860px; margin: 0 auto; }
.faq-section h2 {
    font-size: 2.2rem;
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
    text-align: center;
    margin: 0 0 12px !important;
}
.faq-sub { text-align: center; color: #64748b; margin: 0 0 28px; font-size: 1rem; }
.faq-list { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
.faq-sub + .faq-list { margin-top: 0; }
.faq-item {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(15, 23, 42, 0.02);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.faq-item[open] { border-color: #2563eb; box-shadow: 0 10px 25px rgba(37, 99, 235, 0.06); }
.faq-item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 20px 24px;
    list-style: none;
    cursor: pointer;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.4;
    color: #0f172a;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
    content: "+";
    flex: none;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    color: #2563eb;
    transition: transform 0.25s;
}
.faq-item[open] summary::after { transform: rotate(45deg); color: #64748b; }
.faq-item summary:hover { background-color: rgba(37, 99, 235, 0.02); }
.faq-item summary:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; }
.faq-answer { padding: 0 24px 22px; color: #475569; font-size: 0.97rem; line-height: 1.65; }
.faq-answer p { margin: 0; }
.faq-answer a { color: #2563eb; font-weight: 600; }
@media (max-width: 600px) {
    .faq-section { padding: 44px 16px; }
    .faq-section h2 { font-size: 1.6rem; }
    .faq-item summary { padding: 16px 18px; font-size: 1rem; }
    .faq-answer { padding: 0 18px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .faq-item, .faq-item summary::after { transition: none; }
}

/* FAQ inside an article, and "related guides" line under service-page FAQs */
.faq-section.faq-in-article { padding: 8px 0 0; background: none; border: 0; margin-top: 36px; }
.faq-in-article .faq-container { max-width: none; }
.faq-in-article h2 { font-size: 1.75rem; text-align: left; margin: 0 0 18px !important; }
.faq-in-article .faq-list { margin-top: 0; gap: 12px; }
.faq-more { margin: 28px 0 0; text-align: center; color: #475569; font-size: 0.97rem; line-height: 1.8; }
.faq-more a { color: #2563eb; font-weight: 600; }
