/**
 * Archive list/grid Book popup - own styling scope (.bs-archive-book-popup).
 * Shared across hotel, rental, event, and tour. Settings -> Styling -> Popups.
 */
/* Flatpickr anchor: visible control is the dates button. */
.bs-archive-book-popup .bs-archive-book-popup__content .bs-hotel-wizard-dates-group .bs-hotel-search-bar__range-input,
.bs-archive-book-popup .bs-archive-book-popup__content .rental-wizard-dates-group .bs-rental-search-bar__range-input,
.bs-archive-book-popup .bs-archive-book-popup__content .bs-hsr-summary-edit__range-input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	min-height: 0 !important;
	max-height: 1px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.bs-archive-book-popup .bs-archive-book-popup__content .bs-hotel-wizard-dates-group,
.bs-archive-book-popup .bs-archive-book-popup__content .rental-wizard-dates-group {
	position: relative;
}

/* Book popup dialog inherits shell tokens; summary/field aliases scoped to book mode only. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog {
	--bk-compact-sidebar-text-color: var(--bk-popup-shell-dialog-text, var(--bk-body-color, #1c1917));
	--bk-compact-sidebar-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #57534e))));
	--bk-compact-sidebar-control-text-color: var(--bk-archive-popup-field-text, #1c1917);
	--bk-compact-sidebar-row-text-color: var(--bk-archive-popup-field-text, #1c1917);
	--bk-compact-sidebar-summary-text-color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #1c1917)));
	--bk-rooms-sidebar-summary-text-color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #1c1917)));
}

/* Date/time controls use archive popup field text (not dialog heading / label color). */

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.bs-hotel-search-bar__dates-btn,
	.bs-rental-search-bar__dates-btn
) :is(span, time) {
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .bs-frontend-select__label {
	color: inherit;
	-webkit-text-fill-color: inherit;
}

/* Combined trip CTAs in book popup. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-combined-booking-continue__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* Payment method list: only the chosen method's block shows (the rule above would beat [hidden]). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-combined-booking-continue__actions[hidden] {
	display: none;
}

/* Event Book popup, step 1: Tickets beside Date & time instead of under it (the right half was empty); Next on
   its own line below (the ::after break). Stacked again on narrow screens. */
@media (min-width: 601px) {
	#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book .bs-event-tour-archive-book-modal__bs .event-booking .booking-step-content[data-step="1"]:has(> .bs-booking-wizard-sidebar__tickets) {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		column-gap: 1.5rem;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book .bs-event-tour-archive-book-modal__bs .event-booking .booking-step-content[data-step="1"]:has(> .bs-booking-wizard-sidebar__tickets) > .bs-booking-wizard-sidebar__section:not(.bs-booking-wizard-sidebar__tickets) {
		flex: 1 1 12rem;
		min-width: 0;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book .bs-event-tour-archive-book-modal__bs .event-booking .booking-step-content[data-step="1"]:has(> .bs-booking-wizard-sidebar__tickets) > .bs-booking-wizard-sidebar__tickets {
		flex: 1 1 18rem;
		min-width: 0;
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book .bs-event-tour-archive-book-modal__bs .event-booking .booking-step-content[data-step="1"]:has(> .bs-booking-wizard-sidebar__tickets)::after {
		content: "";
		flex: 0 0 100%;
		order: 1;
		height: 0;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book .bs-event-tour-archive-book-modal__bs .event-booking .booking-step-content[data-step="1"]:has(> .bs-booking-wizard-sidebar__tickets) > .step-actions {
		order: 2;
	}
}

/* Service Book popup: the wizard sits on the dialog itself, without the embed's own card (shadow, white
   shell, padding) inside the popup. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-service-archive-book-wizard .booking-service-embed {
	padding: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-service-archive-book-wizard .service-booking.booking-steps-wrapper {
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog {
	width: fit-content;
	/* Event/tour book modals can be wider; hotel archive book is narrowed via :has() below. */
	max-width: min(var(--bk-popup-shell-dialog-max-width, 1100px), calc(100vw - 24px));
}

#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--hotel) .bs-hotel-archive-modal__dialog {
	/*
	 * Fixed width so fit-content does not shrink on extras / later steps.
	 * Wide enough that the 4-step progress nav ("Date & packages", "Extras",
	 * "Summary", "Payment") stays on a single line per step.
	 */
	--_bs-popup-fallback-width: 760px;
	width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	min-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	max-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
}

/* Rental archive book — respect Popups → Book popup shell dialog max width. */
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--rental) .bs-hotel-archive-modal__dialog {
	--_bs-popup-fallback-width: 760px;
	width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	min-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	max-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
}

/* Service archive book — same width rule; without it the dialog shrank to each step's content (fit-content),
   so steps with few cards (Choices) squeezed their cards to ~60px. */
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--service) .bs-hotel-archive-modal__dialog {
	--_bs-popup-fallback-width: 760px;
	width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	min-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	max-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
}

/* Tour archive book: compact sidebar column. */
#bs-hotel-archive-modal.bs-archive-book-popup.is-tour-archive-book:has(.bs-archive-book-popup__content--tour) .bs-hotel-archive-modal__dialog,
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--tour) .bs-hotel-archive-modal__dialog {
	--_bs-popup-fallback-width: 520px;
	width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	min-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	max-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
}

/* Event archive book: compact width (dropdown / wizard in popup). */
#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book:has(.bs-archive-book-popup__content--event) .bs-hotel-archive-modal__dialog,
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--event) .bs-hotel-archive-modal__dialog,
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--tour):not(.is-tour-archive-book) .bs-hotel-archive-modal__dialog {
	--_bs-popup-fallback-width: 520px;
	width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	min-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
	max-width: min(var(--bk-popup-shell-dialog-max-width, var(--_bs-popup-fallback-width)), calc(100vw - 24px));
}

#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--hotel) .bs-hotel-archive-modal__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/*
 * Hotel archive grid "Book" only (.bs-hotel-archive-book-modal__bs): compact width,
 * centered column, no inner card chrome, packages in two equal columns.
 */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs {
	width: 100%;
	max-width: 680px;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Event archive book popup: no step progress bar (compact sidebar flow). */
#bs-hotel-archive-modal.bs-archive-book-popup.is-event-archive-book
	.bs-event-tour-archive-book-modal__bs
	.event-booking--archive-popup
	.booking-progress {
	display: none !important;
}

/* Hotel / rental / service archive book popup: no step progress bar — navigation buttons only. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-progress,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .booking-progress,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-service-archive-book-wizard .booking-progress {
	display: none !important;
}

/* Keep each progress-step label on a single line at this modal's width. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-progress .step {
	white-space: nowrap;
}

@media (max-width: 560px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-progress .step {
		white-space: normal;
	}
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .bs-hotel-archive-modal__masthead--book {
	width: 100%;
	text-align: left;
}

/* Left-aligned like the tour, event, rental and service popups; the right padding keeps clear of the close button. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .bs-hotel-archive-modal__title {
	text-align: left;
	padding-left: 0;
	padding-right: 36px;
	box-sizing: border-box;
	color: var(--bk-popup-shell-dialog-heading, var(--bk-heading-color, #36464e)) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-packages-heading,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-lead {
	text-align: center;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	:is(.booking-packages-heading, .booking-hotel-extras-heading) {
	color: var(--bk-archive-popup-field-label-color, var(--bk-rooms-wizard-section-label-color, var(--bk-popup-shell-dialog-label, var(--bk-compact-sidebar-label-color, #57534e))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-summary .booking-summary__legend,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-summary .bs-single__section-title {
	text-align: left;
}

/* Rental archive "Book": wizard root is .bs-rental-archive-book-modal__bs (no inner .bs-single__booking-module box). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs.booking-steps-wrapper.rental-booking {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	border-top: none !important;
}

/* Rental archive "Book" popup uses a rental-specific root class. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .guest-field > label {
	text-align: left;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-booking-wizard-sidebar__extras .bs-booking-wizard-sidebar__heading {
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	margin: 0 0 0.35rem;
}

/* Rental archive book popup — Popups field tokens beat Rentals wizard / search-widget colors. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs.rental-booking.rental-booking--ui-classic,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-booking.rental-booking--ui-classic {
	--bk-rentals-wizard-section-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e));
	--bk-rentals-field-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e));
	--bk-rentals-wizard-row-text-color: var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, #1c1917));
	--bk-rentals-search-field-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e));
	--bk-rentals-search-date-body-text-color: var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, #1c1917));
	--bk-rentals-wizard-step-panel-bg: transparent;
	--bk-rentals-wizard-step-panel-border-width: 0;
	--bk-field-text: var(--bk-archive-popup-field-text, #1c1917);
	--bk-field-bg: var(--bk-archive-popup-field-bg, #ffffff);
	--bk-field-border-color: var(--bk-archive-popup-field-border-color, var(--bs-border, #d8d4cb));
}

/* No classic full-width step panel inside archive popups (match hotel / event). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs.rental-booking.rental-booking--ui-classic > .booking-step-content,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-booking.rental-booking--ui-classic > .booking-step-content {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin-top: 0 !important;
	padding: 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-booking.rental-booking--ui-classic :is(
	.rental-range-field label,
	.bs-rental-search-bar__label,
	.guest-field > label
) {
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e)) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-booking.rental-booking--ui-classic .bs-rental-search-bar__dates-btn :is(span, time) {
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-booking-guests-select {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/*
 * Rental archive book popup — step 1: dates, times, and people on one row (classic wizard grid).
 */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 0.85rem;
	row-gap: 0.65rem;
	align-items: end;
	width: 100%;
	max-width: 100%;
	padding-bottom: 0.2rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields--start-only .rental-range-fields__grid:has(.rental-range-field--dates) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields__grid:has(.rental-range-field--dates):has(.rental-range-field--people, .rental-range-field--quantity) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(5rem, 8.5rem);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields--start-only .rental-range-fields__grid:has(.rental-range-field--dates):has(.rental-range-field--people, .rental-range-field--quantity) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(5rem, 8.5rem);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-field--dates {
	grid-column: auto !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-field--dates,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-dates-group,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-dates-group .bs-rental-search-bar__group--dates,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-dates-group .bs-rental-search-bar__dates-btn {
	width: 100%;
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs :is(.rental-range-field--people, .rental-range-field--quantity) :is(.rental-booking-guests-select, .rental-booking-units-select) {
	width: 100%;
	max-width: none;
}

/* Rental book popup step 1: stack sidebar blocks; extras in a 3-column row. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-sidebar {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 1rem;
	width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-sidebar .bs-booking-wizard-sidebar__guests,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-sidebar .bs-booking-wizard-sidebar__extras,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-sidebar .bs-booking-wizard-sidebar__selection,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-sidebar .bs-booking-wizard-sidebar__footer {
	width: 100%;
	max-width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-wizard-item-attributes {
	display: none !important;
}

@media (max-width: 720px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
		.hotel-booking.hotel-booking--archive-popup
		.booking-step-content[data-step="1"]
		.booking-hotel-step1-row {
		flex-wrap: wrap !important;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields__grid:has(.rental-range-field--dates) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}

	#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-field--dates {
		grid-column: 1 / -1 !important;
	}
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .guest-field > label,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-hotel-step1-field > label,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .bs-hotel-search-bar__label {
	text-align: center;
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e)) !important;
}

/*
 * Hotel archive book popup — step 1: check-in/out, guests, and rooms on one row.
 */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-end !important;
	gap: 16px 20px;
	margin-bottom: 0;
	width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field {
	flex: 1 1 0 !important;
	min-width: 0;
	max-width: none !important;
	width: auto !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field--dates {
	flex: 2 1 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field--guests,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field--rooms {
	flex: 1 1 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field--dates
	:is(.bs-hotel-wizard-dates-group, .bs-hotel-search-bar__group--dates, .bs-hotel-search-bar__dates-btn) {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	:is(.booking-hotel-step1-field > label, .bs-hotel-search-bar__label) {
	text-align: left;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs
	.booking-step-content[data-step="1"]
	.rental-range-field label {
	text-align: left;
}

/* Step 1 row: check-in/out, guests and rooms labels share the same gap above their controls, so the labels sit on one line. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field
	:is(.bs-hotel-search-bar__label, .guest-field > label, label.bs-rooms-wizard-section-label),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	.booking-step-content[data-step="1"]
	.booking-hotel-step1-field > label {
	display: block !important;
	margin: 0 0 0.35rem !important;
}

/* Archive hotel book popup — field tokens beat compact-sidebar / rooms wizard colors. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .hotel-booking.hotel-booking--archive-popup {
	--bk-compact-sidebar-control-text-color: var(--bk-archive-popup-field-text, #1c1917);
	--bk-compact-sidebar-row-text-color: var(--bk-archive-popup-field-text, #1c1917);
	--bk-field-text: var(--bk-archive-popup-field-text, #1c1917);
	--bk-rooms-date-body-text-color: var(--bk-archive-popup-field-text, #1c1917);
	--bk-rooms-field-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e));
	--bk-rooms-wizard-section-label-color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, #57534e));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .hotel-booking.booking-steps-wrapper,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-hotel-archive-book-modal__bs
	.hotel-booking.event-sidebar-module--narrow.event-sidebar-card.booking-steps-wrapper.bs-booking-wizard-sidebar {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/*
 * Hotel archive book popup — step 2: flatten .room-option row chrome.
 * Masthead already shows the room name; default .hotel-booking .room-option card is for full wizard lists.
 */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-option {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.85rem;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-option:hover,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-option.room-option--preferred {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms:has(.room-option--preferred) .room-option--preferred .room-info h4,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms:has(.room-option:only-child) .room-info h4 {
	display: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-info p {
	margin: 0;
	text-align: center;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-price {
	text-align: center;
	font-size: 1.05rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .room-quantity {
	justify-content: center;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .booking-room-packages {
	width: 100%;
	border-top: 1px dotted var(--bs-border, #d8d4cb);
	padding-top: 0.85rem;
	margin-top: 0.15rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup
	#booking-rooms .booking-packages-label {
	margin: 0 0 0.55rem;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	text-align: center;
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-compact-sidebar-label-color, var(--bk-popup-shell-dialog-text, var(--bk-heading-color, #1a1a1a)))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-packages-choices--single,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-room-packages .booking-packages-choices {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option {
	display: grid;
	grid-template-columns: 1.125rem minmax(0, 1fr);
	column-gap: 0.5rem;
	row-gap: 0.2rem;
	align-items: start;
	background: var(--bk-rooms-package-bg, #fff);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option {
	border: var(--bk-classic-full-width-package-border-width, var(--bk-rooms-package-border-width, 1px)) solid var(--bk-classic-full-width-package-border-color, var(--bk-rooms-package-border-color, rgba(0, 0, 0, 0.1)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option:has(input[type="radio"]:checked) {
	background: var(--bk-rooms-package-selected-bg, rgba(var(--bk-btn-accent-rgb, 33, 150, 243), 0.04));
	border-width: var(--bk-classic-full-width-package-selected-border-width, var(--bk-rooms-package-selected-border-width, 2px));
	border-color: var(--bk-classic-full-width-package-selected-border-color, var(--bk-rooms-package-selected-border-color, rgba(var(--bk-btn-accent-rgb, 33, 150, 243), 0.5)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option .booking-package-title {
	color: var(--bk-rooms-package-text, var(--bs-text, var(--bk-body-color, inherit)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option .booking-package-price {
	color: var(--bk-compact-sidebar-package-text, var(--bk-rooms-package-text, var(--bk-body-color, inherit)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option .booking-package-meta {
	color: var(--bk-compact-sidebar-package-text, var(--bk-rooms-package-text, var(--bk-body-color, inherit)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option:has(input[type="radio"]:checked) :is(.booking-package-title, .booking-package-price, .booking-package-meta) {
	color: var(--bk-rooms-package-selected-text, var(--bk-rooms-package-text, inherit));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-option input[type="radio"] {
	grid-column: 1;
	grid-row: 1 / 3;
	margin: 0.2rem 0 0;
	align-self: start;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-title {
	grid-column: 2;
	grid-row: 1;
	display: block;
	margin: 0;
	font-family: var(--bk-body-font-family, inherit);
	font-size: var(--bk-compact-sidebar-body-font-size, var(--bk-compact-sidebar-text-font-size, 0.875rem));
	font-weight: 700;
	line-height: 1.35;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-price {
	grid-column: 2;
	grid-row: 2;
	display: block;
	margin: 0;
	font-size: var(--bk-compact-sidebar-field-font-size, var(--bk-ui-field-font-size));
	font-weight: 600;
	line-height: 1.35;
	color: var(--bk-compact-sidebar-package-text, var(--bk-rooms-package-text, var(--bk-body-color, inherit)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-package-meta {
	grid-column: 2;
	margin-top: 0.15rem;
	font-family: var(--bk-body-font-family, inherit);
	font-size: var(--bk-compact-sidebar-field-font-size, var(--bk-ui-field-font-size));
	font-weight: 400;
	line-height: 1.4;
}

@media (max-width: 430px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-packages-choices--single,
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-room-packages .booking-packages-choices {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Hotel / rental archive book — extras stack in one column (match event archive popup). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs #booking-extras,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #booking-extras {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	max-width: min(20rem, 100%);
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs #booking-extras .extra-row.extra-row--qty {
	width: 100%;
	max-width: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #booking-extras .extra-row.extra-row--qty,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #booking-extras .extra-option {
	width: auto;
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
}

@media (max-width: 420px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #booking-extras {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Rental archive book — step 2 packages: match embedded search result cards */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #rental-package-choices.bs-rsr-packages-list.bs-rsr-package-cards-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 0.75rem;
	margin: 0;
	padding: 0 0 0.25rem;
	width: 100%;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card {
	position: relative;
	flex: unset;
	width: auto;
	max-width: none;
	min-width: 0;
	min-height: 10rem;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0.85rem 0.85rem 0.75rem;
	border-radius: var(--bk-rentals-catalog-card-border-radius, var(--bk-rooms-package-radius));
  border: var(--bk-rentals-package-border-width, 1px) solid var(--bk-rentals-package-border-color, rgba(0, 0, 0, 0.1));
  background: var(--bk-rentals-package-bg, #fff);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card:has(.bs-rsr-package-radio:checked),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card:has(.rental-package-radio:checked) {
  border-width: var(--bk-rentals-package-selected-border-width, 2px);
  border-style: solid;
  border-color: var(--bk-rentals-package-selected-border-color, var(--bk-btn-accent, #007aff));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--bk-rentals-package-selected-border-color, var(--bk-btn-accent, #007aff)) 18%, transparent);
  background: var(--bk-rentals-package-selected-bg, rgba(var(--bk-btn-accent-rgb), 0.04));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card .bs-rsr-package-radio,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card .bs-hsr-package-radio,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card .rental-package-radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.45rem;
	min-width: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--bk-rentals-package-text, var(--bs-text, var(--bk-body-color, #1c1917)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__price {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--bk-rentals-package-text, var(--bs-text, var(--bk-body-color, #1c1917)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__period-total {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--bk-rentals-package-text, var(--bs-muted, var(--bs-text, var(--bk-body-color, #57534e))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__inclusions {
	display: block;
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--bk-rentals-package-text, var(--bk-theme-muted, #57534e));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__inclusions .bs-rental-package-inclusions-list {
	white-space: normal;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card__label {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--bk-rentals-package-text, var(--bk-theme-muted, #78716c));
	margin-bottom: 0.15rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card:has(.bs-rsr-package-radio:checked) :is(
	.bs-rsr-package-card__title,
	.bs-rsr-package-card__price,
	.bs-rsr-package-card__period-total,
	.bs-rsr-package-card__inclusions,
	.bs-rsr-package-card__label
),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .bs-rsr-package-card:has(.rental-package-radio:checked) :is(
	.bs-rsr-package-card__title,
	.bs-rsr-package-card__price,
	.bs-rsr-package-card__period-total,
	.bs-rsr-package-card__inclusions,
	.bs-rsr-package-card__label
) {
	color: var(--bk-rentals-package-selected-text, var(--bk-rentals-package-text, inherit));
}

@media (max-width: 900px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #rental-package-choices.bs-rsr-packages-list.bs-rsr-package-cards-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs #rental-package-choices.bs-rsr-packages-list.bs-rsr-package-cards-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty {
	margin: 0;
	padding: 0.45rem 0.5rem;
	gap: 0.35rem 0.45rem;
	align-items: center;
	background: var(--bk-wizard-extras-row-bg, var(--bk-archive-popup-extras-row-bg, var(--bk-field-bg, #ffffff)));
	box-shadow: none;
	border: 1px solid var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-extras-row-border-color, var(--bs-border, #e8e6e1)));
	border-radius: var(--bk-ui-field-radius);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty {
	margin: 0;
	padding: 0.45rem 0.5rem;
	gap: 0.35rem 0.45rem;
	align-items: center;
	background: var(--bk-wizard-extras-row-bg, var(--bk-archive-popup-extras-row-bg, var(--bk-field-bg, #ffffff)));
	box-shadow: none;
	border: 1px solid var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-extras-row-border-color, var(--bs-border, #e8e6e1)));
	border-radius: var(--bk-ui-field-radius);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(.event-booking, .tour-booking).event-sidebar-module--narrow .ticket-row {
	background: var(--bk-wizard-extras-row-bg, var(--bk-archive-popup-extras-row-bg, var(--bk-compact-sidebar-row-bg, var(--bk-field-bg, #ffffff))));
	border-color: var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-extras-row-border-color, var(--bk-compact-sidebar-row-border-color, var(--bs-border, #e8e6e1))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__main {
	font-size: 0.875rem;
	line-height: 1.25;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__main {
	font-size: 0.875rem;
	line-height: 1.25;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__main strong {
	font-weight: 600;
	font-size: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__main strong {
	font-weight: 600;
	font-size: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-description {
	margin-top: 0.2rem;
	font-size: 0.8rem;
	line-height: 1.3;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-description {
	margin-top: 0.2rem;
	font-size: 0.8rem;
	line-height: 1.3;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__qty-wrap {
	flex-direction: row;
	align-items: center;
	gap: 0.35rem;
	min-height: 38px;
}

/* Checkbox-type extras: quantity input is a checkmark, not a number — the "Qty" label is redundant. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__qty-wrap:has(.extra-quantity[data-input-type="checkbox"]) .extra-quantity-label {
	display: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-row__qty-wrap {
	flex-direction: row;
	align-items: center;
	gap: 0.35rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity-label {
	font-size: 0.65rem;
	margin: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity-label {
	font-size: 0.65rem;
	margin: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity:not([data-input-type="checkbox"]),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity:not([data-input-type="checkbox"]) {
	margin: 0;
}

/* Checkbox-type extras: keep it a small square, not stretched to the number-input width above. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity[data-input-type="checkbox"] {
	width: var(--bk-ui-check-size);
	min-width: var(--bk-ui-check-size);
	height: var(--bk-ui-check-size);
	padding: 0;
	border-radius: var(--bk-ui-check-radius, 4px);
	border-color: var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-field-border-color, var(--bk-field-border-color, #8c8f94))) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.extra-row.extra-row--qty .extra-quantity:not([data-input-type="checkbox"]),
	.ticket-row input.ticket-quantity,
	.ticket-row input[type="number"]
) {
	border-color: var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-field-border-color, var(--bk-field-border-color, #8c8f94))) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .extra-row__icon:not(.extra-row__icon--empty),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .extra-option__icon {
	color: var(--bk-archive-popup-extras-icon-color, var(--bk-wizard-extras-row-icon-color, var(--bk-btn-accent, #2196f3)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .extra-row__icon:not(.extra-row__icon--empty) :is(i, span, svg),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .extra-option__icon :is(i, span, svg) {
	color: inherit;
}

/* Event archive book — date & time (occurrence dropdown) matches ticket row width. */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	:is(
		.event-archive-occurrence-field,
		.bs-booking-wizard-sidebar__section.event-sidebar-card__departure:has(.event-sidebar-occurrence-select)
	) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: min(20rem, 100%);
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	:is(.event-archive-occurrence-field, .bs-booking-wizard-sidebar__section.event-sidebar-card__departure)
	.event-sidebar-occurrence-select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking.event-sidebar-module--narrow
	.event-sidebar-occurrence-select {
	width: 100% !important;
	max-width: 100% !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-hotel-archive-modal__dialog
	:is(.event-booking, .tour-booking, .hotel-booking, .rental-booking).event-sidebar-module--narrow {
	--bk-wizard-extras-row-icon-color: var(--bk-archive-popup-extras-icon-color, var(--bk-btn-accent, #2196f3));
	--bk-experiences-wizard-extra-icon-color: var(--bk-archive-popup-extras-icon-color, var(--bk-btn-accent, #2196f3));
	--bk-rooms-wizard-extra-icon-color: var(--bk-archive-popup-extras-icon-color, var(--bk-btn-accent, #2196f3));
	--bk-rentals-wizard-extra-icon-color: var(--bk-archive-popup-extras-icon-color, var(--bk-btn-accent, #2196f3));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .extra-row.extra-row--qty .extra-quantity[data-input-type="checkbox"]::before {
	width: var(--bk-ui-check-mark-size);
	height: var(--bk-ui-check-mark-size);
}

/* Wizard steps: no top divider; stack content + full-width actions */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	border-top: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="3"] {
	padding-top: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="3"]:has(> .event-sidebar-card__kicker) {
	padding-top: 0.35rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .step-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 100%;
	margin-top: 0.75rem;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .step-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 100%;
	margin-top: 0.75rem;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .step-actions .booking-prev-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .step-actions .booking-next-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .step-actions .booking-submit,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .step-actions a.booking-next-step {
	flex: 0 1 auto;
	min-width: 0;
	max-width: calc(50% - 0.25rem);
	width: auto;
	margin: 0;
	order: unset;
	display: inline-flex;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .step-actions .booking-prev-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .step-actions .booking-next-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .step-actions .booking-submit,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .step-actions a.booking-next-step {
	flex: 0 1 auto;
	min-width: 0;
	max-width: calc(50% - 0.25rem);
	width: auto;
	margin: 0;
	order: unset;
	display: inline-flex;
}

/* Step 1: single Next button — sized to its content, not stretched full-width. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions {
	justify-content: center;
	width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions {
	justify-content: center;
	width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions .booking-next-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions a.booking-next-step {
	flex: 0 1 auto;
	width: auto;
	max-width: min(11rem, 100%);
	display: inline-flex;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions .booking-next-step,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .booking-step-content[data-step="1"] .step-actions a.booking-next-step {
	flex: 0 1 auto;
	width: auto;
	max-width: min(11rem, 100%);
	display: inline-flex;
}

/*
 * Event / tour archive "Book" popup — wizard step actions match step 1 accent (not default gray prev).
 */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-step-content {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	border-top: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.step-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	max-width: min(20rem, 100%);
	margin-top: 0.75rem;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-step-content[data-step="1"]
	.bs-booking-wizard-sidebar
	.step-actions,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-step-content[data-step="1"]
	> .step-actions {
	max-width: min(11rem, 100%);
	margin-left: auto;
	margin-right: auto;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.step-actions
	:is(.booking-prev-step, .booking-next-step, .booking-submit, a.booking-next-step) {
	flex: 1 1 calc(50% - 0.25rem);
	min-width: 0;
	max-width: calc(50% - 0.25rem);
	width: calc(50% - 0.25rem);
	margin: 0;
	order: unset;
	display: inline-flex;
}

/* Payment step with the method list: the row takes the popup's width so the list and the card panel line up
   with "Amount due"; Back / Book keep their 20rem pair width. */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.step-actions:has(> .booking-payment-methods) {
	max-width: 100%;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.step-actions:has(> .booking-payment-methods)
	:is(.booking-prev-step, .booking-submit) {
	flex: 0 1 calc((min(20rem, 100%) - 0.5rem) / 2);
	width: calc((min(20rem, 100%) - 0.5rem) / 2);
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-step-content[data-step="1"]
	.bs-booking-wizard-sidebar
	.step-actions:has(> :only-child)
	:is(.booking-next-step, a.booking-next-step),
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-step-content[data-step="1"]
	> .step-actions:has(> :only-child)
	:is(.booking-next-step, a.booking-next-step) {
	flex: 1 1 auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: flex;
}

/*
 * Event / tour archive "Book" popup: tour-sidebar markup includes .event-sidebar-card chrome
 * (beige box) for single pages — strip it here like hotel/rental archive book modals.
 */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).booking-steps-wrapper,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow.event-sidebar-card.booking-steps-wrapper.bs-booking-wizard-sidebar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--event) .bs-hotel-archive-modal__inner,
#bs-hotel-archive-modal.bs-archive-book-popup:has(.bs-archive-book-popup__content--tour) .bs-hotel-archive-modal__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-event-tour-archive-book-modal__bs {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.bs-booking-wizard-sidebar__tickets.event-sidebar-card__section {
	margin-top: 1.5rem;
}

/*
 * Hotel archive "Book" popup — section kickers (Popups → Book popup shell label color).
 */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs
	.hotel-booking.hotel-booking--archive-popup.event-sidebar-module--narrow
	.event-sidebar-card__kicker {
	margin: 0 0 0.55rem;
	font-size: var(--bk-compact-sidebar-step-heading-font-size, var(--bk-compact-sidebar-label-font-size, 0.72rem));
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-compact-sidebar-label-color, var(--bk-popup-shell-dialog-text, var(--bk-heading-color, #1a1a1a)))));
}

/*
 * Event / tour archive "Book" popup — section kickers (Popups → Book popup shell label color).
 */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking) {
	--bk-experiences-wizard-section-label-color: var(--bk-archive-popup-field-label-color, var(--bk-compact-sidebar-label-color, var(--bk-popup-shell-dialog-label, #57534e)));
	--bk-experiences-wizard-label-color: var(--bk-archive-popup-field-label-color, var(--bk-compact-sidebar-label-color, var(--bk-popup-shell-dialog-label, #57534e)));
}

#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.summary-extras
	h4,
#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	:is(.tour-booking-step-extras, .event-booking-step-extras)
	.event-sidebar-card__kicker,
#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.event-sidebar-card__kicker {
	margin: 0 0 0.55rem;
	font-size: var(--bk-compact-sidebar-step-heading-font-size, var(--bk-compact-sidebar-label-font-size, 0.72rem));
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-compact-sidebar-label-color, var(--bk-popup-shell-dialog-text, var(--bk-heading-color, #1a1a1a)))));
}

/* Event / tour archive book popup — departure body copy uses dialog text (not compact sidebar tokens). */
#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	:is(
		.event-sidebar-departure-static__line1,
		.event-sidebar-departure-static__line2,
		.event-sidebar-departure-live__line1,
		.event-sidebar-departure-live__line2,
		.event-sidebar-departure-static__datetime,
		.event-sidebar-departure-static__title,
		.event-sidebar-departure-live__title,
		.tour-sidebar-departure-static
	) {
	color: var(--bk-field-text, var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, var(--bs-text, var(--bk-body-color, #1c1917)))));
}

#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.bs-booking-wizard-sidebar__section
	+ .bs-booking-wizard-sidebar__section,
#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.event-sidebar-card__departure
	+ .bs-booking-wizard-sidebar__section {
	margin-top: 1.25rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup:is(.is-tour-archive-book, .is-event-archive-book)
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.step-actions {
	margin-top: 1.25rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	:is(
		.booking-step-content,
		.bs-booking-wizard-sidebar,
		.event-sidebar-card__section:not(.event-sidebar-card__departure):not(.bs-booking-wizard-sidebar__tickets)
	) {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup.is-tour-archive-book
	.bs-event-tour-archive-book-modal__bs
	.tour-booking.event-sidebar-module--narrow
	.booking-summary
	.summary-extras {
	margin-top: 1.35rem;
	padding-top: 0.15rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup.is-tour-archive-book
	.bs-event-tour-archive-book-modal__bs
	.tour-booking.event-sidebar-module--narrow
	.tour-booking-step-extras {
	margin-top: 0.25rem;
	padding-top: 0.35rem;
}

/* Archive book popup — unified summary box (Popups → Book popup summary). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary {
	background: var(--bk-archive-popup-summary-bg, var(--bk-theme-panel, var(--bk-popup-summary-bg, #f8f9fa))) !important;
	border-width: var(--bk-archive-popup-summary-border-width, 1px) !important;
	border-style: solid !important;
	border-color: var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bk-theme-border, var(--bs-border, #e2e8f0)))) !important;
	border-radius: var(--bk-archive-popup-summary-border-radius, var(--bs-radius-sm, 8px)) !important;
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	box-sizing: border-box;
	color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #1c1917))) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary :is(
	.summary-item,
	.summary-item span,
	.summary-rooms,
	.summary-extras,
	.summary-total,
	.summary-total span,
	.summary-total strong,
	.description:not(.booking-summary__tax-note),
	#summary-rooms-list,
	#summary-extras-list,
	#event-summary-extras-list,
	#event-summary-tickets-body,
	.event-summary-tickets-body,
	.booking-summary-room-line,
	.booking-summary-room-line span,
	.booking-summary__event-name,
	.booking-summary__event-name strong
) {
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary :is(
	.summary-extras h4,
	.summary-rooms h4,
	.booking-summary__legend,
	.bs-single__section-title
) {
	margin: 0.85rem 0 0.35rem;
	padding: 0;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.45rem 0;
	margin: 0;
	border-bottom: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item:has(+ .summary-extras),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item:has(+ .summary-rooms),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item:has(+ .summary-total),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--fee,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .js-bs-summary-fees-wrap .summary-item--fee,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-rooms,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tax-after-total,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tax-after-total.is-tax-visible {
	border-bottom: none;
}

/* The last shown row before the total: hidden rows (rental attributes, extras, package — inline display: none
   or [hidden]) can sit between it and the total, so `+ .summary-total` above misses it and the total's own
   top border made a second divider. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item:has(~ .summary-total):not(:has(~ :is(.summary-item, .summary-extras, .summary-rooms, .summary-rental-attributes):not([hidden], [style*="display: none"], [style*="display:none"], .summary-item--tax))) {
	border-bottom: none;
}

/* The popup draws its row lines below each row; the compact sidebar's lines above each row (event, tour and
   rental forms here are narrow sidebars) would double them. The tax line under the total keeps its own. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item:not(.summary-item--tax-after-total) {
	border-top: none;
}

/* The coupon row (a .summary-item inside the coupon box) is the last row before the total too: the total's
   top line is the only divider there. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .bs-booking-coupon-ui:has(+ .summary-total) .summary-item {
	border-bottom: none;
}

/* A line above the coupon row, after the fees or the last item (which draws no bottom line before the total). */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .bs-booking-coupon-ui {
	margin-top: 0;
	padding-top: 0;
	border-top: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary p:not(.booking-summary__tax-note, .bs-booking-tax-note) {
	margin: 0 0 0.65rem;
	padding: 0 0 0.65rem;
	border-bottom: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
	font-size: var(--bk-body-font-size);
	line-height: 1.45;
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary p:not(.booking-summary__tax-note, .bs-booking-tax-note) strong {
	font-weight: 700;
	color: inherit;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary p:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-total {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
	text-align: right;
	font-size: 1rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-total + .summary-item--tax-after-total,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-total + .summary-item--tax-after-total.is-tax-visible {
	margin-top: 0;
	padding-top: 0.35rem;
	padding-bottom: 0;
	border-top: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
	border-bottom: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item--tax-after-total .bs-booking-tax-note,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item--tax-after-total .description {
	margin: 0;
	padding: 0;
	border: none;
	text-align: right;
	font-size: 0.85rem;
	line-height: 1.35;
	opacity: 0.92;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-total:has(+ .summary-item--tax-after-total.is-tax-visible) {
	padding-bottom: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-rooms {
	margin: 0;
	padding: 0;
	border-top: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tickets {
	border-top: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tickets > span:first-child {
	flex: 0 0 auto;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tickets :is(
	.event-summary-tickets-body,
	#event-summary-tickets-body,
	#tour-summary-tickets-body
) {
	flex: 1 1 auto;
	min-width: 0;
	text-align: right;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-item.summary-item--tickets :is(
	.event-summary-tickets-body,
	#event-summary-tickets-body,
	#tour-summary-tickets-body
) :is(div, span) {
	text-align: right;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras h4 {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras :is(
	#event-summary-extras-list,
	#tour-summary-extras-list,
	#rental-summary-extras-list,
	.description,
	.booking-summary-extras-empty
) {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: right;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras :is(
	#event-summary-extras-list,
	#tour-summary-extras-list,
	#rental-summary-extras-list
) :is(div, span) {
	text-align: right;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-rooms,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras {
	margin-top: 0.85rem;
	padding-top: 0.2rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-rooms .booking-summary__legend,
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary .summary-extras .booking-summary__legend {
	margin-top: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary :is(
	#summary-rooms-list,
	.booking-summary-room-line,
	.booking-summary-room-line :is(.booking-summary-package, .booking-summary-room-type, .booking-summary-sep)
) {
	color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #1c1917)));
}

/* Rental summary — rental period: label + start on one row, end on the next. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--period {
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.2rem 1rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--period .summary-item__label {
	flex: 0 0 auto;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--period #rental-summary-datetime-start {
	flex: 1 1 auto;
	min-width: 0;
	text-align: right;
	line-height: 1.45;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--period .summary-item__period-line--end {
	flex: 0 0 100%;
	text-align: right;
	line-height: 1.45;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item__period-line[hidden] {
	display: none !important;
}

/* Rental summary — one divider above package, not double below before total. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--package {
	border-bottom: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--package:not([style*='display: none']) {
	border-top: calc(var(--bk-archive-popup-summary-dividers, 1) * 1px) solid var(
		--bk-archive-popup-summary-divider,
		var(--bk-archive-popup-summary-border-color, var(--bk-popup-summary-border-color, var(--bs-border, #e2e8f0)))
	);
	margin-top: 0.65rem;
	padding-top: 0.65rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary:has(.summary-item--package:not([style*='display: none'])) .summary-item:has(#rental-summary-duration) {
	border-bottom: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-item--tax {
	border-bottom: none;
	border-top: none;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .rental-wizard-summary .summary-rental-attributes {
	border-bottom: none;
	margin-bottom: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) {
	color: var(--bs-text, var(--bk-body-color, #1c1917));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.booking-step-lead,
	.description
) {
	color: var(--bk-popup-shell-dialog-text, var(--bs-text, var(--bk-body-color, #1c1917)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.extra-row.extra-row--qty,
	.extra-row__main,
	.extra-description,
	.extra-row__main .extra-price,
	.ticket-row,
	.ticket-row label
) {
	color: var(--bk-field-text, var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, var(--bs-text, var(--bk-body-color, #1c1917)))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .hotel-booking.event-sidebar-module--narrow .extra-row .extra-price {
	color: var(--bk-field-text, var(--bk-archive-popup-field-text, var(--bk-wizard-extras-row-text, inherit))) !important;
	font-weight: 600;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.ticket-row input[type="number"],
	.ticket-row input.ticket-quantity,
	.extra-row.extra-row--qty .extra-quantity:not([data-input-type="checkbox"])
) {
	color: var(--bk-wizard-extras-row-text, var(--bk-field-text, var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, var(--bs-text, var(--bk-body-color, #1c1917)))))) !important;
	-webkit-text-fill-color: var(--bk-wizard-extras-row-text, var(--bk-field-text, var(--bk-archive-popup-field-text, var(--bk-popup-shell-dialog-text, var(--bs-text, var(--bk-body-color, #1c1917)))))) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .booking-package-option :is(
	.booking-package-title,
	.booking-package-meta
) {
	color: var(--bk-rooms-package-text, var(--bs-text, var(--bk-body-color, #1c1917)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .booking-package-option .booking-package-price {
	color: var(--bk-compact-sidebar-package-text, var(--bk-rooms-package-text, var(--bk-body-color, inherit)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) .booking-package-option:has(input[type="radio"]:checked) :is(
	.booking-package-title,
	.booking-package-price,
	.booking-package-meta
) {
	color: var(--bk-rooms-package-selected-text, var(--bk-rooms-package-text, inherit));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.guest-field > label,
	.booking-hotel-step1-field > label,
	.date-field > label
) {
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #57534e))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.hotel-booking,
	.rental-booking,
	.event-booking,
	.tour-booking
) :is(
	.booking-packages-heading,
	.booking-packages-label,
	.bs-rooms-wizard-section-label,
	.booking-hotel-extras-heading
) {
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #57534e))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog :is(
	.event-sidebar-departure-static__selected-label,
	.event-sidebar-departure-live__lbl,
	.event-sidebar-card__kicker,
	.event-archive-occurrence-field__label,
	.bs-booking-wizard-sidebar__heading
) {
	color: var(--bk-archive-popup-field-label-color, var(--bk-popup-shell-dialog-label, var(--bk-popup-shell-dialog-text, var(--bk-body-color, #57534e))));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .booking-summary :is(
	.summary-item > span:first-child,
	.summary-extras h4,
	.summary-rooms h4,
	.booking-summary__legend,
	.bs-single__section-title,
	.summary-total strong
) {
	color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, inherit)) !important;
	-webkit-text-fill-color: var(--bk-archive-popup-summary-text, var(--bk-popup-shell-dialog-text, inherit)) !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .bs-rsr-package-card :is(
	.bs-rsr-package-card__title,
	.bs-rsr-package-card__price,
	.bs-rsr-package-card__period-total,
	.bs-rsr-package-card__inclusions,
	.bs-rsr-package-card__label
) {
	color: var(--bk-rentals-package-text, var(--bs-text, var(--bk-body-color, #1c1917)));
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .bs-rsr-package-card:has(.bs-rsr-package-radio:checked) :is(
	.bs-rsr-package-card__title,
	.bs-rsr-package-card__price,
	.bs-rsr-package-card__period-total,
	.bs-rsr-package-card__inclusions,
	.bs-rsr-package-card__label
),
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-modal__dialog .bs-rsr-package-card:has(.rental-package-radio:checked) :is(
	.bs-rsr-package-card__title,
	.bs-rsr-package-card__price,
	.bs-rsr-package-card__period-total,
	.bs-rsr-package-card__inclusions,
	.bs-rsr-package-card__label
) {
	color: var(--bk-rentals-package-selected-text, var(--bk-rentals-package-text, inherit));
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-wizard-custom-fields__row
	input,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-wizard-custom-fields__row
	select,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.booking-wizard-custom-fields__row
	textarea,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.tour-booking
	.booking-wizard-custom-fields__row
	input,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.tour-booking
	.booking-wizard-custom-fields__row
	select,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.tour-booking
	.booking-wizard-custom-fields__row
	textarea {
	width: 100%;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-wizard-custom-fields__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 0.75rem;
	row-gap: 0;
	align-items: start;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-wizard-custom-fields__row {
	min-width: 0;
	margin-bottom: 0.75rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-wizard-custom-fields__row--span-4 {
	grid-column: span 4;
}

/* Payment step: custom fields render inside .booking-summary (not as sibling). */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-summary
	.booking-wizard-custom-fields {
	margin-top: 1.5rem;
	padding-top: 0.35rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.booking-summary
	.summary-extras
	+ .booking-wizard-custom-fields {
	margin-top: 1.75rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	:is(.booking-wizard-custom-fields__row > label, .guest-field > label) {
	font-size: 0.8125rem;
	line-height: 1.35;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.event-booking-selection-name:not(:empty),
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.event-booking
	.bs-booking-wizard-sidebar
	.event-booking-selection-name:not(:empty) {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--bs-text, #1a1a1a);
}

/* Event / tour archive book popup — extras stack (tour sidebar uses #tour-booking-extras). */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	:is(
		#booking-global-extras,
		#booking-extras,
		#tour-booking-extras,
		.event-sidebar-extras-step,
		.tour-booking-extras-step__inner
	) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	max-width: min(20rem, 100%);
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	:is(
		#booking-global-extras,
		#booking-extras,
		#tour-booking-extras,
		.event-sidebar-extras-step,
		.tour-booking-extras-step__inner
	)
	.extra-row.extra-row--qty {
	width: 100%;
	max-width: none;
}

/* Event / tour archive book popup — tickets block matches date & time width. */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.bs-booking-wizard-sidebar__tickets.event-sidebar-card__section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: min(20rem, 100%);
	box-sizing: border-box;
}

/* Event / tour archive book popup — ticket rows match extras spacing. */
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.bs-booking-wizard-sidebar__tickets-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	width: 100%;
	max-width: min(20rem, 100%);
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	.bs-booking-wizard-sidebar__tickets-inner .ticket-row {
	margin: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking)
	:is(.tour-booking-step-extras, .event-sidebar-card--step)
	.step-actions {
	margin-top: 1.1rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	.tour-booking.event-sidebar-module--narrow
	.tour-booking-step-extras
	.booking-step-lead {
	color: var(--bk-popup-shell-dialog-text, var(--bk-compact-sidebar-text-color, var(--bs-text, var(--bk-body-color, #1c1917))));
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-row__icon:not(.extra-row__icon--empty) {
	flex: 0 0 1.75rem;
	width: 1.75rem;
	font-size: 1rem;
	margin-right: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-row__main {
	font-size: 0.875rem;
	line-height: 1.25;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-row__main
	label,
#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-row__main
	strong {
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-description {
	margin-top: 0.2rem;
	font-size: 0.8rem;
	line-height: 1.3;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking):not(.event-sidebar-module--narrow)
	.extra-row.extra-row--qty
	.extra-row__qty-wrap {
	flex-direction: row;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
	min-height: 0;
}

#bs-hotel-archive-modal.bs-archive-book-popup
	.bs-event-tour-archive-book-modal__bs
	:is(.event-booking, .tour-booking).event-sidebar-module--narrow
	.extra-row.extra-row--qty
	:is(.extra-quantity[data-input-type="checkbox"], .extra-checkbox, .tour-extra-check) {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	min-width: 1.25rem;
	max-width: 1.25rem;
	min-height: 0;
	max-height: none;
	padding: 0;
	margin: 0;
	border-color: var(--bk-wizard-extras-row-border-color, var(--bk-archive-popup-field-border-color, var(--bk-field-border-color, #8c8f94))) !important;
}

/* Summary step (user step 3): summary card same width as intro text above */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .booking-step-content[data-step="4"] .booking-summary {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 1rem;
	box-sizing: border-box;
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-hotel-archive-book-modal__bs .summary-total {
	text-align: right;
}

/*
 * All Book popups: one distance between a step's content and its Back / Next / Book row. The row gets a fixed
 * top margin and the block right above it (and that block's last child) loses its own bottom margin, which
 * otherwise added 0–22px depending on the step (flex steps do not collapse margins). !important: the
 * per-module popup rules above set the row's margin with higher specificity.
 */
#bs-hotel-archive-modal.bs-archive-book-popup {
	--bs-popup-actions-gap: 1.5rem;
}

#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content .step-actions {
	margin-top: var(--bs-popup-actions-gap) !important;
}

/* The service buttons add 4px of their own above. */
#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content .step-actions > :is(button, a) {
	margin-top: 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content :has(+ .step-actions),
#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content :has(+ .step-actions) > :last-child {
	margin-bottom: 0 !important;
}

/* Payment step: the method list (and the chosen method's panel) sit inside the button row; the same gap
   separates them from Back / Book (no row gap around the line break). */
#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content .step-actions:has(> .booking-payment-methods:not([hidden])) {
	row-gap: 0 !important;
}

#bs-hotel-archive-modal.bs-archive-book-popup .booking-step-content .step-actions > :is(
		.booking-payment-methods,
		.booking-klarna-checkout-wrap,
		.booking-swish-checkout-wrap,
		.booking-stripe-checkout-wrap,
		.booking-paypal-checkout-wrap
	):not([hidden]) {
	margin-bottom: var(--bs-popup-actions-gap) !important;
}

/* Quantity and people both in the date row (rental with more than one unit and the people field): a column each. */
#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields__grid:has(.rental-range-field--dates):has(.rental-range-field--people):has(.rental-range-field--quantity) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(5rem, 8.5rem) minmax(5rem, 8.5rem);
}

#bs-hotel-archive-modal.bs-archive-book-popup .bs-rental-archive-book-modal__bs .rental-range-fields--start-only .rental-range-fields__grid:has(.rental-range-field--dates):has(.rental-range-field--people):has(.rental-range-field--quantity) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(5rem, 8.5rem) minmax(5rem, 8.5rem);
}
