/* =============================================================================
   FAQ Block — Shared
   ============================================================================= */

.faq-block {
    max-width: 860px;
    margin: 0 auto;
    padding: 3rem 1.5rem;

    & .faq-block__heading {
        text-align: center;
        font-size: clamp( 1.4rem, 3vw, 1.8rem );
        margin: 0 0 0.5rem;
    }

    & .faq-block__divider {
        display: block;
        width: 40px;
        height: 2px;
        margin: 0 auto 2rem;
    }
}


/* =============================================================================
   FAQ Item — Shared
   ============================================================================= */

.faq-item {

    & .faq-item__trigger {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        background: transparent;
        border: none;
        padding: 1.1rem 0;
        cursor: pointer;
        text-align: left;

        &[aria-expanded="true"] {

            & .faq-item__icon {
                transform: rotate( 90deg );
            }
        }
    }

    & .faq-item__question {
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.4;
        flex: 1;
    }

    & .faq-item__icon {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
        transition: transform 0.3s ease;
    }

    & .faq-item__body {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s ease;

        &.is-open {
            grid-template-rows: 1fr;

            & .faq-item__answer {
                padding-bottom: 1.25rem;
            }
        }
    }

    & .faq-item__answer {
        overflow: hidden;
        padding-bottom: 0;
        transition: padding 0.3s ease;

        & p {
            font-size: 0.95rem;
            line-height: 1.7;
            margin: 0 0 0.75rem;

            &:last-child {
                margin-bottom: 0;
            }
        }
    }
}


.faq-item__answer li a {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    text-decoration:underline;
}
.faq-item__answer li a:hover {
    color: #ffffff;
    font-size: 0.95rem;
}


/* =============================================================================
   Boxed Style
   ============================================================================= */

.faq-block--boxed {
    background: var( --olive );
    border-radius: 100px 0 0 0;
    padding: 3rem 3.5rem;
    max-width: 100%;

    & .faq-block__heading {
        color: var( --white );
    }

    & .faq-block__divider {
        background: var( --fresh-lime );
        height: 2px;
    }

    & .faq-block__list {
        border-top: 1px solid var( --fresh-lime );
    }

    & .faq-item {
        border-bottom: 1px solid var( --fresh-lime );

        & .faq-item__trigger {
            color: var( --white );

            &:hover .faq-item__question {
                color: var( --fresh-lime );
            }
        }

        & .faq-item__question {
            color: var( --white );
            transition: color 0.2s;
        }

        & .faq-item__icon {
            color: var( --white );
        }

        & .faq-item__answer p {
            color: rgba( 255, 255, 255, 0.85 );
        }
    }
}


/* =============================================================================
   Normal Style — matches provider accordions
   ============================================================================= */

.faq-block--normal {

    & .faq-block__heading {
        color: var( --charcoal );
    }

    & .faq-block__divider {
        background: var( --moss );
    }

    & .faq-block__list {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    & .faq-item {
        border: 1px solid var( --olive );
        border-radius: 4px;
        overflow: hidden;

        & .faq-item__trigger {
            padding: 1rem 1.5rem;
            background: var( --olive );
            color: var( --white );
            transition: background 0.2s;

            &:hover {
                background: var( --moss );
            }

            &[aria-expanded="true"] {
                background: var( --moss );
            }
        }

        & .faq-item__question {
            color: var( --white );
        }

        & .faq-item__icon {
            color: var( --white );
        }

        & .faq-item__body {
            &.is-open {
                & .faq-item__answer {
                    padding: 1.25rem 1.5rem;
                }
            }
        }

        & .faq-item__answer {
            padding: 0 1.5rem;

            & p {
                color: var( --charcoal );
            }
        }
    }
}


/* =============================================================================
   Responsive
   ============================================================================= */

@media ( max-width: 768px ) {

    .faq-block--boxed {
        border-radius: 60px 0 0 0;
        padding: 2rem 1.5rem;
    }
}