.visual-quiz-container { font-family: sans-serif; background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); }
.vq-progress { background: #eee; height: 6px; border-radius: 3px; margin-bottom: 20px; overflow: hidden; }
.vq-progress-bar { display: block; height: 100%; background: #2563eb; transition: 0.3s ease; }
.vq-q-title { margin: 0 0 15px 0; font-size: 18px; font-weight: 600; }
.vq-grid { display: grid; gap: 15px; margin-bottom: 30px; }
.vq-card { border: 2px solid #eaeaea; border-radius: 8px; padding: 10px; text-align: center; cursor: pointer; transition: 0.2s; position: relative; }
.vq-card img { max-width: 100%; object-fit: cover; border-radius: 4px; margin-bottom: 10px; pointer-events: none; }
.vq-opt-title { font-size: 14px; font-weight: 500; pointer-events: none; }
.vq-card.active { border-color: #2563eb; background-color: #f8fafc; }
.vq-nav { display: flex; gap: 10px; justify-content: flex-end; }
.vq-btn { padding: 10px 20px; border: none; border-radius: 6px; cursor: pointer; font-weight: 600; }
.vq-btn-prev { background: #f1f5f9; color: #334155; }
.vq-btn-next, .vq-btn-submit { background: #2563eb; color: #fff; }
.vq-final-fields input { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; margin-bottom: 15px; box-sizing: border-box; }
.vq-msg-success { background: #dcfce7; color: #166534; }
.vq-msg-error { background: #fee2e2; color: #991b1b; }