/* ============================================================================
 * Карточка товара — общий слой.
 *
 * Один и тот же .ms-pcard рисуется на главной (карусели и полки), на странице
 * товара («с этим покупают», похожие, вы смотрели) и в избранном. Поэтому файл
 * лежит отдельно от home.css и подключается всегда, а не только на главной.
 *
 * Фото — квадрат с object-fit: contain на белом: снимки товаров сняты на белом
 * фоне, при cover их обрезало бы по краям.
 * ==========================================================================*/
.ms-pcard {
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border: 1px solid var(--ms-line);
	border-radius: var(--ms-r);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ms-pcard:hover {
	transform: translateY(-2px);
	border-color: var(--ms-accent);
	box-shadow: var(--ms-sh-2);
}

.ms-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	padding: 12px;
	background: #fff;
}

.ms-pcard__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ms-pcard__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.ms-pcard__badge--sale { background: var(--ms-sale); color: #fff; }
.ms-pcard__badge--hit { background: var(--ms-accent); color: var(--ms-accent-ink); }
.ms-pcard__badge--out { background: var(--ms-bg-3); color: var(--ms-ink-2); }

.ms-pcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px 14px;
	border-top: 1px solid var(--ms-line);
}

.ms-pcard__brand {
	color: var(--ms-ink-2);
	font-size: 12px;
}

.ms-pcard__title {
	margin: 0;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.35;
}

.ms-pcard__title a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--ms-ink);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.7em;
}

.ms-pcard__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--ms-ink-2);
	font-size: 12.5px;
}

.ms-pcard__stars {
	color: #e9a13b;
	letter-spacing: 1px;
}

.ms-pcard__price {
	margin-top: auto;
	font-family: var(--ms-font-head);
	font-size: 17px;
	font-weight: 700;
}

.ms-pcard__price del {
	margin-right: 5px;
	color: var(--ms-ink-2);
	font-size: 13px;
	font-weight: 400;
}

.ms-pcard__price ins {
	color: var(--ms-sale);
	text-decoration: none;
}

.ms-pcard__foot { margin-top: 10px; }

.ms-pcard__buy {
	width: 100%;
	min-height: 42px;
	padding: 0 14px;
	font-size: 14px;
}

.ms-pcard__buy.loading { opacity: .6; pointer-events: none; }
.ms-pcard__buy.added { background: var(--ms-ok); color: #fff; }
