/* rw_faq — front-office accordion (no framework dependency) */

.rw-faq {
    margin: 32px 0;
    font-family: inherit;
}

.rw-faq__title {
    font-size: 1.5rem;
    margin: 0 0 16px 0;
    line-height: 1.25;
}

.rw-faq__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e5e7eb;
}

.rw-faq__item {
    border-bottom: 1px solid #e5e7eb;
    position: relative;
}
.rw-faq__item::before {
    position: absolute;
    top:17px;
    left:0;
}

.rw-faq__question {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 16px 18px;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: background-color .15s ease;
}

.rw-faq__question:hover,
.rw-faq__question:focus { background-color: #f7f9fc; outline: 0; }
.rw-faq__question:focus-visible { box-shadow: inset 0 0 0 2px #2563eb; }

.rw-faq__q-text { flex: 1; }

.rw-faq__chevron {
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .25s ease;
    flex: 0 0 auto;
    margin-top: -4px;
}

.rw-faq__question[aria-expanded="true"] .rw-faq__chevron {
    transform: rotate(-135deg);
    margin-top: 4px;
}

.rw-faq__panel {
    overflow: hidden;
    max-height: 0;
    transition: max-height .3s ease;
}

.rw-faq__panel:not([hidden]) {
    /* JS sets max-height inline; this rule prevents flicker before JS loads */
}

.rw-faq__answer {
    padding: 0 18px 18px 18px;
    line-height: 1.6;
}

.rw-faq__answer p:first-child { margin-top: 0; }
.rw-faq__answer p:last-child  { margin-bottom: 0; }

/* No-JS fallback: show every panel as static blocks */
.no-js .rw-faq__panel,
html.no-js .rw-faq__panel { max-height: none !important; }
html.no-js .rw-faq__panel[hidden] { display: block !important; }
