/* ==========================================================
   Marsh Farm — FAQ Accordion
   Styles the reusable "FAQ Accordion" pattern (built from core
   Details blocks wrapped in a Group with class "mf-faq-accordion").
   Safe to load site-wide — everything is scoped under .mf-faq-accordion
   ========================================================== */

.mf-faq-accordion {
    margin: 0 0 32px;
}

.mf-faq-accordion .wp-block-details {
    background: #ffffff;
    border: 1px solid #e6e1d3;
    border-radius: 10px;
    margin: 0 0 14px;
    padding: 0;
    box-shadow: 0 2px 8px rgba(20, 40, 60, 0.06);
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.mf-faq-accordion .wp-block-details:last-child {
    margin-bottom: 0;
}

.mf-faq-accordion .wp-block-details:hover {
    box-shadow: 0 4px 14px rgba(20, 40, 60, 0.1);
}

.mf-faq-accordion .wp-block-details summary {
    font-family: FinkHeavy, display;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    color: #2e79a0;
    list-style: none;
    cursor: pointer;
    padding: 20px 56px 20px 24px;
    position: relative;
    -webkit-tap-highlight-color: transparent;
}

.mf-faq-accordion .wp-block-details summary::-webkit-details-marker {
    display: none;
}

.mf-faq-accordion .wp-block-details summary::marker {
    content: "";
}

.mf-faq-accordion .wp-block-details summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
    font-family: Lato, sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    background: #2e79a0;
    width: 30px;
    height: 30px;
    min-width: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background 0.2s ease;
}

.mf-faq-accordion .wp-block-details:hover summary::after {
    background: #1f5a78;
}

.mf-faq-accordion .wp-block-details[open] summary::after {
    content: "\2212";
}

.mf-faq-accordion .wp-block-details summary:focus-visible {
    outline: 2px solid #2e79a0;
    outline-offset: -2px;
    border-radius: 10px;
}

.mf-faq-accordion .wp-block-details > :not(summary) {
    padding: 0 24px 22px;
    margin: 0;
}

.mf-faq-accordion .wp-block-details p {
    font-family: Lato, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
    margin: 0 0 0.8em;
}

.mf-faq-accordion .wp-block-details p:last-child {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .mf-faq-accordion .wp-block-details summary {
        font-size: 18px;
        padding: 16px 50px 16px 18px;
    }

    .mf-faq-accordion .wp-block-details > :not(summary) {
        padding: 0 18px 18px;
    }
}
