/* =============================================================
   FAQ.CSS — Heart Workx veelgestelde vragen pagina
   Mobile-first
   ============================================================= */

/* ── Hero ───────────────────────────────────────────────────── */
.faq-hero {
    padding: 5rem 1.5rem 3rem;
    background: var(--zacht, var(--zacht));
    text-align: left;
}

.faq-hero h1 {
    margin: 0.5rem 0 1rem;
    max-width: 560px;
}

.faq-hero-intro {
    max-width: 560px;
    color: var(--tekstkleur-zacht, #555);
    line-height: 1.75;
    margin: 0;
}

/* ── Sectie ─────────────────────────────────────────────────── */
.faq-sectie {
    padding: 3rem 1.5rem;
}

.faq-inhoud {
    max-width: 720px;
    margin: 0 auto;
}

/* ── Categorie ──────────────────────────────────────────────── */
.faq-categorie {
    margin-bottom: 2.5rem;
}

.faq-categorie-titel {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--hoofdkleur, var(--donker));
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--accentkleur, var(--accentkleur));
}

/* ── Accordion item ─────────────────────────────────────────── */
.faq-item {
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-vraag {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 0;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    color: var(--donker, #1a1a2e);
    list-style: none;
    line-height: 1.4;
    user-select: none;
}

/* Verberg standaard pijltje in Safari/Chrome */
.faq-vraag::-webkit-details-marker { display: none; }
.faq-vraag::marker { display: none; }

.faq-vraag:hover {
    color: var(--hoofdkleur, var(--donker));
}

.faq-icoon {
    flex-shrink: 0;
    font-size: 1.4rem;
    font-weight: 300;
    color: var(--hoofdkleur, var(--donker));
    line-height: 1;
    transition: transform 0.2s ease;
    margin-top: 0.1rem;
}

.faq-item[open] .faq-icoon {
    transform: rotate(45deg);
}

.faq-antwoord {
    padding: 0 0 1.25rem;
    color: var(--tekstkleur-zacht, #555);
    line-height: 1.75;
    max-width: 640px;
}

.faq-antwoord p {
    margin: 0;
}

/* ── Kassa ──────────────────────────────────────────────────── */
.faq-kassa {
    background: var(--cta-kleur, var(--hoofdkleur));
    padding: 3.5rem 1.5rem;
}

.faq-kassa-inner {
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
}

.faq-kassa h2 {
    color: #fff;
    margin-bottom: 0.75rem;
}

.faq-kassa p {
    color: rgba(255,255,255,0.85);
    margin-bottom: 1.75rem;
}

.faq-kassa .knop-primair {
    background: #fff;
    color: var(--cta-kleur, var(--hoofdkleur));
    display: inline-block;
    padding: 0.85rem 2rem;
    border-radius: 6px;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: opacity 0.2s;
}

.faq-kassa .knop-primair:hover {
    opacity: 0.9;
    text-decoration: none;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (min-width: 600px) {
    .faq-hero {
        padding: 6rem 2rem 4rem;
    }

    .faq-sectie {
        padding: 4rem 2rem;
    }

    .faq-kassa {
        padding: 5rem 2rem;
    }
}

@media (min-width: 900px) {
    .faq-hero {
        padding: 7rem 0 5rem;
    }

    .faq-sectie {
        padding: 5rem 0;
    }
}
