.modal-sheet {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0, 0, 0, 0.2);
	z-index: var(--z-modal);
}

.modal {
	width: calc(128 * var(--spacing));
	padding: calc(4 * var(--spacing));
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-height: 90vh;
	overflow-y: scroll;

	@media (width < 40rem) {
		width: 100vw;
		top: initial;
		left: 0;
		bottom: 0;
		transform: initial;
		border-top-left-radius: var(--radius-3xl);
		border-top-right-radius: var(--radius-3xl);
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		padding: calc(6 * var(--spacing));

		h2 {
			font-size: var(--text-xl);
		}
	}

	> header {
		margin-bottom: calc(4 * var(--spacing));
		min-height: calc(4 * var(--spacing));
		@media (width < 40rem) { margin-bottom: calc(6 * var(--spacing)) }
	}

	&.lg {
		width: calc(256 * var(--spacing));
	}
}

.modal-close-btn {
	position: absolute;
	width: calc(4 * var(--spacing));
	height: calc(4 * var(--spacing));
	top: calc(4 * var(--spacing));
	right: calc(4 * var(--spacing));
	padding: 0;
	background-color: transparent;

	@media (width < 40rem) {
		top: calc(6 * var(--spacing));
		right: calc(6 * var(--spacing));
	}

	svg { color: var(--text-color) }
}
