.accordion-ld {
    margin: 2rem 0;
}

.accordion-ld .faq-item {
    margin-bottom: 1rem;
    border-bottom: 1px solid #e0e0e0;
}

.accordion-ld .faq-item:last-child {
    border-bottom: none;
}

.accordion-ld .faq-question {
    cursor: pointer;
    padding: 1.25rem 2.5rem 1.25rem 1rem;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    position: relative;
    transition: background-color 0.2s ease;
    user-select: none;
}

.accordion-ld .faq-question:hover {
    background-color: #f5f5f5;
}

.accordion-ld .faq-question:focus {
    outline: 2px solid #ff8200;
    outline-offset: -2px;
}

.accordion-ld .faq-question::after {
    content: "+";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    font-weight: 400;
    color: #ff8200;
    transition: transform 0.3s ease;
    pointer-events: none;
}

.accordion-ld .faq-question.toggled::after {
    content: "−";
    transform: translateY(-50%) rotate(180deg);
}

.accordion-ld .faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 1rem;
    transition:
        max-height 0.4s ease-out,
        padding 0.4s ease-out;
}

.accordion-ld .faq-answer.active {
    max-height: 2000px;
    padding: 1rem;
    padding-top: 0;
    transition:
        max-height 0.4s ease-in,
        padding 0.4s ease-in;
}

.accordion-ld .faq-answer p {
    margin-bottom: 1rem;
}

.accordion-ld .faq-answer p:last-child {
    margin-bottom: 0;
}
