button.widget-button-popover {
	appearance: none;
	font: inherit;
	border: none;
	cursor: pointer;
	padding: 0.5em 1em;
	box-sizing: border-box;
	background: var(--background-gold-gradient);
	text-transform: uppercase;
	font-weight: bold;
	font-size: 9px;
	color: #fff;
	letter-spacing: .12em;
	text-align: center;
	white-space: nowrap;
	width: 100%;
	transition: all .4s ease-out;
	anchor-name: --widget-popover;
}

button.widget-button-popover:is(:hover, :focus-visible) {
	background-size: 100% 202%;
	background-position: left center;
}

button.widget-button-popover::before {
	font-family: var(--font-family-icons);
	font-weight: var(--font-family-icons-weight);
	margin-block: .15rem .3rem;
	display: block;
	background: var(--hotel-icon) center center no-repeat transparent;
	height: 1.5rem;
	content: "";
}

@media (min-width: 640px) {

	button.widget-button-popover {
		display: flex;
		align-items: center;
		width: auto;
		font-size: 1em;
		padding-inline: 1.5em;
		margin-left: auto;
	}

	button.widget-button-popover::before {
		width: 2.5rem;
		background-position: center left;
	}
}

@media (min-width: 961px) {

	.banner-inner {
		padding-right: 12px;
		box-sizing: border-box;
	}

	button.widget-button-popover {
		margin: 12px 0 12px auto;
	}
}

#widget-popover {
	position-anchor: --widget-popover;
	position-area: block-start;
	border: none;
	background: var(--template-color-bright);
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
	color: var(--template-color-ink);
	font-weight: bold;
	padding: 1.25em;
	box-sizing: border-box;
	position: fixed;
	z-index: 2100;
	--buttons-background: var(--template-color-primary);
	display: none;
	transition: opacity .3s, display 0s .3s;
}

.active + #widget-popover {
	display: block;
	animation: widget-popover-show-mobile 0.4s ease-out;
	transition: opacity .3s, transform .3s;
}

#widget-popover::backdrop {
	opacity: 0;
	backdrop-filter: none;
}

#widget-popover form {
	margin: 0;
}

#widget-popover .widget-form-book {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
}

#widget-popover label {
	position: relative;
}

#widget-popover .widget-date {
	all: unset;
	position: relative;
	background-color: #fff;
	padding: .75em;
	box-sizing: border-box;
	/* border-radius: .5em; */
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: center;
	gap: .5em;
	flex-wrap: wrap;
}

#widget-popover .widget-date::before {
	display: none;
}

#widget-popover .widget-date > * {
	padding: 0;
	margin: 0;
	line-height: normal;
}

#widget-popover input {
	position: absolute;
	inset: 0;
	opacity: 0;
}

#widget-popover .widget-date-day {
	font-size: 3em;
	font-family: var(--font-family-titles);
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1;
}

#widget-popover .widget-date-month {
	font-weight: normal;
	letter-spacing: .05em;
}

#widget-popover .widget-date-day::after {
	display: none;
}

#widget-popover .visible-label {
	display: none;
}

#widget-popover :is(.widget-select, .widget-button, .popover__title) {
	grid-column: span 2;
}

#widget-popover .popover__title {
	font-family: var(--font-family-titles);
	text-transform: uppercase;
	letter-spacing: .075em;
	font-size: 1.8em;
	text-align: center;
	text-wrap: balance;
}

#widget-popover .widget-select {
	display: flex;
	flex-wrap: wrap;
	gap: .5em .4em;
	justify-content: center;
	background-color: #fff;
	padding: .75em 1.25em;
	box-sizing: border-box;
	/* border-radius: .5em; */
	min-height: 60px;
	align-items: baseline;
	cursor: pointer;
}

#widget-popover .widget-select::after {
	display: none;
}

#widget-popover .widget-select:hover,
#widget-popover .widget-select:focus-within {
	color: var(--template-color-ink);
}

#widget-popover .widget-select-value {
	font-size: 3rem;
	font-family: var(--font-family-titles);
	font-weight: bold;
}

#widget-popover .widget-select-labeltext {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: initial;
}

#widget-popover select {
	font-size: 1rem;
	opacity: 0;
	position: absolute;
	inset: 0;
	z-index: 1;
	cursor: pointer;
}

#widget-popover .widget-button {
	/* border-radius: .5rem; */
	color: #fff;
	font-size: 1.25rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .075em;
	justify-content: center;
	align-items: center;
	margin: 0;
}

@keyframes widget-popover-show-mobile {
	from {
		opacity: 0;
		transform: translateY(1em);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes widget-popover-show-desktop {
	from {
		opacity: 0;
		transform: translateX(1em);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

#widget-popover .widget-button::before {
	display: none;
}

@media (max-width: 430px) {
	#widget-popover {
		width: 100%;
	}
}

@media (min-width: 400px) {

	#widget-popover .widget-date {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}

@media (min-width: 640px) {

	#widget-popover {
		position-area: block-end span-inline-start;
		max-width: 400px;
		box-shadow: none;
	}

	.active + #widget-popover {
		animation: widget-popover-show-desktop 0.4s ease-out;
	}
}