/**
 * Gedeelde FAQ-accordion-styling.
 *
 * Gebruikt door DRIE blocks: faq-alle, faq-categorie, infohub-overzicht.
 * Stond eerst drie keer (bijna) letterlijk gekopieerd — nu op één plek,
 * zodat een stijlwijziging niet meer op drie plekken hoeft.
 *
 * Class-namen zijn bewust generiek (carmel-faq-accordion__*), niet
 * gebonden aan één specifiek block.
 */
.carmel-faq-accordion__category {
    margin-bottom: 2.5rem;
}

.carmel-faq-accordion__category-title {
    margin: 0 0 1rem;
}

.carmel-faq-accordion__list {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.carmel-faq-accordion__item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.carmel-faq-accordion__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
}
.carmel-faq-accordion__question:hover,
.carmel-faq-accordion__question:active,
.carmel-faq-accordion__question:focus{
    background-color:transparent;
    color:#000;
    box-shadow:none;
}

.carmel-faq-accordion__question-text {
    margin: 0;
}

.carmel-faq-accordion__toggle-icon {
    position: relative;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.carmel-faq-accordion__toggle-icon::before,
.carmel-faq-accordion__toggle-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.carmel-faq-accordion__toggle-icon::before {
    width: 100%;
    height: 2px;
}

.carmel-faq-accordion__toggle-icon::after {
    width: 2px;
    height: 100%;
    transition: transform 0.25s ease;
}

.carmel-faq-accordion__item.is-open .carmel-faq-accordion__toggle-icon::after {
    transform: translate(-50%, -50%) scaleY(0);
}

.carmel-faq-accordion__answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
}

.carmel-faq-accordion__item.is-open .carmel-faq-accordion__answer {
    grid-template-rows: 1fr;
    padding-bottom:24px;
    padding-top:24px;
}

.carmel-faq-accordion__answer-inner {
    overflow: hidden;
}

.carmel-faq-accordion__answer-inner > :first-child {
    margin-top: 0;
}

.carmel-faq-accordion__answer-inner > :last-child {
    margin-bottom: 1rem;
}
