.bivb-faq__categories {
    display: grid;
    gap: 2.5em;
}

.bivb-faq__category[hidden],
.bivb-faq__empty[hidden] {
    display: none;
}

.bivb-faq__category-title {
    margin: 0;
    color: var(--bivb-color-text);
    font-size: 1.6875em;
    font-weight: var(--bivb-font-weight-semibold);
    line-height: 1.25;
}

.bivb-faq__questions {
    margin-top: 1.25em;
    border-top: 1px solid var(--bivb-color-border-light);
}

.bivb-faq__item {
    padding: 0.5625em 0;
    border-bottom: 1px solid var(--bivb-color-border-light);
}

.bivb-faq__question {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 1.666667em;
    align-items: center;
    gap: 0.833333em;
    padding: 0.833333em;
    border: 0;
    appearance: none;
    background: transparent;
    color: var(--bivb-color-text);
    font: inherit;
    font-size: 1.125em;
    font-weight: var(--bivb-font-weight-semibold);
    line-height: 1.35;
    text-align: left;
    box-shadow: none;
    cursor: pointer;
}

.bivb-faq__question:hover {
    color: var(--bivb-color-primary);
}

.bivb-faq__question:active {
    background: transparent;
    box-shadow: none;
    transform: none;
}

.bivb-faq__question:focus-visible,
.bivb-faq__more:focus-visible {
    outline: var(--bivb-control-focus-width) solid var(--bivb-color-primary);
    outline-offset: var(--bivb-control-focus-offset);
}

.bivb-faq__question-icon {
    display: block;
    width: 1.666667em;
    height: 1.666667em;
}

.bivb-faq__question-icon > img {
    display: block;
    width: 100%;
    height: 100%;
}

.bivb-faq__answer {
    overflow: hidden;
}

.bivb-faq__answer[hidden] {
    display: none;
}

.bivb-faq__answer-inner {
    padding: 0 3.75em 0.9375em 0.9375em;
    color: var(--bivb-color-text-muted);
    font-size: 0.9375em;
    line-height: 1.6;
}

.bivb-faq__answer-inner p {
    margin: 0;
}

.bivb-faq__empty {
    margin: 0;
    padding: 1.5em;
    background: var(--bivb-color-surface-muted);
    color: var(--bivb-color-text-muted);
}

.bivb-faq__more {
    display: none;
    min-height: 3.25em;
    align-items: center;
    justify-content: center;
    gap: 2em;
    padding: 0.75em 1.5em;
    margin: 2em auto 0;
    border: 1px solid var(--bivb-color-text);
    border-radius: var(--bivb-radius-50);
    background: var(--bivb-color-surface);
    color: var(--bivb-color-text);
    font: inherit;
    font-size: 0.8125em;
    font-weight: var(--bivb-font-weight-medium);
    text-transform: uppercase;
    cursor: pointer;
}

/* phone */
@media (max-width: 767px) {
    .bivb-faq__question {
        gap: 0.833333em;
        padding: 0.833333em 0;
    }
}

/* mobile and tablet */
@media (max-width: 1023px) {
    .bivb-faq__categories {
        gap: 1.875em;
    }

    .bivb-faq__category-title {
        padding-bottom: 0.625em;
        border-bottom: 1px solid var(--bivb-color-border-light);
        font-size: 1.4375em;
    }

    .bivb-faq__questions {
        margin-top: 0;
        border-top: 0;
    }

    .bivb-faq__item {
        padding: 0;
    }

    .bivb-faq__answer-inner {
        padding: 0 0 0.9375em;
    }

    .bivb-faq:not(.is-expanded):not(.is-filtered) [data-bivb-faq-overflow] {
        display: none;
    }

    .bivb-faq__more {
        display: flex;
    }

    .bivb-faq.is-expanded .bivb-faq__more,
    .bivb-faq.is-filtered .bivb-faq__more {
        display: none;
    }
}
