/* =====================================================
   WEBFORM RESET (SAFE FOR CUSTOM THEMES)
===================================================== */

.webform-submission-form {
  max-width: 100%;
}

/* ------------------------------
   FIELD WRAPPER
------------------------------- */
.webform-submission-form .form-item {
  margin-bottom: 1rem;
}

/* ------------------------------
   LABELS (TEXT FIELDS)
------------------------------- */
.webform-submission-form .form-type-text label,
.webform-submission-form .form-type-email label,
.webform-submission-form .form-type-tel label,
.webform-submission-form .form-type-textarea label,
.webform-submission-form .form-type-select label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.4rem;
}

/* ------------------------------
   INPUTS & SELECTS
------------------------------- */
.webform-submission-form input[type="text"],
.webform-submission-form input[type="email"],
.webform-submission-form input[type="tel"],
.webform-submission-form textarea,
.webform-submission-form select {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.4;
}

/* Textarea height */
.webform-submission-form textarea {
  min-height: 120px;
}

/* ------------------------------
   CHECKBOXES & RADIOS (INLINE FIX)
------------------------------- */

/* Field label */
.webform-submission-form .form-type-checkboxes > label,
.webform-submission-form .form-type-radios > label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5rem;
}

/* Individual option wrapper */
.webform-submission-form .form-type-checkboxes .form-item,
.webform-submission-form .form-type-radios .form-item {
  display: flex;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* Checkbox / radio input */
.webform-submission-form input[type="checkbox"],
.webform-submission-form input[type="radio"] {
  display: inline-block;
  margin-right: 0.45rem;
  vertical-align: middle;
}

/* Checkbox / radio label text */
.webform-submission-form .form-type-checkbox label,
.webform-submission-form .form-type-radio label {
  display: inline-flex;
  align-items: center;
  font-weight: normal;
  margin: 0;
  cursor: pointer;
}

/* ------------------------------
   WEBFORM COLUMNS SUPPORT
------------------------------- */
.webform-submission-form .webform-options-columns {
  display: grid;
  gap: 0.75rem 1.25rem;
}

/* Auto column handling */
.webform-submission-form .webform-options-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.webform-submission-form .webform-options-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* ------------------------------
   FLEXBOX LAYOUT SUPPORT
------------------------------- */
.webform-flex {
  display: flex;
  gap: 1rem;
}

.webform-flex > .form-item {
  flex: 1;
}

/* ------------------------------
   FORM ACTIONS
------------------------------- */
.webform-submission-form .form-actions {
  margin-top: 1.5rem;
}

.webform-submission-form .form-submit {
  background-color: var(--header-bg);
  color: #fff;
  border: none;
  padding: 0.55rem 1.4rem;
  border-radius: 4px;
  cursor: pointer;
}

.webform-submission-form .form-submit:hover {
  opacity: 0.9;
}

/* ------------------------------
   ERROR STATES
------------------------------- */
.webform-submission-form .form-item--error input,
.webform-submission-form .form-item--error textarea,
.webform-submission-form .form-item--error select {
  border-color: #dc3545;
}

/* ------------------------------
   REQUIRED STAR
------------------------------- */
.webform-submission-form .form-required::after {
  content: " *";
  color: red;
}

/* ------------------------------
   MOBILE FIXES
------------------------------- */
@media (max-width: 768px) {

  .webform-flex {
    flex-direction: column;
  }

  .webform-submission-form .webform-options-columns,
  .webform-submission-form .webform-options-columns-2,
  .webform-submission-form .webform-options-columns-3 {
    grid-template-columns: 1fr;
  }
}
