/* GROUPPY V29: единый фон, FAQ, лёгкая оптимизация */
html, body { background:#030713 !important; }
.scene-bg {
  position: fixed !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(47,105,255,.20), transparent 34%),
    linear-gradient(180deg, rgba(3,7,19,.12), rgba(3,7,19,.76) 70%, rgba(3,7,19,.94)),
    url('/assets/topboost-unified-bg.png') center top / cover no-repeat !important;
  transform:none !important;
  filter:none !important;
}
.scene-bg::before,
.scene-bg::after,
.scene-smoke,
.scene-soldier { pointer-events:none !important; }
body::before, body::after, .page-shell::before, .page-shell::after { pointer-events:none !important; }

/* не даём старым патчам накладывать второй фон */
body.topboost-double-bg,
body[class*="v19"],
body[class*="v21"],
body[class*="v24"],
body[class*="v26"] { background:#030713 !important; }

/* FAQ на публичной странице */
.faq-page { max-width: 1320px; margin: 42px auto; padding: 42px; }
.faq-page h1 { margin:0 0 22px; font-size: clamp(38px,5vw,72px); line-height:.95; letter-spacing:-.04em; font-weight:900; }
.faq-page .lead { color: rgba(236,244,255,.76); font-weight:700; font-size: clamp(16px,1.5vw,21px); line-height:1.55; margin: 0 0 28px; }
.faq-list { display:grid; gap:16px; }
.faq-item { border:1px solid rgba(91,129,255,.32); border-radius:22px; background:linear-gradient(180deg, rgba(10,17,39,.86), rgba(6,11,28,.74)); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 48px rgba(0,0,0,.22); overflow:hidden; }
.faq-item summary { cursor:pointer; list-style:none; padding:22px 26px; color:#fff; font-weight:900; font-size: clamp(17px,1.35vw,23px); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:rgba(105,91,255,.20); color:#9b8cff; flex:0 0 auto; font-size:22px; }
.faq-item[open] summary::after { content:'–'; }
.faq-item > div { padding:0 26px 24px; color:rgba(233,240,255,.76); font-weight:650; font-size:16px; line-height:1.65; }
.faq-item > div p { margin:0 0 12px; }

/* админ FAQ */
.topboost-v29-admin .faq-admin-list { display:grid; gap:14px; }
.topboost-v29-admin .faq-admin-row { display:grid; grid-template-columns: minmax(220px,1fr) 110px 150px auto auto; gap:10px; align-items:start; padding:14px; border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.18); border-radius:14px; }
.topboost-v29-admin .faq-admin-row textarea { grid-column: 1 / -1; min-height:110px; }
.topboost-v29-admin .admin-form.grid2 { display:grid; grid-template-columns:1fr 160px; gap:14px; }
.topboost-v29-admin .admin-form .wide-admin { grid-column:1/-1; }

/* микроптимизация рендера */
img, video { content-visibility:auto; }
.server-table-panel, .panel, .promo-card, .stat-card { contain: layout paint style; }

@media (max-width: 900px) {
  .faq-page { margin:22px 12px; padding:24px 16px; border-radius:22px; }
  .faq-item summary { padding:18px; }
  .faq-item > div { padding:0 18px 18px; }
  .topboost-v29-admin .faq-admin-row { grid-template-columns:1fr; }
  .topboost-v29-admin .admin-form.grid2 { grid-template-columns:1fr; }
}
