/* ==========================================================================
   UGG Karriere – globale Ergänzungen zu Bricks
   Ersetzt: Simple Custom CSS & JS (#22, #24, #84, #4063)
   ========================================================================== */

:root {
	--ugg-dark: #26252c;
	--ugg-text: #1b1b1b;
	--ugg-green: #40b38a;
	--ugg-orange: #e55c3d;
	--ugg-orange-dark: #c94a2e;
	--ugg-grey: #f4f4f4;
	--ugg-border: #d8d8dc;
	--ugg-muted: #6f6f78;
	--ugg-error: #c0392b;
	--ugg-radius: 32px;
	--ugg-ease: cubic-bezier(.2, .7, .2, 1);
	--ugg-focus: 0 0 0 4px rgb(64 179 138 / .22);
}

/* --- Basis --------------------------------------------------------------- */
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Dekorative Kreise ragen über den Rand – kein horizontales Scrollen mehr. */
html,
body {
	overflow-x: clip;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Sprunganker nicht unter dem Viewport-Rand verstecken. */
[id] {
	scroll-margin-top: 24px;
}

/* Sichtbarer Fokus nur bei Tastaturbedienung (Barrierefreiheit). */
body.bricks-is-frontend :focus:not(:focus-visible) {
	outline: none;
}

body.bricks-is-frontend :focus-visible {
	outline: 2px solid var(--ugg-orange);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection {
	background: var(--ugg-green);
	color: #fff;
}

a {
	text-underline-offset: .18em;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* Responsive YouTube-Einbettungen */
.video-container {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.video-container :is(iframe, object, embed) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --- Startseite: Stellenliste ------------------------------------------- */
.job-anzeige {
	transition: border-color .25s var(--ugg-ease);
}

.job-anzeige :is(h6, .brxe-heading) {
	transition: color .2s var(--ugg-ease);
}

.job-anzeige .brxe-icon {
	transition: transform .25s var(--ugg-ease);
}

@media (hover: hover) {
	.job-anzeige:hover {
		border-bottom-color: var(--ugg-orange) !important;
	}

	.job-anzeige:hover :is(h6, .brxe-heading) {
		color: var(--ugg-orange);
	}

	.job-anzeige:hover .brxe-icon {
		transform: translateX(4px);
	}
}

/* Abteilung leer → kein vorangestelltes Trennzeichen */
.job-dept:empty + .job-sep {
	display: none;
}

/* Filter: einheitliche Schrift, kein iOS-Zoom beim Fokussieren (≥ 16px) */
:is(#brxe-twdcxb, #brxe-zszzed, #brxe-lbhbhi) :is(input, select, .jet-checkboxes-list__item, .jet-filter-items-dropdown__label) {
	font-family: inherit;
}

:is(#brxe-twdcxb, #brxe-zszzed, #brxe-lbhbhi) {
	transition: box-shadow .2s var(--ugg-ease), border-color .2s var(--ugg-ease);
}

:is(#brxe-twdcxb, #brxe-zszzed, #brxe-lbhbhi):focus-within {
	box-shadow: var(--ugg-focus);
}

/* --- Header-Logo --------------------------------------------------------- */
@media (max-width: 478px) {
	/* Grüner Kreis groß genug für den kompletten Schriftzug */
	#brxe-wtjfoi {
		height: 370px;
		margin-top: -232px;
	}

	#brxe-zliwma {
		height: 38px;
	}
}

/* --- Startseite mobil ---------------------------------------------------- */
@media (max-width: 478px) {
	#brxe-qjzhti,
	#brxe-ijmhzz,
	#brxe-qyytjq {
		font-size: clamp(2.8rem, 10.5vw, 4.4rem);
		line-height: 1.15;
	}

	#brxe-qjzhti {
		width: auto;
		max-width: 100%;
		text-align: center;
	}

	#brxe-mjyzzd {
		width: auto;
		max-width: 100%;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		row-gap: 6px;
		margin-top: 4px;
	}

	#brxe-ijmhzz {
		margin-right: 0;
	}

	#brxe-qyytjq {
		margin-left: 10px;
	}

	#brxe-jilbou {
		font-size: 14px;
		line-height: 1.6;
		padding-inline: 20px;
	}

	:is(#brxe-twdcxb, #brxe-zszzed, #brxe-lbhbhi),
	:is(#brxe-twdcxb, #brxe-zszzed, #brxe-lbhbhi) :is(input, select, .jet-filter-items-dropdown__label) {
		font-size: 16px !important;
	}

	#brxe-twdcxb,
	#brxe-yvhdza {
		width: calc(100% - 40px);
	}

	/* Stellenliste: volle Breite statt 60px Innenabstand */
	#brxe-vgxqwi {
		padding-inline: 0;
	}

	#brxe-qndxrh {
		font-size: 12px;
	}

	#brxe-lycqkr {
		width: auto;
	}
}

/* --- Stellenanzeige (Template „Single Job“) ------------------------------ */
@media (max-width: 478px) {
	#brxe-hyrybl {
		padding-left: 20px;
		padding-right: 20px;
	}

	#brxe-pskiev {
		padding-left: 20px;
		padding-right: 20px;
	}

	#brxe-mntigd {
		font-size: 14px;
	}

	#brxe-ljvawu {
		margin-left: 0;
	}
}

#brxe-upcjre :is(ul, ol) {
	padding-left: 1.2em;
}

#brxe-upcjre li + li {
	margin-top: .35em;
}

#brxe-upcjre li::marker {
	color: var(--ugg-green);
}

/* ==========================================================================
   Gravity Forms – gemeinsame Basis (Kontakt- & Bewerbungsformular)
   ========================================================================== */
body .gform_wrapper.gravity-theme {
	font-family: Poppins, system-ui, sans-serif;
	--gf-ctrl-border-color: var(--ugg-border);
}

body .gform_wrapper.gravity-theme :is(input:not([type=checkbox], [type=radio], [type=submit], [type=button], [type=hidden], [type=file]), textarea, select) {
	font-family: inherit;
	font-size: 16px;
	color: var(--ugg-text);
	background-color: #fff;
	border: 2px solid var(--ugg-border);
	border-radius: var(--ugg-radius);
	padding: 12px 18px;
	transition: border-color .2s var(--ugg-ease), box-shadow .2s var(--ugg-ease);
	appearance: none;
}

body .gform_wrapper.gravity-theme textarea {
	border-radius: 20px;
	min-height: 140px;
	resize: vertical;
}

body .gform_wrapper.gravity-theme :is(input, textarea, select):hover {
	border-color: #b9b9c0;
}

body .gform_wrapper.gravity-theme :is(input, textarea, select):focus {
	border-color: var(--ugg-green);
	box-shadow: var(--ugg-focus);
	outline: none;
}

body .gform_wrapper.gravity-theme .gfield_label {
	font-weight: 500;
	color: var(--ugg-text);
}

body .gform_wrapper.gravity-theme .gfield_required {
	color: var(--ugg-orange);
}

/* Fehlerzustände */
body .gform_wrapper.gravity-theme .gfield_error :is(input, textarea, select) {
	border-color: var(--ugg-error) !important;
}

body .gform_wrapper.gravity-theme .gfield_validation_message,
body .gform_wrapper.gravity-theme .validation_message {
	background: none !important;
	border: 0 !important;
	padding: 6px 18px 0 !important;
	margin: 0 !important;
	font-size: 13px;
	color: var(--ugg-error);
}

body .gform_wrapper.gravity-theme .gform_validation_errors {
	border: 0 !important;
	border-radius: 20px;
	background: #fdecea !important;
	box-shadow: none;
	padding: 14px 20px;
	margin: 0 0 16px;
}

body .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-size: 15px;
	color: var(--ugg-error);
}

/* Buttons */
body .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button, input[type=submit]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background-color: var(--ugg-orange) !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color .2s var(--ugg-ease), transform .2s var(--ugg-ease), box-shadow .2s var(--ugg-ease);
}

body .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button, input[type=submit]):hover {
	background-color: var(--ugg-orange-dark) !important;
	box-shadow: 0 8px 20px -8px rgb(229 92 61 / .6);
}

body .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button, input[type=submit]):active {
	transform: translateY(1px);
}

body .gform_wrapper.gravity-theme :is(button, input).gform_previous_button {
	background-color: transparent !important;
	color: var(--ugg-dark) !important;
	box-shadow: inset 0 0 0 2px var(--ugg-border);
}

body .gform_wrapper.gravity-theme :is(button, input).gform_previous_button:hover {
	background-color: #fff !important;
	box-shadow: inset 0 0 0 2px var(--ugg-dark);
}

body .gform_wrapper.gravity-theme .gform_next_button::after {
	content: "→";
	font-size: 18px;
	transition: transform .2s var(--ugg-ease);
}

body .gform_wrapper.gravity-theme .gform_next_button:hover::after {
	transform: translateX(3px);
}

body .gform_wrapper.gravity-theme .gform_ajax_spinner {
	width: 24px;
	height: 24px;
	margin-left: 12px;
	align-self: center;
}

/* Bestätigung nach dem Absenden */
.gform_confirmation_message {
	padding: 28px 32px;
	border-radius: var(--ugg-radius);
	background: #ecf7f2;
	color: var(--ugg-text);
	font-size: 17px;
	line-height: 1.6;
	border-left: 6px solid var(--ugg-green);
}

/* Datenschutz-Checkbox (Kontaktformular) */
body .gform_wrapper.gravity-theme .gfield--type-consent .ginput_container_consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

body .gform_wrapper.gravity-theme input[type=checkbox] {
	accent-color: var(--ugg-green);
	width: 20px;
	height: 20px;
	flex: none;
}

/* Honeypot sicher verstecken */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-honeypot {
	display: none !important;
}

/* ==========================================================================
   Bewerbungsformular (#2) – Material-Design-Felder
   ========================================================================== */
#gform_wrapper_2 .gform_heading {
	display: none;
}

#gform_2 {
	background: var(--ugg-grey);
	border-radius: var(--ugg-radius);
	overflow: hidden;
}

#gform_2 .gform_fields {
	padding: 24px 24px 4px;
	row-gap: 16px;
}

#gform_2 .gform_page_footer,
#gform_2 .gform_footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	padding: 8px 24px 24px;
	margin: 0;
}

/* Erste Seite hat nur „Weiter“, „Zurück“ erst auf Seite 2 */
#gform_page_2_1 .gform_last_page_button {
	display: none;
}

/* Schritt-Anzeige */
#gf_page_steps_2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--ugg-border);
}

#gf_page_steps_2 .gf_step {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 500;
	opacity: 1;
	transition: background-color .3s var(--ugg-ease), color .3s var(--ugg-ease);
}

#gf_page_steps_2 .gf_step_number {
	display: inline-grid;
	place-items: center;
	width: 28px !important;
	height: 28px !important;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--ugg-dark);
	font-size: 13px;
	font-weight: 600;
}

#gf_page_steps_2 :is(.gf_step_active, .gf_step_completed) {
	background: var(--ugg-dark);
}

#gf_page_steps_2 :is(.gf_step_active, .gf_step_completed) .gf_step_label {
	color: #fff;
}

#gf_page_steps_2 .gf_step_active {
	border-radius: 0 999px 999px 0;
}

#gf_page_steps_2 .gf_step_completed .gf_step_number::before {
	width: 28px !important;
	height: 28px !important;
	background: var(--ugg-green);
	border-color: var(--ugg-green);
}

#gf_page_steps_2 .gf_step_completed .gf_step_number::after {
	color: #fff;
}

#gf_page_steps_2 .gpmpn-page-link {
	display: flex;
	align-items: center;
	gap: 10px;
	color: inherit;
}

#gform_wrapper_2 .gpmpn-page-link,
#gform_wrapper_2 .gpmpn-page-link .gf_step_label {
	text-decoration: none !important;
	cursor: pointer;
}

/* Schwebende Labels */
body .gform_wrapper.gravity-theme .material-design-field.gfield {
	position: relative;
}

body .gform_wrapper.gravity-theme .material-design-field .gfield_label {
	position: absolute !important;
	top: 25px;
	left: 20px;
	z-index: 2;
	margin: 0;
	padding: 0;
	max-width: calc(100% - 40px);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size: 15px;
	font-weight: 400 !important;
	line-height: 1.35;
	color: var(--ugg-muted) !important;
	background: transparent !important;
	transform: translateY(-50%);
	transform-origin: left center;
	pointer-events: none;
	transition: top .18s var(--ugg-ease), font-size .18s var(--ugg-ease), color .18s var(--ugg-ease);
}

body .gform_wrapper.gravity-theme .material-design-field.gfield--type-textarea .gfield_label {
	top: 26px;
}

body .gform_wrapper.gravity-theme .material-design-field:is(:focus-within, .filled-field, :has(:autofill), .gfield--type-select) .gfield_label {
	top: 12px;
	font-size: 11px;
	transform: none;
}

body .gform_wrapper.gravity-theme .material-design-field:focus-within .gfield_label {
	color: #2f8c6b !important;
}

body .gform_wrapper.gravity-theme .material-design-field.gfield_error .gfield_label {
	color: var(--ugg-error) !important;
}

body .gform_wrapper.gravity-theme .material-design-field :is(input, select) {
	height: 52px;
	padding: 20px 18px 6px !important;
	border-radius: var(--ugg-radius) !important;
}

body .gform_wrapper.gravity-theme .material-design-field textarea {
	padding: 24px 18px 10px !important;
	border-radius: 20px !important;
}

body .gform_wrapper.gravity-theme .material-design-field .gfield_required {
	display: none !important;
}

body .gform_wrapper.gravity-theme .material-design-field.gfield_contains_required .gfield_label::after {
	content: " *";
	color: var(--ugg-orange);
}

/* Autofill erkennen (site.js lauscht auf diese Animation) */
@keyframes ugg-autofill {
	from { opacity: 1; }
	to { opacity: 1; }
}

.material-design-field input:autofill {
	animation-name: ugg-autofill;
	animation-duration: 1ms;
}

/* Hinweistext Seite 2 */
#field_2_21 {
	font-size: 15px;
	line-height: 1.55;
	color: var(--ugg-muted);
}

#field_2_21 p {
	margin: 0;
}

/* Datei-Uploads */
#gform_wrapper_2 .gfield--type-fileupload .gfield_label {
	font-size: 15px;
	margin-bottom: 8px;
}

#gform_wrapper_2 .gform_fileupload_multifile {
	border: 0;
	background: transparent;
	height: auto !important;
}

#gform_wrapper_2 .gform_drop_area {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 150px;
	padding: 24px 16px;
	border: 2px dashed #c4c4ca !important;
	border-radius: 20px;
	background: #fff !important;
	color: var(--ugg-muted);
	font-size: 14px;
	text-align: center;
	transition: border-color .2s var(--ugg-ease), background-color .2s var(--ugg-ease);
}

#gform_wrapper_2 .gform_drop_area::before {
	content: "";
	width: 34px;
	height: 34px;
	background: var(--ugg-green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0-4 4m4-4 4 4'/%3E%3Cpath d='M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4m0 0-4 4m4-4 4 4'/%3E%3Cpath d='M4 16v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3C/svg%3E") center / contain no-repeat;
}

#gform_wrapper_2 .gform_drop_area:is(:hover, .hover, .gform_drop_area--dragover, :focus-within) {
	border-color: var(--ugg-green) !important;
	background: #f3fbf7 !important;
}

#gform_wrapper_2 .gform_button_select_files {
	min-height: 0;
	padding: 8px 18px;
	border: 2px solid var(--ugg-dark) !important;
	border-radius: 999px;
	background: transparent !important;
	color: var(--ugg-dark);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .2s var(--ugg-ease), color .2s var(--ugg-ease);
}

#gform_wrapper_2 .gform_button_select_files:hover {
	background: var(--ugg-dark) !important;
	color: #fff;
}

#gform_wrapper_2 .gform_fileupload_rules {
	display: block;
	margin-top: 6px;
	padding-left: 18px;
	font-size: 12px;
	color: var(--ugg-muted);
}

#gform_wrapper_2 .ginput_preview {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding: 8px 14px;
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
}

#gform_wrapper_2 .ginput_preview .gform_delete_file {
	order: 2;
	margin-left: auto;
	color: var(--ugg-error);
}

/* Datenschutz-Schalter (Toggle) – tastaturbedienbar */
.toggle-switch-gravity-light .gchoice {
	position: relative;
}

.toggle-switch-gravity-light input[type=checkbox] {
	position: absolute !important;
	opacity: 0;
	width: 60px !important;
	height: 34px !important;
	margin: 0;
	cursor: pointer;
	z-index: 3;
}

.toggle-switch-gravity-light label.gform-field-label--type-inline {
	position: relative;
	display: block;
	min-height: 34px;
	padding-left: 74px;
	font-size: 15px !important;
	line-height: 1.5;
	color: var(--ugg-text);
	cursor: pointer;
}

.toggle-switch-gravity-light label a {
	text-decoration: underline;
	position: relative;
	z-index: 4;
}

.toggle-switch-gravity-light label.gform-field-label--type-inline::before,
.toggle-switch-gravity-light label.gform-field-label--type-inline::after {
	content: "";
	position: absolute;
	visibility: visible;
	transition: transform .25s var(--ugg-ease), background-color .25s var(--ugg-ease), border-color .25s var(--ugg-ease);
}

.toggle-switch-gravity-light label.gform-field-label--type-inline::before {
	top: 0;
	left: 0;
	width: 60px;
	height: 34px;
	border: 2px solid #a7a7ae;
	border-radius: 999px;
	background: #fff;
	box-sizing: border-box;
}

.toggle-switch-gravity-light label.gform-field-label--type-inline::after {
	top: 5px;
	left: 5px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #a7a7ae url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.toggle-switch-gravity-light input[type=checkbox]:checked + label.gform-field-label--type-inline::before {
	border-color: var(--ugg-green);
	background: #ecf7f2;
}

.toggle-switch-gravity-light input[type=checkbox]:checked + label.gform-field-label--type-inline::after {
	transform: translateX(26px);
	background-color: var(--ugg-green);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

.toggle-switch-gravity-light input[type=checkbox]:focus-visible + label::before {
	box-shadow: var(--ugg-focus);
}

/* Mobil */
@media (max-width: 640px) {
	#gform_2 .gform_fields {
		padding: 20px 16px 4px;
	}

	#gform_2 .gform_page_footer,
	#gform_2 .gform_footer {
		padding: 8px 16px 20px;
	}

	#gform_2 .gform_page_footer :is(button, input),
	#gform_2 .gform_footer :is(button, input) {
		flex: 1 1 auto;
	}

	#gf_page_steps_2 .gf_step {
		padding: 10px 12px;
		font-size: 13px;
	}

	body .gform_wrapper.gravity-theme .gfield--width-half {
		grid-column: span 12;
	}
}

body .gform_wrapper.gravity-theme .gfield--type-consent .gfield_consent_label {
	color: var(--ugg-text);
	font-size: 15px;
	line-height: 1.5;
}
