/* 폰 헤더(m/_head.php)의 전역 `* { color: var(--basicFontColor) }` 가 상세 안의 모든 글자에 #333 을 박아,
 * 검은 단추·칩 안의 글자(「템플릿에서 시작」·고른 후가공 탭·템플릿 카드의 「선택하기」)가 검은 바탕에 검은 글자로
 * 사라졌다 — PC 에는 그 규칙이 없어 흰 글자를 물려받는다(폰 검수 20260923, 명함·카드·리플릿 모두).
 * 상세 본문 안에서만 상속을 되돌린다. :where() 로 명시도 0 — 제 색 규칙이 있는 요소는 그대로다. */
:where(html.fb-detail-renewal :is(.page-wrap, #fbTemplateOverviewModal)) * { color: inherit; }   /* 전체 디자인 보기 창은 초기화 뒤 본문 밖(footer 포털)으로 옮겨진다 */

/* The media viewer is a viewport layer, including after modal-system enhancement. */
html.fb-detail-renewal #uvLightbox.uv-lightbox { align-items: center; justify-content: center; background: rgba(7, 12, 16, .9); }
html.fb-detail-renewal #uvLightbox .uv-lightbox-close { width: 44px; height: 44px; color: #fff; background: rgba(255, 255, 255, .16); }
html.fb-detail-renewal #uvLightbox .uv-lightbox-close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/*
 * FactoryB detail renewal — EDITOR.UI.CONSUMER.FACTORYB_DETAIL.V1
 *
 * The editor's decision grammar is shared here, not its application chrome:
 * neutral surfaces, linear option groups, explicit states, accessible controls,
 * and a dense order summary. Product media, content tabs, and the mobile order
 * dock remain FactoryB-specific surfaces.
 */

.fb-detail-renewal {
	--fbd-ink: var(--bj-ink, #181817);
	--fbd-text: var(--bj-ink, #181817);
	--fbd-muted: var(--bj-muted, #66635e);
	/* 가장 옅은 글자색. 사이트 공통 토큰(--bj-tertiary #918e87)은 흰 바탕에서 3.27:1 로
	 * 본문 기준(4.5:1)에 못 미친다 — 인쇄공장 화면 안에서는 읽히는 값으로 올린다
	 * (#6f6b66 = 흰 5.29 · 페이지 바탕 #f5f5f3 4.84. 사용성 전수 조사 20260921).
	 * 공통 토큰 자체는 건드리지 않는다 — 온 사이트가 쓰는 값이라 주인이 다르다. */
	--fbd-subtle: #6f6b66;
	--fbd-line: var(--bj-line, #ddd9d2);
	--fbd-line-soft: #ebe8e2;
	--fbd-surface: #ffffff;
	--fbd-surface-soft: var(--bj-soft-surface, #f5f5f3);
	--fbd-selected: var(--bj-soft-surface, #f5f5f3);
	--fbd-selected-line: var(--bj-line, #ddd9d2);
	--fbd-accent: #ff5b5f;
	--fbd-danger: #d83b45;
	--fbd-focus: rgba(24, 24, 23, 0.12);
	--fbd-type-panel-title: 17px;
	--fbd-type-panel-title-line: 24px;
	--fbd-type-row-title: 14px;
	--fbd-type-row-title-line: 20px;
	--fbd-type-meta: 13px;
	--fbd-type-caption: 14px;
	--fbd-type-caption-line: 21px;
	--fbd-type-control: 15px;
	--fbd-type-control-line: 24px;
	--fbd-type-status: 13px;
	--fbd-type-status-line: 19px;
	--fbd-type-overline: 12px;
	--fbd-type-overline-line: 18px;
	--fbd-option-label-column: 112px;
	--fbd-option-action-column: 44px;
	--fbd-option-column-gap: 16px;
	--fbd-option-inline: 20px;
	--fbd-template-stage: #f1f1f1;
	--fbd-type-meta-line: 19px;
}

/* Keep the document root as the only vertical scroll owner. `overflow-x: clip`
 * on the root leaves WebKit without a reliable touch-scroll viewport when the
 * legacy body rule also declares `overflow-y: scroll`. Clip horizontal overflow
 * at html, while body remains an unconstrained content box. */
html.fb-detail-renewal {
	max-width: 100%;
	overflow-anchor: none;
	overflow-x: hidden;
	overflow-y: auto;
}

/* Legacy style.css turns body into a separate vertical scroll container. That
 * makes the order rail's sticky reference differ from the window scroll. */
html.fb-detail-renewal body {
	max-width: 100%;
	overflow-anchor: none;
	overflow-x: visible;
	overflow-y: visible !important;
}

/* The legacy header wraps content in a fixed, auto-layout table. That table,
 * not an individual card, caused the 692px document width on a 390px viewport. */
.fb-detail-renewal table#content_wrapper {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	table-layout: fixed;
	margin-inline: auto !important;
}

.fb-detail-renewal #content_wrapper > tbody,
.fb-detail-renewal #content_wrapper > tbody > tr,
.fb-detail-renewal #content_wrapper > tbody > tr > td {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.fb-detail-renewal [data-ui-contract="EDITOR.UI.CONSUMER.FACTORYB_DETAIL.V1"],
.fb-detail-renewal [data-ui-contract="EDITOR.UI.CONSUMER.FACTORYB_DETAIL.V1"] * {
	box-sizing: border-box;
}

.fb-detail-renewal .page-wrap[data-ui-contract] {
	width: min(1000px, calc(100% - 32px)) !important;
	max-width: 1000px !important;
	margin-inline: auto;
	padding: 0 0 96px;
	color: var(--fbd-text);
	font-family: var(--bj-font-family, "Pretendard Variable", Pretendard, "Noto Sans KR", sans-serif);
	font-size: var(--bj-type-body, 16px);
	font-weight: var(--bj-type-body-weight, 400);
	line-height: var(--bj-type-body-line, 1.6);
}

.fb-detail-renewal .content-area {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	align-items: start;
	gap: 24px;
}

.fb-detail-renewal .content-main,
.fb-detail-renewal .content-left,
.fb-detail-renewal .upload-after,
.fb-detail-renewal .option-area {
	min-width: 0;
	width: 100%;
}

.fb-detail-renewal .upload-after {
	padding: 0;
	background: transparent;
}

.fb-detail-renewal .content-left {
	border: 0;
	border-radius: 0;
	overflow: visible;
	background: transparent;
}

.fb-detail-renewal .content-right {
	/* post.css carries a legacy 320px !important rail at desktop widths. */
	width: 300px !important;
	min-width: 0;
	padding-top: 0;
	position: sticky;
	top: 20px;
}

/* Detail entry follows the wedding-detail grammar: navigation first, product
 * identity inside the purchase surface. */
.fb-detail-renewal .fb-detail-entry {
	width: 100%;
	min-height: 44px;
	margin: 16px 0 8px;
}

.fb-detail-renewal .fb-detail-back {
	display: inline-flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border-radius: 6px;
	color: var(--fbd-ink);
	line-height: 1;
	text-decoration: none;
	transition: background-color 120ms ease, color 120ms ease;
}

.fb-detail-renewal .fb-detail-back:hover { background: var(--fbd-surface-soft); }
.fb-detail-renewal .fb-detail-back:focus-visible { border-radius: 4px; outline: 2px solid var(--fbd-ink); outline-offset: 4px; }
.fb-detail-renewal .fb-detail-back svg { width: 20px; height: 20px; flex: 0 0 20px; }
.fb-detail-renewal body.mobile-header-surface-detail .fb-detail-entry { display: none; }

.fb-detail-renewal .fb-order-identity {
	padding: 0 0 18px;
	border-bottom: 1px solid var(--fbd-line-soft);
}

.fb-detail-renewal .fb-order-identity p {
	margin: 0 0 5px;
	color: var(--fbd-muted);
	font-size: 13px;
	font-weight: 400;
	line-height: 19px;
}

.fb-detail-renewal .fb-order-product-title {
	margin: 0;
	word-break: keep-all;
}

.fb-detail-renewal .upload-detail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	align-items: start;
	margin: 0 0 var(--bj-space-2, 16px);
	padding: 0;
	overflow: hidden;
	border: var(--bj-order-panel-border);
	border-radius: var(--bj-order-panel-radius);
	background: var(--fbd-surface);
	box-shadow: var(--bj-order-panel-shadow);
}

.fb-detail-renewal .upload-detail-thumb-left {
	width: 100%;
	height: 280px !important;
	min-height: 280px !important;
	max-height: 280px !important;
	aspect-ratio: auto !important;
	align-self: start;
	border: 0;
	border-radius: 0;
	background: var(--fbd-surface);
}

.fb-detail-renewal .upload-product-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 20px;
}

.fb-detail-renewal .upload-detail[data-product-media-mode="production"] .upload-detail-thumb-left {
	height: 340px !important;
	min-height: 340px !important;
	max-height: 340px !important;
}

.fb-detail-renewal .fb-design-first-column {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	min-height: 280px;
	align-self: stretch;
	border: 0;
	border-left: 1px solid var(--fbd-line-soft);
	border-radius: 0;
	background: var(--fbd-surface);
	overflow: hidden;
}

.fb-detail-renewal .upload-detail[data-product-media-mode="production"] .fb-design-first-column { min-height: 340px; }

.fb-detail-renewal .fb-design-first-intro,
.fb-detail-renewal .fb-specification-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.fb-detail-renewal .fb-design-first-intro {
	grid-column: 1 / -1;
	width: 100%;
	padding: var(--bj-space-2, 16px);
	border-bottom: 1px solid var(--fbd-line-soft);
}

.fb-detail-renewal .fb-design-first-intro h2,
.fb-detail-renewal .fb-specification-head h2 {
	margin: 0;
	font-size: var(--fbd-type-panel-title);
	font-weight: 600;
	line-height: var(--fbd-type-panel-title-line);
	letter-spacing: -0.02em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-design-first-intro p,
.fb-detail-renewal .fb-specification-head p {
	margin: 0;
	font-size: var(--fbd-type-meta);
	line-height: var(--fbd-type-meta-line);
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-product-geometry-reference {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 28px 24px;
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-product-geometry-shape {
	width: min(76%, 168px);
	max-height: 108px;
	margin-bottom: 16px;
	border: 1px solid #aeb7c2;
	border-radius: 5px;
	background: #fff;
	box-shadow: 8px 8px 0 #e8ebef;
}

.fb-detail-renewal .fb-product-geometry-reference strong { font-size: 15px; font-weight: 650; line-height: 1.4; }
.fb-detail-renewal .fb-product-geometry-reference span {
	margin-top: 4px;
	font-size: 14px;
	line-height: 21px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-product-proof-slots {
	width: min(100%, 1000px);
	margin: 64px auto 0;
	padding: 0 0 64px;
	border: 0;
	border-bottom: 1px solid #e3e1dd;
	border-radius: 0;
	background: transparent;
}

.fb-detail-renewal .pressb-product-proof-slots[hidden] { display: none !important; }
.fb-detail-renewal .pressb-product-proof-head { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 24px; align-items: end; }
.fb-detail-renewal .pressb-product-proof-head span { font-size: var(--fbd-type-overline); font-weight: 700; line-height: var(--fbd-type-overline-line); letter-spacing: .12em; color: #8b8277; }
.fb-detail-renewal .pressb-product-proof-head h2 { margin: 7px 0 0; font-size: 28px; line-height: 1.4; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-product-proof-head p { margin: 0; font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); color: var(--fbd-muted); }
.fb-detail-renewal .pressb-product-proof-track { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.fb-detail-renewal .pressb-product-proof-track:not(:has(figure:nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
.fb-detail-renewal .pressb-product-proof-track figure:first-child { grid-row: 1 / span 2; }
.fb-detail-renewal .pressb-product-proof-track:not(:has(figure:nth-child(3))) figure:first-child { grid-row: auto; }
.fb-detail-renewal .pressb-product-proof-track figure { margin: 0; overflow: hidden; border: 1px solid #e1ddd7; border-radius: 9px; background: #fff; }
.fb-detail-renewal .pressb-product-proof-track img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: #e4e4e4; }
.fb-detail-renewal .pressb-product-proof-track figure:first-child img { min-height: 420px; }
.fb-detail-renewal .pressb-product-proof-track:not(:has(figure:nth-child(3))) figure:first-child img { min-height: 0; }
.fb-detail-renewal .pressb-product-proof-track figcaption { display: flex; flex-direction: column; gap: 3px; padding: 12px; }
.fb-detail-renewal .pressb-product-proof-track strong { font-size: 13px; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-product-proof-track span { font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); color: var(--fbd-muted); }
/* 0단계(2026-09-20): 역할 라벨 · 확대 버튼 · 주문 전 주의 — 사진이 '무엇을 증명하는지'를 사진 위와 아래에 적는다. */
.fb-detail-renewal .pressb-product-proof-head .pressb-product-proof-lead { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-product-proof-open { display: block; position: relative; width: 100%; margin: 0; padding: 0; border: 0; background: none; font: inherit; cursor: zoom-in; }
/* Block surface focus: the image-only proof tile gets a line inside its bottom edge; no box.
   (::before, because ::after carries the cutting-result badge.) */
.fb-detail-renewal .pressb-product-proof-open:focus-visible { outline: none; box-shadow: none; }
.fb-detail-renewal .pressb-product-proof-open:focus-visible::before { position: absolute; right: 0; bottom: 0; left: 0; z-index: 3; height: 3px; background: var(--fbd-ink); content: ''; }
.fb-detail-renewal .pressb-product-proof-role { position: absolute; left: 10px; top: 10px; padding: 3px 9px; border-radius: 999px; background: rgba(24, 24, 23, .78); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; line-height: 16px; pointer-events: none; }
.fb-detail-renewal .pressb-product-proof-track figure[data-proof-role="hero"] .pressb-product-proof-role { left: 12px; top: 12px; padding: 4px 11px; font-size: 12px; line-height: 18px; }
/* 정면 + 접사 2장 배치: 접사는 찍은 그대로(4:3) 두고, 정면은 남는 높이를 채운다 — 정면 아래 빈 여백이 생기지 않는다.
 * 접사를 16:10 으로 낮추면 object-fit:cover 가 위아래를 8%씩 잘라낸다. 증거 사진에서 그 8% 는 빈 여백이 아니라
 * 주소 줄과 보여주려는 재단 모서리였다(글자가 획 중간에서 잘려 인쇄 품질을 의심하게 만든다).
 * proof-*.webp 는 계약상 4:3 이다 — factoryb/scripts/namecard_production_media_contract_test.php 의 'proof frame is 4:3'.
 * 두 칸은 높이가 묶여 있다: 접사를 4:3 으로 되돌리면 오른쪽 기둥이 높아져 4:3 정면(FBN0005 등)은 좌우가 92%→80% 로 더 잘린다.
 * 정면은 전체를 보여주는 구성 사진이라 가운데 크롭이 안전하지만, 접사는 글자와 절단면이 증거다 — 증거 쪽을 살린다. */
.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:first-child { display: flex; flex-direction: column; }
.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:first-child .pressb-product-proof-open { flex: 1 1 auto; min-height: 0; }
.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:first-child img { height: 100%; aspect-ratio: auto; }
.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:not(:first-child) img { aspect-ratio: 4 / 3; }
.fb-detail-renewal .pressb-product-proof-notes { margin-top: 16px; padding: 14px 16px 15px; border: 1px solid var(--fbd-line); border-radius: 12px; background: var(--fbd-surface-soft); }
.fb-detail-renewal .pressb-product-proof-notes h3 { margin: 0 0 6px; font-size: 13px; font-weight: 700; line-height: 20px; color: var(--fbd-ink); }
/* ⚠ 사이트 전역 리셋이 ul, ol, li 의 글머리표를 지운다 — 그러면 이 18px 들여쓰기는 채울 것이 없는 빈칸이 되고,
 * 주의가 두 줄로 접힐 때 어느 줄까지가 한 항목인지 읽힌다(사장님 시각 검토 20260920 폰 실측: 제목 left 47 · 항목 left 65).
 * 전역 기본값이 «없음»이니 표가 필요한 곳은 스스로 말해야 한다. */
.fb-detail-renewal .pressb-product-proof-notes ul { margin: 0; padding-left: 18px; list-style: disc; font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); color: var(--fbd-muted); }
.fb-detail-renewal .pressb-product-proof-notes li { list-style: inherit; }
.fb-detail-renewal .pressb-product-proof-notes li + li { margin-top: 2px; }

.fb-detail-renewal .upload-detail-info {
	justify-content: flex-end;
	width: 100%;
	min-width: 0;
	margin: 0 0 16px;
	padding: var(--bj-space-2, 16px);
	border: var(--bj-order-panel-border);
	border-radius: var(--bj-order-panel-radius);
	background: var(--fbd-surface);
	box-shadow: var(--bj-order-panel-shadow);
}

.fb-detail-renewal .upload-form-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--bj-space-2, 16px);
	align-items: start;
}

.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] {
	padding-block: var(--bj-space-2, 16px);
}

.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .fb-specification-head {
	margin-bottom: var(--bj-space-2, 16px);
	padding-bottom: var(--bj-space-2, 16px);
}

.fb-detail-renewal .fb-fixed-size-summary {
	display: flex;
	align-items: baseline;
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 8px;
	background: var(--fbd-surface-soft);
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-fixed-size-summary strong {
	font-size: 17px;
	font-weight: 650;
	line-height: 1.4;
	letter-spacing: -0.02em;
}

.fb-detail-renewal .fb-fixed-size-summary span {
	margin-left: 5px;
	font-size: 12px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .spec-size-text {
	min-height: 0;
	border: 0;
	background: transparent;
}

.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .upload-form-grid > .upload-form-group:first-child {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 8px;
	align-items: end;
}
.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .upload-form-grid > .upload-form-group:first-child > .upload-form-label {
	grid-column: 1 / -1;
}
.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .fb-orient-group {
	grid-column: 2;
	margin-top: 0 !important;
}
.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .fb-orient-toggle { height: 44px; }

.fb-detail-renewal .fb-multi-design-group .upload-form-label { margin-bottom: 8px; }
.fb-detail-renewal .fb-md-controls { display: flex; align-items: stretch; gap: 8px; }
/* 총수량은 같은 줄의 읽기 전용 결과 — [100 장] × [1 건] = 총 100장. 줄 아래 오른쪽 정렬(20260913)에서 줄 안으로(20260918):
 * 아래에 한 줄을 더 두면 시작 단추가 그만큼 접힘 밑으로 밀린다. 값은 계약이 더한 orderData.totalQuantity 다. */
.fb-detail-renewal .fb-md-total {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--fbd-ink);
	white-space: nowrap;
}
.fb-detail-renewal .fb-md-wrap { flex: 1; min-width: 0; margin-bottom: 0; }
.fb-detail-renewal .fb-md-wrap .order-qty-box { height: 44px !important; }
.fb-detail-renewal .fb-md-multiply,
.fb-detail-renewal .fb-md-equals {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	height: 44px;
	font-size: 15px;
	font-weight: 500;
	color: var(--fbd-muted);
}
.fb-detail-renewal .fb-specification-head {
	margin-bottom: var(--bj-space-2, 16px);
	padding-bottom: var(--bj-space-2, 16px);
	border-bottom: 1px solid var(--fbd-line-soft);
}

.fb-detail-renewal .upload-form-group {
	min-width: 0;
	padding: 0;
	border-bottom: 0;
}

.fb-detail-renewal .upload-form-group:first-child { padding-top: 0; }
.fb-detail-renewal .upload-form-group:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.fb-detail-renewal .upload-form-label {
	margin-bottom: 8px;
	font-size: var(--fbd-type-row-title);
	font-weight: 600;
	line-height: var(--fbd-type-row-title-line);
	color: var(--fbd-muted);
}

.fb-detail-renewal .spec-size-text,
.fb-detail-renewal .order-qty-box,
.fb-detail-renewal .opt-size-input,
.fb-detail-renewal .opt-sub-select,
.fb-detail-renewal .paper-cut-select-bar {
	min-height: 44px;
	border-color: var(--fbd-line);
	border-radius: 8px;
	background: var(--fbd-surface);
}

/* Editor-adjacent design decision */
.fb-detail-renewal .fb-design-section {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--fbd-surface);
	overflow: hidden;
}

.fb-detail-renewal .fb-design-tab-headers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 0 16px;
	border: 0;
	border-bottom: 1px solid var(--fbd-line-soft);
	background: var(--fbd-surface);
}

.fb-detail-renewal .fb-design-tab {
	position: relative;
	min-height: 52px;
	margin: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	color: var(--fbd-muted);
	transition: color 140ms ease, background-color 140ms ease;
}

.fb-detail-renewal .fb-design-tab:hover {
	background: var(--fbd-surface-soft);
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-design-tab.is-active {
	background: transparent;
	color: var(--fbd-ink);
	font-weight: 600;
}

.fb-detail-renewal .fb-design-tab.is-active::after {
	content: '';
	position: absolute;
	right: 12px;
	bottom: -1px;
	left: 12px;
	height: 2px;
	background: var(--fbd-ink);
}

.fb-detail-renewal .fb-design-tab:focus-visible,
.fb-detail-renewal .btn-fb-design:focus-visible,
.fb-detail-renewal .opt-section-header:focus-visible,
.fb-detail-renewal button:focus-visible,
.fb-detail-renewal a:focus-visible {
	outline: 2px solid var(--fbd-ink);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--fbd-focus);
}

/* 글자를 «넣는» 칸은 누르는 것이 아니다 — 위의 단추용 링(잉크 2px + 4px 그림자)을 그대로 쓰면
 * 흰 패널에서 칸이 통째로 까매 보인다(사장님 2026-09-20 「입력폼이 왜 이렇게 까만색이」 — 실측:
 * outline 2px rgb(24,24,23) + box-shadow 4px rgba(24,24,23,.12)).
 * 정본(common/bojagi-design-system.css 의 .bj-form-control input:focus)은 «테두리를 짙게 + 옅은 링 하나»다.
 * 같은 뜻을 이 화면의 토큰으로 쓴다 — 초점은 그대로 보이고, 칸은 칸으로 남는다. */
.fb-detail-renewal select:focus-visible,
.fb-detail-renewal input:focus-visible,
.fb-detail-renewal textarea:focus-visible {
	border-color: var(--fbd-ink);
	outline: 2px solid var(--fbd-focus);
	outline-offset: 1px;
	box-shadow: none;
}

.fb-detail-renewal .fb-design-tab:focus-visible {
	outline: 2px solid var(--fbd-ink);
	outline-offset: -4px;
	border-radius: 6px;
	box-shadow: none;
}

.fb-detail-renewal .order-summary-head .btn-reset-order {
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
}

.fb-detail-renewal .btn-design-inspect { min-height: 44px; }

.fb-detail-renewal .fb-design-tab-panel { padding: 16px; }
.fb-detail-renewal #fbDesignUploadPanel { padding-top: 0; }
.fb-detail-renewal .fb-design-tab-panel.is-active {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.fb-detail-renewal .upload-detail.has-template-gallery {
	grid-template-columns: minmax(0, 1fr);
}
.fb-detail-renewal .upload-detail[data-template-slug="namecard"] {
	grid-template-columns: minmax(0, 1fr);
}

/* Existing editor design state is supplementary information inside the
 * established template/upload flow; it never replaces that flow. */
.fb-current-editor-design {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding: 12px 14px;
	border: 1px solid #e4e7ec;
	border-radius: 8px;
	background: #f8fafc;
}

.fb-current-editor-design-thumb {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	object-fit: contain;
	border: 1px solid #e4e7ec;
	border-radius: 6px;
	background: #fff;
}

.fb-current-editor-design-copy {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.fb-current-editor-design-copy span,
.fb-current-editor-design-copy small {
	color: #667085;
	font-size: 12px;
	line-height: 1.45;
}

.fb-current-editor-design-copy strong {
	color: #182230;
	font-size: 15px;
	line-height: 1.4;
}

.fb-detail-renewal #fbDesignMethod { scroll-margin-top: 96px; }

.fb-detail-renewal .upload-detail.has-template-gallery .upload-detail-thumb-left {
	display: none !important;
}
.fb-detail-renewal .upload-detail[data-template-slug="namecard"] .upload-detail-thumb-left {
	display: none !important;
}

.fb-detail-renewal .upload-detail.has-template-gallery .fb-design-first-column {
	grid-column: 1 / -1;
	min-height: 0;
	border-left: 0;
}
.fb-detail-renewal .upload-detail[data-template-slug="namecard"] .fb-design-first-column {
	grid-column: 1 / -1;
	min-height: 0;
	border-left: 0;
}

.fb-detail-renewal .fb-store-template-browser {
	display: flex;
	position: relative;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	gap: 14px;
}

.fb-detail-renewal .fb-store-template-browser[hidden] { display: none !important; }

.fb-detail-renewal .fb-template-entry-card {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px 16px;
	min-height: 108px;
	padding: 16px 18px;
	border: 1px solid var(--fbd-line);
	border-radius: 10px;
	background: var(--fbd-surface);
}
.fb-detail-renewal .fb-template-entry-icon {
	display: inline-grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 10px;
	background: var(--fbd-surface-soft);
	color: var(--fbd-ink);
}
.fb-detail-renewal .fb-template-entry-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}
.fb-detail-renewal .fb-template-entry-copy strong {
	color: var(--fbd-ink);
	font-size: 16px;
	font-weight: 750;
	line-height: 24px;
}
.fb-detail-renewal .fb-template-entry-copy > span {
	color: var(--fbd-muted);
	font-size: 14px;
	line-height: 21px;
}
.fb-detail-renewal .fb-template-entry-actions {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 8px;
}
.fb-detail-renewal .fb-template-entry-actions button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.fb-detail-renewal .fb-template-entry-blank {
	white-space: nowrap;
	padding: 0 14px;
	border: 1px solid var(--fbd-line);
	border-radius: 8px;
	background: var(--fbd-surface);
	color: var(--fbd-ink);
}
.fb-detail-renewal .fb-template-entry-blank:hover { border-color: #aeb9c4; background: var(--fbd-surface-soft); }
.fb-detail-renewal .fb-template-entry-open {
	gap: 8px;
	padding: 0 16px;
	border: 1px solid var(--fbd-ink);
	border-radius: 8px;
	background: var(--fbd-ink);
	color: #fff;
}
.fb-detail-renewal .fb-template-entry-open:hover { background: #0f1c2a; }
.fb-detail-renewal .fb-template-entry-actions button:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: 2px; }

.fb-detail-renewal .fb-template-purpose-tabs {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	padding: 0 8px;
	border-bottom: 1px solid var(--fbd-line);
	scrollbar-width: none;
}
.fb-detail-renewal .fb-template-purpose-tabs::-webkit-scrollbar { display: none; }
.fb-detail-renewal .fb-template-purpose-tabs button {
	position: relative;
	min-width: max-content;
	min-height: 44px;
	padding: 0 4px;
	border: 0;
	background: transparent;
	color: var(--fbd-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 650;
	cursor: pointer;
}
.fb-detail-renewal .fb-template-purpose-tabs button::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: transparent;
}
.fb-detail-renewal .fb-template-purpose-tabs button:hover { color: var(--fbd-ink); }
.fb-detail-renewal .fb-template-purpose-tabs button.is-active { color: var(--fbd-ink); font-weight: 750; }
.fb-detail-renewal .fb-template-purpose-tabs button.is-active::after { background: var(--fbd-ink); }
.fb-detail-renewal .fb-template-purpose-tabs button:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: -2px; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-purpose-tabs.is-overview {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.fb-detail-renewal .fb-store-template-status {
	padding: 24px 12px;
	text-align: center;
	font-size: 12px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-store-template-status[hidden] { display: none; }

.fb-detail-renewal .fb-store-template-selection {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 8px;
	padding: 10px 4px;
	border-bottom: 1px solid var(--fbd-line-soft);
	background: transparent;
	color: var(--fbd-muted);
	font-size: 14px;
	line-height: 21px;
}
.fb-detail-renewal .fb-store-template-selection-copy {
	display: inline-flex;
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	gap: 6px;
}
.fb-detail-renewal .fb-store-template-selection-copy > span { flex: 0 0 auto; white-space: nowrap; }
.fb-detail-renewal .fb-store-template-selection::before {
	content: '✓';
	display: inline-flex;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--fbd-ink);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}
.fb-detail-renewal .fb-store-template-selection[hidden] { display: none !important; }
.fb-detail-renewal .fb-store-template-selection strong {
	min-width: 0;
	overflow: hidden;
	color: var(--fbd-ink);
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fb-detail-renewal .fb-store-template-open-editor {
	display: inline-flex;
	min-height: 44px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-left: auto;
	padding: 8px 12px;
	border: 1px solid var(--fbd-ink);
	border-radius: 7px;
	background: var(--fbd-ink);
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}
.fb-detail-renewal .fb-store-template-open-editor:hover { background: #0f1c2a; }
.fb-detail-renewal .fb-store-template-open-editor:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: 2px; }

.fb-detail-renewal .fb-store-template-rail {
	display: none;
}

.fb-detail-renewal .fb-store-template-rail[hidden] { display: none !important; }

.fb-detail-renewal #fbTemplateOverviewModal[hidden] { display: none !important; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-dialog {
	position: relative;
	height: calc(100dvh - 64px);
	max-height: calc(100dvh - 64px);
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header {
	min-height: 76px;
	padding: 12px 18px 12px 24px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header > div { min-width: 0; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header h2 {
	margin: 0;
	color: var(--fbd-ink);
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header p {
	margin: 2px 0 0;
	color: var(--fbd-muted);
	font-size: 14px;
	line-height: 21px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-close {
	display: inline-grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--fbd-muted);
	font: inherit;
	font-size: 25px;
	cursor: pointer;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-close:hover { background: var(--fbd-surface-soft); color: var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-body {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
	padding: 0 24px 20px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs {
	display: flex;
	min-height: 56px;
	flex: 0 0 auto;
	align-items: stretch;
	gap: 30px;
	overflow-x: auto;
	border-bottom: 1px solid var(--fbd-line);
	scrollbar-width: none;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs::-webkit-scrollbar { display: none; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button {
	position: relative;
	display: inline-flex;
	min-width: max-content;
	min-height: 56px;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fbd-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: transparent;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button span { color: #8a96a5; font-size: 12px; font-weight: 500; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button.is-active { color: var(--fbd-ink); font-weight: 750; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button.is-active::after { background: var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button:focus-visible { outline: 0; color: var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button:focus-visible::after { background: var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-toolbar {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--fbd-line);
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-toolbar p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	white-space: nowrap;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-toolbar strong { color: var(--fbd-ink); font-size: 15px; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-toolbar p span { color: var(--fbd-muted); font-size: 13px; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-search {
	display: flex;
	width: min(360px, 48%);
	min-height: 44px;
	align-items: center;
	gap: 9px;
	border-bottom: 1px solid var(--fbd-ink);
	color: var(--fbd-muted);
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-search input {
	width: 100%;
	min-width: 0;
	height: 42px;
	padding: 0;
	border: 0;
	outline: 0;
	box-shadow: none;
	background: transparent;
	color: var(--fbd-ink);
	font: inherit;
	font-size: 14px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid {
	display: grid;
	min-height: 0;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px 14px;
	overflow-y: auto;
	padding: 20px 8px 20px 0;
	align-content: start;
	scrollbar-gutter: stable;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-card { padding: 0; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-card:focus-visible { outline: 0; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-card:focus-visible .fb-store-template-media { box-shadow: inset 0 0 0 2px var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-card.is-selected:focus-visible .fb-store-template-media { box-shadow: inset 0 0 0 3px var(--fbd-ink); }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-media { height: 148px; padding: 14px; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-copy {
	display: block;
	min-width: 0;
	padding-top: 8px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-direct-label {
	display: block;
	margin-top: 5px;
	color: var(--fbd-ink);
	font-size: 12px;
	font-weight: 650;
	line-height: 18px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card:hover .fb-store-template-direct-label,
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card:focus-visible .fb-store-template-direct-label { text-decoration: underline; text-underline-offset: 3px; }
.fb-detail-renewal .fb-store-template-image-fallback {
	display: inline-flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border: 1px solid var(--fbd-line);
	border-radius: 6px;
	background: #fff;
	color: var(--fbd-muted);
	font-size: 12px;
	line-height: 18px;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-empty {
	margin: 40px 0;
	color: var(--fbd-muted);
	text-align: center;
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-empty[hidden] { display: none !important; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-feedback {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.fb-detail-renewal #fbTemplateOverviewModal.is-opening-editor .fb-template-orientation-tabs,
.fb-detail-renewal #fbTemplateOverviewModal.is-opening-editor .fb-template-purpose-tabs,
.fb-detail-renewal #fbTemplateOverviewModal.is-opening-editor .fb-template-overview-toolbar { opacity: .52; pointer-events: none; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card:disabled { cursor: wait; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card:disabled:not(.is-launching) { opacity: .5; }
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card.is-launching .fb-store-template-edit {
	display: flex;
	opacity: 1;
	background: rgba(23, 38, 56, .82);
}
.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card.is-launching .fb-store-template-edit::before {
	content: '';
	width: 16px;
	height: 16px;
	margin-right: 7px;
	border: 2px solid rgba(255,255,255,.42);
	border-top-color: #fff;
	border-radius: 50%;
	animation: fb-template-overview-spin .8s linear infinite;
}
@keyframes fb-template-overview-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.fb-detail-renewal #fbTemplateOverviewModal .fb-store-template-card.is-launching .fb-store-template-edit::before { animation: none; }
}

@media (max-width: 767px) {
	html.fb-detail-renewal.fb-template-overview-open {
		overflow: hidden;
	}

	.fb-detail-renewal .fb-template-entry-card {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: 10px 12px;
		min-height: 0;
		padding: 16px;
	}
	.fb-detail-renewal .fb-template-entry-icon { width: 42px; height: 42px; border-radius: 9px; }
	.fb-detail-renewal .fb-template-entry-copy strong { font-size: 15px; line-height: 22px; }
	.fb-detail-renewal .fb-template-entry-copy > span { font-size: 13px; line-height: 20px; }
	.fb-detail-renewal .fb-template-entry-actions {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
		gap: 8px;
	}
	.fb-detail-renewal .fb-template-entry-actions button { width: 100%; min-height: 48px; }
	.fb-detail-renewal .fb-template-purpose-tabs { gap: 18px; padding-inline: 2px; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-dialog { height: 100dvh; max-height: 100dvh; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header { min-height: 88px; padding: 10px 10px 10px 16px; align-items: flex-start; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-header p { display: block; margin-top: 1px; font-size: 12px; line-height: 18px; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-body { padding: 0 14px 12px; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs { min-height: 52px; gap: 24px; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-orientation-tabs button { min-height: 52px; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-toolbar { display: grid; gap: 8px; padding: 10px 0; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-search { width: 100%; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 10px; padding: 14px 2px 18px 0; }
	.fb-detail-renewal #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-media { height: 112px; padding: 10px 8px; }
	html.fb-detail-renewal:has(#fbTemplateOverviewModal:not([hidden])) .mobile-bottom-bar,
	html.fb-detail-renewal:has(#fbTemplateOverviewModal:not([hidden])) .mobile-order-panel,
	html.fb-detail-renewal:has(#fbTemplateOverviewModal:not([hidden])) .mobile-overlay,
	html.fb-detail-renewal.fb-template-overview-open .mobile-bottom-bar,
	html.fb-detail-renewal.fb-template-overview-open .mobile-order-panel,
	html.fb-detail-renewal.fb-template-overview-open .mobile-overlay {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
}

@media (max-width: 359px) {
	.fb-detail-renewal .fb-template-entry-actions { grid-template-columns: minmax(0, 1fr); }
	.fb-detail-renewal .fb-template-entry-open { order: 1; width: 100%; }
	.fb-detail-renewal .fb-template-entry-blank { order: 2; width: 100%; min-height: 36px; }
}

/* The detail page can request a mobile preview while the QA browser keeps a
 * desktop viewport. Mirror the real narrow-viewport rules for this explicit
 * state so the visible template modal is judged as a phone surface instead
 * of retaining its desktop auto-fill columns. Real mobile browsers continue
 * to use the media-query rules above. */
/* 이 잠금은 «템플릿 창이 열려 있을 때»의 것이다(창이 100dvh 를 차지한다). 클래스 자체는 실제 폰 손님 전부에게 붙으므로
 * 조건 없이 잠그면 명함 상세가 폰에서 아예 굴러가지 않았다(2026-09-14 ~ 18, 사장님 「모바일 상하 스크롤이 멈췄어」 · CDP 손가락 굴림 실측 scrollY 0). */
html.fb-detail-renewal.fb-detail-mobile-forced.fb-template-overview-open {
	overflow: hidden;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-dialog {
	height: 100dvh;
	max-height: 100dvh;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-header {
	min-height: 88px;
	padding: 10px 10px 10px 16px;
	align-items: flex-start;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-header p {
	display: block;
	margin-top: 1px;
	font-size: 12px;
	line-height: 18px;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-body {
	padding: 0 14px 12px;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-orientation-tabs {
	min-height: 52px;
	gap: 24px;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-orientation-tabs button {
	min-height: 52px;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-toolbar {
	display: grid;
	gap: 8px;
	padding: 10px 0;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-search {
	width: 100%;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 10px;
	padding: 14px 2px 18px 0;
}
html.fb-detail-renewal.fb-detail-mobile-forced #fbTemplateOverviewModal .fb-template-overview-grid .fb-store-template-media {
	height: 112px;
	padding: 10px 8px;
}
html.fb-detail-renewal.fb-detail-mobile-forced:has(#fbTemplateOverviewModal:not([hidden])) .mobile-bottom-bar,
html.fb-detail-renewal.fb-detail-mobile-forced:has(#fbTemplateOverviewModal:not([hidden])) .mobile-order-panel,
html.fb-detail-renewal.fb-detail-mobile-forced:has(#fbTemplateOverviewModal:not([hidden])) .mobile-overlay,
html.fb-detail-renewal.fb-detail-mobile-forced.fb-template-overview-open .mobile-bottom-bar,
html.fb-detail-renewal.fb-detail-mobile-forced.fb-template-overview-open .mobile-order-panel,
html.fb-detail-renewal.fb-detail-mobile-forced.fb-template-overview-open .mobile-overlay {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.fb-detail-renewal .fb-store-template-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 2px 4px 4px;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--fbd-ink);
	text-align: left;
	cursor: pointer;
}

.fb-detail-renewal .fb-store-template-card[hidden] { display: none !important; }

.fb-detail-renewal .fb-store-template-media {
	display: flex;
	position: relative;
	height: 158px;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	padding: 14px 10px;
	border-radius: 8px;
	background: var(--fbd-template-stage);
}

.fb-detail-renewal .fb-store-template-card.is-selected .fb-store-template-media {
	box-shadow: inset 0 0 0 2px var(--fbd-ink);
}

.fb-detail-renewal .fb-store-template-card.is-selected .fb-store-template-media::after {
	content: '선택한 디자인';
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 4px 7px;
	border-radius: 5px;
	background: var(--fbd-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
}

.fb-detail-renewal .fb-store-template-visual {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	max-width: 100%;
	max-height: 100%;
	align-items: center;
	justify-content: center;
	transition: transform 140ms ease;
}

.fb-detail-renewal .fb-store-template-visual img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	border: 1px solid rgba(24, 24, 23, 0.04);
	border-radius: 4px;
	background: #fff;
	box-shadow: 2px 3px 7px -4px rgba(24, 24, 23, 0.16);
	transition: box-shadow 140ms ease;
}
.fb-detail-renewal .fb-store-template-selection-preview {
	display: block;
	width: 96px;
	height: 60px;
	flex: 0 0 96px;
	object-fit: contain;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 5px;
	background: var(--fbd-template-stage);
}
.fb-detail-renewal .fb-store-template-selection-preview[hidden] { display: none !important; }

.fb-detail-renewal .fb-store-template-postproc-status {
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 2;
	padding: 3px 7px;
	border: 1px solid rgba(255, 255, 255, 0.76);
	border-radius: 999px;
	background: rgba(24, 24, 23, 0.86);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	box-shadow: 0 1px 3px rgba(24, 24, 23, 0.14);
}
.fb-detail-renewal .fb-store-template-postproc-status::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 5px;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 50%;
	background-color: var(--fb-postproc-material-color, #b5a37a);
	background-image: var(--fb-postproc-material-swatch, linear-gradient(135deg, #fff2b6 0%, #a6751f 42%, #f9e29a 62%, #765114 100%));
	background-position: center;
	background-size: cover;
	vertical-align: -1px;
}
.fb-detail-renewal .fb-store-template-visual.has-postproc-preset {
	position: relative;
}
.fb-detail-renewal .fb-store-template-visual.is-blank-canvas {
	background: #fff;
	aspect-ratio: var(--fb-template-blank-ratio, 90 / 50);
	box-shadow: inset 0 0 0 1px #cfd4da;
}
.fb-detail-renewal .fb-store-template-blank-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #9da5ae;
	border-radius: 50%;
	color: var(--fbd-ink);
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
}

.fb-detail-renewal .fb-store-template-card.is-landscape .fb-store-template-visual {
	width: 100%;
}

.fb-detail-renewal .fb-store-template-card.is-landscape .fb-store-template-visual.is-blank-canvas {
	height: auto;
}

.fb-detail-renewal .fb-store-template-card.is-landscape .fb-store-template-visual img {
	width: 100%;
	height: auto;
}

.fb-detail-renewal .fb-store-template-card.is-portrait .fb-store-template-visual {
	height: 140px;
}

.fb-detail-renewal .fb-store-template-card.is-portrait .fb-store-template-visual.is-blank-canvas {
	width: auto;
}

.fb-detail-renewal .fb-store-template-card.is-portrait .fb-store-template-visual img { height: 100%; }

.fb-detail-renewal .fb-store-template-card:hover .fb-store-template-visual,
.fb-detail-renewal .fb-store-template-card:focus-visible .fb-store-template-visual {
	transform: translateY(-1px);
}

.fb-detail-renewal .fb-store-template-card:hover .fb-store-template-visual img,
.fb-detail-renewal .fb-store-template-card:focus-visible .fb-store-template-visual img {
	box-shadow: 3px 5px 9px -5px rgba(24, 24, 23, 0.2);
}

.fb-detail-renewal .fb-store-template-copy {
	display: none;
}

.fb-detail-renewal .fb-store-template-name {
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fb-detail-renewal .fb-store-template-size {
	display: block;
	margin-top: 2px;
	color: var(--fbd-muted);
	font-size: 13px;
	line-height: 19px;
}

.fb-detail-renewal .fb-store-template-edit {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: rgba(23, 38, 56, 0.68);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	opacity: 0;
	pointer-events: none;
	transition: opacity 140ms ease;
}

@media (hover: hover) and (pointer: fine) {
	.fb-detail-renewal .fb-store-template-card:not(.is-selected):hover .fb-store-template-edit,
	.fb-detail-renewal .fb-store-template-card:not(.is-selected):focus-visible .fb-store-template-edit {
		opacity: 1;
	}
}

.fb-detail-renewal .has-template-gallery .editor-launch { display: none !important; }
.fb-detail-renewal .has-template-gallery .editor-launch.is-editor-return {
	display: flex !important;
	margin-top: 0;
}

.fb-detail-renewal .fb-design-tab-panel.is-editor-spec-return {
	padding-top: 16px;
}

.fb-detail-renewal .editor-launch.is-editor-return .btn-fb-design.btn-editor-launch,
.fb-detail-renewal .editor-launch.is-editor-return.is-uploaded .btn-fb-design.btn-editor-launch,
.fb-detail-renewal .editor-launch.is-editor-return.is-template-edited .btn-fb-design.btn-editor-launch {
	border: 0;
	background: var(--fbd-ink);
	color: #fff;
}

.fb-detail-renewal .editor-launch.is-editor-return .btn-fb-design.btn-editor-launch:hover {
	background: #0f1c2a;
	color: #fff;
}

.fb-detail-renewal .editor-launch.is-editor-return .btn-fb-design.btn-editor-launch::before {
	display: none;
}

.fb-detail-renewal .fb-design-card,
.fb-detail-renewal .fb-design-card.editor-launch,
.fb-detail-renewal .fb-design-card.uv-file-section {
	width: 100%;
	min-width: 0;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--fbd-surface);
}

.fb-detail-renewal .btn-fb-design {
	height: 48px;
	border: 0;
	border-radius: 9px;
	background: var(--fbd-ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	box-shadow: none;
	transition: background-color 140ms ease;
}

.fb-detail-renewal .btn-fb-design > span {
	color: inherit;
}

.fb-detail-renewal .btn-fb-design:hover {
	background: #0f1c2a;
	color: #fff;
}

.fb-detail-renewal .btn-fb-design .btn-fb-design-icon {
	filter: invert(1) brightness(2);
	opacity: 0.9;
}

.fb-detail-renewal .upload-guide-download { order: 2; }
.fb-detail-renewal .uv-side-uploads { order: 1; }
.fb-detail-renewal .fb-design-sets-wrap { order: 3; width: 100%; }
.fb-detail-renewal .btn-download-unified {
	height: 44px;
	border: 1px solid var(--fbd-line);
	background: var(--fbd-surface);
	color: var(--fbd-ink);
}
.fb-detail-renewal .btn-download-unified:hover { border-color: var(--fbd-selected-line); background: var(--fbd-surface-soft); color: var(--fbd-ink); }
.fb-detail-renewal .btn-download-unified .btn-fb-design-icon { filter: none; opacity: .76; }
.fb-detail-renewal .uv-side-dropzone { min-height: 112px; border-color: var(--fbd-line); background: #faf9f7; }
.fb-detail-renewal .uv-side-col:not(.uv-side-col-back) .uv-side-dropzone { border-color: var(--fbd-line); background: #faf9f7; }
.fb-detail-renewal .uv-side-col:not(.uv-side-col-back) .uv-side-dropzone .uv-side-label { color: var(--fbd-ink); }
.fb-detail-renewal .uv-side-col:not(.uv-side-col-back) .uv-side-dropzone .uv-side-dropzone-icon { color: var(--fbd-muted); }
.fb-detail-renewal .uv-side-col .uv-side-dropzone:hover,
.fb-detail-renewal .uv-side-col .uv-side-dropzone.drag-over { border-color: #6e8fc5; background: #f5f8ff; }
.fb-detail-renewal .uv-side-col .uv-side-dropzone:hover .uv-side-label,
.fb-detail-renewal .uv-side-col .uv-side-dropzone.drag-over .uv-side-label,
.fb-detail-renewal .uv-side-col .uv-side-dropzone:hover .uv-side-dropzone-icon,
.fb-detail-renewal .uv-side-col .uv-side-dropzone.drag-over .uv-side-dropzone-icon { color: #315f9f; }
.fb-detail-renewal .uv-side-dropzone .uv-side-label { font-size: 15px; line-height: 22px; font-weight: 600; }
.fb-detail-renewal .uv-side-dropzone .uv-side-format-hint { margin-top: 5px; color: var(--fbd-muted); font-size: 14px; line-height: 21px; }

.fb-detail-renewal .fb-design-card.is-template-edited .btn-fb-design {
	background: var(--fbd-selected);
	color: var(--fbd-ink);
	border: 1px solid var(--fbd-selected-line);
}

.fb-detail-renewal .fb-design-card.is-template-edited .btn-fb-design::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fbd-ink);
}

.fb-detail-renewal .fb-editor-handoff-note {
	margin: 0;
	font-size: 14px;
	line-height: 21px;
	text-align: center;
	color: var(--fbd-muted);
}

/* Product-family detail typography follows the same customer-facing roles. */
.fb-detail-renewal .env-size-box-label,
.fb-detail-renewal .env-size-box-suffix,
.fb-detail-renewal .sticker-card-size {
	font-size: 14px !important;
	line-height: 20px !important;
}

.fb-detail-renewal .sticker-order-hint {
	font-size: 14px !important;
	line-height: 21px !important;
}

.fb-detail-renewal .sticker-card-cutters {
	font-size: 13px !important;
	line-height: 19px !important;
}

/* Linear configuration groups: one outer boundary, dividers inside. */
.fb-detail-renewal .option-area {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 0;
}

.fb-detail-renewal .opt-section,
.fb-detail-renewal .opt-post-section {
	margin: 0;
	border: 1px solid var(--fbd-line);
	border-radius: 12px;
	background: var(--fbd-surface);
	box-shadow: none;
	transform: none;
	overflow: clip;
}

.fb-detail-renewal .opt-section:has(.opt-print-header.open),
.fb-detail-renewal .opt-section:has(.opt-paper-header.open),
.fb-detail-renewal .opt-section:has(.opt-print-header:not(.selected)):hover,
.fb-detail-renewal .opt-section:has(.opt-paper-header:not(.selected)):hover,
.fb-detail-renewal .opt-post-section.is-active {
	border-color: var(--fbd-selected-line);
	box-shadow: none;
	transform: none;
}

.fb-detail-renewal .opt-section-header,
.fb-detail-renewal .opt-post-card {
	min-height: 60px;
	border-radius: 0;
	background: var(--fbd-surface);
	box-shadow: none;
}

.fb-detail-renewal .opt-section-header:hover,
.fb-detail-renewal .opt-section-header[data-toggle]:hover,
.fb-detail-renewal .opt-select-card:hover,
.fb-detail-renewal .opt-post-section:hover {
	background: var(--fbd-surface-soft);
	box-shadow: none;
	transform: none;
}

.fb-detail-renewal .opt-section-header.open,
.fb-detail-renewal .opt-section-header.selected,
.fb-detail-renewal .opt-post-section.is-active .opt-post-card {
	background: #f7f9fb;
}

.fb-detail-renewal .opt-section .opt-section-body,
.fb-detail-renewal .opt-section .opt-print-body,
.fb-detail-renewal .opt-section .opt-paper-body {
	margin: 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--fbd-line-soft) !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
	box-shadow: none !important;
}

.fb-detail-renewal .opt-print-header:not(.selected) .opt-header-row,
.fb-detail-renewal .opt-paper-header:not(.selected) .opt-header-row {
	min-height: 60px;
	padding: 14px 16px;
}

.fb-detail-renewal .opt-print-header:not(.selected) .opt-header-default,
.fb-detail-renewal .opt-paper-header:not(.selected) .opt-header-default,
.fb-detail-renewal .opt-post-name {
	font-size: 15px;
	font-weight: 600;
	color: var(--fbd-ink);
}

.fb-detail-renewal .opt-post-desc,
.fb-detail-renewal .opt-select-desc,
.fb-detail-renewal .opt-header-selected-desc {
	font-size: 13px;
	line-height: 1.5;
	color: var(--fbd-muted);
}

/* Process cards share the editor's explicit state grammar. Multiple effects may
 * stay active, while only one configuration body owns vertical space. */
.fb-detail-renewal .opt-post-section[data-postproc-slug] {
	transition: border-color .16s ease, background-color .16s ease;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-header-row {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 32px 42px;
	align-items: center;
	gap: 12px;
	min-height: 88px;
	padding: 12px 14px;
	cursor: default;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug].is-active .opt-header-row {
	cursor: pointer;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-icon {
	width: 64px;
	height: 64px;
	flex: none;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 9px;
	overflow: hidden;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-icon > img:not(.fb-post-media) {
	display: none;
}

.fb-detail-renewal .fb-post-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fb-detail-renewal [data-postproc-slug="gold3d"] .fb-post-media {
	filter: sepia(.16) saturate(1.25) contrast(1.04);
}

.fb-detail-renewal [data-postproc-slug="emboss"] .fb-post-media {
	filter: contrast(1.12) brightness(.97);
}

.fb-detail-renewal .opt-post-info {
	position: relative;
	min-width: 0;
}

.fb-detail-renewal .opt-post-info .opt-post-name {
	margin: 0;
	font-size: 16px;
	font-weight: 650;
	line-height: 1.35;
}

.fb-detail-renewal .fb-post-status {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	margin-top: 5px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: var(--fbd-type-status);
	font-weight: 700;
	line-height: var(--fbd-type-status-line);
}

.fb-detail-renewal .fb-post-status.is-required { border: 1px solid var(--fbd-line); background: var(--fbd-surface-soft); color: var(--fbd-text); }
.fb-detail-renewal .fb-post-status.is-complete { background: #eaf7f0; color: #1d6b47; }
.fb-detail-renewal .fb-post-status[hidden] { display: none; }

.fb-detail-renewal .fb-post-summary {
	display: block;
	margin: 6px 0 0;
	font-size: var(--fbd-type-caption);
	line-height: var(--fbd-type-caption-line);
	color: var(--fbd-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-desc {
	display: none;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-sub {
	display: none !important;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug].is-config-open .opt-post-sub {
	display: block !important;
	height: auto !important;
	overflow: visible !important;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug].is-active:not(.is-config-open) .opt-post-card {
	background: var(--fbd-surface);
}

.fb-detail-renewal .opt-post-section[data-postproc-slug].is-config-open {
	border-color: #b8c7d7;
}

.fb-detail-renewal .fb-post-chevron {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--fbd-muted);
	cursor: pointer;
}

.fb-detail-renewal .fb-post-chevron:hover:not(:disabled) { background: var(--fbd-selected); color: var(--fbd-ink); }
.fb-detail-renewal .fb-post-chevron:disabled { cursor: default; opacity: .32; }
.fb-detail-renewal .fb-post-chevron svg { transition: transform .16s ease; }
.fb-detail-renewal .opt-post-section.is-config-open .fb-post-chevron svg { transform: rotate(180deg); }

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-toggle {
	justify-self: end;
	margin: 0;
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-sub {
	padding: 0 14px 16px;
	background: var(--fbd-surface);
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-sub-divider {
	margin: 0 0 16px;
	border-color: var(--fbd-line-soft);
}

.fb-detail-renewal .opt-post-section[data-postproc-slug] .gold-stamp-row,
.fb-detail-renewal .opt-post-section[data-postproc-slug] .gold3d-stamp-row,
.fb-detail-renewal .opt-post-section[data-postproc-slug] .emboss-stamp-row,
.fb-detail-renewal .opt-post-section[data-postproc-slug] .lp-stamp-row {
	padding: 16px;
	border: 0;
	border-radius: 10px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .btn-fb-postproc-region {
	min-height: 44px;
	border: 1px solid var(--fbd-selected-line);
	border-radius: 8px;
	background: var(--fbd-surface);
	color: var(--fbd-text);
	font-weight: 600;
}

.fb-detail-renewal .btn-fb-postproc-region:hover { background: var(--fbd-selected); border-color: #aebfd1; }
.fb-detail-renewal .btn-fb-postproc-region:disabled {
	cursor: not-allowed;
	border-color: var(--fbd-line);
	background: var(--fbd-surface-soft);
	color: var(--fbd-text-muted);
	opacity: .72;
}
.fb-detail-renewal .fb-postproc-source-required {
	margin-top: 10px;
	padding: 14px;
	border: 1px solid var(--fbd-line);
	border-radius: 8px;
	background: var(--fbd-surface-soft);
}
.fb-detail-renewal .fb-postproc-source-required p {
	margin: 0;
	color: var(--fbd-text-muted);
	font-size: 14px;
	line-height: 1.55;
}
.fb-detail-renewal .fb-postproc-source-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.fb-detail-renewal .fb-postproc-source-actions button {
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid var(--fbd-selected-line);
	border-radius: 8px;
	background: var(--fbd-surface);
	color: var(--fbd-text);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.fb-detail-renewal .gold-stamp-size-row,
.fb-detail-renewal .gold3d-stamp-size-row,
.fb-detail-renewal .emboss-stamp-size-row,
.fb-detail-renewal .emboss-size-row,
.fb-detail-renewal .lp-stamp-size-row,
.fb-detail-renewal .lp-size-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr);
	align-items: end;
	gap: 8px;
	width: 100%;
}

.fb-detail-renewal .fb-size-field-label {
	display: flex;
	align-items: baseline;
	gap: 5px;
	grid-column: 1 / -1;
	margin-bottom: 2px;
	color: var(--fbd-text);
	font-size: 12px;
	font-weight: 700;
}

.fb-detail-renewal .fb-size-field-label small {
	color: var(--fbd-muted);
	font-size: 11px;
	font-weight: 500;
}

.fb-detail-renewal .fb-size-control {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.fb-detail-renewal .fb-size-axis {
	grid-column: 1 / -1;
	margin-bottom: -2px;
	font-size: 11px;
	font-weight: 600;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-size-control .opt-sub-select {
	width: 100%;
	min-width: 0;
	height: 44px;
	padding: 0 30px 0 11px;
	border-color: var(--fbd-line);
	border-radius: 8px;
	background-color: var(--fbd-surface);
	font-size: 13px;
}

.fb-detail-renewal .fb-size-unit {
	font-size: 11px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-size-fields > .opt-size-x {
	align-self: end;
	display: grid;
	place-items: center;
	height: 44px;
	color: var(--fbd-subtle);
}

.fb-detail-renewal .gold-stamp-color-row {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px 12px;
	margin-bottom: 18px;
}

.fb-detail-renewal .fb-color-label {
	grid-column: 1 / -1;
	font-size: 12px;
	font-weight: 700;
	color: var(--fbd-text);
}

.fb-detail-renewal .gold-stamp-color-row .gold-color-chips {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	min-width: 0;
}

.fb-detail-renewal .gold-stamp-color-row .color-chip {
	position: relative;
	width: 100%;
	min-width: 0;
	height: 34px;
	border-radius: 7px;
}

.fb-detail-renewal .gold-stamp-color-row .color-chip.is-selected::after {
	content: '✓';
	position: absolute;
	top: -5px;
	right: -5px;
	display: grid;
	place-items: center;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--fbd-ink);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
}

.fb-detail-renewal .gold-stamp-color-row .fb-color-extra,
.fb-detail-renewal .gold-stamp-color-row .fb-color-nofoil {
	display: none;
}

.fb-detail-renewal .gold-stamp-color-row.is-palette-expanded .fb-color-extra,
.fb-detail-renewal .gold-stamp-color-row.is-palette-expanded .fb-color-nofoil {
	display: inline-flex;
}

.fb-detail-renewal .gold-stamp-color-row .fb-color-extra.is-selected,
.fb-detail-renewal .gold-stamp-color-row .fb-color-nofoil.is-selected {
	display: inline-flex;
}

.fb-detail-renewal .fb-color-expand {
	min-height: 34px;
	padding: 0 10px;
	border: 1px solid var(--fbd-line);
	border-radius: 7px;
	background: var(--fbd-surface);
	color: var(--fbd-text);
	font-size: 11px;
	font-weight: 600;
	white-space: nowrap;
}

.fb-detail-renewal .fb-color-selection {
	grid-column: 1 / -1;
	font-size: 11px;
	color: var(--fbd-muted);
}

.fb-pr-choice-backdrop {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(13, 25, 39, .52);
}

.fb-pr-choice-box {
	width: min(620px, 100%);
	max-height: min(760px, 92vh);
	overflow: auto;
	padding: 22px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(14, 27, 41, .22);
}

.fb-pr-choice-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.fb-pr-choice-head span { color: #6b7b8f; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.fb-pr-choice-head h2 { margin: 6px 0 7px; color: #172638; font-size: 20px; line-height: 1.35; }
.fb-pr-choice-head p { margin: 0; color: #6b7b8f; font-size: 13px; line-height: 1.55; }
.fb-pr-choice-close { min-width: 44px; min-height: 44px; border: 0; background: transparent; color: #6b7b8f; font-size: 28px; }
.fb-pr-choice-list { display: grid; gap: 8px; margin-top: 18px; }
.fb-pr-region-reuse { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 12px; min-height: 82px; padding: 10px; border: 1px solid #dfe6ee; border-radius: 10px; background: #fff; text-align: left; }
.fb-pr-region-reuse:hover { border-color: #9fb2c7; background: #f6f8fb; }
.fb-pr-region-reuse img, .fb-pr-region-placeholder { width: 72px; height: 56px; border-radius: 7px; object-fit: cover; background: #edf1f5; }
.fb-pr-region-reuse strong, .fb-pr-region-reuse small { display: block; }
.fb-pr-region-reuse strong { color: #172638; font-size: 14px; }
.fb-pr-region-reuse small { margin-top: 3px; color: #6b7b8f; font-size: 11px; }
.fb-pr-region-reuse em { color: #172638; font-size: 12px; font-style: normal; font-weight: 700; }
.fb-pr-region-new { width: 100%; min-height: 48px; margin-top: 12px; border: 1px solid #cbd8e6; border-radius: 9px; background: #eef3f8; color: #172638; font-weight: 700; }

.fb-detail-renewal .opt-section-body {
	border-top: 1px solid var(--fbd-line-soft);
	background: var(--fbd-surface);
}

.fb-detail-renewal .opt-select-card {
	min-height: 68px;
	border-color: var(--fbd-line-soft);
	background: var(--fbd-surface);
	box-shadow: none;
	transform: none;
}

.fb-detail-renewal .opt-select-card.selected,
.fb-detail-renewal .opt-select-card[aria-selected="true"] {
	background: var(--fbd-selected);
	border-color: var(--fbd-selected-line);
}

.fb-detail-renewal .opt-radio-dot {
	border-color: var(--fbd-subtle);
}

.fb-detail-renewal .opt-select-card.selected .opt-radio-dot {
	border-color: var(--fbd-ink);
	box-shadow: inset 0 0 0 4px var(--fbd-surface);
	background: var(--fbd-ink);
}

.fb-detail-renewal .fb-orient-toggle,
.fb-detail-renewal .fb-fold-toggle {
	height: 46px;
	border-color: var(--fbd-line);
	border-radius: 8px;
}

.fb-detail-renewal .fb-size-control .fb-size-native-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.fb-detail-renewal .fb-size-select-trigger {
	width: 100%;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 14px;
	border: 1px solid var(--fbd-line);
	border-radius: 8px;
	background: var(--fbd-surface);
	color: var(--fbd-ink);
	font: inherit;
	font-size: 15px;
	line-height: 24px;
	text-align: left;
	cursor: pointer;
}

.fb-detail-renewal .fb-size-select-trigger.is-none { color: var(--fbd-muted); }
.fb-detail-renewal .fb-size-select-trigger[aria-expanded="true"] {
	border-color: var(--fbd-ink);
	box-shadow: 0 0 0 1px var(--fbd-ink);
}
.fb-detail-renewal .fb-size-select-trigger svg { flex: 0 0 auto; color: var(--fbd-muted); transition: transform .18s ease; }
.fb-detail-renewal .fb-size-select-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }

.fb-detail-renewal .fb-size-select-list {
	position: absolute;
	z-index: 80;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 244px;
	padding: 6px;
	overflow-y: auto;
	border: 1px solid var(--fbd-line);
	border-radius: 10px;
	background: var(--fbd-surface);
	box-shadow: 0 14px 32px rgba(23, 38, 56, .14);
}
.fb-detail-renewal .fb-size-select-list[hidden] { display: none !important; }
.fb-detail-renewal .fb-size-control.is-size-picker-up .fb-size-select-list {
	top: auto;
	bottom: calc(100% + 6px);
}
.fb-detail-renewal .fb-size-select-option {
	width: 100%;
	min-height: 42px;
	display: flex;
	align-items: center;
	padding: 8px 12px;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: var(--fbd-text);
	font: inherit;
	font-size: 14px;
	line-height: 20px;
	text-align: left;
	cursor: pointer;
}
.fb-detail-renewal .fb-size-select-option:hover,
.fb-detail-renewal .fb-size-select-option:focus-visible { background: var(--fbd-soft); outline: 0; }
.fb-detail-renewal .fb-size-select-option.is-selected { background: var(--fbd-selected); color: var(--fbd-ink); font-weight: 700; }

@media (max-width: 767px) {
	.fb-detail-renewal .fb-size-select-trigger { height: 50px; font-size: 16px; }
	.fb-detail-renewal .fb-size-select-option { min-height: 46px; font-size: 16px; line-height: 24px; }
	.fb-detail-renewal .fb-size-select-list { max-height: min(280px, 42vh); }
}

.fb-detail-renewal .fb-orient-btn,
.fb-detail-renewal .fb-fold-btn {
	min-height: 44px;
	font-size: 14px !important;
	line-height: 20px !important;
}

.fb-detail-renewal .fb-orient-btn.is-active,
.fb-detail-renewal .fb-fold-btn.is-active {
	background: var(--fbd-ink);
}

/* One quiet service row owned by the design-method surface. */
.fb-detail-renewal .fb-design-request-cta--integrated {
	grid-column: 1 / -1;
	display: flex;
	width: 100%;
	flex: 0 0 100%;
	align-items: center;
	min-height: 64px;
	gap: 12px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-top: 1px solid var(--fbd-line-soft);
	border-radius: 0;
	background: var(--fbd-surface);
	color: var(--fbd-ink);
	box-shadow: none;
	transform: none;
}

.fb-detail-renewal .fb-design-request-cta--integrated:hover {
	border-color: var(--fbd-line-soft);
	background: var(--fbd-surface-soft);
	box-shadow: none;
	transform: none;
}

.fb-detail-renewal .fb-design-request-cta--integrated:focus-visible {
	outline: 2px solid var(--fbd-ink);
	outline-offset: -2px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	border: 0;
	border-radius: 8px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-icon svg { stroke: currentColor; }
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-body {
	position: relative;
	display: block;
	min-width: 0;
	height: 42px;
	flex: 1 1 auto;
	overflow: hidden;
}
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-title,
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-desc {
	position: absolute;
	left: 0;
	right: 0;
	transition: opacity 160ms ease, transform 160ms ease;
}
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-title {
	top: 50%;
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
	color: var(--fbd-ink);
	transform: translateY(-50%);
}
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-desc {
	top: 22px;
	font-size: 14px;
	line-height: 20px;
	color: var(--fbd-muted);
	opacity: 0;
	transform: translateY(5px);
}
.fb-detail-renewal .fb-design-request-cta--integrated:hover .fb-drc-title,
.fb-detail-renewal .fb-design-request-cta--integrated:focus-visible .fb-drc-title {
	transform: translateY(-100%);
}
.fb-detail-renewal .fb-design-request-cta--integrated:hover .fb-drc-desc,
.fb-detail-renewal .fb-design-request-cta--integrated:focus-visible .fb-drc-desc {
	opacity: 1;
	transform: translateY(0);
}
.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-arrow {
	margin-left: auto;
	color: var(--fbd-muted);
	transition: transform 160ms ease, color 160ms ease;
}
.fb-detail-renewal .fb-design-request-cta--integrated:hover .fb-drc-arrow,
.fb-detail-renewal .fb-design-request-cta--integrated:focus-visible .fb-drc-arrow {
	color: var(--fbd-ink);
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-title,
	.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-desc,
	.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-arrow {
		transition: none;
	}
}

/* Dense editor-adjacent summary rail */
.fb-detail-renewal .order-summary {
	padding: 20px;
	border: var(--bj-order-panel-border);
	border-radius: var(--bj-order-panel-radius);
	background: var(--fbd-surface);
	box-shadow: var(--bj-order-panel-shadow);
}

.fb-admin-margin[hidden],
.order-calc-detail[hidden] {
	display: none !important;
}

.fb-calc-detail-hidden .fb-admin-margin,
.fb-calc-detail-hidden .order-calc-detail {
	display: none !important;
}

/* 관리자 전용 원가 · 마진(사장님 2026-09-28 «계산과정 보기와 그 마진 또 밑에 같이 … 관리자만») — 계산 과정 바로 밑.
 * 상자를 두르지 않는다 — 계산 과정과는 위 가로 구분선 하나, 줄 사이는 얇은 가로선과 8 여백으로 가른다.
 * 작은 글자는 본문 보조색(--bj-muted, 흰 바탕 5.9:1) — 3단계 회색(--bj-tertiary 3.3:1)은 12px 에서 읽기 기준에 못 미친다. */
.fb-admin-margin {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--bj-line, #ece9e6);
	font-size: 13px;
	line-height: 20px;
	color: var(--bj-muted, #66635e);
}
.fb-admin-margin__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.fb-admin-margin__title { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bj-ink, #181817); }
.fb-admin-margin__scope { font-size: 12px; line-height: 16px; }
.fb-admin-margin__headline { display: flex; align-items: baseline; gap: 8px; margin: 8px 0 0; color: var(--bj-ink, #181817); }
.fb-admin-margin__headline-amount { font-size: 18px; line-height: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fb-admin-margin__headline-rate { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bj-success, #356a55); font-variant-numeric: tabular-nums; }
.fb-admin-margin__headline.is-negative .fb-admin-margin__headline-amount,
.fb-admin-margin__headline.is-negative .fb-admin-margin__headline-rate { color: var(--bj-danger, #a14b46); }
.fb-admin-margin__sub { margin: 4px 0 0; font-variant-numeric: tabular-nums; }
.fb-admin-margin__note { margin: 8px 0 0; }
.fb-admin-margin__table { width: 100%; margin-top: 16px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.fb-admin-margin__caption { caption-side: top; padding: 0 0 8px; text-align: left; font-size: 12px; line-height: 16px; }
.fb-admin-margin__table th,
.fb-admin-margin__table td { padding: 8px 0 8px 8px; border-top: 1px solid var(--bj-line, #ece9e6); vertical-align: top; text-align: right; font-weight: 400; }
.fb-admin-margin__table th:first-child { padding-left: 0; text-align: left; }
.fb-admin-margin__table thead th { padding-top: 0; border-top: 0; font-size: 12px; line-height: 16px; }
.fb-admin-margin__table td { white-space: nowrap; color: var(--bj-ink, #181817); }
.fb-admin-margin__table td.is-negative { color: var(--bj-danger, #a14b46); }
.fb-admin-margin__label { display: block; color: var(--bj-ink, #181817); }
/* 근거 글은 서버가 뜻 단위로 줄을 나눠 보낸다(quote_cost_basis.php — 원가 · 판매와의 관계 · 원가에 안 드는 것). 줄바꿈은 그 자리에서만,
   낱말 중간(«금형비/는»)에서는 꺾지 않는다. */
.fb-admin-margin__basis { display: block; margin-top: 4px; font-size: 12px; line-height: 16px; white-space: pre-line; word-break: keep-all; }
.fb-admin-margin__table tr.is-unruled .fb-admin-margin__basis { color: var(--bj-attention, #7d653b); }

.fb-detail-renewal .order-summary-head {
	padding: 14px 0 10px;
	border-bottom-color: var(--fbd-line-soft);
}

.fb-detail-renewal .order-summary-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
	color: var(--fbd-ink);
}

.fb-detail-renewal .order-detail-row {
	padding: 12px 0;
	border-color: var(--fbd-line-soft);
}

.fb-detail-renewal .order-detail-list .order-detail-row:last-child,
.fb-detail-renewal .order-detail-list .order-detail-row.is-last-order-row {
	border-bottom: 0;
}

.fb-detail-renewal .fb-required-process-badge {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	margin-top: 5px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: var(--fbd-type-status);
	font-weight: 700;
	line-height: var(--fbd-type-status-line);
	color: #3f6f5a;
	background: #e7f2ec;
}

.fb-detail-renewal .opt-post-section.is-locked-on .opt-post-toggle { display: none !important; }
.fb-detail-renewal .opt-post-section.is-locked-on .opt-header-row { grid-template-columns: 64px minmax(0, 1fr) 32px; }

.fb-detail-renewal .order-detail-row.is-config-required { background: transparent; }

.fb-detail-renewal .order-detail-row.is-config-complete { background: transparent; }
.fb-detail-renewal .order-config-status { display: block; width: max-content; margin-top: 4px; padding: 2px 6px; border-radius: 999px; font-size: 10px; font-weight: 700; line-height: 1.5; }
.fb-detail-renewal .order-config-status.is-required { color: var(--fbd-text); border: 1px solid var(--fbd-line); background: var(--fbd-surface-soft); }
.fb-detail-renewal .order-config-status.is-complete { display: none; }
.fb-detail-renewal .order-config-status.is-required { color: #9a5a16; border-color: #ead5ba; background: #fff7ea; }
.fb-detail-renewal .order-detail-row.is-config-required .order-detail-price { color: var(--fbd-muted); }
.fb-detail-renewal .order-detail-label,
.fb-detail-renewal .order-detail-price,
.fb-detail-renewal .order-label {
	color: var(--fbd-text);
}

.fb-detail-renewal .order-total-price,
.fb-detail-renewal .mobile-total-price {
	color: #d6535d;
}

.fb-detail-renewal .order-summary-total {
	padding: 16px 0;
}

.fb-detail-renewal .btn-order {
	display: flex;
	height: 56px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	border-radius: 9px;
	background: var(--fbd-ink);
	box-shadow: none;
}

.fb-detail-renewal .btn-order:hover { background: #0f1c2a; }

.fb-detail-renewal .btn-order.is-disabled,
.fb-detail-renewal .mobile-btn-order.is-disabled {
	background: var(--fbd-ink);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
}

.fb-detail-renewal .order-button-label { font-size: 15px; font-weight: 700; line-height: 20px; }
.fb-detail-renewal .order-button-reason { font-size: 13px; font-weight: 500; line-height: 18px; }
.fb-detail-renewal .order-button-reason { display: none; }

.fb-detail-renewal .order-action-reason {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.fb-detail-renewal .btn-order:not(.is-disabled) + .order-action-reason { display: none; }

.fb-order-blocker-intro {
	margin: 0 0 14px;
	color: #536274;
	font-size: 14px;
	line-height: 21px;
}

.fb-order-blocker-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fb-order-blocker-item {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 10px;
	padding: 12px;
	border: 1px solid #e4e8ed;
	border-radius: 8px;
	background: #f8fafc;
}

.fb-order-blocker-item::before {
	content: '!';
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff2e7;
	color: #b65a16;
	font-size: 12px;
	font-weight: 800;
}

.fb-order-blocker-item strong,
.fb-order-blocker-item span { display: block; }
.fb-order-blocker-item strong { color: #17202b; font-size: 14px; line-height: 20px; }
.fb-order-blocker-item span { margin-top: 2px; color: #64748b; font-size: 14px; line-height: 20px; }

/* Press B lets the global menu scroll away; the lower section rail owns sticky navigation. */
.fb-detail-renewal #menu_r2 { position: relative !important; top: auto !important; }
.fb-detail-renewal #menu_r2 .fixed_header_content_box,
.fb-detail-renewal #menu_r2.is-header-pinned > [data-header-sticky-surface],
.fb-detail-renewal #menu_r2 .fixed_header_bg_layer {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.fb-detail-renewal .bottom-tab-wrap {
	width: 100%;
	margin-top: 64px;
}
.fb-detail-renewal .pressb-mobile-jump-nav { display: none; }
.fb-detail-renewal .bottom-tab-bar {
	display: flex;
	position: sticky;
	align-items: stretch;
	width: 100vw;
	max-width: none;
	min-height: 64px;
	margin-left: calc(50% - 50vw);
	padding-inline: max(16px, calc((100vw - 1000px) / 2));
	top: 0;
	z-index: 110;
	border-block: 1px solid var(--fbd-line);
	background: var(--fbd-surface);
	box-sizing: border-box;
}

.fb-detail-renewal .bottom-tab-back {
	display: inline-flex;
	flex: 0 0 44px;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	color: var(--fbd-muted);
	background: transparent;
	cursor: pointer;
}

.fb-detail-renewal .bottom-tab-back svg { width: 20px; height: 20px; flex: 0 0 20px; }

.fb-detail-renewal .bottom-tab-back:hover,
.fb-detail-renewal .bottom-tab-back:focus-visible { color: var(--fbd-ink); }

.fb-detail-renewal .bottom-tab-item {
	position: relative;
	display: inline-flex;
	flex: 1 1 0;
	height: auto;
	align-items: center;
	justify-content: center;
	min-width: 0;
	margin-left: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--fbd-muted);
	background: transparent;
	border: 0;
}

.fb-detail-renewal .bottom-tab-item.active {
	color: var(--fbd-ink);
	border-color: transparent;
}

.fb-detail-renewal .bottom-tab-item.active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 7px;
	width: 48px;
	height: 2px;
	background: var(--fbd-ink);
	transform: translateX(-50%);
}

/* Press B editorial detail — invitation detail rhythm, production-specific voice */
.fb-detail-renewal .pressb-story {
	--pressb-rail: 1000px;
	padding-top: 64px;
	color: var(--fbd-text);
}

.fb-detail-renewal .pressb-story img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fb-detail-renewal .pressb-story video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fb-detail-renewal .pressb-story figure,
.fb-detail-renewal .pressb-story h2,
.fb-detail-renewal .pressb-story h3,
.fb-detail-renewal .pressb-story p { margin: 0; }

.fb-detail-renewal .pressb-story-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	gap: 64px;
	align-items: center;
	padding: 0 0 80px;
}

/* 이 저장소는 고객이 읽는 글자의 하한을 13px 로 둔다(맨 아래 「admin metadata 처럼 보인다」 블록).
 * 아래 이야기 구역의 라벨 셋만 12/11px 로 남아 있었다 — 같은 하한에 맞춘다(전수 조사 20260921). */
.fb-detail-renewal .pressb-story-eyebrow,
.fb-detail-renewal .pressb-story-kicker {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.16em;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-story-hero h2,
.fb-detail-renewal .pressb-story-cta h2 {
	margin-top: 18px;
	font-size: 44px;
	font-weight: 600;
	line-height: 1.27;
	letter-spacing: -0.045em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-story-lead {
	margin-top: 24px;
	font-size: 16px;
	line-height: 1.625;
	letter-spacing: -0.02em;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-story-proof-list {
	display: grid;
	gap: 0;
	margin: 32px 0 0;
	padding: 0;
	border-top: 1px solid var(--fbd-line);
	list-style: none;
}

.fb-detail-renewal .pressb-story-proof-list li {
	display: grid;
	grid-template-columns: 36px 1fr;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--fbd-line);
	font-size: 15px;
	font-weight: 600;
	color: var(--fbd-text);
}

.fb-detail-renewal .pressb-story-proof-list b { font-size: 12px; color: var(--fbd-subtle); }

.fb-detail-renewal .pressb-story-hero-evidence { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 12px; align-items: end; }

.fb-detail-renewal .pressb-story-hero-media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 12px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-story-hero-process { overflow: hidden; border-radius: 10px; background: var(--fbd-surface-soft); }
.fb-detail-renewal .pressb-story-hero-process video { aspect-ratio: 3 / 4; }
.fb-detail-renewal .pressb-story-hero-media figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fb-detail-renewal .pressb-story-hero-process figcaption { padding-top: 10px; font-size: 13px; line-height: 1.55; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-tactile-media-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.fb-detail-renewal .pressb-tactile-media-grid figure {
	overflow: hidden;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 12px;
	background: #fff;
}

.fb-detail-renewal .pressb-tactile-media-grid video {
	aspect-ratio: 4 / 3;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-tactile-media-grid figcaption {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 20px 22px 22px;
}

.fb-detail-renewal .pressb-tactile-media-grid strong {
	font-size: 16px;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-tactile-media-grid span {
	font-size: 16px;
	line-height: 1.625;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-story-section {
	padding: 80px 0;
	border-top: 1px solid var(--fbd-line-soft);
}
/* 카드·리플릿 상세는 실물 사진 칸 없이 후가공 칸이 이야기의 첫 칸이다 — 위에 가를 것이 없는데 선을 그으면
 * 탭 줄 바로 밑에 빈 띠와 외톨이 선이 섰다(20260923). 명함은 실물 칸 뒤라 선이 칸을 가른다. */
.fb-detail-renewal [data-detail-story="product"] .pressb-story > .pressb-story-section:first-child { border-top: 0; padding-top: 0; }

.fb-detail-renewal .pressb-story-heading {
	width: min(100%, var(--pressb-rail));
	margin: 0 auto 40px;
}

.fb-detail-renewal .pressb-story-heading-center {
	text-align: left;
}

.fb-detail-renewal .pressb-story-heading h2,
.fb-detail-renewal .pressb-quality-copy h2 {
	margin-top: 14px;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.32;
	letter-spacing: -0.04em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-story-heading > p:last-child {
	max-width: 620px;
	margin-top: 16px;
	font-size: 16px;
	line-height: 1.625;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-story-heading-center > p:last-child { margin-inline: 0; }

.fb-detail-renewal .pressb-audience-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: min(100%, var(--pressb-rail));
	margin-inline: auto;
}

.fb-detail-renewal .pressb-audience-card {
	min-height: 300px;
	padding: 34px;
	border-radius: 12px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-card-index {
	font-size: 12px;
	font-weight: 700;
	color: var(--fbd-subtle);
}

.fb-detail-renewal .pressb-audience-card h3 {
	margin-top: 34px;
	font-size: 20px;
	font-weight: 650;
	letter-spacing: -0.03em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-audience-card p {
	margin-top: 14px;
	font-size: 14px;
	line-height: 1.72;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-audience-card strong,
.fb-detail-renewal .pressb-audience-card > span:last-child {
	display: block;
	font-size: 13px;
	line-height: 1.6;
}

.fb-detail-renewal .pressb-audience-card strong { margin-top: 26px; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-audience-card > span:last-child { margin-top: 5px; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-scope-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: min(100%, var(--pressb-rail));
	margin: 0 auto;
	padding: 0;
	border-top: 1px solid var(--fbd-line);
	list-style: none;
}

.fb-detail-renewal .pressb-scope-list li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	min-height: 176px;
	padding: 28px 32px 28px 0;
	border-bottom: 1px solid var(--fbd-line);
}

.fb-detail-renewal .pressb-scope-list li:nth-child(odd) { border-right: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-scope-list li:nth-child(even) { padding-left: 32px; }
.fb-detail-renewal .pressb-scope-list > li > span { padding-top: 3px; font-size: 12px; font-weight: 700; color: var(--fbd-subtle); }
.fb-detail-renewal .pressb-scope-list h3 { font-size: 20px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-scope-list p { margin-top: 10px; font-size: 16px; line-height: 1.625; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-editorial-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
	width: min(100%, var(--pressb-rail));
	margin: 0 auto 64px;
}

.fb-detail-renewal .pressb-editorial-row:last-child { margin-bottom: 0; }
.fb-detail-renewal .pressb-editorial-row.is-reverse .pressb-editorial-media { order: 2; }

.fb-detail-renewal .pressb-editorial-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-editorial-copy > span {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-editorial-copy h3 {
	margin-top: 16px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: -0.04em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-editorial-copy p {
	margin-top: 18px;
	font-size: 16px;
	line-height: 1.625;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-editorial-copy ul {
	margin: 24px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--fbd-line);
	list-style: none;
}

.fb-detail-renewal .pressb-editorial-copy li {
	position: relative;
	padding-left: 13px;
	font-size: 16px;
	line-height: 1.75;
	color: var(--fbd-text);
}

.fb-detail-renewal .pressb-editorial-copy li::before {
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--fbd-muted);
	content: '';
}

.fb-detail-renewal .pressb-finish-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 20px;
}

.fb-detail-renewal .pressb-finish-card {
	overflow: hidden;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 12px;
	background: #fff;
}

.fb-detail-renewal .pressb-finish-card > img { aspect-ratio: 3 / 2; }
.fb-detail-renewal .pressb-finish-card > div { padding: 24px 26px 28px; }
.fb-detail-renewal .pressb-finish-card span { font-size: 13px; font-weight: 700; letter-spacing: .06em; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-finish-card h3 { margin-top: 8px; font-size: 20px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-finish-card p { margin-top: 10px; font-size: 16px; line-height: 1.625; color: var(--fbd-muted); }
/* 금액 기준 줄 — <strong>과 <small>이 한 줄에 붙어 '정해집니다편집 화면에서' 로 읽히던 것을 두 줄로(2026-09-20). */
.fb-detail-renewal .pressb-finish-price { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--fbd-line-soft); font-size: 14px; line-height: 1.5; }
.fb-detail-renewal .pressb-finish-price strong { display: block; font-weight: 700; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-finish-price small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.55; color: var(--fbd-muted); }
/* 금액 기준은 카드마다가 아니라 섹션에 한 번 선다 — 카드 안에서 쓰던 윗선·간격을 섹션 자리에 맞춘다. */
.fb-detail-renewal .pressb-finish-price-basis { margin: 18px 0 0; padding: 14px 16px 15px; border: 1px solid var(--fbd-line); border-top: 1px solid var(--fbd-line); border-radius: 12px; background: var(--fbd-surface-soft); }
/* 후가공을 보고 「넣고 싶다」고 정한 자리에서 갈 곳이 있어야 한다 — 종전 이 섹션의 링크는 좌우 넘김 화살표 둘뿐이었다.
 * 금액 기준 줄이 「편집 화면에서 …」라고 말만 하고 링크가 아니었다(실측 20260920). */
.fb-detail-renewal .pressb-finish-price-basis a { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; padding-block: 6px; color: var(--fbd-ink); font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--fbd-ink); }
.fb-detail-renewal .pressb-finish-price-basis a:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: 3px; }
/* 카드마다의 기준 금액 — 섹션의 「어떻게 정해지나」 설명과 달리 여기는 «이 가공이 얼마부터인가» 한 줄이다. */
.fb-detail-renewal .pressb-finish-card-basis { margin: 10px 0 0; padding-top: 9px; border-top: 1px solid var(--fbd-line-soft); font-size: 13px; font-weight: 700; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-finish-card em { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--fbd-line-soft); font-size: 14px; font-style: normal; line-height: 1.55; color: var(--fbd-text); }

.fb-detail-renewal .pressb-choice-list {
	width: min(100%, var(--pressb-rail));
	margin-inline: auto;
	border-top: 1px solid var(--fbd-line);
}

.fb-detail-renewal .pressb-choice-row {
	display: grid;
	grid-template-columns: 1.25fr 0.8fr 1fr;
	gap: 24px;
	align-items: center;
	min-height: 74px;
	border-bottom: 1px solid var(--fbd-line);
	font-size: 13px;
}

.fb-detail-renewal .pressb-choice-row span { color: var(--fbd-muted); }
.fb-detail-renewal .pressb-choice-row strong { color: var(--fbd-ink); }
.fb-detail-renewal .pressb-choice-row em { font-style: normal; color: var(--fbd-subtle); }

.fb-detail-renewal .pressb-flow-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--fbd-line);
	border-bottom: 1px solid var(--fbd-line);
	list-style: none;
}

.fb-detail-renewal .pressb-flow-list li {
	min-height: 220px;
	padding: 28px 22px;
	border-right: 1px solid var(--fbd-line);
}

.fb-detail-renewal .pressb-flow-list li:last-child { border-right: 0; }
.fb-detail-renewal .pressb-flow-list > li > span { font-size: var(--fbd-type-status); font-weight: 700; line-height: var(--fbd-type-status-line); color: var(--fbd-subtle); }
.fb-detail-renewal .pressb-flow-list h3 { margin-top: 56px; font-size: 16px; font-weight: 650; line-height: 1.45; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-flow-list p { margin-top: 10px; font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); color: var(--fbd-muted); }

.fb-detail-renewal .pressb-quality-section {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 72px;
	align-items: center;
	padding: 72px 64px;
	border-top: 0;
	border-radius: 16px;
	background: var(--fbd-ink);
}

.fb-detail-renewal .pressb-quality-copy h2 { color: #fff; }
.fb-detail-renewal .pressb-quality-copy > p:not(.pressb-story-kicker) { margin-top: 18px; font-size: 16px; line-height: 1.625; color: #bdc8d5; }
.fb-detail-renewal .pressb-quality-section .pressb-story-kicker { color: #93a4b7; }
.fb-detail-renewal .pressb-quality-media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 10px; }
.fb-detail-renewal .pressb-quality-points { display: grid; gap: 0; margin-top: 32px; border-top: 1px solid rgba(255,255,255,.16); }
.fb-detail-renewal .pressb-quality-points span { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-size: 16px; line-height: 1.5; color: #e4e9ef; }
.fb-detail-renewal .pressb-quality-points b { display: inline-block; width: 34px; color: #93a4b7; }

.fb-detail-renewal .pressb-faq-list {
	width: min(100%, var(--pressb-rail));
	margin-inline: auto;
	border-top: 1px solid var(--fbd-line);
}

.fb-detail-renewal .pressb-faq-list details { border-bottom: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-faq-list summary { position: relative; padding: 24px 48px 24px 4px; font-size: 15px; font-weight: 600; color: var(--fbd-ink); cursor: pointer; list-style: none; }
.fb-detail-renewal .pressb-faq-list summary::-webkit-details-marker { display: none; }
.fb-detail-renewal .pressb-faq-list summary::after { position: absolute; right: 8px; top: 20px; font-size: 21px; font-weight: 300; color: var(--fbd-muted); content: '+'; }
.fb-detail-renewal .pressb-faq-list details[open] summary::after { content: '−'; }
.fb-detail-renewal .pressb-faq-list details p { padding: 0 48px 24px 4px; font-size: 13px; line-height: 1.75; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-story-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 48px;
	align-items: end;
	margin-top: 0;
	padding: 72px 64px;
	border-top: 1px solid var(--fbd-line-soft);
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-story-cta h2 { font-size: 28px; line-height: 1.36; }
.fb-detail-renewal .pressb-story-cta > div > p:last-child { margin-top: 16px; font-size: 16px; line-height: 1.625; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-story-cta-actions { display: flex; gap: 8px; }
.fb-detail-renewal .pressb-story-cta-actions a { display: inline-flex; align-items: center; justify-content: center; min-width: 176px; height: 52px; padding: 0 20px; border: 1px solid var(--fbd-ink); border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; }
.fb-detail-renewal .pressb-story-primary { color: #fff; background: var(--fbd-ink); }
.fb-detail-renewal .pressb-story-secondary { color: var(--fbd-ink); background: #fff; }

/* Press B lower rails share the invitation-detail content scale and 1000px axis. */
.fb-detail-renewal .pressb-lower-section {
	width: 100%;
	padding: 80px 0;
	border-top: 1px solid var(--fbd-line-soft);
}

/* Editorial content uses neutral paper tones. The blue-gray decision tokens
 * above remain reserved for the order UI and editor handoff controls. */
.fb-detail-renewal .pressb-story,
.fb-detail-renewal .pressb-lower-section {
	--fbd-ink: #20262d;
	--fbd-text: #343b42;
	--fbd-muted: #626a72;
	/* #92979c 는 흰 바탕 2.95:1 이었다 — 같은 하한을 여기에도 건다(#6d757e = 4.72). */
	--fbd-subtle: #6d757e;
	--fbd-line: #e3e1dd;
	--fbd-line-soft: #eeece8;
	--fbd-surface-soft: #f7f6f3;
}

.fb-detail-renewal #tab-schedule { padding-top: 72px; border-top: 0; }
.fb-detail-renewal #tab-cs { border-top: 0; }

.fb-detail-renewal .pressb-case-card {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	gap: 48px;
	align-items: center;
	padding: 32px;
	border: 1px solid var(--fbd-line);
	border-radius: 14px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-case-card figure { overflow: hidden; border: 1px solid #d9d5ce; border-radius: 10px; background: #f4f3f0; }
.fb-detail-renewal .pressb-case-card figure img { aspect-ratio: 4 / 3; object-fit: cover; }
.fb-detail-renewal .pressb-case-copy > span { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #8b654d; }
.fb-detail-renewal .pressb-case-copy h3 { margin-top: 12px; font-size: 22px; font-weight: 600; line-height: 1.45; letter-spacing: -.03em; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-case-copy > p { margin-top: 14px; font-size: 15px; line-height: 1.7; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-case-copy dl { margin: 22px 0 0; border-top: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-case-copy dl div { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-case-copy dt { font-size: 12px; font-weight: 700; color: var(--fbd-text); }
.fb-detail-renewal .pressb-case-copy dd { margin: 0; font-size: 12px; line-height: 1.55; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-operation-proof {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 24px;
	border-top: 1px solid var(--fbd-line);
	border-bottom: 1px solid var(--fbd-line);
}

.fb-detail-renewal .pressb-operation-proof article { min-height: 210px; padding: 24px 20px; border-right: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-operation-proof article:last-child { border-right: 0; }
.fb-detail-renewal .pressb-operation-proof span { font-size: 11px; font-weight: 700; color: var(--fbd-subtle); }
.fb-detail-renewal .pressb-operation-proof h3 { margin-top: 34px; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-operation-proof p { margin-top: 8px; font-size: 13px; line-height: 1.6; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-operation-proof em { display: block; margin-top: 16px; font-size: 11px; font-style: normal; font-weight: 700; color: #8b654d; }
.fb-detail-renewal .pressb-mobile-swipe-hint { display: none; }

.fb-detail-renewal .pressb-lower-heading {
	width: 100%;
	margin: 0 0 40px;
}

.fb-detail-renewal .pressb-lower-heading h2 {
	margin: 14px 0 0;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.36;
	letter-spacing: -.04em;
	color: var(--fbd-ink);
}

.fb-detail-renewal .pressb-lower-heading > p:last-child {
	max-width: 660px;
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 1.625;
	color: var(--fbd-muted);
}

.fb-detail-renewal .pressb-production-summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	align-items: center;
	padding: 24px 28px;
	border: 1px solid var(--fbd-line);
	border-radius: 10px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-production-summary div { display: flex; align-items: baseline; gap: 18px; }
.fb-detail-renewal .pressb-production-summary span { font-size: 14px; font-weight: 600; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-production-summary strong { font-size: 20px; font-weight: 600; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-production-summary p { font-size: 14px; line-height: 1.55; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-process-block { margin-top: 48px; }
.fb-detail-renewal .pressb-process-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.fb-detail-renewal .pressb-process-head strong { display: block; font-size: 18px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-process-head p { margin-top: 4px; font-size: 14px; line-height: 1.55; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-process-controls { display: flex; gap: 6px; }
.fb-detail-renewal .pressb-process-controls button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--fbd-line); border-radius: 50%; font-size: 22px; line-height: 1; color: var(--fbd-ink); background: #fff; cursor: pointer; }
.fb-detail-renewal .pressb-process-controls button:disabled { opacity: .32; cursor: default; }
.fb-detail-renewal .pressb-process-controls button:focus-visible,
.pressb-process-modal-close:focus-visible { outline: 3px solid var(--fbd-focus); outline-offset: 2px; }
/* Block surface focus: process video cards underline their title, the rail gets a line under it,
   notice/FAQ rows and detail tabs underline their label. No box. */
.fb-detail-renewal .pressb-process-open:focus-visible,
.fb-detail-renewal .pressb-policy-list summary:focus-visible,
.fb-detail-renewal .pressb-support-faq summary:focus-visible,
.fb-detail-renewal .bottom-tab-item:focus-visible { outline: none; box-shadow: none; }
.fb-detail-renewal .pressb-process-card:has(.pressb-process-open:focus-visible) .pressb-process-copy h3,
.fb-detail-renewal figure:has(> .pressb-process-open:focus-visible) > figcaption strong,
.fb-detail-renewal .pressb-policy-list summary:focus-visible,
.fb-detail-renewal .pressb-support-faq summary:focus-visible,
.fb-detail-renewal .bottom-tab-item:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.fb-detail-renewal .pressb-process-rail:focus-visible { outline: none; box-shadow: inset 0 -2px 0 var(--fbd-ink); }
.fb-detail-renewal .pressb-process-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; overflow-x: auto; padding: 0 0 10px; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
.fb-detail-renewal .pressb-process-rail::-webkit-scrollbar { display: none; }
.fb-detail-renewal .pressb-process-card { min-width: 0; scroll-snap-align: start; }
.fb-detail-renewal .pressb-process-card[hidden] { display: none !important; }
.fb-detail-renewal .pressb-process-media { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 9px; background: var(--fbd-surface-soft); }
.fb-detail-renewal .pressb-process-card.is-selected-process .pressb-process-media { box-shadow: inset 0 0 0 2px var(--fbd-ink); }
.fb-detail-renewal .pressb-process-media > img,
.fb-detail-renewal .pressb-process-media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.fb-detail-renewal .pressb-process-open { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.fb-detail-renewal .pressb-process-open::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 19, 28, .03) 45%, rgba(11, 19, 28, .22)); content: ''; pointer-events: none; }
.fb-detail-renewal .pressb-process-open:hover video { transform: scale(1.015); }
.fb-detail-renewal .pressb-process-open video { transition: transform .28s ease; }
/* 재생 버튼은 왼쪽 아래 — 포스터 한가운데 박힌 공정 이름(DIGITAL PRINTING …)을 가리지 않는다(2026-09-20). */
.fb-detail-renewal .pressb-process-play { position: absolute; left: 12px; bottom: 12px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .72); border-radius: 50%; background: rgba(16, 24, 34, .38); transition: opacity .2s ease, transform .2s ease; }
.fb-detail-renewal .pressb-process-play i { width: 0; height: 0; margin-left: 3px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid #fff; }
.fb-detail-renewal .pressb-process-card.is-previewing .pressb-process-play { opacity: 0; transform: scale(.86); }
.fb-detail-renewal .pressb-process-number { position: absolute; left: 12px; top: 12px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 24px; padding: 0 7px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; background: rgba(17, 27, 38, .72); }
.fb-detail-renewal .pressb-process-still-label { position: absolute; right: 12px; bottom: 12px; padding: 6px 9px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff; background: rgba(17, 27, 38, .66); }
.fb-detail-renewal .pressb-process-copy { padding-top: 13px; }
.fb-detail-renewal .pressb-process-copy h3 { font-size: 17px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-process-copy p { margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-process-progress { overflow: hidden; width: 100%; height: 2px; margin-top: 4px; background: var(--fbd-line); }
.fb-detail-renewal .pressb-process-progress span { display: block; width: 0; height: 100%; background: var(--fbd-ink); transition: width .2s ease; }

.pressb-process-modal-backdrop { position: fixed; inset: 0; z-index: 12020; background: rgba(8, 14, 21, .72); }
.pressb-process-modal { position: fixed; inset: 0; z-index: 12021; display: grid; place-items: center; padding: 24px; }
.pressb-process-modal[hidden],
.pressb-process-modal-backdrop[hidden] { display: none !important; }
.pressb-process-modal-panel { position: relative; overflow: hidden; width: min(900px, 100%); max-height: calc(100vh - 48px); border-radius: 12px; color: #fff; background: #101820; box-shadow: 0 24px 80px rgba(0, 0, 0, .34); }
.pressb-process-modal video { display: block; width: 100%; max-height: calc(100vh - 178px); object-fit: contain; background: #080d13; }
.pressb-process-modal-close { position: absolute; right: 12px; top: 12px; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(255, 255, 255, .42); border-radius: 50%; font-size: 27px; font-weight: 300; line-height: 1; color: #fff; background: rgba(9, 15, 22, .54); cursor: pointer; }
.pressb-process-modal-copy { padding: 18px 22px 20px; }
.pressb-process-modal-copy h2 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.45; }
.pressb-process-modal-copy p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; color: #bdc8d5; }
body.pressb-process-modal-open { overflow: hidden !important; }

.fb-detail-renewal .pressb-support-band span { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-policy-list { margin-top: 48px; border-top: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-policy-list article { display: grid; grid-template-columns: 220px 1fr; gap: 32px; padding: 24px 0; border-bottom: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-policy-list h3 { font-size: 20px; font-weight: 600; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-policy-list p { font-size: 16px; line-height: 1.625; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-support-faq { border-top: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-support-faq details { border-bottom: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-support-faq summary { position: relative; padding: 22px 52px 22px 4px; font-size: 17px; font-weight: 600; line-height: 1.55; color: var(--fbd-ink); cursor: pointer; list-style: none; }
.fb-detail-renewal .pressb-support-faq summary::-webkit-details-marker { display: none; }
.fb-detail-renewal .pressb-support-faq summary::after { position: absolute; right: 8px; top: 19px; font-size: 20px; font-weight: 300; color: var(--fbd-muted); content: '+'; }
.fb-detail-renewal .pressb-support-faq details[open] summary::after { content: '−'; }
.fb-detail-renewal .pressb-support-faq details p { max-width: 760px; margin: 0; padding: 0 52px 22px 4px; font-size: 15px; line-height: 1.7; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-support-band {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 48px;
	align-items: end;
	margin-top: 64px;
	padding: 56px 48px;
	border-radius: 12px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .pressb-support-band h3 { margin: 14px 0 0; font-size: 24px; font-weight: 600; line-height: 1.42; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-support-band p { margin: 16px 0 0; font-size: 16px; line-height: 1.625; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-support-actions { display: flex; gap: 8px; }
.fb-detail-renewal .pressb-support-actions a { display: inline-flex; align-items: center; justify-content: center; min-width: 152px; height: 52px; padding: 0 18px; border: 1px solid var(--fbd-ink); border-radius: 8px; font-size: 15px; font-weight: 600; color: var(--fbd-ink); background: #fff; text-decoration: none; }
.fb-detail-renewal .pressb-support-actions a:first-child { color: #fff; background: var(--fbd-ink); }

/* PRESS B compact editorial flow — one proof per section, no public placeholders. */
.fb-detail-renewal .pressb-story-hero {
	grid-template-columns: minmax(0, 1fr) 480px;
	gap: 56px;
	padding-bottom: 64px;
}

.fb-detail-renewal .pressb-story-hero-media {
	position: relative;
	aspect-ratio: 4 / 3;
}

.fb-detail-renewal .pressb-story-hero-media figcaption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.fb-detail-renewal .pressb-story-section { padding: 88px 0; }
.fb-detail-renewal .pressb-story [id],
.fb-detail-renewal .pressb-lower-section[id] { scroll-margin-top: 72px; }

.fb-detail-renewal .pressb-inspection-rail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: min(100%, var(--pressb-rail));
	margin-inline: auto;
}

.fb-detail-renewal .pressb-inspection-card {
	overflow: hidden;
	border: 1px solid var(--fbd-line-soft);
	border-radius: 12px;
	background: #fff;
}

.fb-detail-renewal .pressb-inspection-card .pressb-editorial-media {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}

.fb-detail-renewal .pressb-inspection-card .pressb-editorial-copy { padding: 22px 24px 26px; }
.fb-detail-renewal .pressb-inspection-card .pressb-editorial-copy h3 { margin-top: 8px; }
.fb-detail-renewal .pressb-inspection-card .pressb-editorial-copy p { margin-top: 8px; }

.fb-detail-renewal .pressb-rail-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.fb-detail-renewal .pressb-rail-controls p { font-size: 13px; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-rail-controls > div { display: flex; gap: 6px; }
.fb-detail-renewal .pressb-rail-controls button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid var(--fbd-line);
	border-radius: 50%;
	color: var(--fbd-ink);
	background: #fff;
	cursor: pointer;
}

.fb-detail-renewal .pressb-rail-controls button:hover { background: var(--fbd-surface-soft); }
.fb-detail-renewal .pressb-rail-controls button:focus-visible,
.fb-detail-renewal .pressb-finish-grid:focus-visible,
.fb-detail-renewal .pressb-inspection-rail:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: 3px; }

.fb-detail-renewal .pressb-finish-grid {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	padding: 0 0 12px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: #aeb8c3 transparent;
}

.fb-detail-renewal .pressb-finish-card {
	flex: 0 0 360px;
	scroll-snap-align: start;
}

.fb-detail-renewal .pressb-finish-card > img { aspect-ratio: 4 / 3; }
.fb-detail-renewal .pressb-finish-card > div { min-height: 190px; padding: 20px 22px 24px; }
.fb-detail-renewal .pressb-finish-card h3 { margin-top: 6px; }
.fb-detail-renewal .pressb-finish-card p { margin-top: 8px; }

.fb-detail-renewal .pressb-template-guide {
	display: grid;
	grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
	gap: 64px;
	align-items: center;
	border-top: 1px solid var(--fbd-line-soft);
}

.fb-detail-renewal .pressb-template-closing-copy h2 { margin-top: 14px; font-size: 36px; font-weight: 600; line-height: 1.35; letter-spacing: -.045em; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-template-closing-copy > p:last-of-type { margin-top: 18px; font-size: 16px; line-height: 1.7; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-template-closing-actions { display: flex; align-items: center; gap: 20px; margin-top: 30px; }
.fb-detail-renewal .pressb-template-closing-actions a { font-size: 14px; font-weight: 650; color: var(--fbd-ink); text-decoration: none; }
.fb-detail-renewal .pressb-template-closing-actions a:first-child { display: inline-flex; align-items: center; gap: 28px; min-height: 50px; padding: 0 19px; border-radius: 7px; color: #fff; background: var(--fbd-ink); }
.fb-detail-renewal .pressb-template-closing-actions a:first-child b { font-size: 17px; font-weight: 400; }
.fb-detail-renewal .pressb-template-closing-actions a:last-child { padding-block: 12px; border-bottom: 1px solid var(--fbd-ink); }
.fb-detail-renewal .pressb-start-template-preview { display: flex; align-items: center; justify-content: center; gap: 18px; min-height: 420px; padding: 48px 38px; overflow: hidden; border-radius: 12px; background: var(--fbd-template-stage); }
.fb-detail-renewal .pressb-start-template-preview[hidden] { display: none; }
.fb-detail-renewal .pressb-start-template-preview img { width: auto; max-width: 29%; height: auto; max-height: 300px; object-fit: contain; border-radius: 2px; box-shadow: 7px 11px 24px rgba(24, 24, 23, .15); }
.fb-detail-renewal .pressb-start-template-preview img:nth-child(2) { max-height: 340px; transform: translateY(-5px); }
/* 명함(가로 썸네일)은 세로 카드 기준 29% 폭에서 138px 로 쪼그라들었다 — 두 장이면 44%, 세 장이면 31% 로 무대를 채운다(2026-09-20). */
/* 무대 높이(420px)는 세로 카드 기준이다. 가로 썸네일은 폭 제한(2장 44%·3장 31%) 때문에 높이가 84px 까지 내려가
 * 320px 로 낮춰도 여전히 236px 가 빈 회색으로 남았다 — 마지막 화면이 미완성처럼 보인다. 높이를 사진에 맡긴다. */
.fb-detail-renewal .pressb-start-template-preview[data-thumb-shape="landscape"] { min-height: 0; }
.fb-detail-renewal .pressb-start-template-preview[data-thumb-shape="landscape"] img { max-width: 44%; max-height: 240px; }
.fb-detail-renewal .page-wrap:not([data-detail-story="entry"]) .pressb-start-template-preview[data-thumb-shape="landscape"]:has(img:nth-child(3)) img { max-width: 31%; }
.fb-detail-renewal .pressb-start-template-preview[data-thumb-shape="landscape"] img:nth-child(2) { max-height: 240px; transform: translateY(-8px); }

@media (max-width: 959px) {
	.fb-detail-renewal .page-wrap[data-ui-contract] {
		width: min(100% - 32px, 920px) !important;
		max-width: 920px !important;
		/* Keep the static contract fallback for older shells, then add the
		 * measured dock clearance and a content breathing room. */
		padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
		padding-bottom: calc(var(--bj-fixed-action-clearance, 104px) + 16px + env(safe-area-inset-bottom)) !important;
		scroll-padding-bottom: calc(var(--bj-fixed-action-clearance, 104px) + 16px + env(safe-area-inset-bottom));
	}

	.fb-detail-renewal .content-area {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.fb-detail-renewal .page-wrap:not(.fb-entry-page) .content-right { display: none !important; }

	.fb-detail-renewal .upload-detail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fb-detail-renewal .mobile-bottom-bar {
		display: flex;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		border-top: 1px solid var(--fbd-line);
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -8px 24px rgba(23, 38, 56, .08);
		backdrop-filter: blur(14px);
		padding-bottom: env(safe-area-inset-bottom);
	}
	/* Keep the fixed order bar out of the image viewer's translucent backdrop. */
	html.fb-detail-renewal:has(#uvLightbox.is-open) .mobile-bottom-bar { display: none !important; }
	.fb-detail-renewal .mobile-bottom-inner { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 66px; padding: 8px 12px; box-sizing: border-box; }
	.fb-detail-renewal .mobile-total { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 72px; gap: 2px; padding-right: 4px; }
	.fb-detail-renewal .mobile-total-label { font-size: var(--fbd-type-status); line-height: var(--fbd-type-status-line); color: var(--fbd-muted); }
	.fb-detail-renewal .mobile-total-price { font-size: 16px; font-weight: 700; }
	.fb-detail-renewal .mobile-action-group { display: flex; flex: 0 1 auto; align-items: center; gap: 6px; min-width: 0; margin-left: auto; }
	.fb-detail-renewal .mobile-btn-cart { display: flex; flex: 0 0 52px; align-items: center; justify-content: center; width: 52px; height: 50px; padding: 0; border: 1px solid var(--fbd-line); border-radius: 9px; background: #fff; color: var(--fbd-ink); }
	.fb-detail-renewal .mobile-btn-cart-label { display: none; }
	.fb-detail-renewal .mobile-btn-order { display: flex; flex: 0 1 132px; flex-direction: column; align-items: center; justify-content: center; width: 132px; min-width: 104px; height: 50px; border: 0; border-radius: 9px; background: var(--fbd-ink); color: #fff; font-size: 15px; font-weight: 600; }
	.fb-detail-renewal .mobile-order-panel {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 200;
		max-height: 70vh;
		overflow-y: auto;
		visibility: hidden;
		opacity: 0;
		transform: translateY(100%);
		transition: transform .24s ease, opacity .24s ease, visibility .24s ease;
		border-radius: 16px 16px 0 0;
		background: #fff;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, .15);
	}
	.fb-detail-renewal .mobile-order-panel.open { visibility: visible; opacity: 1; transform: translateY(0) !important; }
	.fb-detail-renewal .mobile-panel-grip { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: center; height: 24px; padding-top: 8px; background: #fff; }
	.fb-detail-renewal .mobile-panel-grip::before { content: ''; width: 44px; height: 5px; border-radius: 3px; background: var(--fbd-line); }
	.fb-detail-renewal .mobile-order-panel-header { position: sticky; top: 24px; z-index: 4; display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--fbd-line); background: #fff; }
	.fb-detail-renewal .mobile-panel-close { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: transparent; color: var(--fbd-muted); font-size: 20px; }
	.fb-detail-renewal .mobile-order-panel-body { padding: 20px; }
	.fb-detail-renewal .mobile-panel-btn-estimate {
		display: flex;
		width: 100%;
		min-height: 48px;
		margin-top: 16px;
		align-items: center;
		justify-content: center;
		gap: 8px;
		border: 1px solid var(--fbd-line);
		border-radius: 9px;
		background: var(--fbd-surface);
		color: var(--fbd-ink);
		font-size: 15px;
		font-weight: 700;
	}
	.fb-detail-renewal .mobile-panel-btn-estimate:active { background: var(--fbd-surface-soft); }
	.fb-detail-renewal .mobile-panel-action-group { display: flex; align-items: center; gap: 8px; margin-top: 16px; }
	.fb-detail-renewal .mobile-panel-btn-cart,
	.fb-detail-renewal .mobile-order-panel-body .btn-order { min-height: 48px; border-radius: 9px; }
	.fb-detail-renewal .mobile-overlay { display: none; position: fixed; inset: 0; z-index: 150; background: rgba(0, 0, 0, .4); }
	.fb-detail-renewal .mobile-overlay.open { display: block; }

	.fb-detail-renewal .pressb-story-hero { gap: 40px; }

	.fb-detail-renewal .pressb-story-hero { grid-template-columns: minmax(0, 1fr) 340px; }
}

@media (max-width: 768px) {
	/* The canonical mobile detail header owns navigation when the server rendered
	 * it. Narrow desktop/webview UAs do not have that header, so keep the local
	 * catalog return action available even after an anchored entry. */
	.fb-detail-renewal .fb-detail-entry {
		display: flex;
		position: sticky;
		top: 0;
		z-index: 90;
		align-items: center;
		min-height: 58px;
		margin: 0 -16px;
		padding: 7px 16px;
		background: rgba(255, 255, 255, .96);
		backdrop-filter: blur(8px);
	}
	.fb-detail-renewal body.mobile-header-surface-detail .fb-detail-entry { display: none; }
	.fb-detail-renewal .bottom-tab-wrap { width: auto; margin-top: 48px; margin-left: 0; }
	.fb-detail-renewal .bottom-tab-bar { display: none; }
	.fb-detail-renewal .pressb-mobile-jump-nav {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		margin: 0 -16px;
		padding: 0 16px 16px;
		border-bottom: 1px solid var(--fbd-line-soft);
		scrollbar-width: none;
	}
	.fb-detail-renewal .pressb-mobile-jump-nav::-webkit-scrollbar { display: none; }
	.fb-detail-renewal .pressb-mobile-jump-nav a { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 38px; padding: 0 14px; border: 1px solid var(--fbd-line); border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--fbd-text); background: #fff; text-decoration: none; }
	.fb-detail-renewal .page-wrap[data-ui-contract] {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 16px calc(var(--bj-fixed-action-clearance, 112px) + 16px + env(safe-area-inset-bottom));
		overflow-x: visible;
	}

	.fb-detail-renewal .content-area,
	.fb-detail-renewal .content-main,
	.fb-detail-renewal .content-left,
	.fb-detail-renewal .upload-after,
	.fb-detail-renewal .option-area {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.fb-detail-renewal .upload-detail {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 16px 0;
		padding: 0;
	}

	.fb-detail-renewal .fb-design-first-column {
		min-height: 0;
		border-left: 0;
	}
	.fb-detail-renewal .upload-detail[data-product-media-mode="production"] .fb-design-first-column { min-height: 0; }
	.fb-detail-renewal .fb-design-first-intro {
		align-items: flex-start;
		padding: 16px;
	}

	.fb-detail-renewal .upload-detail-thumb-left {
		width: 100%;
		height: 190px !important;
		min-height: 190px !important;
		max-height: 190px !important;
		aspect-ratio: auto !important;
		border-bottom: 1px solid var(--fbd-line-soft);
		border-radius: 0;
	}
	.fb-detail-renewal .upload-detail[data-product-media-mode="production"] .upload-detail-thumb-left { height: 250px !important; min-height: 250px !important; max-height: 250px !important; }

	.fb-detail-renewal .upload-product-img { padding: 16px; }
	.fb-detail-renewal .pressb-product-proof-slots { width: auto; margin: 40px 16px 0; padding: 0 0 40px; }
	.fb-detail-renewal .pressb-product-proof-head { grid-template-columns: 1fr; gap: 8px; }
	.fb-detail-renewal .pressb-product-proof-head h2 { font-size: 24px; }
	.fb-detail-renewal .pressb-product-proof-track,
	.fb-detail-renewal .pressb-product-proof-track:not(:has(figure:nth-child(3))) { grid-template-columns: 1fr; grid-template-rows: auto; gap: 12px; margin-top: 20px; }
	.fb-detail-renewal .pressb-product-proof-track figure:first-child,
	.fb-detail-renewal .pressb-product-proof-track:not(:has(figure:nth-child(3))) figure:first-child { grid-row: auto; }
	.fb-detail-renewal .pressb-product-proof-track figure:first-child img { min-height: 0; }
	.fb-detail-renewal .pressb-product-proof-notes { margin-top: 14px; padding: 12px 14px 13px; border-radius: 10px; }
	.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:first-child { display: block; }
	.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:first-child img,
	.fb-detail-renewal .pressb-product-proof-track:has(figure:nth-child(3)) figure:not(:first-child) img { height: auto; aspect-ratio: 4 / 3; }

	.fb-detail-renewal .upload-detail-info {
		width: 100%;
		padding: var(--bj-space-2, 16px);
	}

	.fb-detail-renewal .fb-specification-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.fb-detail-renewal .upload-detail-info .upload-form-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--bj-space-2, 16px);
	}

	.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .upload-form-grid { gap: 16px; }
	.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .fb-specification-head { margin-bottom: var(--bj-space-2, 16px); padding-bottom: var(--bj-space-2, 16px); }

	.fb-detail-renewal .fb-design-tab-headers {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.fb-detail-renewal .fb-design-tab-headers::-webkit-scrollbar { display: none; }

	.fb-detail-renewal .fb-design-tab {
		flex: 1 0 auto;
		white-space: nowrap;
	}

	.fb-detail-renewal .fb-design-tab-panel { padding: var(--bj-space-2, 16px); }
	.fb-detail-renewal .fb-store-template-media { height: 148px; }
	.fb-detail-renewal .fb-store-template-card.is-portrait .fb-store-template-visual { height: 130px; }
	.fb-detail-renewal .fb-store-template-card:not(.is-overview-card) .fb-store-template-edit { display: none; }
	.fb-detail-renewal .fb-store-template-selection { display: grid; grid-template-columns: 22px minmax(0, 1fr); }
	.fb-detail-renewal .fb-store-template-selection::before { grid-column: 1; grid-row: 1; }
	.fb-detail-renewal .fb-store-template-selection-preview { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 82px; }
	.fb-detail-renewal .fb-store-template-selection-copy { grid-column: 2; grid-row: 1; }
	.fb-detail-renewal .fb-store-template-open-editor { grid-column: 1 / -1; width: 100%; min-height: 48px; margin-left: 0; }
	.fb-detail-renewal .btn-fb-design { height: 52px; }

	.fb-detail-renewal .opt-section-header,
	.fb-detail-renewal .opt-post-card { min-height: 60px; }

	.fb-detail-renewal .opt-select-card { min-height: 68px; }

	.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-header-row {
		grid-template-columns: 56px minmax(0, 1fr) 32px 42px;
		gap: 10px;
		min-height: 80px;
		padding: 12px;
	}

	.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-icon {
		width: 56px;
		height: 56px;
	}

	.fb-detail-renewal .opt-post-info .opt-post-name { font-size: 15px; }
	.fb-detail-renewal .fb-post-summary { font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); }
	.fb-detail-renewal .fb-post-status { min-height: 20px; margin-top: 4px; }

	.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-sub {
		padding: 0 12px 14px;
	}

	.fb-detail-renewal .opt-post-section[data-postproc-slug] .gold-stamp-row,
	.fb-detail-renewal .opt-post-section[data-postproc-slug] .gold3d-stamp-row,
	.fb-detail-renewal .opt-post-section[data-postproc-slug] .emboss-stamp-row,
	.fb-detail-renewal .opt-post-section[data-postproc-slug] .lp-stamp-row {
		padding: 14px 12px;
	}

	.fb-detail-renewal .gold-stamp-color-row {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	.fb-detail-renewal .gold-stamp-color-row .gold-color-chips {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 7px;
	}

	.fb-detail-renewal .gold-stamp-color-row .color-chip { height: 32px; }
	.fb-detail-renewal .fb-color-expand { justify-self: start; }
	.fb-detail-renewal .fb-color-selection { grid-column: 1; }

	.fb-detail-renewal .fb-size-control .opt-sub-select {
		height: 42px;
		font-size: 12px;
	}

	.fb-detail-renewal .fb-size-fields > .opt-size-x { height: 42px; }
	.fb-detail-renewal .btn-fb-postproc-region { width: 100%; min-height: 44px; }
	.fb-detail-renewal .fb-postproc-source-actions { display: grid; grid-template-columns: 1fr; }
	.fb-detail-renewal .fb-postproc-source-actions button { width: 100%; min-height: 46px; }

	.fb-detail-renewal .page-wrap:not(.fb-entry-page) .content-right { display: none; }

	.fb-detail-renewal .mobile-bottom-bar {
		right: 0;
		width: 100%;
		max-width: 100vw;
		border-top: 1px solid var(--fbd-line);
		background: rgba(255, 255, 255, 0.97);
		box-shadow: 0 -8px 24px rgba(23, 38, 56, 0.08);
		backdrop-filter: blur(14px);
	}

	.fb-detail-renewal .mobile-bottom-inner {
		gap: 8px;
		width: 100%;
		min-width: 0;
		padding: 10px 12px;
	}

	.fb-detail-renewal .mobile-total {
		flex: 1 1 auto;
		min-width: 72px;
		padding-right: 4px;
	}

	.fb-detail-renewal .mobile-total-label { font-size: var(--fbd-type-status); line-height: var(--fbd-type-status-line); }
	.fb-detail-renewal .mobile-total-price { font-size: 16px; }

	.fb-detail-renewal .mobile-action-group {
		flex: 0 1 auto;
		min-width: 0;
		gap: 6px;
	}

	.fb-detail-renewal .mobile-btn-cart {
		flex: 0 0 52px;
		width: 52px;
		height: 50px;
		padding: 0;
		border-color: var(--fbd-line);
		border-radius: 9px;
		color: var(--fbd-ink);
	}

	.fb-detail-renewal .mobile-btn-cart-label { display: none; }

	.fb-detail-renewal .mobile-btn-order {
		flex: 0 1 132px;
		width: 132px;
		min-width: 104px;
		height: 50px;
		border-radius: 9px;
		background: var(--fbd-ink);
	}

	.fb-detail-renewal .mobile-order-panel {
		max-width: 100vw;
		border-radius: 16px 16px 0 0;
	}

	.fb-detail-renewal .pressb-story { padding-top: 40px; }
	.fb-detail-renewal .pressb-story-hero { display: flex; flex-direction: column; gap: 28px; padding-bottom: 48px; }
	.fb-detail-renewal .pressb-story-hero-copy { width: 100%; }
	.fb-detail-renewal .pressb-story-hero h2,
	.fb-detail-renewal .pressb-story-cta h2 { margin-top: 13px; font-size: 30px; line-height: 1.34; }
	.fb-detail-renewal .pressb-story-lead { margin-top: 18px; font-size: 16px; line-height: 1.625; }
	.fb-detail-renewal .pressb-story-hero-media { width: 100%; aspect-ratio: 4 / 3; }
	.fb-detail-renewal .pressb-story-section { padding: 48px 0; }
	.fb-detail-renewal .pressb-story [id],
	.fb-detail-renewal .pressb-lower-section[id] { scroll-margin-top: 64px; }
	.fb-detail-renewal .pressb-story-heading { margin-bottom: 32px; }
	.fb-detail-renewal .pressb-story-heading-center { text-align: left; }
	.fb-detail-renewal .pressb-story-heading h2,
	.fb-detail-renewal .pressb-quality-copy h2 { margin-top: 10px; font-size: 24px; line-height: 1.34; }
	.fb-detail-renewal .pressb-story-heading > p:last-child { margin-top: 12px; font-size: 16px; line-height: 1.625; }
	.fb-detail-renewal .pressb-inspection-rail { display: flex; gap: 12px; overflow-x: auto; margin-inline: -16px; padding: 0 16px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.fb-detail-renewal .pressb-inspection-rail::-webkit-scrollbar { display: none; }
	.fb-detail-renewal .pressb-inspection-card { flex: 0 0 84%; scroll-snap-align: start; }
	.fb-detail-renewal .pressb-inspection-card .pressb-editorial-copy { padding: 18px 20px 22px; }
	.fb-detail-renewal .pressb-rail-controls { margin-bottom: 12px; }
	.fb-detail-renewal .pressb-rail-controls > div { display: flex; }
	.fb-detail-renewal .pressb-finish-grid {
		display: flex;
		grid-template-columns: none;
		gap: 12px;
		margin-inline: -16px;
		padding: 0 16px 8px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 16px;
		overscroll-behavior-inline: contain;
		scrollbar-width: none;
	}
	.fb-detail-renewal .pressb-finish-grid::-webkit-scrollbar { display: none; }
	.fb-detail-renewal .pressb-finish-card { flex: 0 0 84%; }
	.fb-detail-renewal .pressb-finish-card > div { min-height: 178px; padding: 18px 20px 22px; }
	.fb-detail-renewal .pressb-choice-row { grid-template-columns: 1fr auto; gap: 5px 16px; min-height: 0; padding: 18px 2px; }
	.fb-detail-renewal .pressb-choice-row em { grid-column: 1 / -1; font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); }
	.fb-detail-renewal .pressb-flow-list { grid-template-columns: 1fr; }
	.fb-detail-renewal .pressb-flow-list li { display: grid; grid-template-columns: 38px 1fr; gap: 10px; min-height: 0; padding: 22px 4px; border-right: 0; border-bottom: 1px solid var(--fbd-line); }
	.fb-detail-renewal .pressb-flow-list li:last-child { border-bottom: 0; }
	.fb-detail-renewal .pressb-flow-list h3 { margin-top: 0; font-size: 15px; }
	.fb-detail-renewal .pressb-flow-list p { font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); }
	.fb-detail-renewal .pressb-faq-list summary { padding: 20px 40px 20px 2px; font-size: 14px; line-height: 1.5; }
	.fb-detail-renewal .pressb-faq-list summary::after { right: 4px; top: 18px; }
	.fb-detail-renewal .pressb-faq-list details p { padding: 0 36px 20px 2px; }
	.fb-detail-renewal .pressb-story-cta { display: block; margin-inline: -16px; padding: 48px 20px; }
	.fb-detail-renewal .pressb-story-cta h2 { font-size: 24px; line-height: 1.34; }
	.fb-detail-renewal .pressb-story-cta-actions { display: grid; grid-template-columns: 1fr; margin-top: 28px; }
	.fb-detail-renewal .pressb-story-cta-actions a { min-width: 0; padding-inline: 10px; }

	.fb-detail-renewal .pressb-lower-section { padding: 56px 0; }
	.fb-detail-renewal #tab-schedule { padding-top: 56px; }
	.fb-detail-renewal .pressb-lower-heading { margin-bottom: 32px; }
	.fb-detail-renewal .pressb-lower-heading h2 { margin-top: 10px; font-size: 24px; line-height: 1.34; }
	.fb-detail-renewal .pressb-lower-heading > p:last-child { margin-top: 12px; font-size: 16px; line-height: 1.625; }
	.fb-detail-renewal .pressb-production-summary { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
	.fb-detail-renewal .pressb-production-summary div { display: grid; gap: 6px; }
	.fb-detail-renewal .pressb-production-summary strong { font-size: 20px; }
	.fb-detail-renewal .pressb-process-block { margin-top: 40px; }
	.fb-detail-renewal .pressb-process-head { align-items: flex-start; margin-bottom: 14px; }
	.fb-detail-renewal .pressb-process-head strong { font-size: 17px; }
	.fb-detail-renewal .pressb-process-head p { max-width: 270px; font-size: var(--fbd-type-caption); line-height: var(--fbd-type-caption-line); }
	.fb-detail-renewal .pressb-process-controls { display: none; }
	.fb-detail-renewal .pressb-process-rail { grid-auto-columns: min(82%, 280px); gap: 12px; margin-inline: -16px; padding: 0 16px 8px; scroll-padding-inline: 16px; }
	.fb-detail-renewal .pressb-process-copy { padding-top: 12px; }
	.fb-detail-renewal .pressb-process-copy h3 { font-size: 17px; }
	.fb-detail-renewal .pressb-process-copy p { font-size: 14px; }
	.fb-detail-renewal .pressb-process-progress { margin-top: 2px; }
	.fb-detail-renewal .pressb-policy-list { display: flex; gap: 10px; overflow-x: auto; margin: 48px -16px 0; padding: 0 16px 8px; border: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.fb-detail-renewal .pressb-policy-list::-webkit-scrollbar { display: none; }
	.fb-detail-renewal .pressb-policy-list article { display: block; flex: 0 0 82%; min-height: 210px; padding: 22px 20px; border: 1px solid var(--fbd-line); border-radius: 10px; background: var(--fbd-surface-soft); scroll-snap-align: start; }
	.fb-detail-renewal .pressb-policy-list h3 { font-size: 18px; }
	.fb-detail-renewal .pressb-policy-list p { margin-top: 10px; font-size: 14px; }
	.fb-detail-renewal .pressb-template-guide { grid-template-columns: 1fr; gap: 34px; }
	.fb-detail-renewal .pressb-template-closing-copy h2 { margin-top: 10px; font-size: 28px; line-height: 1.4; }
	.fb-detail-renewal .pressb-template-closing-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
	.fb-detail-renewal .pressb-template-closing-actions a:first-child { justify-content: space-between; }
	.fb-detail-renewal .pressb-template-closing-actions a:last-child { justify-self: start; }
	.fb-detail-renewal .pressb-start-template-preview { gap: 9px; min-height: 260px; padding: 26px 18px; }
	.fb-detail-renewal .pressb-start-template-preview img { max-height: 190px; }
	.fb-detail-renewal .pressb-start-template-preview img:nth-child(2) { max-height: 215px; }
	.fb-detail-renewal .pressb-start-template-preview[data-thumb-shape="landscape"] { padding: 22px 18px; }
	.fb-detail-renewal .pressb-support-faq summary { padding: 19px 40px 19px 2px; font-size: 17px; line-height: 1.55; }
	.fb-detail-renewal .pressb-support-faq summary::after { right: 4px; top: 17px; }
	.fb-detail-renewal .pressb-support-faq details p { padding: 0 36px 20px 2px; font-size: 15px; line-height: 1.7; }
	.fb-detail-renewal .pressb-support-band { grid-template-columns: 1fr; gap: 28px; margin-top: 48px; padding: 40px 24px; }
	.fb-detail-renewal .pressb-support-band h3 { font-size: 20px; line-height: 1.5; }
	.fb-detail-renewal .pressb-support-actions { display: grid; grid-template-columns: 1fr; }
	.pressb-process-modal { padding: 12px; }
	.pressb-process-modal-panel { max-height: calc(100vh - 24px); border-radius: 10px; }
	.pressb-process-modal video { max-height: calc(100vh - 166px); }
	.pressb-process-modal-copy { padding: 16px 18px 18px; }
	.pressb-process-modal-copy h2 { font-size: 18px; }
}

@media (min-width: 600px) and (max-width: 768px) {
	.fb-detail-renewal .pressb-story-cta-actions,
	.fb-detail-renewal .pressb-support-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 360px) {
	.fb-detail-renewal .fb-design-first-intro { flex-direction: column; gap: 4px; }
	.fb-detail-renewal .page-wrap[data-ui-contract] { padding-inline: 14px; }
	.fb-detail-renewal .fb-breadcrumb { margin-inline: -14px; padding-inline: 14px; }
	.fb-detail-renewal .fb-design-tab { padding-inline: 10px; }
	.fb-detail-renewal .mobile-bottom-inner { padding-inline: 10px; }
	.fb-detail-renewal .mobile-btn-order { width: 108px; min-width: 96px; }
	.fb-detail-renewal .upload-detail:not([data-product-media-mode="production"]) .upload-detail-thumb-left { height: 200px !important; min-height: 200px !important; max-height: 200px !important; }
	.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-header-row {
		grid-template-columns: 52px minmax(0, 1fr) 30px 40px;
		gap: 8px;
		padding-inline: 10px;
	}
	.fb-detail-renewal .opt-post-section[data-postproc-slug] .opt-post-icon { width: 52px; height: 52px; }
	.fb-detail-renewal .opt-post-section.is-locked-on .opt-header-row { grid-template-columns: 52px minmax(0, 1fr) 30px; }
	.fb-detail-renewal .gold-stamp-color-row .gold-color-chips { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Press B in-house manufacturing story */
.fb-detail-renewal .pressb-story-hero { grid-template-columns: minmax(0, 1fr) minmax(420px, 1.12fr); gap: 56px; }
.fb-detail-renewal .pressb-story-hero-media { aspect-ratio: 5 / 3; }
.fb-detail-renewal .pressb-story-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.fb-detail-renewal .pressb-story-hero-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 1px solid var(--fbd-ink); border-radius: 8px; font-size: 15px; font-weight: 650; text-decoration: none; }
.fb-detail-renewal .pressb-story-proofline { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-top: 24px; border-top: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-story-proofline strong { display: block; font-size: 16px; line-height: 1.5; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-story-proofline span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.6; color: var(--fbd-muted); }

.fb-detail-renewal .pressb-inhouse-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: min(100%, var(--pressb-rail)); margin: 0 auto; padding: 0; overflow: hidden; border: 1px solid var(--fbd-line); border-radius: 12px; list-style: none; }
.fb-detail-renewal .pressb-inhouse-flow li { min-height: 190px; padding: 24px 20px; border-right: 1px solid var(--fbd-line); }
.fb-detail-renewal .pressb-inhouse-flow li:last-child { border-right: 0; }
.fb-detail-renewal .pressb-inhouse-flow span { font-size: 13px; font-weight: 700; color: var(--fbd-subtle); }
.fb-detail-renewal .pressb-inhouse-flow strong { display: block; margin-top: 32px; font-size: 17px; line-height: 1.45; color: var(--fbd-ink); }
.fb-detail-renewal .pressb-inhouse-flow p { margin-top: 9px; font-size: 14px; line-height: 1.6; color: var(--fbd-muted); }
.fb-detail-renewal .pressb-inhouse-hint { display: none; }
.fb-detail-renewal .pressb-inhouse-qc { width: min(100%, var(--pressb-rail)); margin: 56px auto 0; }
.fb-detail-renewal .pressb-inhouse-qc figure { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; background: var(--fbd-surface-soft); }
.fb-detail-renewal .pressb-inhouse-qc figure::after { content: ''; position: absolute; inset: 38% 0 0; background: linear-gradient(180deg, transparent, rgba(13, 15, 17, .68)); pointer-events: none; }
.fb-detail-renewal .pressb-inhouse-qc figcaption { position: absolute; z-index: 1; bottom: 30px; left: 34px; font-size: 13px; font-weight: 700; letter-spacing: .14em; color: #fff; }

/* 후가공 타일은 상세 실물 샘플과 같은 4:3 — 정사각형은 필기체·가로 명함의 양끝을 잘랐다(2026-09-20). */
.fb-detail-renewal .pressb-finish-card > img { height: auto; aspect-ratio: 4 / 3; }
.fb-detail-renewal .pressb-efficiency-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: min(100%, var(--pressb-rail)); margin: 0 auto; }
.fb-detail-renewal .pressb-efficiency-grid figure { overflow: hidden; border: 1px solid var(--fbd-line-soft); border-radius: 12px; background: #fff; }
.fb-detail-renewal .pressb-efficiency-grid img { height: auto; aspect-ratio: 4 / 3; }
.fb-detail-renewal .pressb-efficiency-grid figcaption { min-height: 112px; padding: 20px 22px 22px; }
.fb-detail-renewal .pressb-efficiency-grid span { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; color: var(--fbd-subtle); }
.fb-detail-renewal .pressb-efficiency-grid strong { display: block; margin-top: 10px; font-size: 16px; line-height: 1.55; color: var(--fbd-ink); }

@media (max-width: 767px) {
	.fb-detail-renewal .pressb-story-hero { display: flex; gap: 28px; }
	.fb-detail-renewal .pressb-story-hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 24px; }
	.fb-detail-renewal .pressb-story-hero-media { aspect-ratio: 4 / 3; }
	.fb-detail-renewal .pressb-story-proofline { grid-template-columns: 1fr; gap: 0; width: 100%; padding-top: 0; }
	.fb-detail-renewal .pressb-story-proofline div { padding: 17px 0; border-bottom: 1px solid var(--fbd-line); }
	.fb-detail-renewal .pressb-inhouse-flow { display:flex; gap:12px; margin-inline:-16px; padding:0 16px 8px; overflow-x:auto; border:0; border-radius:0; scroll-snap-type:x mandatory; scrollbar-width:none; }
	.fb-detail-renewal .pressb-inhouse-flow::-webkit-scrollbar { display:none; }
	.fb-detail-renewal .pressb-inhouse-flow li { flex:0 0 78%; min-height:168px; padding:20px; border:1px solid var(--fbd-line); border-radius:10px; scroll-snap-align:start; }
	.fb-detail-renewal .pressb-inhouse-flow strong { margin-top: 12px; }
	.fb-detail-renewal .pressb-inhouse-hint { display: block; margin: 0 0 10px; font-size: 12px; line-height: 18px; color: var(--fbd-subtle); }
	.fb-detail-renewal .pressb-inhouse-qc { margin-top: 40px; }
	.fb-detail-renewal .pressb-inhouse-qc figure { aspect-ratio: 4 / 3; }
	.fb-detail-renewal .pressb-inhouse-qc figcaption { bottom: 18px; left: 20px; }
	.fb-detail-renewal .pressb-efficiency-grid { display: flex; gap: 12px; overflow-x: auto; margin-inline: -16px; padding: 0 16px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.fb-detail-renewal .pressb-efficiency-grid figure { flex: 0 0 84%; scroll-snap-align: start; }
}

/* Completed-file workspace: customer controls must use the shared readable
 * type and 44px interaction geometry instead of legacy inline admin metadata. */
.fb-detail-renewal .fb-design-sets-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin: 20px 0 16px;
	padding: 16px 0;
	border-block: 1px solid var(--fbd-line, #e6e2dc);
}
.fb-detail-renewal .fb-design-sets-wrap { container-type: inline-size; container-name: fb-design-sets; }
@container fb-design-sets (max-width: 640px) {
	.fb-detail-renewal .fb-design-sets-header { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 12px; }
	.fb-detail-renewal .fb-design-sets-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); justify-content: stretch; }
	.fb-detail-renewal .fb-design-sets-actions .btn-fb-ds-clear { grid-column: 1 / -1; }
}
.fb-detail-renewal .fb-design-sets-help { margin: 0; min-width: 0; }
.fb-detail-renewal .fb-design-sets-help strong,
.fb-detail-renewal .fb-design-sets-help span { display: block; }
.fb-detail-renewal .fb-design-sets-help strong { font-size: 15px; line-height: 22px; color: var(--fbd-ink, #181817); }
.fb-detail-renewal .fb-design-sets-help span { margin-top: 3px; font-size: 14px; line-height: 21px; color: var(--fbd-muted, #66635e); }
.fb-detail-renewal .fb-design-sets-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.fb-detail-renewal .fb-design-sets-actions button,
.fb-detail-renewal .fb-ds-card-remove {
	min-height: 44px;
	border: 1px solid var(--fbd-line-strong, #d7d2ca);
	border-radius: 8px;
	background: var(--fbd-surface, #fff);
	color: var(--fbd-ink, #181817);
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
	cursor: pointer;
}
.fb-detail-renewal .fb-design-sets-actions button { padding: 10px 13px; white-space: nowrap; }
.fb-detail-renewal .fb-design-sets-actions button:hover { border-color: #8d867c; background: #f7f5f1; }
.fb-detail-renewal .fb-design-sets-actions .btn-fb-ds-clear { color: #9f3d38; }
.fb-detail-renewal .fb-ds-card { border-bottom: 1px solid var(--fbd-line-soft); }
.fb-detail-renewal .fb-ds-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.fb-detail-renewal .fb-ds-card-head > strong { color: var(--fbd-ink); font-size: 16px; line-height: 24px; }
.fb-detail-renewal .fb-ds-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.fb-detail-renewal .fb-ds-set-qty {
	display: grid;
	grid-template-columns: 36px minmax(68px, auto) 36px;
	height: 40px;
	overflow: hidden;
	border: 1px solid var(--fbd-line-strong, #d7d2ca);
	border-radius: 8px;
	background: var(--fbd-surface, #fff);
}
.fb-detail-renewal .fb-ds-set-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fbd-ink, #181817);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.fb-detail-renewal .fb-ds-set-qty-btn:hover { background: var(--fbd-surface-soft, #f7f5f1); }
.fb-detail-renewal .fb-ds-set-qty-value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px;
	border-inline: 1px solid var(--fbd-line-soft, #ebe7e1);
	color: var(--fbd-ink, #181817);
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	white-space: nowrap;
}
.fb-detail-renewal .fb-ds-labels-row { display: flex; gap: 12px; padding: 0 0 8px; }
.fb-detail-renewal .fb-ds-slots-row { display: flex; align-items: center; gap: 12px; }
.fb-detail-renewal .fb-ds-face-column { flex: 1; min-width: 0; }
.fb-detail-renewal .fb-ds-face-label { color: #66635e; font-size: 14px; line-height: 21px; }
.fb-detail-renewal .fb-ds-face-label strong { color: var(--fbd-ink, #181817); font-size: 15px; }
.fb-detail-renewal .fb-ds-faces { display: flex; gap: 12px; flex: 1; min-width: 0; }
.fb-detail-renewal .fb-ds-card-remove { flex: 0 0 auto; width: auto; padding: 9px 12px; color: #9f3d38; font-size: 14px; }

@media (max-width: 767px) {
	.fb-detail-renewal .fb-design-sets-header { grid-template-columns: 1fr; gap: 12px; }
	.fb-detail-renewal .fb-design-sets-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); justify-content: stretch; }
	.fb-detail-renewal .fb-design-sets-actions button { font-size: 16px; }
	.fb-detail-renewal .fb-design-sets-actions .btn-fb-ds-clear { grid-column: 1 / -1; }
	.fb-detail-renewal .fb-ds-labels-row { padding-inline: 0; }
	.fb-detail-renewal .fb-ds-face-label { font-size: 14px; }
	.fb-detail-renewal .fb-ds-card-head { align-items: flex-start; flex-wrap: wrap; gap: 10px; }
	.fb-detail-renewal .fb-ds-card-actions { width: 100%; justify-content: stretch; }
	.fb-detail-renewal .fb-ds-set-qty { flex: 1 1 auto; }
	.fb-detail-renewal .fb-ds-card-remove { min-width: 88px; }
}

.fb-detail-renewal .order-summary-total {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px;
	margin-top: 8px;
	padding: 16px 0;
	border-top: 1px solid var(--fbd-line);
	border-radius: 0;
	background: transparent;
}
.fb-detail-renewal .order-summary-total .order-label { font-size: 15px; font-weight: 700; }
.fb-detail-renewal .order-summary-total .order-label-wrap { min-width: 0; }
.fb-detail-renewal .order-summary-total .order-per-unit { display: block; margin-top: 3px; }
.fb-detail-renewal .order-summary-total .order-total-price { font-size: 18px; line-height: 26px; white-space: nowrap; }
/* 출고일(2026-09-29) — 금액 바로 밑 한 줄. 날짜만 굵게, 기준은 흐리게. 상자·선 없이(ship-eta.js 가 채운다). */
.fb-detail-renewal .fb-ship-eta { margin: -4px 0 12px; font-size: 14px; line-height: 21px; color: var(--fbd-ink); }
.fb-detail-renewal .fb-ship-eta[hidden] { display: none; }
.fb-detail-renewal .fb-ship-eta strong { font-weight: 700; }
.fb-detail-renewal .fb-ship-eta small { display: block; margin-top: 2px; font-size: 13px; line-height: 19px; color: var(--fbd-muted); }
.fb-detail-renewal .fb-ship-eta small[hidden] { display: none; }

/* FactoryB production option system ---------------------------------------
 * One outer surface owns each decision group. Existing pricing controls and
 * IDs remain intact; only their presentation and responsive host change. */
.fb-detail-renewal .option-area.fb-options-v2 {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.fb-detail-renewal .fb-option-group {
	display: grid;
	padding: 0;
	gap: 8px;
	min-width: 0;
	overflow-anchor: none;
}

.fb-detail-renewal .fb-option-surface {
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: var(--bj-order-panel-border);
	border-radius: var(--bj-order-panel-radius);
	background: var(--fbd-surface);
	box-shadow: var(--bj-order-panel-shadow);
}

.fb-detail-renewal .fb-option-group-head {
	display: flex;
	min-height: 24px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 0 4px;
}

.fb-detail-renewal .fb-option-group-head h2 {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	line-height: 24px;
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-option-group-head p {
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-option-group-guide {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: var(--fbd-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	cursor: pointer;
}

.fb-detail-renewal .fb-option-group-guide:hover { color: var(--fbd-ink); }
.fb-detail-renewal .fb-option-group-guide:focus-visible {
	outline: 2px solid #5579a3;
	outline-offset: 2px;
}

.fb-detail-renewal .fb-option-surface > .opt-section,
.fb-detail-renewal .fb-option-surface > .opt-post-section {
	margin: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fbd-line-soft) !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
	box-shadow: none !important;
	overflow: visible;
}

.fb-detail-renewal .fb-option-surface > .opt-section:last-child,
.fb-detail-renewal .fb-option-surface > .opt-post-section:last-child { border-bottom: 0 !important; }

.fb-detail-renewal .fb-option-surface .opt-section-header,
.fb-detail-renewal .fb-option-surface .opt-post-card { border-radius: 0; }

.fb-detail-renewal .fb-option-surface .opt-section-header,
.fb-detail-renewal .fb-option-surface .opt-post-header { background: var(--fbd-surface) !important; }

.fb-detail-renewal .fb-option-surface .opt-section-header:hover,
.fb-detail-renewal .fb-option-surface .opt-post-section:hover { background: var(--fbd-surface-soft); }

.fb-detail-renewal .fb-option-surface .opt-post-section:not(.is-disabled) .opt-header-row {
	touch-action: manipulation;
	cursor: pointer;
}

.fb-detail-renewal .fb-option-surface .opt-post-section:not(.is-disabled) .opt-header-row:active {
	background: var(--fbd-selected);
}

.fb-detail-renewal .fb-production-surface .opt-print-header > .opt-header-row,
.fb-detail-renewal .fb-production-surface .opt-paper-header > .opt-header-row {
	touch-action: manipulation;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) var(--fbd-option-action-column);
	min-height: 64px !important;
	height: auto !important;
	gap: var(--fbd-option-column-gap) !important;
	padding: 10px var(--fbd-option-inline) !important;
	border: 0 !important;
}

.fb-detail-renewal .fb-production-surface .opt-print-header .opt-header-default,
.fb-detail-renewal .fb-production-surface .opt-paper-header .opt-header-default,
.fb-detail-renewal .fb-production-surface .opt-print-header .opt-header-print-row-info,
.fb-detail-renewal .fb-production-surface .opt-paper-header .opt-header-paper-row-info { display: none !important; }

.fb-detail-renewal .fb-base-option-current {
	display: grid;
	grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr);
	align-items: center;
	gap: var(--fbd-option-column-gap);
	min-width: 0;
}

.fb-detail-renewal .opt-print-header:has(.fb-base-option-current) > .opt-header-row,
.fb-detail-renewal .opt-paper-header:has(.fb-base-option-current) > .opt-header-row {
	grid-template-columns: minmax(0, 1fr);
}

.fb-detail-renewal .opt-print-header:has(.fb-base-option-current) > .opt-header-row > .opt-arrow,
.fb-detail-renewal .opt-paper-header:has(.fb-base-option-current) > .opt-header-row > .opt-arrow {
	display: none !important;
}

.fb-detail-renewal .fb-base-option-current.is-changeable > span {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 50px;
	align-items: center;
	padding: 0 82px 0 14px;
	border: 1px solid var(--fbd-line);
	border-radius: 8px;
	background: var(--fbd-surface);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fb-detail-renewal .opt-print-header,
.fb-detail-renewal .opt-paper-header { position: relative; }

.fb-detail-renewal .fb-base-option-current.is-changeable > span::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 17px;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--fbd-muted);
	border-bottom: 2px solid var(--fbd-muted);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .16s ease;
}

.fb-detail-renewal .opt-section-header.open .fb-base-option-current.is-changeable > span::after {
	transform: translateY(-30%) rotate(225deg);
}

.fb-detail-renewal .opt-section-header:not(.open) .fb-base-option-current.is-changeable > span:hover {
	border-color: var(--fbd-ink);
}

.fb-detail-renewal .sticker-cutter-meta,
.fb-detail-renewal .sticker-cutter-desc {
	font-size: 14px !important;
	line-height: 21px !important;
}

.fb-detail-renewal .sticker-cutter-badge,
.fb-detail-renewal .print-recommend-badge {
	font-size: 13px !important;
	line-height: 19px !important;
}

.fb-detail-renewal .fb-base-option-current b {
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-base-option-current span {
	overflow: hidden;
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
	color: var(--fbd-ink);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fb-detail-renewal .fb-production-surface .opt-arrow {
	display: grid !important;
	width: 24px;
	height: 44px;
	place-items: center;
	margin: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	transform: none !important;
}

.fb-detail-renewal .fb-production-surface .opt-section-header[data-toggle]:hover .opt-arrow,
.fb-detail-renewal .fb-production-surface .opt-section-header[data-toggle].open:hover .opt-arrow {
	background: transparent !important;
	transform: none !important;
}

.fb-detail-renewal .fb-production-surface .opt-section-header:focus { outline: 0; box-shadow: none; }
.fb-detail-renewal .fb-production-surface .opt-header-row:focus-visible {
	outline: 2px solid #5579a3;
	outline-offset: -2px;
	box-shadow: none;
}

/* Selected print/paper keeps its real controls, without the legacy nested card. */
.fb-detail-renewal .fb-production-surface .opt-print-body-card,
.fb-detail-renewal .fb-production-surface .opt-paper-body-card {
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
	box-shadow: none !important;
}

.fb-detail-renewal .fb-production-surface .opt-print-body-info,
.fb-detail-renewal .fb-production-surface .opt-paper-body-info,
.fb-detail-renewal .fb-production-surface .opt-print-body-divider,
.fb-detail-renewal .fb-production-surface .opt-paper-body-divider { display: none !important; }

.fb-detail-renewal .fb-production-surface .opt-header-digital-row,
.fb-detail-renewal .fb-production-surface .opt-header-uv-row,
.fb-detail-renewal .fb-production-surface .opt-header-master-row,
.fb-detail-renewal .fb-production-surface .opt-header-paper-cut-row {
	grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr);
	align-items: center;
	column-gap: var(--fbd-option-column-gap);
	row-gap: 12px;
	padding: 12px var(--fbd-option-inline) !important;
	background: var(--fbd-surface) !important;
}

.fb-detail-renewal .fb-production-sub-grid {
	display: grid;
	grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr);
	grid-column: 1 / -1;
	align-items: center;
	gap: var(--fbd-option-column-gap);
	width: 100%;
}

.fb-detail-renewal .fb-production-sub-grid + .fb-production-sub-grid { margin-top: 8px; }

.fb-detail-renewal .fb-production-sub-label {
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-production-sub-grid .opt-sub-selects:not(.uv-varnish-row) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin: 0 !important;
}

.fb-detail-renewal .fb-production-surface .fb-production-sub-controls-full {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-column: 2;
	gap: 12px;
	width: 100%;
	margin: 0 !important;
}

.fb-detail-renewal .fb-production-surface .opt-header-paper-cut-row .fb-production-sub-controls-full {
	grid-template-columns: minmax(0, 1fr);
}

/* A setting header and its selected controls are one decision row. Dividers
 * belong between print, paper and cutting groups, not between their label and
 * value controls. */
.fb-detail-renewal .fb-production-surface .opt-print-body-card,
.fb-detail-renewal .fb-production-surface .opt-paper-body-card,
.fb-detail-renewal .fb-production-surface .opt-header-digital-row,
.fb-detail-renewal .fb-production-surface .opt-header-uv-row,
.fb-detail-renewal .fb-production-surface .opt-header-master-row,
.fb-detail-renewal .fb-production-surface .opt-header-paper-cut-row {
	border-top: 0 !important;
}

/* The UV varnish setting is feature-gated by factory.js. Keep its explicit
 * label and controls under the same visibility owner at every breakpoint.
 * The gate is a class set with the hide (factory.js, uv_varnish_enabled=0), not the
 * inline style: a [style…] test inside :has() made every inline style write on the
 * page recalculate the whole document (2026-09-26, ≈17ms per write at phone CPU ×4). */
.fb-detail-renewal .fb-production-sub-grid:has(> .uv-varnish-row.is-uv-varnish-off) {
	display: none !important;
}

.fb-detail-renewal .fb-option-surface .opt-section-body {
	margin: 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--fbd-line-soft) !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
}

/* The paper header, search and list are one disclosure. A second rule between
 * the selected value and its search field made it look like nested cards. */
.fb-detail-renewal .fb-production-surface #opt-paper { border-top: 0 !important; }

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-list {
	gap: 0;
	padding: 0 var(--fbd-option-inline) 0 calc(var(--fbd-option-inline) + var(--fbd-option-label-column) + var(--fbd-option-column-gap));
}

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	max-height: 420px;
	padding: 16px var(--fbd-option-inline) 18px calc(var(--fbd-option-inline) + var(--fbd-option-label-column) + var(--fbd-option-column-gap));
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.fb-detail-renewal .opt-print-header[data-print-choice-count="0"] .opt-arrow,
.fb-detail-renewal .opt-print-header[data-print-choice-count="1"] .opt-arrow { visibility: hidden; }
.fb-detail-renewal .opt-print-header[data-print-choice-count="0"] > .opt-header-row,
.fb-detail-renewal .opt-print-header[data-print-choice-count="1"] > .opt-header-row { cursor: default; }
.fb-detail-renewal #opt-print[data-print-choice-count="0"] { display: none !important; }

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-card,
.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card {
	position: relative;
	min-height: 88px;
	margin: 0;
	padding: 12px 48px 12px 0;
	border: 0;
	border-bottom: 1px solid var(--fbd-line-soft);
	border-radius: 0;
	background: var(--fbd-surface);
}

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-card:last-child,
.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card:last-child { border-bottom: 0; }

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-card.selected,
.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card.selected {
	background: var(--fbd-surface);
}

.fb-detail-renewal #opt-print .opt-radio-dot,
.fb-detail-renewal #opt-paper .opt-radio-dot {
	display: block !important;
	position: absolute;
	top: 16px;
	right: 16px;
	width: 20px;
	height: 20px;
	margin: 0;
	box-sizing: border-box;
	border: 1.5px solid var(--fbd-subtle);
	border-radius: 50%;
	background: var(--fbd-surface);
}

.fb-detail-renewal #opt-print .opt-select-card.selected .opt-radio-dot,
.fb-detail-renewal #opt-paper .opt-select-card.selected .opt-radio-dot,
.fb-detail-renewal #opt-print .opt-select-card[aria-selected="true"] .opt-radio-dot,
.fb-detail-renewal #opt-paper .opt-select-card[aria-selected="true"] .opt-radio-dot {
	border-color: var(--fbd-ink);
	background: var(--fbd-ink);
	box-shadow: none;
}

.fb-detail-renewal #opt-print .opt-select-card.selected .opt-radio-dot::after,
.fb-detail-renewal #opt-paper .opt-select-card.selected .opt-radio-dot::after,
.fb-detail-renewal #opt-print .opt-select-card[aria-selected="true"] .opt-radio-dot::after,
.fb-detail-renewal #opt-paper .opt-select-card[aria-selected="true"] .opt-radio-dot::after {
	display: block;
	content: '';
	position: absolute;
	top: 4px;
	left: 7px;
	width: 4px;
	height: 8px;
	border: solid var(--fbd-surface);
	border-width: 0 2px 2px 0;
	border-radius: 0;
	background: transparent;
	transform: rotate(45deg);
}

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-img,
.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-img { width: 72px; height: 64px; border: 0; border-radius: 8px; }

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card {
	display: grid !important;
	grid-template-columns: 88px minmax(0, 1fr);
	min-height: 112px;
	align-items: center;
	gap: 16px !important;
	padding: 12px 48px 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fbd-line-soft) !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
}

/* 관리자 카테고리/상품 옵션 정책은 레이아웃용 display 강제값보다 우선한다. */
.fb-detail-renewal .fb-production-surface #opt-print .opt-select-card.is-option-policy-hidden,
.fb-detail-renewal .fb-production-surface #opt-paper #paper-card-list .opt-select-card.is-option-policy-hidden,
.fb-detail-renewal .fb-production-surface .opt-post-section.is-option-policy-hidden {
	display: none !important;
}

.fb-detail-renewal .fb-production-surface #paper-card-list {
	padding-right: 0 !important;
}

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card:hover {
	background: var(--fbd-surface-soft) !important;
}

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card.selected {
	background: var(--fbd-surface) !important;
}

/* 고를 수 있지만 공정이 하나 더 붙는 종이 — 카드가 고르기 전에 먼저 말한다.
   막힌 카드의 ⚠ 오버레이는 눌러야 보이지만, 금액이 달라지는 사실은 찾아봐야
   알게 두면 고르고 나서야 알게 된다. 그래서 늘 보이는 줄로 둔다. */
.fb-detail-renewal #opt-paper #paper-card-list .opt-select-card .opt-select-extra-process {
	margin: 8px 0 0;
	align-self: flex-start;
	padding: 2px 8px;
	border: 1px solid var(--fbd-line);
	border-radius: 999px;
	background: var(--fbd-surface-soft);
	color: var(--fbd-ink);
	font-size: var(--fbd-type-status);
	line-height: var(--fbd-type-status-line);
	font-weight: 500;
	white-space: nowrap;
}

.fb-detail-renewal .fb-production-surface #opt-print .opt-select-card.selected:hover,
.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-card.selected:hover {
	background: var(--fbd-surface) !important;
}

.fb-detail-renewal #opt-print .opt-select-card.selected .opt-select-title,
.fb-detail-renewal #opt-paper .opt-select-card.selected .opt-select-title { font-weight: 700; }

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-img {
	width: 88px !important;
	height: 88px !important;
	border-radius: 8px !important;
}

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
}

.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-desc {
	font-size: 14px !important;
	line-height: 21px !important;
}

.fb-detail-renewal .fb-finishing-surface > .opt-post-section[data-process-group="finishing"] .opt-header-row,
.fb-detail-renewal .fb-production-surface > .opt-post-section[data-process-group="production"] .opt-header-row {
	display: grid;
	grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr) auto var(--fbd-option-action-column);
	min-height: 60px;
	align-items: center;
	column-gap: var(--fbd-option-column-gap);
	row-gap: 2px;
	padding: 8px var(--fbd-option-inline);
}

.fb-detail-renewal .fb-option-surface .opt-post-icon { display: none !important; }

.fb-detail-renewal .fb-option-surface .opt-post-info {
	display: contents;
}

.fb-detail-renewal .fb-option-surface .opt-post-name {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 22px;
	color: var(--fbd-ink);
}

.fb-detail-renewal .fb-option-surface .fb-post-status,
.fb-detail-renewal .fb-option-surface .fb-required-process-badge {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	margin: 0;
}

.fb-detail-renewal .fb-option-surface .fb-post-summary {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	color: var(--fbd-muted);
	white-space: normal;
}

.fb-detail-renewal .fb-option-surface .opt-post-toggle {
	grid-column: 4;
	grid-row: 1;
}

.fb-detail-renewal .fb-option-surface .opt-post-section:not(.is-active):not(.is-locked-on) .fb-post-summary { display: none; }
.fb-detail-renewal .fb-option-surface .opt-post-section:not(.is-active) .fb-post-status,
.fb-detail-renewal .fb-option-surface .fb-post-status[hidden] { display: none !important; }

.fb-detail-renewal .fb-option-surface .fb-post-chevron { display: none !important; }

/* 44px is the touch target, not the visible switch. Keeping those two boxes
 * separate prevents the control from becoming a large rounded square. */
.fb-detail-renewal .fb-option-surface .opt-post-toggle {
	position: relative;
	display: block;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
}

.fb-detail-renewal .fb-option-surface .opt-post-toggle::before {
	position: absolute;
	top: 12px;
	left: 4px;
	width: 36px;
	height: 20px;
	border-radius: 999px;
	background: #d8dde2;
	content: '';
	transition: background-color .16s ease;
}

.fb-detail-renewal .fb-option-surface .opt-post-toggle::after {
	position: absolute;
	top: 14px;
	left: 6px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(23, 38, 56, .18);
	content: '';
	transform: none;
	transition: transform .16s ease;
}

.fb-detail-renewal .fb-option-surface .opt-post-toggle[aria-checked="true"]::before { background: var(--fbd-ink); }
.fb-detail-renewal .fb-option-surface .opt-post-toggle[aria-checked="true"]::after { transform: translateX(16px); }
.fb-detail-renewal .fb-option-surface .opt-post-toggle:focus-visible { outline: 2px solid #5579a3; outline-offset: -2px; }

.fb-detail-renewal .fb-option-surface .opt-post-section.is-locked-on .opt-header-row {
	grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr) auto var(--fbd-option-action-column);
}

.fb-detail-renewal .stamp-row-info-detail { display: none !important; }

.fb-detail-renewal .fb-option-surface .opt-post-section.is-locked-on .fb-post-status { display: none !important; }

.fb-detail-renewal .fb-option-surface .opt-post-sub {
	padding: 0 var(--fbd-option-inline) 20px calc(var(--fbd-option-inline) + var(--fbd-option-label-column) + var(--fbd-option-column-gap)) !important;
	background: var(--fbd-surface) !important;
}

.fb-detail-renewal .fb-post-effect-panel {
	display: grid;
	grid-template-columns: 164px minmax(0, 1fr);
	align-items: stretch;
	gap: 16px;
	margin: 0;
	padding: 16px 0;
	border-top: 1px solid var(--fbd-line-soft);
}

.fb-detail-renewal .fb-post-effect-media {
	position: relative;
	display: grid;
	width: 164px;
	height: 108px;
	overflow: hidden;
	border-radius: 8px;
	background: var(--fbd-surface-soft);
}

.fb-detail-renewal .fb-post-effect-media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	min-width: 0;
	object-fit: cover;
}

.fb-detail-renewal .fb-post-effect-panel figcaption {
	display: flex;
	align-items: center;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
	color: var(--fbd-muted);
}

.fb-detail-renewal .fb-post-effect-panel.has-copy-only,
.fb-detail-renewal .fb-post-effect-panel.is-media-only { grid-template-columns: minmax(0, 1fr); }
.fb-detail-renewal .fb-post-effect-caption-pc { display: flex; white-space: pre-line; }
.fb-detail-renewal .fb-post-effect-caption-mobile { white-space: pre-line; }
.fb-detail-renewal .fb-post-effect-caption-mobile { display: none; }
.fb-detail-renewal .fb-post-effect-panel.is-media-only figcaption,
.fb-detail-renewal .fb-post-effect-panel [hidden] { display: none !important; }

.fb-detail-renewal .fb-option-surface .gold-stamp-row,
.fb-detail-renewal .fb-option-surface .gold3d-stamp-row,
.fb-detail-renewal .fb-option-surface .emboss-stamp-row,
.fb-detail-renewal .fb-option-surface .lp-stamp-row,
.fb-detail-renewal .fb-option-surface .laser-cut-row,
.fb-detail-renewal .fb-option-surface .opt-post-card {
	padding: 16px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--fbd-line-soft) !important;
	border-radius: 0 !important;
	background: var(--fbd-surface) !important;
	box-shadow: none !important;
}

/* The expanded effect panel is the single explanation owner. Legacy per-row
 * media/copy would repeat the same process immediately below it. */
.fb-detail-renewal .fb-option-surface .stamp-row-info { display: none !important; }

/* The renewed effect panel and the setting row already provide the visual
 * boundary. The legacy spacer line created a second divider 16px away. */
.fb-detail-renewal .fb-option-surface .opt-post-sub > .opt-sub-divider { display: none !important; }

.fb-detail-renewal .gold-stamp-color-row {
	display: block;
	margin-bottom: 16px;
}
.fb-detail-renewal .gold-stamp-color-row .gold-color-chips { display: none !important; }
.fb-detail-renewal .gold-stamp-color-row .fb-color-selection { display: none; }
.fb-detail-renewal .gold-stamp-color-row .fb-color-label {
	display: block;
	margin-bottom: 8px;
}
.fb-detail-renewal .fb-color-expand {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) 14px;
	width: 100%;
	min-height: 44px;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 5px 14px 5px 8px;
	text-align: left;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 20px;
}
.fb-detail-renewal .fb-color-trigger-swatch {
	display: block;
	width: 32px;
	height: 32px;
	border: 1px solid var(--fbd-line);
	border-radius: 7px;
	background-color: #f4f1eb;
	background-position: center;
	background-size: cover;
}
.fb-detail-renewal .fb-color-trigger-swatch.is-nofoil {
	background-image: linear-gradient(135deg, #f8f8f6 0 46%, #d9d9d5 47% 53%, #f8f8f6 54% 100%) !important;
}
.fb-detail-renewal .fb-color-trigger-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-detail-renewal .fb-color-expand > svg { justify-self: end; color: var(--fbd-muted); }

.fb-detail-renewal .gold-stamp-add,
.fb-detail-renewal .gold3d-stamp-add,
.fb-detail-renewal .emboss-stamp-add,
.fb-detail-renewal .lp-stamp-add,
.fb-detail-renewal .laser-cut-add { margin-top: 16px; }

.fb-detail-renewal .fb-option-surface .btn-fb-postproc-region {
	height: 50px;
	min-height: 50px;
	padding: 0 16px;
	border-radius: 8px;
}

.fb-detail-renewal .fb-paper-toolbar {
	margin: 8px var(--fbd-option-inline) 0 calc(var(--fbd-option-inline) + var(--fbd-option-label-column) + var(--fbd-option-column-gap));
	border-bottom: 1px solid var(--fbd-line-soft);
}
.fb-detail-renewal .fb-paper-weight-tabs {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42px;
	align-items: end;
	gap: 12px;
}
.fb-detail-renewal .fb-paper-weight-options {
	display: flex;
	align-items: flex-end;
	gap: 24px;
	overflow-x: auto;
	scrollbar-width: none;
}
.fb-detail-renewal .fb-paper-weight-options[hidden] { display: none !important; }
.fb-detail-renewal .fb-paper-weight-options::-webkit-scrollbar { display: none; }
.fb-detail-renewal .fb-paper-weight-tabs [data-weight-range] {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 10px 0 9px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: transparent;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 21px;
	color: var(--fbd-muted);
	cursor: pointer;
}
.fb-detail-renewal .fb-paper-weight-tabs [data-weight-range][aria-pressed="true"] {
	border-bottom-color: var(--fbd-ink);
	font-weight: 700;
	color: var(--fbd-ink);
}
.fb-detail-renewal .fb-paper-weight-tabs button:focus-visible,
.fb-detail-renewal .fb-paper-search-close:focus-visible {
	outline: 2px solid var(--fbd-focus);
	outline-offset: 2px;
}
.fb-detail-renewal .fb-paper-search-toggle {
	display: inline-flex;
	min-width: 42px;
	height: 42px;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fbd-ink);
	cursor: pointer;
}

.fb-detail-renewal .fb-paper-filter {
	position: relative;
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto 32px;
	min-height: 44px;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0 2px;
	border: 0;
	border-bottom: 1px solid var(--fbd-line);
	border-radius: 0;
	background: transparent;
	color: var(--fbd-muted);
}
.fb-detail-renewal .fb-paper-filter[hidden],
.fb-detail-renewal .fb-paper-weight-tabs[hidden] { display: none !important; }
.fb-detail-renewal .fb-paper-filter:focus-within {
	border-bottom-color: var(--fbd-ink);
	box-shadow: none;
}
.fb-detail-renewal .fb-paper-filter input {
	width: 100%;
	height: 43px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font: inherit;
	font-size: 15px;
	color: var(--fbd-ink);
}
.fb-detail-renewal .fb-paper-filter input:focus { box-shadow: none; }
.fb-detail-renewal .fb-paper-filter-count { font-size: 13px; color: var(--fbd-muted); }
.fb-detail-renewal .fb-paper-search-close {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 20px;
	line-height: 32px;
	color: var(--fbd-muted);
	cursor: pointer;
}
.fb-detail-renewal #opt-paper #paper-card-list .opt-select-card[hidden] { display: none !important; }
.fb-detail-renewal .fb-paper-picker-head { display: none; }

.fb-foil-picker-backdrop {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(13, 25, 39, .48);
}
.fb-foil-picker-dialog {
	width: min(620px, 100%);
	max-height: min(720px, calc(100vh - 48px));
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(13, 25, 39, .2);
}
.fb-foil-picker-dialog > header {
	display: flex;
	min-height: 78px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px 14px 22px;
	border-bottom: 1px solid #e7ebef;
}
.fb-foil-picker-dialog h2 { margin: 0; font-size: 17px; font-weight: 600; line-height: 24px; color: #172638; }
.fb-foil-picker-dialog p { margin: 3px 0 0; font-size: 14px; line-height: 21px; color: #6b7785; }
.fb-template-entry-choice { background: rgba(13, 25, 39, .48); }
.fb-template-entry-summary { display: grid; gap: 10px; margin: 0; }
.fb-template-entry-summary > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 58px; padding: 12px 14px; border: 1px solid #dfe5eb; border-radius: 9px; background: #f8fafb; }
.fb-template-entry-summary dt { color: #536274; font-size: 14px; font-weight: 500; line-height: 21px; }
.fb-template-entry-summary dd { margin: 0; color: #172638; font-size: 15px; font-weight: 700; line-height: 22px; text-align: right; }
.fb-template-entry-note { margin: 16px 0 0; color: #536274; font-size: 14px; line-height: 22px; }
.fb-template-entry-note strong { color: #26384b; font-weight: 650; }
.fb-foil-picker-close { width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 8px; background: transparent; font-size: 26px; color: #536274; }
.fb-foil-picker-close:hover { background: #f4f6f8; }
.fb-foil-picker-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	max-height: 532px;
	overflow-y: auto;
	padding: 18px 22px 22px;
	overscroll-behavior: contain;
}
.fb-foil-choice {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	min-height: 62px;
	align-items: center;
	gap: 10px;
	padding: 8px;
	border: 1px solid #dfe5eb;
	border-radius: 9px;
	background: #fff;
	color: #26384b;
	text-align: left;
}
.fb-foil-choice:hover { border-color: #9eafc0; background: #f8fafb; }
.fb-foil-choice.is-selected { border-color: #172638; box-shadow: inset 0 0 0 1px #172638; }
.fb-foil-choice-swatch { display: block; width: 44px; height: 44px; border: 1px solid #d7dde3; border-radius: 7px; background-color: #f4f1eb; background-position: center; background-size: cover; }
.fb-foil-choice.is-nofoil .fb-foil-choice-swatch { background-image: linear-gradient(135deg, #f8f8f6 0 46%, #d9d9d5 47% 53%, #f8f8f6 54% 100%) !important; }
.fb-foil-choice-name { min-width: 0; font-size: 14px; font-weight: 500; line-height: 19px; overflow-wrap: anywhere; }
body.fb-foil-picker-open { overflow: hidden !important; }
html.fb-detail-renewal.fb-guide-modal-open,
html.fb-detail-renewal.fb-guide-modal-open body { overflow: hidden !important; }

@media (max-width: 768px) {
	.fb-detail-renewal {
		--fbd-option-label-column: 92px;
		--fbd-option-column-gap: 8px;
		--fbd-option-inline: 12px;
	}
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) { overflow: hidden !important; }
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-bottom-bar,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-order-panel,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-overlay { display: none !important; }
	.fb-detail-renewal .option-area.fb-options-v2 { gap: 18px; }
	.fb-detail-renewal .fb-option-group { gap: 8px; }
	.fb-detail-renewal .fb-option-group-head { min-height: 24px; padding: 0 4px; }
	.fb-detail-renewal .fb-option-group-head p { display: none; }
	.fb-detail-renewal .fb-production-surface .opt-print-header > .opt-header-row,
	.fb-detail-renewal .fb-production-surface .opt-paper-header > .opt-header-row { min-height: 60px !important; padding: 8px var(--fbd-option-inline) !important; }
	.fb-detail-renewal .fb-base-option-current { grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr); gap: var(--fbd-option-column-gap); }
	.fb-detail-renewal .fb-finishing-surface > .opt-post-section[data-process-group="finishing"] .opt-header-row,
	.fb-detail-renewal .fb-production-surface > .opt-post-section[data-process-group="production"] .opt-header-row {
		grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr) auto var(--fbd-option-action-column);
		min-height: 56px;
		gap: var(--fbd-option-column-gap);
		padding: 6px var(--fbd-option-inline);
	}
	.fb-detail-renewal .fb-option-surface .opt-post-section.is-active .opt-header-row,
	.fb-detail-renewal .fb-option-surface .opt-post-section.is-locked-on .opt-header-row { min-height: 64px; }
	.fb-detail-renewal .fb-option-surface .opt-post-section.is-locked-on .opt-header-row { grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr) auto var(--fbd-option-action-column); }
	.fb-detail-renewal .fb-option-surface .opt-post-sub { padding: 0 var(--fbd-option-inline) 16px !important; }
	.fb-detail-renewal .fb-production-surface .opt-header-digital-row,
	.fb-detail-renewal .fb-production-surface .opt-header-uv-row,
	.fb-detail-renewal .fb-production-surface .opt-header-master-row,
	.fb-detail-renewal .fb-production-surface .opt-header-paper-cut-row {
		padding-inline: var(--fbd-option-inline) !important;
	}
	.fb-detail-renewal .fb-production-surface #opt-print .opt-select-list,
	.fb-detail-renewal .fb-production-surface #opt-paper .opt-select-list { padding-inline: var(--fbd-option-inline); }
	.fb-detail-renewal .fb-post-effect-panel { grid-template-columns: 108px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 0; }
	.fb-detail-renewal .fb-post-effect-panel.has-copy-only,
	.fb-detail-renewal .fb-post-effect-panel.is-media-only { grid-template-columns: minmax(0, 1fr); }
	.fb-detail-renewal .fb-post-effect-media { width: 108px; height: 96px; }
	.fb-detail-renewal .fb-post-effect-panel figcaption { font-size: 14px; line-height: 21px; }
	.fb-detail-renewal .fb-post-effect-caption-pc { display: none; }
	.fb-detail-renewal .fb-post-effect-caption-mobile { display: flex; }
	.fb-detail-renewal .fb-paper-weight-tabs {
		gap: 8px;
	}
	.fb-detail-renewal .fb-paper-weight-options {
		gap: 20px;
	}
	.fb-detail-renewal .fb-paper-toolbar { margin: 0 16px; }

	/* 시트를 품은 섹션이 쌓임 맥락을 만들면 시트의 z-index 520 이 그 안에서만 통한다.
	 * style.css 가 펼친 섹션을 띄우려고 z-index:1 을 주어, 템플릿 카드의 「골드박 적용」(z-index 2)이
	 * 종이 시트 위로 올라왔다(390 테스트 서버 실측 20260917). */
	.fb-detail-renewal .opt-section:has(> #opt-paper) { z-index: auto; }
	.fb-detail-renewal #opt-paper {
		position: fixed !important;
		z-index: 520;
		inset: 0;
		display: none;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: var(--fbd-surface) !important;
	}
	.fb-detail-renewal body.fb-paper-picker-open:not([data-fb-order-method="editor"]) #opt-paper { display: flex !important; flex-direction: column; }
	.fb-detail-renewal .fb-paper-picker-head {
		display: flex;
		min-height: 64px;
		align-items: center;
		justify-content: space-between;
		padding: 0 16px;
		border-bottom: 1px solid var(--fbd-line-soft);
		background: var(--fbd-surface);
	}
	.fb-detail-renewal .fb-paper-picker-head h2 { margin: 0; font-size: 17px; font-weight: 600; color: var(--fbd-ink); }
	.fb-detail-renewal .fb-paper-picker-head button { width: 44px; height: 44px; border: 0; background: transparent; font-size: 24px; color: var(--fbd-ink); }
	.fb-detail-renewal #opt-paper #paper-card-list {
		display: grid;
		grid-template-columns: 1fr;
		/* 목록 높이가 정해진 스크롤 격자라 줄이 카드의 min-height(116)에 멈추고, 설명이
		 * 세 줄인 카드는 금액 줄이 overflow:hidden 에 16px 잘렸다(390 실측 20260917). */
		grid-auto-rows: max-content;
		gap: 0;
		max-height: none !important;
		min-height: 0;
		/* 시트의 좌우 여백은 제목·탭 줄과 같은 16. 이 값이 목록 공통 padding-inline(12)과
		 * .fb-production-surface #paper-card-list { padding-right:0 !important } 에 져서 카드가 12/0 에
		 * 붙었다(CDP matched styles 실측 20260917) — 선택자를 올리고 !important 로 못박는다. */
		padding: 0 16px calc(24px + env(safe-area-inset-bottom)) !important;
		overflow-y: auto;
		scrollbar-gutter: auto;
	}
	.fb-detail-renewal #opt-paper #paper-card-list .opt-select-card {
		display: grid !important;
		grid-template-columns: 88px minmax(0, 1fr);
		min-height: 116px;
		align-items: center;
		gap: 12px !important;
		padding: 12px 48px 12px 0 !important;
		border: 0 !important;
		border-bottom: 1px solid var(--fbd-line-soft) !important;
		border-radius: 0 !important;
		background: var(--fbd-surface) !important;
		overflow: hidden !important;
	}
	.fb-detail-renewal #opt-paper #paper-card-list .opt-select-card.selected { background: var(--fbd-surface) !important; }
	.fb-detail-renewal #opt-paper #paper-card-list .opt-select-img {
		width: 88px !important;
		height: 88px !important;
		border: 0 !important;
		border-radius: 8px !important;
	}
	.fb-detail-renewal #opt-paper #paper-card-list .opt-select-info { gap: 4px; }
	.fb-detail-renewal #opt-paper #paper-card-list .opt-select-desc { font-size: 14px !important; line-height: 21px !important; }
}

@media (max-width: 768px) {
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobileHeaderSurface,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-header-wrap,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-bottom-bar,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-order-panel,
	body.fb-paper-picker-open:not([data-fb-order-method="editor"]) .mobile-overlay { display: none !important; }

	body.fb-foil-picker-open .mobile-bottom-bar,
	body.fb-foil-picker-open .mobile-order-panel,
	body.fb-foil-picker-open .mobile-overlay { display: none !important; }
	.fb-foil-picker-backdrop { place-items: end center; padding: 0; background: rgba(13, 25, 39, .42); }
	.fb-foil-picker-dialog { width: 100%; max-height: min(78vh, 680px); border-radius: 16px 16px 0 0; padding-bottom: env(safe-area-inset-bottom); }
	.fb-foil-picker-dialog > header { min-height: 72px; padding: 12px 14px 12px 18px; }
	.fb-foil-picker-dialog p { display: none; }
	.fb-foil-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: calc(min(78vh, 680px) - 72px - env(safe-area-inset-bottom)); padding: 14px 14px 20px; }
	.fb-foil-choice { grid-template-columns: 44px minmax(0, 1fr); min-height: 64px; gap: 8px; padding: 8px 7px; }
	.fb-foil-choice-name { font-size: 14px; line-height: 19px; }
}

/* Narrow phones stack the face selectors, but keep them in the same value
 * column as the print and paper headers. Dropping the label column made every
 * nested control start 100px left of the value it belongs to. */
@media (max-width: 480px) {
	.fb-detail-renewal .fb-production-surface .opt-header-digital-row,
	.fb-detail-renewal .fb-production-surface .opt-header-uv-row,
	.fb-detail-renewal .fb-production-surface .opt-header-master-row,
	.fb-detail-renewal .fb-production-surface .opt-header-paper-cut-row {
		grid-template-columns: var(--fbd-option-label-column) minmax(0, 1fr);
		padding-inline: var(--fbd-option-inline) !important;
	}

	.fb-detail-renewal .fb-production-surface .fb-production-sub-controls-full {
		grid-column: 2;
	}

	.fb-detail-renewal .fb-production-sub-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.fb-detail-renewal .fb-production-surface .opt-sub-selects {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px !important;
		width: 100%;
	}

	.fb-detail-renewal .fb-production-surface .opt-sub-selects .opt-sub-select {
		width: 100% !important;
		min-width: 0 !important;
	}

	.fb-detail-renewal .fb-finishing-surface > .opt-post-section[data-process-group="finishing"] .opt-header-row,
	.fb-detail-renewal .fb-production-surface > .opt-post-section[data-process-group="production"] .opt-header-row {
		grid-template-columns: minmax(0, 1fr) auto var(--fbd-option-action-column);
		row-gap: 2px;
	}

	.fb-detail-renewal .fb-option-surface .opt-post-name {
		grid-column: 1;
		grid-row: 1;
	}

	.fb-detail-renewal .fb-option-surface .fb-post-summary {
		grid-column: 1;
		grid-row: 2;
	}

	.fb-detail-renewal .fb-option-surface .fb-post-status,
	.fb-detail-renewal .fb-option-surface .fb-required-process-badge {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
	}

	.fb-detail-renewal .fb-option-surface .opt-post-toggle {
		grid-column: 3;
		grid-row: 1 / span 2;
	}

	.fb-detail-renewal .fb-option-surface .opt-post-section.is-locked-on .opt-header-row {
		grid-template-columns: minmax(0, 1fr) var(--fbd-option-action-column);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fb-detail-renewal *,
	.fb-detail-renewal *::before,
	.fb-detail-renewal *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Keep one sticky-header owner. This route stays in the reading flow so it
 * cannot sit underneath the existing sticky catalog-return header. */
@media (max-width: 768px) {
	.fb-detail-renewal .pressb-mobile-jump-nav {
		display:flex !important;
		position:static;
		margin:0 -16px;
		padding:8px 16px;
		border-block:1px solid var(--fbd-line-soft);
		background:rgba(255,255,255,.96);
		backdrop-filter:blur(8px);
	}
	.fb-detail-renewal .bottom-tab-wrap { margin-top: 32px; }
}

/* Customer-facing production copy follows the shared wedding-detail type
 * roles. Operational metadata may be compact, but meaningful choices,
 * descriptions and states must not fall back to legacy 11/12px text. */
.fb-detail-renewal .fb-option-group-head p,
.fb-detail-renewal .fb-option-surface .fb-post-summary,
.fb-detail-renewal .fb-post-effect-panel figcaption,
.fb-detail-renewal .opt-flatbed-info,
.fb-detail-renewal .opt-select-desc,
.fb-detail-renewal .opt-select-desc-mobile {
	font-size: 14px !important;
	line-height: var(--bj-type-caption-line, 1.5) !important;
}

.fb-detail-renewal .fb-option-surface .fb-post-status,
.fb-detail-renewal .fb-option-surface .fb-required-process-badge,
.fb-detail-renewal .opt-face-extra-price,
.fb-detail-renewal .fb-option-surface .fb-size-unit,
.fb-detail-renewal .fb-option-surface small {
	font-size: 13px !important;
	line-height: 19px !important;
}

.fb-detail-renewal .fb-option-surface .fb-post-status,
.fb-detail-renewal .fb-option-surface .fb-required-process-badge { min-height: 26px; }

.fb-detail-renewal .fb-option-surface .fb-color-label,
.fb-detail-renewal .fb-option-surface .fb-size-axis,
.fb-detail-renewal .fb-option-surface .fb-size-field-label {
	font-size: 14px !important;
	line-height: var(--bj-type-caption-line, 1.5) !important;
}

.fb-detail-renewal .fb-option-surface .fb-color-label,
.fb-detail-renewal .fb-option-surface .fb-size-field-label {
	font-size: 15px !important;
	line-height: 22px !important;
}

.fb-detail-renewal .fb-option-surface .fb-size-field-label small,
.fb-detail-renewal .fb-option-surface .fb-size-unit {
	font-size: 14px !important;
	line-height: 21px !important;
}

/* The order workspace is customer-facing, including its summary rail. Legacy
 * 10/11/12px helper styles made the right rail and template actions look like
 * admin metadata, so every visible role is mapped back to the shared scale. */
.fb-detail-renewal .upload-size-label-sub,
.fb-detail-renewal .size-input-suffix,
.fb-detail-renewal .fb-fixed-size-summary span,
.fb-detail-renewal .fb-store-template-edit,
.fb-detail-renewal .order-summary-head .btn-reset-order span,
.fb-detail-renewal .order-config-status,
.fb-detail-renewal .order-detail-effect,
.fb-detail-renewal .order-detail-sub,
.fb-detail-renewal .order-detail-price.quote,
.fb-detail-renewal .order-per-unit,
.fb-detail-renewal .qty-per-unit,
.fb-detail-renewal .fb-price-loading {
	font-size: 13px !important;
	line-height: 19px !important;
}

/* 크기만 올려 두고 색은 그대로였다 — 「(1장당 193원)」이 총액 바로 밑에서 2.85:1 로
 * 흐렸다(전수 조사 20260921). 금액을 읽는 자리라 흐릴 이유가 없다. */
.fb-detail-renewal .order-per-unit,
.fb-detail-renewal .qty-per-unit {
	color: var(--fbd-muted) !important;
}

.fb-detail-renewal .fb-design-request-cta--integrated .fb-drc-desc,
.fb-detail-renewal .btn-design-inspect {
	font-size: 14px !important;
	line-height: 21px !important;
}

.fb-detail-renewal .order-config-status,
.fb-detail-renewal .order-detail-effect {
	display: inline-flex;
	min-height: 22px;
	align-items: center;
	padding: 2px 7px;
	border-radius: 999px;
}

.fb-detail-renewal .order-detail-effect {
	border: 1px solid var(--fbd-line);
	background: var(--fbd-surface-soft);
	color: var(--fbd-muted);
}
.fb-detail-renewal .order-detail-effect,
.fb-detail-renewal .order-config-status { margin-left: 6px; vertical-align: middle; }
.fb-detail-renewal .order-config-status[hidden],
.fb-detail-renewal .fb-post-status[hidden] { display: none !important; }

.fb-detail-renewal .fb-option-surface .fb-post-effect-panel figcaption,
.fb-detail-renewal .fb-option-surface .btn-fb-postproc-region {
	font-size: 15px !important;
	line-height: 24px !important;
}

.fb-detail-renewal .fb-production-surface .opt-sub-select,
.fb-detail-renewal .fb-option-surface .opt-sub-select,
.fb-detail-renewal .fb-option-surface .fb-color-expand {
	height: 50px;
	min-height: 50px;
	font-size: 15px !important;
	line-height: var(--bj-type-control-line, 1.6) !important;
}

/* Global form normalization removes the native select appearance. Restore a
 * single shared chevron after all surface background rules so genuine choices
 * such as front/back printing remain visibly interactive. */
.fb-detail-renewal .fb-option-surface .opt-sub-select:not(:disabled):not(.is-auto) {
	padding-right: 42px !important;
	background-color: var(--fbd-surface) !important;
	background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%236B7785' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 14px 8px !important;
}

@media (max-width: 767px) {
	.fb-detail-renewal { --fbd-type-control: 16px; }
	.fb-detail-renewal .fb-production-surface .opt-sub-select,
	.fb-detail-renewal .fb-option-surface .opt-sub-select,
	.fb-detail-renewal .fb-option-surface .fb-color-expand {
		font-size: 16px !important;
	}
}

@media (max-width: 600px) {
	.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .upload-form-grid > .upload-form-group:first-child {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 8px;
	}
	.fb-detail-renewal .upload-detail-info[data-spec-mode="fixed"] .fb-orient-group {
		grid-column: 1;
		width: 100%;
	}
}
.fb-editor-handoff-actions {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    margin-top: 12px;
}

.fb-editor-handoff-actions:empty {
    display: none;
}

.fb-editor-handoff-status {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--fbd-line, #ddd9d2);
    border-radius: 8px;
    background: var(--fbd-surface-soft, #f5f5f3);
    color: var(--fbd-muted, #66635e);
    font-size: var(--fbd-type-caption, 14px);
    line-height: var(--fbd-type-caption-line, 21px);
}

.fb-editor-handoff-status.is-error {
    color: var(--fbd-danger, #d83b45);
}

.fb-editor-handoff-status.is-action {
    display: flex;
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: transparent;
}

.fb-editor-handoff-edit {
    display: flex;
    width: auto;
    min-width: 184px;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 11px 14px;
    border: 1px solid var(--fbd-line, #ddd9d2);
    border-radius: 8px;
    background: var(--fbd-surface, #fff);
    color: var(--fbd-ink, #181817);
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.fb-editor-handoff-edit:hover { border-color: var(--fbd-ink, #181817); }
.fb-order-method-help { margin: 0; padding: 16px; color: var(--fbd-muted, #62696f); font-size: 14px; line-height: 1.65; }
.fb-template-order-guide h2 { margin: 24px 0 16px; font-size: 17px; line-height: 1.5; }
.fb-template-order-guide ol { margin: 0 0 20px; padding-left: 20px; font-size: 14px; line-height: 1.7; }
.fb-template-order-guide li + li { margin-top: 12px; }
.fb-template-order-guide p { color: var(--fbd-muted, #62696f); font-size: 13px; line-height: 1.65; }
.fb-template-order-guide button { width: 100%; min-height: 48px; margin-top: 20px; padding: 12px; border: 0; border-radius: 8px; background: var(--fbd-ink, #181817); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.fb-template-order-guide button:focus-visible { outline: 2px solid var(--fbd-ink, #181817); outline-offset: 3px; }
.fb-template-mobile-label { display: none; }
.fb-namecard-showcase { flex: 0 0 200px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-card { display: flex; flex-wrap: wrap; gap: 20px; }
.fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-icon { display: none; }
.fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-copy { flex: 1 1 180px; }
.fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-actions { flex: 1 0 100%; justify-content: flex-start; }
.fb-namecard-showcase:focus-visible { outline: 2px solid var(--fbd-ink, #181817); outline-offset: 4px; }
@media (max-width: 767px) {
    .fb-namecard-showcase { flex: 0 0 100%; max-width: 235px; margin: 0 auto; }
    [data-template-slug="namecard"] .fb-template-entry-copy { flex: 1 0 100%; }
    [data-template-slug="namecard"] .fb-template-entry-actions { flex-direction: column; }
}
.fb-work-resume { padding: 24px 16px; }
.fb-work-resume h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.4; }
.fb-work-resume p { margin: 0 0 24px; color: var(--fbd-muted, #62696f); line-height: 1.65; }
.fb-work-resume-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.fb-work-resume-item { margin: 0; min-width: 0; }
.fb-work-resume-item img, .fb-work-resume-placeholder { width: 100%; height: 160px; object-fit: contain; background: var(--fbd-surface, #faf9f7); border: 1px solid var(--fbd-line, #e7e3de); border-radius: 8px; }
.fb-work-resume-placeholder { display: flex; align-items: center; justify-content: center; color: var(--fbd-muted, #62696f); font-size: 13px; }
.fb-work-resume-item figcaption { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.fb-work-resume-item figcaption span { flex-shrink: 0; color: var(--fbd-muted, #62696f); }
.fb-work-resume [data-editor-resume] { display: flex; min-height: 48px; align-items: center; justify-content: center; text-decoration: none; }
.fb-work-resume [data-editor-resume]:focus-visible { outline: 2px solid var(--fbd-ink, #181817); outline-offset: 3px; }
@media (max-width: 767px) {
    .fb-work-resume-list { grid-template-columns: 1fr; }
}
/* Keep the primary action in the same 959px dock range as the detail layout. */
@media (max-width: 959px) {
    .fb-work-resume [data-editor-resume] { display: flex; }
    .fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-open { display: flex; }
    .fb-detail-renewal [data-template-slug="namecard"] .fb-template-entry-actions { grid-template-columns: minmax(0, 1fr); }
}
.fb-detail-renewal .mobile-btn-order > span { color: inherit; }
body[data-fb-order-method="editor"] [data-editor-entry="resume"] .upload-detail-info,
body[data-fb-order-method="editor"] [data-editor-entry="unavailable"] .upload-detail-info { display: none; }
body[data-fb-order-method="editor"] .page-wrap .option-area,
body[data-fb-order-method="editor"] .page-wrap .fb-multi-design-group,
body[data-fb-order-method="editor"] .page-wrap .fb-print-info-group,
body[data-fb-order-method="editor"] .page-wrap .order-summary > :not(.fb-order-identity):not(.fb-template-order-guide),
body[data-fb-order-method="editor"] .mobile-total-label,
body[data-fb-order-method="editor"] .mobile-total-price,
body[data-fb-order-method="editor"] #btnMobileOrder > .order-button-label { display: none !important; }
body[data-fb-order-method="editor"] .fb-template-mobile-label { display: inline; }
.fb-editor-handoff-edit:focus-visible { outline: 2px solid var(--fbd-ink, #181817); outline-offset: 2px; }

@media (max-width: 767px) {
    .fb-editor-handoff-edit {
        width: 100%;
    }
}

/* Order-method labels remain readable in the two-column mobile selector. */
.fb-detail-renewal [data-order-methods="enabled"] .fb-design-tab { min-width: 0; white-space: normal; word-break: keep-all; overflow-wrap: break-word; }
.fb-detail-renewal [data-order-methods="enabled"] .fb-orient-btn { white-space: nowrap; }

.fb-order-entry-identity { display: none; }
.fb-order-entry-identity h1 { margin: 0 0 8px; font-size: 28px; line-height: 1.4; font-weight: 700; }
.fb-order-entry-identity p { margin: 0; color: var(--fbd-muted, #62696f); font-size: 14px; line-height: 1.6; }
@media (max-width: 768px) {
    .fb-order-entry-identity { display: block; margin-bottom: 20px; }
    .fb-order-entry-identity h1 { margin: 0 0 8px; font-size: 24px; line-height: 1.4; font-weight: 700; }
    .fb-order-entry-identity p { margin: 0; color: #666; font-size: 13px; line-height: 1.6; }
}

/* Namecard print detail follows the upload-first DOM order. */
.fb-production-details { width: 100%; border-top: 1px solid #e5e2dd; }
.fb-production-details > summary { min-height: 44px; padding: 12px 20px; font-size: 13px; line-height: 20px; cursor: pointer; color: #65747b; list-style: none; }
.fb-production-details > summary::-webkit-details-marker { display: none; }
.fb-production-details > summary::after { content: '+'; float: right; color: #8a8f94; font-size: 18px; font-weight: 400; }
.fb-production-details[open] > summary::after { content: '−'; }
.fb-production-details .opt-header-paper-cut-row { border: 0; padding-top: 0; }
[data-namecard-file-only="1"] .fb-design-tab[hidden] { display: none; }
/* Shared namecard preparation reuses the existing form, gallery and quote. */
.page-wrap[data-namecard-shared-entry="1"] .fb-design-tab-headers,
.page-wrap[data-namecard-shared-entry="1"] #fbDesignUploadPanel,
.page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-icon,
.page-wrap[data-namecard-shared-entry="1"] .order-summary > .btn-order:not(.fb-shared-start),
.page-wrap[data-namecard-shared-entry="1"] .order-summary .btn-cart,
/* 견적을 이미 보여 주고 있는 패널에 "견적서" 단추를 또 두지 않는다. post.css 가
 * .order-action-icons 에 display:flex 를 주므로 hidden 속성만으로는 안 감춰진다. */
.page-wrap[data-namecard-shared-entry="1"] .order-summary .order-action-icons,
/* 디자인을 보지 않고는 답할 수 없는 결정은 상세에서 묻지 않는다 — 편집 화면이 소유한다.
 * 후가공은 넣을 영역이, 면별 인쇄 색상은 앞뒤에 무엇이 들어가는지가 정해져야 값이 선다. */
.page-wrap[data-namecard-shared-entry="1"] .opt-post-wrap,
.page-wrap[data-namecard-shared-entry="1"] [data-namecard-editor-owned="face-color"],
.page-wrap[data-namecard-shared-entry="1"] .opt-header-paper-cut-row,
.page-wrap[data-namecard-shared-entry="1"] .order-action-reason { display: none !important; }
.page-wrap[data-namecard-shared-entry="1"] #fbDesignEditorPanel:not([hidden]) { display: block; }
.page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-card { display: block; border: 0; padding: 0; min-height: 0; }
.page-wrap[data-namecard-shared-entry="1"] .fb-order-method-help { padding: 0 0 16px; }
.page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-copy { display: none; }
.page-wrap[data-namecard-shared-entry="1"] .fb-order-entry-identity { display: block; margin-bottom: 20px; }
.fb-namecard-specifications { min-width: 0; margin-top: 20px; }
.fb-shared-actions { display: grid; gap: 12px; margin-top: 16px; }
.fb-shared-actions > button { width: 100%; min-height: 48px; }
.page-wrap[data-namecard-shared-entry="1"] .order-summary .fb-shared-actions { display: none; }
/* Preparation controls belong to the fixed action dock. Their source panel
 * may scroll out of view, but the next action must remain available. */
body[data-fb-order-method="shared"] .mobile-action-group { display: flex; }
@media (max-width: 959px) {
    body[data-fb-order-method="shared"] .mobile-bottom-inner { flex-wrap: wrap; }
    body[data-fb-order-method="shared"] .mobile-total { flex: 1 0 100%; display: flex; flex-direction: row; align-items: center; gap: 8px; }
    body[data-fb-order-method="shared"] .mobile-total-label { white-space: nowrap; }
    body[data-fb-order-method="shared"] .mobile-total-price { margin-left: auto; }
    body[data-fb-order-method="shared"] .mobile-total-price:has(.fb-pending-price-note) { text-align: right; }
    body[data-fb-order-method="shared"] .mobile-total-price .fb-confirmed-base-price { font-size: 17px; }
    body[data-fb-order-method="shared"] .mobile-total-price .fb-pending-price-note { font-size: 11px; }
    body[data-fb-order-method="shared"] .mobile-product-name { display: none; }
    body[data-fb-order-method="shared"] .mobile-action-group { width: 100%; }
    body[data-fb-order-method="shared"] .mobile-btn-order { flex: 1 1 0; width: auto; }
}

/* Quote-first namecard detail: keep the existing form and its node owners. */
[data-namecard-preparation-slot] { min-width: 0; }
.fb-detail-renewal [data-namecard-shared-entry="1"] [data-namecard-preparation-slot] .upload-detail {
    display: block; margin: 20px 0 0; padding: 20px 0 0; border: 0;
    border-top: 1px solid var(--fbd-line); border-radius: 0; box-shadow: none;
}
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-first-intro { padding: 0 0 12px; border: 0; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-first-intro h2 { font-size: 17px; line-height: 24px; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-first-column,
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-section,
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-tab-panel { padding: 0; margin: 0; border: 0; min-width: 0; }
.fb-detail-renewal [data-namecard-shared-entry="1"] [data-namecard-preparation-slot] .fb-template-entry-actions { grid-template-columns: 1fr; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-template-entry-actions > [hidden] { display: none; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-template-entry-actions button { font-size: 15px; flex-wrap: wrap; padding: 12px; height: auto; }
.fb-detail-renewal .fb-method-action-help { display: block; flex-basis: 100%; font-size: 12px; font-weight: 400; line-height: 1.6; margin-top: 4px; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-order-method-help { font-size: 14px; line-height: 1.6; }
.fb-detail-renewal [data-namecard-preparation-slot] .fb-design-request-card { margin-top: 16px; border-top: 1px solid var(--fbd-line); }
.fb-detail-renewal .fb-template-empty-note { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: var(--fbd-muted); }
.fb-detail-renewal .fb-mobile-quote-basis { font-size: 12px; line-height: 1.4; color: var(--fbd-muted); white-space: normal; }
.fb-detail-renewal .fb-quote-guidance { width: 100%; min-height: 44px; margin-top: 12px; padding: 8px 12px; border: 1px solid var(--fbd-line); border-radius: 8px; color: var(--fbd-ink); background: var(--fbd-surface); font: inherit; font-size: 14px; cursor: pointer; }
.fb-detail-renewal .fb-order-method-help + .fb-quote-guidance { margin: 0 0 16px; }
.fb-detail-renewal .fb-quote-guidance[hidden],
.fb-detail-renewal .fb-option-group[hidden] { display: none; }
.fb-detail-renewal .fb-confirmed-base-price { display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; color: var(--fbd-ink, #20201e); line-height: 1.35; }
.fb-detail-renewal .fb-confirmed-base-price small { color: var(--fbd-muted, #77736e); font-size: 12px; font-weight: 500; }
.fb-detail-renewal .fb-confirmed-base-price strong { color: var(--fbd-accent, #e94f5f); font-size: 18px; font-weight: 700; }
.fb-detail-renewal .fb-pending-price-note { display: block; margin-top: 3px; color: #8a4c0f; font-size: 13px; font-weight: 650; line-height: 1.4; white-space: normal; }
.fb-detail-renewal .fb-post-unavailable { margin: 4px 0 0; color: #7b5b36; font-size: 12px; line-height: 1.5; }
.fb-detail-renewal .opt-post-info:has(.fb-post-summary) .fb-post-unavailable { display: none; }
.fb-detail-renewal .fb-namecard-specifications .opt-post-section.is-disabled { opacity: 1; background: #faf8f5; }
.fb-detail-renewal .fb-namecard-specifications .opt-post-section.is-disabled .fb-post-choice-photo { filter: grayscale(1); opacity: .55; }
.fb-detail-renewal .fb-namecard-specifications .opt-post-section.is-disabled .fb-post-summary { color: #7b5b36; }
.fb-detail-renewal .fb-namecard-specifications .opt-post-section.is-disabled .opt-post-toggle { opacity: .45; cursor: not-allowed; }
.fb-detail-renewal .fb-optional-finishing-surface { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fb-detail-renewal .fb-optional-finishing-surface .opt-post-section { min-width: 0; }
.fb-detail-renewal .fb-optional-finishing-surface .opt-post-section.is-active { grid-column: 1 / -1; }
.fb-detail-renewal .fb-optional-finishing-surface .fb-post-summary,
.fb-detail-renewal .fb-optional-finishing-surface .opt-post-section:not(.is-active):not(.is-locked-on) .fb-post-summary {
	display: block;
	color: var(--fbd-muted);
	font-size: 13px;
	line-height: 1.45;
}
.fb-detail-renewal .fb-post-choice-photo { display: none; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface > .opt-post-section[data-process-group="finishing"] .opt-header-row {
    grid-template-columns:minmax(0,1fr) 40px;
    grid-template-rows:auto;
    gap:12px;
    min-height:68px;
    padding:12px 14px;
}
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-info {
    display:flex;
    grid-column:1;
    grid-row:1;
    min-width:0;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
}
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-info > * { align-self:auto; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-name { width:100%; font-size:15px; line-height:21px; white-space:normal; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .fb-post-summary { width:100%; margin:0; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .fb-post-status { min-height:20px; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-toggle { grid-column:2; grid-row:1; align-self:center; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-sub { margin-left:0; padding:16px; }
.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .fb-post-effect-panel { margin-top: 0; }
@media (max-width:959px) {
	.fb-detail-renewal .fb-optional-finishing-surface { grid-template-columns:1fr; }
}
@media (max-width:600px) {
	.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface > .opt-post-section[data-process-group="finishing"] .opt-header-row { min-height:72px; padding:13px 12px; }
	.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-info > * { min-width:0; max-width:100%; }
	.fb-detail-renewal .fb-namecard-specifications .fb-finishing-surface .opt-post-info .opt-post-name { overflow-wrap:anywhere; }
}
.fb-detail-renewal .fb-estimate-add { width: 100%; min-height: 44px; padding: 8px 16px; font: inherit; font-size: 14px; border: 1px solid var(--fbd-line); border-radius: 8px; background: var(--fbd-surface); cursor: pointer; }
.fb-detail-renewal .fb-estimate-add[hidden],
.fb-detail-renewal [data-namecard-shared-entry="0"] .fb-estimate-add { display: none; }
.fb-detail-renewal [data-namecard-shared-entry="0"] .fb-estimate-row-controls,
.fb-detail-renewal [data-namecard-shared-entry="0"] .fb-finishing-size-help { display: none; }
.fb-detail-renewal [data-namecard-shared-entry="1"] .btn-fb-postproc-region[hidden] { display: none !important; }
.fb-detail-renewal .fb-finishing-size-help { margin: 12px 0 0; font-size: 14px; line-height: 1.6; }
.fb-detail-renewal .fb-finishing-size-help > strong { display: block; color: var(--fbd-ink); font-size: 14px; }
.fb-detail-renewal .fb-size-example { position: relative; width: min(100%, 240px); margin: 12px 0; border: 1px solid var(--fbd-line); background: var(--fbd-soft); }
.fb-detail-renewal .fb-size-example-area { position: absolute; top: 10%; left: 10%; border: 1px solid var(--fbd-accent); background: color-mix(in srgb, var(--fbd-accent) 12%, transparent); }
.fb-detail-renewal .fb-size-example-label { display: block; color: var(--fbd-muted); }
.fb-detail-renewal .fb-finishing-size-help > small { display:block; margin-top:8px; color:var(--fbd-muted); font-size:12px; line-height:1.6; }
body[data-fb-order-method="shared"].fb-quote-keyboard-open .mobile-bottom-bar { display: none !important; }
@media (max-width: 959px) {
    .fb-detail-renewal [data-namecard-shared-entry="1"][data-namecard-quote-first="1"] .content-right {
        display: block !important; width: 100% !important; position: static; top: auto;
    }
    .fb-detail-renewal [data-namecard-shared-entry="1"][data-namecard-quote-first="1"] .order-summary { position: static; max-height: none; }
    .fb-detail-renewal [data-namecard-shared-entry="1"] .fb-order-identity { display: none; }
    .fb-detail-renewal [data-namecard-preparation-slot] .fb-template-entry-actions button { font-size: 16px; }
    .fb-detail-renewal .fb-optional-finishing-surface { grid-template-columns: 1fr; }
    body[data-fb-order-method="shared"] .mobile-action-group { width: auto; }
    body[data-fb-order-method="shared"] .mobile-bottom-inner { flex-wrap: nowrap; }
    body[data-fb-order-method="shared"] .mobile-total { flex: 1 1 auto; min-width: 0; flex-direction: column; align-items: flex-start; gap: 2px; }
    body[data-fb-order-method="shared"] .mobile-total-price { margin-left: 0; font-size: 18px; }
    body[data-fb-order-method="shared"] .mobile-btn-order { min-width: 100px; padding: 0 12px; }
}
.fb-quote-calculation > summary { min-height: 44px; padding: 12px 0; cursor: pointer; font-size: 13px; line-height: 20px; color: var(--fbd-muted, #62696f); }
.fb-namecard-upload-return { padding: 12px 16px; border: 0; background: transparent; color: var(--fbd-muted, #62696f); text-decoration: underline; cursor: pointer; }
.page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 12px; }
.page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-actions > button { display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; margin: 0; }
.fb-detail-renewal [data-namecard-entry-method="file"] [data-template-file-open] { order: 1; border-color: var(--fbd-ink); background: var(--fbd-ink); color: #fff; }
.fb-detail-renewal [data-namecard-entry-method="file"] [data-template-overview-open] { order: 2; border-color: var(--fbd-line); background: var(--fbd-surface); color: var(--fbd-ink); }
.fb-detail-renewal [data-namecard-entry-method="file"] [data-template-file-open]:hover { background: #0f1c2a; }
.fb-detail-renewal [data-namecard-entry-method="file"] [data-template-overview-open]:hover { background: var(--fbd-surface-soft); }
.page-wrap[data-namecard-shared-entry="1"] .fb-shared-quote-note { font-size: 14px; line-height: 1.6; color: var(--fbd-muted, #777); margin: 12px 0 0; }
body[data-fb-order-method="shared"] #btnMobileOrder > .order-button-label,
body[data-fb-order-method="shared"] #btnMobileOrder > .order-button-reason { display: none !important; }
.fb-shared-mobile-label { display: none; }
.fb-shared-file { display: none; }
body[data-fb-order-method="shared"] .fb-shared-file { display: flex; background: #fff; color: var(--fbd-ink); border: 1px solid var(--fbd-line); }
body[data-fb-order-method="shared"] .fb-shared-file { align-items: center; justify-content: center; min-height: 48px; padding: 10px 14px; border-radius: 6px; font: inherit; font-size: 15px; cursor: pointer; }
@media (max-width: 959px) {
    body[data-fb-order-method="shared"] .mobile-bottom-inner { flex-wrap: wrap; }
    body[data-fb-order-method="shared"] .mobile-total { width: 100%; }
    body[data-fb-order-method="shared"] .mobile-action-group { display: flex; width: 100%; gap: 8px; }
    body[data-fb-order-method="shared"] .mobile-action-group > .fb-shared-file,
    body[data-fb-order-method="shared"] .mobile-action-group > #btnMobileOrder { flex: 1; min-width: 0; }
}
@media (max-width: 959px) {
    /* The quote remains available while reading the specification. The two
     * design-entry actions appear only when their source controls are in view,
     * preventing the fixed dock from masking the introductory guidance at
     * 320/390px widths. */
    body[data-fb-order-method="shared"][data-fb-preparation-visible="false"] .mobile-action-group {
        display: none;
    }
    body[data-fb-order-method="shared"][data-fb-preparation-visible="false"] .mobile-bottom-inner {
        flex-wrap: nowrap;
    }
    body[data-fb-order-method="shared"][data-fb-preparation-visible="false"] .mobile-total {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
}
[data-namecard-legacy-source="1"] .fb-design-tab-headers { display: none; }
body[data-fb-order-method="shared"] .fb-shared-mobile-label { display: inline; }
.page-wrap:not([data-namecard-shared-entry="1"]) .fb-shared-start,
.page-wrap:not([data-namecard-shared-entry="1"]) .fb-shared-quote-note { display: none; }
@media (max-width: 767px) {
    .page-wrap[data-namecard-shared-entry="1"] .fb-template-entry-actions { grid-template-columns: 1fr; }
    .page-wrap[data-namecard-shared-entry="1"] .fb-order-entry-identity { margin-bottom: 12px; }
    .page-wrap[data-namecard-shared-entry="1"] .fb-order-method-help { font-size: 13px; line-height: 1.5; padding-bottom: 12px; }
    .page-wrap[data-namecard-shared-entry="1"] .fb-specification-head { margin-bottom: 12px !important; padding-bottom: 12px !important; }
    .page-wrap[data-namecard-shared-entry="1"] .upload-form-grid { gap: 12px !important; }
}

/* Product evidence and next steps share the existing detail identity area. */
.page-wrap[data-namecard-shared-entry="1"] .fb-order-entry-identity { display: flex; align-items: center; gap: 24px; }
.fb-namecard-result-preview { position: relative; flex: 0 0 180px; color: var(--fbd-ink); text-decoration: none; }
.fb-namecard-result-preview img { display: block; width: 180px; height: 144px; object-fit: contain; background: var(--fbd-soft); border-radius: 8px; }
.fb-namecard-result-preview span { display: block; margin-top: 8px; font-size: 12px; text-align: center; }
.fb-namecard-entry-copy { min-width: 0; }
.fb-namecard-journey-steps { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 16px 0 0; padding: 0; font-size: 13px; color: var(--fbd-muted); }
.fb-namecard-journey-steps [aria-current] { color: var(--fbd-ink); font-weight: 700; }
@media (max-width: 600px) {
 .page-wrap[data-namecard-shared-entry="1"] .fb-order-entry-identity { gap: 16px; align-items: flex-start; }
 .fb-namecard-result-preview { flex-basis: 104px; }
 .fb-namecard-result-preview img { width: 104px; height: 120px; }
 .fb-namecard-result-preview span { font-size: 11px; }
 .fb-namecard-journey-steps { gap: 6px; flex-direction: column; margin-top: 12px; font-size: 12px; }
}
.fb-restored-specification { margin: -8px 0 16px; padding: 0; border: 0; background: transparent; color: var(--fbd-muted); font-size: 12px; line-height: 1.5; }
.fb-restored-specification[hidden] { display: none; }
.fb-restored-specification strong { margin-right: 6px; color: var(--fbd-ink); font-weight: 600; }
.page-wrap[data-namecard-shared-entry="1"] .thomson-corner-wrap { margin: 0 !important; padding: 14px 20px 18px; border-top: 1px solid var(--fbd-line); background: #fff; }
.page-wrap[data-namecard-shared-entry="1"] .thomson-corner-title { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 9px; font-size: 13px; }
.page-wrap[data-namecard-shared-entry="1"] .thomson-corner-title strong { color: var(--fbd-ink); font-weight: 600; }
.page-wrap[data-namecard-shared-entry="1"] .thomson-corner-title span { color: var(--fbd-muted); font-size: 12px; }
.page-wrap[data-namecard-shared-entry="1"] .thomson-corner-bar { min-height: 48px; border-color: var(--fbd-line) !important; border-radius: 8px !important; }
.page-wrap[data-namecard-shared-entry="1"] .fb-order-identity .fb-order-product-title { display: none; }

/* Namecard detail flow: one decision surface after the production options. */
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] .fb-namecard-specifications > #fbDesignMethod {
    display: block;
    width: 100%;
    margin: 28px 0 0;
    padding: 24px 0 0;
    border: 0;
    border-top: 1px solid var(--fbd-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-design-first-intro {
    display: block;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-design-first-intro h2 {
    margin: 0;
    color: var(--fbd-ink);
    font-size: 20px;
    line-height: 1.45;
    letter-spacing: -.02em;
}
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-design-first-column {
    display: block;
    min-width: 0;
    border: 0;
}
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-design-section,
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-design-tab-panel {
    margin: 0;
    padding: 0;
    border: 0;
}
.fb-detail-renewal .page-wrap[data-namecard-shared-entry="1"] #fbDesignMethod .fb-template-entry-card {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.fb-detail-renewal .fb-namecard-method-choice {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}
.fb-detail-renewal .fb-namecard-method-card {
    display: flex;
    min-width: 0;
    min-height: 188px;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid var(--fbd-line);
    border-radius: 10px;
    background: var(--fbd-surface);
}
.fb-detail-renewal .fb-namecard-method-card[hidden] { display: none !important; }
.fb-detail-renewal .fb-namecard-method-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    color: var(--fbd-muted);
    background: var(--fbd-surface-soft);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}
.fb-detail-renewal .fb-namecard-method-copy { min-width: 0; margin-top: 18px; }
.fb-detail-renewal .fb-namecard-method-copy h3 { margin: 0; color: var(--fbd-ink); font-size: 17px; line-height: 1.45; }
.fb-detail-renewal .fb-namecard-method-copy p { margin: 8px 0 0; color: var(--fbd-muted); font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.fb-detail-renewal .fb-namecard-method-card > button {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding: 0 14px;
    border-radius: 8px;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
.fb-detail-renewal .fb-namecard-method-card .fb-template-entry-open { border: 1px solid var(--fbd-ink); background: var(--fbd-ink); color: #fff; }
.fb-detail-renewal .fb-namecard-method-card .fb-template-entry-open:hover { background: #0f1c2a; }
.fb-detail-renewal .fb-namecard-method-card .fb-template-entry-blank { border: 1px solid var(--fbd-line); background: #fff; color: var(--fbd-ink); }
.fb-detail-renewal .fb-namecard-method-card .fb-template-entry-blank:hover { border-color: var(--fbd-ink); background: var(--fbd-surface-soft); }
.fb-detail-renewal .fb-namecard-method-card > button:focus-visible { outline: 2px solid var(--fbd-ink); outline-offset: 3px; }

.fb-detail-renewal .fb-namecard-journey-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}
.fb-detail-renewal .fb-namecard-journey-steps li {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: var(--fbd-muted);
    line-height: 1.45;
}
.fb-detail-renewal .fb-namecard-journey-steps li > span {
    display: inline-flex;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--fbd-line);
    border-radius: 50%;
    color: var(--fbd-muted);
    background: #fff;
    font-size: 10px;
    font-weight: 700;
}
.fb-detail-renewal .fb-namecard-journey-steps li[aria-current="step"] > span,
.fb-detail-renewal .fb-namecard-journey-steps li.is-done > span { border-color: var(--fbd-ink); color: #fff; background: var(--fbd-ink); }
.fb-detail-renewal .fb-namecard-journey-steps li.is-done { color: var(--fbd-ink); }

@media (max-width: 767px) {
    .fb-detail-renewal .fb-namecard-method-choice { grid-template-columns: 1fr; gap: 10px; }
    .fb-detail-renewal .fb-namecard-method-card { min-height: 0; padding: 16px; }
    .fb-detail-renewal .fb-namecard-method-copy { margin-top: 12px; }
    .fb-detail-renewal .fb-namecard-method-copy h3 { font-size: 16px; }
    .fb-detail-renewal .fb-namecard-method-copy p { font-size: 13px; }
    .fb-detail-renewal .fb-namecard-journey-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; flex-direction: initial; }
}

/* The mobile dock is a single jump action, never a second method selector. */
@media (max-width: 959px) {
    body[data-fb-order-method="shared"] .mobile-action-group { display: flex !important; width: auto; }
    body[data-fb-order-method="shared"] .mobile-bottom-inner { flex-wrap: nowrap; }
    body[data-fb-order-method="shared"] .mobile-total { width: auto; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 2px; }
    body[data-fb-order-method="shared"] .mobile-total-price { margin-left: 0; font-size: 18px; }
    body[data-fb-order-method="shared"] .mobile-btn-order { min-width: 112px; padding: 0 12px; }
}

/* The server supports ?fb_view=mobile for QA and preview links. That flag
 * selects the mobile shell but does not change a desktop browser's CSS
 * viewport, so apply the same high-level responsive owners here. Keep this
 * scoped to the forced preview class; real mobile UAs continue to use the
 * media-query rules above. */
html.fb-detail-renewal.fb-detail-mobile-forced .page-wrap[data-ui-contract] {
	padding-bottom: calc(var(--bj-fixed-action-clearance, 112px) + 16px + env(safe-area-inset-bottom));
	max-width: 100% !important;
}
html.fb-detail-renewal.fb-detail-mobile-forced .content-area {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}
html.fb-detail-renewal.fb-detail-mobile-forced .page-wrap:not(.fb-entry-page) .content-right {
	display: none !important;
}
html.fb-detail-renewal.fb-detail-mobile-forced .upload-detail {
	grid-template-columns: minmax(0, 1fr);
}
html.fb-detail-renewal.fb-detail-mobile-forced .mobile-bottom-bar {
	display: flex;
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	width: 100%;
}
.fb-restored-specification p { margin: 4px 0 0; }

.fb-detail-renewal .pressb-finish-information-badge {
	display:inline-flex;
	min-height:26px;
	align-items:center;
	margin:0 0 12px;
	padding:2px 9px;
	border:1px solid var(--fbd-line);
	border-radius:999px;
	color:var(--fbd-muted);
	background:var(--fbd-surface-soft);
	font-size:12px;
	font-weight:700;
	line-height:20px;
}
.fb-detail-renewal .pressb-cutting-guide {
	display:grid;
	grid-template-columns:240px minmax(0,1fr);
	gap:22px;
	align-items:center;
	margin:0 0 28px;
	padding:16px;
	border:1px solid var(--fbd-line);
	border-radius:12px;
	background:var(--fbd-surface-soft);
}
/* 재단 안내 사진은 rail-*.webp — 계약상 3:2 다(namecard_production_media_contract_test.php 'rail frame is 3:2').
 * 흰 명함 모서리를 밝은 회색 위에서 찍은 접사라 작게 줄이면 형태가 읽히지 않는다. 160×112 박스는 사진을 5% 잘라내면서
 * 보여줘야 할 직각 모서리를 회색 덩어리로 만들었다 — 사진 비율 그대로, 모서리가 보이는 크기로 싣는다. */
.fb-detail-renewal .pressb-cutting-guide img { width:240px; height:auto; aspect-ratio:3 / 2; object-fit:cover; border-radius:8px; }
/* 이 구역은 바탕이 #1a1a18 로 어둡다 — 밝은 바탕을 전제한 --fbd-muted(#66635e)를 그대로 쓰면
 * 2.91:1 로 거의 안 보인다(전수 조사 20260921). 어두운 바탕에서 읽히는 값으로 따로 적는다(5.94:1). */
.fb-detail-renewal .pressb-cutting-guide span { color:#9b968f; font-size:13px; font-weight:700; line-height:19px; }
.fb-detail-renewal .pressb-cutting-guide h3 { margin:4px 0 0; color:var(--fbd-ink); font-size:18px; line-height:27px; }
.fb-detail-renewal .pressb-cutting-guide p { margin:5px 0 0; color:#c2bdb4; font-size:14px; line-height:21px; }
.fb-detail-renewal .pressb-cutting-guide a { display:inline-flex; min-height:40px; align-items:center; gap:12px; margin-top:8px; color:var(--fbd-ink); font-size:13px; font-weight:700; text-decoration:none; }
.fb-detail-renewal .pressb-cutting-guide a:focus-visible { outline:2px solid var(--fbd-ink); outline-offset:3px; }
@media (max-width: 767px) {
	/* 폰에서는 88×104 세로 박스가 가로 사진을 1.8배로 확대해 88px 폭에 욱여넣었다 — 모서리가 뭉개졌다. 글 위에 가로로 눕힌다. */
	.fb-detail-renewal .pressb-cutting-guide { grid-template-columns:minmax(0,1fr); gap:12px; margin-bottom:20px; padding:12px; }
	.fb-detail-renewal .pressb-cutting-guide img { width:100%; height:auto; }
	.fb-detail-renewal .pressb-cutting-guide h3 { font-size:16px; line-height:23px; }
	.fb-detail-renewal .pressb-cutting-guide p { font-size:13px; line-height:20px; }
	.fb-detail-renewal .pressb-cutting-guide a { grid-column:1 / -1; width:100%; justify-content:space-between; margin-top:4px; border-top:1px solid var(--fbd-line); }
}
