.lspfp-booking .lspfp-native-date-field {
	display: none !important;
}

.lspfp-date-range-selector {
	grid-column: 1 / -1;
	width: 100%;
}

.lspfp-date-range-trigger {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 11px;
	width: 100%;
	min-height: 66px;
	padding: 10px 13px;
	border: 2px solid #f0aa00;
	border-radius: 11px;
	color: #092a42;
	background: #fff;
	box-shadow: 0 7px 20px rgba(2, 24, 39, .16);
	cursor: pointer;
	text-align: left;
}

.lspfp-date-range-trigger:hover,
.lspfp-date-range-trigger:focus-visible,
.lspfp-date-range-trigger[aria-expanded="true"] {
	border-color: #ffc52f;
	box-shadow: 0 0 0 3px rgba(255, 197, 47, .2), 0 9px 24px rgba(2, 24, 39, .2);
	outline: 0;
}

.lspfp-date-range-trigger__icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	color: #0d4667;
}

.lspfp-date-range-trigger__icon svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
}

.lspfp-date-range-trigger__copy {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.lspfp-date-range-trigger__copy small {
	color: #587080;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
}

.lspfp-date-range-trigger__copy strong {
	overflow: hidden;
	color: #092a42;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lspfp-date-range-trigger__chevron {
	color: #0d4667;
	font-size: 22px;
	line-height: 1;
	text-align: center;
	transition: transform .18s ease;
}

.lspfp-date-range-trigger[aria-expanded="true"] .lspfp-date-range-trigger__chevron {
	transform: rotate(180deg);
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker {
	z-index: 10050;
	max-width: calc(100vw - 24px);
	padding: 13px;
	border: 1px solid #d9e3e9;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(2, 24, 39, .27);
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker::before,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker::after {
	display: none;
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker .calendar-table {
	border: 0;
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker td.active,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker td.active:hover {
	color: #fff;
	background: #0b6fd8;
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker td.in-range:not(.active) {
	color: #0b4b82;
	background: #dceeff;
}

/* The provider repeats adjacent-month dates in the leading/trailing cells.
 * Keep their table space, but never present a selected date twice. */
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker td.off.ends {
	visibility: hidden !important;
	pointer-events: none !important;
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.next.available,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.prev.available {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #f3f7fa;
	cursor: pointer;
}

body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.next.available:hover,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.next.available:focus-visible,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.prev.available:hover,
body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker th.prev.available:focus-visible {
	background: #dceeff;
	outline: 2px solid #0b6fd8;
	outline-offset: 1px;
}

@media (max-width: 700px) {
	.lspfp-date-range-selector {
		grid-column: 1;
	}

	.lspfp-date-range-trigger {
		min-height: 62px;
	}

	body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker {
		width: calc(100vw - 24px) !important;
		max-height: min(76vh, 660px);
		overflow-y: auto;
	}

	body.lspfp-page-active .daterangepicker.lspfp-booking-range-picker .drp-calendar {
		float: none !important;
		width: 100%;
		max-width: none;
		padding: 8px 0;
	}
}
