@font-face {
  font-family: 'BF-Inter-Light';
  src: url('https://bf-eleven.de/wp-content/themes/hello-elementor/fonts/inter-light.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'BF-Inter-Regular';
  src: url('https://bf-eleven.de/wp-content/themes/hello-elementor/fonts/inter-regular.woff2') format('woff2');
  font-display: swap;
}
@font-face {
  font-family: 'BF-Space-Bold';
  src: url('https://bf-eleven.de/wp-content/themes/hello-elementor/fonts/space-grotesk-bold.woff2') format('woff2');
  font-display: swap;
}

#bfe-bewerbung-container .bfe-form-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

#bfe-bewerbung-container .bfe-form {
  background: transparent !important;
}

#bfe-bewerbung-container .bfe-form__title {
  font-family: 'BF-Space-Bold', system-ui, sans-serif !important;
  font-size: 1.5rem !important;
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

#bfe-bewerbung-container .bfe-form__intro {
  font-family: 'BF-Inter-Light', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #8a8a8a !important;
  margin: 0 0 40px 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

#bfe-bewerbung-container .bfe-form__section {
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

#bfe-bewerbung-container .bfe-form__section:last-of-type {
  border-bottom: none !important;
}

#bfe-bewerbung-container .bfe-form__section-title {
  font-family: 'BF-Space-Bold', system-ui, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #6a6a6a !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: block !important;
}

#bfe-bewerbung-container .bfe-form__row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-bottom: 0 !important;
}

@media (min-width: 600px) {
  #bfe-bewerbung-container .bfe-form__row {
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
  }
}

#bfe-bewerbung-container .bfe-form__field {
  margin-bottom: 20px !important;
}

#bfe-bewerbung-container .bfe-form__field label {
  display: block !important;
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #ffffff !important;
  margin-bottom: 12px !important;
  padding: 0 !important;
}

#bfe-bewerbung-container .bfe-form__field label .required {
  color: #d63638 !important;
}

#bfe-bewerbung-container .bfe-form__field input[type="text"],
#bfe-bewerbung-container .bfe-form__field input[type="email"],
#bfe-bewerbung-container .bfe-form__field input[type="tel"],
#bfe-bewerbung-container .bfe-form__field input[type="url"],
#bfe-bewerbung-container .bfe-form__field input[type="date"],
#bfe-bewerbung-container .bfe-form__field input[type="number"],
#bfe-bewerbung-container .bfe-form__field select,
#bfe-bewerbung-container .bfe-form__field textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 16px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 0 !important;
  outline: none !important;
  transition: border-color 0.3s ease, background 0.3s ease !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}

#bfe-bewerbung-container .bfe-form__field input:focus,
#bfe-bewerbung-container .bfe-form__field select:focus,
#bfe-bewerbung-container .bfe-form__field textarea:focus {
  border-color: rgba(255, 255, 255, 0.3) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

#bfe-bewerbung-container .bfe-form__field input::placeholder,
#bfe-bewerbung-container .bfe-form__field textarea::placeholder {
  color: #4a4a4a !important;
}

#bfe-bewerbung-container .bfe-form__field select {
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236a6a6a' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  padding-right: 40px !important;
}

#bfe-bewerbung-container .bfe-form__field select option {
  background: #1a1a1a !important;
  color: #ffffff !important;
}

#bfe-bewerbung-container .bfe-form__field textarea {
  resize: vertical !important;
  min-height: 120px !important;
}

#bfe-bewerbung-container .bfe-form__hint {
  display: block !important;
  font-family: 'BF-Inter-Light', system-ui, sans-serif !important;
  font-size: 12px !important;
  color: #6a6a6a !important;
  margin-top: 8px !important;
}

#bfe-bewerbung-container .bfe-form__file-wrapper {
  position: relative !important;
}

#bfe-bewerbung-container .bfe-form__field input[type="file"] {
  width: 100% !important;
  padding: 14px 16px !important;
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #8a8a8a !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px dashed rgba(255, 255, 255, 0.15) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

#bfe-bewerbung-container .bfe-form__field input[type="file"]:hover {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

#bfe-bewerbung-container .bfe-form__field input[type="file"]::file-selector-button {
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 13px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  margin-right: 12px !important;
}

#bfe-bewerbung-container .bfe-form__file-info {
  display: none !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px !important;
  padding: 10px 14px !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

#bfe-bewerbung-container .bfe-form__file-info.visible {
  display: flex !important;
}

#bfe-bewerbung-container .bfe-form__file-name {
  flex: 1 !important;
  font-size: 13px !important;
  color: #8a8a8a !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#bfe-bewerbung-container .bfe-form__file-remove {
  background: none !important;
  border: none !important;
  color: #d63638 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  padding: 4px 8px !important;
}

#bfe-bewerbung-container .bfe-form__progress {
  margin-top: 12px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  overflow: hidden !important;
  position: relative !important;
  height: 24px !important;
}

#bfe-bewerbung-container .bfe-form__progress-bar {
  height: 100% !important;
  background: linear-gradient(90deg, #2271b1, #00a32a) !important;
  width: 0% !important;
  transition: width 0.3s ease !important;
}

#bfe-bewerbung-container .bfe-form__progress-text {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 12px !important;
  color: #ffffff !important;
}

#bfe-bewerbung-container .bfe-form__captcha {
  background: rgba(255, 255, 255, 0.02) !important;
  padding: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

#bfe-bewerbung-container .bfe-form__captcha .bfe-form__field {
  margin-bottom: 0 !important;
}

#bfe-bewerbung-container .bfe-form__captcha input[type="number"] {
  max-width: 120px !important;
}

#bfe-bewerbung-container .bfe-form__consent {
  border: none !important;
  padding-bottom: 0 !important;
}

#bfe-bewerbung-container .bfe-form__checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

#bfe-bewerbung-container .bfe-form__checkbox:last-child {
  margin-bottom: 0 !important;
}

#bfe-bewerbung-container .bfe-form__checkbox input[type="checkbox"] {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
  cursor: pointer !important;
  accent-color: #ffffff !important;
}

#bfe-bewerbung-container .bfe-form__checkbox label {
  font-family: 'BF-Inter-Light', system-ui, sans-serif !important;
  font-size: 14px !important;
  color: #8a8a8a !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  margin-bottom: 0 !important;
}

#bfe-bewerbung-container .bfe-form__checkbox label a {
  color: #ffffff !important;
  text-decoration: underline !important;
}

#bfe-bewerbung-container .bfe-form__checkbox label .required {
  color: #d63638 !important;
}

#bfe-bewerbung-container .bfe-form__submit {
  margin-top: 40px !important;
}

#bfe-bewerbung-container .bfe-form__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 18px 48px !important;
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
  color: #000000 !important;
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background 0.3s ease, color 0.3s ease !important;
  text-transform: none !important;
  text-decoration: none !important;
  width: auto !important;
}

@media (max-width: 480px) {
  #bfe-bewerbung-container .bfe-form__button {
    width: 100% !important;
    padding: 16px 24px !important;
  }
}

#bfe-bewerbung-container .bfe-form__button:hover,
#bfe-bewerbung-container .bfe-form__button:focus {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

#bfe-bewerbung-container .bfe-form__button:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}

#bfe-bewerbung-container .bfe-form__button-text {
  display: inline !important;
}

#bfe-bewerbung-container .bfe-form__button-loading {
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
}

#bfe-bewerbung-container .bfe-form__button-loading.visible {
  display: inline-flex !important;
}

#bfe-bewerbung-container .bfe-spinner {
  width: 18px !important;
  height: 18px !important;
  animation: bfe-spin 1s linear infinite !important;
}

@keyframes bfe-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

#bfe-bewerbung-container .bfe-form__message {
  margin-top: 20px !important;
  padding: 16px 20px !important;
  font-family: 'BF-Inter-Regular', system-ui, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

#bfe-bewerbung-container .bfe-form__message--success {
  background: rgba(0, 163, 42, 0.1) !important;
  border: 1px solid rgba(0, 163, 42, 0.3) !important;
  color: #00a32a !important;
}

#bfe-bewerbung-container .bfe-form__message--error {
  background: rgba(214, 54, 56, 0.1) !important;
  border: 1px solid rgba(214, 54, 56, 0.3) !important;
  color: #d63638 !important;
}

#bfe-bewerbung-container .bfe-form--success {
  text-align: center !important;
  padding: 60px 20px !important;
}

#bfe-bewerbung-container .bfe-form--success .bfe-success-icon {
  width: 80px !important;
  height: 80px !important;
  margin: 0 auto 24px !important;
  background: rgba(0, 163, 42, 0.1) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #00a32a !important;
  font-size: 40px !important;
}

#bfe-bewerbung-container .bfe-form--success h3 {
  font-family: 'BF-Space-Bold', system-ui, sans-serif !important;
  font-size: 1.5rem !important;
  color: #ffffff !important;
  margin: 0 0 12px 0 !important;
}

#bfe-bewerbung-container .bfe-form--success p {
  font-family: 'BF-Inter-Light', system-ui, sans-serif !important;
  font-size: 15px !important;
  color: #8a8a8a !important;
  margin: 0 !important;
}
