/* =====================================================================
   fusion-shop2.css — BPS5 통합 디자인 적용 오버레이 (SHOP/CART/MYPAGE)
   목적: 260622_fusionBPS5_sample 의 승인된 개선 디자인을 실제 Cafe24
         스킨에 이식. 단일 디자인 언어 · 절제된 핑크 · 카드 규율 ·
         안정 그리드 · 버튼 위계.
   범위: 장바구니 / 마이페이지 / 상품상세 / 상품진열 의 콘텐츠 영역만.
         (공유 헤더/푸터/메인은 건드리지 않음 — 페이지 고유 래퍼로 스코프)
   로드: layout.html 의 fusion-loop9.css 뒤 (마지막) → 캐스케이드 우선.
   ※ CSS 전용. {$변수}/module/디렉티브/onclick 미변경.
   ===================================================================== */

/* ---------- 누락 토큰만 추가 (기존 --bp/--bp-d/--ink/--lat/--body 재사용) ---------- */
:root{
  --bp-soft:#D7EEF5; --bp-line:#5BC8E4;
  --ink-2:#3d3942; --mut:#8b8690; --mut-2:#b6b2ba;
  --bg:#f6f5f7; --card:#fff; --line:#ececef; --line-2:#e2e0e5;
  --r-card:14px; --shadow-card:0 1px 0 rgba(20,16,26,.03),0 6px 22px rgba(20,16,26,.035);
}

/* ---------- 페이지 풀블리드 배경 (지원 브라우저만; 미지원시 흰 배경+테두리 카드로 graceful) ---------- */
#contents:has(.xans-order-basketpackage),
#contents:has(.fusion-myshop-head),
#contents:has(.fusion-store-head),
#contents:has(.fusion-pdetail-head){ background:var(--bg); }

/* =====================================================================
   1) 장바구니 (CART) — scope: .fusion-cart-head / .fusion-step-wrap / .xans-order-basketpackage
   ===================================================================== */

/* 페이지 헤드: 큰 에디토리얼 히어로 → 컴팩트 타이틀 (기존 clamp 규칙보다 우선) */
.fusion-cart-head{ padding-top:34px; padding-bottom:14px; border-bottom:0; }
.fusion-cart-head .ey{ color:var(--mut); letter-spacing:.18em; }
.sec.page-head.fusion-cart-head .sh{ font-size:27px !important; line-height:1.25 !important; margin-top:6px; }
.fusion-cart-head .sub{ font-size:13.5px; color:var(--mut); margin-top:8px; }

/* 스텝퍼: 단일 클린 바 (중복 카운터 원/EN 제거, 핑크 활성, › 구분자) */
.section.ec-base-step.fusion-step-wrap{ max-width:1180px; margin:6px auto 26px; padding:0 24px; }
.section.ec-base-step.fusion-step-wrap ol.fusion-step{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-card);
  box-shadow:var(--shadow-card); padding:16px 12px; display:flex;
  justify-content:center; align-items:center; gap:0; }
.section.ec-base-step.fusion-step-wrap ol.fusion-step::before{ display:none !important; }
.section.ec-base-step.fusion-step-wrap ol.fusion-step li{
  flex:0 0 auto; display:flex; align-items:center; gap:9px; padding:0 20px; position:relative; }
.section.ec-base-step.fusion-step-wrap ol.fusion-step li::before{ display:none !important; }
.section.ec-base-step.fusion-step-wrap ol.fusion-step li::after{ display:none !important; }
.section.ec-base-step.fusion-step-wrap .fusion-step__en{ display:none !important; }
.section.ec-base-step.fusion-step-wrap .fusion-step__num{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; border:1.5px solid var(--line-2); background:#fff; color:var(--mut-2);
  font-family:var(--lat); font-size:12px; font-weight:700; flex:0 0 auto; }
.section.ec-base-step.fusion-step-wrap li.selected .fusion-step__num,
.section.ec-base-step.fusion-step-wrap li.active .fusion-step__num{
  background:var(--bp); border-color:var(--bp); color:#fff; }
.section.ec-base-step.fusion-step-wrap .fusion-step__ko{
  display:inline; font-family:var(--body); font-size:14px; font-weight:700;
  color:var(--mut-2); letter-spacing:-.01em; }
.section.ec-base-step.fusion-step-wrap li.selected .fusion-step__ko,
.section.ec-base-step.fusion-step-wrap li.active .fusion-step__ko{ color:var(--ink); }
/* 비-첫 스텝 앞 › 화살표 (flex order 로 콘텐츠 앞에 배치) */
.section.ec-base-step.fusion-step-wrap ol.fusion-step li + li::after{
  content:'›' !important; display:inline-block !important; order:-1; flex:0 0 auto;
  width:auto !important; height:auto !important; background:none !important;
  color:var(--mut-2); font-size:15px; margin:0 14px 0 0; }

/* 2열 그리드: 1fr + sticky 344 aside */
.xans-order-basketpackage{ max-width:1180px; margin:0 auto; }
.xans-order-basketpackage .cart-container{
  display:grid; grid-template-columns:1fr 344px; gap:24px; align-items:start; }
.xans-order-basketpackage .cart-product{ min-width:0; float:none; width:auto; }
.xans-order-basketpackage .cart-total{ width:auto; margin:0; }
.xans-order-basketpackage .cart-total .sticky{
  position:sticky; top:96px; display:flex; flex-direction:column; gap:14px; }

/* 탭 → 카드 상단 */
.xans-order-basketpackage [module="Order_TabInfo"].fusion-tabs{
  background:var(--card); border:1px solid var(--line); border-bottom:0;
  border-radius:var(--r-card) var(--r-card) 0 0; margin:0; padding:0 6px; }
.xans-order-basketpackage [module="Order_TabInfo"].fusion-tabs .menu{ border-bottom:1px solid var(--line); }
.xans-order-basketpackage [module="Order_TabInfo"].fusion-tabs .menu li a{ padding:14px 22px; }
.xans-order-basketpackage .fusion-tabs__en{ color:var(--mut-2); }
.xans-order-basketpackage .fusion-tabs .menu li.selected .fusion-tabs__en{ color:var(--bp); }
.xans-order-basketpackage [module="Order_TabInfo"].fusion-tabs .right.RW{ color:var(--mut); }

/* 상품 목록 → 카드 */
.xans-order-basketpackage .ec-base-fold.theme1{
  background:var(--card); border:1px solid var(--line); border-top:0;
  border-radius:0 0 var(--r-card) var(--r-card); }
.xans-order-basketpackage .ec-base-fold.theme1 > .title h3{ font-size:15px; }
.xans-order-basketpackage .title.subTitle h4{ background:transparent; font-size:14px; color:var(--ink-2); }
.xans-order-basketpackage .ec-base-prdInfo{ border-bottom:1px solid var(--line); }
.xans-order-basketpackage .ec-base-prdInfo .prdBox{ padding:24px 22px; }
.xans-order-basketpackage .ec-base-prdInfo .thumbnail{
  width:92px; height:92px; border-radius:10px; overflow:hidden;
  border:1px solid var(--line); background:#f3f2f4; }
.xans-order-basketpackage .ec-base-prdInfo .thumbnail img{ width:100%; height:100%; object-fit:cover; }
.xans-order-basketpackage .ec-base-prdInfo .description .prdName{
  font-size:15px; font-weight:700; letter-spacing:-.01em; }
.xans-order-basketpackage .ec-base-prdInfo .price strong{ font-weight:800; letter-spacing:-.02em; }
.xans-order-basketpackage .ec-base-prdInfo .price .txtSecondary,
.xans-order-basketpackage .ec-base-prdInfo .price .txtWarn{ color:var(--bp); font-weight:700; }
.xans-order-basketpackage .ec-base-prdInfo .info{ color:var(--mut); font-size:12px; }
.xans-order-basketpackage .ec-base-prdInfo .optionGroup{
  background:#fbfbfc; border:1px solid var(--line); border-radius:10px; }
.xans-order-basketpackage .ec-base-prdInfo .check{ accent-color:var(--bp); width:18px; height:18px; }
.xans-order-basketpackage .ec-base-prdInfo.gCheck .quantity .label,
.xans-order-basketpackage .ec-base-prdInfo.gCheck .sumPrice .label{ color:var(--mut); }
.xans-order-basketpackage .ec-base-prdInfo.gCheck .sumPrice{ border-top:1px solid var(--line); }

/* 행별 버튼: 경쟁 핑크 제거 (주문하기=라인, 관심상품=고스트) — 전역 핑크버튼 !important 규칙 무력화 */
.xans-order-basketpackage .ec-base-prdInfo .buttonGroup a.btnNormal{
  background:#fff !important; color:var(--mut) !important; border:1.5px solid var(--line) !important; border-radius:9px; font-weight:600; }
.xans-order-basketpackage .ec-base-prdInfo .buttonGroup a.btnSubmit{
  background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--line-2) !important; border-radius:9px; font-weight:700; }
.xans-order-basketpackage .ec-base-prdInfo .btnDelete{ color:var(--mut-2); }
.xans-order-basketpackage .summary{ border-bottom:1px solid var(--line); }

/* 요약 카드 + 강조 핑크 합계 */
.xans-order-basketpackage .totalSummary{
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-card);
  box-shadow:var(--shadow-card); padding:24px; }
.xans-order-basketpackage .totalSummary__item .title{ font-size:13.5px; font-weight:600; color:var(--ink-2); }
.xans-order-basketpackage .totalSummary__item .data,
.xans-order-basketpackage .totalSummary__item .data strong{ font-size:14px; color:var(--ink-2); font-weight:600; }
.xans-order-basketpackage .totalSummary .total{ border-top:1px solid var(--line); margin-top:18px; padding-top:18px; }
.xans-order-basketpackage .totalSummary .total .title{ font-size:15px; font-weight:700; color:var(--ink); }
.xans-order-basketpackage .totalSummary .paymentPrice,
.xans-order-basketpackage .totalSummary .paymentPrice strong{
  color:var(--bp); font-family:var(--lat); font-size:24px; font-weight:800; letter-spacing:-.02em; }

/* 주문 버튼 위계: 단일 핑크 primary (전체상품 주문) + 라인 secondary (선택상품 주문) */
.xans-order-basketpackage #orderFixItem .ec-base-button{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.xans-order-basketpackage #orderFixItem .ec-base-button a{
  width:100%; height:54px; line-height:52px; border-radius:11px; font-size:15.5px; font-weight:700; }
.xans-order-basketpackage #orderFixItem a.btnSubmit{
  background:var(--bp) !important; border:1.5px solid var(--bp) !important; color:#fff !important; order:-1; }
.xans-order-basketpackage #orderFixItem a.btnSubmit:hover{ background:var(--bp-d) !important; border-color:var(--bp-d) !important; }
.xans-order-basketpackage #orderFixItem a.btnNormal{
  background:#fff !important; border:1.5px solid var(--line-2) !important; color:var(--ink) !important; }

/* 하단 유틸 툴바(전체선택/선택삭제/견적서 출력/해외 장바구니/스토어 픽업) → 보조 라인.
   ※ Cafe24 가 module="Order_SelectOrder" 속성을 렌더 시 제거하므로 .typeMulti 로 스코프. */
.xans-order-basketpackage .ec-base-button.typeMulti .btnNormal,
.xans-order-basketpackage .ec-base-button.typeMulti .gLeft .btnNormal,
.xans-order-basketpackage .ec-base-button.typeMulti .gRight .btnNormal{
  background:#fff !important; color:var(--ink-2) !important; border:1.5px solid var(--line) !important;
  border-radius:9px; font-weight:600; }
.xans-order-basketpackage .ec-base-button.typeMulti .btnNormal:hover{ border-color:var(--ink-2) !important; }

/* 모바일 하단 고정바: primary 핑크 유지 */
.xans-order-basketpackage .ec-base-button.gFixed{ border-top:1px solid var(--line); box-shadow:0 -2px 16px rgba(20,16,26,.06); }
.xans-order-basketpackage .ec-base-button.gFixed a.btnSubmit{ background:var(--bp); border-color:var(--bp); color:#fff; }

/* 빈 장바구니 */
.xans-order-basketpackage .ec-base-prdEmpty.fusion-empty .fusion-empty__disp{ color:var(--mut); letter-spacing:.1em; }
.xans-order-basketpackage .ec-base-prdEmpty.fusion-empty .fusion-empty__cta{
  display:inline-block; margin-top:14px; background:var(--bp); color:#fff; border-radius:11px; padding:12px 22px; font-weight:700; }

@media (max-width:1000px){
  .xans-order-basketpackage .cart-container{ grid-template-columns:1fr; }
  .xans-order-basketpackage .cart-total .sticky{ position:static; }
  .section.ec-base-step.fusion-step-wrap ol.fusion-step{ flex-wrap:wrap; }
}
@media (max-width:560px){
  .fusion-cart-head .sh{ font-size:21px; }
  .section.ec-base-step.fusion-step-wrap ol.fusion-step li{ padding:0 10px; }
  .section.ec-base-step.fusion-step-wrap .fusion-step__ko{ font-size:12px; }
  .section.ec-base-step.fusion-step-wrap ol.fusion-step li + li::after{ margin-right:8px; }
}

/* =====================================================================
   2) 마이페이지 (MYPAGE) — scope: .fusion-myshop-head / .section.benefit /
                                   .myshopArea / .xans-myshop-main
   ===================================================================== */
html body .sec.page-head.fusion-myshop-head{ padding:46px 0 8px; border-bottom:0; }
html body .fusion-myshop-head .wrap{ padding:0 24px 4px; text-align:left; }
html body .fusion-myshop-head .ey{ display:none; }
html body .fusion-myshop-head .sh{ font-size:clamp(22px,2.4vw,27px); margin-top:0; }
html body .fusion-myshop-head .sub{ font-size:13.5px; margin-top:8px; color:var(--mut); }

/* 인사 카드 → 소프트 그라데이션 히어로 + 스탯 카드 (flex row, robust) */
html body .section.benefit > div > ul{
  border:0; border-radius:0; overflow:visible; background:none;
  display:flex; flex-wrap:wrap; gap:14px; grid-template-columns:none; }
html body .section.benefit > div > ul > li:first-child{
  flex:0 0 100%; grid-column:auto; border:1px solid var(--line); border-radius:18px;
  padding:26px 30px; background:linear-gradient(120deg,#fff 60%,var(--bp-soft)); margin:0; }
html body .section.benefit .user__thumb img{ width:58px; height:58px; }
html body .section.benefit .txtEm1{ font-size:19px; }
html body .section.benefit .user__data{ font-size:13px; color:var(--mut); }
html body .section.benefit .user__data span{ color:var(--bp); }

/* 스탯 셀 → 동일폭 흰 카드 3개 한 줄 */
html body .section.benefit > div > ul > li:not(:first-child){
  flex:1 1 0; min-width:0; margin:0;
  border:1px solid var(--line); border-left:1px solid var(--line); border-radius:var(--r-card);
  padding:22px 12px; text-align:center; background:var(--card); box-shadow:var(--shadow-card); }
html body .section.benefit li .thumb svg,
html body .section.benefit li .thumb img{ width:22px; height:22px; }
html body .section.benefit li .data{ font-size:24px; }
html body .section.benefit li .title{ color:var(--mut); }

/* 주문 처리 현황: 카드 래핑 + 활성 절제 */
html body .myshopArea .titleArea{ margin:34px 0 12px; }
html body .myshopArea .state .state__order{
  border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--shadow-card); overflow:hidden; }
html body .myshopArea .state__order > li{ padding:24px 12px; border-right:1px solid var(--line); }
html body .myshopArea .state__order > li:not(:last-child)::after{ display:none; }
html body .myshopArea .state__order .count{ font-size:26px; color:var(--ink); }
html body .myshopArea .state__order .label{ color:var(--mut); }
html body .myshopArea .state__order > li.is-active{ background:transparent; }
html body .myshopArea .state__order > li.is-active .count{ color:var(--bp); }
html body .myshopArea .state__order > li.is-active .label{ color:var(--ink-2); }
html body .myshopArea .state__cs{ border:1px solid var(--line); border-radius:var(--r-card); background:#fbfbfc; overflow:hidden; }
html body .myshopArea .state__cs > li{ border-left:1px solid var(--line); color:var(--mut); font-size:13px; }
html body .myshopArea .state__cs strong{ color:var(--mut); }
html body .myshopArea .state__cs .count{ color:var(--bp); }

/* 최근 주문 → 클린 카드 행 */
html body .myshopArea .RW .orderList{
  border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; background:var(--card); }
html body .myshopArea .RW .order{ padding:20px 24px; border-bottom:1px solid var(--line); }
html body .myshopArea .RW .order:last-child{ border-bottom:0; }
html body .myshopArea .RW .order__number{ font-size:12.5px; color:var(--mut); margin:0 0 8px; }
html body .myshopArea .RW .prdName{ font-size:15px; font-weight:700; color:var(--ink); }
html body .myshopArea .RW .btnDetail{ color:var(--mut); font-size:12.5px; }
html body .myshopArea .RW .btnNormal,
html body .myshopArea .RW .btnNormalFix{
  border:1.5px solid var(--line-2); border-radius:9px; background:#fff; color:var(--ink);
  height:34px; line-height:32px; font-size:13px; box-shadow:none; }
html body .myshopArea .RW .btnSubmit{
  background:var(--bp); border-color:var(--bp); color:#fff; border-radius:9px; height:34px; line-height:34px; }

/* [260629] 주문조회 기간(오늘/1개월/3개월/6개월): fusion.css 전역 .btnNormal 핑크(!important)를 끄고,
   선택된 1개만 브랜드 핑크. (.selected 셀렉터가 specificity 더 높아 선택항목이 이김) */
html body .period a.btnNormal{
  background:#fff !important; border-color:var(--line-2,#d6d6d6) !important; color:var(--ink,#222) !important; }
html body .period a.btnNormal.selected{
  background:var(--bp,#2A7A94) !important; border-color:var(--bp,#2A7A94) !important; color:#fff !important; }

/* 메뉴 그리드 → 브랜드 섹션 라벨 + 헤어라인 행 */
html body .xans-myshop-main{ margin-top:54px; padding-top:40px; border-top:1px solid var(--line); }
html body .xans-myshop-main .ms-group .subTitle h3{
  color:var(--bp); font-family:var(--lat); font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
html body .xans-myshop-main .menu > li{ margin:0; border-bottom:1px solid #f4f3f5; }
html body .xans-myshop-main .menu > li:last-child{ border-bottom:0; }
html body .xans-myshop-main .menu > li > a{ padding:7px 0; color:var(--ink-2); }
html body .xans-myshop-main .consult a.btnNormal{
  border:1.5px solid var(--line-2); border-radius:11px; color:var(--ink);
  height:44px; line-height:42px; background:#fff; padding:0 22px; }

@media (max-width:560px){
  html body .section.benefit > div > ul > li:not(:first-child){ display:block; width:100%; margin:0 0 12px; }
  html body .myshopArea .state .state__order{ grid-template-columns:repeat(2,1fr); }
  html body .myshopArea .state__order > li:nth-child(2n){ border-right:0; }
}

/* =====================================================================
   3) 상품상세 (PRODUCT DETAIL) — scope: .fusion-pdetail* / .bps-pdprice / .fusion-pdopts
   ===================================================================== */
/* 글자만 남도록 상하 여백 최소화. .sec.page-head(0,2,0)가 단일클래스보다 우선하므로
   같은 specificity로 올리고 마지막 로드 우선을 활용 + !important로 확정 */
.sec.page-head.fusion-pdetail-head{ padding:8px 24px 6px !important; }
.fusion-pdetail-head .ey{ color:var(--mut); }
.fusion-pdetail-head .ey .dot{ color:var(--bp); }
.section.path.bps-pcategories{ font-size:12px; color:var(--mut); }

/* 제품 영문명(Cafe24 영문상품명 {$eng_product_name}) — 한글명 아래 보조 표기. 비어 있으면 숨김.
   ※ 표시되려면 상품관리 ▸ 영문 상품명 필드 입력 필요(예: [Renopti] Seven Collagen Signature Mask Package). */
.fusion-pdetail .headingArea .fusion-eng-name{
  font-family:var(--lat,'Albert Sans',sans-serif); font-size:14px; font-weight:500;
  color:var(--mut,#999); letter-spacing:.01em; margin:4px 0 10px; line-height:1.4;
}
.pcard .info .fusion-eng-name{
  display:block; font-family:var(--lat,'Albert Sans',sans-serif); font-size:12px;
  font-weight:500; color:var(--mut,#aaa); letter-spacing:.01em; margin-top:3px; line-height:1.35;
}
.fusion-eng-name:empty{ display:none !important; }

/* ⚠ 2열 그리드/갤러리 카드 규율 제거 — Cafe24 갤러리(imgArea)가 그리드 트랙에서
   22px로 붕괴해 메인 이미지가 사라지던 문제. 기본 float 레이아웃으로 복구. */

/* 상품명 (실 DOM 은 h1) */
.fusion-pdopts .headingArea h1{
  font-family:var(--body); font-weight:800; font-size:clamp(22px,2.4vw,30px);
  letter-spacing:-.02em; line-height:1.3; margin:0 0 14px; color:var(--ink); }
.fusion-pdopts .headingArea .delivery{ font-size:12px; color:var(--mut); }

/* 가격 블록: 스펙 테이블 → 타이트한 위계 */
.bps-pdprice [module="product_detaildesign"] table,
.bps-pdprice .xans-product-detaildesign table{ width:100%; border-collapse:collapse; margin:4px 0 18px; }
.bps-pdprice [module="product_detaildesign"] th,
.bps-pdprice .xans-product-detaildesign th{
  width:96px; text-align:left; padding:9px 8px; font-size:12px; font-weight:600;
  color:var(--mut); border-bottom:1px solid var(--line); }
.bps-pdprice [module="product_detaildesign"] td,
.bps-pdprice .xans-product-detaildesign td{
  padding:9px 8px; font-size:13.5px; color:var(--ink); border-bottom:1px solid var(--line); }
.bps-pdprice #span_product_price_text{
  font-family:var(--disp); font-weight:800; font-size:22px; letter-spacing:-.02em;
  color:var(--ink); display:inline-flex; align-items:baseline; gap:8px; }
.bps-pdprice #span_product_price_custom strike{ color:var(--mut-2); font-weight:500; }
/* 40% 할인 배지 → 작은 핑크 필 (theme01 검정원/50% radius 무력화) */
.bps-pdprice .sale_box,
.detailArea .sale_box,
.xans-product-detail .sale_box{
  display:inline-block !important; background:var(--bp-soft) !important; color:var(--bp-d) !important;
  font-family:var(--lat); font-weight:800; font-size:12px !important; line-height:1.5 !important;
  padding:1px 8px !important; border:0 !important; border-radius:6px !important; min-width:0 !important;
  width:auto !important; height:auto !important; box-shadow:none !important; vertical-align:middle; }

/* 구매 버튼 위계 (레이아웃 미변경: 색만 조정 → 갤러리 안전). 구매하기=핑크 유지,
   장바구니=라인, 관심상품=고스트. 전역 핑크규칙 !important 무력화 */
.detailArea .actionCart.fusion-buy,
.detailArea a.btnNormal.actionCart,
.bps-pdprice .actionCart.fusion-buy{
  background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--line-2) !important; }
.detailArea .actionCart.fusion-buy:hover{ border-color:var(--ink) !important; }
.detailArea .actionWish.fusion-buy,
.detailArea a.btnNormal.actionWish,
.bps-pdprice .actionWish.fusion-buy{
  background:#fff !important; color:var(--mut) !important; border:1.5px solid var(--line) !important; }
.detailArea .actionWish.fusion-buy:hover{ color:var(--ink) !important; border-color:var(--line-2) !important; }

/* ⚠ 옵션/수량 테이블 재구성 제거 — 기본 옵션 UI 유지(레이아웃 안전). */

/* 합계 / 요약 톤 */
.bps-pdprice .totalPrice{
  display:flex; justify-content:space-between; align-items:baseline;
  margin:6px 0 4px; padding:14px 0 0; border-top:1px solid var(--line); }
.bps-pdprice .totalPrice .title{ font-size:14px; font-weight:700; color:var(--ink); }
.bps-pdprice .totalPrice .total em{
  font-family:var(--disp); font-weight:800; font-size:22px; letter-spacing:-.02em; font-style:normal; color:var(--ink); }
.bps-pdprice .EC-price-warning{ font-size:11.5px; color:var(--mut); }
.bps-pdprice .guideArea .info{ font-size:12px; color:var(--mut); }

/* ⚠ 구매 버튼(action_button) 재구성 제거 — 구매하기 버튼이 230px로 비대해지고
   예약주문/정기배송과 겹쳐 보이던 문제. 기본 버튼 레이아웃 유지. */

/* 상세 탭: 단일 클린 언더라인 행 */
.fusion-pdtabs .detail_tab .title_detail{
  display:flex; gap:0; border-bottom:1px solid var(--line); margin:36px 0 0; padding:0; list-style:none; }
.fusion-pdtabs .detail_tab .title_detail li{ flex:1; margin:0; float:none; border:0; background:none; }
.fusion-pdtabs .detail_tab .title_detail li a{
  display:block; text-align:center; padding:15px 8px; font-size:14px; font-weight:600;
  color:var(--mut); border-bottom:2px solid transparent; margin-bottom:-1px; }
.fusion-pdtabs .detail_tab .title_detail li.tab_open a{ color:var(--ink); border-bottom-color:var(--bp); }
.fusion-pdtabs .relation .relation_title{ font-family:var(--lat); font-weight:800; letter-spacing:.04em; color:var(--ink); }
.fusion-pdtabs .relation .relation_title span{
  display:block; font-family:var(--body); font-weight:500; font-size:12.5px; color:var(--mut); letter-spacing:0; margin-top:4px; }

/* =====================================================================
   4) 상품진열 (STORE) — scope: .normalpackage_box / .fusion-store-head / .fusion-tabs
   ===================================================================== */
/* ★ 핵심: JS 렌더(fusion.js renderStore) 상품카드가 reveal(.rv→.in) 실패로
   opacity:0 에 고착돼 '상품 이미지가 안 보이던' 문제 → 상품진열 카드는 항상 표시.
   (reveal 페이드인 대신 즉시 노출 = 샘플 store 와 동일) */
.normalpackage_box .prdList .pcard,
.normalpackage_box .prdList > li .pcard.rv,
.normalpackage_box .fusion-pgrid .pcard,
.normalpackage_box .ec-base-product .prdList .pcard.rv{
  opacity:1 !important; transform:none !important; visibility:visible !important; }

/* 포트레이트 3/4 썸네일 + 부드러운 라디우스 (fusion-grid-fix 1/1 오버라이드) */
.normalpackage_box .fusion-pgrid .pcard .ph,
.normalpackage_box .ec-base-product .prdList .pcard .ph{
  aspect-ratio:3/4 !important; border-radius:var(--r-card); background:#f3f2f4; border:1px solid var(--line); }
.normalpackage_box .fusion-pgrid .pcard .ph img{ object-fit:cover; }

/* 그리드 갭 절제 */
.normalpackage_box .fusion-pgrid,
.normalpackage_box ul.prdList.grid4{ gap:24px 18px !important; padding:26px 24px !important; max-width:1280px; margin:0 auto !important; }

/* 카드 정보 위계: 브랜드 핑크 / 이름 절제 / 가격 강조 */
.normalpackage_box .fusion-pgrid .pcard .info{ padding:14px 2px 0; gap:4px; }
.normalpackage_box .fusion-pgrid .pcard .brand{
  font-family:var(--lat); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--bp); }
.normalpackage_box .fusion-pgrid .pcard .nm{
  font-family:var(--body); font-size:14px; line-height:1.45; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.normalpackage_box .fusion-pgrid .pcard .nm span[style]{ font-size:14px !important; font-weight:600 !important; color:var(--ink) !important; }
.normalpackage_box .fusion-pgrid .pcard .pr{
  font-family:var(--lat); font-size:15.5px; font-weight:800; color:var(--ink); margin-top:7px; letter-spacing:-.02em; }

/* 리스트 헤드: 개수 좌 / 정렬 우 */
.normalpackage_box .function.fusion-listhead{
  display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 24px; margin:6px 0 0; }
.normalpackage_box .function.fusion-listhead .prdCount{ font-size:13px; color:var(--mut); margin:0; }
.normalpackage_box .function.fusion-listhead .prdCount .txtEm{ color:var(--ink); font-weight:800; font-family:var(--lat); margin:0 3px; }
.normalpackage_box .function.fusion-listhead .sort select#selArray{
  height:38px; border:1.5px solid var(--line-2); border-radius:9px; padding:0 34px 0 14px;
  font-family:inherit; font-size:13px; color:var(--ink); background:#fff;
  -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%238b8690' stroke-width='1.5'/></svg>");
  background-repeat:no-repeat; background-position:right 12px center; cursor:pointer; }
.normalpackage_box .function.fusion-listhead .sort select#selArray:focus{ outline:0; border-color:var(--bp); box-shadow:0 0 0 3px var(--bp-soft); }

/* 페이지네이션: 가볍게, 둥글게, 단일 핑크 활성 */
.normalpackage_box .fusion-paginate.ec-base-paginate{ margin:48px 0 72px; gap:6px; }
.normalpackage_box .fusion-paginate a{ border:1px solid var(--line); border-radius:9px; color:var(--mut); min-width:38px; padding:8px 12px; }
.normalpackage_box .fusion-paginate a:hover{ border-color:var(--ink); color:var(--ink); }
.normalpackage_box .fusion-paginate ol li a.this,
.normalpackage_box .fusion-paginate .this strong{ background:var(--bp) !important; border-color:var(--bp) !important; color:#fff !important; border-radius:9px; }

/* 중복 'Product' 라벨 약화 */
.section.titleArea h2.fusion-store-titleArea,
.normalpackage_box ~ .section.titleArea h2{ font-size:12px; color:var(--mut); opacity:.85; }

/* 탭 활성 언더라인 핑크 (이미 근접) */
.section.ec-base-tab.fusion-tabs ul li.selected a::after,
.section.ec-base-tab.fusion-tabs ul li.on a::after{ background:var(--bp); }

@media (max-width:1000px){
  .normalpackage_box .fusion-pgrid,
  .normalpackage_box ul.prdList.grid4{ grid-template-columns:repeat(2,1fr) !important; gap:18px 14px !important; }
}
@media (max-width:560px){
  .normalpackage_box .fusion-pgrid,
  .normalpackage_box ul.prdList.grid4{ gap:16px 12px !important; padding:18px 16px !important; }
  .normalpackage_box .fusion-pgrid .pcard .nm{ font-size:13px; }
  .normalpackage_box .function.fusion-listhead{ padding:0 16px; }
}

/* =====================================================================
   260625-2 추가 디자인 수정 (#2~#7)
   ===================================================================== */
/* #2 GNB 풀스크린 오버레이 로고: B/P 외 나머지(EAUTY/HARMACY/+)도 흰색으로
   (오버레이 배경이 어두워 검정 글자가 안 보이던 문제 → AWARD/RANKING 처럼 흰색) */
#gnbov .logo .ch.rest, #gnbov .logo .ch.plus,
.gnbov .logo .ch.rest, .gnbov .logo .ch.plus{ color:#fff !important; }
#gnbov .logo .ch.b, #gnbov .logo .ch.p,
.gnbov .logo .ch.b, .gnbov .logo .ch.p{ color:var(--bp,#2A7A94) !important; }

/* #3 스토어 헤드(fusion-store-head) 과도한 여백 축소 — 글자만 남도록 상하 최소 */
.sec.page-head.fusion-store-head{ padding:8px 24px 6px !important; }
.fusion-store-head .ey{ margin:0 !important; }
.fusion-store-head .sh{ font-size:clamp(19px,2vw,28px) !important; margin:2px 0 0 !important; line-height:1.18 !important; }
.fusion-store-head .sub{ margin:8px auto 0 !important; }

/* #4 상품 헤드 브레드크럼 '홈/Product' 우측 정렬 */
[data-ez-module="product-head-breadcrumb/1"],
.section.path.bps-pcategories{ display:flex !important; justify-content:flex-end !important; text-align:right !important; }
[data-ez-module="product-head-breadcrumb/1"] ol,
.section.path.bps-pcategories ol{ justify-content:flex-end !important; margin-left:auto !important; }

/* #5 상품목록 헤드타이틀 'Product' 과도한 너비/여백 제거 */
[data-ez-module="product-list-head-title/1"]{ padding:2px 0 !important; margin:0 !important; min-height:0 !important; }
[data-ez-module="product-list-head-title/1"] h2,
[data-ez-module="product-list-head-title/1"] .titleArea h2{ padding:0 !important; margin:0 !important; }

/* #6 장바구니 탭 선택 li — 오른쪽 테두리 없어 어색 → 양쪽 테두리.
   ※ Cafe24 가 module="Order_TabInfo" 속성을 렌더 시 제거하므로 생존 class(.xans-order-tabinfo
      / .ec-base-tab.fusion-tabs.typeNav)로 스코프. */
.xans-order-tabinfo .ec-base-tab.fusion-tabs.typeNav .menu li,
.xans-order-basketpackage .ec-base-tab.fusion-tabs.typeNav .menu li,
.ec-base-tab.fusion-tabs.typeNav .menu li{ border-left:1px solid var(--line); }
.xans-order-tabinfo .ec-base-tab.fusion-tabs.typeNav .menu li.selected,
.xans-order-basketpackage .ec-base-tab.fusion-tabs.typeNav .menu li.selected,
.ec-base-tab.fusion-tabs.typeNav .menu li.selected,
.ec-base-tab.fusion-tabs.typeNav .menu li:last-child{ border-right:1px solid var(--line); }

/* #7 cart-product 컨테이너 좌우 여백 부족(경계에 붙음) → 패딩 확보 */
.xans-order-basketpackage .cart-product .ec-base-fold.theme1 > .title,
.xans-order-basketpackage .cart-product .title.subTitle,
.xans-order-basketpackage .cart-product .summary{ padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
.xans-order-basketpackage .cart-product .ec-base-prdInfo .prdBox{ padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
.xans-order-basketpackage .cart-product .ec-base-prdInfo .optionGroup,
.xans-order-basketpackage .cart-product .ec-base-prdInfo .quantity,
.xans-order-basketpackage .cart-product .ec-base-prdInfo .sumPrice,
.xans-order-basketpackage .cart-product .ec-base-prdInfo .buttonGroup{ margin-left:0 !important; }

/* =====================================================================
   회원 가입 플로우 (join / join_result) — fusion 에디토리얼 정합
   ※ 모듈 inline CSS(/css/module/member/*.css)가 body 에서 늦게 로드돼 head CSS 를
      덮으므로 핵심 오버라이드는 !important 사용.
   ===================================================================== */
.memberArea{ max-width:760px; margin:0 auto 80px !important; padding:0 24px; box-sizing:border-box; }

/* 폼 섹션 소제목(회원 인증 / 인증 서류 / 추가 정보) */
.memberArea .titleArea--middle{ border:0 !important; margin:38px 0 4px !important; padding:0 !important; display:flex; align-items:baseline; justify-content:space-between; }
.memberArea .titleArea--middle h3{ font-family:'Pretendard',sans-serif !important; font-weight:800 !important; font-size:17px !important; color:var(--ink,#0A0A0A) !important; }
.memberArea .titleArea--middle h3 .desc{ font-weight:500; font-size:12.5px; color:var(--m99,#999); margin-left:4px; }
.memberArea .titleArea--middle .required{ font-size:12px; color:var(--m99,#999); }

/* 폼 테이블 — 윗줄 강조 + 입력칸 라운드 + 핑크 포커스 */
.memberArea .ec-base-table.typeWrite table{ border-top:2px solid var(--ink,#0A0A0A) !important; }
.memberArea .ec-base-table.typeWrite th[scope=row]{ background:transparent !important; font-family:'Pretendard',sans-serif; font-weight:600 !important; color:var(--ink,#0A0A0A) !important; font-size:14px; }
.memberArea .ec-base-table.typeWrite td input[type=text],
.memberArea .ec-base-table.typeWrite td input[type=email],
.memberArea .ec-base-table.typeWrite td input[type=password],
.memberArea .ec-base-table.typeWrite td input[type=tel],
.memberArea .ec-base-table.typeWrite td select{
  border:1px solid var(--b14,#dcdcdc) !important; border-radius:8px !important;
  padding:10px 12px !important; font-size:14px !important; box-sizing:border-box; transition:border-color .2s;
}
.memberArea .ec-base-table.typeWrite td input:focus,
.memberArea .ec-base-table.typeWrite td select:focus{ border-color:var(--bp,#2A7A94) !important; outline:0; }

/* ===== 가입완료(join_result) — 에디토리얼 카드 ===== */
.xans-member-joincomplete .joinComplete,
.memberArea .joinComplete{
  width:auto !important; max-width:600px !important; margin:6px auto 0 !important;
  padding:50px 44px !important; border:1px solid var(--b10,#ececec) !important;
  border-radius:18px !important; background:#fff !important; text-align:center;
}
.memberArea .joinComplete .member_icon{ margin:0 0 20px !important; }
.bps-joindone{ display:inline-flex; align-items:center; justify-content:center; width:66px; height:66px; border-radius:50%; background:var(--bp,#2A7A94); box-shadow:0 10px 22px rgba(91,200,228,.28); }
.xans-member-joincomplete .joinComplete .desc,
.memberArea .joinComplete .desc{ font-family:'Pretendard',sans-serif !important; font-size:24px !important; font-weight:800 !important; color:var(--ink,#0A0A0A) !important; margin-top:2px; }
.xans-member-joincomplete .joinComplete .memberSpecial,
.memberArea .joinComplete .memberSpecial{ color:var(--m66,#666) !important; font-size:14px !important; padding:10px 0 0 !important; }
.memberArea .joinComplete .memberSpecial strong{ color:var(--bp,#2A7A94) !important; }
.xans-member-joincomplete .joinComplete .ec-base-box,
.memberArea .joinComplete .ec-base-box{ border:0 !important; background:var(--mist,#faf6f8) !important; border-radius:12px !important; padding:18px 24px !important; margin:26px 0 0 !important; text-align:left; }
.memberArea .joinComplete .ec-base-desc dt{ width:84px !important; color:var(--m99,#999) !important; font-size:13px !important; }
.memberArea .joinComplete .ec-base-desc dd{ color:var(--ink,#0A0A0A) !important; font-size:14px !important; }
.memberArea .joinComplete .memberEmail{ color:var(--m66,#666) !important; font-size:13.5px; margin-top:20px !important; }

/* 버튼 행 — 중앙 정렬·균형 */
.memberArea .ec-base-button.gBottom{ display:flex !important; gap:10px; justify-content:center; margin-top:28px !important; }
.memberArea .ec-base-button.gBottom a{ min-width:170px; }

@media all and (min-width:1025px){
  /* 모듈 CSS 의 .joinComplete{width:472px;padding:75px 212px} 덮어쓰기 */
  .xans-member-joincomplete .joinComplete{ width:auto !important; padding:54px 48px !important; }
}
