/**
 * BG Buy Limit — style frontu.
 *
 * Celowo minimalne i neutralne: blok informacyjny ma wyglądać jak część karty produktu
 * Journala, a nie jak wtręt. Kolory z currentColor / półprzezroczystych warstw, żeby moduł
 * działał na dowolnym skinie (jasnym i ciemnym) bez dopasowywania palety.
 */

/* Blok „Limit: maksymalnie N szt." nad przyciskiem koszyka */
.bg-buy-limit-info {
	margin: 0 0 12px;
	padding: 8px 12px;
	border-radius: 4px;
	border: 1px solid rgba(127, 127, 127, .28);
	background: rgba(127, 127, 127, .07);
	font-size: 13px;
	line-height: 1.45;
}

.bg-buy-limit-info .bg-buy-limit-label {
	font-weight: 600;
}

.bg-buy-limit-info .bg-buy-limit-incart {
	opacity: .8;
}

.bg-buy-limit-info.is-reached {
	border-color: rgba(200, 60, 60, .45);
	background: rgba(200, 60, 60, .08);
}

.bg-buy-limit-info .bg-buy-limit-reached {
	font-weight: 600;
	color: #c0392b;
}

/* Przycisk „Do koszyka" przy wyczerpanym limicie — klik i tak jest przechwytywany w JS */
.btn.bg-buy-limit-blocked,
a.bg-buy-limit-blocked {
	opacity: .5;
	cursor: not-allowed;
}

/* Krótkie mignięcie pola ilości przyciętego do limitu */
.bg-buy-limit-flash {
	animation: bg-buy-limit-flash .6s ease;
}

@keyframes bg-buy-limit-flash {
	0%, 100% { box-shadow: none; }
	30%      { box-shadow: 0 0 0 2px rgba(200, 60, 60, .55); }
}

/* Zapasowy toast — tylko gdy powiadomienia Journal 3 są niedostępne */
.bg-buy-limit-toast {
	position: fixed;
	z-index: 99999;
	right: 20px;
	bottom: 20px;
	max-width: 340px;
	padding: 14px 18px;
	border-radius: 4px;
	background: #2b2b2b;
	color: #fff;
	font-size: 14px;
	line-height: 1.45;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .25);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}

.bg-buy-limit-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 480px) {
	.bg-buy-limit-toast {
		right: 12px;
		left: 12px;
		max-width: none;
	}
}
