.ms-booking-status {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 2147483647;
	max-width: min(28rem, calc(100% - 2rem));
	padding: 1rem;
	color: #fff;
	background: #020a35;
	border-radius: 4px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
}
.ms-booking-status[hidden] { display: none; }
.ms-booking-status a { color: #fff; text-decoration: underline; }
.ms-booking-close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 50%;
	background: #020a35;
	color: #fff;
	font: 32px/1 sans-serif;
	cursor: pointer;
}
.ms-booking-close:focus-visible,
.ms-booking-direct:focus-visible,
.ms-booking-status a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ms-booking-direct {
	position: absolute;
	top: 76px;
	right: 12px;
	box-sizing: border-box;
	max-width: min(230px, calc(100vw - 574px));
	min-height: 44px;
	padding: 12px;
	border: 1px solid #fff;
	border-radius: 4px;
	background: #020a35;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
	text-decoration: underline;
	overflow-wrap: anywhere;
}
.ms-booking-direct:hover { color: #fff; background: #18244c; }
@media (max-width: 800px) {
	.ms-booking-direct { display: none; }
}
/* The injector only translates closed frames; hide their composited edge as well. */
iframe.blvd-booking-widget:not(.open) {
	visibility: hidden !important;
	pointer-events: none !important;
}
.ms-booking-open iframe.blvd-booking-widget { max-width: min(550px, calc(100% - 72px)) !important; }
.ms-booking-focus-guard {
	position: fixed;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
@media (prefers-reduced-motion: reduce) {
	iframe.blvd-booking-widget { transition: none !important; }
}
