/**
 * nxbs-builder-blocks.css v1.1.2
 * Stili componenti frontend NexBuilder Shop.
 * Selettori con prefisso .nxbs- — isolamento totale da BeTheme.
 */

/* ── Accordion ───────────────────────────────────────────────────────────── */
.nxbs-accordion { width: 100%; }

.nxbs-acc-item {
    border-bottom: 1px solid var(--nxbs-acc-border, rgba(255,255,255,.10));
}
.nxbs-acc-item:first-child {
    border-top: 1px solid var(--nxbs-acc-border, rgba(255,255,255,.10));
}
.nxbs-acc-head {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    width:           100%;
    background:      none;
    border:          none;
    padding:         1.1rem 0;
    font-size:       1rem;
    font-weight:     600;
    color:           var(--nxbs-acc-q, #ffffff);
    cursor:          pointer;
    text-align:      left;
    font-family:     'Plus Jakarta Sans', sans-serif;
    transition:      color .2s;
}
.nxbs-acc-head:hover { color: #00e8c0; }
.nxbs-acc-chevron {
    font-size:    .8rem;
    color:        rgba(255,255,255,.35);
    transition:   transform .3s;
    flex-shrink:  0;
    margin-left:  1rem;
}
.nxbs-acc-item.open .nxbs-acc-chevron { transform: rotate(180deg); }
.nxbs-acc-body {
    display:     none;
    padding:     0 0 1.1rem;
    font-size:   .95rem;
    color:       var(--nxbs-acc-a, rgba(255,255,255,.65));
    line-height: 1.7;
}
.nxbs-acc-item.open .nxbs-acc-body { display: block; }

/* ── Testimonial ─────────────────────────────────────────────────────────── */
.nxbs-testimonial {
    background:    rgba(255,255,255,.04);
    border:        1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding:       1.75rem;
}
.nxbs-testimonial-text {
    font-size:   1rem;
    color:       rgba(255,255,255,.8);
    line-height: 1.7;
    margin:      0 0 1.25rem;
    font-style:  italic;
}
.nxbs-testimonial-author {
    display:     flex;
    align-items: center;
    gap:         .75rem;
}
.nxbs-testimonial-avatar {
    width:           40px;
    height:          40px;
    background:      rgba(0,232,192,.2);
    color:           #00e8c0;
    border-radius:   50%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       .85rem;
    font-weight:     700;
    flex-shrink:     0;
}
.nxbs-testimonial-name { font-size: .9rem; font-weight: 600; color: #fff; }
.nxbs-testimonial-role { font-size: .8rem; color: rgba(255,255,255,.5); }

/* ── Stat block ──────────────────────────────────────────────────────────── */
.nxbs-stat-block {
    text-align:    center;
    padding:       1.25rem;
    background:    rgba(255,255,255,.04);
    border:        1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    transition:    box-shadow .25s;
}
.nxbs-stat-block:hover { box-shadow: 0 4px 20px rgba(0,0,0,.3); }
.nxbs-sb-val {
    font-size:      2.4rem;
    font-weight:    800;
    font-family:    'IBM Plex Mono', monospace;
    letter-spacing: -.03em;
    line-height:    1;
    margin-bottom:  .35rem;
}
.nxbs-sb-lbl { font-size: .88rem; color: rgba(255,255,255,.55); font-weight: 500; }
.nxbs-sb-desc { font-size: .8rem; color: rgba(255,255,255,.35); margin-top: .25rem; }

/* ── FAQ SEO ─────────────────────────────────────────────────────────────── */
.nxbseo-faq-list { display:flex; flex-direction:column; gap:8px; }
.nxbseo-faq-item { background:rgba(255,255,255,0.04); border:1px solid rgba(0,232,192,0.15); border-radius:12px; overflow:hidden; }
.nxbseo-faq-item summary { padding:1.1rem 1.5rem; font-size:1rem; font-weight:600; color:#ffffff; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.nxbseo-faq-item summary::-webkit-details-marker { display:none; }
.nxbseo-faq-item summary::after { content:'＋'; color:#00e8c0; font-size:1.2rem; flex-shrink:0; transition:transform .2s; }
.nxbseo-faq-item[open] summary::after { transform:rotate(45deg); }
.nxbseo-faq-item[open] summary { color:#00e8c0; }
.nxbseo-faq-item p { padding:0 1.5rem 1.25rem; font-size:.9rem; color:rgba(255,255,255,.7); line-height:1.7; margin:0; }
