.zz-product-faq {
    --zz-faq-text:#172033;
    --zz-faq-muted:#6b7280;
    --zz-faq-border:#e8ecf2;
    --zz-faq-bg:#ffffff;
    --zz-faq-soft:#f6f8fb;
    --zz-faq-accent:#2563eb;
    direction:rtl;
    margin:42px auto 38px;
    width:100%;
    clear:both;
}
.zz-product-faq *, .zz-product-faq *::before, .zz-product-faq *::after { box-sizing:border-box; }
.zz-product-faq__inner {
    max-width:980px;
    margin:0 auto;
    padding:32px;
    background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
    border:1px solid var(--zz-faq-border);
    border-radius:24px;
    box-shadow:0 14px 40px rgba(15,23,42,.06);
}
.zz-product-faq__heading { margin-bottom:22px; }
.zz-product-faq__eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    padding:6px 11px;
    border-radius:999px;
    background:#eff6ff;
    color:var(--zz-faq-accent);
    font-size:12px;
    font-weight:800;
}
.zz-product-faq__eyebrow::before {
    content:'';
    width:6px;
    height:6px;
    border-radius:50%;
    background:currentColor;
}
.zz-product-faq__heading h2 {
    margin:0 0 7px;
    color:var(--zz-faq-text);
    font-size:26px;
    line-height:1.45;
    font-weight:800;
}
.zz-product-faq__heading p { margin:0; color:var(--zz-faq-muted); font-size:14px; line-height:1.9; }
.zz-product-faq__list { display:grid; gap:10px; }
.zz-product-faq__item {
    overflow:hidden;
    border:1px solid var(--zz-faq-border);
    border-radius:16px;
    background:var(--zz-faq-bg);
    transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;
}
.zz-product-faq__item:hover { border-color:#d9e0ea; box-shadow:0 8px 24px rgba(15,23,42,.05); }
.zz-product-faq__item.is-open { border-color:#dbe5f7; box-shadow:0 10px 28px rgba(15,23,42,.06); }
.zz-product-faq__question {
    width:100%;
    border:0;
    background:transparent;
    color:var(--zz-faq-text);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    text-align:right;
    font:inherit;
    font-size:15px;
    font-weight:700;
    line-height:1.7;
    cursor:pointer;
}
.zz-product-faq__question:focus-visible { outline:3px solid rgba(37,99,235,.22); outline-offset:-3px; }
.zz-product-faq__qtext { flex:1; }
.zz-product-faq__icon {
    position:relative;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:10px;
    background:var(--zz-faq-soft);
}
.zz-product-faq__icon::before,
.zz-product-faq__icon::after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:11px;
    height:2px;
    border-radius:2px;
    background:#506174;
    transform:translate(-50%,-50%);
    transition:transform .25s ease;
}
.zz-product-faq__icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.zz-product-faq__item.is-open .zz-product-faq__icon::after { transform:translate(-50%,-50%) rotate(0deg); }
.zz-product-faq__answer { border-top:1px solid #eef1f5; }
.zz-product-faq__answer-inner {
    padding:16px 20px 20px;
    color:#4b5563;
    font-size:14px;
    line-height:2;
}
.zz-product-faq__answer-inner > :first-child { margin-top:0; }
.zz-product-faq__answer-inner > :last-child { margin-bottom:0; }
.zz-product-faq__answer-inner a { color:var(--zz-faq-accent); text-decoration:underline; }
.zz-product-faq__answer-inner ul,
.zz-product-faq__answer-inner ol { padding-right:20px; }
@media (max-width: 767px) {
    .zz-product-faq { margin:30px auto; }
    .zz-product-faq__inner { padding:20px 14px; border-radius:18px; }
    .zz-product-faq__heading h2 { font-size:21px; }
    .zz-product-faq__question { padding:15px 14px; font-size:14px; gap:12px; }
    .zz-product-faq__answer-inner { padding:13px 14px 17px; font-size:13px; }
    .zz-product-faq__icon { flex-basis:28px; width:28px; height:28px; border-radius:9px; }
}
