.faq {
    max-width: 800px;
    margin: 0 auto 230px;
    text-align: center;
}

.faq-header {
    margin-bottom: 32px;
}

.faq-description {
    max-width: 700px;
    margin: 0 auto 50px auto;
}

.faq-list {
    margin-top: 32px;
    text-align: left;
}

.faq-item+.faq-item {
    margin-top: 12px;
}

.faq-item {
    background: #F7F7F7;
    border-radius: 8px;
    overflow: hidden;
    /* ключ: щоб нічого не вилазило */
}

.faq-question {
    background: #3B2F2F;
    width: 100%;
    padding: 24px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;

    font-family: 'Inter';
    font-size: 17px;
    color: #fafafa;
    cursor: pointer;
    text-align: left;

    border-radius: 0;
    /* керуємо радіусом на faq-item */
    transition: box-shadow 0.2s ease, transform 0.1s ease;
}

/* іконка — додай transition, щоб не “клацала” */
.faq-icon {
    font-size: 22px;
    font-weight: 300;
    color: #fafafa;
    margin-left: 16px;
    flex-shrink: 0;
    transition: transform 220ms ease;
}

.faq-answer {
    background: #fafafa;
    line-height: 150%;

    border: 1px solid #EAEAEA;
    /* тільки зверху — виглядає чистіше */
    overflow: hidden;
    height: 0;
    transition: height 220ms ease;
    will-change: height;

    margin-top: 0;
    /* прибрали -14px */
    border-radius: 0;
    /* керуємо радіусом на faq-item */
}

.faq-answer-inner {
    padding: 24px 20px;
    /* перенеси сюди свої поточні падінги */
}

.faq-answer p {
    padding: 20px;
    margin-bottom: 0;
}

.faq-item.open .faq-icon {
    transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
    .faq-answer {
        transition: none;
    }
}

@media screen and (max-width: 877px) {
    .faq {
        margin-bottom: 130px;
    }

    .faq-title {
        font-size: 28px;
    }
}