.lvc-booking-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(5, 24, 39, .75);
	font-family: Manrope, Arial, sans-serif;
}
.lvc-booking-overlay.is-open { display: flex; }
body.lvc-booking-lock { overflow: hidden; }
.lvc-booking-overlay * { box-sizing: border-box; }
.lvc-booking-dialog {
	position: relative;
	width: min(100%, 470px);
	max-height: min(96vh, 900px);
	overflow-y: auto;
	padding: 24px 28px 28px;
	border-radius: 6px;
	background: #091632;
	color: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
}
.lvc-booking-dialog h2 {
	margin: 0 34px 18px;
	color: #fff !important;
	text-align: center;
	text-transform: uppercase !important;
	font: 700 24px/1.3 Manrope, Arial, sans-serif !important;
}
.lvc-booking-close {
	position: absolute;
	top: 12px;
	right: 16px;
	border: 0;
	background: transparent;
	color: #a9c3c8 !important;
	font: 32px/1 Arial, sans-serif;
	font-size: 32px !important;
	cursor: pointer;
}
.lvc-booking-form { display: grid; gap: 15px; }
.lvc-booking-form label {
	display: grid;
	gap: 7px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.lvc-booking-form .lvc-booking-caption { color: #fff; }
.lvc-booking-form .lvc-booking-caption b { color: #f25470; }
.lvc-booking-form input,
.lvc-booking-form select,
.lvc-booking-form textarea {
	width: 100%;
	min-height: 39px;
	padding: 9px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #202a2d;
	font: 400 14px Manrope, Arial, sans-serif;
}
.lvc-booking-form textarea { min-height: 90px; resize: vertical; }
.lvc-booking-form input::placeholder,
.lvc-booking-form textarea::placeholder { color: #a0a0a0; }
.lvc-booking-form :focus-visible,
.lvc-booking-close:focus-visible { outline: 3px solid #f4dca5; outline-offset: 2px; }
.lvc-booking-overlay .lvc-booking-submit {
	min-height: 49px;
	margin-top: 6px;
	border: 1px solid #fff !important;
	border-radius: 4px;
	background: #fff !important;
	color: #091632 !important;
	font: 700 15px Manrope, Arial, sans-serif;
	cursor: pointer;
}
.lvc-booking-overlay .lvc-booking-submit:hover { background: #f2f4f8 !important; color: #091632 !important; }
.lvc-booking-submit:disabled { opacity: .6; cursor: wait; }
.lvc-booking-feedback { margin: 0; color: #ffe5ac; }
.lvc-booking-feedback:empty { display: none; }
.lvc-booking-success { padding: 30px 0; text-align: center; line-height: 1.6; }
.lvc-booking-success[hidden], .lvc-booking-form[hidden], .lvc-booking-hp { display: none; }
@media (max-width: 480px) {
	.lvc-booking-dialog { padding: 22px 18px; }
	.lvc-booking-dialog h2 { font-size: 21px !important; }
}
