/* FlexMart Push — Permission card (mobile-first, matches FlexMart UI language) */

.fpn-card {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 99999; /* Above the PWA bottom nav */
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}
.fpn-card.fpn-card--visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.fpn-card__inner {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
	padding: 16px;
	max-width: 420px;
	margin: 0 auto;
}

.fpn-card__image {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	object-fit: cover;
	flex: 0 0 auto;
}
.fpn-card__bell {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #eef2ff;
	color: #4f46e5;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.fpn-card__content { min-width: 0; flex: 1; }
.fpn-card__title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
	color: #111827;
	line-height: 1.3;
}
.fpn-card__desc p {
	margin: 0 0 6px;
	font-size: 13px;
	color: #4b5563;
	line-height: 1.45;
}
.fpn-card__list {
	margin: 0 0 4px;
	padding: 0;
	list-style: none;
}
.fpn-card__list li {
	position: relative;
	padding-left: 20px;
	font-size: 13px;
	color: #4b5563;
	line-height: 1.6;
}
.fpn-card__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #16a34a;
	font-weight: 700;
}

.fpn-card__actions {
	display: flex;
	gap: 10px;
	margin-top: 10px;
	flex-wrap: wrap;
}
.fpn-card__allow {
	appearance: none;
	border: 0;
	background: #4f46e5;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 18px;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.15s ease;
}
.fpn-card__allow:hover { background: #4338ca; }
.fpn-card__later {
	appearance: none;
	border: 0;
	background: transparent;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	padding: 10px 12px;
	border-radius: 10px;
	cursor: pointer;
}
.fpn-card__later:hover { color: #374151; }

@media (min-width: 640px) {
	.fpn-card { left: auto; right: 24px; bottom: 24px; }
	.fpn-card__inner { max-width: 380px; margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.fpn-card { transition: none; }
}
