/**
 * Smart ACF FAQ — استایل آکاردئون فرانت‌اند
 * مقادیر رنگ/فونت/اندازه به‌صورت CSS Custom Properties (--saf-*) از طریق
 * wp_add_inline_style تزریق می‌شوند (نگاه کنید به includes/shortcode.php).
 * روشن/خاموش بودن افکت‌های اختیاری (هاور، سایه، پس‌زمینه آیکون، جداکننده)
 * با کلاس‌های modifier کنترل می‌شود؛ نه با شرط PHP داخل CSS.
 */

.saf-accordion {
    direction: rtl;
    margin: 30px 0;
}
.saf-accordion * {
    box-sizing: border-box;
}

.saf-accordion .saf-item {
    background: var(--saf-bg);
    border: var(--saf-bw) solid var(--saf-border);
    border-radius: var(--saf-radius);
    margin-bottom: var(--saf-spacing);
    overflow: hidden;
    transition:
        border-color var(--saf-speed) var(--saf-easing),
        box-shadow var(--saf-speed) var(--saf-easing),
        background var(--saf-speed) var(--saf-easing);
}
.saf-accordion:not(.saf-no-hover) .saf-item:hover {
    background: var(--saf-hover-bg);
}
.saf-accordion .saf-item.saf-open {
    border-color: var(--saf-active-border);
}
.saf-accordion:not(.saf-no-shadow) .saf-item.saf-open {
    box-shadow: 0 4px 20px rgba(0, 74, 66, .1);
}

.saf-accordion .saf-q {
    display: flex;
    align-items: center;
    padding: 18px 10px 18px;
    cursor: pointer;
    user-select: none;
    gap: 0;
    -webkit-tap-highlight-color: transparent;
}
/* استایل‌های مخصوص موبایل (صفحات کوچکتر از 767 پیکسل) */
@media (max-width: 767px) {
    .saf-accordion .saf-q {
        padding: 15px 5px 15px 5px !important;
    }
}
.saf-accordion .saf-q-text {
    flex: 1;
    margin: 0;
    font-size: var(--saf-q-size);
    font-weight: var(--saf-q-weight);
    line-height: var(--saf-q-lh);
    font-family: var(--saf-q-family);
    letter-spacing: var(--saf-q-spacing);
    text-align: var(--saf-q-align);
    color: var(--saf-primary);
}
.saf-accordion .saf-icon {
    flex: 0 0 var(--saf-icon-size);
    width: var(--saf-icon-size);
    height: var(--saf-icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background var(--saf-speed) var(--saf-easing);
}
.saf-accordion:not(.saf-no-icon-bg) .saf-icon {
    background: var(--saf-icon-bg);
}
.saf-accordion .saf-icon svg {
    width: calc(var(--saf-icon-size) * 0.42);
    height: calc(var(--saf-icon-size) * 0.42);
    stroke: var(--saf-icon);
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    transition:
        transform var(--saf-speed) var(--saf-easing),
        stroke var(--saf-speed) var(--saf-easing);
}
.saf-accordion:not(.saf-no-icon-bg) .saf-open .saf-icon {
    background: var(--saf-icon-active-bg);
}
.saf-accordion .saf-open .saf-icon svg {
    stroke: var(--saf-icon-active);
    transform: rotate(45deg);
}

/* ✅ کلید حل لرزش: height با transition */
.saf-accordion .saf-a-wrap {
    height: 0;
    overflow: hidden;
    transition: height var(--saf-speed) var(--saf-easing);
}
.saf-accordion .saf-a-inner {
    padding: 0 var(--saf-px) var(--saf-py);
}
.saf-accordion:not(.saf-no-separator) .saf-a-inner {
    border-top: 1px solid var(--saf-separator);
    padding-top: var(--saf-py);
}
.saf-accordion .saf-a-inner,
.saf-accordion .saf-a-inner p {
    font-size: var(--saf-a-size);
    font-weight: var(--saf-a-weight);
    line-height: var(--saf-a-lh);
    font-family: var(--saf-a-family);
    letter-spacing: var(--saf-a-spacing);
    text-align: var(--saf-a-align);
    color: var(--saf-answer-clr);
    margin: 0;
}
.saf-accordion .saf-a-inner p + p {
    margin-top: 10px;
}
