/* FAQ dziedziczy typografię strony (Montserrat ustawiony globalnie) */
.oplx-faq{ font-family: inherit; }
.oplx-faq *{ font-family: inherit; }
/* Ustalenie zmiennych kolorów dla nagłówka w obrębie FAQ */
.oplx-faq{
    --text: var(--oplx-faq-text, #0f172a);
    --muted: var(--oplx-faq-muted, #64748b);
    --accent: var(--oplx-faq-accent, #3b82f6);
}
/* ===== OPLIXO – standard nagłówka sekcji ===== */
.oplixo-sec__head{
    text-align: center;
    margin-bottom: 34px;
}

.oplx-faq .oplixo-sec__h{
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    line-height: 1.02;
    font-weight: 600;
    letter-spacing: -2px;
    color: #0B2A5F;
}

.oplx-faq .oplixo-sec__divider{
    width: 120px;
    height: 4px;
    margin: 14px auto 0;
    background: color-mix(in srgb, var(--accent, #3b82f6) 18%, transparent);
    position: relative;
}

.oplx-faq .oplixo-sec__divider::after{
    content:'';
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:42px;
    height:4px;
    background: var(--accent, #3b82f6);
}

.oplx-faq .oplixo-sec__sub{
    margin: 10px 0 0;
    font-size: 16px;
    color: var(--muted, #64748b);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.oplx-faq__wrap{ background: var(--oplx-faq-bg,#f6f8ff); padding:72px 16px; }
.oplx-faq__in{ max-width: var(--oplx-faq-maxw,1100px); margin:0 auto; }

.oplx-faq__g{ margin:10px 0 14px; font-weight:900; color:var(--oplx-faq-text,#0f172a); }

.oplx-faq__list{ display:grid; gap:14px; }
.oplx-faq__item{
    background:var(--oplx-faq-card,#fff);
    border-radius:var(--oplx-faq-radius,16px);
    box-shadow: var(--oplx-faq-shadow,0 18px 40px rgba(15,23,42,.07));
    overflow:hidden;
}

.oplx-faq__qbtn{
    appearance:none; border:0; background:transparent; width:100%;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 22px; cursor:pointer;
    color:var(--oplx-faq-text,#0f172a); font-weight:500; font-size:18px; text-align:left;
}
.oplx-faq__qbtn:hover{ background:rgba(15,23,42,.03); }
.oplx-faq__ico{
    width:22px;height:22px; position:relative; flex:0 0 22px;
}
.oplx-faq__ico::before, .oplx-faq__ico::after{
    content:''; position:absolute; inset:0; margin:auto; background:var(--oplx-faq-muted,#64748b);
    width:18px; height:2px; border-radius:2px; transition:transform .22s ease;
}
.oplx-faq__ico::after{ transform:rotate(90deg); }
.oplx-faq__item.is-open .oplx-faq__ico::after{ transform:rotate(0deg); }
.oplx-faq__item.is-open .oplx-faq__qbtn{ background: color-mix(in srgb, var(--oplx-faq-accent,#3b82f6) 9%, white); }

.oplx-faq__a{ padding:0 22px 0; transition:max-height .25s ease; max-height:0; }
.oplx-faq__a[hidden]{ display:block; } /* żeby animować max-height */
.oplx-faq__acont{ padding:13px 0px 13px 0px; color:var(--oplx-faq-muted,#64748b); line-height:1.4; }

@media (max-width: 991px){
    .oplx-faq .oplixo-sec__h{ font-size: 36px; }
}

@media (max-width: 768px){
    .oplx-faq__wrap{ padding:58px 12px; }
    .oplx-faq__qbtn{ padding:18px; font-size:16px; }
    .oplx-faq__a{ padding:0 18px 0; }
    .oplx-faq .oplixo-sec__h{ font-size: 28px; }
}