/* Приложение Plovi (PWA, 28.09.2026): окно про уведомления/установку и «Мои заказы». */

.plvpwa-lock,
.plvpwa-lock body {
	overflow: hidden;
}

.plvpwa-sheet {
	position: fixed;
	inset: 0;
	/* Выше окна «Заказ принят! Открываем страницу заказа…» (#plv-co-wait, 100200): иначе окно про
	   уведомления оказалось бы под ним, и покупатель не смог бы ни включить, ни уйти к заказу. */
	z-index: 100300;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-family: var(--plv-font-ui);
}

.plvpwa-back {
	position: absolute;
	inset: 0;
	background: rgba(22, 33, 28, 0.45);
}

.plvpwa-card {
	position: relative;
	width: 100%;
	max-width: 440px;
	max-height: 92vh;
	overflow: auto;
	box-sizing: border-box;
	padding: 22px 20px calc(18px + var(--plv-safe-bottom, 0px));
	border-radius: 22px 22px 0 0;
	background: var(--plv-surface, #fff);
	color: var(--plv-ink, #16211c);
	box-shadow: 0 -8px 30px rgba(22, 33, 28, 0.18);
	animation: plvpwa-up 0.22s ease-out;
}

@media (min-width: 600px) {
	.plvpwa-sheet { align-items: center; }
	.plvpwa-card { border-radius: 22px; padding-bottom: 20px; }
}

@keyframes plvpwa-up {
	from { transform: translateY(24px); opacity: 0; }
	to { transform: none; opacity: 1; }
}

.plvpwa-h {
	margin: 0 0 6px;
	font-family: var(--plv-font-display);
	font-size: var(--plv-fs-22, 22px);
	line-height: 1.2;
}

.plvpwa-lead {
	margin: 0 0 6px;
	font-size: var(--plv-fs-165, 16.5px);
	font-weight: 800;
}

.plvpwa-why,
.plvpwa-sub {
	margin: 0 0 14px;
	color: var(--plv-text-2, #4a574f);
	font-size: var(--plv-fs-14, 14px);
	line-height: 1.45;
}

.plvpwa-steps {
	margin: 0 0 16px;
	padding-left: 20px;
	font-size: var(--plv-fs-14, 14px);
	line-height: 1.6;
}

.plvpwa-share {
	width: 17px;
	height: 17px;
	vertical-align: -3px;
	color: var(--plv-brand-ink, #00768f);
}

.plvpwa-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 48px;
	margin: 0 0 10px;
	padding: 10px 16px;
	box-sizing: border-box;
	border: 0;
	border-radius: 14px;
	background: var(--plv-brand, #00c2e8);
	color: var(--plv-on-brand, #16211c);
	font: 800 var(--plv-fs-155, 15.5px) / 1.2 var(--plv-font-ui);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.plvpwa-btn[disabled] {
	opacity: 0.7;
	cursor: default;
}

.plvpwa-btn--2 {
	background: var(--plv-brand-tint, #e4f7fc);
	color: var(--plv-brand-ink, #00768f);
}

.plvpwa-link {
	display: block;
	width: 100%;
	padding: 8px;
	border: 0;
	background: none;
	color: var(--plv-text-3, #6e7a72);
	font: 700 var(--plv-fs-14, 14px) / 1.3 var(--plv-font-ui);
	text-decoration: underline;
	cursor: pointer;
}

/* ---------- «Мои заказы» ---------- */

.plvmo {
	max-width: 640px;
	margin: 0 auto;
	padding-bottom: 24px;
}

.plvmo-ntf {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 16px;
	background: var(--plv-brand-tint-2, #f0fafd);
	border: 1px solid var(--plv-brand-tint, #e4f7fc);
	font-size: var(--plv-fs-14, 14px);
}

.plvmo-ntf p {
	margin: 6px 0 10px;
	color: var(--plv-text-2, #4a574f);
	line-height: 1.45;
}

.plvmo-ntf .plvpwa-btn {
	margin-bottom: 6px;
}

.plvmo-card {
	margin: 0 0 12px;
	padding: 14px 16px 10px;
	border-radius: 16px;
	background: var(--plv-surface, #fff);
	border: 1px solid var(--plv-line, rgba(22, 33, 28, 0.1));
}

.plvmo-card.is-focus {
	border-color: var(--plv-brand, #00c2e8);
	box-shadow: 0 0 0 3px var(--plv-brand-tint, #e4f7fc);
}

.plvmo-top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	font-size: var(--plv-fs-165, 16.5px);
}

.plvmo-st {
	font-size: var(--plv-fs-13, 13px);
	font-weight: 800;
	color: var(--plv-teal-text, #1e5261);
}

.is-on_way .plvmo-st { color: var(--plv-brand-ink, #00768f); }
.is-delivered .plvmo-st { color: var(--plv-green, #14614a); }
.is-cancelled .plvmo-st,
.is-unknown .plvmo-st { color: var(--plv-text-4, #8b958e); }

.plvmo-when,
.plvmo-sum {
	margin-top: 4px;
	color: var(--plv-text-2, #4a574f);
	font-size: var(--plv-fs-14, 14px);
}

.plvmo-btns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 12px;
}

.plvmo-btns .plvpwa-btn {
	margin: 0;
	min-height: 44px;
	font-size: var(--plv-fs-14, 14px);
}

.plvmo-btns .plvpwa-btn:only-child {
	grid-column: 1 / -1;
}

.plvmo-x {
	display: block;
	margin: 8px 0 0 auto;
	padding: 2px 0;
	border: 0;
	background: none;
	color: var(--plv-text-4, #8b958e);
	font: 600 var(--plv-fs-12, 12px) / 1.2 var(--plv-font-ui);
	cursor: pointer;
}

.plvmo-empty {
	margin: 8px 0 16px;
	color: var(--plv-text-2, #4a574f);
	line-height: 1.5;
}

/* ---------- «Сообщить о поступлении» ---------- */

.plvpwa-watch {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 6px 0 0;
	padding: 6px 10px;
	border: 0;
	border-radius: var(--plv-r-pill, 999px);
	background: var(--plv-brand-tint, #e4f7fc);
	color: var(--plv-brand-ink, #00768f);
	font: 700 var(--plv-fs-12, 12px) / 1.2 var(--plv-font-ui);
	text-align: left;
	cursor: pointer;
}

.plvpwa-watch.is-on {
	background: var(--plv-green-tint, #edf4f0);
	color: var(--plv-green, #14614a);
	cursor: default;
}

.plvpwa-watch[disabled] {
	opacity: 0.7;
}

.plvpwa-watch--page {
	display: flex;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin-top: 10px;
	font-size: var(--plv-fs-14, 14px);
	border-radius: 14px;
}

.plvpwa-watch--card {
	display: flex;
	justify-content: center;
	width: calc(100% - 16px);
	margin: 0 8px 8px;
	box-sizing: border-box;
	text-align: center;
}
