/* ===========================================================================
   BEKLOG Logistics GmbH — WS FORM INTEGRATION STYLES
   Adapts WS Form markup to match BEKLOG .anfrage design specifications.
   =========================================================================== */

/* Container reset to blend into BEKLOG layout */
.wsf-form {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-family: var(--serifenlos) !important;
}

/* Section / Fieldset styling matching .anfrage__gruppe */
.wsf-section {
  border: 0 !important;
  border-top: 1px solid var(--linie) !important;
  margin: 0 0 1.75rem !important;
  padding: 1.5rem 0 0 !important;
}

.wsf-section:first-of-type {
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* Legend / Section title */
.wsf-section-title,
.wsf-section legend {
  padding: 0 !important;
  font-family: var(--titel) !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--tinte) !important;
  margin-bottom: 1.1rem !important;
  border: 0 !important;
}

/* Labels */
.wsf-label {
  display: block !important;
  font-family: var(--serifenlos) !important;
  font-size: .9375rem !important;
  font-weight: 500 !important;
  color: var(--tinte) !important;
  margin-bottom: .4rem !important;
}

.wsf-required {
  color: var(--rot-tief) !important;
  font-weight: 600 !important;
}

/* Inputs, Textareas, Selects */
.wsf-field input[type="text"],
.wsf-field input[type="email"],
.wsf-field input[type="tel"],
.wsf-field input[type="number"],
.wsf-field select,
.wsf-field textarea {
  width: 100% !important;
  font-family: var(--serifenlos) !important;
  font-size: 1rem !important;
  color: var(--tinte) !important;
  background: #fff !important;
  border: 1px solid var(--linie-stark) !important;
  border-radius: var(--radius-sm) !important;
  padding: .8rem .9rem !important;
  min-height: 3rem !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color var(--transition-fast) !important;
}

.wsf-field textarea {
  min-height: 7rem !important;
  resize: vertical !important;
}

.wsf-field input:hover,
.wsf-field select:hover,
.wsf-field textarea:hover {
  border-color: var(--grau) !important;
}

.wsf-field input:focus,
.wsf-field select:focus,
.wsf-field textarea:focus {
  border-color: var(--tinte) !important;
  outline: 2px solid var(--rot) !important;
  outline-offset: 1px !important;
}

/* Submit Button */
.wsf-button[type="submit"],
.wsf-field-submit button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  padding: .85rem 1.4rem !important;
  background: var(--rot) !important;
  color: #fff !important;
  font-family: var(--serifenlos) !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: var(--radius-sm) !important;
  cursor: pointer !important;
  transition: background var(--transition-fast) !important;
}

.wsf-button[type="submit"]:hover,
.wsf-field-submit button:hover {
  background: var(--rot-tief) !important;
}

/* Checkbox (Einwilligung) */
.wsf-field-checkbox .wsf-label-position-right {
  display: flex !important;
  gap: .75rem !important;
  align-items: flex-start !important;
  font-weight: 400 !important;
}

.wsf-field-checkbox input[type="checkbox"] {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-height: 0 !important;
  margin-top: .3rem !important;
  flex: none !important;
  accent-color: var(--rot) !important;
}

/* Error states */
.wsf-is-invalid,
.wsf-invalid-feedback {
  font-size: .875rem !important;
  color: var(--rot-tief) !important;
  margin-top: .45rem !important;
}

/* Success message alert */
.wsf-alert-success {
  padding: 1rem 1.25rem !important;
  border-left: 3px solid var(--rot) !important;
  background: var(--papier-warm) !important;
  color: var(--tinte) !important;
  font-size: .96875rem !important;
  border-radius: 0 !important;
  margin-top: 1.25rem !important;
}
