/* Единый стиль для всех типов аккордеонов */
.accordion-item,
.faq-item,
.program-card,
.referral-card {
    background-color: #272729;
    border-radius: 22px !important;
    overflow: hidden;
    margin-bottom: 0;
}

.accordion-header,
.faq-question,
.program-card-header,
.referral-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.accordion-title {
    flex: 1;
    padding-right: 15px;
}

.accordion-title h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 500;
}

.accordion-title p {
    margin: 0;
    font-size: 14px;
    color: #ffffff;
}

.accordion-title span {
    font-size: 16px;
    font-weight: 500;
}

.accordion-toggle i,
.faq-question i,
.program-card .card-toggle i,
.referral-card .card-toggle i {
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    font-size: 16px;
    display: inline-block;
}

.accordion-item.active > .accordion-header > .accordion-toggle i,
.faq-item.active > .faq-question i,
.program-card.active > .program-card-header .card-toggle i,
.referral-card.active > .referral-header .card-toggle i {
    transform: rotate(180deg);
}

.accordion-body,
.faq-answer,
.program-card-body,
.referral-body {
    height: 0;
    overflow: hidden;
    transition: height 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    padding: 0 15px;
}

.accordion-body-inner,
.faq-answer-inner,
.program-card-body-inner,
.referral-body-inner {
    padding-bottom: 10px;
}

/* Исправляем вложенность разметки */
.accordion-body p,
.faq-answer p {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.5;
}

/* Убираем дублирование стилей */
.referral-programs,
.accordion-list,
.faq-items,
.program-cards {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 15px;
} 