.uff-booking {
	--uff-rose: #c4a09a;
	--uff-rose-deep: #a87b76;
	--uff-ink: #3a2a26;
	--uff-muted: #8c736c;
	--uff-paper: #fbf7f2;
	container: uff-booking / inline-size;
	isolation: isolate;
	margin: 0 auto;
	padding: 8px 0 32px;
	max-width: 1100px;
}

.uff-booking__shell {
	display: grid;
	grid-template-columns: minmax(15rem, 17.5rem) minmax(0, 1fr);
	overflow: hidden;
	border-radius: 24px;
	background: #fff;
	border: 1px solid #eadfd6;
	box-shadow: 0 18px 50px rgb(58 42 38 / 0.1);
}

.uff-booking__aside {
	background: linear-gradient(165deg, #c9a4a8 0%, #a87b76 100%);
	color: #fff;
	padding: 32px 28px;
}

.uff-booking__brand {
	margin: 0 0 8px;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.85;
}

.uff-booking__title {
	margin: 0 0 0.85rem !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2rem, 5cqi, 2.5rem) !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	color: #fff !important;
}

.uff-booking__lead,
.uff-booking__meta {
	margin: 0 0 1.15rem;
	font-size: 0.98rem;
	font-weight: 300;
	line-height: 1.5;
	color: #fff;
}

.uff-booking__points {
	margin: 1.8rem 0 1.2rem;
	padding: 0;
	list-style: none;
}

.uff-booking__points li {
	margin-block-end: 1rem;
}

.uff-booking__points strong,
.uff-booking__points span {
	display: block;
}

.uff-booking__points span {
	opacity: 0.85;
	font-weight: 300;
	font-size: 0.9rem;
}

.uff-booking__aside a,
.uff-booking__notice a {
	color: inherit;
}

.uff-booking__main {
	padding: 22px 22px 16px;
	background: #fff;
	min-width: 0;
}

.uff-booking__notice {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border-radius: 0.85rem;
	background: var(--uff-paper);
	border: 1px solid #eadfd6;
	color: var(--uff-ink);
	font-size: 0.92rem;
	line-height: 1.5;
}

.uff-booking__notice[hidden] {
	display: none;
}

.uff-site .booknetic_appointment {
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 28rem;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	border: 0 !important;
	display: flex !important;
	flex-direction: row !important;
}

.uff-site .booknetic_appointment_steps,
.uff-site .booknetic_company_logo,
.uff-site .booknetic_appointment_steps_footer,
.uff-site .booknetic_appointment_step_element[data-step-id="location"] {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
}

.uff-site .booknetic_appointment_container {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 auto !important;
	height: auto !important;
	min-height: 26rem;
	overflow: visible !important;
	background: #fff !important;
}

.uff-site .booknetic_appointment_container_header {
	height: auto !important;
	padding: 4px 4px 16px !important;
	border-bottom-color: #eadfd6 !important;
}

.uff-site .booknetic_appointment_container_header_text {
	font-family: "Playfair Display", Georgia, serif !important;
	font-size: 1.35rem !important;
	font-weight: 500 !important;
	color: var(--uff-ink, #3a2a26) !important;
}

.uff-site .booknetic_appointment_container_body {
	height: auto !important;
	min-height: 16rem;
	padding: 18px 4px !important;
	overflow: visible !important;
}

.uff-site .booknetic_appointment_container_footer {
	height: auto !important;
	padding: 16px 4px 4px !important;
	border-top-color: #eadfd6 !important;
	background: #fff !important;
}

.uff-site .booknetic_appointment_container_footer button,
.uff-site .booknetic_appointment button.booknetic_btn_primary,
.uff-site .booknetic_btn_primary,
.uff-site .booknetic-forward-btn,
.uff-site .booknetic_next_step,
.uff-site .booknetic_next_step_btn,
.uff-site .booknetic_confirm_booking_btn,
.uff-site button[data-step="next"],
:is(#booknetic_theme_1.booknetic_appointment, #booknetic_theme_2.booknetic_appointment, #booknetic_theme_3.booknetic_appointment, #booknetic_theme_4.booknetic_appointment, #booknetic_theme_5.booknetic_appointment, #booknetic_theme_6.booknetic_appointment, #booknetic_theme_7.booknetic_appointment, #booknetic_theme_8.booknetic_appointment) :is(.booknetic_btn_primary, .booknetic_next_step, .booknetic_next_step_btn, .booknetic_confirm_booking_btn, .booknetic_try_again_btn) {
	background: #c9a4a8 !important;
	background-color: #c9a4a8 !important;
	border: 0 !important;
	border-color: #c9a4a8 !important;
	border-radius: 999px !important;
	color: #fff !important;
	min-height: 2.5rem;
	padding: 0.45rem 1.4rem !important;
	box-shadow: none !important;
}

:is(#booknetic_theme_1.booknetic_appointment, #booknetic_theme_2.booknetic_appointment, #booknetic_theme_3.booknetic_appointment, #booknetic_theme_4.booknetic_appointment, #booknetic_theme_5.booknetic_appointment, #booknetic_theme_6.booknetic_appointment, #booknetic_theme_7.booknetic_appointment, #booknetic_theme_8.booknetic_appointment) :is(.booknetic_btn_primary, .booknetic_next_step, .booknetic_next_step_btn, .booknetic_confirm_booking_btn, .booknetic_try_again_btn):hover {
	background: #a87b76 !important;
	background-color: #a87b76 !important;
}

:is(#booknetic_theme_1.booknetic_appointment, #booknetic_theme_2.booknetic_appointment, #booknetic_theme_3.booknetic_appointment, #booknetic_theme_4.booknetic_appointment, #booknetic_theme_5.booknetic_appointment, #booknetic_theme_6.booknetic_appointment, #booknetic_theme_7.booknetic_appointment, #booknetic_theme_8.booknetic_appointment) :is(.booknetic_btn_primary, .booknetic_next_step, .booknetic_next_step_btn, .booknetic_confirm_booking_btn, .booknetic_try_again_btn) span {
	background: transparent !important;
	color: #fff !important;
}

.uff-site .booknetic_service_card_selected,
.uff-site .booknetic_card_selected,
.uff-site .booknetic_card.selected {
	border-color: #c9a4a8 !important;
}

.uff-site .booknetic_card,
.uff-site .booknetic_service_card {
	border-radius: 14px !important;
	border-color: #eadfd6 !important;
}

.uff-site .iti {
	position: relative;
	display: inline-block;
	width: 100%;
}

.uff-site .iti__dropdown-content {
	position: absolute;
	z-index: 30;
	inset-inline-start: 0;
	width: min(18rem, 100%);
	margin-block-start: 0.2rem;
	overflow: hidden;
	background: #fff;
	border: 1px solid #eadfd6;
	border-radius: 0.7rem;
	box-shadow: 0 12px 28px rgb(58 42 38 / 0.14);
}

.uff-site .iti__country-list {
	max-height: 12.5rem;
	margin: 0;
	padding: 0.25rem 0;
	overflow: auto;
	list-style: none;
}

.uff-site .iti__country {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
}

.uff-site .iti__search-input {
	width: calc(100% - 1rem);
	margin: 0.45rem 0.5rem;
	padding: 0.4rem 0.55rem;
	border: 1px solid #eadfd6;
	border-radius: 0.45rem;
}

@container uff-booking (max-width: 820px) {
	.uff-booking__shell {
		grid-template-columns: 1fr;
	}

	.uff-site .booknetic_appointment {
		flex-direction: column !important;
		height: auto !important;
		min-height: 0;
	}
}
