/* =========================================================
   BHA CLOUDBEDS ROOM BOOKING
   Bentley Holiday Apartments
   ========================================================= */


/* ---------------------------------------------------------
   MAIN BOOKING COMPONENT
   --------------------------------------------------------- */

.bha-room-booking {
	width: 100%;
	max-width: 100%;
	margin: 30px 0 10px;
}


/* ---------------------------------------------------------
   AVAILABILITY PANEL
   --------------------------------------------------------- */

.bha-room-booking__panel {
	width: 100%;
	box-sizing: border-box;

	padding: 28px 32px 30px;

	background: #f8f8f7;

	border-left: 2px solid #c69c4f;
}


/* ---------------------------------------------------------
   PANEL HEADING
   --------------------------------------------------------- */

.bha-room-booking__heading {
	display: flex;
	flex-direction: column;

	gap: 7px;

	margin: 0 0 28px;
}

.bha-room-booking__heading strong {
	display: block;

	margin: 0;

	font-family: inherit;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.25;

	color: #444;
}

.bha-room-booking__heading span {
	display: block;

	margin: 0;

	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;

	color: #747474;
}


/* ---------------------------------------------------------
   ROOM OPTIONS
   --------------------------------------------------------- */

.bha-room-booking__options {
	width: 100%;
}


/* ---------------------------------------------------------
   STACKED LAYOUT
   --------------------------------------------------------- */

.bha-room-booking__options--stacked {
	display: flex;
	flex-direction: column;
}

.bha-room-booking__options--stacked
.bha-room-booking__option {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.bha-room-booking__options--stacked
.bha-room-booking__option + .bha-room-booking__option {
	margin-top: 34px;
	padding-top: 34px;

	border-top: 1px solid rgba(198, 156, 79, 0.35);
}


/* ---------------------------------------------------------
   TWO-COLUMN LAYOUT
   --------------------------------------------------------- */

.bha-room-booking__options--columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 38px;
	row-gap: 30px;
	align-items: stretch;
}

.bha-room-booking__options--columns
.bha-room-booking__option {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;

	min-width: 0;
	height: 100%;
}


/* Divider between two side-by-side variants */

.bha-room-booking__options--columns
.bha-room-booking__option + .bha-room-booking__option {
	padding-left: 38px;

	border-left: 1px solid rgba(198, 156, 79, 0.35);
}


/* Room name */

.bha-room-booking__option-name {
	margin: 0;

	font-family: inherit;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;

	color: #444;
}


/* Make column titles reserve similar space */

.bha-room-booking__options--columns
.bha-room-booking__option-name {
	min-height: 2.7em; /* roughly 2 lines */
}


/* Push the button block to the bottom */

.bha-room-booking__options--columns
.bha-room-booking__option
cb-accommodation-date-picker {
	margin-top: auto;
}


/* ---------------------------------------------------------
   CLOUDBEDS ACCOMMODATION PICKER
   --------------------------------------------------------- */

.bha-room-booking cb-accommodation-date-picker {
	display: block;

	width: auto;
	max-width: 100%;
}


/* ---------------------------------------------------------
   CLOUDBEDS "CHOOSE DATES" BUTTON
   ---------------------------------------------------------
   
   Use Cloudbeds' semantic data-testid rather than generated
   Chakra class names.
   --------------------------------------------------------- */

.bha-room-booking
cb-accommodation-date-picker
[data-testid="accommodation-date-picker-button"] {

	display: inline-flex !important;

	align-items: center !important;
	justify-content: center !important;

	min-height: 48px !important;

	padding: 13px 24px !important;

	background: #c69c4f !important;

	border: 1px solid #c69c4f !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;

	letter-spacing: 0.055em !important;
	text-transform: uppercase !important;

	cursor: pointer !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease !important;
}


/* Cloudbeds button text */

.bha-room-booking
cb-accommodation-date-picker
[data-testid="accommodation-date-picker-button"] > div {

	color: inherit !important;

	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;

	letter-spacing: inherit !important;
	text-transform: inherit !important;
}


/* Hover */

.bha-room-booking
cb-accommodation-date-picker
[data-testid="accommodation-date-picker-button"]:hover {

	background: #b58b42 !important;
	border-color: #b58b42 !important;

	color: #ffffff !important;
}


/* Keyboard focus */

.bha-room-booking
cb-accommodation-date-picker
[data-testid="accommodation-date-picker-button"]:focus-visible {

	outline: 2px solid #c69c4f !important;
	outline-offset: 3px !important;
}


/* Disabled state */

.bha-room-booking
cb-accommodation-date-picker
[data-testid="accommodation-date-picker-button"]:disabled {

	opacity: 0.5 !important;

	cursor: not-allowed !important;
}


/* ---------------------------------------------------------
   SINGLE ROOM VARIANT
   ---------------------------------------------------------
   
   With only one room we don't need excess vertical space.
   --------------------------------------------------------- */

.bha-room-booking__option:only-child {
	gap: 12px;
}


/* ---------------------------------------------------------
   MULTIPLE ROOM VARIANTS
   ---------------------------------------------------------
   
   Give different variants enough separation to feel like
   deliberate choices rather than duplicated buttons.
   --------------------------------------------------------- */

.bha-room-booking__options:has(
	.bha-room-booking__option + .bha-room-booking__option
) {

	gap: 0;
}



/* =========================================================
   BHA PROPERTY AVAILABILITY SEARCH
   ========================================================= */


/* ---------------------------------------------------------
   OUTER COMPONENT
   --------------------------------------------------------- */

.bha-property-search {
	width: 100%;
	max-width: 1400px;

	margin: 30px auto 45px;

	background: transparent;
}


/* ---------------------------------------------------------
   INNER WRAPPER
   --------------------------------------------------------- */

.bha-property-search__inner {
	width: 100%;
	box-sizing: border-box;

	padding: 0;

	background: transparent;

	border: 0;
}


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.bha-property-search__intro {
	display: flex;
	flex-direction: column;
	gap: 5px;

	margin: 0 0 18px;

	text-align: center;
}


.bha-property-search__intro strong {
	display: block;

	margin: 0;

	font-family: inherit;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 400;
	line-height: 1.25;
}


.bha-property-search__intro span {
	display: block;

	margin: 0;

	font-family: inherit;
	font-size: clamp(14px, 1.25vw, 17px);
	font-weight: 400;
	line-height: 1.5;
}


/* Light background */

.bha-property-search--theme-light
.bha-property-search__intro strong {
	color: #444;
}

.bha-property-search--theme-light
.bha-property-search__intro span {
	color: #747474;
}


/* Dark / photographic background */

.bha-property-search--theme-dark
.bha-property-search__intro strong {
	color: #ffffff;
}

.bha-property-search--theme-dark
.bha-property-search__intro span {
	color: rgba(255, 255, 255, 0.82);
}


/* ---------------------------------------------------------
   CLOUDBEDS COMPONENT
   --------------------------------------------------------- */

.bha-property-search__picker,
.bha-property-search cb-property-date-picker {
	display: block;

	width: 100%;
}


/* ---------------------------------------------------------
   MAIN SEARCH CARD
   --------------------------------------------------------- */

.bha-property-search
[data-testid="property-date-picker"] {

	width: 100% !important;
	box-sizing: border-box !important;

	padding: 10px !important;

	background: rgba(255, 255, 255, 0.97) !important;

	border: 1px solid rgba(56, 56, 82, 0.14) !important;

	/* BHA uses square controls */
	border-radius: 0 !important;

	box-shadow:
		0 4px 14px rgba(0, 0, 0, 0.10) !important;
}


.bha-property-search
.cb-search-card {

	width: 100% !important;

	background: transparent !important;

	border-radius: 0 !important;

	box-shadow: none !important;
}


/* ---------------------------------------------------------
   DATE AREA
   --------------------------------------------------------- */

.bha-property-search
[data-testid="property-date-picker-date-picker"] {

	width: 100% !important;

	background: #f8f9fa !important;

	border-radius: 0 !important;

	color: #383852 !important;
}





/* ---------------------------------------------------------
   CHECK-IN / CHECK-OUT
   --------------------------------------------------------- */

.bha-property-search
[data-testid="property-date-picker-date-picker-checkin-input"],

.bha-property-search
[data-testid="property-date-picker-date-picker-checkout-input"] {

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;

	color: #383852 !important;

	font-family: inherit !important;
	font-size: clamp(15px, 1.35vw, 18px) !important;
	font-weight: 400 !important;

	padding-top: 14px !important;
	padding-bottom: 14px !important;

	transition:
		background-color 0.2s ease,
		color 0.2s ease !important;
}


/* WestOne date hover */

.bha-property-search--wes
[data-testid="property-date-picker-date-picker-checkin-input"]:hover,

.bha-property-search--wes
[data-testid="property-date-picker-date-picker-checkout-input"]:hover {

	background: rgba(56, 56, 82, 0.08) !important;
}


/* EuroCity date hover */

.bha-property-search--ecd
[data-testid="property-date-picker-date-picker-checkin-input"]:hover,

.bha-property-search--ecd
[data-testid="property-date-picker-date-picker-checkout-input"]:hover {

	background: rgba(187, 153, 88, 0.10) !important;
}


/* ---------------------------------------------------------
   SEARCH BUTTON
   --------------------------------------------------------- */

.bha-property-search
[data-testid="property-date-picker-search-button"] {

	min-width: 125px !important;
	min-height: 50px !important;

	padding: 12px 22px !important;

	border-radius: 0 !important;

	box-shadow: none !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;

	letter-spacing: 0.09em !important;
	text-transform: uppercase !important;

	white-space: nowrap !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease !important;
}


/* WestOne active search */

.bha-property-search--wes
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #383852 !important;

	border: 1px solid #383852 !important;

	color: #ffffff !important;
}


.bha-property-search--wes
[data-testid="property-date-picker-search-button"]:hover:not(:disabled) {

	background: #2d2d43 !important;

	border-color: #2d2d43 !important;
}


/* EuroCity active search */

.bha-property-search--ecd
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #BB9958 !important;

	border: 1px solid #BB9958 !important;

	color: #ffffff !important;
}


.bha-property-search--ecd
[data-testid="property-date-picker-search-button"]:hover:not(:disabled) {

	background: #a68548 !important;

	border-color: #a68548 !important;
}


/* ---------------------------------------------------------
   DISABLED SEARCH
   --------------------------------------------------------- */

/* Light background */

.bha-property-search--theme-light
[data-testid="property-date-picker-search-button"]:disabled {

	background: #e3e3e3 !important;

	border: 1px solid #e3e3e3 !important;

	color: #9a9a9a !important;

	opacity: 1 !important;
}


/* Dark background */

.bha-property-search--theme-dark
[data-testid="property-date-picker-search-button"]:disabled {

	background: rgba(255, 255, 255, 0.16) !important;

	border: 1px solid rgba(255, 255, 255, 0.28) !important;

	color: rgba(255, 255, 255, 0.62) !important;

	opacity: 1 !important;
}


/* ---------------------------------------------------------
   CLOUDBEDS TEXT
   --------------------------------------------------------- */

.bha-property-search
.cb-text {

	font-family: inherit !important;
}


/* ---------------------------------------------------------
   KEYBOARD ACCESSIBILITY
   --------------------------------------------------------- */

.bha-property-search--wes
button:focus-visible {

	outline: 2px solid #383852 !important;
	outline-offset: 2px !important;
}


.bha-property-search--ecd
button:focus-visible {

	outline: 2px solid #BB9958 !important;
	outline-offset: 2px !important;
}


/*
 * Cloudbeds applies the visible pill radius to nested
 * containers inside the date picker.
 *
 * Keep this scoped to the static property-search component.
 * It does NOT affect the calendar modal in .cb-portal.
 */

.bha-property-search cb-property-date-picker,
.bha-property-search cb-property-date-picker *,
.bha-property-search cb-property-date-picker *::before,
.bha-property-search cb-property-date-picker *::after {
	border-radius: 0 !important;
}




/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

	.bha-property-search {
		margin-top: 24px;
		margin-bottom: 34px;
	}


	.bha-property-search__intro {
		margin-bottom: 16px;
	}


	.bha-property-search
	[data-testid="property-date-picker"] {

		padding: 8px !important;
	}


	.bha-property-search
	[data-testid="property-date-picker-search-button"] {

		min-width: 105px !important;

		padding-left: 16px !important;
		padding-right: 16px !important;
	}

}

/* ---------------------------------------------------------
   DARK THEME SEARCH CARD REFINEMENT
   --------------------------------------------------------- */

/* Outer search card on dark backgrounds */

.bha-property-search--theme-dark
[data-testid="property-date-picker"] {

	background: rgba(255, 255, 255, 0.50) !important;

	border-color: rgba(255, 255, 255, 0.50) !important;
}


/* Once the form is active / usable, keep the card fully white */

.bha-property-search--theme-dark
[data-testid="property-date-picker"]:has(
	[data-testid="property-date-picker-search-button"]:not(:disabled)
) {

	background: #ffffff !important;

	border-color: #ffffff !important;
}


/* Date area stays clean white/light */

.bha-property-search--theme-dark
[data-testid="property-date-picker-date-picker"] {

	background: #f8f9fa !important;
}


/* Disabled search button */

.bha-property-search--theme-dark
[data-testid="property-date-picker-search-button"]:disabled {

	background: rgba(56, 56, 82, 0.35) !important;

	border-color: rgba(255, 255, 255, 0.35) !important;

	color: rgba(255, 255, 255, 0.65) !important;
}


/* Active WestOne search button remains navy */

.bha-property-search--theme-dark.bha-property-search--wes
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #383852 !important;

	border-color: #383852 !important;

	color: #ffffff !important;
}


/* Active EuroCity search button remains gold */

.bha-property-search--theme-dark.bha-property-search--ecd
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #BB9958 !important;

	border-color: #BB9958 !important;

	color: #ffffff !important;
}






/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 690px) {

	.bha-property-search {
		margin-top: 20px;
		margin-bottom: 28px;
	}


	.bha-property-search__intro {
		margin-bottom: 14px;

		text-align: center;
	}


	.bha-property-search__intro strong {
		font-size: 21px;
	}


	.bha-property-search__intro span {
		font-size: 14px;
	}


	.bha-property-search
	[data-testid="property-date-picker"] {

		width: 100% !important;

		padding: 6px !important;

		border-radius: 0 !important;

		overflow: hidden !important;
	}


	.bha-property-search
	[data-testid="property-date-picker-date-picker"] {

		width: 100% !important;

		border-radius: 0 !important;
	}


	.bha-property-search
	[data-testid="property-date-picker-date-picker"] > *,

	.bha-property-search
	[data-testid="property-date-picker-date-picker"] button {

		border-radius: 0 !important;
	}


	.bha-property-search
	[data-testid="property-date-picker-date-picker-checkin-input"],

	.bha-property-search
	[data-testid="property-date-picker-date-picker-checkout-input"] {

		font-size: 14px !important;

		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}


	.bha-property-search
	[data-testid="property-date-picker-search-button"] {

		width: 100% !important;

		min-width: 0 !important;
		min-height: 46px !important;

		margin-top: 7px !important;

		padding: 11px 15px !important;

		border-radius: 0 !important;

		font-size: 12px !important;
	}

}


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

@media (max-width: 690px) {

	.bha-room-booking {
		margin-top: 24px;
	}


	.bha-room-booking__panel {
		padding: 22px 20px 24px;
	}


	.bha-room-booking__heading {
		margin-bottom: 24px;
	}


	.bha-room-booking__heading strong {
		font-size: 21px;
	}


	.bha-room-booking__heading span {
		font-size: 15px;
	}


	.bha-room-booking__options {
		gap: 22px;
	}


	.bha-room-booking__option-name {
		font-size: 17px;
	}

	.bha-room-booking__options--columns {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

.bha-room-booking__options--columns
.bha-room-booking__option + .bha-room-booking__option {
	margin-top: 28px;
	padding-top: 28px;
	padding-left: 0;

	border-left: 0;
	border-top: 1px solid rgba(198, 156, 79, 0.35);
}


	.bha-room-booking
	cb-accommodation-date-picker
	[data-testid="accommodation-date-picker-button"] {

		min-height: 46px !important;

		padding: 12px 20px !important;

		font-size: 13px !important;
	}

}


/* =========================================================
   MAIN /BOOK/ PAGE HEADER
   ========================================================= */


/* ---------------------------------------------------------
   WRAPPER
   --------------------------------------------------------- */

.bha-book-page-header {
	width: 100%;
	max-width: 1180px;

	margin: 0 auto;

	padding: 56px 30px 34px;

	box-sizing: border-box;

	text-align: center;
}


/* =========================================================
   BOOKING PAGE HERO HEADER
   ========================================================= */

.bha-book-page-header--hero {
	position: relative;

	width: 100%;
	max-width: none;

	min-height: 610px;

	margin: 0;

	padding:
		78px max(30px, calc((100vw - 1180px) / 2))
		70px;

	box-sizing: border-box;

	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	overflow: hidden;

	color: #ffffff;
}


/* Dark photographic overlay */

.bha-book-page-header--hero::before {
	content: "";

	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			rgba(20, 24, 32, 0.44),
			rgba(20, 24, 32, 0.44)
		);

	pointer-events: none;
}


/*
 * Keep all actual booking controls above the overlay.
 */

.bha-book-page-header--hero > * {
	position: relative;
	z-index: 1;
}


/* ---------------------------------------------------------
   HERO TITLE
   --------------------------------------------------------- */

.bha-book-page-header--hero
.bha-book-page-header__intro {

	margin-bottom: 34px;
}


.bha-book-page-header--hero
.bha-book-page-header__intro h1 {

	color: #ffffff;

	text-shadow:
		0 2px 14px rgba(0, 0, 0, 0.20);
}


.bha-book-page-header--hero
.bha-book-page-header__intro p {

	color: rgba(255, 255, 255, 0.88);
}


/* ---------------------------------------------------------
   PROPERTY SWITCHER ON HERO
   --------------------------------------------------------- */

.bha-book-page-header--hero
.bha-book-property-switcher {

	border-color: rgba(255, 255, 255, 0.65);

	margin-bottom: 22px;
}


.bha-book-page-header--hero
.bha-book-property-switcher__button {

	background: rgba(255, 255, 255, 0.92);

	color: #444;
}


.bha-book-page-header--hero
.bha-book-property-switcher__button + .bha-book-property-switcher__button {

	border-left-color: rgba(255, 255, 255, 0.65);
}


/* WestOne active */

.bha-book-page-header--hero.bha-book-page-header--wes
.bha-book-property-switcher__button.is-active {

	background: #383852;

	color: #ffffff;
}


/* EuroCity active */

.bha-book-page-header--hero.bha-book-page-header--ecd
.bha-book-property-switcher__button.is-active {

	background: #BB9958;

	color: #ffffff;
}


/* ---------------------------------------------------------
   SEARCH BAR ON HERO
   --------------------------------------------------------- */

.bha-book-page-header--hero
.bha-book-page-search {

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

	margin-bottom: 20px;
}


.bha-book-page-header--hero
.bha-book-page-search
[data-testid="property-date-picker"] {

	background: rgba(255, 255, 255, 0.96) !important;

	border-color: rgba(255, 255, 255, 0.90) !important;

	box-shadow:
		0 5px 20px rgba(0, 0, 0, 0.18) !important;
}


/* ---------------------------------------------------------
   CURRENT BOOKING STATUS ON HERO
   --------------------------------------------------------- */

.bha-book-page-header--hero
.bha-book-page-status {

	margin-top: 14px;

	color: rgba(255, 255, 255, 0.90);

	font-size: 18px;
}


.bha-book-page-header--hero
.bha-book-page-status strong {

	color: #ffffff;
	font-weight: 500;
}


/*
 * Property colour can still be used as a subtle accent
 * if we want it later, but white reads better over images.
 */

.bha-book-page-header--hero.bha-book-page-header--wes
.bha-book-page-status strong,

.bha-book-page-header--hero.bha-book-page-header--ecd
.bha-book-page-status strong {

	color: #ffffff;
}


/* Room-specific context */

.bha-book-page-header--hero
.bha-book-page-room-context {

	color: rgba(255, 255, 255, 0.86);
}


.bha-book-page-header--hero
.bha-book-page-room-context strong {

	color: #ffffff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

	.bha-book-page-header--hero {

		min-height: 560px;

		padding:
			60px 40px
			54px;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 690px) {

	.bha-book-page-header--hero {

		min-height: 600px;

		padding:
			44px 18px
			42px;

		background-position: center center;
	}


	.bha-book-page-header--hero
	.bha-book-page-header__intro {

		margin-bottom: 26px;
	}


	.bha-book-page-header--hero
	.bha-book-property-switcher {

		width: 100%;

		margin-bottom: 18px;
	}


	.bha-book-page-header--hero
	.bha-book-page-search {

		width: 100%;
	}


	.bha-book-page-header--hero
	.bha-book-page-status {

		font-size: 15px;
	}

}


/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.bha-book-page-header__intro {
	margin-bottom: 30px;
}


.bha-book-page-header__intro h1 {
	margin: 0 0 5px;

	font-size: clamp(42px, 5vw, 64px);
	font-weight: 400;
	line-height: 1.05;
}


.bha-book-page-header__intro p {
	margin: 0;

	font-size: 16px;
	color: #666;
}


/* ---------------------------------------------------------
   PROPERTY SWITCHER
   --------------------------------------------------------- */

.bha-book-property-switcher {
	display: inline-flex;

	margin: 0 0 22px;

	border: 1px solid #d8d8d8;
}


.bha-book-property-switcher__button {
	display: flex;

	align-items: center;
	justify-content: center;

	min-width: 110px;
	min-height: 46px;

	padding: 10px 22px;

	box-sizing: border-box;

	background: #ffffff;

	border: 0;
	border-radius: 0;

	color: #555;

	font-size: 15px;
	font-weight: 400;

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


.bha-book-property-switcher__button + .bha-book-property-switcher__button {
	border-left: 1px solid #d8d8d8;
}


/* WestOne active */

.bha-book-page-header--wes
.bha-book-property-switcher__button.is-active {

	background: #383852;

	color: #ffffff;
}


/* EuroCity active */

.bha-book-page-header--ecd
.bha-book-property-switcher__button.is-active {

	background: #BB9958;

	color: #ffffff;
}


/* Inactive hover */

.bha-book-property-switcher__button:not(.is-active):hover {
	background: #f5f5f5;

	color: #333;
}


/* =========================================================
   GENERIC BHA BOOKING SEARCH
   Homepage / shared property search
   ========================================================= */

.bha-booking-search {
	width: 100%;
	max-width: 1100px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   PROPERTY SWITCHER
   --------------------------------------------------------- */

.bha-booking-search__properties {
	display: flex;
	justify-content: center;

	width: fit-content;

	margin: 0 auto 18px;

	border: 1px solid rgba(255, 255, 255, 0.75);

	background: rgba(255, 255, 255, 0.92);
}


.bha-booking-search__property {
	min-width: 120px;

	padding: 13px 24px;

	background: transparent;

	border: 0;
	border-right: 1px solid rgba(56, 56, 82, 0.16);

	border-radius: 0;

	color: #555;

	font-family: inherit;
	font-size: 14px;
	font-weight: 400;

	cursor: pointer;

	transition:
		background-color .2s ease,
		color .2s ease;
}


.bha-booking-search__property:last-child {
	border-right: 0;
}


/* WestOne selected */

.bha-booking-search__property[data-property="wes"].is-active {
	background: #383852;

	color: #fff;
}


/* EuroCity selected */

.bha-booking-search__property[data-property="ecd"].is-active {
	background: #bb9958;

	color: #fff;
}


/* ---------------------------------------------------------
   PICKER
   --------------------------------------------------------- */

.bha-booking-search__picker {
	width: 100%;
}


/*
 * Keep the Cloudbeds date/search component square,
 * consistent with the styling already used elsewhere.
 */

.bha-booking-search
cb-property-date-picker {

	display: block;

	width: 100%;
}


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

@media (max-width: 690px) {

	.bha-booking-search {
		width: 100%;
	}


	.bha-booking-search__properties {
		width: 100%;

		margin-bottom: 14px;
	}


	.bha-booking-search__property {
		flex: 1 1 50%;

		min-width: 0;

		padding: 13px 16px;

		font-size: 14px;
	}

}

/* ---------------------------------------------------------
   SEARCH
   --------------------------------------------------------- */

.bha-book-page-search {
	width: 100%;

	margin: 0 auto 18px;
}


/*
 * Reuse the clean BHA treatment already established
 * for the static property search component.
 */

.bha-book-page-search
[data-testid="property-date-picker"] {

	width: 100% !important;

	box-sizing: border-box !important;

	padding: 10px !important;

	background: #ffffff !important;

	border: 1px solid #e1e1e1 !important;
	border-radius: 0 !important;

	box-shadow:
		0 4px 14px rgba(0, 0, 0, 0.08) !important;
}


.bha-book-page-search
.cb-search-card {

	width: 100% !important;

	background: transparent !important;

	border-radius: 0 !important;

	box-shadow: none !important;
}


/* Date area */

.bha-book-page-search
[data-testid="property-date-picker-date-picker"] {

	width: 100% !important;

	background: #f8f9fa !important;

	border-radius: 0 !important;

	color: #383852 !important;
}


/* Remove Cloudbeds pill shapes */

.bha-book-page-search cb-property-date-picker,
.bha-book-page-search cb-property-date-picker *,
.bha-book-page-search cb-property-date-picker *::before,
.bha-book-page-search cb-property-date-picker *::after {

	border-radius: 0 !important;
}


/* Date inputs */

.bha-book-page-search
[data-testid="property-date-picker-date-picker-checkin-input"],

.bha-book-page-search
[data-testid="property-date-picker-date-picker-checkout-input"] {

	background: transparent !important;

	border: 0 !important;

	box-shadow: none !important;

	color: #383852 !important;

	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;

	padding-top: 14px !important;
	padding-bottom: 14px !important;
}


/* ---------------------------------------------------------
   SEARCH BUTTON
   --------------------------------------------------------- */

.bha-book-page-search
[data-testid="property-date-picker-search-button"] {

	min-width: 125px !important;
	min-height: 50px !important;

	padding: 12px 22px !important;

	border-radius: 0 !important;

	box-shadow: none !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 500 !important;

	letter-spacing: 0.09em !important;
	text-transform: uppercase !important;
}


/* WestOne */

.bha-book-page-header--wes
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #383852 !important;

	border-color: #383852 !important;

	color: #ffffff !important;
}


/* EuroCity */

.bha-book-page-header--ecd
[data-testid="property-date-picker-search-button"]:not(:disabled) {

	background: #BB9958 !important;

	border-color: #BB9958 !important;

	color: #ffffff !important;
}


/* Disabled */

.bha-book-page-search
[data-testid="property-date-picker-search-button"]:disabled {

	background: #e3e3e3 !important;

	border-color: #e3e3e3 !important;

	color: #999 !important;

	opacity: 1 !important;
}


/* ---------------------------------------------------------
   CURRENT BOOKING STATUS
   --------------------------------------------------------- */

.bha-book-page-status {
	display: flex;

	align-items: center;
	justify-content: center;

	gap: 8px;

	margin-top: 20px;

	font-size: 18px;
	line-height: 1.4;

	color: #555;
}


.bha-book-page-status strong {
	font-weight: 500;
}


/* WestOne property name */

.bha-book-page-header--wes
.bha-book-page-status strong {
	color: #383852;
}


/* EuroCity property name */

.bha-book-page-header--ecd
.bha-book-page-status strong {
	color: #BB9958;
}


.bha-book-page-status__separator {
	opacity: 0.55;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

	.bha-book-page-header {
		padding-top: 42px;
	}


	.bha-book-page-search
	[data-testid="property-date-picker-search-button"] {

		min-width: 100px !important;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 690px) {

	.bha-book-page-header {
		padding:
			34px 18px 28px;
	}


	.bha-book-page-header__intro {
		margin-bottom: 24px;
	}


	.bha-book-property-switcher {
		display: flex;

		width: 100%;

		margin-bottom: 18px;
	}


	.bha-book-property-switcher__button {
		flex: 1;

		min-width: 0;
	}


	.bha-book-page-search
	[data-testid="property-date-picker"] {

		padding: 6px !important;
	}


	.bha-book-page-search
	[data-testid="property-date-picker-date-picker-checkin-input"],

	.bha-book-page-search
	[data-testid="property-date-picker-date-picker-checkout-input"] {

		font-size: 14px !important;
	}


	.bha-book-page-search
	[data-testid="property-date-picker-search-button"] {

		width: 100% !important;
		min-width: 0 !important;

		margin-top: 7px !important;

		min-height: 46px !important;

		font-size: 12px !important;
	}


	.bha-book-page-status {
		flex-wrap: wrap;

		gap: 5px;

		margin-top: 16px;

		font-size: 15px;
	}

}

/* =========================================================
   BOOKING ENGINE POSITION
   ========================================================= */

.bha-booking-engine {
	width: 100%;

	margin: 10px auto 0;

	scroll-margin-top: 120px;
}


/* =========================================================
   ROOM-SPECIFIC CONTEXT
   ========================================================= */

.bha-book-page-room-context {
	margin-top: 10px;

	text-align: center;

	font-size: 15px;

	color: #666;
}


.bha-book-page-room-context strong {
	font-weight: 500;

	color: #444;
}


/* =========================================================
   ALTERNATIVE PROPERTY
   ========================================================= */

.bha-book-alternative {
	width: calc(100% - 60px);
	max-width: 850px;

	margin: 60px auto 0;

	padding: 32px 30px;

	box-sizing: border-box;

	border-top: 1px solid #ddd;

	text-align: center;
}


.bha-book-alternative h3 {
	margin: 0 0 5px;

	font-weight: 400;
}


.bha-book-alternative p {
	margin: 0 0 20px;

	color: #666;
}


.bha-book-alternative__button {
	display: inline-block;

	margin-top: 10px;

	padding: 12px 22px;

	background: transparent;

	border: 1px solid #BB9958;
	border-radius: 0;

	color: #BB9958;

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


.bha-book-alternative__button:hover {
	background: #BB9958;

	color: #ffffff;
}


/* MOBILE */

@media (max-width: 690px) {

	.bha-book-alternative {
		width: calc(100% - 36px);

		margin-top: 40px;

		padding:
			26px 18px;
	}

}





/* =========================================================
   BOOKING POLICY LINK
   ========================================================= */

.bha-booking-policy-link {
	width: calc(100% - 60px);
	max-width: 850px;

	margin: 34px auto 0;

	text-align: center;

	font-size: 15px;
}


.bha-booking-policy-link a {
	color: #666;

	text-decoration: underline;
	text-underline-offset: 4px;

	transition: color 0.2s ease;
}


.bha-booking-policy-link a:hover {
	color: #BB9958;
}


@media (max-width: 690px) {

	.bha-booking-policy-link {
		width: calc(100% - 36px);

		margin-top: 26px;

		font-size: 14px;
	}

}

/* =========================================================
   PROPERTY-SPECIFIC BOOKING GLOBAL SECTION
   ========================================================= */

.bha-book-property-global {
	width: calc(100% - 60px);
	max-width: 1400px;

	margin: 50px auto 0;

	box-sizing: border-box;

	overflow: hidden;
}


/*
 * Salient global sections can contain full-width rows.
 * Keep those rows constrained inside the booking-page container.
 */

.bha-book-property-global .wpb_row,
.bha-book-property-global .vc_row,
.bha-book-property-global .row-bg-wrap,
.bha-book-property-global .row_col_wrap_12 {
	max-width: 100% !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/*
 * Prevent Salient full-width row calculations from escaping
 * the booking-page wrapper.
 */

.bha-book-property-global
[data-column-margin="default"],
.bha-book-property-global
[data-using-bg="true"] {
	width: 100% !important;

	left: auto !important;
	right: auto !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 690px) {

	.bha-book-property-global {
		width: calc(100% - 36px);

		margin-top: 36px;
	}

}
/* =========================================================
   BOOKING PROPERTY GLOBAL SECTION
   Contained, transparent version of Salient Global Section
   ========================================================= */

.bha-book-property-global {
	width: calc(100% - 60px);
	max-width: 1180px;

	margin: 50px auto 0;

	box-sizing: border-box;

	background: transparent !important;
}


/* Reset Salient full-width calculations */

.bha-book-property-global .wpb_row,
.bha-book-property-global .vc_row,
.bha-book-property-global .row_col_wrap_12 {
	width: 100% !important;
	max-width: 100% !important;

	margin-left: 0 !important;
	margin-right: 0 !important;

	left: 0 !important;
	right: auto !important;

	background: transparent !important;
}


/* Remove the original Global Section row background */

.bha-book-property-global .row-bg-wrap,
.bha-book-property-global .row-bg,
.bha-book-property-global .row-bg-overlay {
	display: none !important;

	background: transparent !important;
}


/* Remove any background inherited by columns */

.bha-book-property-global .wpb_column,
.bha-book-property-global .vc_column_container,
.bha-book-property-global .column_container,
.bha-book-property-global .vc_column-inner {
	background: transparent !important;
	background-color: transparent !important;
}


/* Also neutralise inline Salient background colour layers */

.bha-book-property-global [data-bg-color] {
	background-color: transparent !important;
}


@media (max-width: 690px) {

	.bha-book-property-global {
		width: calc(100% - 36px);
		margin-top: 36px;
	}

}

/* =========================================================
   BLANK BOOKING PAGE HERO
   ========================================================= */

.bha-book-page-header--blank {
	position: relative;
	min-height: 680px;
	padding: 110px 20px 90px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	text-align: center;
}

.bha-book-page-header--blank::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(30, 24, 18, 0.35);
}

.bha-book-page-header--blank > * {
	position: relative;
	z-index: 2;
}

.bha-book-page-header--blank .bha-book-page-header__intro h1,
.bha-book-page-header--blank .bha-book-page-header__chooser-intro h2,
.bha-book-page-header--blank .bha-book-page-header__intro p,
.bha-book-page-header--blank .bha-book-page-header__chooser-intro p {
	color: #fff;
}

.bha-book-page-header__chooser-intro {
	max-width: 800px;
	margin: 0 auto 30px;
	text-align: center;
}

.bha-book-page-header__chooser-intro h2 {
	margin-bottom: 10px;
}


/* =========================================================
   BLANK BOOKING PAGE COMPARISON SECTION
   ========================================================= */

.bha-book-page-compare {
	padding: 80px 20px 90px;
	background: #f8f8f6;
}

.bha-book-page-compare__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.bha-book-page-compare__intro {
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: center;
}

.bha-book-page-compare__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

.bha-book-page-compare__card {
	background: #fff;
	padding: 40px 36px;
	border: 1px solid #e7e2d8;
}

.bha-book-page-compare__card h4 {
	margin-bottom: 14px;
}

.bha-book-page-compare__button {
	display: inline-block;
	margin-top: 18px;
	padding: 12px 22px;
	border: 1px solid #bb9958;
	color: #bb9958;
	text-decoration: none;
	transition: all 0.2s ease;
}

.bha-book-page-compare__button:hover {
	background: #bb9958;
	color: #fff;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 999px) {
	.bha-book-page-header--blank {
		min-height: 600px;
		padding: 90px 20px 70px;
	}

	.bha-book-page-compare__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 690px) {
	.bha-book-page-header--blank {
		min-height: auto;
		padding: 70px 20px 60px;
	}

	.bha-book-page-compare {
		padding: 60px 20px 70px;
	}

	.bha-book-page-compare__card {
		padding: 28px 24px;
	}
}

/* =========================================================
   HOMEPAGE GENERIC BOOKING SEARCH
   ========================================================= */

.bha-booking-search {
	position: relative;
	z-index: 50;

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

	margin: 28px auto 0;

	pointer-events: auto;
}


/* ---------------------------------------------------------
   PROPERTY SWITCHER
   --------------------------------------------------------- */

.bha-booking-search__properties {
	display: flex;
	justify-content: center;

	width: fit-content;

	margin: 0 auto 18px;

	background: #ffffff;

	border: 1px solid rgba(255, 255, 255, 0.7);
}


.bha-booking-search__property {
	min-width: 135px;

	padding: 14px 26px;

	background: #ffffff;

	border: 0;
	border-right: 1px solid #dddddd;
	border-radius: 0;

	color: #555555;

	font-family: inherit;
	font-size: 15px;
	font-weight: 400;

	cursor: pointer;
}


.bha-booking-search__property:last-child {
	border-right: 0;
}


/* WestOne active */

.bha-booking-search__property[data-property="wes"].is-active {
	background: #383852;

	color: #ffffff;
}


/* EuroCity active */

.bha-booking-search__property[data-property="ecd"].is-active {
	background: #bb9958;

	color: #ffffff;
}


/* ---------------------------------------------------------
   CLOUDBEDS PROPERTY PICKER
   --------------------------------------------------------- */

.bha-booking-search cb-property-date-picker {
	display: block;

	width: 100%;
}


/*
 * Outer search component
 */

.bha-booking-search
[data-testid="property-date-picker"] {

	width: 100% !important;

	padding: 12px !important;

	background: rgba(255, 255, 255, 0.96) !important;

	border: 1px solid rgba(255, 255, 255, 0.85) !important;
	border-radius: 0 !important;

	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.12) !important;
}


/*
 * Date section
 */

.bha-booking-search
[data-testid="property-date-picker-date-picker"] {

	background: #f8f8f9 !important;

	border-radius: 0 !important;
}


/*
 * Individual date buttons
 */

.bha-booking-search
[data-testid="property-date-picker-date-picker-checkin-input"],

.bha-booking-search
[data-testid="property-date-picker-date-picker-checkout-input"] {

	background: transparent !important;

	border-radius: 0 !important;

	color: #383852 !important;

	font-family: inherit !important;
}


/*
 * Search button
 *
 * Default = WestOne colours
 */

.bha-booking-search
[data-testid="property-date-picker-search-button"] {

	min-width: 140px !important;

	background: #383852 !important;

	border: 1px solid #383852 !important;
	border-radius: 0 !important;

	color: #ffffff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;

	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}


/*
 * Disabled search
 */

.bha-booking-search
[data-testid="property-date-picker-search-button"]:disabled {

	background: rgba(56, 56, 82, 0.45) !important;

	border-color: rgba(56, 56, 82, 0.45) !important;

	color: rgba(255, 255, 255, 0.8) !important;
}


/*
 * EuroCity state
 */

.bha-booking-search[data-property="ecd"]
[data-testid="property-date-picker-search-button"] {

	background: #bb9958 !important;

	border-color: #bb9958 !important;
}


.bha-booking-search[data-property="ecd"]
[data-testid="property-date-picker-search-button"]:disabled {

	background: rgba(187, 153, 88, 0.5) !important;

	border-color: rgba(187, 153, 88, 0.5) !important;
}


/* =========================================================
   HERO / SLIDER INTERACTION
   ========================================================= */

/*
 * Allow slider itself to remain draggable everywhere except
 * the actual booking controls.
 */

.bha-hero-copy {
	position: relative;
	z-index: 40 !important;

	pointer-events: none;
}


.bha-hero-copy .bha-booking-search,
.bha-hero-copy .bha-booking-search button,
.bha-hero-copy .bha-booking-search cb-property-date-picker,
.bha-hero-copy .bha-booking-search [data-testid] {

	pointer-events: auto !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 690px) {

	.bha-booking-search {
		margin-top: 22px;
		padding: 0 18px;
	}


	.bha-booking-search__properties {
		width: 100%;
	}


	.bha-booking-search__property {
		flex: 1 1 50%;

		min-width: 0;

		padding: 13px 14px;
	}


	.bha-booking-search
	[data-testid="property-date-picker"] {

		padding: 10px !important;
	}


	.bha-booking-search
	[data-testid="property-date-picker-search-button"] {

		min-width: 90px !important;
	}

}

/* =========================================================
   BOOK PAGE - SELECTED DATE SUMMARY
   ========================================================= */

.bha-book-page-search--summary {
	background: #fff;
	padding: 12px;
}


.bha-book-page-search-summary {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;

	width: 100%;
}


.bha-book-page-search-summary__property {
	font-weight: 600;
}


.bha-book-page-search-summary__dates {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
}


.bha-book-page-search-summary__arrow {
	font-size: 18px;
}


.bha-book-page-search-summary__change {
	padding: 12px 18px;

	background: #383852;
	color: #fff !important;

	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 12px;
}


/* Mobile */

@media (max-width: 690px) {

	.bha-book-page-search-summary {
		grid-template-columns: 1fr;
		gap: 10px;

		text-align: center;
	}


	.bha-book-page-search-summary__dates {
		gap: 10px;
	}


	.bha-book-page-search-summary__change {
		justify-self: center;
	}

}

/* Fixed-property generic search: inactive Cloudbeds picker */
.bha-booking-search [data-bha-booking-picker][hidden] {
	display: none !important;
}

