/*
 * Ziel Baumaschinen Suite 3.0.2
 * Fixed action rail with a separately scrolling, compact content area.
 */

/* The modal form now owns two real rows. The action rail therefore never
 * floats over a choice, field or validation message. */
body .zielbm-funnel-modal .zielbm-funnel__form-stage{
	display:grid!important;
	grid-template-rows:minmax(0,1fr) auto!important;
	height:100%!important;
	min-height:0!important;
	padding:0!important;
	overflow:hidden!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__content{
	min-width:0!important;
	min-height:0!important;
	padding:22px 28px 14px!important;
	overflow-x:hidden!important;
	overflow-y:auto!important;
	scrollbar-gutter:stable;
	scroll-padding-bottom:14px;
	overscroll-behavior:contain;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__nav{
	position:relative!important;
	right:auto!important;
	bottom:auto!important;
	left:auto!important;
	z-index:4!important;
	width:100%!important;
	min-height:58px!important;
	margin:0!important;
	padding:7px 24px!important;
	border-top:1px solid rgba(255,255,255,.17)!important;
	background:#041f28!important;
	box-shadow:0 -8px 22px rgba(0,0,0,.18)!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__back,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__next{
	min-height:42px!important;
	padding:8px 17px!important;
	font-size:13px!important;
	line-height:1.15!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__next{
	min-width:136px!important;
	box-shadow:0 7px 18px rgba(130,0,0,.22)!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__security{
	max-width:315px!important;
	font-size:10px!important;
	line-height:1.3!important;
}

/* Compact typography and controls keep all ordinary selection steps visible
 * at common laptop and desktop viewport heights. */
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question{
	margin:0 0 12px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__eyebrow{
	margin:0 0 6px!important;
	font-size:9px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question h3{
	font-size:clamp(25px,2.35vw,31px)!important;
	line-height:1.06!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question p{
	margin-top:6px!important;
	font-size:12.5px!important;
	line-height:1.35!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options.is-compact{
	gap:7px!important;
	margin-top:12px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options.is-compact .zielbm-option{
	min-height:56px!important;
	grid-template-columns:39px minmax(0,1fr) 18px!important;
	gap:9px!important;
	padding:8px 10px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option__icon,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options.is-compact .zielbm-option__icon{
	width:38px!important;
	height:38px!important;
	border-radius:9px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option__icon svg{
	width:22px!important;
	height:22px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option__copy strong{
	font-size:13.5px!important;
	line-height:1.18!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option__copy small{
	margin-top:1px!important;
	font-size:10.5px!important;
	line-height:1.22!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-subquestion{
	margin:0 0 9px!important;
	padding:11px!important;
	border-radius:12px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-subquestion h4{
	margin:0 0 8px!important;
	font-size:13.5px!important;
	line-height:1.2!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios{
	gap:7px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios>button{
	min-height:52px!important;
	grid-template-columns:36px minmax(0,1fr) 18px!important;
	gap:8px!important;
	padding:7px 9px!important;
	border-radius:10px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radio-icon{
	width:36px!important;
	height:36px!important;
	padding:5px!important;
	border-radius:8px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios strong{
	font-size:12.5px!important;
	line-height:1.18!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios small{
	font-size:10px!important;
	line-height:1.2!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-fields{
	gap:8px 10px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-fields label>span,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-time>span{
	margin-bottom:4px!important;
	font-size:11px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-fields input,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-fields select,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-fields textarea,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-time select{
	min-height:41px!important;
	padding:8px 10px!important;
	font-size:14px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-requirement{
	margin-bottom:10px!important;
	padding:9px 11px!important;
	font-size:11px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-choice{
	margin-top:10px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-choice h4{
	margin-bottom:7px!important;
	font-size:12px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-methods>button{
	min-height:42px!important;
	padding:8px 10px!important;
}

body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-contact-time,
body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-consent{
	margin-top:9px!important;
}

/* The inline landing-page funnel keeps its document-height behaviour. */
body.zielbm-request-hub-active .zielbm-v110 .zielbm-request-hub__funnel .zielbm-funnel__form-stage{
	display:flex!important;
	padding:28px 35px 0!important;
	overflow:visible!important;
}

body.zielbm-request-hub-active .zielbm-v110 .zielbm-request-hub__funnel .zielbm-funnel__content{
	padding:0!important;
	overflow:visible!important;
}

body.zielbm-request-hub-active .zielbm-v110 .zielbm-request-hub__funnel .zielbm-funnel__nav{
	width:auto!important;
	margin:auto -35px 0!important;
}

@media(max-width:820px){
	body .zielbm-funnel-modal .zielbm-funnel__visual-stage{
		flex:0 0 128px!important;
		height:128px!important;
		min-height:128px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__content{
		padding:14px 13px 10px!important;
		scrollbar-gutter:auto;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__nav{
		min-height:56px!important;
		padding:7px 12px calc(7px + env(safe-area-inset-bottom))!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__back,
	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__next{
		min-height:40px!important;
		padding:7px 13px!important;
		font-size:12.5px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__next{
		min-width:124px!important;
		flex:0 1 auto!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question h3{
		font-size:24px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options,
	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options.is-compact{
		grid-template-columns:1fr!important;
		gap:6px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option,
	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-options.is-compact .zielbm-option{
		min-height:52px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-subquestion{
		padding:9px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios>button{
		min-height:48px!important;
	}

	body.zielbm-request-hub-active .zielbm-v110 .zielbm-request-hub__funnel .zielbm-funnel__form-stage{
		padding:28px 20px 0!important;
	}

	body.zielbm-request-hub-active .zielbm-v110 .zielbm-request-hub__funnel .zielbm-funnel__nav{
		margin:24px -20px 0!important;
	}
}

@media(max-width:520px){
	body .zielbm-funnel-modal .zielbm-funnel__visual-stage{
		flex-basis:105px!important;
		height:105px!important;
		min-height:105px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__visual-copy{
		display:none!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question p,
	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-option__copy small{
		display:none!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-funnel__question h3{
		font-size:22px!important;
	}

	body .zielbm-funnel-modal .zielbm-funnel__form-stage .zielbm-radios{
		grid-template-columns:1fr!important;
	}
}
