/* ==========================================================================
   Accordion
   California Design System (designsystem.webstandards.ca.gov)
   ========================================================================== */

.accordion {
    width: 100%;
    overflow: hidden;
    background-color: var(--white);
    border: var(--card-border);
    border-radius: var(--radius-2);
}

.accordion-item {
    border-bottom: var(--border-1) solid var(--gray-200);
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--s-2) var(--s-3);
    cursor: pointer;
    background-color: var(--white);
    min-height: 44px;
    gap: var(--s-2);
    border: none;
    width: 100%;
    text-align: left;
    font-family: var(--site-font);
    transition: background-color 0.15s ease;
}

.accordion-header:hover {
    background-color: var(--primary-100);
}

.accordion-header:focus-visible {
    outline: var(--focus-width) solid var(--focus-color);
    outline-offset: -2px;
}

.accordion-item.active .accordion-header {
    background-color: var(--primary-100);
    border-bottom: var(--border-1) solid var(--gray-200);
}

.accordion-header h3 {
    margin: 0;
    color: var(--primary-700);
    font-size: var(--h5-size);
    font-weight: var(--font-weight-7);
    line-height: var(--font-lineheight-3);
}

.accordion-header:hover h3,
.accordion-item.active .accordion-header h3 {
    color: var(--primary-900);
}

.accordion-icon {
    font-size: 1.25rem;
    font-weight: var(--font-weight-7);
    color: var(--primary-700);
    transition: transform 0.2s ease;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.accordion-item.active .accordion-icon {
    color: var(--primary-900);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-out, padding 0.25s ease-out;
    padding: 0 var(--s-3);
    background-color: var(--gray-50);
}

.accordion-content .content-inner {
    padding: var(--s-2) 0;
    line-height: var(--font-lineheight-3);
    color: var(--gray-900);
    font-size: 1rem;
}

.accordion-content .content-inner p {
    margin-bottom: var(--s-1);
    line-height: var(--font-lineheight-3);
}

.accordion-content .content-inner p:last-child {
    margin-bottom: 0;
}

.accordion-content .content-inner a {
    color: var(--primary-700);
    text-decoration: underline;
}

.accordion-content .content-inner a:hover {
    color: var(--primary-900);
}

.accordion-item.active .accordion-icon {
    transform: rotate(45deg);
}
