/* Scharf Page Q&A accordion (service / hub / county pages).
   Sits inside the page's .cps or .scharf wrapper, so .sec / .sec-label /
   .bar-c / h2 typography come from the page stylesheet; this file only styles
   the accordion itself. */
.scharf-page-faq .container-sm { text-align: left; }
.scharf-page-faq .sec-label,
.scharf-page-faq h2,
.scharf-page-faq .bar-c { text-align: center; }
.scharf-page-faq h2 { margin-left: auto; margin-right: auto; }
.scharf-page-faq .bar-c { margin-left: auto; margin-right: auto; }
.scharf-faq-list { margin: 40px 0 0; display: grid; gap: 12px; }
.scharf-faq-item {
    background: #fff;
    border: 1px solid rgba(20,33,61,0.10);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(20,33,61,0.05);
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.scharf-faq-item[open] { border-color: rgba(139,107,82,0.45); box-shadow: 0 14px 34px rgba(20,33,61,0.09); }
.scharf-faq-item summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px;
}
.scharf-faq-item summary::-webkit-details-marker { display: none; }
.scharf-faq-item summary h3 {
    margin: 0;
    font-family: var(--font-serif, 'Playfair Display', Georgia, serif);
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--navy, #14213D);
    text-align: left;
}
.scharf-faq-icon {
    position: relative;
    flex: 0 0 auto;
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 1px solid rgba(139,107,82,0.5);
    transition: transform 0.25s ease, background 0.25s ease;
}
.scharf-faq-icon::before,
.scharf-faq-icon::after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    background: var(--gold, #8B6B52);
    transform: translate(-50%, -50%);
}
.scharf-faq-icon::before { width: 12px; height: 2px; }
.scharf-faq-icon::after  { width: 2px; height: 12px; transition: opacity 0.2s ease; }
.scharf-faq-item[open] .scharf-faq-icon { background: var(--gold, #8B6B52); border-color: var(--gold, #8B6B52); }
.scharf-faq-item[open] .scharf-faq-icon::before,
.scharf-faq-item[open] .scharf-faq-icon::after { background: #fff; }
.scharf-faq-item[open] .scharf-faq-icon::after { opacity: 0; }
.scharf-faq-item summary:hover h3 { color: var(--gold, #8B6B52); }
.scharf-faq-item summary:focus-visible { outline: 2px solid var(--gold-light, #A4836A); outline-offset: 2px; border-radius: 14px; }
.scharf-faq-answer { padding: 0 24px 22px; }
.scharf-faq-answer p {
    margin: 0;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 1rem;
    line-height: 1.75;
    color: var(--text, #2D3748);
    text-align: left;
}
.scharf-faq-answer a { color: var(--gold, #8B6B52); text-decoration: underline; }
.scharf-faq-note {
    margin: 28px auto 0;
    max-width: 640px;
    text-align: center;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--slate, #4A5568);
}
.scharf-faq-note a { color: var(--gold, #8B6B52); text-decoration: underline; }
@media (max-width: 640px) {
    .scharf-faq-item summary { padding: 16px 18px; }
    .scharf-faq-item summary h3 { font-size: 1.05rem; }
    .scharf-faq-answer { padding: 0 18px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .scharf-faq-item, .scharf-faq-icon, .scharf-faq-icon::after { transition: none; }
}
