/* =========================================================
   PMV2 Grid — ГРОМКОГОВОРИТЕЛЬ ЗВУКА (ЦЕНТР, КРУПНЫЙ)
   ========================================================= */

.pmv2-card__thumb {
	position: relative;
}

/* контейнер индикатора */
.pmv2-card__speaker {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(3);
	transform-origin: center;

	z-index: 3;

	width: 48px;
	height: 48px;

	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);

	display: flex;
	align-items: center;
	justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.85);
	pointer-events: none;
}

/* сам динамик */
.pmv2-card__speaker::before {
	content: "";
	display: block;

	width: 46px;
	height: 46px;

	background: currentColor;
	color: #fff;

	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10v4h4l5 5V5L7 10H3z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10v4h4l5 5V5L7 10H3z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* звуковая волна */
.pmv2-card__speaker::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-2px, -50%) rotate(40deg);

	width: 22px;
	height: 22px;

	border-right: 2px solid rgba(255, 255, 255, 0.7);
	border-top: 2px solid rgba(255, 255, 255, 0.7);
	border-radius: 50%;

	opacity: 0.9;
	animation: pmv2-speaker-wave 1.5s ease-out infinite;
}

@keyframes pmv2-speaker-wave {
	0% {
		transform: translate(-2px, -50%) rotate(40deg) scale(0.75);
		opacity: 0.4;
	}

	50% {
		opacity: 0.9;
	}

	100% {
		transform: translate(-2px, -50%) rotate(40deg) scale(1.25);
		opacity: 0;
	}
}
/* =========================================================
   PMV2 Grid — ИНДИКАТОР ЗВУКА (ЦЕНТР, КРУПНЫЙ)
   ========================================================= */