body {
    background-color: var(--white);
}

header {
    height: 3rem;
    padding: 2.5rem 5rem;
}

/* ── Page wrapper ── */
.faq-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0 6rem 0;
    width: var(--width-narrow);
    margin: auto;
    gap: 2rem;
}

@media (max-width: 900px) {
    .faq-page {
        width: 92%;
    }

    ;
}

.faq-page button:hover {
    box-shadow: none;
    background-color: none;
    color: none;
    transition: none;
    scale: none;
    rotate: none;
}

/* ── Sections wrapper ── */
.faq-sections {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.faq-section-block {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Section label */
.faq-section-label {
    margin-bottom: .5rem;
}

/* ── Accordion item ── */
.faq-item {
    background: var(--gris--05);
    border-radius: 2rem;
    overflow: hidden;
    border: 1px solid var(--gris--10);
}

.faq-item.is-open {
    background: #fff;
    border-color: var(--gris--20);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.08);
}

/* Question button */
.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem;
    background: transparent;
    border: none;
    border-radius: 0;
    cursor: pointer;
    text-align: left;
    color: var(--black);
    text-transform: none;
    height: auto;
    gap: 1rem;
}

@media (max-width: 900px) {
    .faq-question {
        padding: 2rem 1.5rem !important;
    }
}

.faq-question:hover {
    background: transparent;
}

.faq-question h3 {
    font-size: 1.25rem;
}

@media (max-width: 900px) {
    .faq-question h3 {
        font-size: 1.5rem;
    }
}

/* Icon circle */
.faq-icon {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid var(--gris--10);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--gris--60);
    transition: all .25s ease;
    line-height: 1;
}

.faq-item.is-open .faq-icon {
    background: var(--black);
    border-color: var(--black);
    color: #fff;
}

.faq-icon svg {
    fill: var(--gris--60);
}

.faq-item.is-open .faq-icon svg {
    rotate: 45deg;
    fill: #fff;
}

/* Answer panel */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

.faq-item.is-open .faq-answer {
    max-height: 300px;
}

.faq-answer p {
    padding: 0 1.5rem 1.5rem;
    color: var(--gris--60);
}