/**
 * NOWP CHBS integration base.
 *
 * Structural and interaction rules only. Brand values belong to a profile layer.
 */

.nowp-booking {
	--nowp-booking-content-width: 1180px;
	--nowp-booking-gap: clamp(1rem, 2vw, 1.75rem);
}

.nowp-booking .nowp-booking-inner {
	box-sizing: border-box;
	inline-size: min(100% - 2rem, var(--nowp-booking-content-width));
	margin-inline: auto;
}

.nowp-booking__engine {
	min-inline-size: 0;
	margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
	overflow-wrap: anywhere;
}

.nowp-booking__engine .chbs-main,
.nowp-booking__engine .chbs-booking-form,
.nowp-booking__engine .chbs {
	box-sizing: border-box;
	max-inline-size: 100%;
	inline-size: 100%;
}

.nowp-booking__engine :where(input, select, textarea, button) {
	max-inline-size: 100%;
}

.nowp-booking__engine :where(a, button, input, select, textarea):focus-visible,
.nowp-booking__group-link:focus-visible {
	outline: 3px solid var(--nowp-booking-focus, currentColor);
	outline-offset: 3px;
}

.nowp-booking__engine--unavailable {
	padding: clamp(1rem, 2vw, 1.5rem);
	text-align: center;
}

.nowp-booking__unavailable {
	margin: 0;
}

.nowp-booking__group-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--nowp-booking-gap);
	margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.nowp-booking__group-cta h3,
.nowp-booking__group-cta p {
	margin-block: 0;
}

.nowp-booking__group-cta p {
	margin-block-start: 0.5rem;
}

.nowp-booking__group-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 44px;
	padding: 0.75rem 1.25rem;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 768px) {
	.nowp-booking__group-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.nowp-booking__group-link {
		inline-size: 100%;
	}
}

/*
 * CHBS appends these widgets to body. The NOWP body class prevents unrelated
 * WordPress pages from inheriting the integration corrections.
 */
body.nowp-booking-active > .pac-container,
body.nowp-booking-active > .ui-datepicker,
body.nowp-booking-active > .ui-timepicker-wrapper {
	z-index: 100000;
	max-inline-size: calc(100vw - 1rem);
}
