/* ==========================================================================
   Collapsible Section Component
   Used for Library, Archive, and FAQ sections
   ========================================================================== */

.dpfp-collapsible-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    padding: 0;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    font-family: var(--font-base, "Noto Sans JP", sans-serif);
    gap: 15px;
}

.dpfp-collapsible-trigger:hover .dpfp-collapsible-icon {
    background: var(--dpfp-blue, #043e80);
    color: #fff;
}

.dpfp-collapsible-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 50%;
    background: #f0f4f8;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dpfp-blue, #043e80);
    transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
    font-size: 0.9rem;
}

.dpfp-collapsible-trigger[aria-expanded="true"] .dpfp-collapsible-icon {
    transform: rotate(180deg);
}

.dpfp-collapsible-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-out;
}

.dpfp-collapsible-content.is-open {
    grid-template-rows: 1fr;
}

.dpfp-collapsible-inner {
    overflow: hidden;
}
