.ecbs-booking{--ecbs-yellow:#f9d344;--ecbs-dark:#111;--ecbs-text:#202020;--ecbs-muted:#686868;--ecbs-border:#dedede;max-width:1280px;margin:0 auto;font-family:Roboto,Arial,sans-serif;color:var(--ecbs-text)}.ecbs-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:34px;align-items:start}.ecbs-form{min-width:0;background:#fff}.ecbs-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px}.ecbs-progress button{border:0;background:#f2f2f2;color:#777;padding:13px 10px;font-size:12px;font-weight:700;cursor:default;border-radius:10px}.ecbs-progress button span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border-radius:50%;background:#ddd;color:#555}.ecbs-progress button.is-active{background:#fff7d3;color:#191919}.ecbs-progress button.is-active span{background:var(--ecbs-yellow);color:#111}.ecbs-step{border:1px solid var(--ecbs-border);border-radius:20px;padding:28px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.06)}.ecbs-step[hidden]{display:none!important}.ecbs-step-heading span{display:block;color:#9b7c00;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ecbs-step-heading h2{margin:5px 0 24px;font-size:30px;line-height:1.15}.ecbs-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ecbs-field{margin:0 0 20px}.ecbs-field-full{grid-column:1/-1}.ecbs-field label,.ecbs-field legend{display:block;margin:0 0 8px;font-size:13px;font-weight:750;color:#2b2b2b}.ecbs-field input[type=text],.ecbs-field input[type=email],.ecbs-field input[type=tel],.ecbs-field input[type=file],.ecbs-field select,.ecbs-field textarea{box-sizing:border-box;width:100%;min-height:50px;border:1px solid var(--ecbs-border);border-radius:10px;background:#fff;color:#222;padding:12px 14px;font-size:15px;outline:none}.ecbs-field textarea{min-height:125px;resize:vertical}.ecbs-field input:focus,.ecbs-field select:focus,.ecbs-field textarea:focus{border-color:var(--ecbs-yellow);box-shadow:0 0 0 3px rgba(249,211,68,.22)}.ecbs-field input[readonly]{cursor:pointer;background:#fff}.ecbs-field input.is-auto{background:#f5f5f5;cursor:default}.ecbs-field small{display:block;margin-top:7px;color:var(--ecbs-muted)}.ecbs-duration{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:0;padding:0}.ecbs-duration legend{grid-column:1/-1}.ecbs-duration label,.ecbs-radio-list label,.ecbs-check-list label{position:relative;margin:0;cursor:pointer}.ecbs-duration input,.ecbs-radio-list input,.ecbs-check-list input{position:absolute;opacity:0;pointer-events:none}.ecbs-duration span{display:grid;place-items:center;min-height:58px;border:1px solid var(--ecbs-border);border-radius:11px;padding:8px;text-align:center;font-size:14px}.ecbs-duration input:checked+span{border-color:var(--ecbs-yellow);background:#fff8d8;box-shadow:inset 0 0 0 1px var(--ecbs-yellow)}.ecbs-radio-list{border:0;padding:0;display:grid;gap:9px}.ecbs-radio-list legend{margin-bottom:3px}.ecbs-radio-list span,.ecbs-check-list span{display:block;position:relative;padding:13px 14px 13px 44px;border:1px solid var(--ecbs-border);border-radius:10px;font-size:14px}.ecbs-radio-list span:before,.ecbs-check-list span:before{content:"";position:absolute;left:15px;top:50%;width:17px;height:17px;transform:translateY(-50%);border:2px solid #bbb;border-radius:50%;box-sizing:border-box}.ecbs-check-list span:before{border-radius:4px}.ecbs-radio-list input:checked+span,.ecbs-check-list input:checked+span{border-color:var(--ecbs-yellow);background:#fff8d8}.ecbs-radio-list input:checked+span:before{border:5px solid var(--ecbs-yellow)}.ecbs-check-list input:checked+span:before{background:var(--ecbs-yellow);border-color:var(--ecbs-yellow)}.ecbs-check-list input:checked+span:after{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-53%);font-weight:900;color:#111}.ecbs-date-rule{margin:-7px 0 19px;padding:13px 15px;border-left:4px solid var(--ecbs-yellow);background:#fff9df;color:#554600;font-size:13px;line-height:1.5}.ecbs-availability-message,.ecbs-submit-message{margin:0 0 18px;padding:13px 15px;border-radius:9px;font-size:14px}.ecbs-availability-message.is-info{background:#eef5ff;color:#164a80}.ecbs-availability-message.is-error,.ecbs-submit-message.is-error{background:#fff0f0;color:#9a2020}.ecbs-submit-message.is-success{background:#edfff2;color:#14692e}.ecbs-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.ecbs-button{appearance:none;border:0;border-radius:10px;background:var(--ecbs-yellow);color:#171717;padding:14px 20px;font-size:14px;font-weight:800;cursor:pointer}.ecbs-button:hover{filter:brightness(.97)}.ecbs-button:disabled{opacity:.55;cursor:not-allowed}.ecbs-button-secondary{background:#efefef}.ecbs-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.ecbs-summary{position:sticky;top:105px}.ecbs-summary-inner{overflow:hidden;border:1px solid rgba(249,211,68,.35);border-radius:22px;padding:27px;background:linear-gradient(145deg,rgba(249,211,68,.09),transparent 44%),var(--ecbs-dark);color:#fff;box-shadow:0 24px 65px rgba(0,0,0,.24)}.ecbs-summary-eyebrow{color:var(--ecbs-yellow);font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.ecbs-summary h2{margin:7px 0 18px;color:#fff;font-size:30px}.ecbs-summary-selection{display:grid;gap:4px;padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid rgba(255,255,255,.13)}.ecbs-summary-selection strong{font-size:15px}.ecbs-summary-selection span{font-size:12px;color:rgba(255,255,255,.63)}.ecbs-summary-items,.ecbs-summary-totals{display:grid;gap:10px}.ecbs-summary-totals{margin-top:17px;padding-top:17px;border-top:1px solid rgba(255,255,255,.13)}.ecbs-summary-row,.ecbs-summary-total{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.ecbs-summary-row span{color:rgba(255,255,255,.76);font-size:14px}.ecbs-summary-row strong{font-size:14px;text-align:right}.ecbs-summary-row-info span,.ecbs-summary-row-info strong,.ecbs-summary-row-muted span,.ecbs-summary-row-muted strong{font-size:12px;color:rgba(255,255,255,.58);font-weight:500}.ecbs-summary-total{align-items:center;margin-top:5px;border-radius:14px;background:var(--ecbs-yellow);color:#111;padding:17px}.ecbs-summary-total span{font-size:13px;font-weight:850;text-transform:uppercase}.ecbs-summary-total strong{font-size:21px;text-align:right}.ecbs-summary-note{margin:13px 0 0;color:rgba(255,255,255,.6);font-size:12px;line-height:1.45}.ui-datepicker{z-index:999999!important;width:310px;padding:13px;border:1px solid #ddd!important;border-radius:14px!important;background:#fff!important;box-shadow:0 18px 50px rgba(0,0,0,.18);font-family:Arial,sans-serif}.ui-datepicker-header{position:relative;padding:8px 4px 14px;background:#fff!important;border:0!important}.ui-datepicker-title{text-align:center;font-weight:800}.ui-datepicker-prev,.ui-datepicker-next{position:absolute;top:5px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.ui-datepicker-prev{left:0}.ui-datepicker-next{right:0}.ui-datepicker-prev:after{content:"‹";font-size:28px}.ui-datepicker-next:after{content:"›";font-size:28px}.ui-datepicker-prev span,.ui-datepicker-next span{display:none}.ui-datepicker table{width:100%;border-collapse:collapse}.ui-datepicker th{padding:8px 2px;font-size:11px;color:#777}.ui-datepicker td{padding:2px}.ui-datepicker td a,.ui-datepicker td span{display:grid;place-items:center;width:36px;height:36px;border:0!important;border-radius:8px!important;background:#f6f6f6!important;color:#222!important;text-decoration:none;text-align:center}.ui-datepicker td a:hover,.ui-datepicker td .ui-state-active{background:var(--ecbs-yellow)!important;color:#111!important}.ui-datepicker-unselectable span{background:#fafafa!important;color:#c8c8c8!important}.ecbs-date-unavailable span{opacity:.5;text-decoration:line-through}.ui-datepicker-buttonpane{display:none}.ecbs-privacy span{font-size:13px;line-height:1.45}@media(max-width:1000px){.ecbs-layout{grid-template-columns:1fr}.ecbs-summary{position:static}.ecbs-summary{order:2}}@media(max-width:680px){.ecbs-progress{grid-template-columns:1fr 1fr}.ecbs-progress button{font-size:11px}.ecbs-step{padding:20px;border-radius:15px}.ecbs-grid,.ecbs-date-grid{grid-template-columns:1fr}.ecbs-duration{grid-template-columns:1fr 1fr}.ecbs-step-heading h2{font-size:25px}.ecbs-step-actions{flex-direction:column-reverse}.ecbs-step-actions .ecbs-button{width:100%}.ecbs-summary-inner{padding:21px;border-radius:17px}}


/* Experience Cars dark theme – v1.0.1 */
.ecbs-booking{
	--ecbs-yellow:#f9d344;
	--ecbs-dark:#000;
	--ecbs-text:#fff;
	--ecbs-muted:#aaa;
	--ecbs-border:#343434;
	position:relative;
	padding:36px 0;
	background:#000;
	color:#fff;
	box-shadow:0 0 0 100vmax #000;
	clip-path:inset(0 -100vmax);
}
.ecbs-form{background:transparent}
.ecbs-step{
	border-color:#303030;
	background:#101010;
	box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.ecbs-step-heading span{color:var(--ecbs-yellow)}
.ecbs-step-heading h2,
.ecbs-field label,
.ecbs-field legend{color:#fff}
.ecbs-field small{color:#aaa}
.ecbs-progress button{
	background:#171717;
	color:#aaa;
	border:1px solid #292929;
}
.ecbs-progress button span{background:#303030;color:#ddd}
.ecbs-progress button.is-active{
	background:#2a2408;
	color:#fff;
	border-color:rgba(249,211,68,.55);
}
.ecbs-progress button.is-active span{
	background:var(--ecbs-yellow);
	color:#111;
}
.ecbs-field input[type=text],
.ecbs-field input[type=email],
.ecbs-field input[type=tel],
.ecbs-field input[type=file],
.ecbs-field select,
.ecbs-field textarea{
	border-color:#383838;
	background:#171717;
	color:#fff;
}
.ecbs-field input::placeholder,
.ecbs-field textarea::placeholder{color:#8f8f8f}
.ecbs-field select option{background:#171717;color:#fff}
.ecbs-field input[readonly]{background:#171717;color:#fff}
.ecbs-field input.is-auto{background:#222;color:#ddd}
.ecbs-duration span,
.ecbs-radio-list span,
.ecbs-check-list span{
	border-color:#383838;
	background:#171717;
	color:#fff;
}
.ecbs-duration input:checked+span,
.ecbs-radio-list input:checked+span,
.ecbs-check-list input:checked+span{
	border-color:var(--ecbs-yellow);
	background:#302907;
	color:#fff;
}
.ecbs-radio-list span:before,
.ecbs-check-list span:before{border-color:#777}
.ecbs-date-rule{
	border-left-color:var(--ecbs-yellow);
	background:#211d08;
	color:#f8e89d;
}
.ecbs-availability-message.is-info{
	background:#132235;
	color:#b7d8ff;
}
.ecbs-availability-message.is-error,
.ecbs-submit-message.is-error{
	background:#351717;
	color:#ffb8b8;
}
.ecbs-submit-message.is-success{
	background:#12311d;
	color:#baf2c8;
}
.ecbs-button-secondary{
	background:#2a2a2a;
	color:#fff;
}
.ecbs-button-secondary:hover{background:#333}
.ecbs-summary-inner{
	background:
		linear-gradient(145deg,rgba(249,211,68,.10),transparent 44%),
		#0b0b0b;
	border-color:rgba(249,211,68,.42);
	box-shadow:0 24px 65px rgba(0,0,0,.45);
}
.ecbs-privacy span{color:#ddd}

/* Dark datepicker */
.ui-datepicker{
	border-color:#3b3b3b!important;
	background:#111!important;
	color:#fff!important;
	box-shadow:0 18px 50px rgba(0,0,0,.55);
}
.ui-datepicker-header{background:#111!important;color:#fff!important}
.ui-datepicker-title{color:#fff}
.ui-datepicker-prev,
.ui-datepicker-next{color:#fff}
.ui-datepicker th{color:#aaa}
.ui-datepicker td a,
.ui-datepicker td span{
	background:#1d1d1d!important;
	color:#fff!important;
}
.ui-datepicker td a:hover,
.ui-datepicker td .ui-state-active{
	background:var(--ecbs-yellow)!important;
	color:#111!important;
}
.ui-datepicker-unselectable span{
	background:#151515!important;
	color:#5f5f5f!important;
}
.ecbs-date-unavailable span{color:#666!important}

@media(max-width:680px){
	.ecbs-booking{padding:24px 0}
}


/* German custom file upload controls – v1.0.3 */
.ecbs-file-upload{
	display:flex;
	align-items:center;
	gap:14px;
	min-height:78px;
	padding:14px 16px;
	border:1px solid #383838;
	border-radius:10px;
	background:#171717;
	box-sizing:border-box;
}
.ecbs-file-input{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	clip-path:inset(50%)!important;
}
.ecbs-file-button{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	min-height:42px;
	margin:0!important;
	padding:10px 15px;
	border:1px solid #f9d344;
	border-radius:8px;
	background:#f9d344;
	color:#111!important;
	font-size:14px!important;
	font-weight:800!important;
	line-height:1.2;
	text-transform:none!important;
	letter-spacing:0!important;
	cursor:pointer;
	transition:filter .18s ease,transform .18s ease;
}
.ecbs-file-button:hover{
	filter:brightness(.96);
	transform:translateY(-1px);
}
.ecbs-file-input:focus + .ecbs-file-button{
	outline:3px solid rgba(249,211,68,.25);
	outline-offset:2px;
}
.ecbs-file-name{
	min-width:0;
	overflow:hidden;
	color:#aaa;
	font-size:14px;
	line-height:1.35;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.ecbs-file-name.has-file{
	color:#fff;
}
@media(max-width:600px){
	.ecbs-file-upload{
		align-items:stretch;
		flex-direction:column;
	}
	.ecbs-file-button{
		width:100%;
		box-sizing:border-box;
	}
	.ecbs-file-name{
		text-align:center;
		white-space:normal;
		overflow-wrap:anywhere;
	}
}


/* German file picker – v1.0.4 */
.ecbs-file-upload{
	display:flex!important;
	align-items:center;
	gap:14px;
	width:100%;
	min-height:74px;
	padding:14px 16px;
	border:1px solid #383838;
	border-radius:10px;
	background:#171717;
	box-sizing:border-box;
}
.ecbs-file-upload .ecbs-file-input{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	margin:-1px!important;
	padding:0!important;
	overflow:hidden!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	border:0!important;
	white-space:nowrap!important;
}
.ecbs-file-upload .ecbs-file-button{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	min-height:42px;
	margin:0!important;
	padding:10px 16px;
	border:1px solid #f9d344;
	border-radius:8px;
	background:#f9d344;
	color:#111!important;
	font-size:14px!important;
	font-weight:800!important;
	line-height:1.2;
	text-transform:none!important;
	letter-spacing:0!important;
	cursor:pointer;
}
.ecbs-file-upload .ecbs-file-name{
	min-width:0;
	overflow:hidden;
	color:#aaa;
	font-size:14px;
	line-height:1.35;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.ecbs-file-upload .ecbs-file-name.has-file{
	color:#fff;
}
.ecbs-file-upload .ecbs-file-input:focus + .ecbs-file-button{
	outline:3px solid rgba(249,211,68,.25);
	outline-offset:2px;
}
@media(max-width:600px){
	.ecbs-file-upload{
		align-items:stretch;
		flex-direction:column;
	}
	.ecbs-file-upload .ecbs-file-button{
		width:100%;
		box-sizing:border-box;
	}
	.ecbs-file-upload .ecbs-file-name{
		text-align:center;
		white-space:normal;
		overflow-wrap:anywhere;
	}
}
