.bleul-booking {
	padding: 1.5rem;
	border-radius: 1.5rem;
	background: #ffffff;
	color: #333333;
}

.bleul-booking__header {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.4rem;
}

.bleul-booking__eyebrow {
	margin: 0 0 0.35rem;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #6bae37;
}

.bleul-booking__month,
.bleul-booking__slots h4,
.bleul-booking__form-panel h4 {
	margin: 0;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	color: #203154;
}

.bleul-booking__nav {
	width: 3rem;
	height: 3rem;
	border: 1px solid #c8d2d8;
	border-radius: 999px;
	background: #ffffff;
	color: #203154;
	cursor: pointer;
	font-size: 1.1rem;
}

.bleul-booking__weekdays,
.bleul-booking__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.5rem;
}

.bleul-booking__weekdays {
	margin-bottom: 0.75rem;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #68757e;
}

.bleul-booking__day,
.bleul-booking__empty {
	min-height: 3.1rem;
}

.bleul-booking__day {
	display: grid;
	place-items: center;
	border: 1px solid #dbe1e5;
	border-radius: 0.85rem;
	background: #f9fbfc;
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.92rem;
	font-weight: 600;
	color: #203154;
	cursor: pointer;
}

.bleul-booking__day.is-available {
	background: rgba(107, 174, 55, 0.12);
	border-color: rgba(107, 174, 55, 0.45);
}

.bleul-booking__day.is-selected {
	background: #203154;
	border-color: #203154;
	color: #ffffff;
}

.bleul-booking__day:disabled,
.bleul-booking__day.is-muted {
	background: #edf2f4;
	border-color: #e2e8ec;
	color: #96a2a9;
	cursor: not-allowed;
}

.bleul-booking__status {
	margin: 1.1rem 0 0;
	color: #68757e;
}

.bleul-booking__slots,
.bleul-booking__form-panel {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #dbe1e5;
}

.bleul-booking__slot-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.bleul-booking__slot {
	padding: 0.7rem 1rem;
	border: 1px solid #c8d2d8;
	border-radius: 999px;
	background: #ffffff;
	color: #203154;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 1rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.bleul-booking__slot.is-selected {
	background: #6bae37;
	border-color: #6bae37;
	color: #ffffff;
}

.bleul-booking-form__field {
	margin-top: 1rem;
}

.bleul-booking-form__actions {
	margin-top: 1.25rem;
}

.bleul-booking__form-panel p[data-booking-selection] {
	margin-top: 0.6rem;
	color: #68757e;
}

@media (min-width: 720px) {
	.bleul-booking-form__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
