/**
 * C1 exclusive-representation badge.
 *
 * The badge is live HTML, never part of artwork. Consumer components reserve a
 * fixed status row so exclusive and ordinary cards preserve identical geometry.
 */

.mespaco-exclusive-badge {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	max-width: 100%;
	min-height: 1.7rem;
	align-items: center;
	gap: 0.32rem;
	overflow: hidden;
	padding: 0.22rem 0.62rem;
	color: #8f2024;
	background: linear-gradient(135deg, rgba(255, 250, 247, 0.98), rgba(246, 228, 217, 0.96));
	border: 1px solid rgba(153, 45, 50, 0.3);
	border-radius: 999px;
	box-shadow: 0 0.32rem 1rem rgba(102, 28, 32, 0.1), inset 0 1px rgba(255, 255, 255, 0.82);
	font-family: var(--mespaco-font-body, Vazirmatn, Tahoma, sans-serif);
	font-size: 0.66rem;
	font-weight: 850;
	line-height: 1.35;
	white-space: nowrap;
}

.mespaco-exclusive-badge::after {
	position: absolute;
	z-index: -1;
	inset: -55% auto -55% -38%;
	width: 28%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
	content: "";
	transform: skewX(-20deg) translateX(-320%);
	animation: mespaco-exclusive-shine 7.2s ease-in-out infinite;
}

.mespaco-exclusive-badge__mark {
	display: grid;
	width: 1.04rem;
	aspect-ratio: 1;
	place-items: center;
	color: #fff;
	background: linear-gradient(145deg, #bb3036, #7b1a1e);
	border-radius: 50%;
	box-shadow: 0 0.18rem 0.42rem rgba(123, 26, 30, 0.22);
	font-size: 0.58rem;
}

.mespaco-exclusive-badge small {
	color: rgba(102, 28, 32, 0.66);
	font: 700 0.49rem/1.2 Arial, sans-serif;
	letter-spacing: 0.06em;
}

.mespaco-exclusive-slot {
	display: flex;
	min-width: 0;
	min-height: 1.85rem;
	align-items: center;
	justify-content: center;
}

.mespaco-exclusive-slot:empty::before {
	display: block;
	height: 1.7rem;
	content: "";
}

@keyframes mespaco-exclusive-shine {
	0%, 79% { transform: skewX(-20deg) translateX(-320%); }
	91%, 100% { transform: skewX(-20deg) translateX(620%); }
}

@media (max-width: 34rem) {
	.mespaco-exclusive-badge {
		min-height: 1.55rem;
		padding-inline: 0.5rem;
		font-size: 0.61rem;
	}

	.mespaco-exclusive-badge small { display: none; }
	.mespaco-exclusive-slot { min-height: 1.68rem; }
}

@media (prefers-reduced-motion: reduce) {
	.mespaco-exclusive-badge::after { animation: none; }
}
