#availability-dialog.availability-search-dialog {
	position: fixed;
	inset: auto 16px 18px;
	width: min(720px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100vh - 92px);
	max-height: calc(100dvh - 92px);
	margin: 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: #171715;
	overflow: visible;
}

#availability-dialog.availability-search-dialog::backdrop {
	background: rgb(19 23 21 / 58%);
	backdrop-filter: blur(3px);
}

#availability-dialog.availability-search-dialog .availability-dialog-card {
	position: relative;
	box-sizing: border-box;
	max-height: calc(100vh - 92px);
	max-height: calc(100dvh - 92px);
	margin: 0;
	padding: 28px 24px 24px;
	border: 1px solid rgb(255 255 255 / 72%);
	border-radius: 22px;
	background: #fffdfa;
	box-shadow: 0 24px 70px rgb(0 0 0 / 28%);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

#availability-dialog.availability-search-dialog .availability-dialog-close {
	top: auto;
	right: 0;
	bottom: calc(100% + 12px);
	left: auto;
	z-index: 2;
	width: 44px;
	height: 44px;
	border: 1px solid rgb(255 255 255 / 75%);
	background: #fffdfa;
	box-shadow: 0 4px 14px rgb(0 0 0 / 18%);
	font-size: 24px;
}

@media (prefers-reduced-motion: no-preference) {
	#availability-dialog.availability-search-dialog[open] .availability-dialog-card {
		animation: studiounius-availability-sheet-in 280ms cubic-bezier(.2, .72, .25, 1) both;
	}

	#availability-dialog.availability-search-dialog.is-closing .availability-dialog-card {
		animation: studiounius-availability-sheet-out 240ms cubic-bezier(.4, 0, .8, .3) both;
	}

	#availability-dialog.availability-search-dialog::backdrop {
		animation: studiounius-availability-backdrop-in 180ms ease-out both;
	}

	@keyframes studiounius-availability-sheet-in {
		from { opacity: .75; transform: translateY(28px); }
		to { opacity: 1; transform: translateY(0); }
	}

	@keyframes studiounius-availability-sheet-out {
		from { opacity: 1; transform: translateY(0); }
		to { opacity: .75; transform: translateY(28px); }
	}

	@keyframes studiounius-availability-backdrop-in {
		from { opacity: 0; }
		to { opacity: 1; }
	}
}

@media (max-width: 700px) {
	#availability-dialog.availability-search-dialog {
		inset: auto 0 0;
		width: 100vw;
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
	}

	#availability-dialog.availability-search-dialog .availability-dialog-card {
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
		padding: 24px 18px calc(20px + env(safe-area-inset-bottom));
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 20px 20px 0 0;
	}

	#availability-dialog.availability-search-dialog .availability-dialog-close {
		right: 16px;
	}
}

@media (max-width: 390px) {
	#availability-dialog.availability-search-dialog .availability-dialog-card {
		padding-right: 16px;
		padding-left: 16px;
	}
}
