/* Read Travel FAQ Accordion — frontend */
.rtfb-faq-accordion {
    --rtfb-bg: #f1f1f1;
    --rtfb-hover: #ececec;
    --rtfb-text: #15243a;
    --rtfb-answer: #2f4056;
    --rtfb-icon: #5d646b;
    --rtfb-focus: #c99a2e;
    --rtfb-gap: 10px;

    width: 100%;
    margin: 48px 0;
}

.rtfb-faq-title {
    margin: 0 0 28px;
    color: #222;
    font: inherit;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}

.rtfb-faq-list {
    display: grid;
    gap: var(--rtfb-gap);
}

.rtfb-faq-item {
    margin: 0;
    padding: 0;
    background: var(--rtfb-bg);
    border: 0;
    border-radius: 0;
    overflow: hidden;
}

.rtfb-faq-question {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 66px;
    margin: 0;
    padding: 19px 56px 19px 20px;
    color: var(--rtfb-text);
    font: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
    transition: background-color .2s ease;
}

.rtfb-faq-question:hover {
    background: var(--rtfb-hover);
}

.rtfb-faq-question:focus-visible {
    outline: 2px solid var(--rtfb-focus);
    outline-offset: -2px;
}

.rtfb-faq-question::-webkit-details-marker {
    display: none;
}

.rtfb-faq-question::marker {
    content: "";
}

.rtfb-faq-question::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    color: var(--rtfb-icon);
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-50%);
}

.rtfb-faq-item[open] > .rtfb-faq-question::after {
    content: "−";
}

.rtfb-faq-answer {
    padding: 0 55px 20px 20px;
    color: var(--rtfb-answer);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.65;
}

.rtfb-faq-answer > :first-child {
    margin-top: 0;
}

.rtfb-faq-answer > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .rtfb-faq-accordion {
        --rtfb-gap: 8px;
        margin: 35px 0;
    }

    .rtfb-faq-title {
        margin-bottom: 22px;
        font-size: 21px;
    }

    .rtfb-faq-question {
        min-height: 60px;
        padding: 16px 48px 16px 16px;
        font-size: 14px;
    }

    .rtfb-faq-question::after {
        right: 16px;
        font-size: 24px;
    }

    .rtfb-faq-answer {
        padding: 0 40px 17px 16px;
    }
}

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