/* Legacy PWA — install banner (mobile only). */
.ll-pwa {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.8rem 1rem calc( 0.8rem + env( safe-area-inset-bottom, 0px ) );
	background: #ffffff;
	border-top: 1px solid #e3e3e3;
	box-shadow: 0 -0.25rem 1rem rgba( 0, 0, 0, 0.14 );
	transform: translateY( 115% );
	transition: transform 0.3s ease;
}
.ll-pwa.is-in { transform: translateY( 0 ); }
.ll-pwa__icon img { width: 42px; height: 42px; border-radius: 9px; display: block; }
.ll-pwa__body { flex: 1; min-width: 0; }
.ll-pwa__msg { margin: 0; font-size: 0.86rem; line-height: 1.35; color: #333e48; }
.ll-pwa__msg strong { font-size: 0.95rem; }
.ll-pwa__install {
	flex: none;
	background: #b52929;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 0.65rem 1.2rem;
	font-family: inherit;
	font-weight: 700;
	font-size: 0.9rem;
	cursor: pointer;
	white-space: nowrap;
}
.ll-pwa__install:hover { background: #9e2020; }
.ll-pwa__hint { flex: none; font-size: 0.78rem; font-weight: 700; color: #b52929; max-width: 11rem; text-align: right; line-height: 1.3; }
.ll-pwa__share { display: inline-block; transform: translateY( 1px ); }
.ll-pwa__close {
	flex: none;
	background: none;
	border: 0;
	font-size: 1.6rem;
	line-height: 1;
	color: #9aa0a6;
	cursor: pointer;
	padding: 0.1rem 0.35rem;
}
.ll-pwa__close:hover { color: #333e48; }

/* Banner is a mobile-only feature. */
@media ( min-width: 821px ) {
	.ll-pwa { display: none !important; }
}
