/* ============================================================
   마이페이지(page-plugin.php) v2 덧칠 — 잉크 블랙 + 라임 (2026-10-04, MY2)
   계획: docs/plans/2026-10-04-fluxhub-design-renewal.md §6

   로드: functions.php 가 키 'plugin' 으로 이 파일을 자동 큐잉한다(page-plugin.php → plugin).
   순서: base.css → plugin.css → v2.css → plugin-light.css → 플러그인 스킨. plugin-light.css 가 뒤라서
   같은 무게면 진다 — 그래서 전부 `body.fx-v2 .fs-plugin` 을 앞에 붙여 이긴다.
   원장 플러그인(fluxshop·fluxmember·fluxboard·fluxhub-common)은 건드리지 않고 이 덧칠로만 바꾼다.

   원칙: 탭은 밑줄형 한 종류 / 칩은 각진 6px / 버튼은 10px / eyebrow·회색 섹션 배경·큰 검정 면 없음 /
         한 화면 안 제목·본문·버튼은 같은 왼쪽 기준선.
   ============================================================ */

/* ── 1. 토큰: 원장 계정 토큰(--acct-*)과 pill 토큰을 v2 로 ─────────────────── */
body.fx-v2 {
	--acct-warm: var(--v2-surface);
	--acct-hover: var(--v2-surface);
	--acct-line: var(--v2-line);
	--acct-line-strong: var(--v2-line-2);
	--acct-field-line: var(--v2-line-2);
	--acct-ink: var(--v2-ink);
	--acct-ink-2: var(--v2-ink-2);
	--acct-muted: var(--v2-ink-3);
	--acct-faint: var(--v2-ink-3);
	--acct-brand: var(--v2-ink);
	--acct-brand-ink: var(--v2-ink);
	--acct-brand-lite: var(--v2-lime);
	--acct-on-brand: #fff;
	--acct-brand-soft: var(--v2-lime-soft);
	--acct-dark: var(--v2-ink);
	--acct-radius: 8px;
	--acct-radius-pill: 10px;
	--acct-danger: var(--v2-danger);
}
body.fx-v2 .fs-plugin {
	--fs-r-full: 10px;     /* 알약 → 10px (plugin-light 의 var(--fs-r-full) 전부) */
}

/* ── 2. 틀: 제목·메뉴·본문이 같은 왼쪽 기준선 ─────────────────────────────── */
body.fx-v2.page-id-19 .fs-plugin .fluxmember-mypage {
	max-width: 100%;
	padding: 0;
	margin: 8px 0 0;
	gap: clamp(32px, 5vw, 64px);
}
body.fx-v2.page-id-19 .fs-plugin .fluxmember-mypage__content { max-width: 880px; }
body.fx-v2 .fs-plugin .fluxmember-mypage__user-card {
	padding: 0 0 20px;
	background: none;
	border-radius: 0;
	border-bottom: 1px solid var(--v2-line);
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fluxmember-mypage__user-name { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
body.fx-v2 .fs-plugin .fluxmember-mypage__user-email { color: var(--v2-ink-3); }

/* ── 3. 왼쪽 메뉴: 현재 위치 = 검정 글자 + 왼쪽 2px 검정 막대, 3그룹 간격 ───── */
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a {
	padding: 12px 0 12px 16px;
	color: var(--v2-ink-3);
	font-size: 15px;
	background: none;
}
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a:hover {
	background: none;
	color: var(--v2-ink);
	padding-left: 16px;
}
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a:hover::before { height: 0; }
body.fx-v2 .fs-plugin .fluxmember-mypage .fluxmember-mypage__menu-item.is-active a {
	background: none;
	border-left: 0;
	color: var(--v2-ink);
	font-weight: 700;
}
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a span,
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a strong { color: var(--v2-ink); font-weight: 700; }
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a::before,
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a:hover::before {
	top: 0;
	bottom: 1px;
	height: auto;
	width: 2px;
	background: var(--v2-ink);
	transform: none;
}
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item--logout a { color: var(--v2-ink-3); font-size: 14px; }

/* 그룹: 사이트 / 쇼핑 / 활동 / 계정 — 묶음 제목(li.__menu-title)으로 나눈다(2026-10-06) */
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-title {
	margin: 0;
	padding: 0 0 4px 16px;
	color: var(--v2-ink-3);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	list-style: none;
}
@media (min-width: 1025px) {
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-title { margin-top: 32px; }
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-title:first-child { margin-top: 24px; }
	/* 묶음 마지막 줄의 밑줄은 지운다(제목이 그 자리를 대신한다) */
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item:has(+ .fluxmember-mypage__menu-title) a { border-bottom-color: transparent; }
}

/* 1024 이하: 세로 메뉴 → 가로 밑줄 탭(원장 규칙을 v2 색으로). 메뉴 안에서만 가로로 민다. */
@media (max-width: 1024px) {
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu {
		display: flex;
		flex-wrap: nowrap;
		gap: 20px;
		padding: 0;
		overflow-x: auto;
		border-bottom: 1px solid var(--v2-line);
	}
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a {
		min-height: 48px;
		padding: 0;
		border-left: 0;
		border-bottom: 2px solid transparent;
		white-space: nowrap;
	}
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a:hover { padding-left: 0; }
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a { border-bottom-color: var(--v2-ink); }
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a::before { display: none; }
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a,
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item.is-active a span { color: var(--v2-ink); }
	/* 그룹 사이: 제목을 줄 안의 작은 글씨로 두고 앞에 얇은 세로선 */
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-title {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		min-height: 48px;
		padding: 0 0 0 16px;
		border-left: 1px solid var(--v2-line-2);
		white-space: nowrap;
	}
	body.fx-v2 .fs-plugin .fluxmember-mypage__menu-title:first-child { padding-left: 0; border-left: 0; }
	body.fx-v2 .fs-plugin .fluxmember-mypage__user-card { border-bottom: 0; padding-bottom: 12px; }
}

/* ── 4. 탭: 밑줄형 한 종류 (하위 탐색·쿠폰·적립금·알림·회원정보 하위) ─────── */
body.fx-v2 .fs-plugin .fhb-subnav,
body.fx-v2 .fs-plugin .fhs-cp__tabs,
body.fx-v2 .fs-plugin .fhs-pts__tabs,
body.fx-v2 .fs-plugin .fxi__tabs,
body.fx-v2 .fs-plugin .fluxmember-subtabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0 0 24px;
	padding: 0;
	overflow-x: auto;
	border: 0;
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	box-shadow: none;
	scrollbar-width: none;
}
body.fx-v2 .fs-plugin .fhb-subnav::-webkit-scrollbar,
body.fx-v2 .fs-plugin .fhs-cp__tabs::-webkit-scrollbar,
body.fx-v2 .fs-plugin .fhs-pts__tabs::-webkit-scrollbar,
body.fx-v2 .fs-plugin .fxi__tabs::-webkit-scrollbar,
body.fx-v2 .fs-plugin .fluxmember-subtabs::-webkit-scrollbar { display: none; }

body.fx-v2 .fs-plugin a.fhb-subnav__item,
body.fx-v2 .fs-plugin .fhs-cp__tab:not(#fx),
body.fx-v2 .fs-plugin .fhs-pts__tab:not(#fx),
body.fx-v2 .fs-plugin .fxi__tab:not(#fx),
body.fx-v2 .fs-plugin .fluxmember-subtab:not(#fx) {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	min-height: 48px;
	height: auto;
	margin: 0;
	padding: 0 18px 0 0;
	margin-right: 8px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: inset 0 -2px 0 transparent;
	color: var(--v2-ink-3);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color .2s ease, box-shadow .2s ease;
}
body.fx-v2 .fs-plugin a.fhb-subnav__item:hover,
body.fx-v2 .fs-plugin .fhs-cp__tab:not(#fx):hover,
body.fx-v2 .fs-plugin .fhs-pts__tab:not(#fx):hover,
body.fx-v2 .fs-plugin .fxi__tab:not(#fx):hover,
body.fx-v2 .fs-plugin .fluxmember-subtab:not(#fx):hover { color: var(--v2-ink); background: none; border-color: transparent; }
body.fx-v2 .fs-plugin a.fhb-subnav__item.is-on,
body.fx-v2 .fs-plugin a.fhb-subnav__item.is-on:hover,
body.fx-v2 .fs-plugin .fhs-cp__tab:not(#fx).is-active,
body.fx-v2 .fs-plugin .fhs-pts__tab:not(#fx).is-active,
body.fx-v2 .fs-plugin .fxi__tab--active:not(#fx),
body.fx-v2 .fs-plugin .fluxmember-subtab:not(#fx).is-active {
	background: none;
	border: 0;
	color: var(--v2-ink);
	font-weight: 700;
	box-shadow: inset 0 -2px 0 var(--v2-ink);
}
/* 회원정보: 상위(수정/탈퇴)와 하위(정보/비밀번호) 두 줄이 겹쳐 보이지 않게 하위는 작게 */
body.fx-v2 .fs-plugin .fluxmember-subtabs { margin-top: 0; }
body.fx-v2 .fs-plugin .fluxmember-subtab:not(#fx) { font-size: 14px; min-height: 44px; }

/* 본문 블록이 가운데 정렬(auto margin)로 들어와 탭 줄과 왼쪽 선이 어긋나던 것 — 모두 같은 왼쪽 기준선으로 */
body.fx-v2 .fs-plugin .fhs-mypage-section,
body.fx-v2 .fs-plugin .fluxboard-my-posts,
body.fx-v2 .fs-plugin .fbmp,
body.fx-v2 .fs-plugin .fxi {
	margin-left: 0;
	margin-right: 0;
	max-width: 100%;
}

/* ── 5. 버튼 · 칩 · 입력칸 ──────────────────────────────────────────────── */
body.fx-v2 .fs-plugin a.flux-btn,
body.fx-v2 .fs-plugin button.flux-btn,
body.fx-v2 .fs-plugin a.fhq__cta,
body.fx-v2 .fs-plugin a.fhb-tickets__new,
body.fx-v2 .fs-plugin a.fhb-wish-empty__cta,
body.fx-v2 .fs-plugin .fhs-od-btn:not(#fx) {
	border-radius: 10px;
	font-weight: 600;
	letter-spacing: -.01em;
}
body.fx-v2 .fs-plugin a.flux-btn--primary,
body.fx-v2 .fs-plugin button.flux-btn--primary,
body.fx-v2 .fs-plugin a.fhb-tickets__new,
body.fx-v2 .fs-plugin a.fhq__cta {
	background: var(--v2-ink);
	border-color: var(--v2-ink);
	color: #fff;
}
body.fx-v2 .fs-plugin a.flux-btn--primary:hover,
body.fx-v2 .fs-plugin button.flux-btn--primary:hover,
body.fx-v2 .fs-plugin a.fhb-tickets__new:hover,
body.fx-v2 .fs-plugin a.fhq__cta:hover { background: #000; border-color: #000; color: var(--v2-lime); }
body.fx-v2 .fs-plugin a.flux-btn--outline,
body.fx-v2 .fs-plugin a.flux-btn--secondary {
	background: #fff;
	border-color: var(--v2-line-2);
	color: var(--v2-ink);
}
body.fx-v2 .fs-plugin a.flux-btn--outline:hover,
body.fx-v2 .fs-plugin a.flux-btn--secondary:hover { border-color: var(--v2-ink); background: #fff; color: var(--v2-ink); }
body.fx-v2 .fs-plugin a.flux-btn--sm { height: 40px; min-width: 44px; }

/* 입력칸·셀렉트: 알약 → 8px */
body.fx-v2 .fs-plugin .fluxmember-form__input,
body.fx-v2 .fs-plugin .fluxmember-form__textarea,
body.fx-v2 .fs-plugin .fluxmember-form__select,
body.fx-v2 .fs-plugin .fhs-cp__search input,
body.fx-v2 .fs-plugin .fhs-cp__sort select,
body.fx-v2 .fs-plugin .fhs-field input {
	border-radius: 8px;
	border-color: var(--v2-line-2);
}
body.fx-v2 .fs-plugin .fhs-cp__chip:not(#fx),
body.fx-v2 .fs-plugin .fhs-cp__tag {
	border-radius: 6px;
}
body.fx-v2 .fs-plugin .fhs-cp__chip:not(#fx).is-active { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }

/* 상태 칩 = 각진 6px (플러그인 상태 클래스에 .fx-status 모양을 덧씌움) */
body.fx-v2 .fs-plugin .fhb-tickets__status:not(#fx),
body.fx-v2 .fs-plugin .fhq__status:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc__status strong,
body.fx-v2 .fs-plugin .fhs-badge,
body.fx-v2 .fs-plugin .fxm-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	min-height: 26px;
	height: auto;
	padding: 0 10px;
	border-radius: 6px;
	background: var(--v2-surface);
	color: var(--v2-ink-2);
	font-size: 13px;
	font-weight: 600;
}
body.fx-v2 .fs-plugin .fhb-tickets__status:not(#fx)::before,
body.fx-v2 .fs-plugin .fhq__status:not(#fx)::before,
body.fx-v2 .fs-plugin .fhs-oc__status strong::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}
body.fx-v2 .fs-plugin .fhb-tickets__status--done,
body.fx-v2 .fs-plugin .fhq__status--done { background: #e7f4ea; color: var(--v2-ok); }
body.fx-v2 .fs-plugin .fhb-tickets__status--wait,
body.fx-v2 .fs-plugin .fhq__status--wait { background: #fbf0dc; color: var(--v2-warn); }
body.fx-v2 .fs-plugin .fxm-badge--accent { background: var(--v2-lime); color: var(--v2-ink); }

/* ── 6. 빈 상태: 회색 상자 → 선으로 묶고 같은 왼쪽 기준선, 다음 행동 버튼 ─── */
body.fx-v2 .fs-plugin .fhb-wish-empty,
body.fx-v2 .fs-plugin .fhb-tickets__empty,
body.fx-v2 .fs-plugin .fhb-sites__empty,
body.fx-v2 .fs-plugin .fhs-cp__empty,
body.fx-v2 .fs-plugin .fluxboard-my-posts__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 40px 0;
	border: 0;
	border-top: 1px solid var(--v2-ink);
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	text-align: left;
}
body.fx-v2 .fs-plugin .fhb-wish-empty .fhb-wish-empty__t,
body.fx-v2 .fs-plugin .fhb-tickets__empty-t,
body.fx-v2 .fs-plugin .fhb-sites__empty h3,
body.fx-v2 .fs-plugin .fbmp-empty__title { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-wish-empty .fhb-wish-empty__d,
body.fx-v2 .fs-plugin .fhb-tickets__empty-d,
body.fx-v2 .fs-plugin .fhb-sites__empty p,
body.fx-v2 .fs-plugin .fbmp-empty__desc { margin: 0 0 8px; font-size: 15px; line-height: 1.7; color: var(--v2-ink-3); word-break: keep-all; }
body.fx-v2 .fs-plugin .fhb-sites__empty-icon { display: none; }
body.fx-v2 .fs-plugin .fbmp-empty__link,
body.fx-v2 .fs-plugin .fhb-tickets__empty a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 10px;
	background: var(--v2-ink);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
body.fx-v2 .fs-plugin .fbmp-empty__link:hover,
body.fx-v2 .fs-plugin .fhb-tickets__empty a:hover { background: #000; color: var(--v2-lime); }

/* ── 7. 문의 · 목록 머리 ─────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhb-tickets__title { font-size: 20px; letter-spacing: -.02em; }
body.fx-v2 .fs-plugin .fhb-tickets__desc { color: var(--v2-ink-3); font-size: 14px; }
body.fx-v2 .fs-plugin .fhb-tickets__list { border-top: 1px solid var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-tickets__foot a,
body.fx-v2 .fs-plugin .fhq a { text-decoration-color: var(--v2-lime); text-underline-offset: 3px; }
body.fx-v2 .fs-plugin .fhq__item.is-mine { background: none; }
body.fx-v2 .fs-plugin .fhq__meta .fhq__mine { color: var(--v2-ink); }

/* ── 8. 주문 · 결제: 구분선 목록, 모바일은 카드 ────────────────────────────── */
body.fx-v2 .fs-plugin .fhs-mypage-title,
body.fx-v2 .fs-plugin .fhb-sites__header h3 {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--v2-ink);
}
body.fx-v2 .fs-plugin .fhs-orders { border-top: 1px solid var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-oc {
	padding: 20px 0;
	border: 0;
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fhs-oc__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
body.fx-v2 .fs-plugin .fhs-oc__status { margin: 0; }
body.fx-v2 .fs-plugin .fhs-oc__meta { margin: 0; color: var(--v2-ink-3); font-variant-numeric: tabular-nums; }
body.fx-v2 .fs-plugin .fhs-oc__total strong { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
body.fx-v2 .fs-plugin .fhs-od-btn:not(#fx) { border-color: var(--v2-line-2); background: #fff; color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-od-btn:not(#fx):hover { border-color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-od-btn--primary:not(#fx),
body.fx-v2 .fs-plugin .fhs-od-btn--solid:not(#fx) { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
body.fx-v2 .fs-plugin .fhs-od-btn--primary:not(#fx):hover,
body.fx-v2 .fs-plugin .fhs-od-btn--solid:not(#fx):hover { background: #000; color: var(--v2-lime); }
@media (max-width: 640px) {
	/* 모바일: 주문 한 건 = 카드 한 장 */
	body.fx-v2 .fs-plugin .fhs-orders { display: grid; gap: 12px; border-top: 0; }
	body.fx-v2 .fs-plugin .fhs-oc { padding: 16px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; }
	body.fx-v2 .fs-plugin .fhs-oc__actions { display: flex; flex-wrap: wrap; gap: 8px; }
	body.fx-v2 .fs-plugin .fhs-oc__foot { display: grid; gap: 12px; }
}

/* 쿠폰 · 적립금: 카드 나열 → 선 목록 */
body.fx-v2 .fs-plugin .fhs-cp__card,
body.fx-v2 .fs-plugin .fhs-pts__hero {
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fhs-cp__card { padding-left: 0; padding-right: 0; border-radius: 0; background: none; }
body.fx-v2 .fs-plugin .fhs-pts__hero { padding: 24px; border-radius: 12px; background: var(--v2-lime-soft); color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-pts__hero * { color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-pts__balance { font-variant-numeric: tabular-nums; letter-spacing: -.03em; }

/* 알림·쪽지: 상자 대신 선 목록, 안 읽음 = 라임 면 + 굵은 제목 */
body.fx-v2 .fs-plugin .fxi__list {
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--v2-ink);
	border-radius: 0;
	background: none;
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fxi__item {
	border: 0;
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	padding-left: 0;
}
body.fx-v2 .fs-plugin .fxi__item--unread { background: var(--v2-lime-soft); padding-left: 12px; }
body.fx-v2 .fs-plugin .fxi__item--unread .fxi__subject { font-weight: 700; }
body.fx-v2 .fs-plugin .fxi__time { color: var(--v2-ink-3); font-variant-numeric: tabular-nums; }
body.fx-v2 .fs-plugin .fxi__count { font-variant-numeric: tabular-nums; }

/* ── 9. 내 사이트 탭 ─────────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhb-sites__header { margin: 0 0 24px; align-items: center; }
body.fx-v2 .fs-plugin .fhb-sites__header h3 { margin: 0; }
body.fx-v2 .fs-plugin .fhb-sites__count {
	min-width: 0;
	height: auto;
	padding: 0;
	margin-left: 6px;
	background: none;
	color: var(--v2-ink-3);
	font-size: 18px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
body.fx-v2 .fs-plugin .fhb-sites__grid { display: block; margin: 0; border-top: 1px solid var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-account-security { border-bottom: 0; margin-bottom: 8px; }
body.fx-v2 .fs-plugin .fhb-sites__loading,
body.fx-v2 .fs-plugin .fhb-sites__no-data { text-align: left; padding: 32px 0; }
body.fx-v2 .fs-plugin .fhb-sites__loading .flux-spinner { margin: 0 0 12px; }

/* 사이트 한 줄 행 — 카드 아님: 구분선 + 위계(이름 18px / 보조 14px) */
body.fx-v2 .fs-plugin .fhb-site-card {
	display: block;
	padding: 24px 0;
	border: 0;
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fhb-site-card::before { display: none; }
body.fx-v2 .fs-plugin .fhb-site-card__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0;
}
body.fx-v2 .fs-plugin .fhb-site-card__name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--v2-ink);
}
body.fx-v2 .fs-plugin .fhb-site-card__top .fhb-site-card__domain { margin-top: 2px; font-size: 14px; color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-site-card__top .fhb-site-card__domain:hover { color: var(--v2-ink); }
/* 상태 칩: 각진 6px, 정상 = 연한 초록 / 확인 필요 = 노랑 / 조치 필요 = 빨강 (색 + 글자) */
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 10px;
	min-height: 26px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0;
}
body.fx-v2 .fs-plugin .fhb-site-card__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor !important; }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__status--success { background: #e7f4ea; color: var(--v2-ok); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__status--warn { background: #fbf0dc; color: var(--v2-warn); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__status--danger { background: #fbe7e5; color: var(--v2-danger); }
body.fx-v2 .fs-plugin .fhb-site-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	padding: 0;
}
body.fx-v2 .fs-plugin .fhb-site-card__actions a.fhb-site-card__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--v2-ink-2);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--v2-line-2);
	text-underline-offset: 4px;
}
body.fx-v2 .fs-plugin .fhb-site-card__actions a.fhb-site-card__link:hover { color: var(--v2-ink); text-decoration-color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-site-card__plan-row { margin: 12px 0 0; gap: 4px 8px; color: var(--v2-ink-3); font-size: 14px; }
body.fx-v2 .fs-plugin .fhb-site-card__plan { color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-site-card__next-payment { font-variant-numeric: tabular-nums; }
/* 사용량 계기 3칸 — 같은 높이 선에 맞춘다 */
body.fx-v2 .fs-plugin .fhb-site-card__meters {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 32px;
	margin: 20px 0 0;
	padding: 0;
	border: 0;
	align-items: start;
}
body.fx-v2 .fs-plugin .fhb-site-card__meters .fhb-site-card__bar-header,
body.fx-v2 .fs-plugin .fhb-site-card__period .fhb-site-card__bar-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2px 12px;
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--v2-ink-3);
}
body.fx-v2 .fs-plugin .fhb-site-card__meters .fhb-site-card__bar-header span:last-child {
	color: var(--v2-ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
body.fx-v2 .fs-plugin .fhb-site-card__period { margin: 0; }
body.fx-v2 .fs-plugin .fhb-site-card__bar { height: 4px; border-radius: 2px; background: var(--v2-line); }
body.fx-v2 .fs-plugin .fhb-site-card__bar-fill { border-radius: 2px; }
body.fx-v2 .fs-plugin .fhb-site-card__period .fhb-site-card__bar-fill--ok { background: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-site-card__period .fhb-site-card__bar-fill--warn { background: var(--v2-warn); }
body.fx-v2 .fs-plugin .fhb-site-card__period .fhb-site-card__bar-fill--danger { background: var(--v2-danger); }
body.fx-v2 .fs-plugin .fhb-site-card__period-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin-top: 8px; font-size: 13px; color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__renew.is-on { color: var(--v2-ok); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__extend {
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
	text-decoration: none;
	min-height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 8px;
	background: var(--v2-lime);
	color: var(--v2-ink);
	font-size: 13px;
	font-weight: 700;
}
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__extend:hover,
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__extend:focus-visible { background: var(--v2-lime-2); color: var(--v2-ink); }
/* 관리자 로그인 정보: 접힘 */
body.fx-v2 .fs-plugin .fhb-site-card__creds { margin: 16px 0 0; padding: 0; border: 0; background: none; }
body.fx-v2 .fs-plugin .fhb-site-card__creds-title {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	color: var(--v2-ink-2);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
body.fx-v2 .fs-plugin .fhb-site-card__creds-title { list-style: none; gap: 8px; }
body.fx-v2 .fs-plugin .fhb-site-card__creds-title::-webkit-details-marker { display: none; }
body.fx-v2 .fs-plugin .fhb-site-card__creds-title::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s ease;
}
body.fx-v2 .fs-plugin .fhb-site-card__creds[open] .fhb-site-card__creds-title { color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-site-card__creds[open] .fhb-site-card__creds-title::after { margin-top: 3px; transform: rotate(-135deg); }
body.fx-v2 .fs-plugin .fhb-site-card__creds-row {
	max-width: 560px;
	padding: 10px 0;
	border-top: 1px solid var(--v2-line);
	font-size: 14px;
}
body.fx-v2 .fs-plugin .fhb-site-card__creds-row > span:first-child { color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__pw-btn {
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--v2-line-2);
	border-radius: 10px;
	background: #fff;
	color: var(--v2-ink);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__pw-btn:hover:not(:disabled),
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__pw-btn:focus-visible { border-color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__pw-btn:disabled { opacity: .6; cursor: default; }
body.fx-v2 .fs-plugin .fhb-site-card .fhb-site-card__pw-note { color: var(--v2-ink-3); font-size: 12px; line-height: 1.4; }
body.fx-v2 .fs-plugin .fhb-site-card__pw { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
body.fx-v2 .fs-plugin .fhb-site-card__pw-value { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; }

@media (max-width: 768px) {
	body.fx-v2 .fs-plugin .fhb-site-card__meters { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	body.fx-v2 .fs-plugin .fhb-site-card__actions { width: 100%; }
}
@media (max-width: 480px) {
	body.fx-v2 .fs-plugin .fhb-site-card__pw { align-items: flex-start; }
	body.fx-v2 .fs-plugin .fhb-site-card__creds-row { flex-wrap: wrap; }
}

/* ── 10. 회원정보: 폼 폭 560px, 필드·버튼 같은 왼쪽 기준선 ───────────────── */
body.fx-v2 .fs-plugin .fluxmember-profile,
body.fx-v2 .fs-plugin .fluxmember-subpanel,
body.fx-v2 .fs-plugin .fluxmember-form { max-width: 560px; }
body.fx-v2 .fs-plugin .fluxmember-form__input,
body.fx-v2 .fs-plugin .fluxmember-form__select,
body.fx-v2 .fs-plugin .fluxmember-form__textarea { width: 100%; min-height: 48px; max-width: 100%; }
body.fx-v2 .fs-plugin .fluxmember-btn,
body.fx-v2 .fs-plugin .fluxmember-form__submit { border-radius: 10px; }
body.fx-v2 .fs-plugin .fluxmember-notice { border-radius: 8px; }

/* ── 11. 이동 중 · 포커스 ─────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fluxmember-mypage__menu-item a:focus-visible {
	outline: 2px solid var(--v2-ink);
	outline-offset: -2px;
	box-shadow: 0 0 0 4px var(--v2-lime) inset;
}
@media (prefers-reduced-motion: reduce) {
	body.fx-v2 .fs-plugin * { transition: none !important; }
}

/* 회원탈퇴처럼 되돌릴 수 없는 버튼: 빨강 1색 + 테두리로 위험 동작임을 드러낸다(검정 주 버튼과 구분) */
body.fx-v2 .fs-plugin .fluxmember-btn.fluxmember-btn--danger:not(#fx) {
	background: #fff;
	border: 1px solid var(--v2-danger);
	color: var(--v2-danger);
	box-shadow: none;
}
body.fx-v2 .fs-plugin .fluxmember-btn.fluxmember-btn--danger:not(#fx):hover {
	background: var(--v2-danger);
	border-color: var(--v2-danger);
	color: #fff;
}
body.fx-v2 .fs-plugin .fluxmember-withdrawal .fluxmember-form__group:last-child { margin-top: 24px; }


/* ════════════════════════════════════════════════════════════════════════════
   3차 마무리 (2026-10-04, W-PLUG) — 플러그인이 그리는 화면 전부
   원칙: 제목·본문 같은 왼쪽 기준선 / 표·목록 폭 ≤ 880 / 낡은 색(주황·남보라) → v2 토큰 / 모바일 가로 스크롤 0
   ════════════════════════════════════════════════════════════════════════════ */

/* ── 12. 틀: 제목을 본문과 같은 왼쪽 기준선으로 (마이페이지는 plugin-light 가 이미 한다) ───── */
body.fx-v2.page-template-page-plugin-php:not(.page-id-19) .fs-head {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
}
/* 콘텐츠 루트: 가운데 정렬(margin auto)로 제목과 어긋나던 것을 왼쪽에 붙이고, 읽기 폭을 맞춘다 */
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-order-tracking,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhs-order-lookup,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-board,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-qna-skin,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-my-subscription,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-downloads,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhr-changelog,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhs-account {
	margin-left: 0;
	margin-right: auto;
}
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-order-tracking { max-width: 720px; }
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhs-order-lookup { max-width: 560px; }
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-board,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-qna-skin,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-my-subscription,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-downloads,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhr-changelog { max-width: 880px; }
/* 880px 한 기둥이 왼쪽에 붙어 오른쪽이 휑하던 것(2026-10-09) — 기둥을 가운데에 놓고 제목도 같은 기둥에서 시작한다 */
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-board,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-qna-skin,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-my-subscription,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxshop-downloads,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fhr-changelog { margin-left: auto; margin-right: auto; }
body.fx-v2.page-template-page-plugin-php .fs-wrap:has(> .fs-plugin > :is(.fluxboard-board, .fluxboard-qna-skin, .fluxshop-my-subscription, .fluxshop-downloads, .fhr-changelog)) > .fs-head { max-width: 880px; margin-left: auto; margin-right: auto; }
/* 게시판 바깥 여백 16px 때문에 제목보다 안쪽에서 시작하던 것 */
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-board,
body.fx-v2.page-template-page-plugin-php .fs-plugin > .fluxboard-qna-skin { padding-left: 0; padding-right: 0; }
/* 비회원 주문조회: 페이지 제목과 같은 말이 한 번 더 나온다 */
body.fx-v2 .fs-plugin .fhs-order-lookup > .fhs-mypage-title { display: none; }
body.fx-v2 .fs-plugin .fhs-lookup-form { display: flex; flex-wrap: wrap; gap: 8px; }
body.fx-v2 .fs-plugin .fhs-lookup-form input { flex: 1 1 220px; min-width: 0; border-radius: 8px; border-color: var(--v2-line-2); }
body.fx-v2 .fs-plugin .fhs-lookup-form button { min-height: 44px; border-radius: 10px; padding: 0 20px; }

/* 어두운 면 위에서 글자색이 잉크로 강제돼 사라지던 자리(span 강제 잉크 규칙) */
body.fx-v2 .fs-plugin .fhs-order-count,
body.fx-v2 .fs-plugin .fhs-order-item__qty { color: #fff; }
body.fx-v2 .fs-plugin .fhs-mcard__badge { background: var(--v2-lime); color: var(--v2-ink); border-radius: 4px; font-weight: 700; }

/* ── 13. 게시판(공지·FAQ·가이드·업데이트) ─────────────────────────────────── */
body.fx-v2 .fs-plugin .fluxboard-board__guest-ip { display: none; }      /* 글쓴이 밑의 뜻 없는 숫자(IP 앞자리) */
body.fx-v2 .fs-plugin thead th { background: var(--v2-surface); }
body.fx-v2 .fs-plugin .fluxboard-board__table { border-top: 1px solid var(--v2-ink); }
body.fx-v2 .fs-plugin tbody tr:hover td { background: var(--v2-surface); }
body.fx-v2 .fs-plugin .fluxboard-board__subject-link { color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fluxboard-board__cat-badge { border-radius: 6px; background: var(--v2-surface); border-color: var(--v2-line-2); color: var(--v2-ink-2); }
body.fx-v2 .fs-plugin .fluxboard-board__badge-notice { border-radius: 4px; background: var(--v2-lime); border-color: var(--v2-lime); color: var(--v2-ink); }
@media (max-width: 768px) {
	/* 모바일 카드형 변환(플러그인 규칙)이 plugin-light 의 td 패딩·밑줄에 눌려 글 한 줄이 여러 조각으로 갈라졌다 */
	body.fx-v2 .fs-plugin .fluxboard-board__row td,
	body.fx-v2 .fs-plugin .fluxboard-board__row:hover td { padding: 0; border: 0; background: none; }
	body.fx-v2 .fs-plugin .fluxboard-board__row { padding: 16px 0; row-gap: 6px; }
	body.fx-v2 .fs-plugin .fluxboard-board__subject-cell { white-space: normal; overflow: visible; }
	body.fx-v2 .fs-plugin .fluxboard-board__subject-link { font-size: 15px; line-height: 1.5; word-break: keep-all; }
	body.fx-v2 .fs-plugin .fluxboard-board__author-cell,
	body.fx-v2 .fs-plugin .fluxboard-board__date-cell,
	body.fx-v2 .fs-plugin .fluxboard-board__hit-cell,
	body.fx-v2 .fs-plugin .fluxboard-board__good-cell { color: var(--v2-ink-3); }
	body.fx-v2 .fs-plugin .fluxboard-board__author-cell * { color: inherit; font-size: inherit; }
	body.fx-v2 .fs-plugin .fluxboard-board__toolbar { flex-wrap: wrap; gap: 8px; }
}

/* ── 14. 상품 목록 ───────────────────────────────────────────────────────── */
/* 검색칸: 바깥 틀 + 안쪽 입력칸 두 겹 테두리 → 한 겹 */
body.fx-v2 .fs-plugin .fhs-fbar__search { border-radius: 10px; border: 1px solid var(--v2-line-2); background: #fff; }
body.fx-v2 .fs-plugin .fhs-fbar__search input[type="search"] { border: 0; background: transparent; border-radius: 0; box-shadow: none; }
body.fx-v2 .fs-plugin .fhs-fbar__search:focus-within { border-color: var(--v2-ink); box-shadow: 0 0 0 3px var(--v2-lime); }
body.fx-v2 .fs-plugin .fhs-cat-tab:not(#fx),
body.fx-v2 .fs-plugin .fhs-f__btn:not(#fx),
body.fx-v2 .fs-plugin .fhs-toggle { border-radius: 8px; }
body.fx-v2 .fs-plugin .fhs-cat-tab.is-active { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
body.fx-v2 .fs-plugin .fhs-cat-tab.is-active span { color: #fff; }

/* ── 15. 장바구니 · 결제 ─────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhs-cart2 .fhs-cart-layout > *,
body.fx-v2 .fs-plugin .fhs-cart2 .fhs-cart-main { min-width: 0; }
/* 수량 상자: 숫자 칸이 plugin-light 의 알약 입력 규칙(높이 44·좌우 패딩 16)에 눌려 숫자가 잘렸다 */
body.fx-v2 .fs-plugin .fhs-cart2 .fhs-cart-qtyinput {
	width: 40px;
	height: 32px;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--v2-line-2);
	border-right: 1px solid var(--v2-line-2);
	border-radius: 0;
	background: transparent;
	text-align: center;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}
body.fx-v2 .fs-plugin .fhs-cart2 .fhs-cart-row__qty { border-radius: 8px; border-color: var(--v2-line-2); }
body.fx-v2 .fs-plugin .fhs-cart2 .fhs-cart-qty { border-radius: 0; border: 0; background: transparent; min-width: 32px; }
/* 배송 유형 탭: 알약 → 밑줄형 */
body.fx-v2 .fs-plugin .fhs-cart-tabs { gap: 0; border-bottom: 1px solid var(--v2-line); }
body.fx-v2 .fs-plugin .fhs-cart-tab:not(#fx) {
	border: 0;
	border-radius: 0;
	background: none;
	min-height: 48px;
	padding: 0 20px 0 0;
	color: var(--v2-ink-3);
	font-weight: 600;
	box-shadow: inset 0 -2px 0 transparent;
}
body.fx-v2 .fs-plugin .fhs-cart-tab:not(#fx):hover { color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-cart-tab.is-active:not(#fx) { color: var(--v2-ink); font-weight: 700; box-shadow: inset 0 -2px 0 var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-cart-tab span { color: inherit; }
body.fx-v2 .fs-plugin .fhs-cart-btn,
body.fx-v2 .fs-plugin .fluxshop-btn { border-radius: 10px; }
body.fx-v2 .fs-plugin .fluxshop-btn--primary { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
body.fx-v2 .fs-plugin .fluxshop-btn--primary:hover { background: #000; border-color: #000; color: var(--v2-lime); }
body.fx-v2 .fs-plugin .fhs-cart-summary__total strong { font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
@media (max-width: 480px) {
	body.fx-v2 .fs-plugin .fhs-cart-actionbar { flex-wrap: wrap; gap: 8px; }
	body.fx-v2 .fs-plugin .fhs-cart-summary__actions { flex-wrap: wrap; }
}

/* ── 16. 구독 · 다운로드 · 배송조회 · 찜 · 문의 ──────────────────────────── */
body.fx-v2 .fs-plugin .fhq__empty,
body.fx-v2 .fs-plugin .fhb-tickets__empty {
	align-items: flex-start;
	padding: 40px 0;
	border-radius: 0;
	background: none;
	border-top: 1px solid var(--v2-ink);
	border-bottom: 1px solid var(--v2-line);
	text-align: left;
}
/* 주문 완료(2026-10-06 개편): 구조·치수는 플러그인 스킨 「주문 완료」 구역이 정한다.
   허브는 가운데 한 줄로 두고, 내용이 자기 제목을 가지므로 페이지 제목 「주문 완료」는 화면에서만 감춘다(h1 은 스크린리더용으로 남긴다). */
body.fx-v2 .fs-plugin .fluxshop-order-complete {
	max-width: 520px;
	margin: 8px auto 0;
	padding: 0 0 48px;
	border: 0;
	box-shadow: none;
	background: none;
}
body.fx-v2 .fs-section:has(.fhs-complete-head) .fs-head {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
body.fx-v2 .fs-plugin .fhs-complete-desc,
body.fx-v2 .fs-plugin .fhs-complete-note,
body.fx-v2 .fs-plugin .fhs-receipt__note { color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhs-receipt { background: #fff; border-color: var(--v2-line); }
body.fx-v2 .fs-plugin .fhs-receipt--bank { background: var(--v2-surface); border-color: transparent; }
body.fx-v2 .fs-plugin .fhs-receipt a { color: var(--v2-ink); text-decoration: underline; text-underline-offset: 3px; }
body.fx-v2 .fs-plugin .fhs-complete-icon { background: var(--v2-ink); color: var(--v2-lime); }
body.fx-v2 .fs-plugin .fhs-complete-icon--wait { background: var(--v2-surface); color: var(--v2-ink); }
/* 구독·배송조회·다운로드: 바깥 16px + 카드 안쪽 28px 가 겹쳐 제목보다 44~48px 안쪽에서 시작하고, 버튼 줄이 잘렸다 */
body.fx-v2 .fs-plugin .fluxshop-my-subscription,
body.fx-v2 .fs-plugin .fluxshop-order-tracking,
body.fx-v2 .fs-plugin .fluxshop-downloads { padding-left: 0; padding-right: 0; }
body.fx-v2 .fs-plugin .fhs-sub-card,
body.fx-v2 .fs-plugin .fhs-tracking-card { padding-left: 0; padding-right: 0; }
body.fx-v2 .fs-plugin .fhs-sub-card__footer { display: flex; flex-wrap: wrap; gap: 8px; }
body.fx-v2 .fs-plugin .fhs-sub-card .fluxshop-btn--sm { min-height: 40px; }
body.fx-v2 .fs-plugin .fluxshop-btn--danger { background: #fff; border-color: var(--v2-line-2); color: var(--v2-danger); }
body.fx-v2 .fs-plugin .fluxshop-btn--danger:hover { border-color: var(--v2-danger); background: #fff; color: var(--v2-danger); }
body.fx-v2 .fs-plugin .fhs-badge--active { background: #e7f4ea; color: var(--v2-ok); }
body.fx-v2 .fs-plugin .fluxshop-btn--sm { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 14px; line-height: 1.2; }
@media (max-width: 640px) {
	/* 찜 목록: 모바일에서 정사각 사진 한 장이 화면 한 폭을 다 먹던 것을 4:3 으로 */
	body.fx-v2 .fs-plugin .fluxshop-wishlist .fluxshop-product-card__image-link { aspect-ratio: 4 / 3; overflow: hidden; }
	body.fx-v2 .fs-plugin .fluxshop-wishlist .fluxshop-product-card__image { width: 100%; height: 100%; object-fit: cover; }
}
body.fx-v2 .fs-plugin .fluxshop-downloads { overflow-x: auto; }
body.fx-v2 .fs-plugin .fluxshop-downloads .fluxshop-table { min-width: 480px; }

/* /account/ (플러그인 마이페이지): 알약·상자 메뉴 → 밑줄 탭, 주문 카드 머리 왼쪽 정렬 */
body.fx-v2 .fs-plugin .fhs-account .fhs-account__nav {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	padding: 0;
	overflow-x: auto;
	border: 0;
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none !important;
	scrollbar-width: none;
}
body.fx-v2 .fs-plugin .fhs-account .fhs-account__nav::-webkit-scrollbar { display: none; }
body.fx-v2 .fs-plugin .fhs-account .fhs-account__tab,
body.fx-v2 .fs-plugin .fhs-account .fhs-account__nav a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 18px 0 0;
	border: 0;
	border-radius: 0;
	background: none !important;
	color: var(--v2-ink-3) !important;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: inset 0 -2px 0 transparent;
}
body.fx-v2 .fs-plugin .fhs-account .fhs-account__tab:hover { color: var(--v2-ink) !important; background: none !important; }
body.fx-v2 .fs-plugin .fhs-account .fhs-account__tab.is-active,
body.fx-v2 .fs-plugin .fhs-account .fhs-account__tab.is-active:hover { color: var(--v2-ink) !important; font-weight: 700; background: none !important; box-shadow: inset 0 -2px 0 var(--v2-ink); }
body.fx-v2 .fs-plugin .fhs-account .fhs-account__body { padding-top: 24px; }
body.fx-v2 .fs-plugin .fhs-oc,
body.fx-v2 .fs-plugin .fhs-oc__head,
body.fx-v2 .fs-plugin .fhs-oc__foot { text-align: left; }
body.fx-v2 .fs-plugin .fhs-oc__head { justify-content: space-between; align-items: flex-start; }
body.fx-v2 .fs-plugin .fhs-oc__head .fhs-oc__status,
body.fx-v2 .fs-plugin .fhs-oc__head .fhs-oc__meta { text-align: left; justify-content: flex-start; }
body.fx-v2 .fs-plugin .fhs-oc__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; }

/* 내 댓글·댓글단 글·좋아요한 글·스크랩·적립금의 빈 상태: 가운데 정렬 아이콘/회색 상자 → 선 + 왼쪽 기준선 + 버튼 */
body.fx-v2 .fs-plugin .fbpf__empty,
body.fx-v2 .fs-plugin .fluxboard-my-scraps__empty,
body.fx-v2 .fs-plugin .fhs-pts__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding: 40px 0;
	border: 0;
	border-top: 1px solid var(--v2-ink);
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	text-align: left;
}
body.fx-v2 .fs-plugin .fbpf__empty > svg { display: none; }
body.fx-v2 .fs-plugin .fbpf__empty-title { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fbpf__empty-desc,
body.fx-v2 .fs-plugin .fhs-pts__empty > p { margin: 0 0 8px; font-size: 15px; line-height: 1.7; color: var(--v2-ink-3); word-break: keep-all; }
body.fx-v2 .fs-plugin a.fbpf__empty-cta,
body.fx-v2 .fs-plugin .fluxboard-my-scraps__empty a.fbmp-empty__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 10px;
	background: var(--v2-ink);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
body.fx-v2 .fs-plugin a.fbpf__empty-cta:hover,
body.fx-v2 .fs-plugin .fluxboard-my-scraps__empty a.fbmp-empty__link:hover { background: #000; color: var(--v2-lime); }

/* 알림·쪽지: 페이지 제목과 같은 말이 한 번 더 — 안쪽 제목은 화면에서 감추고 설정 링크만 오른쪽에 둔다 */
body.fx-v2 .fs-plugin .fxi__head { justify-content: flex-end; }
body.fx-v2 .fs-plugin .fxi__head .fxi__title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 주문·쿠폰·구독 등 공용 빈 상태(.fhs-empty): 회색 상자 + 가운데 한 줄 → 선 목록 + 왼쪽 기준선 */
body.fx-v2 .fs-plugin .fhs-empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	margin: 0;
	padding: 40px 0;
	border: 0;
	border-top: 1px solid var(--v2-ink);
	border-bottom: 1px solid var(--v2-line);
	border-radius: 0;
	background: none;
	color: var(--v2-ink-3);
	font-size: 15px;
	text-align: left;
}
body.fx-v2 .fs-plugin .fhq__saved { background: var(--v2-lime-soft); color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhq__msg { border-radius: 12px; background: var(--v2-surface); }
body.fx-v2 .fs-plugin .fhq__msg--a { background: var(--v2-lime-soft); }
body.fx-v2 .fs-plugin .fhq__msg--a .fhq__badge { background: var(--v2-ink); color: var(--v2-lime); }
body.fx-v2 .fs-plugin .fhq__answer { border-color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhq__date { color: var(--v2-ink-3); }

/* ── 17. 변경 이력 · 알림쪽지 ─────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhr-chip {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--v2-line-2);
	border-radius: 6px;
	background: #fff;
	color: var(--v2-ink-2);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
body.fx-v2 .fs-plugin .fhr-chip:hover { border-color: var(--v2-ink); color: var(--v2-ink); }
body.fx-v2 .fs-plugin .fhr-chip.is-active { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
body.fx-v2 .fs-plugin .fhr-changelog__filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; }
body.fx-v2 .fs-plugin .fhr-release__body { overflow-wrap: anywhere; word-break: keep-all; }
body.fx-v2 .fs-plugin .fhr-release__body code,
body.fx-v2 .fs-plugin .fhr-release__body pre { overflow-wrap: anywhere; white-space: pre-wrap; }
body.fx-v2 .fs-plugin .fhr-release__version { border-radius: 6px; font-variant-numeric: tabular-nums; }
body.fx-v2 .fs-plugin .fxi__head .fxi__title { font-size: 20px; letter-spacing: -.02em; }
body.fx-v2 .fs-plugin .fxm-btn { border-radius: 10px; min-height: 44px; }

/* ── 18. 떠 있는 상담 버튼(fluxcs) 잉크 + 라임 → functions.php 로 이동(1.0.13) ──
   이 파일이 실리는 페이지에서만 적용되던 문제로, 모든 페이지에 실리는 wp_add_inline_style('fluxcs-widget') 로 옮겼다. */

/* ── 19. 강의(LMS) 화면: 주황·남보라 토큰을 v2 로 ────────────────────────────
   /courses/ /my-courses/(body.flux-lms-page) 와 /instructor/(body.flms-ui). 이 화면들은 page-plugin 템플릿이 아니라서
   지금은 이 파일이 실리지 않는다 — functions.php 에서 이 파일을 큐잉해야 적용된다(보고서 이슈). */
/* 강의 목록: 제목만 가운데·나머지 왼쪽이던 것을 한 축(왼쪽)으로, 카테고리·필터는 각진 모양 */
body.fx-v2.flux-lms-page .flux-lms-archive__header { text-align: left; }
body.fx-v2.flux-lms-page .flux-lms-category-bar__item { border-radius: 6px; }
body.fx-v2.flux-lms-page .flux-lms-filter-bar__input,
body.fx-v2.flux-lms-page .flux-lms-filter-bar__select,
body.fx-v2.flux-lms-page .flux-lms-filter-bar__submit-btn { border-radius: 10px; }
@media (max-width: 640px) {
	body.fx-v2.flux-lms-page .flux-lms-filter-bar__form { flex-direction: column; align-items: stretch; }
	body.fx-v2.flux-lms-page .flux-lms-filter-bar__field,
	body.fx-v2.flux-lms-page .flux-lms-filter-bar__submit-btn { width: 100%; }
}
body.fx-v2.flux-lms-page {
	--c-primary: var(--v2-ink);
	--c-primary-hover: #000000;
	--c-primary-light: var(--v2-lime-soft);
	--c-on-primary: #ffffff;
	--c-primary-text: var(--v2-ink);
	--c-text: var(--v2-ink);
	--c-border: var(--v2-line);
	--c-bg-secondary: var(--v2-surface);
	--c-hover: var(--v2-surface);
}
/* 강사 화면 body 에는 fx-v2 가 없다(자체 셸) — 토큰 값을 직접 쓴다 */
body.flms-ui,
body .flms-ui {
	--flms-primary: #111111;
	--flms-primary-hover: #000000;
	--flms-primary-press: #000000;
	--flms-primary-tint: var(--v2-lime-soft, #eef9cf);
	--flms-primary-tint-ink: #111111;
	--flms-selected: var(--v2-lime-soft, #eef9cf);
	--flms-canvas: #f7f7f5;
	--flms-focus-ring: 0 0 0 3px var(--v2-lime, #c8f05a);
	--flms-info: #3a3a37;
	--flms-info-bg: #f7f7f5;
	--flms-info-line: #d3d3cc;
}

/* 주문 상태 칩 색 구분 — order-card.php 가 data-status 를 내려 준다(2026-10-05) */
body.fx-v2 .fs-plugin .fhs-oc__status strong:not(#fx) {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 10px;
	border-radius: 6px;
	background: #f2f2ef;
	color: #3a3a37;
	font-size: 13px;
	font-weight: 600;
}
body.fx-v2 .fs-plugin .fhs-oc[data-status="paid"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="processing"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="shipped"] .fhs-oc__status strong:not(#fx) { background: var(--v2-lime-soft, #eef9cf); color: var(--v2-lime-ink, #2c3a00); }
body.fx-v2 .fs-plugin .fhs-oc[data-status="delivered"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="completed"] .fhs-oc__status strong:not(#fx) { background: #e7f4ea; color: #1f7a3a; }
body.fx-v2 .fs-plugin .fhs-oc[data-status="pending_payment"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="awaiting_deposit"] .fhs-oc__status strong:not(#fx) { background: #fbf0dc; color: #9a5b00; }
body.fx-v2 .fs-plugin .fhs-oc[data-status="failed"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="cancelled"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="refunded"] .fhs-oc__status strong:not(#fx),
body.fx-v2 .fs-plugin .fhs-oc[data-status="partial_refunded"] .fhs-oc__status strong:not(#fx) { background: #fbe7e5; color: #c2352b; }
body.fx-v2 .fs-plugin .fhs-empty__cta { margin: 16px 0 0; }
body.fx-v2 .fs-plugin .fhs-empty__cta .fhs-btn:not(#fx) {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
	border-radius: 10px; background: #111; color: #fff; font-weight: 600; text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════════════
   마이페이지 간격 규칙 (2026-10-06)
   섹션 사이 48 / 제목→본문 16 / 제목→설명 8 / 라벨→값 4 / 줄 사이 12~16 / 한 줄 안 버튼 사이 8
   글 바로 밑에 글이 붙던 곳(대시보드·도메인 관리·사용량 로그)에 위 값을 적용한다.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── A. 대시보드 ─────────────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhb-home__section { padding-top: 48px; }
body.fx-v2 .fs-plugin .fhb-home__title { margin: 0 0 16px; }
body.fx-v2 .fs-plugin .fhb-todo__item { padding: 12px 0; gap: 4px 12px; }
body.fx-v2 .fs-plugin .fhb-todo__text { margin-right: 4px; }
body.fx-v2 .fs-plugin .fhb-order-status__physical-note { margin: 12px 0 0; line-height: 1.6; }
/* 알림 띠(.fhb-band): 제목→목록 12px, 이름→설명 4px (테마의 p 여백 초기화를 이긴다) */
body.fx-v2 .fs-plugin .fhb-band__head { margin: 0 0 12px; }
body.fx-v2 .fs-plugin .fhb-band__desc { margin: 4px 0 0; }
body.fx-v2 .fs-plugin .fhb-band__item--more .fhb-band__desc { margin: 0; }
body.fx-v2 .fs-plugin .fhb-hero__benefits { margin: 16px 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; }

/* ── B. 사이트 카드: 사이트 하나 = 묶음 하나(흰 면 + 얇은 선), 카드 사이 16px ── */
body.fx-v2 .fs-plugin .fhb-sites__grid { border-top: 0; display: grid; gap: 16px; }
body.fx-v2 .fs-plugin .fhb-site-card {
	padding: 24px;
	border: 1px solid var(--v2-line);
	border-radius: 12px;
	background: #fff;
}
body.fx-v2 .fs-plugin .fhb-site-card__plan-row { margin: 8px 0 0; }
body.fx-v2 .fs-plugin .fhb-site-card__meters { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--v2-line); }
body.fx-v2 .fs-plugin .fhb-site-card__actions { gap: 8px 16px; }
body.fx-v2 .fs-plugin .fhb-site-card__bar-header { margin-bottom: 8px; }
body.fx-v2 .fs-plugin .fhb-site-card__bar + * { margin-top: 8px; }
/* 대시보드의 사이트 묶음(.fhb-site)도 같은 모양 */
body.fx-v2 .fs-plugin .fhb-home__title-row { margin: 0 0 16px; align-items: center; }
body.fx-v2 .fs-plugin .fhb-home__title-row .fhb-home__title { margin: 0; }
body.fx-v2 .fs-plugin .fhb-home__sites { border-top: 0; display: grid; gap: 16px; }
body.fx-v2 .fs-plugin .fhb-site {
	padding: 24px;
	border: 1px solid var(--v2-line);
	border-radius: 12px;
	background: #fff;
}
body.fx-v2 .fs-plugin .fhb-site__id > * + * { margin-top: 8px; }
body.fx-v2 .fs-plugin .fhb-site__meters { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--v2-line); gap: 16px 32px; }
body.fx-v2 .fs-plugin .fhb-site__actions { gap: 8px 16px; }

/* ── C. 도메인 관리 ──────────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhb-sites__header h3 .fhb-usage-log__site { margin-left: 8px; color: var(--v2-ink-3); font-weight: 500; }
body.fx-v2 .fs-plugin .fhb-domain-manage__section { padding-top: 32px; margin-bottom: 32px; }
body.fx-v2 .fs-plugin .fhb-domain-manage__result:empty { display: none; }
body.fx-v2 .fs-plugin .fhb-domain-manage__section > h4 { margin: 0 0 8px; font-size: 18px; font-weight: 700; letter-spacing: -.02em; line-height: 1.4; }
body.fx-v2 .fs-plugin .fhb-domain-manage__hint { margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-domain-manage__form { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
body.fx-v2 .fs-plugin .fhb-domain-manage__result { margin: 12px 0 0; font-size: 14px; line-height: 1.6; }
body.fx-v2 .fs-plugin .fhb-domain-manage__list { margin: 16px 0 0; }
body.fx-v2 .fs-plugin .fhb-domain-manage__empty { margin: 0; font-size: 14px; line-height: 1.6; color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-domain-steps { margin: 20px 0 0; padding: 0; display: grid; gap: 24px; }
body.fx-v2 .fs-plugin .fhb-domain-steps > li { line-height: 1.6; }
body.fx-v2 .fs-plugin .fhb-domain-steps > li > * + * { margin-top: 8px; }
body.fx-v2 .fs-plugin .fhb-domain-steps__ip { display: inline-block; }

/* ── D. 사용량 로그 ──────────────────────────────────────────────────────── */
body.fx-v2 .fs-plugin .fhb-usage-log__periods { margin: 0 0 24px; }
body.fx-v2 .fs-plugin .fhb-usage-log__summary { margin: 0 0 16px; gap: 16px 32px; }
body.fx-v2 .fs-plugin .fhb-usage-log__summary-item { padding: 0 0 16px; }
body.fx-v2 .fs-plugin .fhb-usage-log__summary-label { display: block; margin: 0 0 4px; }
body.fx-v2 .fs-plugin .fhb-usage-log__partial-hint { margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: var(--v2-ink-3); }
body.fx-v2 .fs-plugin .fhb-usage-log__empty { margin: 0; padding: 40px 0; font-size: 15px; line-height: 1.7; color: var(--v2-ink-3); }

/* ── E. 결제·구독: 「사이트 ○○」 줄 (fluxhub-templates 가 훅으로 그린다) ──────── */
body.fx-v2 .fs-plugin .fhb-siteline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
	margin: 12px 0 4px;
	font-size: 14px;
	line-height: 1.5;
}
body.fx-v2 .fs-plugin .fhb-siteline__label { color: var(--v2-ink-3); font-size: 13px; font-weight: 500; }
body.fx-v2 .fs-plugin .fhb-siteline__name { color: var(--v2-ink); font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
body.fx-v2 .fs-plugin .fhb-siteline__addr { color: var(--v2-ink-3); font-size: 13px; }

/* ── F. 구독관리·주문내역 정렬 (2026-10-06) ───────────────────────────────────
   기준선 하나(카드 왼쪽 끝) / 버튼 높이 44px·글자 14px·간격 8px / 버튼 없는 카드의 빈 푸터는 숨김 */
body.fx-v2 .fs-plugin .fhs-sub-card { margin: 0 0 16px; }
body.fx-v2 .fs-plugin .fhs-sub-card__header { margin-bottom: 0; }
body.fx-v2 .fs-plugin .fhs-sub-card .fhb-siteline { margin: 16px 0 0; }
body.fx-v2 .fs-plugin .fhs-sub-card__body { padding: 16px 0 0; }
body.fx-v2 .fs-plugin .fhs-sub-card__body p:last-child { margin-bottom: 0; }
body.fx-v2 .fs-plugin .fhs-sub-card__body p { margin: 0 0 6px; line-height: 1.6; }
body.fx-v2 .fs-plugin .fhs-sub-card__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 16px 0 0;
	padding: 16px 0 0;
}
body.fx-v2 .fs-plugin .fhs-sub-card__footer:not(:has(button, a)) { display: none; }
body.fx-v2 .fs-plugin .fhs-sub-card__footer .fluxshop-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}
/* 주문 카드: 상품 행이 없는 주문(취소 등)은 사이트 줄 아래 합계 선과 겹치지 않게 */
body.fx-v2 .fs-plugin .fhs-oc .fhb-siteline { margin: 16px 0; }
body.fx-v2 .fs-plugin .fhs-oc__items:not(:has(li)) { display: none; }

@media (max-width: 640px) {
	body.fx-v2 .fs-plugin .fhb-home__section { padding-top: 40px; }
	body.fx-v2 .fs-plugin .fhb-site-card,
	body.fx-v2 .fs-plugin .fhb-site { padding: 20px 16px; }
}
