.pwa-install-banner {
	position: fixed;
	left: calc(12px + var(--safe-left, env(safe-area-inset-left, 0px)));
	right: calc(12px + var(--safe-right, env(safe-area-inset-right, 0px)));
	bottom: calc(12px + var(--safe-bottom, env(safe-area-inset-bottom, 0px)));
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #1a1a1a;
	color: #fff;
	padding: 10px 12px;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba( 0, 0, 0, .25 );
	font-size: 14px;
	animation: pwa-install-banner-in .25s ease-out;
}

.pwa-install-banner__text {
	flex: 1;
	line-height: 1.3;
}

.pwa-install-banner__install {
	background: #E31B23;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.pwa-install-banner__close {
	background: transparent;
	border: none;
	color: #fff;
	opacity: .7;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 4px;
}

.pwa-install-banner__close:hover,
.pwa-install-banner__install:hover {
	opacity: .9;
}

@keyframes pwa-install-banner-in {
	from { transform: translateY( 16px ); opacity: 0; }
	to { transform: translateY( 0 ); opacity: 1; }
}

@media ( min-width: 821px ) {
	.pwa-install-banner {
		display: none;
	}
}

a.pwa-install-banner__install {
	text-decoration: none;
}

/* Shown inside the old installed PWA (main site added to the home screen):
   a full-screen "we've moved" notice. Not width-limited to mobile — an
   installed PWA can be a desktop window too. */
.pwa-move-notice {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba( 0, 0, 0, .85 );
}

.pwa-move-notice__box {
	max-width: 26rem;
	background: #1a1a1a;
	color: #fff;
	border-radius: 14px;
	padding: 24px;
	text-align: center;
	font-size: 15px;
	line-height: 1.45;
}

.pwa-move-notice__box h2 {
	margin: 0 0 10px;
	font-size: 20px;
	color: #fff;
}

.pwa-move-notice__box p {
	margin: 0 0 16px;
}

.pwa-move-notice__go {
	display: block;
	background: #E31B23;
	color: #fff;
	border-radius: 8px;
	padding: 12px 16px;
	font-weight: 600;
	text-decoration: none;
	margin-bottom: 16px;
}

.pwa-move-notice__steps {
	font-size: 13px;
	opacity: .8;
}

.pwa-move-notice__later {
	background: transparent;
	border: none;
	color: #fff;
	opacity: .7;
	font-size: 14px;
	cursor: pointer;
	padding: 8px;
}
