/* MyPlatz FAQ Accordion — orients to the site's Elementor Global Colors/Typography (via .myplatz-widget), falls back gracefully */
.myplatz-faq {
    --faq-accent: var(--color-primary, var(--myplatz-primary, #10B1B6));
    --faq-columns: 1;
    --faq-category-gap: 1.25rem;
    --faq-item-gap: .5rem;
    display: grid;
    grid-template-columns: repeat(var(--faq-columns), minmax(0, 1fr));
    column-gap: 2.5rem;
    row-gap: var(--faq-item-gap);
    align-items: start;
}

/* Category wrapper is removed from the box tree — its title and items become
   direct grid cells, so items line up row-by-row across columns. */
.myplatz-faq__category {
    display: contents;
}

.myplatz-faq__category-title {
    grid-column: 1 / -1;
    margin: var(--faq-category-gap) 0 .75rem;
    font-size: 1.05em;
    font-weight: 700;
    color: var(--color-headline, var(--myplatz-text, #151515));
}
.myplatz-faq__category:first-child .myplatz-faq__category-title { margin-top: 0; }

.myplatz-faq__item {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: var(--myplatz-radius, 8px);
    overflow: hidden;
}

.myplatz-faq__question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .95rem 1.1rem;
    background: none;
    border: none;
    text-align: left;
    font: inherit;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    gap: .75rem;
    color: var(--color-headline, var(--myplatz-text, #151515));
    transition: background .15s;
}
.myplatz-faq__question:hover { background: rgba(0,0,0,.02); }
.myplatz-faq__question[aria-expanded="true"] { color: var(--faq-accent); }

.myplatz-faq__chevron {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s ease;
    margin-top: -.3rem;
}
.myplatz-faq__question[aria-expanded="true"] .myplatz-faq__chevron {
    transform: rotate(-135deg);
    margin-top: .2rem;
}

.myplatz-faq__answer {
    padding: 0 1.1rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height .28s ease, padding .28s ease;
}
.myplatz-faq__answer:not([hidden]) {
    padding: 0 1.1rem .95rem;
    max-height: 1000px;
}
.myplatz-faq__answer[hidden] { display: block !important; } /* override hidden, use max-height instead */

.myplatz-faq__answer-body {
    font-size: .95em;
    line-height: inherit;
    color: var(--color-body, var(--myplatz-text, #444));
}
.myplatz-faq__answer-body p  { margin: 0 0 .65em; }
.myplatz-faq__answer-body ul { padding-left: 1.2rem; }
.myplatz-faq__answer-body a  { color: var(--faq-accent); }

.myplatz-faq--empty { color: var(--color-body, var(--myplatz-text, #888)); font-size: .95em; }
