/*
|--------------------------------------------------------------------------
| FINANZ- & IMMOBILIENVERWALTER PRO
| Immobilienanfragen Frontend
|--------------------------------------------------------------------------
|
| Shortcode:
|
| [immobilienanfrage]
|
| Alle Styles sind unter .fc-immo-app gekapselt.
|
*/


/*
|--------------------------------------------------------------------------
| DESIGN TOKENS
|--------------------------------------------------------------------------
*/

.fc-immo-app {

	--fc-immo-navy: #16324F;
	--fc-immo-navy-dark: #10283F;
	--fc-immo-navy-soft: #EAF0F5;

	--fc-immo-text: #111827;
	--fc-immo-text-soft: #344054;

	--fc-immo-muted: #667085;
	--fc-immo-muted-light: #98A2B3;

	--fc-immo-border: #D9E2EA;
	--fc-immo-border-light: #E9EEF3;

	--fc-immo-bg: #FFFFFF;
	--fc-immo-bg-soft: #F7F9FB;
	--fc-immo-bg-selected: #F3F7FA;

	--fc-immo-green: #237A45;
	--fc-immo-green-bg: #EAF6EF;

	--fc-immo-amber: #A15C00;
	--fc-immo-amber-bg: #FFF3DF;

	--fc-immo-red: #B42318;
	--fc-immo-red-bg: #FFF1F0;

	--fc-immo-radius-sm: 10px;
	--fc-immo-radius: 14px;
	--fc-immo-radius-lg: 18px;

	--fc-immo-shadow-sm:
		0 2px 8px rgba(16, 40, 63, 0.05);

	--fc-immo-shadow:
		0 10px 30px rgba(16, 40, 63, 0.08);

	width: 100%;

	color:
		var(--fc-immo-text);

	font-family:
		Inter,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Arial,
		sans-serif;

	font-size: 16px;
	line-height: 1.5;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

}


/*
|--------------------------------------------------------------------------
| BOX SIZING
|--------------------------------------------------------------------------
*/

.fc-immo-app,
.fc-immo-app * {

	box-sizing: border-box;

}


/*
|--------------------------------------------------------------------------
| WORDPRESS / ELEMENTOR RESET
|--------------------------------------------------------------------------
*/

.fc-immo-app button,
.fc-immo-app input,
.fc-immo-app select,
.fc-immo-app textarea {

	font: inherit;

}


.fc-immo-app button {

	margin: 0 !important;

	appearance: none !important;
	-webkit-appearance: none !important;

	background-image:
		none !important;

	text-transform:
		none !important;

	text-decoration:
		none !important;

	box-shadow:
		none;

	cursor:
		pointer;

}


.fc-immo-app button:focus,
.fc-immo-app input:focus,
.fc-immo-app select:focus,
.fc-immo-app textarea:focus {

	outline:
		none;

}


.fc-immo-app a {

	color:
		inherit;

}


/*
|--------------------------------------------------------------------------
| HAUPTCONTAINER
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-shell {

	width: 100%;
	max-width: 1180px;

	margin:
		0 auto;

	padding:
		34px
		28px
		38px;

	background:
		var(--fc-immo-bg);

}


/*
|--------------------------------------------------------------------------
| FRAGEBOGEN BREITE
|--------------------------------------------------------------------------
|
| Die Auswahl darf für 4 Karten breiter sein.
| Der eigentliche Fragebogen bleibt kompakt.
|
*/

.fc-immo-app .fc-immo-questionnaire {

	width: 100%;
	max-width: 960px;

	margin:
		0 auto;

}


.fc-immo-app .fc-immo-questionnaire[hidden] {

	display:
		none !important;

}


/*
|--------------------------------------------------------------------------
| AUSWAHL
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection {

	width: 100%;

}


.fc-immo-app .fc-immo-selection-head {

	width: 100%;

}


.fc-immo-app .fc-immo-eyebrow {

	margin:
		0
		0
		10px;

	color:
		var(--fc-immo-navy);

	font-size: 11px;
	font-weight: 700;

	letter-spacing:
		0.18em;

	line-height:
		1.4;

	text-transform:
		uppercase;

}


.fc-immo-app .fc-immo-selection-title {

	max-width:
		680px;

	margin:
		0;

	color:
		#050505;

	font-size:
		clamp(
			26px,
			3vw,
			34px
		);

	font-weight:
		700;

	letter-spacing:
		-0.025em;

	line-height:
		1.2;

}


.fc-immo-app .fc-immo-selection-intro {

	max-width:
		720px;

	margin:
		8px
		0
		28px;

	color:
		var(--fc-immo-muted);

	font-size:
		14px;

	line-height:
		1.6;

}


/*
|--------------------------------------------------------------------------
| AUSWAHLGRID – 4 KARTEN
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-grid {

	display:
		grid;

	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);

	gap:
		16px;

	width:
		100%;

	min-width:
		0;

}


/*
|--------------------------------------------------------------------------
| AUSWAHLKARTEN
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-card {

	position:
		relative;

	display:
		flex !important;

	flex-direction:
		column;

	align-items:
		flex-start !important;

	justify-content:
		flex-start !important;

	width:
		100% !important;

	min-width:
		0 !important;

	min-height:
		300px;

	overflow:
		hidden !important;

	padding:
		24px !important;

	border:
		1px solid
		var(--fc-immo-border) !important;

	border-radius:
		20px !important;

	background:
		#FFFFFF !important;

	background-image:
		none !important;

	color:
		var(--fc-immo-text) !important;

	text-align:
		left !important;

	text-decoration:
		none !important;

	white-space:
		normal !important;

	box-shadow:
		none !important;

	transition:
		transform 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease !important;

}


.fc-immo-app .fc-immo-selection-card:hover {

	transform:
		translateY(-5px);

	border-color:
		#B8C7D5 !important;

	box-shadow:
		0 16px 36px
		rgba(22, 50, 79, 0.10) !important;

	text-decoration:
		none !important;

}


.fc-immo-app .fc-immo-selection-card:focus-visible {

	outline:
		none;

	box-shadow:
		0 0 0 4px
		rgba(22, 50, 79, 0.12) !important;

}


/*
|--------------------------------------------------------------------------
| EXTERNE KARTE – IMMOBILIENBESTAND
|--------------------------------------------------------------------------
*/

.fc-immo-app
.fc-immo-selection-card.is-external {

	text-decoration:
		none !important;

}


.fc-immo-app
.fc-immo-selection-card.is-external:visited {

	color:
		var(--fc-immo-text) !important;

}


/*
|--------------------------------------------------------------------------
| AKZENTLINIE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-accent {

	position:
		absolute;

	top: 0;
	left: 0;

	width: 100%;
	height: 4px;

	background:
		var(--fc-immo-navy);

	transform:
		scaleX(0);

	transform-origin:
		left;

	transition:
		transform 0.25s ease;

}


.fc-immo-app
.fc-immo-selection-card:hover
.fc-immo-selection-accent {

	transform:
		scaleX(1);

}


/*
|--------------------------------------------------------------------------
| AUSWAHL-ICON
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-icon {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		56px;

	height:
		56px;

	flex:
		0 0 auto;

	margin-bottom:
		20px;

	border-radius:
		15px;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

	transition:
		background 0.25s ease,
		color 0.25s ease;

}


.fc-immo-app
.fc-immo-selection-icon svg {

	display:
		block;

	width:
		28px;

	height:
		28px;

}


.fc-immo-app
.fc-immo-selection-card:hover
.fc-immo-selection-icon {

	background:
		var(--fc-immo-navy);

	color:
		#FFFFFF;

}


/*
|--------------------------------------------------------------------------
| KARTENINHALT
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-content {

	display:
		flex;

	flex:
		1;

	flex-direction:
		column;

	width:
		100%;

	max-width:
		100%;

	min-width:
		0;

}


.fc-immo-app .fc-immo-selection-card-title {

	display:
		block;

	width:
		100%;

	max-width:
		100%;

	min-width:
		0;

	margin-bottom:
		8px;

	color:
		var(--fc-immo-navy);

	font-size:
		18px;

	font-weight:
		700;

	line-height:
		1.3;

	white-space:
		normal !important;

	overflow-wrap:
		break-word !important;

	word-break:
		normal !important;

}


.fc-immo-app .fc-immo-selection-card-text {

	display:
		block !important;

	flex:
		1;

	width:
		100%;

	max-width:
		100%;

	min-width:
		0;

	margin-bottom:
		22px;

	overflow:
		visible !important;

	color:
		var(--fc-immo-muted);

	font-size:
		13px;

	line-height:
		1.6;

	white-space:
		normal !important;

	overflow-wrap:
		break-word !important;

	word-wrap:
		break-word !important;

	word-break:
		normal !important;

	text-overflow:
		clip !important;

}


/*
|--------------------------------------------------------------------------
| AUSWAHL CTA
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-selection-cta {

	display:
		inline-flex;

	align-items:
		center;

	gap:
		8px;

	width:
		auto;

	margin-top:
		auto;

	color:
		var(--fc-immo-navy);

	font-size:
		13px;

	font-weight:
		700;

	line-height:
		1.4;

	white-space:
		normal !important;

}


.fc-immo-app .fc-immo-selection-arrow {

	display:
		inline-block;

	flex:
		0 0 auto;

	transition:
		transform 0.2s ease;

}


.fc-immo-app
.fc-immo-selection-card:hover
.fc-immo-selection-arrow {

	transform:
		translateX(4px);

}


/*
|--------------------------------------------------------------------------
| FRAGEBOGENKOPF
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-questionnaire-top {

	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		18px;

	margin-bottom:
		20px;

}


.fc-immo-app .fc-immo-change-type {

	display:
		inline-flex !important;

	align-items:
		center !important;

	justify-content:
		center !important;

	gap:
		7px;

	min-height:
		38px;

	padding:
		8px
		12px !important;

	border:
		1px solid
		var(--fc-immo-border) !important;

	border-radius:
		10px !important;

	background:
		#FFFFFF !important;

	background-image:
		none !important;

	color:
		var(--fc-immo-navy) !important;

	font-size:
		12px !important;

	font-weight:
		700 !important;

	line-height:
		1.2 !important;

}


.fc-immo-app
.fc-immo-change-type:hover {

	border-color:
		var(--fc-immo-navy) !important;

	background:
		var(--fc-immo-bg-soft) !important;

}


.fc-immo-app .fc-immo-request-label {

	display:
		inline-flex;

	align-items:
		center;

	padding:
		7px
		11px;

	border-radius:
		999px;

	background:
		var(--fc-immo-bg-soft);

	color:
		var(--fc-immo-muted);

	font-size:
		11px;

	font-weight:
		700;

}


/*
|--------------------------------------------------------------------------
| STEPPER
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-stepper {

	display:
		flex;

	align-items:
		center;

	width:
		100%;

	gap:
		16px;

	overflow-x:
		auto;

	overflow-y:
		hidden;

	padding:
		1px
		0
		11px;

	scrollbar-width:
		none;

}


.fc-immo-app
.fc-immo-stepper::-webkit-scrollbar {

	display:
		none;

}


.fc-immo-app .fc-immo-step {

	display:
		inline-flex;

	align-items:
		center;

	gap:
		6px;

	flex:
		0 0 auto;

	color:
		#A7B0BD;

	font-size:
		13px;

	font-weight:
		600;

	white-space:
		nowrap;

}


.fc-immo-app .fc-immo-step-dot {

	display:
		inline-flex !important;

	align-items:
		center !important;

	justify-content:
		center !important;

	width:
		23px !important;

	min-width:
		23px !important;

	height:
		23px !important;

	padding:
		0 !important;

	border-radius:
		50% !important;

	background:
		#EEF2F6 !important;

	color:
		#AAB4C0 !important;

	font-size:
		11px !important;

	font-weight:
		700 !important;

	line-height:
		1 !important;

}


.fc-immo-app
.fc-immo-step.is-active {

	color:
		var(--fc-immo-text);

}


.fc-immo-app
.fc-immo-step.is-active
.fc-immo-step-dot {

	background:
		var(--fc-immo-navy) !important;

	color:
		#FFFFFF !important;

}


.fc-immo-app
.fc-immo-step.is-completed {

	color:
		#A1ACB9;

}


.fc-immo-app
.fc-immo-step.is-completed
.fc-immo-step-dot {

	background:
		var(--fc-immo-green) !important;

	color:
		#FFFFFF !important;

}


/*
|--------------------------------------------------------------------------
| PROGRESS
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-progress {

	position:
		relative;

	width:
		100%;

	height:
		5px;

	overflow:
		hidden;

	margin-bottom:
		36px;

	border-radius:
		999px;

	background:
		#EDF1F4;

}


.fc-immo-app .fc-immo-progress-bar {

	width:
		0;

	height:
		100%;

	border-radius:
		inherit;

	background:
		var(--fc-immo-navy);

	transition:
		width 0.35s ease;

}


/*
|--------------------------------------------------------------------------
| QUESTION CONTAINER
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-question-container {

	width:
		100%;

	min-width:
		0;

}


.fc-immo-app .fc-immo-loading {

	margin:
		0;

	color:
		var(--fc-immo-muted);

	font-size:
		14px;

	text-align:
		center;

}


/*
|--------------------------------------------------------------------------
| FRAGE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-question {

	width:
		100%;

}


.fc-immo-app .fc-immo-question-head {

	margin-bottom:
		24px;

}


.fc-immo-app .fc-immo-question-title {

	margin:
		0;

	color:
		#050505;

	font-size:
		clamp(
			26px,
			3vw,
			34px
		);

	font-weight:
		700;

	letter-spacing:
		-0.025em;

	line-height:
		1.2;

}


.fc-immo-app .fc-immo-question-hint {

	max-width:
		720px;

	margin:
		8px
		0
		0;

	color:
		var(--fc-immo-muted);

	font-size:
		14px;

	line-height:
		1.6;

}


/*
|--------------------------------------------------------------------------
| OBJEKTART
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-object-grid {

	display:
		grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

	gap:
		12px;

	width:
		100%;

	margin-top:
		22px;

}


.fc-immo-app .fc-immo-object-card {

	display:
		flex !important;

	flex-direction:
		column;

	align-items:
		flex-start !important;

	justify-content:
		space-between !important;

	gap:
		15px;

	width:
		100%;

	min-width:
		0;

	min-height:
		125px;

	padding:
		17px !important;

	border:
		1.5px solid
		var(--fc-immo-border) !important;

	border-radius:
		var(--fc-immo-radius) !important;

	background:
		#FFFFFF !important;

	background-image:
		none !important;

	color:
		var(--fc-immo-text) !important;

	text-align:
		left !important;

	white-space:
		normal !important;

	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease !important;

}


.fc-immo-app
.fc-immo-object-card:hover {

	border-color:
		#94A9BA !important;

	background:
		#FBFCFD !important;

	box-shadow:
		var(--fc-immo-shadow-sm) !important;

	transform:
		translateY(-1px);

}


.fc-immo-app
.fc-immo-object-card.is-selected {

	border-color:
		var(--fc-immo-navy) !important;

	background:
		var(--fc-immo-bg-selected) !important;

}


.fc-immo-app .fc-immo-object-icon {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		40px;

	height:
		40px;

	border-radius:
		10px;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

}


.fc-immo-app
.fc-immo-object-icon svg {

	width:
		21px;

	height:
		21px;

}


.fc-immo-app .fc-immo-object-label {

	display:
		block;

	width:
		100%;

	color:
		var(--fc-immo-navy);

	font-size:
		14px;

	font-weight:
		700;

	line-height:
		1.35;

	white-space:
		normal !important;

}


/*
|--------------------------------------------------------------------------
| STANDARD OPTIONEN
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-options {

	display:
		grid;

	grid-template-columns:
		1fr;

	gap:
		12px;

	width:
		100%;

	margin-top:
		22px;

}


.fc-immo-app
.fc-immo-options.is-2 {

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);

}


.fc-immo-app
.fc-immo-options.is-3 {

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

}


.fc-immo-app .fc-immo-option {

	display:
		flex !important;

	align-items:
		center !important;

	justify-content:
		space-between !important;

	gap:
		16px;

	width:
		100%;

	min-width:
		0;

	min-height:
		58px;

	padding:
		15px
		17px !important;

	border:
		1.5px solid
		var(--fc-immo-border) !important;

	border-radius:
		var(--fc-immo-radius) !important;

	background:
		#FFFFFF !important;

	background-image:
		none !important;

	color:
		var(--fc-immo-text) !important;

	font-size:
		15px !important;

	font-weight:
		500 !important;

	line-height:
		1.4 !important;

	text-align:
		left !important;

	white-space:
		normal !important;

	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease !important;

}


.fc-immo-app .fc-immo-option:hover {

	border-color:
		#94A9BA !important;

	background:
		#FBFCFD !important;

	box-shadow:
		var(--fc-immo-shadow-sm) !important;

	transform:
		translateY(-1px);

}


.fc-immo-app
.fc-immo-option.is-selected {

	border-color:
		var(--fc-immo-navy) !important;

	background:
		var(--fc-immo-bg-selected) !important;

	box-shadow:
		none !important;

}


.fc-immo-app .fc-immo-option-text {

	flex:
		1;

	min-width:
		0;

}


.fc-immo-app .fc-immo-option-check {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		24px;

	height:
		24px;

	flex:
		0 0 auto;

	border-radius:
		50%;

	background:
		transparent;

	color:
		var(--fc-immo-navy);

	font-size:
		16px;

	font-weight:
		700;

}


/*
|--------------------------------------------------------------------------
| FORMULARFELDER
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-fields {

	display:
		grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);

	gap:
		17px;

	margin-top:
		24px;

}


.fc-immo-app .fc-immo-field {

	min-width:
		0;

}


.fc-immo-app
.fc-immo-field.is-full {

	grid-column:
		1 / -1;

}


.fc-immo-app .fc-immo-field label,
.fc-immo-app .fc-immo-field-label {

	display:
		block;

	margin-bottom:
		7px;

	color:
		var(--fc-immo-text-soft);

	font-size:
		12px;

	font-weight:
		700;

}


.fc-immo-app .fc-immo-optional {

	margin-left:
		4px;

	color:
		var(--fc-immo-muted-light);

	font-size:
		10px;

	font-weight:
		500;

}


.fc-immo-app .fc-immo-field input,
.fc-immo-app .fc-immo-field select,
.fc-immo-app .fc-immo-field textarea {

	width:
		100%;

	border:
		1.5px solid
		var(--fc-immo-border);

	border-radius:
		11px;

	background:
		#FFFFFF;

	color:
		var(--fc-immo-text);

	font-size:
		14px;

	box-shadow:
		none;

}


.fc-immo-app .fc-immo-field input,
.fc-immo-app .fc-immo-field select {

	height:
		48px;

	padding:
		0
		14px;

}


.fc-immo-app .fc-immo-field textarea {

	min-height:
		110px;

	padding:
		13px
		14px;

	resize:
		vertical;

}


.fc-immo-app .fc-immo-field input:focus,
.fc-immo-app .fc-immo-field select:focus,
.fc-immo-app .fc-immo-field textarea:focus {

	border-color:
		var(--fc-immo-navy);

	box-shadow:
		0 0 0 4px
		rgba(22, 50, 79, 0.08);

}


.fc-immo-app
.fc-immo-field input::placeholder,
.fc-immo-app
.fc-immo-field textarea::placeholder {

	color:
		#A7B0BD;

}


/*
|--------------------------------------------------------------------------
| UPLOAD – HAUPTBEREICH
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-upload-section {

	width:
		100%;

	margin-top:
		24px;

}


/*
|--------------------------------------------------------------------------
| UPLOAD HINWEIS
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-upload-note {

	display:
		flex;

	align-items:
		center;

	gap:
		10px;

	flex-wrap:
		wrap;

	margin-bottom:
		18px;

	padding:
		12px
		14px;

	border:
		1px solid
		var(--fc-immo-border-light);

	border-radius:
		11px;

	background:
		var(--fc-immo-bg-soft);

	color:
		var(--fc-immo-muted);

	font-size:
		12px;

	line-height:
		1.5;

}


.fc-immo-app
.fc-immo-upload-note strong {

	display:
		inline-flex;

	align-items:
		center;

	padding:
		4px
		8px;

	border-radius:
		999px;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

	font-size:
		10px;

	font-weight:
		700;

	text-transform:
		uppercase;

	letter-spacing:
		0.05em;

}


/*
|--------------------------------------------------------------------------
| UPLOAD GRID
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-upload-grid {

	display:
		grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);

	gap:
		16px;

	width:
		100%;

}


/*
|--------------------------------------------------------------------------
| UPLOAD KARTE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-upload-card {

	min-width:
		0;

	padding:
		18px;

	border:
		1px solid
		var(--fc-immo-border);

	border-radius:
		var(--fc-immo-radius);

	background:
		#FFFFFF;

	box-shadow:
		0 1px 2px
		rgba(16, 24, 40, 0.02);

}


/*
|--------------------------------------------------------------------------
| BEI 5 KATEGORIEN: LETZTE KARTE VOLLE BREITE
|--------------------------------------------------------------------------
*/

.fc-immo-app
.fc-immo-upload-card:last-child:nth-child(odd) {

	grid-column:
		1 / -1;

}


/*
|--------------------------------------------------------------------------
| UPLOAD KARTENKOPF
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-upload-card-head {

	display:
		flex;

	align-items:
		flex-start;

	gap:
		12px;

	margin-bottom:
		15px;

}


.fc-immo-app .fc-immo-upload-card-icon {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		40px;

	height:
		40px;

	flex:
		0 0 auto;

	border-radius:
		10px;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

}


.fc-immo-app
.fc-immo-upload-card-icon svg {

	width:
		21px;

	height:
		21px;

}


.fc-immo-app .fc-immo-upload-card-copy {

	flex:
		1;

	min-width:
		0;

}


.fc-immo-app
.fc-immo-upload-card-copy strong {

	display:
		block;

	margin:
		1px
		0
		4px;

	color:
		var(--fc-immo-navy);

	font-size:
		13px;

	font-weight:
		700;

	line-height:
		1.35;

}


.fc-immo-app
.fc-immo-upload-card-copy span {

	display:
		block;

	color:
		var(--fc-immo-muted);

	font-size:
		11px;

	line-height:
		1.5;

}


/*
|--------------------------------------------------------------------------
| DROPZONE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-dropzone {

	display:
		flex;

	flex-direction:
		column;

	align-items:
		center;

	justify-content:
		center;

	gap:
		5px;

	min-height:
		128px;

	padding:
		17px;

	border:
		1.5px dashed
		#BFCBD5;

	border-radius:
		12px;

	background:
		#FAFBFC;

	color:
		var(--fc-immo-muted);

	text-align:
		center;

	cursor:
		pointer;

	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		box-shadow 0.18s ease;

}


.fc-immo-app
.fc-immo-dropzone:hover {

	border-color:
		var(--fc-immo-navy);

	background:
		#F5F8FA;

}


.fc-immo-app
.fc-immo-dropzone:focus-visible {

	outline:
		none;

	border-color:
		var(--fc-immo-navy);

	box-shadow:
		0 0 0 4px
		rgba(22, 50, 79, 0.08);

}


.fc-immo-app
.fc-immo-dropzone.is-dragover {

	border-color:
		var(--fc-immo-navy);

	background:
		var(--fc-immo-navy-soft);

	box-shadow:
		inset 0 0 0 1px
		var(--fc-immo-navy);

}


/*
|--------------------------------------------------------------------------
| DROPZONE PLUS
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-dropzone-icon {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		34px;

	height:
		34px;

	margin-bottom:
		3px;

	border-radius:
		50%;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

	font-size:
		23px;

	font-weight:
		400;

	line-height:
		1;

}


/*
|--------------------------------------------------------------------------
| DROPZONE TEXTE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-dropzone-title {

	color:
		var(--fc-immo-navy);

	font-size:
		12px;

	font-weight:
		700;

	line-height:
		1.4;

}


.fc-immo-app .fc-immo-dropzone-meta {

	color:
		var(--fc-immo-muted-light);

	font-size:
		10px;

	line-height:
		1.4;

}


/*
|--------------------------------------------------------------------------
| DATEILISTE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-file-list {

	display:
		grid;

	gap:
		7px;

	margin-top:
		12px;

}


/*
|--------------------------------------------------------------------------
| DATEIZEILE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-file-row {

	display:
		flex;

	align-items:
		center;

	gap:
		10px;

	min-width:
		0;

	padding:
		9px
		10px;

	border:
		1px solid
		var(--fc-immo-border-light);

	border-radius:
		9px;

	background:
		var(--fc-immo-bg-soft);

}


/*
|--------------------------------------------------------------------------
| DATEITYP BADGE
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-file-type {

	display:
		inline-flex;

	align-items:
		center;

	justify-content:
		center;

	min-width:
		42px;

	height:
		28px;

	padding:
		0
		7px;

	flex:
		0 0 auto;

	border-radius:
		7px;

	background:
		var(--fc-immo-navy-soft);

	color:
		var(--fc-immo-navy);

	font-size:
		9px;

	font-weight:
		800;

	letter-spacing:
		0.04em;

}


/*
|--------------------------------------------------------------------------
| DATEIINFO
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-file-info {

	display:
		flex;

	flex:
		1;

	flex-direction:
		column;

	min-width:
		0;

}


.fc-immo-app
.fc-immo-file-info strong {

	display:
		block;

	min-width:
		0;

	overflow:
		hidden;

	color:
		var(--fc-immo-text-soft);

	font-size:
		11px;

	font-weight:
		600;

	line-height:
		1.4;

	text-overflow:
		ellipsis;

	white-space:
		nowrap;

}


.fc-immo-app
.fc-immo-file-info small {

	display:
		block;

	margin-top:
		1px;

	color:
		var(--fc-immo-muted-light);

	font-size:
		9px;

	line-height:
		1.35;

}


/*
|--------------------------------------------------------------------------
| DATEI ENTFERNEN
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-file-remove {

	display:
		inline-flex !important;

	align-items:
		center !important;

	justify-content:
		center !important;

	width:
		29px;

	min-width:
		29px;

	height:
		29px;

	padding:
		0 !important;

	border:
		1px solid
		transparent !important;

	border-radius:
		7px !important;

	background:
		transparent !important;

	color:
		var(--fc-immo-muted) !important;

	font-size:
		19px !important;

	font-weight:
		400 !important;

	line-height:
		1 !important;

}


.fc-immo-app
.fc-immo-file-remove:hover {

	border-color:
		#F1C7C3 !important;

	background:
		var(--fc-immo-red-bg) !important;

	color:
		var(--fc-immo-red) !important;

}


/*
|--------------------------------------------------------------------------
| ZUSAMMENFASSUNG
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-summary {

	margin:
		22px
		0
		26px;

	padding:
		18px;

	border:
		1px solid
		var(--fc-immo-border-light);

	border-radius:
		var(--fc-immo-radius);

	background:
		var(--fc-immo-bg-soft);

}


.fc-immo-app .fc-immo-summary-title {

	margin-bottom:
		11px;

	color:
		var(--fc-immo-navy);

	font-size:
		13px;

	font-weight:
		700;

}


.fc-immo-app .fc-immo-summary-row {

	display:
		grid;

	grid-template-columns:
		160px
		minmax(0, 1fr);

	gap:
		18px;

	padding:
		9px
		0;

	border-bottom:
		1px solid
		#E6EBEF;

}


.fc-immo-app
.fc-immo-summary-row:last-child {

	border-bottom:
		0;

}


.fc-immo-app .fc-immo-summary-label {

	color:
		var(--fc-immo-muted);

	font-size:
		12px;

}


.fc-immo-app .fc-immo-summary-value {

	min-width:
		0;

	color:
		var(--fc-immo-text);

	font-size:
		12px;

	font-weight:
		600;

	text-align:
		right;

}


/*
|--------------------------------------------------------------------------
| DATENSCHUTZ
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-consent {

	display:
		flex !important;

	align-items:
		flex-start !important;

	gap:
		10px;

	width:
		100%;

	padding:
		14px !important;

	border:
		1px solid
		#DCE5EC !important;

	border-radius:
		11px !important;

	background:
		#F4F7F9 !important;

	background-image:
		none !important;

	color:
		var(--fc-immo-text-soft) !important;

	text-align:
		left !important;

}


.fc-immo-app .fc-immo-consent-check {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		22px;

	height:
		22px;

	flex:
		0 0 auto;

	margin-top:
		1px;

	border:
		1.5px solid
		#B8C6D2;

	border-radius:
		6px;

	background:
		#FFFFFF;

	color:
		transparent;

}


.fc-immo-app
.fc-immo-consent.is-selected
.fc-immo-consent-check {

	border-color:
		var(--fc-immo-navy);

	background:
		var(--fc-immo-navy);

	color:
		#FFFFFF;

}


.fc-immo-app .fc-immo-consent-text {

	color:
		var(--fc-immo-muted);

	font-size:
		12px;

	line-height:
		1.6;

}


.fc-immo-app
.fc-immo-consent-text a {

	color:
		inherit;

	font-weight:
		700;

	text-decoration:
		underline;

	text-underline-offset:
		2px;

}


/*
|--------------------------------------------------------------------------
| NAVIGATION
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-navigation {

	display:
		flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		12px;

	width:
		100%;

	margin-top:
		28px;

}


/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-btn {

	display:
		inline-flex !important;

	align-items:
		center !important;

	justify-content:
		center !important;

	min-height:
		44px;

	padding:
		11px
		17px !important;

	border:
		1.5px solid
		transparent !important;

	border-radius:
		11px !important;

	background-image:
		none !important;

	font-size:
		14px !important;

	font-weight:
		700 !important;

	line-height:
		1.2 !important;

	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease !important;

}


.fc-immo-app .fc-immo-btn-primary {

	border-color:
		#16324F !important;

	background:
		#16324F !important;

	color:
		#FFFFFF !important;

}


.fc-immo-app
.fc-immo-btn-primary:hover {

	border-color:
		#10283F !important;

	background:
		#10283F !important;

	transform:
		translateY(-1px);

}


.fc-immo-app .fc-immo-btn-secondary {

	border-color:
		#D5E0E8 !important;

	background:
		#FFFFFF !important;

	color:
		#16324F !important;

}


.fc-immo-app
.fc-immo-btn-secondary:hover {

	border-color:
		#16324F !important;

	background:
		#F4F7F9 !important;

}


.fc-immo-app .fc-immo-btn:disabled {

	opacity:
		0.62;

	cursor:
		not-allowed;

	transform:
		none !important;

}


/*
|--------------------------------------------------------------------------
| FEHLER
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-form-error,
.fc-immo-app .fc-immo-error {

	margin-top:
		18px;

	padding:
		11px
		13px;

	border:
		1px solid
		#F0CAC6;

	border-radius:
		10px;

	background:
		var(--fc-immo-red-bg);

	color:
		var(--fc-immo-red);

	font-size:
		12px;

	font-weight:
		600;

	line-height:
		1.5;

}


/*
|--------------------------------------------------------------------------
| SUCCESS
|--------------------------------------------------------------------------
*/

.fc-immo-app .fc-immo-success {

	max-width:
		680px;

	margin:
		0 auto;

	padding:
		10px
		0;

	text-align:
		center;

}


.fc-immo-app .fc-immo-success-icon {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		72px;

	height:
		72px;

	margin:
		0
		auto
		19px;

	border-radius:
		50%;

	background:
		var(--fc-immo-green-bg);

	color:
		var(--fc-immo-green);

	font-size:
		32px;

	font-weight:
		700;

}


.fc-immo-app .fc-immo-success-title {

	margin:
		0;

	color:
		#050505;

	font-size:
		clamp(
			26px,
			3vw,
			34px
		);

	font-weight:
		700;

	letter-spacing:
		-0.025em;

	line-height:
		1.2;

}


.fc-immo-app .fc-immo-success-intro {

	max-width:
		520px;

	margin:
		8px
		auto
		20px;

	color:
		var(--fc-immo-muted);

	font-size:
		14px;

	line-height:
		1.6;

}


.fc-immo-app .fc-immo-success-reference {

	display:
		inline-flex;

	align-items:
		center;

	padding:
		7px
		11px;

	border-radius:
		999px;

	background:
		var(--fc-immo-bg-soft);

	color:
		var(--fc-immo-muted);

	font-size:
		11px;

	font-weight:
		600;

}


.fc-immo-app .fc-immo-success-files {

	max-width:
		420px;

	margin:
		12px
		auto
		0;

	padding:
		9px
		12px;

	border:
		1px solid
		#CAE5D5;

	border-radius:
		10px;

	background:
		var(--fc-immo-green-bg);

	color:
		var(--fc-immo-green);

	font-size:
		11px;

	font-weight:
		600;

	line-height:
		1.5;

}


.fc-immo-app .fc-immo-success-actions {

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	gap:
		10px;

	flex-wrap:
		wrap;

	margin-top:
		24px;

}


/*
|--------------------------------------------------------------------------
| NOTEBOOK / KLEINER DESKTOP
|--------------------------------------------------------------------------
|
| Vier Karten nur dort, wo auch wirklich genug Platz vorhanden ist.
|
*/

@media screen and (max-width: 1100px) {

	.fc-immo-app
	.fc-immo-selection-grid {

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

		gap:
			18px;

	}


	.fc-immo-app
	.fc-immo-selection-card {

		min-height:
			270px;

	}


	.fc-immo-app
	.fc-immo-selection-card-title {

		font-size:
			19px;

	}


	.fc-immo-app
	.fc-immo-selection-card-text {

		font-size:
			14px;

	}

}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media screen and (max-width: 800px) {

	.fc-immo-app .fc-immo-shell {

		padding:
			28px
			20px
			32px;

	}


	/*
	|--------------------------------------------------------------------------
	| STARTKARTEN 2 × 2
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-selection-grid {

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

		gap:
			15px;

	}


	.fc-immo-app
	.fc-immo-selection-card {

		min-height:
			250px;

		padding:
			22px !important;

	}


	/*
	|--------------------------------------------------------------------------
	| FORMULAR
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-fields {

		grid-template-columns:
			1fr;

	}


	.fc-immo-app
	.fc-immo-field.is-full {

		grid-column:
			auto;

	}


	.fc-immo-app
	.fc-immo-object-grid {

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

	}


	.fc-immo-app
	.fc-immo-options.is-3 {

		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);

	}


	/*
	|--------------------------------------------------------------------------
	| UPLOAD
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-upload-grid {

		grid-template-columns:
			1fr;

	}


	.fc-immo-app
	.fc-immo-upload-card:last-child:nth-child(odd) {

		grid-column:
			auto;

	}

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media screen and (max-width: 600px) {

	.fc-immo-app {

		font-size:
			15px;

	}


	.fc-immo-app .fc-immo-shell {

		padding:
			22px
			16px
			26px;

	}


	.fc-immo-app
	.fc-immo-selection-title,
	.fc-immo-app
	.fc-immo-question-title,
	.fc-immo-app
	.fc-immo-success-title {

		font-size:
			26px;

	}


	/*
	|--------------------------------------------------------------------------
	| STARTKARTEN – 1 SPALTE
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-selection-grid {

		grid-template-columns:
			1fr;

		gap:
			14px;

	}


	.fc-immo-app
	.fc-immo-selection-card {

		min-height:
			auto;

		padding:
			23px !important;

		border-radius:
			16px !important;

	}


	.fc-immo-app
	.fc-immo-selection-icon {

		width:
			52px;

		height:
			52px;

		margin-bottom:
			18px;

	}


	.fc-immo-app
	.fc-immo-selection-card-title {

		font-size:
			18px;

	}


	.fc-immo-app
	.fc-immo-selection-card-text {

		margin-bottom:
			18px;

		font-size:
			13px;

	}


	/*
	|--------------------------------------------------------------------------
	| FRAGEBOGENKOPF
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-questionnaire-top {

		align-items:
			flex-start;

		flex-direction:
			column;

		gap:
			10px;

	}


	/*
	|--------------------------------------------------------------------------
	| STEPPER
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-stepper {

		gap:
			12px;

		padding-bottom:
			9px;

	}


	.fc-immo-app
	.fc-immo-step {

		font-size:
			11px;

	}


	.fc-immo-app
	.fc-immo-step:not(.is-active)
	.fc-immo-step-label {

		display:
			none;

	}


	.fc-immo-app
	.fc-immo-step.is-active
	.fc-immo-step-label {

		display:
			inline;

	}


	.fc-immo-app
	.fc-immo-progress {

		height:
			4px;

		margin-bottom:
			27px;

	}


	/*
	|--------------------------------------------------------------------------
	| OBJEKTE
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-object-grid {

		grid-template-columns:
			1fr;

	}


	.fc-immo-app
	.fc-immo-options.is-2,
	.fc-immo-app
	.fc-immo-options.is-3 {

		grid-template-columns:
			1fr;

	}


	/*
	|--------------------------------------------------------------------------
	| ZUSAMMENFASSUNG
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-summary-row {

		grid-template-columns:
			1fr;

		gap:
			3px;

	}


	.fc-immo-app
	.fc-immo-summary-value {

		text-align:
			left;

	}


	/*
	|--------------------------------------------------------------------------
	| UPLOAD
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-upload-section {

		margin-top:
			18px;

	}


	.fc-immo-app
	.fc-immo-upload-note {

		align-items:
			flex-start;

		flex-direction:
			column;

		gap:
			7px;

	}


	.fc-immo-app
	.fc-immo-upload-card {

		padding:
			15px;

		border-radius:
			12px;

	}


	.fc-immo-app
	.fc-immo-upload-card-head {

		gap:
			10px;

	}


	.fc-immo-app
	.fc-immo-upload-card-icon {

		width:
			38px;

		height:
			38px;

	}


	.fc-immo-app
	.fc-immo-dropzone {

		min-height:
			118px;

		padding:
			15px
			12px;

	}


	.fc-immo-app
	.fc-immo-file-row {

		gap:
			8px;

		padding:
			8px;

	}


	.fc-immo-app
	.fc-immo-file-type {

		min-width:
			38px;

	}


	/*
	|--------------------------------------------------------------------------
	| NAVIGATION
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-navigation {

		gap:
			10px;

		margin-top:
			25px;

	}


	.fc-immo-app
	.fc-immo-btn {

		min-height:
			43px;

		padding:
			10px
			15px !important;

		font-size:
			13px !important;

	}

}


/*
|--------------------------------------------------------------------------
| SEHR KLEINE DISPLAYS
|--------------------------------------------------------------------------
*/

@media screen and (max-width: 400px) {

	.fc-immo-app
	.fc-immo-shell {

		padding-right:
			12px;

		padding-left:
			12px;

	}


	/*
	|--------------------------------------------------------------------------
	| NAVIGATION UNTEREINANDER
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-navigation {

		flex-direction:
			column-reverse;

		align-items:
			stretch;

	}


	.fc-immo-app
	.fc-immo-navigation
	.fc-immo-btn {

		width:
			100%;

	}


	/*
	|--------------------------------------------------------------------------
	| DATEILISTE
	|--------------------------------------------------------------------------
	*/

	.fc-immo-app
	.fc-immo-file-type {

		display:
			none;

	}


	.fc-immo-app
	.fc-immo-success-actions
	.fc-immo-btn {

		width:
			100%;

	}

}