/* ===============================
    Häufig gestellte Fragen
   =============================== */

.faq-page {
    width: min(1000px, calc(100% - 96px));
    margin: 0 auto;
    padding: 52px 0 80px;
}

.faq-intro {
    max-width: 700px;
    margin-bottom: 42px;
}

.faq-eyebrow {
    margin: 0 0 8px;
    color: var(--primary-color);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.faq-intro h1 {
    margin: 0 0 16px;
    color: var(--primary-color);
    font-size: 38px;
}

.faq-intro p,
.faq-item p {
    font-size: 18px;
    line-height: 1.65;
}

.faq-list {
    display: grid;
    gap: 14px;
}

.faq-item {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-medium);
    background: white;
    box-shadow: var(--shadow-small);
}

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 26px;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--primary-color);
    font-size: 28px;
    font-weight: 400;
    transition: transform .25s ease;
}

.faq-item[open] {
    border-color: rgba(7, 97, 42, .38);
}

.faq-item[open] summary::after {
    transform: rotate(45deg);
}

.faq-item p {
    margin: 0;
    padding: 0 26px 24px;
    animation: faq-answer-in .25s ease both;
}

@keyframes faq-answer-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
    .faq-page {
        width: calc(100% - 32px);
        padding: 28px 0 48px;
    }

    .faq-intro { margin-bottom: 28px; }
    .faq-intro h1 { font-size: 30px; }
    .faq-intro p,
    .faq-item p { font-size: 16px; line-height: 1.55; }
    .faq-item summary { padding: 18px 18px; font-size: 16px; }
    .faq-item p { padding: 0 18px 20px; }
}
