/* =========================================================
   Gracehaven Direct Booking
   Premium Image-Integrated Booking Form
   ========================================================= */

#ghvc-direct-booking .ghvc-direct-booking-box {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 42px 44px 34px !important;

	background: rgba(248, 251, 252, 0.97) !important;
	border: 1px solid rgba(6, 45, 70, 0.10) !important;
	border-radius: 24px !important;

	box-shadow: 0 20px 55px rgba(6, 45, 70, 0.16) !important;

	color: #062d46 !important;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
	text-align: left !important;
}


/* ---------------------------------------------------------
   Heading
   --------------------------------------------------------- */

#ghvc-direct-booking .ghvc-booking-eyebrow {
	display: block !important;
	margin: 0 0 10px !important;

	color: #587f8e !important;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 2px !important;
	text-align: left !important;
	text-transform: uppercase !important;
}

#ghvc-direct-booking .ghvc-direct-booking-box h2 {
	display: block !important;
	margin: 0 0 10px !important;
	padding: 0 !important;

	color: #062d46 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.4px !important;
	text-align: left !important;
}

#ghvc-direct-booking .ghvc-direct-booking-intro {
	display: block !important;
	max-width: 590px !important;
	margin: 0 0 30px !important;
	padding: 0 !important;

	color: #617681 !important;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	text-align: left !important;
}


/* ---------------------------------------------------------
   Form grid
   --------------------------------------------------------- */

#ghvc-direct-booking .ghvc-direct-booking-grid {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

#ghvc-direct-booking .ghvc-field {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

#ghvc-direct-booking .ghvc-field-property {
	grid-column: 1 / -1 !important;
}


/* ---------------------------------------------------------
   Labels
   --------------------------------------------------------- */

#ghvc-direct-booking .ghvc-field label {
	display: block !important;
	width: auto !important;
	margin: 0 0 7px !important;
	padding: 0 !important;

	color: #294858 !important;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0.35px !important;
	text-align: left !important;
}


/* ---------------------------------------------------------
   Inputs and select
   --------------------------------------------------------- */

#ghvc-direct-booking .ghvc-field input,
#ghvc-direct-booking .ghvc-field select {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 15px !important;

	border: 1px solid #d7e2e6 !important;
	border-radius: 10px !important;
	outline: none !important;

	background: #ffffff !important;
	color: #183c4d !important;

	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: normal !important;
	text-align: left !important;

	box-shadow: none !important;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease !important;
}

#ghvc-direct-booking .ghvc-field input:hover,
#ghvc-direct-booking .ghvc-field select:hover {
	border-color: #b8cbd2 !important;
}

#ghvc-direct-booking .ghvc-field input:focus,
#ghvc-direct-booking .ghvc-field select:focus {
	border-color: #587f8e !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(88, 127, 142, 0.12) !important;
}


//* ---------------------------------------------------------
   Availability button
   --------------------------------------------------------- */

#ghvc-direct-booking #ghvc-check-availability {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 54px !important;

	margin: 28px 0 0 !important;
	padding: 0 24px !important;

		border: 0 !important;
		border-color: transparent !important;
		border-radius: 10px !important;

		background: #48D7F1 !important;
		background-color: #48D7F1 !important;

		color: #062D46 !important;
		 cursor: pointer !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.8px !important;
	text-align: center !important;
	text-transform: uppercase !important;

	box-shadow: 0 8px 22px rgba(6, 45, 70, 0.14) !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

#ghvc-direct-booking #ghvc-check-availability[type="button"] {
	border: 0 !important;
	color: #062D46 !important;
	border-radius: 10px !important;
	font-family: "Montserrat", Arial, sans-serif !important;
}
#ghvc-direct-booking #ghvc-check-availability:focus {
	background: #48D7F1 !important;
	background-color: #48D7F1 !important;
	color: #062D46 !important;
	border: 0 !important;
	border-radius: 10px !important;
}

#ghvc-direct-booking #ghvc-check-availability:hover {
	background: #07B1E2 !important;
	color: #062D46 !important;
	border: 0 !important;
	box-shadow: 0 11px 26px rgba(6, 45, 70, 0.18) !important;
	transform: translateY(-1px) !important;
}

#ghvc-direct-booking #ghvc-check-availability:active {
	transform: translateY(0) !important;
}

#ghvc-direct-booking #ghvc-check-availability span {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

#ghvc-direct-booking #ghvc-check-availability span {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: 18px !important;
	line-height: 1 !important;
}



/* ---------------------------------------------------------
   Continue to Book button
   --------------------------------------------------------- */

#ghvc-direct-booking #ghvc-continue-booking {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 54px !important;

	margin: 24px 0 0 !important;
	padding: 0 24px !important;

	border: 0 !important;
	border-radius: 10px !important;

	background: #48D7F1 !important;
	color: #062D46 !important;

	cursor: pointer !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.8px !important;
	text-align: center !important;
	text-transform: uppercase !important;

	box-shadow: 0 8px 22px rgba(6, 45, 70, 0.14) !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

#ghvc-direct-booking #ghvc-continue-booking:hover {
	background: #07B1E2 !important;
	color: #062D46 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 11px 26px rgba(6, 45, 70, 0.18) !important;
}

#ghvc-direct-booking #ghvc-continue-booking:active {
	transform: translateY(0) !important;
}

/* ---------------------------------------------------------
   Continue to Payment button
   --------------------------------------------------------- */

#ghvc-direct-booking #ghvc-submit-booking {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	min-height: 54px !important;

	margin: 24px 0 0 !important;
	padding: 0 24px !important;

	border: 0 !important;
	border-radius: 10px !important;

	background: #48D7F1 !important;
	color: #062D46 !important;

	cursor: pointer !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.8px !important;
	text-align: center !important;
	text-transform: uppercase !important;

	box-shadow: 0 8px 22px rgba(6, 45, 70, 0.14) !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease !important;
}

#ghvc-direct-booking #ghvc-submit-booking:hover {
	background: #07B1E2 !important;
	color: #062D46 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 11px 26px rgba(6, 45, 70, 0.18) !important;
}

#ghvc-direct-booking #ghvc-submit-booking:active {
	transform: translateY(0) !important;
}

/* ---------------------------------------------------------
   Benefits
   --------------------------------------------------------- */

#ghvc-direct-booking .ghvc-booking-benefits {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 10px !important;

	width: 100% !important;
	margin: 25px 0 0 !important;
	padding: 22px 0 0 !important;

	border-top: 1px solid #dfe8eb !important;
}

#ghvc-direct-booking .ghvc-booking-benefit {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 9px !important;

	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	color: #294858 !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

#ghvc-direct-booking .ghvc-benefit-icon {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 31px !important;

	width: 31px !important;
	height: 31px !important;
	margin: 0 !important;
	padding: 0 !important;

	border-radius: 50% !important;
	background: #e7f0f2 !important;
	color: #587f8e !important;

	font-size: 15px !important;
	line-height: 1 !important;
	text-align: center !important;
}

#ghvc-direct-booking .ghvc-booking-benefit small {
	color: #71858d !important;
	font-family: inherit !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}


/* ---------------------------------------------------------
   Booking message
   --------------------------------------------------------- */

#ghvc-direct-booking #ghvc-booking-message {
	display: block !important;
	width: 100% !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;

	color: #294858 !important;

	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

#ghvc-direct-booking #ghvc-booking-message:empty {
	display: none !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 700px) {

	#ghvc-direct-booking .ghvc-direct-booking-box {
		max-width: 100% !important;
		padding: 32px 24px 26px !important;
		border-radius: 20px !important;
	}

	#ghvc-direct-booking  .ghvc-direct-booking-box h2 {
		font-size: 29px !important;
	}

	#ghvc-direct-booking .ghvc-direct-booking-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	#ghvc-direct-booking .ghvc-field-property {
		grid-column: auto !important;
	}

	#ghvc-direct-booking .ghvc-booking-benefits {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
}


@media (max-width: 420px) {

	#ghvc-direct-booking .ghvc-direct-booking-box {
		padding: 28px 18px 22px !important;
		border-radius: 18px !important;
	}

	#ghvc-direct-booking .ghvc-direct-booking-box h2 {
		font-size: 26px !important;
	}

	#ghvc-direct-booking .ghvc-direct-booking-intro {
		font-size: 14px !important;
	}

	#ghvc-direct-booking .ghvc-field input,
	#ghvc-direct-booking .ghvc-field select {
		height: 50px !important;
		min-height: 50px !important;
	}

	/* =========================================================
   AVAILABILITY RESULTS
   ========================================================= */

#ghvc-direct-booking #ghvc-booking-message {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	color: #294858 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

#ghvc-direct-booking #ghvc-booking-message > strong {
	display: block !important;
	margin: 0 0 14px !important;
	color: #062d46 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

#ghvc-direct-booking .ghvc-available-property {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 18px 20px !important;
	background: #ffffff !important;
	border: 1px solid #d7e2e6 !important;
	border-radius: 12px !important;
	box-shadow: 0 5px 16px rgba(6, 45, 70, 0.07) !important;
	color: #294858 !important;
}

#ghvc-direct-booking .ghvc-available-property strong {
	display: block !important;
	margin: 0 0 6px !important;
	color: #062d46 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

#ghvc-direct-booking .ghvc-available-property br {
	line-height: 1.7 !important;
}

#ghvc-direct-booking .ghvc-price-line {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 0 !important;
	border-top: 1px solid #e1eaed !important;
	font-family: "Montserrat", Arial, sans-serif !important;
}

#ghvc-direct-booking .ghvc-price-line span {
	color: #617681 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

#ghvc-direct-booking .ghvc-price-line strong {
	display: block !important;
	margin: 0 !important;
	color: #062d46 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

#ghvc-direct-booking .ghvc-price-line.ghvc-deposit-line strong {
	color: #0b7185 !important;
}
#ghvc-direct-booking .ghvc-select-property {

	box-sizing: border-box !important;

	display: inline-flex !important;

	align-items: center !important;

	justify-content: center !important;

	min-height: 42px !important;

	margin: 12px 0 0 !important;

	padding: 0 20px !important;

	border: 0 !important;

	border-radius: 8px !important;

	background: #48D7F1 !important;

	color: #062D46 !important;

	cursor: pointer !important;

	font-family: "Montserrat", Arial, sans-serif !important;

	font-size: 12px !important;

	font-weight: 700 !important;

	line-height: 1 !important;

	letter-spacing: 0.5px !important;

	text-transform: uppercase !important;

	box-shadow: 0 5px 14px rgba(6, 45, 70, 0.12) !important;

	transition:

		background-color 0.2s ease,

		transform 0.2s ease,

		box-shadow 0.2s ease !important;

}

#ghvc-direct-booking .ghvc-select-property:hover {

	background: #07B1E2 !important;

	color: #062D46 !important;

	transform: translateY(-1px) !important;

	box-shadow: 0 7px 18px rgba(6, 45, 70, 0.16) !important;

}

#ghvc-direct-booking .ghvc-select-property:active {

	transform: translateY(0) !important;

}


/* =========================================================
   MOBILE AVAILABILITY RESULTS
   ========================================================= */

@media (max-width: 600px) {

	#ghvc-direct-booking .ghvc-available-property {
		padding: 16px !important;
	}

	#ghvc-direct-booking .ghvc-select-property {
		width: 100% !important;
	}
}

}