/* Booking page (page-booking.php). Ported from BookingView.astro +
   BookingWidget.astro <style> blocks; selectors scoped under .booking-page. */

.booking-page .lead { max-width: 44rem; }

.booking-page .fallback { margin-top: var(--space-8); }
.booking-page .fallback h2 { font-size: 1.15rem; }
.booking-page .fallback p { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* WuBook widget card chrome (from BookingWidget.astro). The iframe itself is
   emitted by the [wubook] shortcode with inline display/width/min-height. */
.booking-page .wubook {
	background: var(--c-card);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	overflow: hidden;
}
@media (min-width: 960px) {
	/* !important: the shortcode sets min-height:640px inline on the iframe. */
	.booking-page .wubook iframe { min-height: 560px !important; }
}

/* Booking engine framed under the widget: the guest never leaves the site. */
.engine { margin-top: var(--space-6); }
.engine__bar { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); align-items: baseline; font-size: 0.95rem; }
.engine__frame { display: block; width: 100%; height: 82vh; min-height: 760px; border: 1px solid var(--c-line); border-radius: var(--radius); background: #fff; }
@media (max-width: 639px) { .engine__frame { height: 90vh; min-height: 640px; } }

/* Category filter note above the widget (hotel-page entry). */
.filter-note { margin: 0 0 var(--space-3); color: var(--c-ink-soft); }
/* Frame sized by the engine's own height messages: no inner scrollbar. */
.engine__frame--fit { height: auto; min-height: 0; overflow: hidden; }
