.faq-section {
    width: 90%;
    max-width: 600px;
    background-color: #fff;
    border-radius: 8px;
    padding: 20px;
    margin: 20px auto;
    clear: both;
}

.faq-title h2 {
    text-align: center;
    font-size: 2.765em;
    font-weight: 400;
    color: #161345;
    margin-bottom: 20px;
}

.faq-items .faq-item {
    padding: 32px 0px 2px 0px;
    margin: 0 20px;
}
.faq-question {
    font-size: 28px;
    color: #294E50;
    line-height: 1.2em;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding-bottom: 20px;
    font-family: 'fonnts_comHalyard_Display', sans-serif;
    font-weight: 500;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, border-color 0.3s ease-out;
    font-size: 16px;
    color: #676686;
    margin-top: 10px;
    border-bottom: 1px solid #e5d9d6; /* Default border color */
}

.faq-question.active {
    color: #294E50;
}

.faq-question.active + .faq-answer {
    border-bottom: 1px solid black;
}

.faq-question::after {
    content: "+";
    font-size: 45px;
    color: #161345;
    margin-left: 10px;
    font-weight: 300;
}

.faq-question.active::after {
    content: "-";
}

.rtl .faq-question {
    justify-content: end;
    direction: ltr;
    text-align: right;
}

.rtl .faq-question::after {
    width: 30px;
}

/* Responsive design adjustments */
@media (max-width: 768px) {
    .faq-section {
        width: 95%; /* Slightly narrower on smaller screens */
        padding: 15px;
    }

    .faq-title h2 {
        font-size: 2em;
    }

    .faq-items .faq-item {
        margin: 0 10px; /* Less side margin on smaller screens */
    }

    .faq-question {
        font-size: 24px;
    }

    .faq-answer {
        font-size: 14px;
    }
}