/* ================================
   EBZ WPFORMS TYPOGRAPHY
   Struktur:
   1. Basis
   2. echte HTML-Typografie
   3. funktionale WPForms-Klassen
================================ */


/* ================================
   1. Basis
================================ */

body .wpforms-container,
body .wpforms-container-full,
body .wpforms-container .wpforms-form,
body .wpforms-container-full .wpforms-form {
	font-family: "Outfit", sans-serif !important;
	color: #4D4D4F !important;
	font-size: clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;
	line-height: 1.45 !important;
	font-weight: 300 !important;
	letter-spacing: 0 !important;
}

/* ================================
   WPForms Divider-Linien entfernen
   Muss vor den h3/h4-Typoregeln stehen
================================ */

body .wpforms-container .wpforms-form .wpforms-field-divider,
body .wpforms-container-full .wpforms-form .wpforms-field-divider {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

body .wpforms-container .wpforms-form .wpforms-field-divider::before,
body .wpforms-container .wpforms-form .wpforms-field-divider::after,
body .wpforms-container-full .wpforms-form .wpforms-field-divider::before,
body .wpforms-container-full .wpforms-form .wpforms-field-divider::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
}

body .wpforms-container .wpforms-form h3.wpforms-field-label::before,
body .wpforms-container .wpforms-form h3.wpforms-field-label::after,
body .wpforms-container-full .wpforms-form h3.wpforms-field-label::before,
body .wpforms-container-full .wpforms-form h3.wpforms-field-label::after {
	content: none !important;
	display: none !important;
	border: 0 !important;
	background: none !important;
}

/* ================================
   2. Echte HTML-Typografie im Formular
   Diese Regeln haben Vorrang vor WPForms-Klassen.
================================ */

/* h1 im Formular, falls jemals verwendet */
body .wpforms-container .wpforms-form h1,
body .wpforms-container-full .wpforms-form h1 {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(2.625rem, 1.9375rem + 3.0556vw, 5.375rem) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.03em !important;
	font-weight: 600 !important;
	color: #1f2933 !important;
	margin: 0 0 1.5rem 0 !important;
}

/* h2 im Formular */
body .wpforms-container .wpforms-form h2,
body .wpforms-container-full .wpforms-form h2 {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(2rem, 1.75rem + 1.1111vw, 3rem) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.03em !important;
	font-weight: 600 !important;
	color: #1f2933 !important;
	margin: 0 0 1.35rem 0 !important;
}

/* h3 im Formular
   z. B. Persönliche Informationen,
   Angaben zur Bewerbung,
   Arbeitsberechtigung in Deutschland */
body .wpforms-container .wpforms-form h3,
body .wpforms-container-full .wpforms-form h3,
body .wpforms-container .wpforms-form h3.wpforms-field-label,
body .wpforms-container-full .wpforms-form h3.wpforms-field-label {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.625rem, 1.46875rem + 0.6944vw, 2.25rem) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.026em !important;
	font-weight: 600 !important;
	color: #1f2933 !important;
	margin: 0 0 1.75rem 0 !important;
}

/* h4 im Formular
   z. B. Name, Anschrift, Kontaktdaten */
body .wpforms-container .wpforms-form h4,
body .wpforms-container-full .wpforms-form h4,
body .wpforms-container .wpforms-form h4.wpforms-field-label,
body .wpforms-container-full .wpforms-form h4.wpforms-field-label {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.25rem, 1.15625rem + 0.4167vw, 1.625rem) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	font-weight: 600 !important;
	color: #4D4D4F !important;
	margin: 0 0 0 0 !important;
}

/* h5 im Formular, falls später benötigt */
body .wpforms-container .wpforms-form h5,
body .wpforms-container-full .wpforms-form h5,
body .wpforms-container .wpforms-form h5.wpforms-field-label,
body .wpforms-container-full .wpforms-form h5.wpforms-field-label {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.125rem, 1.0625rem + 0.2778vw, 1.375rem) !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	font-weight: 600 !important;
	color: #4D4D4F !important;
	margin: 0 0 1rem 0 !important;
}

/* Absätze in HTML-Feldern */
body .wpforms-container .wpforms-form p,
body .wpforms-container-full .wpforms-form p,
body .wpforms-container .wpforms-form .wpforms-field-html p,
body .wpforms-container-full .wpforms-form .wpforms-field-html p {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;
	line-height: 1.5 !important;
	font-weight: 300 !important;
	color: #1f2933 !important;
	letter-spacing: 0 !important;
	margin: 0 0 1.15rem 0 !important;
	max-width: 90ch !important;
}

body .wpforms-container .wpforms-form p:last-child,
body .wpforms-container-full .wpforms-form p:last-child {
	margin-bottom: 0 !important;
}


/* ================================
   3. Funktionale WPForms-Klassen
   Wichtig: nur echte label-Elemente treffen,
   keine h3/h4 mit .wpforms-field-label.
================================ */

/* WPForms-Titel
   Bei euch eher Untertitel zur Divi-Überschrift "Bewerbungsformular" */
body .wpforms-container .wpforms-form .wpforms-title,
body .wpforms-container-full .wpforms-form .wpforms-title {
	font-family: "Outfit", sans-serif !important;
	font-size: /*clamp(1.125rem, 1.0625rem + 0.2778vw, 1.375rem)*/ clamp(2.625rem, 1.9375rem + 3.0556vw, 5.375rem); !important;
	/*line-height: 1.3 !important;
	letter-spacing: 0 !important;
	font-weight: 300 !important;*/
	line-height: 1.1 !important;
	letter-spacing: -0.03em !important;
	font-weight: 600 !important;
	color: #1f2933 !important;
	margin: 0 0 2rem 0 !important;
	max-width: 90ch !important;
}

/* WPForms-Beschreibung */
body .wpforms-container .wpforms-form .wpforms-description,
body .wpforms-container-full .wpforms-form .wpforms-description {
	font-family: "Outfit", sans-serif !important;
	/*font-size: clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;
	line-height: 1.45 !important;
	font-weight: 300 !important;*/
	font-size: clamp(1.0625rem, 0.9375rem + 0.5556vw, 1.5625rem) !important;
	font-weight: 300 !important;
	line-height: 1.3em !important;
	color: #4D4D4F !important;
	margin: 0 0 1rem 0 !important;
	max-width: 90ch !important;
}

/* Normale Formularlabels
   z. B. Vorname *, Dateien, Anmerkungen,
   Wie sind Sie auf uns aufmerksam geworden? */
body .wpforms-container .wpforms-form label.wpforms-field-label,
body .wpforms-container-full .wpforms-form label.wpforms-field-label {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1.0625rem, 1.03125rem + 0.1389vw, 1.1875rem) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.005em !important;
	font-weight: 600 !important;
	color: #4D4D4F !important;
	margin: 0 0 0.3rem 0 !important;
}

/* Sublabels
   z. B. Vorname, Nachname, Straße, PLZ, Ort */
body .wpforms-container .wpforms-form label.wpforms-field-sublabel,
body .wpforms-container-full .wpforms-form label.wpforms-field-sublabel,
body .wpforms-container .wpforms-form .wpforms-field-sublabel,
body .wpforms-container-full .wpforms-form .wpforms-field-sublabel {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(0.9375rem, 0.90625rem + 0.1389vw, 1.0625rem) !important;
	line-height: 1.3 !important;
	font-weight: 300 !important;
	color: #4D4D4F !important;
	opacity: 0.78 !important;
	margin-top: 0.35rem !important;
}

/* Feldbeschreibungen / Hilfetexte */
body .wpforms-container .wpforms-form .wpforms-field-description,
body .wpforms-container-full .wpforms-form .wpforms-field-description {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(0.9375rem, 0.90625rem + 0.1389vw, 1.0625rem) !important;
	line-height: 1.4 !important;
	font-weight: 300 !important;
	color: #4D4D4F !important;
	opacity: 0.82 !important;
	max-width: 90ch !important;
}

/* Pflichtsternchen */
body .wpforms-container .wpforms-form .wpforms-required-label,
body .wpforms-container-full .wpforms-form .wpforms-required-label {
	color: #ed1c25 !important;
	font-weight: 600 !important;
}

/* Checkbox- und Radio-Texte */
body .wpforms-container .wpforms-form .wpforms-field-label-inline,
body .wpforms-container-full .wpforms-form .wpforms-field-label-inline,
body .wpforms-container .wpforms-form .wpforms-field-checkbox label,
body .wpforms-container-full .wpforms-form .wpforms-field-checkbox label,
body .wpforms-container .wpforms-form .wpforms-field-radio label,
body .wpforms-container-full .wpforms-form .wpforms-field-radio label {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;
	line-height: 1.35 !important;
	font-weight: 300 !important;
	color: #1f2933 !important;
	letter-spacing: 0 !important;
}

/* Eingabefelder */
body .wpforms-container .wpforms-form input[type="text"],
body .wpforms-container .wpforms-form input[type="email"],
body .wpforms-container .wpforms-form input[type="tel"],
body .wpforms-container .wpforms-form input[type="url"],
body .wpforms-container .wpforms-form input[type="number"],
body .wpforms-container .wpforms-form input[type="date"],
body .wpforms-container .wpforms-form input[type="password"],
body .wpforms-container .wpforms-form select,
body .wpforms-container .wpforms-form textarea,
body .wpforms-container-full .wpforms-form input[type="text"],
body .wpforms-container-full .wpforms-form input[type="email"],
body .wpforms-container-full .wpforms-form input[type="tel"],
body .wpforms-container-full .wpforms-form input[type="url"],
body .wpforms-container-full .wpforms-form input[type="number"],
body .wpforms-container-full .wpforms-form input[type="date"],
body .wpforms-container-full .wpforms-form input[type="password"],
body .wpforms-container-full .wpforms-form select,
body .wpforms-container-full .wpforms-form textarea {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;
	line-height: 1.35 !important;
	font-weight: 300 !important;
	color: #4D4D4F !important;
	letter-spacing: 0 !important;
}

/* Placeholder */
body .wpforms-container .wpforms-form input::placeholder,
body .wpforms-container .wpforms-form textarea::placeholder,
body .wpforms-container-full .wpforms-form input::placeholder,
body .wpforms-container-full .wpforms-form textarea::placeholder {
	font-family: "Outfit", sans-serif !important;
	font-size: inherit !important;
	font-weight: 300 !important;
	color: #4D4D4F !important;
	opacity: 0.48 !important;
}

/* Upload-Texte */
body .wpforms-container .wpforms-form .wpforms-uploader,
body .wpforms-container .wpforms-form .wpforms-uploader *,
body .wpforms-container-full .wpforms-form .wpforms-uploader,
body .wpforms-container-full .wpforms-form .wpforms-uploader * {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(0.9375rem, 0.90625rem + 0.1389vw, 1.0625rem) !important;
	line-height: 1.35 !important;
	font-weight: 300 !important;
	color: #4D4D4F !important;
}

/* Fehlertexte */
body .wpforms-container .wpforms-form label.wpforms-error,
body .wpforms-container .wpforms-form em.wpforms-error,
body .wpforms-container .wpforms-form .wpforms-error-container,
body .wpforms-container-full .wpforms-form label.wpforms-error,
body .wpforms-container-full .wpforms-form em.wpforms-error,
body .wpforms-container-full .wpforms-form .wpforms-error-container {
	font-family: "Outfit", sans-serif !important;
	font-size: clamp(0.875rem, 0.84375rem + 0.1389vw, 1rem) !important;
	line-height: 1.3 !important;
	font-weight: 400 !important;
	color: #ed1c25 !important;
}

/* Button-Typografie */
body .wpforms-container .wpforms-form button[type="submit"],
body .wpforms-container .wpforms-form input[type="submit"],
body .wpforms-container-full .wpforms-form button[type="submit"],
body .wpforms-container-full .wpforms-form input[type="submit"] {
	font-family: "Outfit", sans-serif !important;
	font-size: 13px; /*clamp(1rem, 0.96875rem + 0.1389vw, 1.125rem) !important;*/
	line-height: 1 !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
}

/* ================================
   EBZ Global Button Hover
   Background Slide-In für alle Divi Buttons
================================ */

body .wpforms-container .wpforms-form button[type="submit"],
body .wpforms-container-full .wpforms-form button[type="submit"] {
  background-image: linear-gradient(
    90deg,
    rgba(214, 214, 214, 0.28) 0%,
    rgba(214, 214, 214, 0.28) 100%
  ) !important;

  background-size: 0% 100% !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;

  transition:
    background-size 0.6s ease,
    color 0.4s ease,
    border-color 0.4s ease !important;
}

body .wpforms-container .wpforms-form button[type="submit"]:hover,
body .wpforms-container-full .wpforms-form button[type="submit"]:hover {
  background-size: 100% 100% !important;
}