/**
 * Gents Lounge – frontend booking service selection UI.
 * Yellow pill category filters + two-column rounded service cards.
 */

.bpa-frontend-main-container {
	--bp-gl-yellow: #f5c400;
	--bp-gl-black: #111111;
	--bp-gl-muted: #8a8a8a;
	--bp-gl-border: #111111;
	--bp-gl-card-radius: 22px;
	--bp-gl-pill-radius: 999px;
	--bp-gl-slot-disabled: #9a9a9a;
}

/* Follow BookingPress Customize colors when present (set on .bpa-front-tabs). */
.bpa-frontend-main-container .bpa-front-tabs {
	--bp-gl-yellow: var(--bpa-pt-main-green, #f5c400);
	--bp-gl-border: var(--bpa-pt-border-color, #111111);
	--bp-gl-black: var(--bpa-pt-price-button-text-color, #111111);
}

.bpa-frontend-main-container .bpa-front-tabs--panel-body .bpa-front-dc--body {
	min-height: 425px !important;
	max-height: 425px !important;
	overflow-y: auto !important;
}

/* Elementor BP All Booking widget controls its own container height. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--panel-body .bpa-front-dc--body {
	min-height: auto !important;
	max-height: none !important;
	overflow-x: hidden !important;
	overflow-y: visible !important;
}

.bp-all-booking,
.bp-all-booking .bpa-frontend-main-container,
.bp-all-booking .bpa-front-default-card,
.bp-all-booking .bpa-front-tabs--panel-body {
	overflow-x: hidden !important;
	max-width: 100% !important;
}

/* Hide step sidebar tab menu */
.bpa-frontend-main-container .bpa-front-tab-menu {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front-tabs--vertical-left,
.bpa-frontend-main-container .bpa-front-tabs.--bpa-top {
	display: block !important;
}

.bpa-frontend-main-container .bpa-front-tabs--vertical-left .bpa-front-tabs--panel-body,
.bpa-frontend-main-container .bpa-front-tabs.--bpa-top .bpa-front-tabs--panel-body {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	margin: 0 !important;
}

@media (max-width: 576px) {
	.bpa-frontend-main-container .bpa-front-tabs--panel-body .bpa-front-dc--body {
		min-height: 450px !important;
		max-height: 450px !important;
		overflow-y: auto !important;
		padding: 24px 14px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--panel-body .bpa-front-dc--body {
		min-height: auto !important;
		max-height: none !important;
		overflow-y: visible !important;
		padding: unset !important;
	}

	.bpa-frontend-main-container .bpa-front-module--service-items-row .bpa-front-module--service-item {
		padding: 0 !important;
		border-bottom: none !important;
	}
}

/* Hide “Select Category / Select Service” headings for a cleaner layout (shortcode only). */
.bpa-frontend-main-container .bpa-front-module--category .bpa-front-module-heading,
.bpa-frontend-main-container .bpa-front-module--service > .bpa-front-module-heading {
	display: none !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--category .bpa-front-module-heading,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service > .bpa-front-module-heading {
	display: revert !important;
}

/* ---------------------------------------------------------------------------
 * Category pills
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-module--category {
	margin-bottom: 22px;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--category {
	margin-bottom: unset;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 12px;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag {
	height: auto !important;
	min-height: 42px;
	padding: 10px 22px !important;
	margin: 0 !important;
	border-radius: var(--bp-gl-pill-radius) !important;
	border: 1.5px solid var(--bp-gl-border) !important;
	background: #ffffff !important;
	color: var(--bp-gl-black) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	cursor: pointer;
	box-shadow: none !important;
	animation: none !important;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag .bpa-front-ci-item-title {
	max-width: none !important;
	font-weight: 700 !important;
	color: inherit !important;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag svg,
.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag i {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag:hover {
	background: #fffbe8 !important;
	border-color: var(--bp-gl-border) !important;
	color: var(--bp-gl-black) !important;
}

.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag.__bpa-is-active,
.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag.__bpa-is-active:hover {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
	color: var(--bp-gl-black) !important;
}

/* Category pill defaults (Elementor Style overrides inside .bp-all-booking). */

/* ---------------------------------------------------------------------------
 * Service grid – two equal-height columns
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-module--service-items-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	margin-left: -8px !important;
	margin-right: -8px !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-items-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-items-row .bpa-fm--si--col,
.bpa-frontend-main-container .bpa-front-tabs.--bpa-top .bpa-front-module--service-items-row .bpa-fm--si--col {
	display: flex !important;
	flex: 0 0 50% !important;
	max-width: 50% !important;
	flex-basis: 50% !important;
	padding-left: 8px !important;
	padding-right: 8px !important;
	margin-bottom: 16px !important;
	box-sizing: border-box !important;
	align-items: stretch !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs.--bpa-top .bpa-front-module--service-items-row .bpa-fm--si--col,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--vertical-left .bpa-front-module--service-items-row .bpa-fm--si--col,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-items-row .bpa-fm--si--col {
	flex: none !important;
	max-width: none !important;
	flex-basis: auto !important;
	width: auto !important;
	min-width: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-items-row .bpa-fm--si--col > .bpa-front-module--service-item {
	display: flex !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 100% !important;
}

/* ---------------------------------------------------------------------------
 * Service cards – equal height, even inner spacing
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card,
.bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 50px !important;
	border: 1.5px solid var(--bp-gl-border) !important;
	border-radius: var(--bp-gl-card-radius) !important;
	background: #ffffff !important;
	box-shadow: none !important;
	padding: 0px 15px !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
	box-sizing: border-box !important;
}

/* Service card defaults (Elementor Style overrides inside .bp-all-booking). */

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover {
	background: #fafafa !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card,
.bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card:hover {
	border-color: var(--bp-gl-black) !important;
	background: #fffbe8 !important;
	box-shadow: none !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-card__row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-card__left,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-card--checkmark-icon,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-card--checkmark-icon-multiservice {
	display: none !important;
}

/* Kill empty leftover <p> nodes from theme/Vue that blow out card height */
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card p:empty,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-card__row > p,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body > p,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-cb__specs > p,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si-cb__specs-item > p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
	line-height: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content !important;
	grid-template-rows: auto auto !important;
	align-items: center !important;
	column-gap: 20px !important;
	row-gap: 4px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading,
.bpa-frontend-main-container .bpa-front-tabs .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	text-align: left !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: var(--bp-gl-black) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .--bpa-is-desc {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs {
	display: contents !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item {
	margin: 0 !important;
	padding: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) {
	grid-column: 1 !important;
	grid-row: 2 !important;
	justify-self: start !important;
	text-align: left !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:has(strong.--is-service-price) {
	grid-column: 2 !important;
	grid-row: 1 / span 2 !important;
	justify-self: end !important;
	align-self: center !important;
	position: static !important;
	transform: none !important;
	width: auto !important;
	margin: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p,
.bpa-frontend-main-container .bpa-front-tabs .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	line-height: 1.3 !important;
	color: var(--bp-gl-muted) !important;
	font-weight: 500 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong,
.bpa-frontend-main-container .bpa-front-tabs .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong {
	font-weight: 600 !important;
	color: var(--bp-gl-muted) !important;
	font-size: inherit !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	display: inline !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:has(strong.--is-service-price) p {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body strong.--is-service-price,
.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong.--is-service-price,
.bpa-frontend-main-container .bpa-front-tabs .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong.--is-service-price {
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	color: var(--bp-gl-black) !important;
	letter-spacing: -0.02em;
	white-space: nowrap;
	background: transparent !important;
	background-color: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	display: inline !important;
	box-shadow: none !important;
}

/* Let Elementor BP All Booking widget style service card text. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover .bpa-front-si__card-body .bpa-front-si__card-body--heading,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading {
	font-size: unset !important;
	font-weight: unset !important;
	line-height: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p strong,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p strong,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:not(:has(strong.--is-service-price)) p strong {
	font-size: unset !important;
	font-weight: unset !important;
	line-height: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item:has(strong.--is-service-price) p {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body strong.--is-service-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong.--is-service-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover .bpa-front-si__card-body strong.--is-service-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card:hover .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong.--is-service-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body strong.--is-service-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item.__bpa-is-selected .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si-cb__specs .bpa-front-si-cb__specs-item p strong.--is-service-price {
	font-size: unset !important;
	font-weight: unset !important;
	line-height: unset !important;
	color: unset !important;
	letter-spacing: unset !important;
	display: inline !important;
}

/* ---------------------------------------------------------------------------
 * Mobile
 * --------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.bpa-frontend-main-container .bpa-front-module--service-items-row .bpa-fm--si--col,
	.bpa-frontend-main-container .bpa-front-tabs.--bpa-top .bpa-front-module--service-items-row .bpa-fm--si--col {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card {
		padding: 16px !important;
		min-height: 70px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card {
		padding: unset !important;
		min-height: unset !important;
	}

	.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading {
		font-size: 16px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body .bpa-front-si__card-body--heading {
		font-size: unset !important;
	}

	.bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body strong.--is-service-price {
		font-size: 20px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--service-item .bpa-front-si-card .bpa-front-si__card-body strong.--is-service-price {
		font-size: 20px !important;
	}

	.bpa-frontend-main-container .bpa-front-module--category .bpa-front-cat-items .bpa-front-ci-pill.el-tag {
		min-height: 38px;
		padding: 8px 16px !important;
		font-size: 14px !important;
	}

	.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card {
		min-height: 38px !important;
		padding: 8px 16px !important;
		font-size: 14px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card {
		min-height: unset !important;
		padding: unset !important;
		font-size: unset !important;
	}
}

/* ---------------------------------------------------------------------------
 * Staff selection — name-only pill buttons (match category filters)
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-module--staff > .bpa-front-module-heading {
	display: block !important;
	margin: 0 0 16px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--bp-gl-black) !important;
	line-height: 1.3 !important;
}

/* Keep staff title visible; Elementor Style → Staff Heading can still override. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--staff > .bpa-front-module-heading {
	display: block !important;
	margin: 0 0 16px !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.3 !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-module--staff-item-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px 12px !important;
	margin: 0 !important;
	width: 100% !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col-only-name,
.bpa-frontend-main-container .bpa-front-module--staff .--bpa-sm-any-staff-col {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 42px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 10px 22px !important;
	border: 1.5px solid var(--bp-gl-border) !important;
	border-radius: var(--bp-gl-pill-radius) !important;
	background: #ffffff !important;
	box-shadow: none !important;
	cursor: pointer !important;
	overflow: visible !important;
	position: relative !important;
	transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card:hover,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card:focus {
	background: #fff8de !important;
	border-color: var(--bp-gl-border) !important;
	box-shadow: none !important;
	outline: none !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col.__bpa-is-selected .bpa-front-sm-card,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card.__bpa-is-active {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
}

/* Staff pill defaults (Elementor Style overrides inside .bp-all-booking). */

.bpa-frontend-main-container .bpa-front-module--staff .--bpa-sm-any-staff-col,
.bpa-frontend-main-container .bpa-front-module--staff .--bpa-sm-is-any-staff-col {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__left,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__inner-body,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card .bpa-front-sm__avatar,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card .bpa-front-sm__default-avatar,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card .bpa-front-sm-card__inner-footer,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card .bpa-front-sm-card__inner-button,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card-sm__avatar,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card-sm__footer,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card-sm__body-expand-collapse-wrapper,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__inner-body--bio,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__inner-body-item {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__body,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card-sm__body,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card-sm__body-wrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	overflow: visible !important;
}

.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__body--name,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm-card__body--name span,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col .bpa-front-sm-card.__bpa-is-active .bpa-front-sm-card__body--name,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col .bpa-front-sm-card:hover .bpa-front-sm-card__body--name,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col .bpa-front-sm-card:focus-within .bpa-front-sm-card__body--name {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em !important;
	color: var(--bp-gl-black) !important;
	text-align: center !important;
	white-space: nowrap !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.bpa-frontend-main-container .bpa-empty-view-cls,
.bpa-frontend-main-container .bpa-front-module--staff .bpa-dailog__empty-item {
	display: none !important;
}

/* Prevent desktop + mobile staff markup both rendering as pills */
@media (min-width: 577px) {
	.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col:has(.bpa-front-sm-card-sm__body) {
		display: none !important;
	}
}

@media (max-width: 576px) {
	.bpa-frontend-main-container .bpa-front-module--staff .bpa-front-sm--col:has(.bpa-front-sm-card__inner-body) {
		display: none !important;
	}
}

/* ---------------------------------------------------------------------------
 * Next button — label only ("Next" + arrow), hide next-step tab name
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary strong {
	display: none !important;
}

/* Elementor widget: clear BookingPress border-top so Style → Footer Navigation border wins. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot {
	border: unset !important;
	border-top: unset !important;
	border-radius: unset !important;
	box-sizing: border-box !important;
}

/* Elementor widget: Next/Book stays right; let Style → Next Button colors win. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary {
	margin-left: auto !important;
	background-color: unset !important;
	border-color: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary strong {
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:hover,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:focus {
	background-color: unset !important;
	border-color: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:hover span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:focus span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:hover strong,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--primary:focus strong {
	color: unset !important;
}

/* Elementor widget: Go Back left; let Style → Back Button colors win over BookingPress !important. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless {
	margin-right: auto !important;
	background-color: unset !important;
	border-color: unset !important;
	color: unset !important;
	padding: unset !important;
	border-radius: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless strong {
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:hover,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:focus {
	background-color: unset !important;
	border-color: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:hover span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:focus span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:hover strong,
.bp-all-booking .bpa-frontend-main-container .bpa-front-tabs--foot .bpa-front-btn--borderless:focus strong {
	color: unset !important;
}

/* ---------------------------------------------------------------------------
 * Date & Time calendar — circular date pills (mockup)
 * --------------------------------------------------------------------------- */
.bpa-frontend-main-container .bpa-front-module--date-and-time .bpa-front-module-heading {
	display: block !important;
	margin: 0 0 14px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid #e3e3e3 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a2b4a !important;
	text-align: center !important;
	line-height: 1.3 !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--date-and-time .el-col > .bpa-front-module-heading {
	font-size: unset !important;
	font-weight: unset !important;
	color: unset !important;
	text-align: unset !important;
	line-height: unset !important;
	border: unset !important;
	border-radius: unset !important;
	padding: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__ts-heading > .bpa-front-module-heading {
	border: unset !important;
	border-radius: unset !important;
	padding: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar {
	height: auto !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar {
	box-sizing: border-box !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-container {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-header {
	background: transparent !important;
	border-bottom: none !important;
	padding: 8px 12px 12px !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-title {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #1a2b4a !important;
	text-align: center !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-title {
	font-size: unset !important;
	font-weight: unset !important;
	font-family: unset !important;
	color: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	font-style: unset !important;
	text-decoration: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-arrows-container {
	padding: 8px 12px !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-arrows-container .vc-svg-icon path {
	fill: #8a96a8 !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-arrows-container .vc-svg-icon path {
	fill: unset !important;
	stroke: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-weeks {
	padding: 0 4px !important;
	background: transparent !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-weekday {
	border: none !important;
	padding: 8px 0 12px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #8a96a8 !important;
	text-align: center !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-weekday {
	font-size: unset !important;
	font-weight: unset !important;
	font-family: unset !important;
	color: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	font-style: unset !important;
	text-decoration: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day {
	border: none !important;
	height: auto !important;
	min-height: 52px !important;
	max-height: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 4px 0 !important;
	background: transparent !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1.5px solid var(--bp-gl-border) !important;
	background: #ffffff !important;
	color: var(--bp-gl-black) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	flex-direction: row !important;
}

/* Elementor widget: let Style → Calendar controls win. */
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content {
	width: unset !important;
	height: unset !important;
	min-width: unset !important;
	min-height: unset !important;
	border-color: unset !important;
	background: unset !important;
	color: unset !important;
	font-size: unset !important;
	font-weight: unset !important;
	font-family: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	font-style: unset !important;
	text-decoration: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content:hover:not(.is-disabled) {
	background: #fff8de !important;
	border-color: var(--bp-gl-border) !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content:hover:not(.is-disabled) {
	background: unset !important;
	border-color: unset !important;
}

/* v-calendar paints selection on a separate absolute highlight layer.
   Hide it and style the day pill directly to avoid double/offset circles. */
.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights,
.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights .vc-highlight,
.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights .vc-day-layer {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights + .vc-day-content {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
	color: var(--bp-gl-black) !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights + .vc-day-content:hover {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights + .vc-day-content,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day .vc-highlights + .vc-day-content:hover,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-highlights + .vc-day-content {
	background: unset !important;
	border-color: unset !important;
	color: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-day-content:not(.is-disabled) {
	color: var(--bp-gl-black) !important;
	background: #ffffff !important;
	border-color: var(--bp-gl-border) !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-day-content:not(.is-disabled) {
	color: unset !important;
	background: unset !important;
	border-color: unset !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-highlights + .vc-day-content {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content.is-disabled,
.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-day-content.is-disabled,
.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-not-in-month .vc-day-content.is-disabled {
	background: #9a9a9a !important;
	border-color: #9a9a9a !important;
	color: #ffffff !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
	text-decoration: line-through !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content.is-disabled,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-today .vc-day-content.is-disabled,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-not-in-month .vc-day-content.is-disabled {
	background: unset !important;
	border-color: unset !important;
	color: unset !important;
	text-decoration: line-through !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content.is-disabled::after {
	display: none !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day.is-not-in-month .vc-day-content:not(.is-disabled) {
	opacity: 0.85 !important;
}

.bpa-frontend-main-container .bpa-front--dt__calendar .bpa-front-dt__day-slot-label {
	display: none !important;
}

/* Hide time-slot group sub-headings (Morning / Afternoon / Evening / Night) */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt-ts__sub-heading {
	display: none !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__time-slots {
	box-sizing: border-box !important;
}

/* Merge period rows into one flowing pill grid */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: flex-start !important;
}

.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body > div,
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--row,
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--items {
	display: contents !important;
}

/* Available (default) */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item {
	width: auto !important;
	flex: 0 0 auto !important;
	min-width: 80px !important;
	margin-bottom: 0 !important;
	border-radius: 100px !important;
	text-align: center !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 12px !important;
	background: #ffffff !important;
	border: 1px solid var(--bp-gl-border) !important;
	color: var(--bp-gl-black) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* Time slot defaults (Elementor Style overrides inside .bp-all-booking). */

.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item > span:first-child {
	width: 100% !important;
	text-align: center !important;
	font-weight: 700 !important;
}

.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item .bpa-front--ts-capacity-counter {
	display: block !important;
	width: 100% !important;
	margin-top: 4px !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: var(--bp-gl-muted) !important;
	text-align: center !important;
}

/* Selected */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-selected,
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.bpa-front-bi__waiting.__bpa-is-selected {
	background: var(--bp-gl-yellow) !important;
	border-color: var(--bp-gl-yellow) !important;
	color: var(--bp-gl-black) !important;
}

.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-selected .bpa-front--ts-capacity-counter {
	color: var(--bp-gl-black) !important;
}

/* Disabled / booked / past — always visible (greyed). Elementor Disabled tab can override. */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-disabled,
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.bpa-front-bi__waiting.__bpa-is-disabled {
	background: var(--bp-gl-slot-disabled) !important;
	border-color: var(--bp-gl-slot-disabled) !important;
	color: #ffffff !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-disabled,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.bpa-front-bi__waiting.__bpa-is-disabled {
	background: var(--bp-gl-slot-disabled, #9a9a9a) !important;
	border-color: var(--bp-gl-slot-disabled, #9a9a9a) !important;
	color: #ffffff !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
	text-decoration: line-through !important;
	pointer-events: none !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-disabled > span:first-child,
.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.bpa-front-bi__waiting.__bpa-is-disabled > span:first-child {
	color: #ffffff !important;
	text-decoration: line-through !important;
}

.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item.__bpa-is-disabled .bpa-front--ts-capacity-counter {
	color: #ffffff !important;
	opacity: 0.9 !important;
}

/* Hover – available only */
.bpa-frontend-main-container .bpa-front--dt__time-slots .bpa-front--dt__ts-body--item:not(.__bpa-is-disabled):not(.__bpa-is-selected):hover {
	background: #ffffff !important;
	border-color: var(--bp-gl-black) !important;
	color: var(--bp-gl-black) !important;
}

@media (max-width: 576px) {
	.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day {
		min-height: 46px !important;
	}

	.bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
		font-size: 14px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front--dt__calendar .vc-day-content {
		width: unset !important;
		height: unset !important;
		min-width: unset !important;
		min-height: unset !important;
		font-size: unset !important;
	}
}

/* Elementor widget: let Style → Form Fields typography win. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-label {
	font-size: unset !important;
	font-weight: unset !important;
	font-family: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	font-style: unset !important;
	text-decoration: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control input,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-input__inner,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-textarea__inner,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-select .el-input__inner {
	font-size: unset !important;
	font-weight: unset !important;
	font-family: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	font-style: unset !important;
	text-decoration: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control input::placeholder,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-input__inner::placeholder,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-textarea__inner::placeholder,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control .el-select .el-input__inner::placeholder {
	color: unset !important;
	opacity: 1 !important;
}

/* Elementor widget: let Style → Form Fields → Country Dropdown win. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown {
	border-color: unset !important;
	border-style: unset !important;
	border-width: unset !important;
	border-radius: unset !important;
	background-color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown .vti__dropdown {
	background-color: unset !important;
	border-right-color: unset !important;
	border-radius: unset !important;
	color: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown .vti__dropdown .vti__selection svg,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown .vti__dropdown .vti__selection svg path {
	fill: unset !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown .vti__dropdown-item span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--basic-details .bpa-front-form-control.--bpa-country-dropdown .vti__dropdown-item strong {
	color: unset !important;
}

/* -------------------------------------------------------------------------
 * Summary layout restore
 * Elementor Display → Summary Details List used to force display:block !important
 * on every .bpa-front-module--bs-summary-content, which collapsed the flex row
 * and showed both __lg and __sm variants. Restore BookingPress layout here.
 * ------------------------------------------------------------------------- */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--bs-summary-content {
	display: flex !important;
	justify-content: center;
	flex-wrap: wrap;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-summary-content__sm {
	display: none !important;
}

/* Let Elementor Summary typography/color controls win over BookingPress. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module-heading,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--bs-head > p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--note-desc,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--note-desc *,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--bs-summary-content-item > span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-bs-sm__item-val,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-bs-sm__item-val div,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-bs-sm__item-val span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-fm--bs-amount-item:not(.bpa-is-coupon-applied) .bpa-bs-ai__item,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-fm--bs-amount-item.bpa-is-total-row .bpa-bs-ai__item:not(.--bpa-is-total-price),
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-fm--bs-amount-item.bpa-is-total-row .bpa-bs-ai__item:not(.--bpa-is-total-price) span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-dpm-item__label,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-dpm-item__total-label:not(.--bpa-is-total-price),
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-dpm-item__total-label:not(.--bpa-is-total-price) span,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-total-payment-amount-label,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-bs-ai__item.--bpa-is-total-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-dpm-item__total-label.--bpa-is-total-price,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--bs-ad--price {
	font-family: unset !important;
	font-size: unset !important;
	font-weight: unset !important;
	font-style: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	text-decoration: unset !important;
	color: unset !important;
}

/* Amount divider borders are left to BookingPress defaults; Elementor
 * Amount Dividers controls override with !important when set. */

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary {
	border-style: unset !important;
	border-width: unset !important;
	border-color: unset !important;
	border-radius: unset !important;
}

/* Let Elementor Payment Method controls win over BookingPress. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-head .bpa-front-module-heading,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item > span {
	font-family: unset !important;
	font-size: unset !important;
	font-weight: unset !important;
	font-style: unset !important;
	line-height: unset !important;
	letter-spacing: unset !important;
	text-transform: unset !important;
	text-decoration: unset !important;
	color: unset !important;
}

/* Center icon + label inside every payment method button. */
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item p,
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item > span {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item .bpa-front-pm__credit-card-icon path:not([fill="none"]),
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item .bpa-front-pm-pay-local-icon path:not([fill="none"]),
.bp-all-booking .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body .bpa-front-module--pm-body__item > svg path:not([fill="none"]) {
	fill: currentColor !important;
}

/* Custom Credit Card icon (Elementor ICONS control). */
.bp-all-booking.bp-has-cc-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-stripe > .bpa-front-pm-pay-local-icon,
.bp-all-booking.bp-has-cc-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-stripe > svg.bpa-front-pm-pay-local-icon {
	display: none !important;
}

.bp-all-booking.bp-has-cc-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-stripe::before {
	content: '' !important;
	display: inline-block !important;
	width: var(--bp-pm-cc-icon-size, 24px) !important;
	height: var(--bp-pm-cc-icon-size, 24px) !important;
	min-width: var(--bp-pm-cc-icon-size, 24px) !important;
	margin-right: 8px !important;
	flex-shrink: 0 !important;
	background-color: currentColor !important;
	-webkit-mask: var(--bp-pm-cc-icon) center / contain no-repeat !important;
	mask: var(--bp-pm-cc-icon) center / contain no-repeat !important;
}

.bp-all-booking.bp-has-cc-custom-icon.bp-cc-icon-is-font .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-stripe::before {
	content: var(--bp-pm-cc-icon-content) !important;
	-webkit-mask: none !important;
	mask: none !important;
	background-color: transparent !important;
	font-family: var(--bp-pm-cc-icon-font, "Font Awesome 5 Free") !important;
	font-weight: var(--bp-pm-cc-icon-weight, 900) !important;
	font-style: normal !important;
	font-size: var(--bp-pm-cc-icon-size, 24px) !important;
	line-height: 1 !important;
	color: currentColor !important;
	speak: none !important;
	-webkit-font-smoothing: antialiased !important;
}

/* Custom Fiuu icon (Elementor ICONS control). */
.bp-all-booking.bp-has-fiuu-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-fiuu > .bpa-front-pm-pay-local-icon,
.bp-all-booking.bp-has-fiuu-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-fiuu > svg.bpa-front-pm-pay-local-icon {
	display: none !important;
}

.bp-all-booking.bp-has-fiuu-custom-icon .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-fiuu::before {
	content: '' !important;
	display: inline-block !important;
	width: var(--bp-pm-fiuu-icon-size, 24px) !important;
	height: var(--bp-pm-fiuu-icon-size, 24px) !important;
	min-width: var(--bp-pm-fiuu-icon-size, 24px) !important;
	margin-right: 8px !important;
	flex-shrink: 0 !important;
	background-color: currentColor !important;
	-webkit-mask: var(--bp-pm-fiuu-icon) center / contain no-repeat !important;
	mask: var(--bp-pm-fiuu-icon) center / contain no-repeat !important;
}

.bp-all-booking.bp-has-fiuu-custom-icon.bp-fiuu-icon-is-font .bpa-frontend-main-container .bpa-front-module--payment-methods .bpa-front-module--pm-body__item.bpa-fiuu::before {
	content: var(--bp-pm-fiuu-icon-content) !important;
	-webkit-mask: none !important;
	mask: none !important;
	background-color: transparent !important;
	font-family: var(--bp-pm-fiuu-icon-font, "Font Awesome 5 Free") !important;
	font-weight: var(--bp-pm-fiuu-icon-weight, 900) !important;
	font-style: normal !important;
	font-size: var(--bp-pm-fiuu-icon-size, 24px) !important;
	line-height: 1 !important;
	color: currentColor !important;
	speak: none !important;
	-webkit-font-smoothing: antialiased !important;
}

/* Hide only when the Display switcher is explicitly off (prefix class without -yes). */
.elementor-element[class*="bp-summary-details-"]:not(.bp-summary-details-yes) .bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-module--bs-summary-content {
	display: none !important;
}

/* Submission loader on Book Appointment (overrides global no-spinners hide). */
.bp-all-booking .bpa-frontend-main-container .summery-book-appointment-btn.bpa-front-btn--is-loader .bpa-front-btn--loader__circles,
.bp-all-booking .bpa-frontend-main-container .bpa-front-btn--primary.bpa-front-btn--is-loader .bpa-front-btn--loader__circles {
	display: none !important;
}

/* Full-widget submit spinner (same ring style as Current Day Booking). */
.bp-all-booking:not(.bp-current-day-booking) {
	position: relative !important;
	--bp-loader-color: var(--bp-gl-yellow, #f5c400);
	--bp-loader-track: rgba(255, 255, 255, 0.22);
	--bp-loader-size: 32px;
}

.bp-all-booking:not(.bp-current-day-booking).bp-all-booking--submitting {
	pointer-events: none !important;
}

.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 50 !important;
	min-height: 220px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 24px !important;
	background: rgba(0, 0, 0, 0.58) !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader .bpa-front-loader-container,
.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader .bpa-front-loader {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: none !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader .bpa-front-loader {
	position: relative !important;
	width: var(--bp-loader-size, 32px) !important;
	height: var(--bp-loader-size, 32px) !important;
}

.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader .bpa-front-loader svg {
	display: none !important;
}

.bp-all-booking:not(.bp-current-day-booking) .bp-all-booking-submit-loader .bpa-front-loader::after {
	content: "" !important;
	display: block !important;
	box-sizing: border-box !important;
	width: var(--bp-loader-size, 32px);
	height: var(--bp-loader-size, 32px);
	border: 3px solid var(--bp-loader-track, rgba(255, 255, 255, 0.22));
	border-top-color: var(--bp-loader-color, var(--bp-gl-yellow, #f5c400)) !important;
	border-radius: 50%;
	animation: bp-all-booking-spin 0.7s linear infinite;
}

@keyframes bp-all-booking-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 576px) {
	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-summary-content__lg {
		display: none !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-summary-content__sm {
		display: block !important;
	}

	.elementor-element[class*="bp-summary-details-"]:not(.bp-summary-details-yes) .bp-all-booking .bpa-frontend-main-container .bpa-front-module--booking-summary .bpa-front-summary-content__sm {
		display: none !important;
	}
}

/* Basic Info: Firstname + Lastname share one row on desktop. */
@media (min-width: 768px) {
	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--bd-form .bpa-bd-fields-row {
		display: flex !important;
		flex-wrap: wrap !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--bd-form .bpa-bd-fields-row > [data-bp-field="customer_firstname"],
	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--bd-form .bpa-bd-fields-row > [data-bp-field="customer_lastname"] {
		width: 50% !important;
		max-width: 50% !important;
		flex: 0 0 50% !important;
		box-sizing: border-box !important;
		float: none !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--bd-form .bpa-bd-fields-row > [data-bp-field="customer_firstname"] {
		padding-right: 12px !important;
	}

	.bp-all-booking .bpa-frontend-main-container .bpa-front-module--bd-form .bpa-bd-fields-row > [data-bp-field="customer_lastname"] {
		padding-left: 12px !important;
	}
}

/* Deposit 0: hide payment methods entirely. */
.bp-all-booking.bp-zero-deposit .bpa-front-module--payment-methods,
.bp-all-booking.bp-zero-deposit .bpa-front-module--pm__empty-view,
.bp-all-booking.bp-zero-deposit .bpa-fm--bs__deposit-payment-module {
	display: none !important;
}
