/* Travio Booking test panel — shared styles.
   Kept minimal on top of Bootstrap 5; later phases build on these hooks. */

.booking-hero {
	padding: 3rem 0;
}

/* Collapsible request/response debug panel used from the picks flow onward */
.debug-panel {
	background: #1e1e1e;
	color: #d4d4d4;
	border-radius: .375rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .8125rem;
}

.debug-panel pre {
	margin: 0;
	padding: 1rem;
	white-space: pre-wrap;
	word-break: break-word;
	color: inherit;
}

.debug-panel summary {
	padding: .5rem 1rem;
	cursor: pointer;
}

/* Search form — InstantSearch dropdown (module-rendered, body-appended),
   restyled to match the Bootstrap 5 look */
#model-instant-search {
	border-radius: .375rem;
	box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
	font-size: .9375rem;
}

#model-instant-search > div {
	padding: .375rem .5rem;
	cursor: pointer;
}

#model-instant-search .fas {
	margin-right: .375rem;
	color: var(--bs-secondary-color);
}

/* Search form — occupancy widget */
.booking-stepper {
	width: 8rem;
}

.booking-stepper .input-group-text {
	flex: 1;
}

.booking-room + .booking-room {
	border-top: 1px solid var(--bs-border-color);
}

.booking-room-title {
	min-width: 4.5rem;
}

.booking-child-age {
	width: 5rem;
}

/* Results page */
.booking-result-img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.booking-result-img-placeholder {
	background: var(--bs-secondary-bg);
}

.booking-photos-badge {
	position: absolute;
	top: .5rem;
	right: .5rem;
}

.booking-filter-list {
	max-height: 14rem;
	overflow-y: auto;
}

.booking-stars {
	color: var(--bs-warning);
}

.booking-loading {
	opacity: .5;
	pointer-events: none;
}

/* Picks flow (/book) */
.booking-pick-selected {
	background: var(--bs-primary-bg-subtle);
}

/* Transport schedule (results cards + /book rows) */
.booking-segment + .booking-segment {
	border-top: 1px dashed var(--bs-border-color);
}

.booking-segment-endpoint {
	min-width: 6.5rem;
}

.booking-segment-line {
	display: flex;
	align-items: center;
	gap: .5rem;
	color: var(--bs-secondary-color);
}

.booking-segment-line::before,
.booking-segment-line::after {
	content: '';
	flex: 1;
	border-top: 1px solid var(--bs-border-color);
}
