/* ============================================================
   메인 홈 V2 — "검색 센터드" (design_handoff_main_home_v2 이식)
   ------------------------------------------------------------
   토큰: DS v2.1 Deep Jade (colors_and_type.css)를 .mv2 스코프로
   재정의 — 전역 :root(Warm Canvas)와 격리. 페이지 배경은 순백 #fff.
   규칙: 카드 아웃라인 금지(그림자+여백) · 헤어라인은 콘텐츠 내부만 ·
   제이드 허용처는 펄스 점 2곳·바로가기 hover·primary CTA 1개뿐 ·
   검색 버튼·LIVE 스트립은 잉크(gray-900) · 배지 대부분 neutral ·
   Amber 는 BEST 배지·amber-dot 만 · 이모지 금지(Lucide 스트로크).
   ============================================================ */

/* Inter Variable (latin subset, 셀프호스팅 — CDN 회피 원칙) */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/InterVariable-latin.woff2') format('woff2-variations');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
		U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── 페이지 스코프: GP 컨테이너 해제 + 순백 배경 ── */
body.page-template-page-main-v2 {
	background: #fff;
	/* 사이트 공통 공지 띠(nowrap)가 만드는 가로 오버플로를 이 페이지에서만 차단. */
	overflow-x: clip;
}
body.page-template-page-main-v2 #page.grid-container {
	max-width: 100%;
}
body.page-template-page-main-v2 #page,
body.page-template-page-main-v2 .site-content {
	background: #fff;
}

/* ── 토큰 (스코프 재정의) ── */
.mv2 {
	--primary-50:  #EEF9F6;
	--primary-100: #D2F1E7;
	--primary-500: #059669;
	--primary-600: #047E57;
	--primary-700: #036546;
	--amber-50:  #FAF2E1;
	--amber-500: #C5870F;
	--amber-700: #95650A;
	--gray-50:  #F7F7F5;
	--gray-100: #F0F0ED;
	--gray-200: #E6E6E2;
	--gray-300: #D4D4CF;
	--gray-500: #8A8A85;
	--gray-700: #45453F;
	--gray-900: #1B1B18;
	--shadow-xs:    0 1px 2px rgba(17, 17, 16, 0.04);
	--shadow-sm:    0 1px 2px rgba(17, 17, 16, 0.04), 0 2px 6px rgba(17, 17, 16, 0.04);
	--shadow-md:    0 1px 3px rgba(17, 17, 16, 0.05), 0 6px 20px rgba(17, 17, 16, 0.06);
	--shadow-hover: 0 2px 6px rgba(17, 17, 16, 0.06), 0 14px 36px rgba(17, 17, 16, 0.11);
	--font-kr: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', system-ui, sans-serif;
	--font-en: 'Inter', 'Pretendard', system-ui, sans-serif;
	--font-mono: 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;

	font-family: var(--font-kr);
	color: var(--gray-700);
	width: 100%;
	/* GP .site-content(flex) 의 flex item — 콘텐츠 최소폭 수축 거부 방지 */
	min-width: 0;
	max-width: 100%;
	-webkit-font-smoothing: antialiased;
}
.mv2 *,
.mv2 *::before,
.mv2 *::after {
	box-sizing: border-box;
}
.mv2 a {
	text-decoration: none;
}
.mv2 [hidden] {
	display: none !important;
}
/* style.css 전역 누수 리셋: .site-content img:hover{brightness(85%)} */
.mv2 img:hover {
	-webkit-filter: none !important;
	filter: none !important;
	cursor: pointer;
}

/* ── 공통 컴포넌트 ── */
.mv2-wrap {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 28px;
	width: 100%;
}
.mv2-eyebrow {
	display: inline-block;
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gray-500); /* eyebrow--muted — 제이드는 진짜 강조에만 */
}
.mv2-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 22px;
	height: 42px;
	font-family: var(--font-kr);
	font-size: 14px;
	font-weight: 600;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
	white-space: nowrap;
	text-decoration: none;
}
.mv2-btn:focus {
	outline: none;
}
.mv2-btn:focus-visible {
	outline: 2px solid var(--gray-300);
	outline-offset: 2px;
}
.mv2-btn-primary {
	background: var(--primary-500);
	color: #fff;
}
.mv2-btn-primary:hover {
	background: var(--primary-700);
	color: #fff;
}
.mv2-btn-primary:active {
	transform: translateY(1px);
}
.mv2-btn-secondary {
	background: var(--gray-100);
	color: var(--gray-900);
}
.mv2-btn-secondary:hover {
	background: var(--gray-200);
	color: var(--gray-900);
}
.mv2-btn-secondary:active {
	transform: translateY(1px);
}
.mv2-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: var(--shadow-md);
	transition: box-shadow .2s ease, transform .2s ease;
}
.mv2-card--tap {
	cursor: pointer;
}
.mv2-card--tap:hover {
	box-shadow: var(--shadow-hover);
	transform: translateY(-2px);
}
.mv2-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 2px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	font-family: var(--font-en);
	white-space: nowrap;
}
.mv2-badge-amber   { background: var(--amber-50); color: var(--amber-700); }
.mv2-badge-error   { background: #FBE6E6;         color: #A82F2F; }
.mv2-badge-neutral { background: var(--gray-100); color: var(--gray-700); }
.mv2-amber-dot {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 600;
	color: var(--gray-700);
}
.mv2-amber-dot::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	background: var(--amber-500);
}
/* 펄스 점 — 실시간 상태 표시 2곳(LIVE 스트립·커뮤니티 NOW) 한정 승인 애니메이션 */
.mv2-pulse {
	position: relative;
	flex: none;
	display: inline-flex;
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	background: var(--primary-500);
}
.mv2-pulse::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: var(--primary-500);
	animation: mv2Pulse 2.2s ease-out infinite;
}
.mv2-pulse--lg {
	width: 9px;
	height: 9px;
}
@keyframes mv2Pulse {
	0%   { transform: scale(1);   opacity: .5; }
	70%  { transform: scale(2.4); opacity: 0; }
	100% { transform: scale(2.4); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.mv2-pulse::after { animation: none; }
}

/* ── LIVE 스트립 (헤더 위 전폭 띠, 비 sticky) — 잉크 배경 + 제이드 펄스 ── */
.mv2-strip {
	background: var(--gray-900);
	padding: 11px 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}
.mv2-strip-live {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: #fff;
}
.mv2-strip-title {
	font-size: 13.5px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.92);
}
.mv2-strip-badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--gray-900);
	background: #fff;
	padding: 3px 9px;
	border-radius: 2px;
	white-space: nowrap;
}
.mv2-strip-badge--members {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}
.mv2 a.mv2-strip-link {
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	transition: opacity .15s ease;
}
.mv2 a.mv2-strip-link:hover {
	color: #fff;
	opacity: .85;
}

/* ── 히어로 — 중앙 검색 ── */
.mv2-hero {
	max-width: 840px;
	margin: 0 auto;
	padding: 56px 28px 0;
	text-align: center;
}
.mv2-hero-logo {
	height: 24px;
	width: auto;
	display: block;
	margin: 0 auto 20px;
}
.mv2-h1 {
	font-family: var(--font-kr);
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: -0.03em;
	font-weight: 700;
	color: var(--gray-900);
	margin: 0 0 26px;
}
.mv2-search {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 9999px;
	box-shadow: var(--shadow-md);
	padding: 8px 8px 8px 24px;
	max-width: 640px;
	margin: 0 auto;
}
.mv2-search-ic {
	color: var(--gray-500);
	display: flex;
	flex: none;
}
.mv2-search input[type="text"] {
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	background: transparent;
	font-size: 16px;
	font-family: inherit;
	color: var(--gray-900);
	height: auto;
	padding: 0;
	margin: 0;
	box-shadow: none;
}
.mv2-search input[type="text"]:focus {
	border: none;
	box-shadow: none;
	background: transparent;
}
.mv2-search input[type="text"]::placeholder {
	color: var(--gray-500);
}
/* 검색 버튼 = 잉크 필 (시안 확정 — 제이드 아님) */
.mv2-search-btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	border-radius: 9999px;
	height: 46px;
	padding: 0 26px;
	background: var(--gray-900);
	color: #fff;
	font-family: var(--font-kr);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition: background-color .15s ease;
}
.mv2-search-btn:hover {
	background: #000;
	color: #fff;
}
.mv2-search-btn:focus {
	outline: none;
}
.mv2-search-btn:focus-visible {
	outline: 2px solid var(--gray-300);
	outline-offset: 2px;
}

/* 실시간 인기 검색어 행 */
.mv2-trend {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 14px;
	margin-top: 18px;
	flex-wrap: wrap;
}
.mv2-trend-label {
	flex: none;
	font-size: 12px;
	font-weight: 600;
	color: var(--gray-500);
	letter-spacing: 0.02em;
}
.mv2-trend-sep {
	flex: none;
	width: 1px;
	height: 11px;
	background: var(--gray-200);
	align-self: center;
}
.mv2-trend-list {
	display: flex;
	align-items: baseline;
	gap: 18px;
	flex-wrap: wrap;
	justify-content: center;
}
.mv2 a.mv2-trend-item {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	transition: opacity .15s ease;
}
.mv2 a.mv2-trend-item:hover {
	opacity: .72;
}
.mv2-trend-rank {
	font-family: var(--font-en);
	font-size: 11.5px;
	font-weight: 700;
	color: var(--gray-900);
	font-feature-settings: 'tnum' 1;
}
.mv2-trend-rank.is-muted {
	color: var(--gray-500);
}
.mv2-trend-term {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--gray-700);
}
.mv2 a.mv2-trend-item.is-top .mv2-trend-term {
	color: var(--gray-900);
}

/* ── 바로가기 (아이콘 온리 — 채택안 1a) + 세그먼트 탭 ── */
.mv2-quick-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 30px 28px 0;
}
.mv2-quick {
	display: flex;
	justify-content: center;
	gap: 6px;
	flex-wrap: wrap;
}
/* 배경·박스·보더 없음. hover = 아이콘 제이드 + 2px 리프트 (라벨은 gray-700 유지) */
.mv2 a.mv2-quick-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 11px;
	width: 96px;
	padding: 12px 4px;
	color: var(--gray-900);
	transition: color .15s ease, transform .15s ease;
}
.mv2 a.mv2-quick-item:hover {
	color: var(--primary-600);
	transform: translateY(-2px);
}
.mv2-quick-item svg {
	flex: none;
}
.mv2-quick-label {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gray-700);
}

.mv2-seg-row {
	display: flex;
	justify-content: center;
	margin-top: 22px;
}
.mv2-seg {
	display: inline-flex;
	gap: 4px;
	padding: 5px;
	background: var(--gray-100);
	border-radius: 9999px;
}
.mv2-seg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: 9999px;
	cursor: pointer;
	border: none;
	font-family: var(--font-kr);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--gray-500);
	background: transparent;
	box-shadow: none;
	transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
	white-space: nowrap;
}
.mv2-seg-btn.is-active {
	color: var(--gray-900);
	background: #fff;
	box-shadow: var(--shadow-sm);
}

/* ── 본문 그리드 (1fr : 344px sticky 레일) ── */
.mv2-body {
	padding-top: 44px;
	padding-bottom: 56px;
}
.mv2-body-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 344px;
	gap: 40px;
	align-items: start;
}
.mv2-main {
	min-width: 0;
}
.mv2-sec + .mv2-sec {
	margin-top: 36px;
}
.mv2-shead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 16px;
}
.mv2-shead--center {
	align-items: center;
}
.mv2-shead .mv2-eyebrow {
	margin-bottom: 8px;
}
.mv2-h2 {
	font-family: var(--font-kr);
	font-size: 22px;
	font-weight: 700;
	color: var(--gray-900);
	letter-spacing: -0.02em;
	margin: 0;
}
.mv2 a.mv2-more {
	font-size: 13px;
	font-weight: 600;
	color: var(--gray-700);
	white-space: nowrap;
	flex: none;
	transition: color .15s ease;
}
.mv2 a.mv2-more:hover {
	color: var(--gray-900);
}
.mv2-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.mv2-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

/* ── 썸네일 공통 ── */
.mv2-thumb {
	position: relative;
	background: var(--gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gray-300);
	overflow: hidden;
}
.mv2-thumb--f    { aspect-ratio: 16 / 9; border-radius: 12px; box-shadow: var(--shadow-sm); }
.mv2-thumb--r    { aspect-ratio: 16 / 9; border-radius: 8px; width: 128px; flex: none; }
.mv2-thumb--s    { aspect-ratio: 9 / 16; border-radius: 12px; }
.mv2-thumb--c    { aspect-ratio: 16 / 9; border-radius: 0; }
.mv2-thumb--live { aspect-ratio: 16 / 8; border-radius: 0; }
.mv2-thumb-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv2-thumb-ph {
	position: relative;
}
.mv2-tl {
	position: absolute;
	left: 14px;
	top: 14px;
	z-index: 1;
}
.mv2-thumb--c .mv2-tl    { left: 10px; top: 10px; }
.mv2-thumb--live .mv2-tl { left: 12px; top: 12px; }
.mv2-time {
	position: absolute;
	right: 12px;
	bottom: 12px;
	background: rgba(27, 27, 24, 0.82);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 4px;
	font-family: var(--font-mono);
	z-index: 1;
}
.mv2-time--xs {
	right: 5px;
	bottom: 5px;
	font-size: 9.5px;
	padding: 1px 4px;
	border-radius: 3px;
}
.mv2-time--sm {
	right: 7px;
	bottom: 7px;
	font-size: 10px;
	padding: 2px 5px;
	border-radius: 3px;
}

/* ── 무료 강의 — 대형 1 + 리스트 5 ── */
.mv2-free {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	align-items: flex-start;
}
.mv2 a.mv2-fcard {
	display: block;
	flex: 1.6 1 340px;
	min-width: 0;
	transition: transform .15s ease;
}
.mv2 a.mv2-fcard:hover {
	transform: translateY(-3px);
}
.mv2-fcard-body {
	padding: 14px 2px 0;
}
.mv2-fcard-title {
	font-family: var(--font-kr);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.015em;
	color: var(--gray-900);
	margin: 0 0 5px;
}
.mv2-fcard-meta {
	font-size: 12.5px;
	color: var(--gray-500);
}
.mv2-lrows {
	display: flex;
	flex-direction: column;
	gap: 13px;
	flex: 1 1 280px;
	min-width: 0;
}
.mv2 a.mv2-lrow {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	transition: opacity .15s ease;
}
.mv2 a.mv2-lrow:hover {
	opacity: .78;
}
.mv2-lrow-main {
	min-width: 0;
	padding-top: 2px;
}
.mv2-lrow-title {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--gray-900);
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mv2-lrow-meta {
	font-size: 11.5px;
	color: var(--gray-500);
	margin-top: 4px;
}

/* ── 쇼츠 캐러셀 ── */
.mv2-carousel {
	margin-top: 26px;
}
.mv2-car-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.mv2-car-title {
	font-family: var(--font-kr);
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	color: var(--gray-700);
}
.mv2-car-nav {
	display: flex;
	gap: 8px;
}
.mv2-car-btn {
	width: 34px;
	height: 34px;
	border: none;
	background: var(--gray-100);
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--gray-700);
	transition: background-color .15s ease;
	padding: 0;
}
.mv2-car-btn:hover {
	background: var(--gray-200);
}
.mv2-scroller {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 6px;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.mv2-scroller::-webkit-scrollbar {
	display: none;
}
.mv2 a.mv2-scard {
	flex: none;
	width: 154px;
	scroll-snap-align: start;
	display: block;
	transition: transform .15s ease;
}
.mv2 a.mv2-scard:hover {
	transform: translateY(-3px);
}
.mv2-scard-title {
	padding: 9px 2px 0;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gray-900);
	line-height: 1.4;
	min-height: 34px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ── 정규 클래스 카드 ── */
.mv2 a.mv2-ccard {
	display: block;
	padding: 0;
	overflow: hidden;
}
.mv2-ccard-body {
	padding: 16px 18px 18px;
}
.mv2-ccard-title {
	font-family: var(--font-kr);
	font-size: 15.5px;
	font-weight: 700;
	color: var(--gray-900);
	margin: 0 0 6px;
	line-height: 1.4;
}
.mv2-ccard-meta {
	font-size: 12px;
	color: var(--gray-500);
	margin-bottom: 10px;
}
.mv2-ccard-price {
	display: flex;
	align-items: baseline;
	gap: 4px;
}
.mv2-price-num {
	font-family: var(--font-en);
	font-size: 17px;
	font-weight: 800;
	color: var(--gray-900);
	font-feature-settings: 'tnum' 1;
}
.mv2-price-unit {
	font-size: 12px;
	color: var(--gray-500);
}

/* ── 멤버십 라이브 — 세로형 2-업 카드 ── */
.mv2 a.mv2-livecard {
	display: block;
	padding: 0;
	overflow: hidden;
}
.mv2-livecard-body {
	padding: 18px 20px 20px;
}
.mv2-livecard-meta {
	font-size: 12px;
	color: var(--gray-500);
	margin-bottom: 6px;
}
.mv2-livecard-title {
	font-family: var(--font-kr);
	font-size: 16px;
	font-weight: 700;
	color: var(--gray-900);
	margin: 0 0 14px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mv2 .mv2-livecard-btn {
	width: 100%;
}
.mv2-live-empty {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 20px;
	background: var(--gray-100);
	border-radius: 12px;
	color: var(--gray-500);
	font-size: 13.5px;
}
.mv2-live-empty svg {
	flex: none;
	color: var(--gray-300);
}

/* ── 우측 레일 (sticky) ── */
.mv2-rail {
	display: flex;
	flex-direction: column;
	gap: 18px;
	position: sticky;
	top: 84px; /* 공통 네비(60px) + 24px */
}

/* 커뮤니티 NOW 카드 */
.mv2-now {
	padding: 22px;
}
.mv2-now-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.mv2-now-title {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	font-family: var(--font-kr);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.01em;
	white-space: nowrap;
	color: var(--gray-900);
	margin: 0;
}
.mv2-now-live {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: none;
}
.mv2-avastack {
	display: flex;
	align-items: center;
}
.mv2-pa {
	width: 24px;
	height: 24px;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 700;
	color: var(--gray-700);
	flex-shrink: 0;
	border: 2px solid #fff;
	margin-left: -7px;
	background: var(--gray-200);
	overflow: hidden;
	position: relative;
}
.mv2-pa:first-child {
	margin-left: 0;
}
.mv2-pa img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mv2-now-count {
	font-size: 12px;
	font-weight: 600;
	color: var(--gray-700);
	white-space: nowrap;
}
.mv2-now-count b {
	color: var(--gray-900);
	font-weight: 600;
	font-feature-settings: 'tnum' 1;
}
.mv2-now-rows {
	display: flex;
	flex-direction: column;
	margin-top: 14px;
}
.mv2 a.mv2-hot {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 11px 0;
	border-top: 1px solid var(--gray-200);
	transition: opacity .15s ease;
}
.mv2 a.mv2-hot:last-child {
	padding-bottom: 2px;
}
.mv2 a.mv2-hot:hover {
	opacity: .78;
}
.mv2-hot-title {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--gray-900);
	line-height: 1.45;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mv2-hot-meta {
	font-size: 11.5px;
	color: var(--gray-500);
}
.mv2-now .mv2-btn {
	width: 100%;
	margin-top: 16px;
}

/* 광고 카드 (소재는 CMS 교체형) */
.mv2-adcard {
	padding: 0;
	overflow: hidden;
	position: relative;
}
.mv2-adcard-label {
	position: absolute;
	left: 10px;
	top: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--gray-500);
	background: rgba(255, 255, 255, 0.85);
	padding: 3px 8px;
	border-radius: 2px;
	z-index: 2;
	pointer-events: none;
}
.mv2-adcard img {
	display: block;
	width: 100%;
	height: auto;
}

/* 위캔두 멤버십 카드 — 흰 카드 (v1 의 primary-50 배경 폐기) */
.mv2-mscard {
	padding: 24px;
}
.mv2-mscard .mv2-eyebrow {
	margin-bottom: 10px;
}
.mv2-ms-title {
	font-family: var(--font-kr);
	font-size: 18px;
	font-weight: 700;
	color: var(--gray-900);
	margin: 0 0 4px;
	letter-spacing: -0.01em;
}
.mv2-ms-sub {
	font-size: 12.5px;
	color: var(--gray-500);
	margin-bottom: 16px;
}
.mv2-ms-rows {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-bottom: 18px;
}
.mv2-ms-row {
	display: flex;
	align-items: center;
	gap: 9px;
}
.mv2-ms-row svg {
	flex: none;
	color: var(--gray-900); /* 체크는 잉크 — 제이드 아님 */
}
.mv2-ms-row span {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--gray-700);
}
.mv2-ms-pricerow {
	border-top: 1px solid var(--gray-200);
	padding-top: 14px;
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin-bottom: 2px;
}
.mv2-ms-cur {
	font-size: 13px;
	color: var(--gray-500);
}
.mv2-ms-price {
	font-family: var(--font-en);
	font-size: 26px;
	font-weight: 800;
	color: var(--gray-900);
	letter-spacing: -0.02em;
	font-feature-settings: 'tnum' 1;
}
.mv2-mscard .mv2-amber-dot {
	margin-bottom: 16px;
}
.mv2-mscard .mv2-btn {
	width: 100%;
}

/* ============================================================
   반응형 — 태블릿(≤1024) · 모바일(≤767)
   가이드: 검색바 풀폭 · 바로가기 2행 래핑(flex-wrap) ·
   본문 1컬럼(레일은 본문 아래) · 캐러셀 유지 · 히트 타깃 ≥44px
   ============================================================ */
@media (max-width: 1024px) {
	.mv2-wrap,
	.mv2-hero,
	.mv2-quick-wrap {
		padding-left: 24px;
		padding-right: 24px;
	}
	.mv2-grid-3 {
		grid-template-columns: repeat(2, 1fr);
	}
	.mv2-body-grid {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 28px;
	}
}

@media (max-width: 767px) {
	.mv2-wrap,
	.mv2-hero,
	.mv2-quick-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}
	.mv2-strip {
		padding: 10px 16px;
		gap: 10px;
	}
	.mv2-hero {
		padding-top: 36px;
	}
	.mv2-hero-logo {
		margin-bottom: 16px;
	}
	.mv2-h1 {
		font-size: 29px;
	}
	.mv2-search {
		padding: 6px 6px 6px 18px;
	}
	.mv2-search-btn {
		height: 44px; /* 히트 타깃 */
		padding: 0 20px;
	}
	.mv2-quick-wrap {
		padding-top: 24px;
	}
	.mv2 a.mv2-quick-item {
		width: 84px;
	}
	.mv2-seg-row {
		margin-top: 20px;
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	.mv2-seg-row::-webkit-scrollbar {
		display: none;
	}
	.mv2-seg {
		flex: none;
	}
	.mv2-seg-btn {
		padding: 12px 18px; /* 히트 타깃 ≥44px */
	}
	.mv2-body {
		padding-top: 36px;
	}
	.mv2-body-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.mv2-free {
		gap: 22px;
	}
	.mv2-grid-3,
	.mv2-grid-2 {
		grid-template-columns: 1fr;
	}
	.mv2-rail {
		position: static;
	}
	.mv2-car-btn {
		width: 44px;
		height: 44px; /* 히트 타깃 */
	}
}
