:root {
	--urh-black: var(--negro, var(--wp--preset--color--negro, #171717));
	--urh-soft: var(--wp--preset--color--white, #fff);
	--urh-line: var(--oscuro, var(--wp--preset--color--oscuro, #8e8778));
	--urh-accent: var(--contrast, var(--wp--preset--color--contrast, var(--negro, #171717)));
	--urh-muted-text: color-mix(in srgb, var(--urh-black) 86%, var(--urh-soft));
	--urh-panel-border: color-mix(in srgb, var(--urh-black) 16%, var(--urh-soft));
	--urh-body-font: var(--base-font);
	--urh-heading-font: var(--heading-font);
	--urh-type-body-xs-size: 16px;
	--urh-type-body-xs-line: 24px;
	--urh-type-body-xs-track: -0.5px;
	--urh-type-body-xs-weight: 400;
	--urh-type-body-xs-medium-weight: 500;
	--urh-type-title-md-size: 24px;
	--urh-type-title-md-line: 30px;
	--urh-type-title-md-track: 0;
	--urh-type-title-md-weight: 400;
	--urh-regular-weight: var(--urh-type-body-xs-weight);
	--urh-medium-weight: var(--font-weight-medium, var(--urh-type-body-xs-medium-weight));
	--urh-bold-weight: var(--font-weight-medium, var(--urh-type-body-xs-medium-weight));
	--urh-room-title-size: 20px;
	--urh-room-title-size-md: 20px;
	--urh-room-title-size-sm: 20px;
	--urh-room-title-line: 25px;
	--urh-counter-row-size: 16px;
	--urh-counter-row-size-md: 16px;
	--urh-counter-row-size-sm: 16px;
	--urh-add-room-btn-size: 16px;
	--urh-add-room-btn-size-md: 16px;
	--urh-add-room-btn-size-sm: 16px;
	--urh-tab-size: var(--urh-type-body-xs-size);
	--urh-field-size: var(--urh-type-body-xs-size);
	--urh-book-btn-size: var(--urh-type-body-xs-size);
	--urh-calendar-month-size: 20px;
	--urh-calendar-month-line: 25px;
	--urh-calendar-day-size: 14px;
	--urh-calendar-day-line: 16px;
	--urh-calendar-cell-size: 40px;
	--urh-calendar-month-col: 308px;
	--urh-calendar-gap: 24px;
	--urh-control-ring: #84827f;
	--urh-room-divider: #e9dec9;
	--urh-hotels-expanded-height: 709px;
	--urh-calendar-expanded-height: 353px;
	--urh-guests-expanded-height: 380px;
	--urh-button-bg: var(--negro, var(--wp--preset--color--negro, #171717));
	--urh-button-text: var(--clarito, #f4f4ed);
	--urh-button-disabled-bg: var(--gris, var(--wp--preset--color--gris, #8e8e8e));
	--urh-button-disabled-text: var(--neutral-50, var(--wp--preset--color--neutral-50, #d4d4d4));
	--urh-button-active-bg: var(--neutral-100, var(--wp--preset--color--neutral-100, #2a2a2a));
	--urh-calendar-selected-bg: var(--negro, var(--wp--preset--color--negro, #171717));
	--urh-calendar-selected-text: var(--clarito, #f4f4ed);
	--urh-calendar-range-bg: color-mix(in srgb, var(--urh-calendar-selected-bg) 22%, var(--urh-soft));
	--urh-error: var(--wp--preset--color--contrast);
	--urh-space-2xs: var(--wp--preset--spacing--8);
	--urh-space-xs: var(--wp--preset--spacing--16);
	--urh-space-sm: var(--wp--preset--spacing--24);
	--urh-space-md: var(--wp--preset--spacing--32);
	--urh-space-lg: var(--wp--preset--spacing--40);
	--urh-space-fluid-s: var(--spacing-fluid-s);
	--urh-space-fluid-m: var(--spacing-fluid-m);
	--urh-space-fluid-l: var(--spacing-fluid-l);
	--urh-space-layout: var(--layout-margin, 20px);
	--urh-shell-pad: var(--urh-space-layout, 20px);
	--urh-floating-side-gap: var(--urh-space-layout, 20px);
	--urh-floating-bottom-gap: var(--urh-space-layout, 20px);
	--urh-floating-max-width: var(--extrawidesize, 1440px);
	--urh-icon-size: 24px;
	--urh-hotels-scrollbar-size: 5px;
	--urh-hotels-scrollbar-thumb-size: 4px;
	--urh-hotels-scrollbar-thumb-min-height: 20px;
	--urh-hotels-scrollbar-thumb: #c9c8c0;
	--urh-hotels-scrollbar-line: #c9c8c0;
	--urh-hotels-scrollbar-line-size: 1px;
	--urh-arrow-left-icon: url("../images/flecha-izquierda.svg");
	--urh-arrow-right-icon: url("../images/flecha-derecha.svg");
}

.urh-type-body-xs {
	font-family: var(--urh-body-font);
	font-size: var(--urh-type-body-xs-size);
	font-weight: var(--urh-type-body-xs-weight);
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
}

.urh-type-body-xs-medium {
	font-family: var(--urh-body-font);
	font-size: var(--urh-type-body-xs-size);
	font-weight: var(--urh-medium-weight);
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
}

.urh-type-title-md {
	font-family: var(--urh-heading-font);
	font-size: var(--urh-type-title-md-size);
	font-weight: var(--urh-type-title-md-weight);
	letter-spacing: var(--urh-type-title-md-track);
	line-height: var(--urh-type-title-md-line);
}

.urh-field__text {
	min-width: 0;
}

.urh-widget {
	background: var(--urh-soft);
	color: var(--urh-black);
	font-family: var(--urh-body-font);
	font-weight: var(--urh-regular-weight);
	padding: 10px 0 0;
	position: relative;
}

.urh-widget-shell {
	container-name: urh-widget-shell;
	container-type: inline-size;
}

html.urh-mobile-scroll-lock,
body.urh-mobile-scroll-lock {
	height: 100%;
	overflow: hidden;
}

.urh-top-row {
	height: 0;
}

.urh-widget.is-overlay-open {
	z-index: 1200;
}

.urh-tabs {
	display: flex;
	gap: 28px;
	margin: 0;
	padding: 8px var(--urh-shell-pad) 0;
}

.urh-tab {
	background: transparent;
	border: 0;
	border-bottom: 1px solid transparent;
	color: var(--urh-black);
	cursor: pointer;
	font-family: var(--urh-body-font);
	font-size: var(--urh-tab-size);
	font-weight: var(--urh-regular-weight);
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	padding: 0 0 8px;
	text-transform: uppercase;
}

.urh-tab.is-active {
	background: var(--urh-black, #171717);
	border-bottom-color: transparent;
	color: var(--urh-soft, #f4f4ed);
	font-weight: var(--urh-medium-weight);
}

.urh-tab[aria-selected="true"] {
	font-weight: var(--urh-medium-weight);
}

.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible):not(.is-desktop-opening):not(.is-desktop-header-only) .urh-tab.is-active,
.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible):not(.is-desktop-opening):not(.is-desktop-header-only) .urh-tab[aria-selected="true"] {
	background-color: var(--urh-black, #171717) !important;
	color: var(--urh-soft, #f4f4ed) !important;
	opacity: 1;
}

.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible):not(.is-desktop-opening):not(.is-desktop-header-only) .urh-tab {
	background-color: #fff !important;
	border-bottom: 1px solid transparent !important;
	color: var(--urh-black, #171717) !important;
}

.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible):not(.is-desktop-opening):not(.is-desktop-header-only) .urh-tab.is-active,
.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible):not(.is-desktop-opening):not(.is-desktop-header-only) .urh-tab[aria-selected="true"] {
	background-color: #fff !important;
	border-bottom: 1px solid var(--urh-black, #171717) !important;
	color: var(--urh-black, #171717) !important;
}

.urh-widget.is-overlay-open .urh-tab,
.urh-widget.is-hotels-open .urh-tab,
.urh-widget.is-no-availability-visible .urh-tab,
.urh-widget.is-desktop-opening .urh-tab,
.urh-widget.is-desktop-header-only .urh-tab {
	background-color: var(--urh-soft, #f4f4ed) !important;
	border-bottom: 1px solid transparent !important;
	color: var(--urh-black, #171717) !important;
}

.urh-widget.is-overlay-open .urh-tab.is-active,
.urh-widget.is-overlay-open .urh-tab[aria-selected="true"],
.urh-widget.is-hotels-open .urh-tab.is-active,
.urh-widget.is-hotels-open .urh-tab[aria-selected="true"],
.urh-widget.is-no-availability-visible .urh-tab.is-active,
.urh-widget.is-no-availability-visible .urh-tab[aria-selected="true"],
.urh-widget.is-desktop-opening .urh-tab.is-active,
.urh-widget.is-desktop-opening .urh-tab[aria-selected="true"],
.urh-widget.is-desktop-header-only .urh-tab.is-active,
.urh-widget.is-desktop-header-only .urh-tab[aria-selected="true"] {
	background-color: var(--urh-soft, #f4f4ed) !important;
	border-bottom: 1px solid var(--urh-black, #171717) !important;
	color: var(--urh-black, #171717) !important;
}

.urh-widget.is-desktop-opening .urh-tabs,
.urh-widget.is-desktop-header-only .urh-tabs {
	overflow: hidden;
}

.urh-widget.is-desktop-opening .urh-tab,
.urh-widget.is-desktop-header-only .urh-tab {
	background-color: var(--urh-soft, #f4f4ed) !important;
	border-bottom: 1px solid transparent !important;
	color: var(--urh-black, #171717) !important;
}

.urh-widget.is-desktop-opening .urh-tab.is-active,
.urh-widget.is-desktop-opening .urh-tab[aria-selected="true"],
.urh-widget.is-desktop-header-only .urh-tab.is-active,
.urh-widget.is-desktop-header-only .urh-tab[aria-selected="true"] {
	background-color: var(--urh-soft, #f4f4ed) !important;
	border-bottom: 1px solid var(--urh-black, #171717) !important;
	color: var(--urh-black, #171717) !important;
}

.urh-tab[disabled] {
	cursor: not-allowed;
	opacity: 0.45;
}

.urh-widget .urh-tab,
.urh-widget .urh-field,
.urh-widget .urh-close-link,
.urh-widget .urh-hotel-option,
.urh-widget .urh-nav-circle,
.urh-widget .urh-counter button,
.urh-widget .urh-caret-btn {
	transition: none !important;
}

.urh-widget .urh-tab:not(.is-active):hover,
.urh-widget .urh-tab:not(.is-active):focus-visible,
.urh-widget .urh-tab:not(.is-active):active {
	background: transparent !important;
	background-color: transparent !important;
	border-bottom-color: transparent !important;
	color: var(--urh-black) !important;
}

.urh-widget .urh-field:hover,
.urh-widget .urh-field:focus-visible,
.urh-widget .urh-field:active,
.urh-widget .urh-close-link:hover,
.urh-widget .urh-close-link:focus-visible,
.urh-widget .urh-close-link:active,
.urh-widget .urh-hotel-option:hover,
.urh-widget .urh-hotel-option:focus-visible,
.urh-widget .urh-hotel-option:active,
.urh-widget .urh-nav-circle:hover,
.urh-widget .urh-nav-circle:focus-visible,
.urh-widget .urh-nav-circle:active,
.urh-widget .urh-counter button:hover,
.urh-widget .urh-counter button:focus-visible,
.urh-widget .urh-counter button:active,
.urh-widget .urh-caret-btn:hover,
.urh-widget .urh-caret-btn:focus-visible,
.urh-widget .urh-caret-btn:active {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--urh-black) !important;
}

.urh-widget .urh-nav-circle:hover,
.urh-widget .urh-nav-circle:focus-visible,
.urh-widget .urh-nav-circle:active,
.urh-widget .urh-counter button:hover,
.urh-widget .urh-counter button:focus-visible,
.urh-widget .urh-counter button:active {
	border-color: var(--urh-line) !important;
}

.urh-widget .urh-close-link {
	appearance: none;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--urh-black);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--urh-body-font);
	font-size: var(--urh-field-size);
	font-weight: var(--urh-regular-weight);
	height: auto;
	justify-content: flex-end;
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	margin: 0;
	padding: 0;
	position: absolute;
	left: auto !important;
	right: var(--urh-shell-pad, 20px) !important;
	text-align: right;
	top: 8px;
	width: auto;
	z-index: 10;
}

.urh-widget.is-overlay-open .urh-close-link,
.urh-widget.is-hotels-open .urh-close-link {
	left: auto !important;
	right: var(--urh-shell-pad, 20px) !important;
}

.urh-widget .urh-close-link[hidden] {
	display: none;
}

.urh-booking-bar {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(190px, 1.15fr) minmax(190px, 1.1fr) minmax(190px, 1fr) minmax(210px, 300px);
	padding: 8px var(--urh-shell-pad) 8px;
}

.urh-field {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--urh-black);
	display: inline-flex;
	font-family: var(--urh-body-font);
	font-size: var(--urh-field-size);
	font-weight: var(--urh-regular-weight);
	gap: 16px;
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	min-height: 42px;
	padding: 0;
	text-align: left;
}

.urh-field.is-locked {
	cursor: default;
}

.urh-field__icon {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	flex: 0 0 auto;
	height: var(--urh-icon-size);
	position: relative;
	width: var(--urh-icon-size);
}

.urh-field__icon--pin {
	background-image: url("../images/location.svg");
}

.urh-field__icon--pin::after {
	content: none;
}

.urh-field__icon--calendar {
	background-image: url("../images/calendar.svg");
}

.urh-field__icon--calendar::before,
.urh-field__icon--calendar::after {
	content: none;
}

.urh-field__icon--guests::before,
.urh-field__icon--guests::after {
	content: none;
}

.urh-field__icon--guests {
	background-image: url("../images/pax.svg");
}

.urh-widget .urh-book-btn,
.urh-widget .urh-book-btn.btn {
	background: var(--urh-button-bg);
	background-color: var(--urh-button-bg);
	border: 0;
	color: var(--urh-button-text);
	font-family: var(--urh-body-font);
	font-size: var(--urh-book-btn-size);
	font-weight: var(--urh-medium-weight);
	height: 46px;
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	padding: 12px 24px;
	text-decoration: none;
	width: 100%;
}

.urh-widget .urh-book-btn:hover,
.urh-widget .urh-book-btn.btn:hover,
.urh-widget .urh-book-btn:enabled:active,
.urh-widget .urh-book-btn.btn:enabled:active {
	background: var(--urh-button-active-bg);
	background-color: var(--urh-button-active-bg);
}

.urh-widget .urh-book-btn[disabled],
.urh-widget .urh-book-btn.btn[disabled] {
	background: var(--urh-button-disabled-bg);
	background-color: var(--urh-button-disabled-bg);
	color: var(--urh-button-disabled-text);
	cursor: not-allowed;
	opacity: 1;
	pointer-events: none;
}

.urh-widget .urh-book-btn.is-no-availability {
	background: var(--urh-button-disabled-bg);
	background-color: var(--urh-button-disabled-bg);
	color: var(--urh-button-disabled-text);
}

.urh-hotels-panel,
.urh-panel {
	background: var(--urh-soft);
	left: 50%;
	position: absolute;
	top: calc(100% - 2px);
	transform: translateX(-50%);
	width: 100vw;
	z-index: 1400;
}

.urh-hotels-panel {
	align-items: stretch;
	border-top: 0;
	box-sizing: border-box;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 30%) minmax(0, 70%);
	grid-template-rows: 1fr;
	left: 0;
	min-height: 520px;
	padding: 18px 36px 24px;
	right: 0;
	transform: none;
	width: 100%;
}

.urh-restaurants-panel {
	align-items: stretch;
	box-sizing: border-box;
	display: grid;
	gap: 0;
	grid-template-columns: minmax(0, 30%) minmax(0, 70%);
	grid-template-rows: auto 1fr;
	min-height: 520px;
	padding: 18px 36px 24px;
	width: 100%;
}

.urh-restaurants-actions {
	align-items: center;
	display: flex;
	grid-column: 1 / -1;
	justify-content: space-between;
	gap: 20px;
	padding: 0 0 22px;
}

.urh-restaurants-hotel-indicator {
	flex: 1 1 auto;
	max-width: 100%;
	min-width: 0;
}

.urh-restaurants-hotel-name {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.urh-restaurant-discover-btn {
	flex: 0 0 auto;
	max-width: 320px;
	width: 100%;
}

.urh-restaurants-panel .urh-hotels-list-wrap {
	grid-column: 1;
	grid-row: 2;
	height: 100%;
}

.urh-restaurants-panel .urh-restaurants-viewer {
	align-items: center;
	aspect-ratio: 965 / 550;
	display: flex;
	grid-column: 2;
	grid-row: 2;
	height: 100%;
	min-height: 0;
	justify-content: center;
	margin-inline: auto;
	max-height: 550px;
	max-width: 965px;
	overflow: hidden;
	width: 100%;
}

.urh-restaurants-panel .urh-restaurants-viewer img {
	display: block;
	height: 100%;
	margin: 0 auto;
	max-height: 550px;
	max-width: 965px;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transition: opacity 0.2s ease;
	width: 100%;
}

.urh-panel--restaurant .urh-restaurant-slot {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.urh-panel--restaurant .urh-restaurants-panel {
	height: 100%;
	min-height: 0;
}

.urh-hotels-list-wrap {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	padding: 34px 0 10px 0;
	position: relative;
}

.urh-widget--context-global .urh-hotels-list-wrap::before,
.urh-widget .urh-restaurants-list-wrap::before {
	display: none;
}

.urh-hotels-scroll-rail {
	height: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: var(--urh-hotels-scrollbar-size);
	z-index: 3;
}

.urh-hotels-scroll-rail::before {
	background: var(--urh-hotels-scrollbar-line);
	bottom: 0;
	content: "";
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: var(--urh-hotels-scrollbar-line-size);
}

.urh-hotels-scroll-thumb {
	background: var(--urh-hotels-scrollbar-thumb);
	border-radius: 999px;
	display: none;
	left: 50%;
	min-height: var(--urh-hotels-scrollbar-thumb-min-height);
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: var(--urh-hotels-scrollbar-thumb-size);
	cursor: grab;
	touch-action: none;
}

.urh-hotels-scroll-rail.is-overflowing .urh-hotels-scroll-thumb {
	display: block;
}

.urh-hotels-scroll-rail.is-overflowing {
	pointer-events: auto;
}

.urh-hotels-scroll-rail.is-overflowing .urh-hotels-scroll-thumb.is-dragging {
	cursor: grabbing;
}

.urh-widget--context-global .urh-hotels-list-wrap::after,
.urh-widget .urh-restaurants-list-wrap::after {
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--urh-soft) 0%, transparent) 0%,
		color-mix(in srgb, var(--urh-soft) 88%, transparent) 68%,
		var(--urh-soft) 100%
	);
	bottom: 0;
	content: "";
	height: 72px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	transition: opacity 0.2s ease;
	z-index: 2;
}

.urh-widget--context-global .urh-hotels-list-wrap.is-fade-hidden::after,
.urh-widget .urh-restaurants-list-wrap.is-fade-hidden::after {
	opacity: 0;
}

@keyframes urh-expand-up {
	from {
		opacity: 0;
		transform: translateY(-22px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes urh-mobile-sheet-in {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes urh-desktop-bar-exit-down {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(56px);
	}
}

@keyframes urh-desktop-sheet-enter {
	from {
		opacity: 0;
		transform: translateY(-56px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes urh-desktop-panel-expand {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.urh-hotels-list {
	flex: 1 1 auto;
	height: 100%;
	list-style: none;
	margin: 0;
	max-height: none;
	min-height: 0;
	overflow: auto;
	padding: 0 calc(var(--urh-hotels-scrollbar-size) + 2px) 0 0;
	position: relative;
	scrollbar-color: transparent transparent;
	scrollbar-gutter: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 2;
}

.urh-hotels-list::-webkit-scrollbar {
	height: 0;
	width: 0;
}

.urh-hotel-option {
	background: transparent;
	border: 0;
	color: var(--urh-black) !important;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 8px 0 16px;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.urh-hotel-option__name {
	color: #1c1a17 !important;
	font-family: var(--urh-heading-font);
	font-size: var(--urh-type-title-md-size);
	font-weight: var(--urh-type-title-md-weight);
	letter-spacing: var(--urh-type-title-md-track);
	line-height: var(--urh-type-title-md-line);
}

.urh-hotel-option__city {
	color: #302727;
	font-family: var(--urh-body-font);
	font-size: var(--urh-type-body-xs-size);
	font-weight: var(--urh-type-body-xs-weight);
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	text-transform: uppercase;
}

.urh-hotels-viewer {
	aspect-ratio: 965 / 550;
	display: flex;
	height: 100%;
	justify-content: center;
	justify-self: center;
	margin-inline: auto;
	max-height: 550px;
	max-width: 965px;
	min-height: 0;
	overflow: hidden;
	padding-left: 0;
	width: 100%;
}

.urh-hotels-viewer img {
	display: block;
	height: 100%;
	margin: 0 auto;
	max-height: 550px;
	max-width: 965px;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transition: opacity 0.2s ease;
	width: 100%;
}

.urh-panel {
	border-top: 1px solid var(--urh-panel-border);
	min-height: 370px;
	padding: 18px 0 30px;
}

.urh-panel--calendar {
	border-top: 0;
	min-height: 340px;
	padding: 6px 0 20px;
}

.urh-panel--restaurant {
	border-top: 0;
	min-height: 320px;
	padding: 18px var(--urh-shell-pad) 24px;
}

.urh-restaurant-slot {
	min-height: 220px;
}

.urh-widget.is-restaurant-view .urh-booking-bar,
.urh-widget.is-restaurant-view .urh-hotels-panel,
.urh-widget.is-restaurant-view .urh-floating-panels,
.urh-widget.is-restaurant-view .urh-no-availability,
.urh-widget.is-restaurant-view .urh-feedback,
.urh-widget.is-restaurant-view .urh-hotel-feedback {
	display: none !important;
}

.urh-calendar-stage {
	align-items: center;
	display: grid;
	gap: 72px;
	grid-template-columns: 34px auto 34px;
	justify-content: center;
	margin: 0 auto;
	max-width: 780px;
}

.urh-calendar-core {
	text-align: center;
}

.urh-panel-label {
	display: none;
}

.urh-calendar-input {
	left: -9999px;
	opacity: 0;
	position: absolute;
}

.flatpickr-calendar.inline {
	background: transparent;
	border: 0;
	box-shadow: none;
	display: inline-block;
	margin: 0 auto;
	opacity: 1;
	visibility: visible;
	width: auto;
}

.flatpickr-calendar,
.flatpickr-calendar * {
	font-family: inherit;
}

.flatpickr-calendar.inline .flatpickr-prev-month,
.flatpickr-calendar.inline .flatpickr-next-month {
	display: none;
	font-size: 0;
	line-height: 0;
}

.urh-widget .flatpickr-calendar.inline .flatpickr-prev-month svg,
.urh-widget .flatpickr-calendar.inline .flatpickr-next-month svg {
	display: none !important;
}

.urh-widget .flatpickr-calendar.inline .flatpickr-prev-month::before,
.urh-widget .flatpickr-calendar.inline .flatpickr-next-month::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	content: "";
	display: block;
	height: 24px;
	pointer-events: none;
	width: 24px;
}

.urh-widget .flatpickr-calendar.inline .flatpickr-prev-month::before {
	background-image: var(--urh-arrow-left-icon);
}

.urh-widget .flatpickr-calendar.inline .flatpickr-next-month::before {
	background-image: var(--urh-arrow-right-icon);
}

.flatpickr-calendar.inline .flatpickr-months .flatpickr-month {
	height: 44px;
}

.flatpickr-calendar.inline .flatpickr-months {
	margin-bottom: 16px;
}

.flatpickr-calendar.inline .flatpickr-current-month {
	font-family: var(--urh-body-font);
	font-size: var(--urh-calendar-month-size);
	font-weight: var(--urh-medium-weight);
	letter-spacing: 0;
	left: 0;
	line-height: var(--urh-calendar-month-line);
	padding-top: 0;
	width: 100%;
}

.flatpickr-calendar.inline .flatpickr-current-month .numInputWrapper {
	display: none !important;
}

.flatpickr-calendar.inline .flatpickr-current-month .cur-month {
	font-weight: var(--urh-medium-weight);
	margin-left: 0;
}

.flatpickr-calendar.inline .flatpickr-days {
	display: grid;
	gap: var(--urh-calendar-gap);
	grid-template-columns: var(--urh-calendar-month-col) var(--urh-calendar-month-col);
	overflow: visible;
	width: auto;
}

.flatpickr-calendar.inline .flatpickr-weekdays {
	display: grid;
	gap: var(--urh-calendar-gap);
	grid-template-columns: var(--urh-calendar-month-col) var(--urh-calendar-month-col);
	width: auto;
}

.flatpickr-calendar.inline .flatpickr-innerContainer {
	overflow: visible;
}

.flatpickr-calendar.inline .flatpickr-rContainer {
	width: auto;
}

.flatpickr-calendar.inline .dayContainer,
.flatpickr-calendar.inline .flatpickr-weekdaycontainer {
	flex: 0 0 auto;
	max-width: none;
	min-width: 0;
	width: auto;
}

.flatpickr-calendar.inline .dayContainer {
	display: grid;
	grid-template-columns: repeat(7, var(--urh-calendar-cell-size));
	justify-content: start;
	padding-top: 0;
}

.flatpickr-calendar.inline .flatpickr-weekdaycontainer {
	display: grid;
	grid-template-columns: repeat(7, var(--urh-calendar-cell-size));
}

.flatpickr-calendar.inline .dayContainer + .dayContainer {
	box-shadow: none;
}

.flatpickr-calendar .flatpickr-day {
	border-radius: 0;
	font-family: var(--urh-body-font);
	font-size: var(--urh-calendar-day-size);
	font-weight: var(--urh-type-body-xs-weight);
	height: var(--urh-calendar-cell-size);
	line-height: var(--urh-calendar-cell-size);
	letter-spacing: var(--urh-type-body-xs-track);
	flex-basis: var(--urh-calendar-cell-size);
	max-width: var(--urh-calendar-cell-size);
	min-width: var(--urh-calendar-cell-size);
	width: var(--urh-calendar-cell-size);
}

.flatpickr-calendar .flatpickr-weekday {
	align-items: center;
	display: inline-flex;
	font-family: var(--urh-body-font);
	font-size: var(--urh-calendar-day-size);
	font-weight: var(--urh-type-body-xs-weight);
	height: var(--urh-calendar-cell-size);
	justify-content: center;
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-calendar-day-line);
	width: var(--urh-calendar-cell-size);
}

@media (min-width: 1025px) {
	.urh-widget .flatpickr-calendar.inline {
		width: auto !important;
	}

	.urh-widget .flatpickr-calendar.inline .flatpickr-innerContainer,
	.urh-widget .flatpickr-calendar.inline .flatpickr-rContainer,
	.urh-widget .flatpickr-calendar.inline .flatpickr-months {
		min-width: 0 !important;
		width: auto !important;
	}

	.urh-widget .flatpickr-calendar.inline .flatpickr-months {
		display: grid !important;
		grid-template-columns: var(--urh-calendar-month-col) var(--urh-calendar-month-col) !important;
		gap: var(--urh-calendar-gap) !important;
		justify-content: start !important;
	}

	.urh-widget .flatpickr-calendar.inline .flatpickr-months .flatpickr-month {
		max-width: var(--urh-calendar-month-col) !important;
		width: var(--urh-calendar-month-col) !important;
	}

	/* Lock Flatpickr internal geometry to plugin values (avoid theme/global overrides). */
	.urh-widget .flatpickr-calendar.inline .flatpickr-days,
	.urh-widget .flatpickr-calendar.inline .flatpickr-weekdays {
		display: grid !important;
		grid-template-columns: var(--urh-calendar-month-col) var(--urh-calendar-month-col) !important;
		gap: var(--urh-calendar-gap) !important;
		justify-content: start !important;
		width: auto !important;
	}

	.urh-widget .flatpickr-calendar.inline .dayContainer,
	.urh-widget .flatpickr-calendar.inline .flatpickr-weekdaycontainer {
		display: grid !important;
		grid-template-columns: repeat(7, var(--urh-calendar-cell-size)) !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.urh-widget .flatpickr-calendar .flatpickr-day,
	.urh-widget .flatpickr-calendar .flatpickr-weekday {
		width: var(--urh-calendar-cell-size) !important;
		min-width: var(--urh-calendar-cell-size) !important;
		max-width: var(--urh-calendar-cell-size) !important;
	}

	.urh-widget .flatpickr-calendar .flatpickr-day.hidden {
		display: inline-block !important;
		visibility: hidden !important;
	}
}

.urh-widget .flatpickr-calendar .flatpickr-day.inRange,
.urh-widget .flatpickr-calendar .flatpickr-day.prevMonthDay.inRange,
.urh-widget .flatpickr-calendar .flatpickr-day.nextMonthDay.inRange {
	background: var(--urh-calendar-range-bg);
	border-color: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--urh-black);
}

.urh-widget .flatpickr-calendar .flatpickr-day.selected,
.urh-widget .flatpickr-calendar .flatpickr-day.startRange,
.urh-widget .flatpickr-calendar .flatpickr-day.endRange,
.urh-widget .flatpickr-calendar .flatpickr-day.selected.inRange,
.urh-widget .flatpickr-calendar .flatpickr-day.startRange.inRange,
.urh-widget .flatpickr-calendar .flatpickr-day.endRange.inRange,
.urh-widget .flatpickr-calendar .flatpickr-day.selected:hover,
.urh-widget .flatpickr-calendar .flatpickr-day.startRange:hover,
.urh-widget .flatpickr-calendar .flatpickr-day.endRange:hover,
.urh-widget .flatpickr-calendar .flatpickr-day.selected:focus,
.urh-widget .flatpickr-calendar .flatpickr-day.startRange:focus,
.urh-widget .flatpickr-calendar .flatpickr-day.endRange:focus {
	background: var(--urh-calendar-selected-bg);
	border-color: var(--urh-calendar-selected-bg);
	border-radius: 0;
	box-shadow: none;
	color: var(--urh-calendar-selected-text);
}

.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover,
.flatpickr-calendar .flatpickr-day.prevMonthDay.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.nextMonthDay.flatpickr-disabled {
	color: var(--urh-button-disabled-bg);
	cursor: not-allowed;
	opacity: 1;
}

.urh-nav-circle {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--urh-black);
	cursor: pointer;
	display: inline-flex;
	font-size: 0;
	height: 24px;
	line-height: 1;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 0;
	text-indent: 0;
	white-space: nowrap;
	width: 24px;
}

.urh-nav-circle__icon {
	align-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	display: inline-flex;
	height: 24px;
	justify-content: center;
	pointer-events: none;
	width: 24px;
}

.urh-nav-circle[data-urh-calendar-prev] .urh-nav-circle__icon {
	background-image: var(--urh-arrow-left-icon);
}

.urh-nav-circle[data-urh-calendar-next] .urh-nav-circle__icon {
	background-image: var(--urh-arrow-right-icon);
}

.urh-panel--guests .urh-rooms-list {
	margin: 0 auto;
	max-width: 720px;
}

.urh-room {
	border-bottom: 1px solid var(--urh-room-divider);
	padding: 0 0 16px;
}

.urh-room + .urh-room {
	padding-top: 16px;
}

.urh-room.is-collapsed {
	padding-bottom: 16px;
}

.urh-room-header {
	align-items: center;
	column-gap: 12px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 16px;
}

.urh-room.is-collapsed .urh-room-header {
	margin-bottom: 0;
}

.urh-room-header strong {
	font-family: var(--urh-heading-font);
	font-size: var(--urh-room-title-size);
	font-weight: var(--urh-medium-weight);
	letter-spacing: 0;
	line-height: var(--urh-room-title-line);
}

.urh-room-tools {
	align-items: center;
	display: inline-grid;
	gap: 16px;
	height: 44px;
	grid-auto-columns: max-content;
	grid-auto-flow: column;
	justify-self: end;
	margin-left: auto;
	width: max-content;
}

.urh-room-tools > * {
	margin: 0 !important;
}

.urh-widget .urh-icon-btn {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	background-color: transparent;
	border: 0;
	box-sizing: border-box;
	color: var(--urh-line);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	font-size: 0;
	height: 24px;
	line-height: 0;
	margin: 0;
	max-height: 24px;
	max-width: 24px;
	min-height: 24px;
	min-width: 24px;
	padding: 0;
	text-indent: 0;
	white-space: nowrap;
	width: 24px;
}

.urh-widget .urh-icon-btn__icon {
	background-image: url("../images/Trash.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: block;
	height: 100%;
	pointer-events: none;
	width: 100%;
}

.urh-widget .urh-icon-btn[disabled] {
	cursor: default;
	opacity: 0.35;
}

.urh-widget .urh-caret-btn {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: var(--urh-line);
	cursor: pointer;
	display: inline-flex;
	font-size: 24px;
	height: 24px;
	justify-content: center;
	line-height: 1;
	margin: 0 !important;
	max-height: 24px;
	max-width: 24px;
	min-height: 24px;
	min-width: 24px;
	padding: 0;
	width: 24px;
}

.urh-caret-btn span {
	align-items: center;
	display: inline-flex;
	height: 1em;
	justify-content: center;
	transform: rotate(0deg);
	transform-origin: 50% 50%;
	width: 1em;
}

.urh-caret-btn.is-collapsed span {
	transform: rotate(180deg);
}

.urh-room.is-collapsed .urh-room-body {
	display: none;
}

.urh-counter-row {
	align-items: center;
	display: flex;
	font-size: var(--urh-counter-row-size);
	justify-content: space-between;
	line-height: var(--urh-type-body-xs-line);
	margin-top: 16px;
}

.urh-counter-row + .urh-counter-row {
	margin-top: 16px;
}

.urh-counter {
	align-items: center;
	column-gap: var(--urh-space-2xs);
	display: inline-grid;
	grid-auto-columns: max-content;
	grid-auto-flow: column;
	gap: 4px;
	justify-content: start;
	min-width: 0;
	width: max-content;
}

.urh-counter > * {
	flex: none;
	margin: 0;
}

.urh-counter > span {
	display: inline-block;
	font-size: var(--urh-counter-row-size);
	line-height: var(--urh-type-body-xs-line);
	min-width: 1ch;
	text-align: center;
}

.urh-counter button {
	-webkit-appearance: none;
	appearance: none;
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: transparent;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--urh-body-font);
	font-size: 0;
	font-weight: var(--urh-regular-weight);
	height: 44px;
	justify-content: center;
	line-height: 0;
	max-height: 44px;
	max-width: 44px;
	min-height: 44px;
	min-width: 44px;
	padding: 0;
	text-indent: 0;
	white-space: nowrap;
	width: 44px;
}

.urh-counter button::before {
	align-items: center;
	border: 1px solid var(--urh-control-ring);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--urh-control-ring);
	content: "";
	display: inline-flex;
	font-family: var(--urh-body-font);
	font-size: 16px;
	font-weight: var(--urh-regular-weight);
	height: 24px;
	justify-content: center;
	line-height: 1;
	width: 24px;
}

.urh-counter button[data-delta="-1"]::before {
	content: "-";
}

.urh-counter button[data-delta="1"]::before {
	content: "+";
}

.urh-ages-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 12px;
}

.urh-age-label {
	display: grid;
	font-size: 16px;
	gap: 4px;
}

.urh-age-label select {
	background: var(--base);
	border: 1px solid color-mix(in srgb, var(--urh-black) 30%, transparent);
	color: var(--urh-black);
	font-family: var(--urh-body-font);
	min-height: 38px;
	padding: 6px 10px;
}

.urh-guests-actions {
	display: flex;
	justify-content: flex-start;
	margin: 16px auto 0;
	max-width: 720px;
}

.urh-widget .urh-link-btn,
.urh-widget .urh-link-btn.btn-secondary {
	appearance: none;
	background: transparent;
	border: 1px solid #302727;
	border-color: #302727;
	color: var(--urh-black);
	font-family: var(--urh-body-font);
	font-size: var(--urh-add-room-btn-size);
	font-weight: var(--urh-medium-weight);
	letter-spacing: var(--urh-type-body-xs-track);
	line-height: var(--urh-type-body-xs-line);
	justify-content: center;
	min-height: 44px;
	padding: 10px 24px;
	text-align: center;
	width: min(100%, 320px);
}

.urh-widget .urh-link-btn.btn-secondary::after {
	content: none;
}

.urh-visually-hidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.urh-primary-btn {
	display: none;
}

.urh-feedback {
	font-size: clamp(16px, 0.95vw, 18px);
	margin: 12px 24px 0;
	min-height: 24px;
}

.urh-no-availability {
	align-items: start;
	column-gap: 72px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr);
	margin: 24px auto 28px;
	max-width: 1120px;
	padding: 30px var(--urh-shell-pad) 24px;
}

.urh-no-availability[hidden] {
	display: none !important;
}

.urh-no-availability__lead {
	font-family: var(--urh-heading-font);
	font-size: clamp(36px, 2.4vw, 48px);
	font-weight: var(--urh-regular-weight);
	line-height: 1.16;
	margin: 0;
}

.urh-no-availability__detail {
	max-width: 650px;
}

.urh-no-availability__text {
	font-family: var(--urh-body-font);
	font-size: clamp(18px, 1.2vw, 34px);
	line-height: 1.35;
	margin: 0;
}

.urh-no-availability__retry,
.urh-no-availability__retry.btn-link {
	align-self: flex-start;
	background: transparent;
	border: 0;
	color: var(--urh-black);
	cursor: pointer;
	display: inline-block;
	font-family: var(--urh-body-font);
	font-size: clamp(16px, 1vw, 24px);
	font-weight: var(--urh-medium-weight);
	line-height: 1.2;
	margin-top: 14px;
	padding: 0;
	text-align: left;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	width: fit-content;
}

.urh-no-availability__retry.btn-link:hover,
.urh-no-availability__retry.btn-link:focus {
	border-bottom: 0;
	text-decoration: underline;
}

.urh-no-availability__retry--rooms {
	display: block;
	margin-top: 10px;
	width: fit-content;
}

.urh-panel--guests .urh-no-availability--inline {
	display: block;
	margin: 0 auto clamp(28px, 2vw, 42px);
	max-width: 760px;
	padding: 0;
	width: min(100%, 760px);
}

.urh-panel--guests .urh-no-availability--inline .urh-no-availability__inline-text {
	color: var(--urh-black);
	font-family: var(--urh-heading-font);
	font-size: 20px;
	font-weight: var(--urh-regular-weight);
	line-height: 1.2;
	margin: 0;
}

.urh-widget.is-no-availability-visible .urh-floating-panels {
	display: none !important;
}

.urh-hotel-feedback {
	display: none;
	margin: 2px 0 8px;
	min-height: 0;
}

.urh-hotel-feedback.is-error {
	color: var(--urh-error);
}

.urh-feedback.is-error {
	color: var(--urh-error);
}

.urh-empty {
	margin: 16px 24px;
}

@container urh-widget-shell (max-width: 1024px) {
	.urh-tabs {
		gap: 20px;
		padding-right: 14px;
		padding-left: 14px;
	}

	.urh-tab {
		font-size: var(--urh-tab-size);
	}

		.urh-widget .urh-close-link {
			font-size: var(--urh-field-size);
			right: 14px;
		}

	.urh-booking-bar {
		gap: 12px;
		grid-template-columns: 1fr 1fr;
		padding-right: 14px;
		padding-left: 14px;
	}

	.urh-field {
		font-size: var(--urh-field-size);
		min-height: 44px;
	}

	.urh-book-btn {
		font-size: var(--urh-book-btn-size);
		grid-column: 1 / -1;
		height: 56px;
	}

	.urh-hotels-panel,
	.urh-restaurants-panel,
	.urh-panel {
		position: static;
		transform: none;
		width: 100%;
	}

	.urh-panel--restaurant {
		order: 4;
		padding-left: 14px;
		padding-right: 14px;
	}

	.urh-hotels-panel,
	.urh-restaurants-panel {
		gap: 12px;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		left: auto;
		padding: 12px;
		right: auto;
		transform: none;
		width: 100%;
	}

		.urh-restaurants-actions {
			align-items: stretch;
			flex-direction: column;
			gap: 10px;
			grid-column: 1;
			grid-row: 1;
			justify-content: stretch;
			padding: 0;
		}

		.urh-restaurants-hotel-indicator {
			width: 100%;
		}

	.urh-restaurant-discover-btn {
		max-width: none;
		width: 100%;
	}

	.urh-hotels-list-wrap {
		border-right: 0;
		padding-right: 0;
	}

	.urh-widget--context-global .urh-hotels-list-wrap::before {
		display: none;
	}

	.urh-hotels-list {
		max-height: 240px;
	}

	.urh-hotels-viewer {
		display: none;
	}

	.urh-hotels-panel > .urh-book-btn.is-in-hotels-panel {
		grid-column: 1 / -1;
		margin-top: 12px;
	}

	.urh-calendar-stage {
		gap: 10px;
		grid-template-columns: 34px 1fr 34px;
		padding: 0 12px;
	}

	.flatpickr-calendar.inline .flatpickr-current-month {
		font-size: 28px;
	}

	.flatpickr-calendar .flatpickr-day {
		font-size: 16px;
		height: 36px;
		line-height: 36px;
		max-width: 36px;
	}

	.flatpickr-calendar .flatpickr-weekday {
		font-size: 13px;
	}

	.flatpickr-calendar.inline {
		width: 100%;
	}

	.urh-room-header strong {
		font-size: var(--urh-room-title-size-md);
	}

	.urh-counter-row {
		font-size: var(--urh-counter-row-size-md);
	}

	.urh-link-btn {
		font-size: var(--urh-add-room-btn-size-md);
	}

	.urh-no-availability {
		column-gap: 42px;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
		margin-top: 14px;
		padding-right: 14px;
		padding-left: 14px;
	}

	.urh-no-availability__lead {
		font-size: clamp(28px, 3.2vw, 40px);
	}

	.urh-no-availability__text {
		font-size: clamp(17px, 1.55vw, 24px);
	}
}

@container urh-widget-shell (max-width: 767px) {
	.urh-widget {
		display: flex;
		flex-direction: column;
		padding-bottom: 56px;
		position: relative;
	}

	.urh-no-availability {
		column-gap: 16px;
		grid-template-columns: 1fr;
		margin: 8px 0 12px;
		max-width: none;
		padding: 8px 16px 16px;
		row-gap: 18px;
	}

	.urh-no-availability__lead {
		font-size: clamp(30px, 7.4vw, 40px);
	}

	.urh-no-availability__text {
		font-size: clamp(18px, 4.5vw, 24px);
	}

	.urh-tabs {
		display: grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		order: 2;
		padding: 0 16px 0;
	}

	.urh-tab {
		text-align: center;
		width: 100%;
	}

	.urh-top-row {
		display: none;
		height: 0;
	}

	.urh-widget.is-overlay-open .urh-top-row {
		box-sizing: border-box;
		align-items: center;
		display: flex !important;
		justify-content: flex-end;
		width: 100%;
		order: 1;
		padding: 18px 16px 8px;
		margin-bottom: 25px;
	}

		.urh-top-row .urh-close-link {
		appearance: none;
		box-sizing: border-box;
		display: inline-flex !important;
		align-items: center;
			font-size: var(--urh-field-size);
		height: auto !important;
			line-height: var(--urh-type-body-xs-line);
		margin: 0 !important;
		margin-left: auto !important;
		padding: 0;
		position: static !important;
		left: auto !important;
		right: auto;
		text-align: right;
		top: auto;
		transform: none;
		width: auto;
		white-space: nowrap;
		flex-shrink: 0;
	}

	.urh-widget .urh-close-link[hidden] {
		display: none !important;
	}

	.urh-booking-bar {
		gap: 8px;
		grid-template-columns: 1fr;
		order: 3;
		padding: 8px 16px 0;
	}

	.urh-hotel-feedback:not([hidden]) {
		display: block;
		font-size: 14px;
		line-height: 1.35;
		margin: 6px 0 12px;
	}

	.urh-panel--calendar {
		padding: 4px 0 16px;
	}

	.urh-panel--guests {
		box-sizing: border-box;
		padding: 10px 16px 20px;
		width: 100%;
	}

	.urh-panel--restaurant {
		box-sizing: border-box;
		padding: 10px 16px 20px;
		width: 100%;
	}

	.urh-panel--guests .urh-rooms-list,
	.urh-panel--guests .urh-guests-actions {
		margin-left: 0;
		margin-right: 0;
		max-width: none;
	}

		.urh-calendar-stage {
			align-items: start;
			gap: 8px;
			grid-template-columns: 34px minmax(0, 1fr) 34px;
			grid-template-rows: auto;
			padding: 0 12px;
		}

		.urh-calendar-core {
			grid-column: 2;
			grid-row: 1;
			min-width: 0;
		}

	.urh-nav-circle {
		align-self: center;
		font-size: 19px;
		height: 24px;
		margin-top: 0;
		width: 24px;
	}

			.urh-calendar-stage [data-urh-calendar-prev] {
				grid-column: 1;
				grid-row: 1;
				align-self: start;
				justify-self: start;
				margin-top: 14px;
			}

			.urh-calendar-stage [data-urh-calendar-next] {
				grid-column: 3;
				grid-row: 1;
				align-self: start;
				justify-self: end;
				margin-top: 14px;
			}

		.flatpickr-calendar.inline .flatpickr-months {
			margin-top: 10px;
			margin-bottom: 20px;
		}

	.flatpickr-calendar.inline .flatpickr-months .flatpickr-month {
		height: 36px;
	}

	.flatpickr-calendar.inline .flatpickr-current-month {
		font-size: clamp(34px, 9vw, 42px);
	}

	.flatpickr-calendar.inline .flatpickr-days,
	.flatpickr-calendar.inline .flatpickr-weekdays {
		display: block;
		gap: 0;
		width: 100%;
	}

	.flatpickr-calendar.inline .flatpickr-innerContainer,
	.flatpickr-calendar.inline .flatpickr-rContainer,
	.flatpickr-calendar.inline .dayContainer,
	.flatpickr-calendar.inline .flatpickr-weekdaycontainer {
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.flatpickr-calendar.inline .dayContainer,
	.flatpickr-calendar.inline .flatpickr-weekdaycontainer {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		justify-content: stretch;
	}

	.flatpickr-calendar .flatpickr-day,
	.flatpickr-calendar .flatpickr-weekday {
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.urh-room-header strong {
		font-size: var(--urh-room-title-size-sm);
	}

	.urh-counter-row {
		font-size: var(--urh-counter-row-size-sm);
	}

	.urh-link-btn {
		font-size: var(--urh-add-room-btn-size-sm);
	}

	.urh-hotels-panel,
	.urh-floating-panels {
		order: 4;
	}

	.urh-book-btn {
		bottom: 0;
		font-size: var(--urh-book-btn-size);
		grid-column: auto;
		height: 42px;
		left: 0;
		margin: 0;
		position: static;
		right: 0;
		width: 100%;
	}

	.urh-widget--context-global {
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		max-width: 360px;
		overflow-x: hidden;
		padding: 10px 0;
	}

	.urh-widget--context-global.is-hotels-open,
	.urh-widget--context-global.is-overlay-open {
		background: var(--urh-soft);
		height: calc(100dvh - var(--urh-admin-bar-offset, 0px));
		inset: var(--urh-admin-bar-offset, 0px) 0 0 0;
		margin: 0;
		max-height: calc(100dvh - var(--urh-admin-bar-offset, 0px));
		max-width: none;
		overflow: hidden;
		position: fixed;
		width: 100vw;
		z-index: 1500;
	}

	body.admin-bar .urh-widget--context-global.is-hotels-open,
	body.admin-bar .urh-widget--context-global.is-overlay-open {
		--urh-admin-bar-offset: 32px;
	}

	@media (max-width: 782px) {
		body.admin-bar .urh-widget--context-global.is-hotels-open,
		body.admin-bar .urh-widget--context-global.is-overlay-open {
			--urh-admin-bar-offset: 46px;
		}
	}

	.urh-widget--context-global.is-hotels-open .urh-top-row,
	.urh-widget--context-global.is-hotels-open .urh-tabs,
	.urh-widget--context-global.is-hotels-open .urh-booking-bar,
	.urh-widget--context-global.is-overlay-open .urh-top-row,
	.urh-widget--context-global.is-overlay-open .urh-tabs,
	.urh-widget--context-global.is-overlay-open .urh-booking-bar {
		flex: 0 0 auto;
	}

	.urh-widget--context-global .urh-tabs {
		order: 2;
		padding-top: 16px;
	}

		.urh-widget--context-global .urh-tab {
			font-size: var(--urh-tab-size);
			padding-bottom: 10px;
			text-align: center;
			width: 100%;
		}

	.urh-widget--context-global .urh-booking-bar {
		gap: 8px;
		grid-template-columns: 1fr;
		order: 3;
		padding: 8px 16px 0;
	}

	.urh-widget--context-global.is-no-availability-visible .urh-field--hotel {
		order: 1;
	}

	.urh-widget--context-global.is-no-availability-visible .urh-field--guests {
		order: 2;
	}

	.urh-widget--context-global.is-no-availability-visible .urh-field--dates {
		order: 3;
	}

	.urh-widget--context-global.is-no-availability-visible .urh-book-btn {
		order: 4;
	}

	.urh-widget--context-global .urh-feedback {
		order: 5;
		margin: 10px 16px 0;
	}

	.urh-widget--context-global .urh-no-availability {
		column-gap: 18px;
		grid-template-columns: 1fr;
		margin: 8px 0 0;
		max-width: none;
		order: 5;
		padding: 6px 16px 18px;
		row-gap: 18px;
	}

	.urh-widget--context-global .urh-no-availability__lead {
		font-size: clamp(30px, 7.4vw, 40px);
	}

	.urh-widget--context-global .urh-no-availability__text {
		font-size: clamp(18px, 4.5vw, 24px);
	}

	.urh-widget--context-global .urh-field {
		font-size: 16px;
		min-height: 52px;
	}

	.urh-widget--context-global .urh-hotels-panel {
		background: var(--urh-soft);
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		left: auto;
		max-height: none;
		min-height: 0;
		order: 4;
		padding: 8px 16px 0;
		position: static;
		right: auto;
		top: auto;
		transform: none;
		width: 100%;
		overflow: hidden;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-panel,
	.urh-widget--context-global.is-overlay-open .urh-hotels-panel {
		position: relative;
		padding-bottom: calc(64px + env(safe-area-inset-bottom));
		z-index: 1;
	}

	.urh-widget--context-global .urh-floating-panels {
		order: 4;
	}

	.urh-widget--context-global.is-overlay-open .urh-floating-panels {
		display: flex;
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
		width: 100%;
	}

	.urh-widget--context-global .urh-hotels-list-wrap {
		border-right: 0;
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		height: 100%;
		min-height: 0;
		overflow: hidden;
		padding: 8px 0 0;
		position: relative;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-list-wrap::after,
	.urh-widget--context-global.is-overlay-open .urh-hotels-list-wrap::after {
		background: linear-gradient(
			to bottom,
			color-mix(in srgb, var(--urh-soft) 0%, transparent) 0%,
			color-mix(in srgb, var(--urh-soft) 88%, transparent) 68%,
			var(--urh-soft) 100%
		);
		bottom: 0;
		content: "";
		height: 72px;
		left: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		transition: opacity 0.2s ease;
		z-index: 2;
	}

	.urh-widget--context-global .urh-hotels-list-wrap.is-fade-hidden::after {
		opacity: 0;
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests {
		box-sizing: border-box;
		flex: 1 1 auto;
		height: 100%;
		max-height: 100%;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding-bottom: calc(88px + env(safe-area-inset-bottom));
		-webkit-overflow-scrolling: touch;
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests .urh-rooms-list {
		overflow: visible;
		padding-right: 0;
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests .urh-guests-actions {
		justify-content: center;
		margin: 16px auto 0;
		width: 85%;
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests .urh-link-btn {
		text-align: center;
		width: 100%;
	}

	.urh-widget--context-global .urh-hotels-list {
		flex: 1 1 auto;
		height: 100%;
		max-height: 100%;
		overflow-x: hidden;
		overflow-y: scroll;
		overscroll-behavior: contain;
		padding-right: calc(var(--urh-hotels-scrollbar-size) + 2px);
		scrollbar-gutter: auto;
		-webkit-overflow-scrolling: touch;
	}

	.urh-widget--context-global .urh-hotels-viewer {
		display: none;
	}

	.urh-widget--context-global .urh-hotel-option {
		padding: 10px 0 14px;
	}

		.urh-widget--context-global .urh-hotel-option__name {
			font-size: var(--urh-type-title-md-size);
			line-height: var(--urh-type-title-md-line);
		}

		.urh-widget--context-global .urh-hotel-option__city {
			font-size: var(--urh-type-body-xs-size);
			line-height: var(--urh-type-body-xs-line);
		}

.urh-widget--context-global.is-hotels-open .urh-book-btn,
.urh-widget--context-global.is-overlay-open .urh-book-btn {
		font-size: 16px;
		height: 48px;
		left: 0;
		margin-top: 0;
		position: fixed;
		right: 0;
		bottom: env(safe-area-inset-bottom);
		transform: none;
		width: 100vw;
		z-index: 2000;
	}
}

/* Theme spacing bridge: all layout spacing comes from theme spacing tokens. */
.urh-widget {
	padding: var(--urh-space-2xs) 0 0;
}

.urh-tabs {
	gap: var(--urh-space-sm);
	padding: var(--urh-space-2xs) var(--urh-shell-pad) 0;
}

.urh-tab {
	padding: 0 0 var(--urh-space-2xs);
}

.urh-booking-bar {
	gap: var(--urh-space-xs);
	padding: var(--urh-space-2xs) var(--urh-shell-pad) var(--urh-space-2xs);
}

.urh-field {
	gap: var(--urh-space-2xs);
}

.urh-book-btn,
.urh-book-btn.btn {
	padding: var(--button-padding);
}

.urh-hotels-panel {
	padding: var(--urh-space-xs) calc(var(--urh-shell-pad) * 2) var(--urh-space-sm);
}

.urh-hotels-list-wrap {
	padding: var(--urh-space-fluid-s) 0 var(--urh-space-2xs);
}

.urh-hotel-option {
	gap: var(--urh-space-2xs);
	padding: var(--urh-space-2xs) 0 var(--urh-space-xs);
}

.urh-panel {
	padding: var(--urh-space-xs) 0 var(--urh-space-fluid-s);
}

.urh-panel--calendar {
	padding: var(--urh-space-2xs) 0 var(--urh-space-sm);
}

.urh-panel--restaurant {
	padding: var(--urh-space-xs) var(--urh-shell-pad) var(--urh-space-sm);
}

.urh-calendar-stage {
	gap: var(--urh-space-fluid-m);
}

.flatpickr-calendar.inline .flatpickr-months {
	margin-bottom: var(--urh-space-xs);
}

.flatpickr-calendar.inline .flatpickr-days,
.flatpickr-calendar.inline .flatpickr-weekdays {
	gap: var(--urh-space-fluid-m);
}

.urh-room {
	padding: var(--urh-space-2xs) 0 var(--urh-space-sm);
}

.urh-room + .urh-room {
	padding-top: var(--urh-space-sm);
}

.urh-room.is-collapsed {
	padding-bottom: var(--urh-space-sm);
}

.urh-room-header {
	margin-bottom: var(--urh-space-2xs);
}

.urh-room-tools {
	gap: var(--urh-space-2xs);
}

.urh-counter-row {
	margin-top: var(--urh-space-xs);
}

.urh-counter-row + .urh-counter-row {
	margin-top: var(--urh-space-sm);
}

.urh-counter {
	gap: var(--urh-space-2xs);
}

.urh-ages-grid {
	gap: var(--urh-space-2xs);
	margin-top: var(--urh-space-xs);
}

.urh-age-label {
	gap: calc(var(--urh-space-2xs) / 2);
}

.urh-age-label select {
	padding: calc(var(--urh-space-2xs) - 2px) var(--urh-space-2xs);
}

.urh-guests-actions {
	margin: var(--urh-space-xs) auto 0;
}

.urh-link-btn,
.urh-link-btn.btn-secondary {
	padding: var(--urh-space-2xs) var(--urh-space-sm);
}

.urh-feedback {
	margin: var(--urh-space-xs) var(--urh-space-sm) 0;
}

.urh-no-availability {
	column-gap: var(--urh-space-fluid-l);
	margin: var(--urh-space-sm) auto calc(var(--urh-space-sm) + var(--urh-space-2xs));
	padding: var(--urh-space-fluid-s) var(--urh-shell-pad) var(--urh-space-sm);
}

.urh-no-availability__retry {
	margin-top: var(--urh-space-2xs);
}

.urh-no-availability__retry--rooms {
	margin-top: calc(var(--urh-space-2xs) + 2px);
}

.urh-hotel-feedback {
	margin: 0 0 var(--urh-space-2xs);
}

.urh-empty {
	margin: var(--urh-space-xs) var(--urh-space-sm);
}

@media (min-width: 1025px) {
	body.admin-bar .urh-widget {
		--urh-admin-bar-offset: 32px;
	}

	.urh-widget {
		--urh-expanded-panel-min-height: 520px;
		--urh-open-top: var(--urh-admin-bar-offset, 0px);
		--urh-open-header-height: 120px;
		box-sizing: border-box;
		left: 50%;
		margin: 0;
		max-width: var(--urh-floating-max-width);
		position: fixed;
		right: auto;
		top: var(--urh-open-top);
		bottom: auto;
		transform: translate(
			-50%,
			calc(100dvh - var(--urh-floating-bottom-gap) - var(--urh-open-top) - 100%)
		);
		transition: transform 0.34s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.24s ease;
		width: min(calc(100vw - (2 * var(--urh-floating-side-gap))), var(--urh-floating-max-width));
		z-index: 1300;
	}

	.urh-widget.is-restaurant-view.is-overlay-open,
	.urh-widget.is-restaurant-view.is-hotels-open {
		--urh-expanded-panel-min-height: 640px;
	}

	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) {
		background: transparent;
		padding-top: 0;
	}

	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) {
		padding-top: 0;
	}

	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tabs {
		padding: 0;
	}

	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-booking-bar {
		align-items: stretch;
		gap: 0;
		min-height: 64px;
		padding: 0;
	}

	.urh-widget .urh-panel--restaurant {
		padding: 0;
	}

	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-field {
		min-height: 64px;
		padding: 0 var(--urh-shell-pad);
	}

	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-book-btn,
	.urh-widget.urh-widget--context-global:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-book-btn.btn {
		height: 100%;
		min-height: 64px;
	}

	.urh-tabs {
		background: var(--urh-soft);
		display: inline-grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		padding: 0;
		width: max-content;
	}

	.urh-booking-bar {
		background: var(--urh-soft);
	}

	.urh-tab {
		border: 0;
		min-width: 180px;
		padding: 10px 18px;
		text-align: center;
	}

	.urh-tab.is-active {
		background: var(--urh-black, #171717);
		color: var(--urh-soft, #f4f4ed);
	}

	.urh-widget.is-overlay-open,
	.urh-widget.is-hotels-open,
	.urh-widget.is-no-availability-visible,
	.urh-widget.is-desktop-opening,
	.urh-widget.is-desktop-header-only {
		bottom: auto;
		height: auto;
		left: 50%;
		max-width: none;
		min-height: 0;
		padding-bottom: 20px;
		padding-top: 0;
		right: auto;
		top: var(--urh-open-top);
		transform: translate(-50%, 0);
		width: 100vw;
		z-index: 1500;
	}

	.urh-widget.is-desktop-pre-open .urh-top-row,
	.urh-widget.is-desktop-pre-open .urh-tabs,
	.urh-widget.is-desktop-pre-open .urh-booking-bar {
		animation: urh-desktop-bar-exit-down 0.52s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
	}

	.urh-widget.is-desktop-pre-open {
		pointer-events: none;
	}

	.urh-widget.is-desktop-opening {
		animation: none;
		transition: none;
	}

	.urh-widget.is-desktop-opening .urh-top-row,
	.urh-widget.is-desktop-header-only .urh-top-row,
	.urh-widget.is-desktop-opening .urh-tabs,
	.urh-widget.is-desktop-header-only .urh-tabs {
		background: var(--urh-soft, #f4f4ed);
	}

	.urh-widget.is-desktop-opening .urh-tabs,
	.urh-widget.is-desktop-header-only .urh-tabs {
		display: flex;
		max-width: none;
		width: 100%;
	}

	.urh-widget.is-desktop-opening .urh-top-row,
	.urh-widget.is-desktop-opening .urh-tabs,
	.urh-widget.is-desktop-opening .urh-booking-bar,
	.urh-widget.is-desktop-opening .urh-close-link {
		animation: urh-desktop-sheet-enter 1.3s cubic-bezier(0.22, 0.61, 0.36, 1) both;
	}

	.urh-widget.is-desktop-opening .urh-hotels-panel,
	.urh-widget.is-desktop-opening .urh-panel,
	.urh-widget.is-desktop-opening .urh-no-availability {
		opacity: 0;
		pointer-events: none;
		transform: translateY(24px);
	}

	.urh-widget.is-desktop-header-only .urh-hotels-panel,
	.urh-widget.is-desktop-header-only .urh-panel,
	.urh-widget.is-desktop-header-only .urh-no-availability {
		display: none !important;
	}

	.urh-widget.is-desktop-opening.is-desktop-expanding .urh-hotels-panel,
	.urh-widget.is-desktop-opening.is-desktop-expanding .urh-panel,
	.urh-widget.is-desktop-opening.is-desktop-expanding .urh-no-availability {
		animation: urh-desktop-panel-expand 1.1s cubic-bezier(0.25, 0.8, 0.25, 1) both;
		pointer-events: auto;
	}

	.urh-widget.is-overlay-open .urh-close-link,
	.urh-widget.is-hotels-open .urh-close-link,
	.urh-widget.is-no-availability-visible .urh-close-link {
		align-items: center;
		height: 42px;
		top: 21px;
		transform: translateY(-50%);
	}

	.urh-widget.is-overlay-open .urh-booking-bar,
	.urh-widget.is-hotels-open .urh-booking-bar,
	.urh-widget.is-no-availability-visible .urh-booking-bar {
		align-items: stretch;
		height: 64px;
		min-height: 64px;
		padding-bottom: 0;
		padding-right: 0;
		padding-top: 0;
		position: relative;
		z-index: 1501;
	}

	.urh-widget.is-overlay-open .urh-booking-bar .urh-field,
	.urh-widget.is-hotels-open .urh-booking-bar .urh-field,
	.urh-widget.is-no-availability-visible .urh-booking-bar .urh-field {
		min-height: 64px;
	}

	.urh-widget.is-overlay-open .urh-booking-bar .urh-book-btn,
	.urh-widget.is-overlay-open .urh-booking-bar .urh-book-btn.btn,
	.urh-widget.is-hotels-open .urh-booking-bar .urh-book-btn,
	.urh-widget.is-hotels-open .urh-booking-bar .urh-book-btn.btn,
	.urh-widget.is-no-availability-visible .urh-booking-bar .urh-book-btn,
	.urh-widget.is-no-availability-visible .urh-booking-bar .urh-book-btn.btn {
		height: 100%;
		min-height: 64px;
	}

	.urh-widget.is-overlay-open .urh-hotels-panel,
	.urh-widget.is-overlay-open .urh-panel,
	.urh-widget.is-hotels-open .urh-hotels-panel,
	.urh-widget.is-hotels-open .urh-panel {
		bottom: auto;
		top: 0;
	}

	.urh-widget.is-overlay-open .urh-floating-panels,
	.urh-widget.is-hotels-open .urh-floating-panels,
	.urh-widget.is-no-availability-visible .urh-floating-panels {
		bottom: auto;
		left: auto;
		position: static;
		right: auto;
		top: auto;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar,
	.urh-widget.is-hotels-open .urh-panel--calendar {
		align-items: center;
		display: flex;
		justify-content: center;
		padding: 40px 0;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-stage,
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-stage {
		--urh-calendar-arrow-col: 44px;
		--urh-calendar-core-col: calc((2 * var(--urh-calendar-month-col)) + var(--urh-calendar-gap));
		display: grid;
		column-gap: var(--urh-calendar-gap);
		grid-template-columns: var(--urh-calendar-arrow-col) var(--urh-calendar-core-col) var(--urh-calendar-arrow-col);
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		max-width: 800px;
		padding-inline: 0;
		position: static;
		width: min(100%, 800px);
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-prev],
	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-next],
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-prev],
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-next] {
		position: relative;
		top: auto;
		transform: none;
		z-index: 2;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-prev],
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-prev] {
		grid-column: 1;
		justify-self: center;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-next],
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-next] {
		grid-column: 3;
		justify-self: center;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .urh-calendar-core,
	.urh-widget.is-hotels-open .urh-panel--calendar .urh-calendar-core {
		display: block;
		grid-column: 2;
		min-width: var(--urh-calendar-core-col);
		margin: 0 auto;
		overflow: hidden;
		width: var(--urh-calendar-core-col);
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-innerContainer,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-innerContainer,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-rContainer,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-rContainer {
		max-width: var(--urh-calendar-core-col) !important;
		min-width: var(--urh-calendar-core-col) !important;
		width: var(--urh-calendar-core-col) !important;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdays,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-days,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdays,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-days {
		max-width: var(--urh-calendar-core-col) !important;
		min-width: var(--urh-calendar-core-col) !important;
		width: var(--urh-calendar-core-col) !important;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months .flatpickr-month,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .dayContainer,
	.urh-widget.is-overlay-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdaycontainer,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months .flatpickr-month,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .dayContainer,
	.urh-widget.is-hotels-open .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdaycontainer {
		max-width: var(--urh-calendar-month-col) !important;
		min-width: var(--urh-calendar-month-col) !important;
		width: var(--urh-calendar-month-col) !important;
	}

	.urh-widget.is-overlay-open .urh-panel--guests,
	.urh-widget.is-hotels-open .urh-panel--guests {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		min-height: var(--urh-guests-expanded-height);
		overflow-y: visible;
		overscroll-behavior: auto;
		padding: 40px 0;
	}

	.urh-widget.is-overlay-open .urh-panel--guests .urh-rooms-list,
	.urh-widget.is-overlay-open .urh-panel--guests .urh-guests-actions,
	.urh-widget.is-hotels-open .urh-panel--guests .urh-rooms-list,
	.urh-widget.is-hotels-open .urh-panel--guests .urh-guests-actions {
		margin-left: auto;
		margin-right: auto;
		width: min(100%, 720px);
	}

	.urh-widget.is-overlay-open .urh-panel--guests .urh-no-availability--inline,
	.urh-widget.is-hotels-open .urh-panel--guests .urh-no-availability--inline {
		max-width: 720px;
		width: min(100%, 720px);
	}

	/* Keep the expanded selector centered and with stable full-width layout. */
	.urh-widget .urh-hotels-panel,
	.urh-widget .urh-panel {
		box-sizing: border-box;
		left: 0;
		margin: 0;
		max-width: none;
		min-height: var(--urh-expanded-panel-min-height);
		right: 0;
		transform: none;
		width: 100%;
	}

	.urh-widget--context-global .urh-hotels-panel {
		column-gap: 80px;
		grid-template-columns: 320px minmax(0, 1fr);
	}

	.urh-widget .urh-restaurants-panel {
		column-gap: 80px;
		grid-template-columns: 320px minmax(0, 1fr);
	}

	.urh-widget--context-global .urh-hotels-viewer {
		align-self: center;
		height: auto;
		justify-self: center;
		max-height: none;
		max-width: 1280px;
		width: 100%;
	}

	.urh-widget--context-global .urh-hotels-viewer img {
		height: auto;
		max-height: none;
		max-width: 1280px;
		width: 100%;
	}

	.urh-widget .urh-restaurants-viewer {
		align-self: center;
		height: auto;
		justify-self: center;
		max-height: none;
		max-width: 1280px;
		width: 100%;
	}

	.urh-widget .urh-restaurants-viewer img {
		height: auto;
		max-height: none;
		max-width: 1280px;
		width: 100%;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-panel {
		align-items: stretch;
		grid-template-rows: minmax(0, 1fr);
		height: var(--urh-hotels-expanded-height);
		min-height: var(--urh-hotels-expanded-height);
		overflow: hidden;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-list-wrap {
		height: 100%;
		min-height: 0;
		overflow: hidden;
		padding: 0;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-list {
		height: 100%;
		max-height: 100%;
		overflow-y: auto;
		padding-right: 14px;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-item + .urh-hotels-item {
		margin-top: 32px;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotel-option {
		gap: 0;
		padding: 0;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-viewer {
		align-self: stretch;
		height: 100%;
		max-height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	.urh-widget--context-global.is-hotels-open .urh-hotels-viewer img {
		display: block;
		height: 100%;
		max-height: 100%;
		object-fit: cover;
		width: 100%;
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--calendar {
		height: var(--urh-calendar-expanded-height);
		min-height: var(--urh-calendar-expanded-height);
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests {
		height: auto;
		min-height: var(--urh-guests-expanded-height);
	}

	.urh-widget.is-no-availability-visible .urh-no-availability {
		align-items: stretch;
		background: var(--urh-soft);
		box-sizing: border-box;
		column-gap: var(--urh-space-fluid-l);
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.22fr);
		left: auto;
		margin: 0;
		max-width: none;
		min-height: 0;
		padding: var(--urh-space-fluid-s) var(--urh-shell-pad) var(--urh-space-sm);
		position: static;
		right: auto;
		bottom: auto;
		top: auto;
		width: 100%;
		z-index: 1400;
	}

	.urh-widget.is-no-availability-visible .urh-no-availability__lead {
		align-items: center;
		display: flex;
		font-size: clamp(28px, 2vw, 36px);
		padding-left: 0;
	}

	.urh-widget.is-no-availability-visible .urh-no-availability__detail {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.urh-widget.is-no-availability-visible .urh-no-availability__text {
		font-size: clamp(16px, 1.05vw, 20px);
	}

	.urh-widget .urh-hotels-panel,
	.urh-widget .urh-panel {
		bottom: auto;
		top: calc(100% - 2px);
	}

	.urh-widget.is-overlay-open .urh-hotels-panel,
	.urh-widget.is-overlay-open .urh-panel,
	.urh-widget.is-hotels-open .urh-hotels-panel,
	.urh-widget.is-hotels-open .urh-panel,
	.urh-widget.is-no-availability-visible .urh-no-availability {
		animation: none;
	}

	.urh-widget.is-overlay-open .urh-hotels-panel,
	.urh-widget.is-hotels-open .urh-hotels-panel {
		bottom: auto;
		height: var(--urh-hotels-expanded-height);
		min-height: var(--urh-hotels-expanded-height);
		padding: 80px 32px;
		position: static;
		top: auto;
	}

	.urh-widget.is-overlay-open .urh-panel,
	.urh-widget.is-hotels-open .urh-panel {
		bottom: auto;
		height: var(--urh-expanded-panel-min-height);
		min-height: var(--urh-expanded-panel-min-height);
		padding-block: 80px;
		position: static;
		top: auto;
	}

	.urh-widget.is-overlay-open .urh-panel--calendar,
	.urh-widget.is-hotels-open .urh-panel--calendar {
		height: var(--urh-calendar-expanded-height);
		min-height: var(--urh-calendar-expanded-height);
		padding-block: 40px;
	}

	.urh-widget.is-overlay-open .urh-panel--guests,
	.urh-widget.is-hotels-open .urh-panel--guests {
		height: auto;
		min-height: var(--urh-guests-expanded-height);
		padding-block: 40px;
	}

	.urh-widget.is-no-availability-visible .urh-no-availability {
		height: var(--urh-expanded-panel-min-height);
		min-height: var(--urh-expanded-panel-min-height);
	}

		.urh-widget.is-overlay-open .urh-panel--restaurant,
		.urh-widget.is-hotels-open .urh-panel--restaurant,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant {
			padding-top: 0;
			padding-bottom: 80px;
			top: auto;
		}

		.urh-widget.is-overlay-open .urh-panel--restaurant .urh-restaurants-panel,
		.urh-widget.is-hotels-open .urh-panel--restaurant .urh-restaurants-panel,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant .urh-restaurants-panel {
			column-gap: 80px;
			grid-template-columns: 320px minmax(0, 1fr);
			grid-template-rows: auto minmax(0, 1fr);
			height: 100%;
			min-height: 0;
		}

		.urh-widget.is-overlay-open .urh-panel--restaurant .urh-restaurants-list-wrap,
		.urh-widget.is-hotels-open .urh-panel--restaurant .urh-restaurants-list-wrap,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant .urh-restaurants-list-wrap {
			height: 100%;
			min-height: 0;
			overflow: hidden;
			padding: 0;
		}

		.urh-widget.is-overlay-open .urh-panel--restaurant .urh-restaurants-list,
		.urh-widget.is-hotels-open .urh-panel--restaurant .urh-restaurants-list,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant .urh-restaurants-list {
			height: 100%;
			max-height: 100%;
			overflow-y: auto;
			padding-right: 14px;
		}

		.urh-widget.is-overlay-open .urh-panel--restaurant .urh-restaurants-viewer,
		.urh-widget.is-hotels-open .urh-panel--restaurant .urh-restaurants-viewer,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant .urh-restaurants-viewer {
			height: 100%;
			min-height: 0;
			overflow: hidden;
		}

		.urh-widget.is-overlay-open .urh-panel--restaurant .urh-restaurants-viewer img,
		.urh-widget.is-hotels-open .urh-panel--restaurant .urh-restaurants-viewer img,
		.urh-widget.is-no-availability-visible .urh-panel--restaurant .urh-restaurants-viewer img {
			max-height: 100%;
			width: 100%;
		}
	}

@container urh-widget-shell (max-width: 1024px) {
	.urh-widget {
		overflow-x: hidden;
	}

	.urh-tabs {
		display: grid;
		gap: var(--urh-space-xs);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-inline: var(--urh-space-layout);
		width: 100%;
	}

	.urh-tab {
		min-width: 0;
	}

	.urh-widget .urh-close-link {
		right: var(--urh-space-layout, 20px) !important;
	}

	.urh-booking-bar {
		gap: var(--urh-space-2xs);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-inline: var(--urh-space-layout);
	}

	.urh-field {
		min-width: 0;
	}

	.urh-book-btn {
		grid-column: 1 / -1;
	}

	.urh-panel--restaurant {
		padding-inline: var(--urh-space-layout);
	}

	.urh-hotels-panel {
		gap: var(--urh-space-2xs);
		padding: var(--urh-space-2xs) var(--urh-space-layout);
	}

	.urh-calendar-stage {
		gap: var(--urh-space-2xs);
		padding: 0 var(--urh-space-2xs);
	}

	.urh-no-availability {
		column-gap: var(--urh-space-fluid-m);
		margin-top: var(--urh-space-2xs);
		padding-inline: var(--urh-space-layout);
	}
}

@container urh-widget-shell (max-width: 767px) {
	.urh-widget {
		padding-bottom: calc(var(--urh-space-fluid-s) + var(--urh-space-sm));
	}

	.urh-widget.is-mobile-opening {
		animation: urh-mobile-sheet-in 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
	}

	.urh-widget {
		margin: 0;
		max-width: none;
		width: 100%;
	}

	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) {
		border-radius: 0;
		bottom: 0;
		inset: auto 0 0 0;
		margin: 0;
		padding: 0;
		position: fixed;
		width: 100%;
		z-index: 1300;
	}

	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-top-row,
	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-booking-bar,
	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-floating-panels,
	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-feedback,
	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-no-availability {
		display: none !important;
	}

	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tabs {
		box-sizing: border-box;
		display: grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		max-width: 100%;
		padding: 0;
		width: 100%;
	}

	.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tab {
		min-width: 0;
		padding: var(--urh-space-xs) 0;
		text-align: center;
		width: 100%;
	}

		.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tab.is-active,
		.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tab[aria-selected="true"] {
			background-color: var(--urh-black, #171717) !important;
			border-bottom-color: transparent !important;
			color: var(--urh-soft, #f4f4ed) !important;
		}

		.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tab[data-urh-tab="hotel"] {
			background-color: var(--urh-black, #171717) !important;
			border-bottom-color: transparent !important;
			color: var(--urh-soft, #f4f4ed) !important;
		}

		.urh-widget:not(.is-overlay-open):not(.is-hotels-open):not(.is-no-availability-visible) .urh-tab[data-urh-tab="restaurant"] {
			background-color: #fff !important;
			border-bottom-color: transparent !important;
			color: var(--urh-black, #171717) !important;
		}

	.urh-widget.is-hotels-open,
	.urh-widget.is-overlay-open,
	.urh-widget.is-no-availability-visible {
		background: var(--urh-soft);
		height: calc(100dvh - var(--urh-admin-bar-offset, 0px));
		inset: var(--urh-admin-bar-offset, 0px) 0 0 0;
		margin: 0;
		max-height: calc(100dvh - var(--urh-admin-bar-offset, 0px));
		max-width: none;
		overflow: hidden;
		position: fixed;
		width: 100vw;
		z-index: 1500;
	}

	body.admin-bar .urh-widget.is-hotels-open,
	body.admin-bar .urh-widget.is-overlay-open,
	body.admin-bar .urh-widget.is-no-availability-visible {
		--urh-admin-bar-offset: 32px;
	}

	@media (max-width: 782px) {
		body.admin-bar .urh-widget.is-hotels-open,
		body.admin-bar .urh-widget.is-overlay-open,
		body.admin-bar .urh-widget.is-no-availability-visible {
			--urh-admin-bar-offset: 46px;
		}
	}

		.urh-no-availability {
			column-gap: var(--urh-space-xs);
			margin: var(--urh-space-2xs) 0 var(--urh-space-xs);
			padding: var(--urh-space-2xs) var(--urh-space-layout) var(--urh-space-xs);
			row-gap: var(--urh-space-xs);
		}

		.urh-widget.is-no-availability-visible .urh-no-availability {
			margin-top: var(--urh-space-2xs);
			margin-bottom: calc(56px + env(safe-area-inset-bottom) + var(--urh-space-2xs));
			order: 4;
			row-gap: var(--urh-space-sm);
			padding-top: var(--urh-space-sm);
		}

		.urh-widget.is-no-availability-visible .urh-no-availability__detail {
			display: flex;
			flex-direction: column;
			gap: var(--urh-space-xs);
		}

		.urh-widget.is-no-availability-visible .urh-no-availability__retry,
		.urh-widget.is-no-availability-visible .urh-no-availability__retry.btn-link,
		.urh-widget.is-no-availability-visible .urh-no-availability__retry--rooms {
			display: block;
			margin-top: 0;
			width: fit-content;
		}

		.urh-widget.is-no-availability-visible .urh-no-availability__retry:not(.urh-no-availability__retry--rooms) {
			margin-top: var(--urh-space-xs);
			margin-bottom: var(--urh-space-xs);
		}

		.urh-widget.is-no-availability-visible .urh-no-availability__retry--rooms {
			margin-top: var(--urh-space-xs);
		}

	.urh-tabs {
		padding: calc(var(--urh-space-xs) + var(--urh-space-2xs)) var(--urh-space-layout) 0;
	}

		.urh-widget.is-overlay-open .urh-tabs,
		.urh-widget.is-hotels-open .urh-tabs,
		.urh-widget.is-no-availability-visible .urh-tabs {
			display: grid;
			gap: 0;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			margin: 0;
			padding: 0;
			width: 100%;
		}

		.urh-widget.is-overlay-open .urh-tab,
		.urh-widget.is-hotels-open .urh-tab,
		.urh-widget.is-no-availability-visible .urh-tab {
			margin: 0;
			min-width: 0;
			padding: var(--urh-space-xs) 0;
			text-align: center;
			width: 100%;
		}

	.urh-widget.is-overlay-open .urh-top-row {
		padding: var(--urh-space-xs) var(--urh-space-layout) var(--urh-space-2xs);
		margin-bottom: var(--urh-space-sm);
	}

		.urh-booking-bar {
			gap: var(--urh-space-2xs);
			padding: var(--urh-space-2xs) var(--urh-space-layout) 0;
		}

		.urh-widget.is-overlay-open .urh-book-btn,
		.urh-widget.is-hotels-open .urh-book-btn,
		.urh-widget.is-no-availability-visible .urh-book-btn {
			bottom: env(safe-area-inset-bottom);
			font-size: 16px;
			height: 48px;
			left: 0;
			margin: 0;
			position: fixed;
			right: 0;
			transform: none;
			width: 100vw;
			z-index: 2000;
		}

		.urh-panel--guests,
		.urh-panel--restaurant {
			padding: var(--urh-space-2xs) var(--urh-space-layout) var(--urh-space-xs);
		}

		.urh-widget.is-overlay-open .urh-panel--calendar,
		.urh-widget.is-hotels-open .urh-panel--calendar {
			padding-top: var(--urh-space-sm);
		}

		.urh-calendar-stage {
			gap: var(--urh-space-2xs);
			padding-inline: var(--urh-space-2xs);
		}

	.flatpickr-calendar.inline .flatpickr-months {
		margin-bottom: var(--urh-space-sm);
	}

	.urh-widget--context-global .urh-tabs {
		padding-top: calc(var(--urh-space-xs) + var(--urh-space-2xs));
	}

	.urh-widget--context-global .urh-booking-bar {
		gap: var(--urh-space-2xs);
		padding: var(--urh-space-2xs) var(--urh-space-layout) 0;
	}

	.urh-widget--context-global .urh-feedback {
		margin: var(--urh-space-2xs) var(--urh-space-layout) 0;
	}

	.urh-widget--context-global .urh-no-availability {
		column-gap: var(--urh-space-xs);
		margin: var(--urh-space-2xs) 0 0;
		padding: var(--urh-space-2xs) var(--urh-space-layout) var(--urh-space-xs);
		row-gap: var(--urh-space-xs);
	}

	.urh-widget--context-global .urh-hotels-panel {
		padding: var(--urh-space-2xs) var(--urh-space-layout) 0;
	}

	.urh-widget--context-global .urh-hotels-list-wrap {
		padding-top: var(--urh-space-2xs);
	}

	.urh-widget--context-global .urh-hotel-option {
		padding: var(--urh-space-2xs) 0 var(--urh-space-xs);
	}

	.urh-widget--context-global.is-overlay-open .urh-panel--guests {
		padding-bottom: calc(var(--urh-space-fluid-l) + env(safe-area-inset-bottom));
	}

		.urh-widget--context-global.is-overlay-open .urh-panel--guests .urh-guests-actions {
			margin-left: 0;
			margin-right: 0;
			margin-top: var(--urh-space-xs);
			max-width: none;
			width: 100%;
		}

		/* Keep restaurant panel identical on mobile for global and scoped (hotel/restaurant) contexts. */
		.urh-widget .urh-panel--restaurant .urh-restaurants-panel {
			gap: var(--urh-space-2xs);
			grid-template-columns: 1fr;
			grid-template-rows: auto auto;
			padding: 0;
		}

		.urh-widget .urh-panel--restaurant .urh-restaurants-actions {
			align-items: stretch;
			flex-direction: column;
			gap: var(--urh-space-2xs);
			grid-column: 1;
			grid-row: 1;
			padding: 0;
		}

		.urh-widget .urh-panel--restaurant .urh-restaurants-list-wrap {
			padding-top: var(--urh-space-2xs);
		}

		.urh-widget .urh-panel--restaurant .urh-restaurant-option {
			padding: var(--urh-space-2xs) 0 var(--urh-space-xs);
		}

		.urh-widget .urh-panel--restaurant .urh-restaurants-viewer {
			display: none;
		}
	}

@media (max-width: 767px) {
	/* Closed mobile bar: keep HOTEL visually active (black) regardless JS transient tab state. */
	.urh-widget .urh-tab[data-urh-tab="hotel"] {
		background: var(--urh-black, #171717) !important;
		background-color: var(--urh-black, #171717) !important;
		border-bottom-color: transparent !important;
		color: var(--urh-soft, #f4f4ed) !important;
	}

	.urh-widget .urh-tab[data-urh-tab="restaurant"] {
		background: #fff !important;
		background-color: #fff !important;
		border-bottom-color: transparent !important;
		color: var(--urh-black, #171717) !important;
	}

	/* Open states keep expanded visual style (panel background + active underline handled in parity block). */
	.urh-widget.is-overlay-open .urh-tab[data-urh-tab="hotel"],
	.urh-widget.is-overlay-open .urh-tab[data-urh-tab="restaurant"],
	.urh-widget.is-hotels-open .urh-tab[data-urh-tab="hotel"],
	.urh-widget.is-hotels-open .urh-tab[data-urh-tab="restaurant"],
	.urh-widget.is-no-availability-visible .urh-tab[data-urh-tab="hotel"],
	.urh-widget.is-no-availability-visible .urh-tab[data-urh-tab="restaurant"] {
		background: var(--urh-soft, #f4f4ed) !important;
		background-color: var(--urh-soft, #f4f4ed) !important;
		color: var(--urh-black, #171717) !important;
	}

	.urh-widget.is-overlay-open .urh-book-btn,
	.urh-widget.is-hotels-open .urh-book-btn,
	.urh-widget.is-no-availability-visible .urh-book-btn {
		border-radius: 0;
		inset-inline: 0;
		left: 0;
		margin: 0 !important;
		max-width: 100vw !important;
		right: 0;
		width: 100vw !important;
	}
}

/* Mobile parity overrides (Figma: 4830:16959, 4830:16964, 4830:16969). */
@media (max-width: 767px) {
	/* Shell + overlay frame */
	.urh-widget {
		--urh-mobile-cta-height: 48px;
		--urh-mobile-side-pad: 16px;
		--urh-mobile-field-pad: 24px;
	}

	.urh-widget.is-overlay-open,
	.urh-widget.is-hotels-open,
	.urh-widget.is-no-availability-visible {
		display: flex;
		flex-direction: column;
		padding: 0;
	}

	/* Header */
	.urh-widget.is-overlay-open .urh-top-row,
	.urh-widget.is-hotels-open .urh-top-row,
	.urh-widget.is-no-availability-visible .urh-top-row {
		align-items: center;
		display: flex !important;
		flex: 0 0 64px;
		height: 64px;
		justify-content: flex-end;
		margin: 0 !important;
		padding: 8px var(--urh-mobile-side-pad) !important;
	}

	.urh-widget .urh-top-row .urh-close-link {
		font-size: 16px;
		font-weight: var(--urh-regular-weight);
		line-height: 24px;
		letter-spacing: var(--urh-type-body-xs-track);
	}

	/* Tabs */
	.urh-widget .urh-tabs,
	.urh-widget.is-overlay-open .urh-tabs,
	.urh-widget.is-hotels-open .urh-tabs,
	.urh-widget.is-no-availability-visible .urh-tabs {
		display: grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		padding: 0 !important;
		width: 100%;
	}

	.urh-widget .urh-tab,
	.urh-widget.is-overlay-open .urh-tab,
	.urh-widget.is-hotels-open .urh-tab,
	.urh-widget.is-no-availability-visible .urh-tab {
		align-items: center;
		display: flex;
		height: 40px;
		justify-content: center;
		margin: 0;
		padding: 0 12px;
		font-size: 16px;
		line-height: 24px;
		letter-spacing: var(--urh-type-body-xs-track);
	}

	.urh-widget .urh-tab.is-active,
	.urh-widget .urh-tab[aria-selected="true"] {
		background: var(--urh-soft, #f4f4ed) !important;
		background-color: var(--urh-soft, #f4f4ed) !important;
		border-bottom: 1px solid var(--urh-black, #171717) !important;
		color: var(--urh-black, #171717) !important;
		font-weight: var(--urh-medium-weight);
	}

	/* Booking bar + fields + sticky CTA */
	.urh-widget .urh-booking-bar,
	.urh-widget.is-overlay-open .urh-booking-bar,
	.urh-widget.is-hotels-open .urh-booking-bar,
	.urh-widget.is-no-availability-visible .urh-booking-bar {
		gap: 0;
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
		padding: 0 !important;
	}

	.urh-widget .urh-field,
	.urh-widget--context-global .urh-field {
		gap: 16px;
		height: 56px;
		min-height: 56px;
		padding: 0 var(--urh-mobile-field-pad);
		font-size: 16px;
		line-height: 24px;
		letter-spacing: var(--urh-type-body-xs-track);
	}

	.urh-widget .urh-field__icon {
		height: 24px;
		width: 24px;
	}

	.urh-widget .urh-field--hotel {
		order: 1;
	}

	.urh-widget .urh-field--dates {
		order: 2;
	}

	.urh-widget .urh-field--guests {
		order: 3;
	}

	.urh-widget .urh-book-btn,
	.urh-widget .urh-book-btn.btn,
	.urh-widget.is-overlay-open .urh-book-btn,
	.urh-widget.is-hotels-open .urh-book-btn,
	.urh-widget.is-no-availability-visible .urh-book-btn {
		bottom: env(safe-area-inset-bottom);
		height: var(--urh-mobile-cta-height);
		left: 0;
		line-height: 24px;
		margin: 0 !important;
		max-width: 100vw !important;
		padding: 12px 24px;
		position: fixed;
		right: 0;
		width: 100vw !important;
		z-index: 2000;
	}

	/* Hotels panel */
	.urh-widget.is-hotels-open .urh-hotels-panel,
	.urh-widget.is-overlay-open .urh-hotels-panel {
		box-sizing: border-box;
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
		overflow: hidden;
		padding: var(--urh-mobile-side-pad) var(--urh-mobile-side-pad) calc(var(--urh-mobile-cta-height) + env(safe-area-inset-bottom) + 12px);
	}

	.urh-widget .urh-hotels-list-wrap,
	.urh-widget--context-global .urh-hotels-list-wrap {
		flex: 1 1 auto;
		height: 100%;
		margin: 0 auto;
		max-width: 320px;
		min-height: 0;
		overflow: hidden;
		padding: 0;
		width: 100%;
	}

	.urh-widget .urh-hotels-list,
	.urh-widget--context-global .urh-hotels-list {
		height: 100%;
		max-height: none;
		overflow-x: hidden;
		overflow-y: auto;
		padding-right: 12px;
	}

	.urh-widget .urh-hotels-scroll-rail,
	.urh-widget--context-global .urh-hotels-scroll-rail {
		height: 100%;
		right: 0;
		top: 0;
	}

	.urh-widget .urh-hotels-viewer,
	.urh-widget--context-global .urh-hotels-viewer {
		display: none !important;
	}

	/* Calendar panel */
	.urh-widget .urh-panel--calendar,
	.urh-widget.is-overlay-open .urh-panel--calendar,
	.urh-widget.is-hotels-open .urh-panel--calendar {
		box-sizing: border-box;
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		padding: var(--urh-mobile-side-pad) var(--urh-mobile-side-pad) calc(var(--urh-mobile-cta-height) + env(safe-area-inset-bottom) + 12px) !important;
	}

	/* Calendar arrows: keep previous mobile behavior (Flatpickr 34x34, widget arrows hidden). */
	.urh-widget .urh-panel--calendar .urh-calendar-stage {
		box-sizing: border-box !important;
		display: block !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: 0 !important;
		padding: 0 !important;
		position: relative !important;
		width: 100% !important;
	}

	.urh-widget .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-prev],
	.urh-widget .urh-panel--calendar .urh-calendar-stage [data-urh-calendar-next] {
		display: none !important;
	}

	.urh-widget .urh-panel--calendar .urh-calendar-core {
		box-sizing: border-box !important;
		display: block !important;
		margin: 0 auto !important;
		padding: 0 !important;
		width: 100% !important;
		overflow: hidden !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-innerContainer,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-rContainer,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdays,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-days {
		margin-left: auto;
		margin-right: auto;
		max-width: 280px !important;
		min-width: 280px !important;
		width: 280px !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months {
		align-items: center;
		display: block !important;
		height: 34px;
		margin-bottom: 20px;
		margin-top: 0;
		position: relative;
		width: 100% !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-innerContainer {
		margin-top: 16px !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-prev-month,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-next-month {
		align-items: center;
		display: inline-flex !important;
		height: 34px;
		justify-content: center;
		opacity: 1;
		padding: 0 !important;
		position: absolute !important;
		margin: 0 !important;
		top: 0 !important;
		transform: none !important;
		width: 34px;
		z-index: 1;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-prev-month {
		left: 0 !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-next-month {
		right: 0 !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-prev-month.flatpickr-disabled,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-next-month.flatpickr-disabled {
		display: inline-flex !important;
		opacity: 0.35 !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-month,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-months .flatpickr-month {
		align-items: center;
		display: flex !important;
		justify-content: center;
		max-width: none !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-current-month {
		align-items: center;
		display: inline-flex !important;
		font-size: 20px !important;
		font-weight: var(--urh-medium-weight);
		justify-content: center;
		left: auto !important;
		line-height: 25px !important;
		margin: 0 auto !important;
		padding: 0 34px !important;
		position: static !important;
		text-align: center;
		transform: none !important;
		width: 100% !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-current-month .cur-month {
		margin: 0 !important;
		text-align: center;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .dayContainer,
	.urh-widget .urh-panel--calendar .flatpickr-calendar.inline .flatpickr-weekdaycontainer {
		display: grid !important;
		grid-template-columns: repeat(7, 40px) !important;
		justify-content: center;
		max-width: 280px !important;
		min-width: 280px !important;
		width: 280px !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar .flatpickr-day,
	.urh-widget .urh-panel--calendar .flatpickr-calendar .flatpickr-weekday {
		font-size: 14px !important;
		font-weight: var(--urh-regular-weight);
		height: 40px;
		line-height: 16px;
		max-width: 40px !important;
		min-width: 40px !important;
		width: 40px !important;
	}

	.urh-widget .urh-panel--calendar .flatpickr-calendar .flatpickr-day {
		line-height: 40px;
	}

	/* Guests panel */
	.urh-widget .urh-panel--guests,
	.urh-widget.is-overlay-open .urh-panel--guests,
	.urh-widget.is-hotels-open .urh-panel--guests,
	.urh-widget--context-global.is-overlay-open .urh-panel--guests {
		box-sizing: border-box;
		flex: 1 1 auto;
		height: auto;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		padding: var(--urh-mobile-side-pad) var(--urh-mobile-side-pad) calc(var(--urh-mobile-cta-height) + env(safe-area-inset-bottom) + 8px) !important;
	}

	.urh-widget .urh-panel--guests .urh-rooms-list,
	.urh-widget .urh-panel--guests .urh-guests-actions,
	.urh-widget .urh-panel--guests .urh-no-availability--inline {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 320px !important;
		width: min(100%, 320px) !important;
	}

	.urh-widget .urh-panel--guests .urh-rooms-list {
		overflow: visible;
		padding-right: 0;
	}

	.urh-widget .urh-room-header strong {
		font-size: 20px;
		font-weight: var(--urh-medium-weight);
		line-height: 25px;
	}

	/* Room controls + actions */
	.urh-widget .urh-counter-row,
	.urh-widget .urh-counter > span,
	.urh-widget .urh-counter-label,
	.urh-widget .urh-counter-value {
		font-size: 16px;
		line-height: 24px;
		letter-spacing: var(--urh-type-body-xs-track);
	}

	.urh-widget .urh-counter button {
		height: 44px;
		max-height: 44px;
		max-width: 44px;
		min-height: 44px;
		min-width: 44px;
		width: 44px;
	}

	.urh-widget .urh-room-tools {
		height: 44px;
	}

	.urh-widget .urh-icon-btn,
	.urh-widget .urh-caret-btn {
		height: 24px;
		max-height: 24px;
		max-width: 24px;
		min-height: 24px;
		min-width: 24px;
		width: 24px;
	}

	.urh-widget .urh-link-btn,
	.urh-widget .urh-link-btn.btn-secondary {
		height: 44px;
		max-width: 320px;
		min-height: 44px;
		padding: 10px 24px;
		width: min(100%, 320px);
	}
}
