.section-accordion .section-header {
    text-align: center;
    margin-bottom: var(--item-gap);
}

.ac-list {
    max-width: 900px;
    margin-inline: auto;
}

.ac-item+.ac-item {
    margin-top: calc(var(--item-gap) *.75);
}

.ac-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--item-gap);
    width: 100%;
    padding: calc(var(--item-gap)*.5) calc(var(--item-gap) * .5);
    border-radius: var(--radius-sm);
    border: none;
    cursor: pointer;
    color: inherit;
    text-align: left;
    transition: background-color var(--trans-fast);

    .ac-icon {
        border-radius: 50%;
        background-color: var(--medium);
        padding: 5px;

        i {
            flex-shrink: 0;
            font-size: var(--text-sm);
            transition: transform var(--trans-normal);
            color: var(--white);
        }
    }

    &:hover {
        background-color: var(--medium) !important;
        color: var(--white);

        .ac-icon {
            background-color: var(--white);

            i {
                color: var(--medium);
            }
        }
    }

    &:focus-visible {
        outline: var(--focus-ring);
        outline-offset: -2px;
    }

    &[aria-expanded="true"] .ac-icon i {
        transform: rotate(180deg);
    }
}

.bg-light .ac-trigger {
    background-color: var(--white) !important;

    .ac-icon {
        background-color: var(--white);

        i {
            color: var(--medium);
        }
    }

    &:hover {
        background-color: var(--medium) !important;
        color: var(--white);

        .ac-icon {
            background-color: var(--white);

            i {
                color: var(--dark);
            }
        }
    }
}

.ac-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--trans-normal);

    .ac-panel-content {
        overflow: hidden;
        padding: calc(var(--item-gap)*.5) calc(var(--item-gap) * .5) 0 calc(var(--item-gap) * .5);

        p {
            font-size: var(--text-sm);
        }

        p:last-child {
            margin-bottom: 0;
        }
    }

    &[aria-hidden="false"] {
        grid-template-rows: 1fr;
    }
}