/* Basic container styling */
.luxthemes-form {
  max-width: 750px;
  margin: 40px auto;
  padding: 0 15px;
  color: #333;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
 @media (max-width: 480px) {
  .luxthemes-form {
  padding: 0;
}
}
/* Title & description */
.luxthemes-form-title {
  font-size: 24px;
  margin-bottom: 10px;
  font-weight: bold;
  color: #222;
}
.luxthemes-form-description {
  margin-bottom: 30px;
  color: #777;
  line-height: 1.5em;
}

/* Field wrapper */
.luxthemes-form-field {
  margin-bottom: 20px;
}
.luxthemes-form-field label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  color: #444;
  font-size: 14px;
}

/* Checkbox/Radio labels (inline options) should not be bold, more spacing */
.luxthemes-inline-option {
  display: inline-block;
  margin-right: 15px;
  margin-top: 4px;
  font-weight: normal; /* override the default label bold */
}
.luxthemes-inline-option input[type="checkbox"],
.luxthemes-inline-option input[type="radio"] {
  margin-right: 6px;
  vertical-align: middle;
}

/* Inputs & textareas */
.luxthemes-form-field input[type="text"],
.luxthemes-form-field input[type="email"],
.luxthemes-form-field input[type="url"],
.luxthemes-form-field input[type="tel"],
.luxthemes-form-field input[type="password"],
.luxthemes-form-field input[type="range"],
.luxthemes-form-field input[type="datetime-local"],
.luxthemes-form-field textarea,
.luxthemes-form-field select {
  width: 100%;
  padding: 15px 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  font-size: 14px;
  outline: none;
  box-sizing: border-box;
  background-color: #fff;
  transition: border-color 0.2s ease;
}
.luxthemes-form-field input:focus,
.luxthemes-form-field textarea:focus,
.luxthemes-form-field select:focus {
  border-color: #0073aa;
  outline: none;
}

/* Paragraph textareas a bit taller */
.luxthemes-form-field textarea {
  min-height: 100px;
  resize: vertical;
}

/* Layout columns */
.luxthemes-layout-row {
  display: flex;
  gap: 10px;
  margin-bottom: 20px; 
}
.luxthemes-col {
  flex: 1 1 0;
}
.columns-2 .luxthemes-col { width: 50%; }
.columns-3 .luxthemes-col { width: 33.3333%; }
.columns-4 .luxthemes-col { width: 25%; }

/* Submit button */
.luxthemes-submit-button {
  display: inline-block;
  background: #0073aa;
  color: #fff;
  border: none;
  padding: 12px 24px;
  cursor: pointer;
  border-radius: 3px;
  font-size: 15px;
  transition: background 0.2s ease;
}
.luxthemes-submit-button:hover {
  background: #005d8a;
}

/* Steps (multi-step) */
.luxthemes-step {
  display: none;
}
.luxthemes-step.active {
  display: block;
}
.luxthemes-step-nav {
  margin-top: 20px;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}
.luxthemes-prev-step,
.luxthemes-next-step {
  background: #999;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.luxthemes-prev-step:hover,
.luxthemes-next-step:hover {
  background: #777;
}

/* Form messages */
.luxthemes-form-errors,
.luxthemes-form-success {
  margin-bottom: 20px;
  padding: 15px;
  border-radius: 5px;
  font-size: 14px;
  line-height: 1.4em;
}
.luxthemes-form-errors {
  background-color: #f8d7da;
  color: #721c24;
}
.luxthemes-form-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

/* Inline field errors */
.field-error {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #d00;
}
.luxthemes-form-field input,
.luxthemes-form-field select,
.luxthemes-form-field textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
