/* -----------------------------------------------------------------------
	Booking popup (Magnific iframe) — custom window + loading state
	mainClass `mfp-booking` is set in tpl-restaurant.js; `.is_loaded` lands
	on `.mfp-wrap` once the iframe fires `load`.
	----------------------------------------------------------------------- */

.mfp-iframe-holder .mfp-content {
	max-width: 780px;
}

.mfp-booking__win {
	padding: 60px 0 0;
	background-color: var(--color-bg);
	border-radius: var(--radius-dft);
	@media (min-width: 63.75em) {  /* 1020px tabletLandscape */
		padding: 10px 0;
	}
}
.mfp-booking .mfp-iframe-scaler {
	/* style the popup window here */
	position: relative; /* containing block for .c-qs-mod__close */
	overflow: hidden;
	padding-top: 730px;
	@media (min-width: 63.75em) {  /* 1020px tabletLandscape */
		padding-top: 680px;
	}
}
.mfp-iframe-scaler iframe {
	background-color: transparent;
}

.mfp-booking__win {
	position: relative; /* containing block for the --out close button */
}

/* Mobile: close button sits above the window (outside it); desktop: inside. */
.c-qs-mod__close.mfp-booking__close--out {
	top: 10px;
	right: 10px;
	margin-bottom: 10px;
}

.c-qs-mod__close.mfp-booking__close--in {
	display: none;
	top: 10px;
}

@media (min-width: 63.75em) {  /* 1020px tabletLandscape */
	.c-qs-mod__close.mfp-booking__close--out {
		display: none;
	}
	.c-qs-mod__close.mfp-booking__close--in {
		display: flex;
	}
}

.mfp-booking__loader {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 48px;
	height: 48px;
	margin: -24px 0 0 -24px;
	border: 4px solid rgba(0, 0, 0, .6);
	border-top-color: var(--brand-3);
	border-radius: var(--radius-round);
	animation: mfp-booking-spin 0.8s linear infinite;
	transition: opacity 0.2s ease;
	z-index: 2;
}

.mfp-booking.is_loaded .mfp-booking__loader {
	opacity: 0;
	pointer-events: none;
}

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