/* ========================================================================
 * Thẻ tin tức (.ncard): dùng ở section Tin tức trang chủ và trang danh sách tin.
 * ====================================================================== */

.ncard {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--color-heading);
	border-radius: clamp(1.25rem, 0.6786rem + 0.8929vw, 1.75rem); /* 20 → 28 */
	background: var(--color-white);
}

.ncard__media {
	display: block;
	aspect-ratio: 461 / 238;
	overflow: hidden;
}

.ncard__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms var(--ease);
}

.ncard:hover .ncard__image {
	transform: scale(1.04);
}

.ncard__tag {
	position: absolute;
	top: clamp(1rem, 1.5625vw, 1.875rem); /* 16 → 30 */
	left: clamp(0.75rem, 0.0357rem + 1.1161vw, 1.5rem);
	padding: 0.3em 2.5em 0.3em 0.6em;
	background: linear-gradient(90deg, var(--color-heading) 55%, transparent);
	color: var(--color-white);
	font-size: clamp(0.6875rem, 0.5446rem + 0.2232vw, 0.8125rem); /* 11 → 13 */
	font-weight: var(--fw-bold);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	transition: filter var(--duration) var(--ease);
}

.ncard__body {
	padding: clamp(0.75rem, 0.5357rem + 0.3348vw, 0.9375rem) clamp(1rem, 0.2857rem + 1.1161vw, 1.625rem) clamp(1.5rem, 0.7857rem + 1.1161vw, 2.5rem);
}

.ncard__date {
	display: block;
	color: var(--color-gray-light);
	font-size: var(--fs-xs);
}

.ncard__date::before {
	content: "◆ ";
}

.ncard__title {
	display: -webkit-box;
	margin-top: 0.2em;
	overflow: hidden;
	font-size: var(--fs-title-xs);
	text-align: justify;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.ncard__tag:hover {
	filter: brightness(1.08);
}

.ncard__title a:hover {
	text-decoration: underline;
}

.ncard__excerpt {
	display: -webkit-box;
	margin-top: 0.4em;
	overflow: hidden;
	color: var(--color-gray);
	font-size: var(--fs-md);
	line-height: 1.2;
	text-align: justify;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
