/**
 * 图文交替列表（Media + Text Rows）
 *
 * 一条 = 一段「图 + 编号 + 标题 + 描述 + 按钮」
 * 桌面端左右交替（可切全左/全右），手机端自动上下堆叠
 * 进场动画复用通用动效层：图片从所在侧滑入 + 文字逐行淡入（--wjc-delay 控制节奏）
 */

.wjc-mt {
	--wjc-mt-accent: #b6c81a;
	--wjc-mt-img-cols: 55%;
	--wjc-mt-col-gap: 56px;
	--wjc-mt-row-gap: 64px;
	--wjc-mt-radius: 8px;
	--wjc-mt-divider: rgba(17, 24, 39, 0.09);
	--wjc-mt-media-bg: transparent;
	--wjc-mt-btn-hover-bg: #16181b;
	--wjc-mt-btn-hover-color: #ffffff;

	position: relative;
	box-sizing: border-box;
	padding: 70px 20px;
}

.wjc-mt *,
.wjc-mt *::before,
.wjc-mt *::after {
	box-sizing: border-box;
}

/* ==================== 单段 ==================== */
.wjc-mt__row {
	display: grid;
	grid-template-columns: var(--wjc-mt-img-cols) minmax(0, 1fr);
	gap: var(--wjc-mt-col-gap);
	align-items: center;
	max-width: 1300px;
	margin: 0 auto;
}

.wjc-mt__row.is-reverse {
	grid-template-columns: minmax(0, 1fr) var(--wjc-mt-img-cols);
}

.wjc-mt__row.is-reverse .wjc-mt__media {
	order: 2;
}

.wjc-mt__row + .wjc-mt__row {
	margin-top: var(--wjc-mt-row-gap);
}

/* 有分割线时：线居中放在段与段的间距里 */
.wjc-mt.has-divider .wjc-mt__row + .wjc-mt__row {
	margin-top: calc(var(--wjc-mt-row-gap) / 2);
	padding-top: calc(var(--wjc-mt-row-gap) / 2);
	border-top: 1px solid var(--wjc-mt-divider);
}

/* ==================== 图片 ==================== */
.wjc-mt__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--wjc-mt-radius);
	background-color: var(--wjc-mt-media-bg);
}

.wjc-mt__media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (hover: hover) {
	.wjc-mt__row:hover .wjc-mt__media img {
		transform: scale(1.03);
	}
}

/* ==================== 文字 ==================== */
.wjc-mt__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	min-width: 0;
}

.wjc-mt__index {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.18em;
	color: #b9bcc1;
}

.wjc-mt__title {
	margin: 0;
	font-size: clamp(21px, 2vw, 31px);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: #16181b;
	word-break: keep-all;
}

.wjc-mt__desc {
	max-width: 54ch;
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
	color: #6b6f76;
	word-break: keep-all;
}

.wjc-mt__actions {
	margin-top: 8px;
}

.wjc-mt__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 18px;
	border: 1px solid rgba(17, 24, 39, 0.18);
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	color: #2b2d31;
	text-decoration: none;
	transition:
		background-color 0.28s ease,
		border-color 0.28s ease,
		color 0.28s ease,
		transform 0.28s ease;
}

.wjc-mt__btn svg {
	flex: 0 0 auto;
	transition: transform 0.28s ease;
}

.wjc-mt__btn:active {
	transform: scale(0.97);
}

@media (hover: hover) {
	.wjc-mt__btn:hover {
		background-color: var(--wjc-mt-btn-hover-bg);
		border-color: var(--wjc-mt-btn-hover-bg);
		color: var(--wjc-mt-btn-hover-color);
		transform: translateY(-1px);
	}

	.wjc-mt__btn:hover svg {
		transform: translateX(3px);
	}
}

.wjc-mt__btn:focus-visible {
	outline: 2px solid var(--wjc-mt-accent);
	outline-offset: 3px;
}

/* ==================== 响应式 ==================== */
@media (max-width: 1024px) {
	.wjc-mt {
		padding: 52px 20px;
		--wjc-mt-col-gap: 26px;
		--wjc-mt-row-gap: 44px;
	}

	.wjc-mt__row,
	.wjc-mt__row.is-reverse {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.wjc-mt__row.is-reverse .wjc-mt__media {
		order: 0;
	}

	.wjc-mt__desc {
		max-width: none;
	}
}

@media (max-width: 767px) {
	.wjc-mt {
		padding: 40px 16px;
		--wjc-mt-row-gap: 34px;
	}

	.wjc-mt__body {
		gap: 10px;
	}

	.wjc-mt__title {
		font-size: 20px;
	}

	.wjc-mt__desc {
		font-size: 13.5px;
		line-height: 1.8;
	}

	.wjc-mt__btn {
		padding: 8px 15px;
		font-size: 12.5px;
	}
}

/* ==================== 降低动效 ==================== */
@media (prefers-reduced-motion: reduce) {
	.wjc-mt__media img,
	.wjc-mt__btn,
	.wjc-mt__btn svg {
		transition: none;
	}

	.wjc-mt__row:hover .wjc-mt__media img,
	.wjc-mt__btn:hover {
		transform: none;
	}
}
