/*
 * PolMarket – Live Price & Stock
 * Ukrywa wyłącznie dynamiczne fragmenty w czasie krótkiego sprawdzania.
 * Układ zachowuje swoje miejsce, dzięki czemu ograniczamy skoki CLS.
 */

.pmlps-pending .price,
.pmlps-pending .stock,
.pmlps-pending .availability .stock {
	visibility: hidden;
}

/*
 * Zachowujemy dokładnie miejsce istniejącej ceny.
 * Spinner jest nakładany wewnątrz tego samego elementu,
 * więc nie dodaje nowego wiersza i nie zmienia wysokości kafelka.
 */
.pmlps-pending .price {
	position: relative;
	min-height: 1em;
}

.pmlps-pending .price::after {
	content: "";
	visibility: visible;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	margin-top: -5px;
	box-sizing: border-box;
	border: 2px solid rgba(15, 35, 55, 0.18);
	border-top-color: rgba(15, 35, 55, 0.75);
	border-radius: 50%;
	animation: pmlps-spin 0.65s linear infinite;
}

.pmlps-pending .stock {
	min-height: 1em;
}

.pmlps-disabled {
	opacity: 0.55 !important;
	cursor: wait !important;
	pointer-events: none !important;
}

.pmlps-status {
	clear: both;
	display: block;
	margin: 8px 0;
	font-size: 13px;
	line-height: 1.4;
}


.pmlps-status-warning {
	padding: 7px 10px;
	border-left: 3px solid #dba617;
	background: #fff8e5;
	color: #5f4700;
}

.pmlps-status-error {
	padding: 7px 10px;
	border-left: 3px solid #b32d2e;
	background: #fcf0f1;
	color: #8a2424;
}


.pmlps-ready [data-pm-live-price="1"],
.pmlps-ready [data-pm-live-stock="1"] {
	animation: pmlps-fade-in 120ms ease-out;
}

@keyframes pmlps-fade-in {
	from { opacity: 0.45; }
	to { opacity: 1; }
}


@keyframes pmlps-spin {
	to { transform: rotate(360deg); }
}
