/* fluxshop 구매 화면 v2 — 상품 상세 구매 영역 (시안 visual/mock/pf.css 의 상세(pdp) 규칙에서 옮김)
   색 값은 쓰지 않는다: 전부 purchase-base.css 의 var(--pf-*) 토큰. 알약 반경 없음, 그림자는 하단 바만.
   v2 일 때만 Fluxshop_Purchase_UI 가 싣는다.

   선택자 메모: 옛 상세 CSS(fluxshop.css 의 `.fhs-pdp.fx-ui …` 0,3,0 / `.fx-ui #fhs-variant-select` 1,1,0)를
   이기려고 `.fhs-pf.fhs-pf` 처럼 같은 클래스를 겹쳐 쓴 곳이 있다(순서 의존을 피하려는 것). 옵션 시트로 옮겨진
   노드도 같은 모양을 받도록 `.fhs-pf-pdp` 대신 `.fhs-pf`(시트 패널에도 붙는다)로 건 곳도 있다. */

/* 1. 이름·가격 */
.fhs-pf-pdp.fhs-pf { font-weight: 400; }
.fhs-pf-pdp .fhs-pf-pdp__name { margin: 0; font-size: 24px; line-height: 1.4; font-weight: 600; letter-spacing: 0; color: var(--pf-text); }
.fhs-pf-pdp .fhs-pf-pdp__sub { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--pf-text-3); }

.fhs-pf-pdp .fhs-pf-price--pdp { display: flex; flex-direction: column; gap: 0; margin: 16px 0 0; }
.fhs-pf-pdp .fhs-pf-price--pdp > .fhs-price-line { order: 1; }
.fhs-pf-pdp .fhs-pf-price--pdp > .fhs-price-del { order: 2; }
.fhs-pf-pdp .fhs-pf-price--pdp > :not(.fhs-price-line):not(.fhs-price-del) { order: 3; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-line { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-discount { padding: 0; border: 0; background: none; font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--pf-sale); }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-discount .unit { font-size: inherit; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-current { font-size: 32px; line-height: 1.3; font-weight: 700; letter-spacing: 0; color: var(--pf-text); }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-current--inquiry { font-size: 24px; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-current .fhs-pf-won { font-size: 20px; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-del { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 400; color: var(--pf-text-3); text-decoration: line-through; }
.fhs-pf-pdp .fhs-pf-price--pdp .fhs-price-cycle { font-size: 15px; font-weight: 400; color: var(--pf-text-2); }

/* 2. 혜택 줄 */
.fhs-pf-pdp .fhs-pf-benefit { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 8px 0 0; }
.fhs-pf-pdp .fhs-pf-benefit b { font-size: 15px; font-weight: 600; color: var(--pf-sale); }

/* 3. 정보 줄 — 덩어리 위아래에만 1px 선 */
.fhs-pf-pdp .fhs-pf-info { margin: 20px 0 0; padding: 0; border-top: 1px solid var(--pf-line); border-bottom: 1px solid var(--pf-line); }
.fhs-pf-pdp .fhs-pf-info__row { display: flex; gap: 0; margin: 0; padding: 12px 0; font-size: 14px; line-height: 1.5; }
.fhs-pf-pdp .fhs-pf-info dt { flex: none; width: 72px; margin: 0; font-weight: 400; color: var(--pf-text-2); }
.fhs-pf-pdp .fhs-pf-info dd { flex: 1; min-width: 0; margin: 0; color: var(--pf-text); }
.fhs-pf-pdp .fhs-pf-info dd small { display: block; margin-top: 2px; font-size: 13px; color: var(--pf-text-3); }
/* 스토어프론트 「혜택」 dl(쿠폰·문구)은 같은 정보 줄 모양으로 맞춘다 */
.fhs-pf-pdp .fhs-sidebar__facts { margin: 0; padding: 0; border: 0; }
.fhs-pf-pdp .fhs-sidebar__fact { display: flex; gap: 0; margin: 0; padding: 12px 0; font-size: 14px; }
.fhs-pf-pdp .fhs-sidebar__fact dt { flex: none; width: 72px; font-weight: 400; color: var(--pf-text-2); }

/* 4. 옵션·수량 */
.fhs-pf-pdp .fhs-pf-opt { margin: 20px 0 0; }
.fhs-pf .fhs-product-variants { position: relative; margin: 0; }
.fhs-pf .fhs-product-variants__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fhs-pf .fhs-opt-field { position: relative; margin: 0 0 12px; }
.fhs-pf .fhs-opt-field__label { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--pf-text); }
.fhs-pf .fhs-opt-field__label .required, .fhs-pf .fhs-product-variants__label .required { color: var(--pf-danger); }
/* select: 높이 48, 화살표는 마스크로 그려 색을 토큰으로 */
.fhs-pf.fhs-pf #fhs-variant-select, .fhs-pf.fhs-pf .fhs-opt-sel {
	display: block; width: 100%; max-width: none; height: 48px; min-height: 48px; margin: 0; padding: 0 44px 0 16px;
	border: 1px solid var(--pf-line-strong); border-radius: 8px; background-color: var(--pf-sheet); background-image: none;
	-webkit-appearance: none; appearance: none; font: 400 16px var(--pf-font); color: var(--pf-text);
}
.fhs-pf.fhs-pf #fhs-variant-select:focus-visible, .fhs-pf.fhs-pf .fhs-opt-sel:focus-visible { outline: 2px solid var(--pf-primary); outline-offset: 2px; }
.fhs-pf .fhs-product-variants::after, .fhs-pf .fhs-opt-field:has(.fhs-opt-sel)::after {
	content: ""; position: absolute; right: 16px; bottom: 16px; width: 16px; height: 16px; pointer-events: none; background: var(--pf-text-2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E") center / 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E") center / 16px no-repeat;
}
/* 버튼형·색상형 옵션: 알약 대신 반경 8, 선택은 안쪽 2px 테두리 */
.fhs-pf.fhs-pf .fhs-opt-btn { min-height: 44px; padding: 0 16px; border: 1px solid var(--pf-line-strong); border-radius: 8px; background: var(--pf-sheet); color: var(--pf-text); font-size: 14px; font-weight: 400; }
.fhs-pf.fhs-pf .fhs-opt-btn:hover { background: var(--pf-sheet); border-color: var(--pf-text); }
.fhs-pf.fhs-pf .fhs-opt-btn.is-active { border-color: var(--pf-primary); box-shadow: inset 0 0 0 1px var(--pf-primary); background: var(--pf-sheet); color: var(--pf-text); font-weight: 600; }
.fhs-pf.fhs-pf .fhs-opt-btn.is-soldout, .fhs-pf.fhs-pf .fhs-opt-btn:disabled { border-style: solid; border-color: var(--pf-line); color: var(--pf-text-3); background: var(--pf-fill); text-decoration: line-through; }
.fhs-pf .fhs-opt-sw { box-shadow: none; border: 1px solid var(--pf-line-strong); }
.fhs-pf.fhs-pf .fhs-opt-sw.is-active { border: 2px solid var(--pf-primary); box-shadow: none; }

/* 미선택 안내: 상자·아이콘 없이 select 아래 캡션 한 줄 (기본 숨김, 미선택으로 눌렀을 때만) */
.fhs-pf.fhs-pf .fhs-option-hint { display: none; margin: 8px 0 0; padding: 0; border: 0; border-radius: 0; background: none; font-size: 13px; line-height: 1.5; text-align: left; letter-spacing: 0; color: var(--pf-danger); }
.fhs-pf.fhs-pf .fhs-option-hint.is-visible { display: block; }
.fhs-pf.fhs-pf .fhs-option-hint::before { content: none; }

/* 선택 줄(조합 옵션 누적 목록 — 줄은 JS 가 그린다) */
.fhs-pf.fhs-pf .fhs-selected-options { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; padding: 0; border: 0; }
.fhs-pf.fhs-pf .fhs-selected-options[hidden] { display: none; }
.fhs-pf.fhs-pf .fhs-sel-line { display: flex; align-items: center; gap: 12px; min-height: 0; padding: 12px 16px; border: 0; border-radius: 8px; background: var(--pf-fill); }
.fhs-pf.fhs-pf .fhs-sel-line__info { flex: 1; min-width: 0; }
.fhs-pf.fhs-pf .fhs-sel-line__name { font-size: 14px; font-weight: 400; color: var(--pf-text); }
.fhs-pf.fhs-pf .fhs-sel-line__stock { font-size: 13px; color: var(--pf-text-2); }
.fhs-pf.fhs-pf .fhs-sel-line__price { min-width: 64px; font-size: 16px; font-weight: 700; text-align: right; color: var(--pf-text); }
.fhs-pf.fhs-pf .fhs-sel-remove { position: relative; display: grid; place-items: center; width: 28px; height: 28px; margin: 0; padding: 0; font-size: 18px; line-height: 1; color: var(--pf-text-2); }
.fhs-pf.fhs-pf .fhs-sel-remove::after { content: ""; position: absolute; inset: -8px; }
.fhs-pf.fhs-pf .fhs-sel-remove:hover { color: var(--pf-text); }

/* 수량 스테퍼: 높이 28 (대표 확정 — 시안의 36·40 이 아니라 base 의 84×28). 눌리는 영역은 ::after 로 44 이상 */
.fhs-pf.fhs-pf .fhs-sel-line__qty, .fhs-pf.fhs-pf .fhs-pf-sel .fhs-qty-wrap {
	display: inline-flex; align-items: center; gap: 0; width: 84px; height: 28px; border: 0; border-radius: 6px; background: var(--pf-sheet); overflow: visible;
}
.fhs-pf.fhs-pf .fhs-sel-qty, .fhs-pf.fhs-pf .fhs-pf-sel .fhs-qty-btn {
	position: relative; display: grid; place-items: center; width: 28px; min-width: 0; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: none; font-size: 16px; line-height: 1; color: var(--pf-text);
}
.fhs-pf.fhs-pf .fhs-sel-qty::after, .fhs-pf.fhs-pf .fhs-pf-sel .fhs-qty-btn::after { content: ""; position: absolute; inset: -8px -4px; }
.fhs-pf.fhs-pf .fhs-sel-qty:hover, .fhs-pf.fhs-pf .fhs-pf-sel .fhs-qty-btn:hover { background: var(--pf-fill); }
.fhs-pf.fhs-pf .fhs-sel-qty-input, .fhs-pf.fhs-pf .fhs-pf-sel .fhs-qty-wrap input[type="number"] {
	width: 28px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: center; font: 600 14px var(--pf-font); color: var(--pf-text);
	-moz-appearance: textfield; appearance: textfield;
}
.fhs-pf .fhs-sel-qty-input::-webkit-outer-spin-button, .fhs-pf .fhs-sel-qty-input::-webkit-inner-spin-button,
.fhs-pf .fhs-pf-sel .fhs-qty-wrap input::-webkit-outer-spin-button, .fhs-pf .fhs-pf-sel .fhs-qty-wrap input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* 단품 수량 줄 */
.fhs-pf.fhs-pf .fhs-pf-sel { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; margin: 8px 0 0; padding: 12px 16px; border: 0; border-radius: 8px; background: var(--pf-fill); }
.fhs-pf.fhs-pf .fhs-pf-sel .fhs-pf-sel__name, .fhs-pf.fhs-pf .fhs-pf-sel label.fhs-pf-sel__name { flex: 1; min-width: 0; margin: 0; font-size: 14px; font-weight: 400; color: var(--pf-text); }

/* 구독 기간 칩(시안에 없는 부품): 알약만 걷어 내고 반경 8, 선택은 안쪽 테두리 */
.fhs-pf.fhs-pf .fhs-term-option { border-radius: 8px; }
.fhs-pf.fhs-pf .fhs-term-option.is-selected { border-color: var(--pf-primary); box-shadow: inset 0 0 0 1px var(--pf-primary); background: var(--pf-sheet); color: var(--pf-text); }
.fhs-pf .fhs-sidebar__term-label { font-size: 14px; font-weight: 600; color: var(--pf-text); }

/* 5. 합계 — 오른쪽 정렬, 위에 1px 선 */
.fhs-pf.fhs-pf .fhs-pf-total { margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid var(--pf-line); text-align: right; }
.fhs-pf.fhs-pf .fhs-pf-total .fluxshop-product-detail__total { display: flex; justify-content: flex-end; align-items: baseline; gap: 12px; margin: 0; padding: 0; border: 0; }
.fhs-pf.fhs-pf .fhs-pf-total .fluxshop-product-detail__total-label { font-size: 14px; font-weight: 400; color: var(--pf-text-2); }
.fhs-pf.fhs-pf .fhs-pf-total .fluxshop-product-detail__total-amount { font-size: 28px; line-height: 1.3; font-weight: 700; letter-spacing: 0; color: var(--pf-text) !important; }
.fhs-pf.fhs-pf .fhs-pf-total .fluxshop-product-detail__total-amount .fhs-pf-won { font-size: 18px; }
.fhs-pf-total .fhs-pf-cap { margin: 4px 0 0; }

/* 6. 버튼 3개: [찜 정사각] [장바구니 담기] [구매하기] — 채움은 주 버튼 하나, 나머지는 테두리 */
.fhs-pf-pdp .fhs-pf-buy { display: grid; grid-template-columns: 56px 1fr 1fr; gap: 8px; margin: 20px 0 0; }
.fhs-pf-pdp .fhs-pf-buy--sub { grid-template-columns: 56px 1fr; }
.fhs-pf-pdp .fhs-pf-buy > .fhs-pf-cta:only-child { grid-column: 1 / -1; }
.fhs-pf-pdp .fhs-pf-buy .fhs-pf-btn, .fhs-pf-pdp .fhs-pf-buy .fhs-pf-cta { width: 100%; padding: 0 8px; }
.fhs-pf-pdp .fhs-pf-buy .fhs-pf-cta:disabled, .fhs-pf-pdp .fhs-pf-buy .fhs-pf-cta.is-disabled { background: var(--pf-line); color: var(--pf-text-3); }
.fhs-pf .fhs-pf-wish { position: static; inset: auto; box-shadow: none; display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border: 1px solid var(--pf-line-strong); border-radius: 8px; background: var(--pf-sheet); color: var(--pf-text); }
.fhs-pf .fhs-pf-wish:hover { border-color: var(--pf-text); }
.fhs-pf .fhs-pf-wish svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.fhs-pf .fhs-pf-wish.active svg { fill: currentColor; }

/* 7. 옵션 시트(모바일 하단 옵션창) 안으로 옮겨진 노드: 시트 패널이 .fhs-pf 를 받으면 위 규칙이 그대로 적용된다.
   시트 안은 기본 시트 CSS 의 구분선을 걷어 내고 합계 줄만 위 선을 둔다. */
/* storefront.css 의 시트 규칙은 !important 가 많다 — 같은 속성에 !important 로 맞서되 선택자가 더 길어서 이긴다 */
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-sel { margin: 8px 0 0; padding: 12px 16px; border: 0 !important; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-sel .fhs-qty-wrap { gap: 0; background: var(--pf-sheet) !important; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-sel .fhs-qty-wrap .fhs-qty-btn { width: 28px !important; height: 28px !important; border: 0 !important; border-radius: 6px !important; background: none !important; color: var(--pf-text) !important; font-size: 16px; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-sel .fhs-qty-wrap input[type="number"] { width: 28px; height: 28px; min-height: 0; color: var(--pf-text) !important; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-sel .fhs-pf-sel__name { font-size: 14px; font-weight: 400; color: var(--pf-text); }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-total .fluxshop-product-detail__total-amount { font-size: 28px; font-weight: 700; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-total { margin-top: 20px; padding-top: 20px; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body select { min-height: 48px; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__body .fhs-pf-total .fluxshop-product-detail__total { border: 0; margin: 0; padding: 0; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__foot { gap: 8px; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__foot .fhs-pf-btn, .fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__foot .fhs-pf-cta { flex: 1; height: 52px; min-height: 52px; padding: 0 8px; border-radius: 8px; font-size: 16px; font-weight: 600; }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__foot .fhs-pf-btn { border: 1px solid var(--pf-line-strong); background: var(--pf-sheet); color: var(--pf-text); }
.fhs-sheet[data-fhs-sf-sheet].fhs-pf .fhs-sheet__foot .fhs-pf-cta { border: 0; background: var(--pf-primary); color: var(--pf-on-primary); }

/* 8. 모바일 */
@media (max-width: 767px) {
	.fhs-pf-pdp .fhs-pf-pdp__name { font-size: 22px; }
}
/* 시안은 390 폭 기준(버튼 한 칸 143px). 360 에서는 「장바구니 담기」가 두 줄이 되므로 글자만 16px 로 줄이고 한 줄 고정 */
@media (max-width: 400px) {
	.fhs-pf-pdp .fhs-pf-buy .fhs-pf-btn, .fhs-pf-pdp .fhs-pf-buy .fhs-pf-cta { font-size: 16px; white-space: nowrap; }
}

/* 9. 모바일 하단 고정 바 — 기존 .fhs-pdp-mobilebar(single.php)를 purchase-detail.js 가 .fhs-pf-pdpbar 로 바꾼다.
   본문 버튼 줄이 화면 밖일 때만 뜬다(.is-on). 위에 무료배송 기준 캡션 1줄(28), 아래 [찜 52 정사각][주 버튼 1fr 52].
   보조 버튼은 숨긴다(시안: 보조는 옵션 시트·본문에서). 그림자는 이 바에만. */
@media (max-width: 1024px) {
	.fhs-pdp-mobilebar.fhs-pf-pdpbar:not(.is-on) { display: none !important; }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar.is-on { display: block !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; padding: 0 16px calc(12px + env(safe-area-inset-bottom, 0px)); border: 0; background: var(--pf-sheet); box-shadow: var(--pf-shadow-bar); }
	.fhs-pf-pdpbar .fhs-pf-cap { height: 28px; line-height: 28px; text-align: center; }
	.fhs-pf-pdpbar .fhs-pf-pdpbar__row { display: grid; grid-template-columns: 52px 1fr; gap: 8px; }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar .fhs-pdp-mobilebar__wish { position: static; order: 0; display: grid; place-items: center; width: 52px; min-width: 0; height: 52px; padding: 0; border: 1px solid var(--pf-line-strong); border-radius: 8px; background: var(--pf-sheet); color: var(--pf-text); }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar .fhs-pdp-mobilebar__wish svg { width: 24px; height: 24px; }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar .fhs-pdp-mobilebar__wish.active svg { fill: currentColor; }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar .fhs-pdp-mobilebar__wishcount { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	/* 주 버튼 하나만: 설정이 buy 면 장바구니 버튼을, cart 면 구매 버튼을 가린다 (옵션창을 여는 버튼은 같은 자리에서 그대로 동작) */
	.fhs-pdp-mobilebar.fhs-pf-pdpbar[data-pf-primary="buy"] .fhs-pdp-mobilebar__cart,
	.fhs-pdp-mobilebar.fhs-pf-pdpbar[data-pf-primary="cart"] .fhs-pdp-mobilebar__buy { display: none; }
	/* fluxshop.css 의 `.fhs-pdp-mobilebar.fx-ui … :not(.is-disabled) { … !important }`(0,4,0)를 이기려고 클래스를 겹쳐 0,5,0 으로 맞춘다 */
	.fhs-pdp-mobilebar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar .fhs-pdp-mobilebar__cart,
	.fhs-pdp-mobilebar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar .fhs-pdp-mobilebar__buy { order: 1; width: 100%; min-height: 52px; height: 52px; padding: 0 8px; border: 0 !important; border-radius: 8px !important; background: var(--pf-primary) !important; color: var(--pf-on-primary) !important; font-size: 16px; font-weight: 600; white-space: nowrap; }
	.fhs-pdp-mobilebar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar .fhs-pdp-mobilebar__buy.is-disabled,
	.fhs-pdp-mobilebar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar.fhs-pf-pdpbar .fhs-pdp-mobilebar__buy:disabled { background: var(--pf-line) !important; color: var(--pf-text-3) !important; }
	/* 바가 떠 있는 동안 떠 있는 장바구니 버튼·상담 위젯은 바 위로 (--pf-bar-h 는 purchase-detail.js 가 잰 바 높이) */
	/* 독이 없으면 fluxshop.js 가 FAB 에 inline bottom 을 주므로 !important */
	body:has(.fhs-pf-pdpbar.is-on) .fhs-cart-fab { bottom: calc(var(--pf-bar-h, 104px) + 12px) !important; }
	body:has(.fhs-pf-pdpbar.is-on) .fhc-dock, body:has(.fhs-pf-pdpbar.is-on) .fcs-w { bottom: calc(var(--pf-bar-h, 104px) + 12px); }
}

/* 검수 D7: 가격 덩어리(옛 스킨의 아래 선 1px)와 정보 줄(.fhs-pf-info)의 윗선이 20px 간격으로 두 번 그려졌다 — 구분선은 정보 줄 윗선 하나만(다른 기능이 가격 덩어리 안에 끼워 넣은 가입 안내 줄이 있어도 같다) */
.fhs-pf-pdp .fhs-pf-price--pdp { border-bottom: 0; }
