.bq-root {
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  box-sizing: border-box;
}
.bq-root *, .bq-root *::before, .bq-root *::after { box-sizing: border-box; }
.bq-card { background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.bq-header { display:flex; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid #eee; align-items:center; }
.bq-title { font-size: 18px; font-weight: 750; }
.bq-sub { font-size: 13px; opacity:.7; margin-top:2px; }
.bq-progress-wrap { width: 220px; height: 10px; background:#f0f0f0; border-radius: 999px; overflow:hidden; }
.bq-progress-bar { height: 100%; background:#111; border-radius: 999px; transition: width .25s ease; }
.bq-body { padding: 18px; min-height: 280px; }
.bq-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bq-grid-images .bq-option { padding: 12px; }
.bq-opt-img { width:100%; height: 150px; object-fit:cover; border-radius: 10px; border:1px solid #eee; margin-bottom: 10px; background:#fff; display:block; }
.bq-option { padding: 18px; border-radius: 12px; border:1px solid #ddd; background:#fafafa; cursor:pointer; font-weight:650; text-align:left; }
.bq-option:hover { background:#fff; }
.bq-option.is-selected {
  background:#fff;
  border: 2px solid #D3B666;
  outline: none;
  box-shadow: 0 0 0 3px rgba(211, 182, 102, .25);
}
.bq-opt-title { font-size: 14px; letter-spacing: .2px; }
.bq-footer { display:flex; justify-content:space-between; padding:16px 18px; border-top:1px solid #eee; }
.bq-btn { padding: 10px 14px; border-radius: 10px; border:1px solid #ddd; background:#fff; cursor:pointer; font-weight:650; }
.bq-btn:hover { background:#f9f9f9; }
.bq-primary { border-color:#111; background:#111; color:#fff; }
.bq-primary:hover { background:#222; }
.bq-form label { display:block; margin: 10px 0; font-weight:650; }
.bq-form input { width:100%; padding: 10px 12px; border:1px solid #ddd; border-radius: 10px; margin-top:6px; }
.bq-check {
  display:flex;
  gap:12px;
  align-items:center;
  font-weight:550;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid #eee;
  border-radius: 12px;
  background: #fafafa;
}
.bq-check input {
  width: 18px;
  height: 18px;
}
.bq-hint { opacity:.75; font-size: 13px; margin-top: 10px; }
.bq-loading { display:flex; gap:14px; align-items:center; padding: 20px 4px; }
.bq-spinner { width:26px; height:26px; border-radius:50%; border:3px solid #ddd; border-top-color:#111; animation: bqspin 1s linear infinite; }
@keyframes bqspin { to { transform: rotate(360deg);} }
.bq-img { width:100%; border-radius: 12px; border:1px solid #eee; }
.bq-actions { margin-top: 12px; display:flex; gap:10px; }
.bq-mail { margin-top: 14px; display:flex; gap:10px; }
.bq-mail input { flex:1; padding: 10px 12px; border:1px solid #ddd; border-radius: 10px; }
@media (max-width: 900px) { .bq-grid { grid-template-columns: 1fr; } .bq-progress-wrap { width: 140px; } }