/* === Genel Stil === */
body {
  background: #fefcf9;
  font-family: 'Segoe UI', sans-serif;
  margin: 0;
  padding: 0;
  color: #1f2937;
}

/* === Form Kapsayıcı === */
.form-step-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 85vh;
  padding: 2rem;
}

.form-step-box {
  background: white;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.06);
  padding: 2.5rem 3rem;
  width: 100%;
  max-width: 600px;
  position: relative;
  transition: box-shadow 0.3s ease;
}
.form-step-box:hover {
  box-shadow: 0 12px 48px rgba(0,0,0,0.08);
}

/* === İlerleme Çubuğu === */
.progress-bar {
  height: 8px;
  background: #eee;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 2rem;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(to right, #f59e0b, #d97706);
  transition: width 0.5s ease-in-out;
}

/* === Başlık ve Alt Başlık === */
.vb-form-title,
.form-question {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5rem;
}

.vb-form-subtitle,
.form-subtext {
  font-size: 1rem;
  color: #666;
  text-align: center;
  margin-bottom: 2rem;
}

/* === Seçenek Listesi === */
.vb-option-list,
.form-options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.vb-option-item,
.form-option {
  border: 2px solid #fcd34d;
  border-radius: 12px;
  padding: 0.8rem 1.2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  transition: all 0.25s ease;
  background: #fff;
}

.vb-option-item input[type="radio"],
.form-option input[type="radio"],
.form-option input[type="checkbox"] {
  accent-color: #f59e0b;
  width: 20px;
  height: 20px;
}

.vb-option-item:hover,
.form-option:hover {
  border-color: #f59e0b;
  background: #fff7ed;
}

/* === Uyarı Kutuları === */
.vb-warning-box,
.form-warning {
  color: #b91c1c;
  background: #fee2e2;
  border: 1px solid #fecaca;
  padding: 12px;
  border-radius: 10px;
  margin-top: 15px;
  display: none;
  font-size: 0.95rem;
  text-align: center;
}

/* === Butonlar === */
.vb-step-buttons,
.form-buttons {
  margin-top: 2rem;
  text-align: center;
}

.vb-btn,
.btn-next,
.btn-back {
  font-size: 1rem;
  padding: 0.75rem 2rem;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  margin: 0 0.5rem;
  transition: all 0.3s ease;
}

.vb-btn.primary,
.btn-next {
  background: linear-gradient(90deg, #d97706, #f59e0b);
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
.vb-btn.primary:hover,
.btn-next:hover {
  background: linear-gradient(90deg, #b45309, #d97706);
  transform: scale(1.05);
}

.vb-btn.ghost,
.btn-back {
  background-color: #f3f4f6;
  color: #374151;
}
.vb-btn.ghost:hover,
.btn-back:hover {
  background-color: #e5e7eb;
}

/* === Input Alanları === */
input[type="number"],
input[type="text"],
input[type="email"],
input[type="password"],
select {
  width: 100%;
  padding: 0.8rem 1rem;
  font-size: 1rem;
  border-radius: 10px;
  border: 2px solid #fcd34d;
  outline: none;
  transition: all 0.3s ease;
  background: white;
}

input[type="number"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
select:focus {
  border-color: #f59e0b;
  background: #fffdf5;
}

/* === Responsive Mobil Uyarlama === */
@media (max-width: 600px) {
  .form-step-box {
    padding: 1.5rem;
  }

  .vb-btn {
    font-size: 1rem;
    width: 100%;
    margin: 0.5rem 0;
  }
}
