/* BASIC css start */
/* =========================================================
   상품 상세 (리뉴얼)
   - 색은 공통 CSS의 --b-* 변수
   - Makeshop 이 옵션·가격 계산에 쓰는 id/class 는 이름 그대로 두고 모양만 바꿈
   - 이름에 ad / banner 가 들어간 class 는 쓰지 않음 (광고차단 앱 대비)
   ========================================================= */
.mpd {--mpd-top:54px; --mpd-bar:64px; padding-bottom:8px;}
.mpd .sr-only {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.mpd h3 {margin:0; padding:0; background:none; font-weight:700;}
.mpd [hidden] {display:none !important;}

/* 아래 고정 버튼만큼 화면 아래 여백 (탭바가 없는 화면) */
html body.mpd-on, html.mh-notab body.mpd-on {padding-bottom:calc(var(--mpd-bar, 64px) + 8px + env(safe-area-inset-bottom));}
html body:has(.mpd-buybar) {padding-bottom:calc(72px + env(safe-area-inset-bottom));}
.mh-notab .section_fixedFooter {bottom:calc(84px + env(safe-area-inset-bottom));}
html.mpd-lock, html.mpd-lock body {overflow:hidden;}
html.mpd-lock .section_fixedFooter {opacity:0; pointer-events:none;}

/* 대표 사진 */
.mpd .mpd-photo figure {position:relative; margin:0; padding:0; border:0; background:var(--m-gray); line-height:0;}
.mpd .mpd-photo img {display:block; width:100%; height:auto; border:0;}
.mpd .mpd-photo-sold {position:absolute; left:16px; bottom:16px; padding:6px 12px; border-radius:16px; background:rgba(31,42,48,.85); color:#fff; font-size:13px; font-weight:700; line-height:1.4;}

/* 이름 */
.mpd .shopdetailInfoBottom {background:#fff;}
.mpd .mpd-title {padding:18px 16px 0;}
.mpd .mpd-title-row {display:flex; align-items:flex-start; gap:8px;}
.mpd .mpd-name {flex:1; min-width:0; margin:0; padding:0; font-size:19px; font-weight:700; line-height:1.4; color:var(--b-ink); text-align:left; word-break:keep-all; overflow-wrap:anywhere;}
.mpd .mpd-share-btn {flex:none; display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin:-6px -8px 0 0; padding:0; border:0; border-radius:20px; background:none; color:var(--b-ink); cursor:pointer;}
.mpd .mpd-share-btn:active {background:var(--m-gray);}
.mpd .mpd-subname {margin-top:4px; font-size:13.5px; line-height:1.5; color:var(--b-mute);}
.mpd .mpd-subname:empty {display:none;}
.mpd .mpd-review-link {display:inline-flex; align-items:center; gap:3px; margin-top:8px; font-size:13px; color:var(--b-mute);}
.mpd .mpd-review-link svg:first-child {color:#f2b01e;}
.mpd .mpd-review-link strong {color:var(--b-ink); font-weight:700;}
.mpd .mpd-share-box {display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; padding:12px; border-radius:12px; background:var(--m-gray);}
.mpd .mpd-share-copy, .mpd .mpd-share-sns {display:inline-flex; align-items:center; gap:5px; height:34px; padding:0 12px; border:1px solid var(--m-line2); border-radius:17px; background:#fff; font-size:13px; font-weight:500; color:var(--b-ink); cursor:pointer;}

/* 가격 */
.mpd .mpd-value {position:static; padding:14px 16px 18px; border-bottom:8px solid var(--m-gray);}
.mpd .mpd-value em {font-size:inherit; color:inherit;}
.mpd .mpd-before {margin:0; font-size:13.5px; color:#9aa5aa; line-height:1.4;}
.mpd .mpd-now {display:flex; flex-wrap:wrap; align-items:baseline; gap:0 6px; margin:2px 0 0;}
.mpd .mpd-now .mpd-rate {font-style:normal; font-family:'Roboto',sans-serif; font-size:24px; font-weight:700; color:var(--m-sale); letter-spacing:0;}
.mpd .mpd-now .mpd-rate:empty {display:none;}
.mpd .mpd-sell {font-family:'Roboto','Noto Sans KR',sans-serif; font-size:24px; font-weight:700; color:var(--b-ink); letter-spacing:0;}
.mpd .mpd-won {margin-left:-4px; font-size:17px; font-weight:700; color:var(--b-ink);}
.mpd .mpd-replace {font-size:18px; font-weight:700; color:var(--b-ink);}
.mpd .mpd-mtag {display:inline-block; padding:1px 6px; border-radius:4px; background:var(--b-soft); color:var(--b-point); font-size:11px; font-weight:700; line-height:1.6; vertical-align:middle;}
.mpd .mpd-notice {margin:12px 0 0; padding:10px 12px; border-radius:10px; background:#fdecea; color:#a3332b; font-size:13px; line-height:1.5;}

/* 정보 줄 */
.mpd .mpd-rows {margin:14px 0 0; padding:12px 0 0; border-top:1px solid var(--b-line);}
.mpd .mpd-row {display:flex; gap:12px; padding:5px 0; font-size:13.5px; line-height:1.6;}
.mpd .mpd-row dt {flex:none; width:68px; color:var(--b-mute);}
.mpd .mpd-row dd {flex:1; min-width:0; margin:0; color:var(--b-ink);}
.mpd .mpd-row-sub {display:block; margin-top:2px; font-size:12px; color:var(--b-mute);}
.mpd .mpd-mini-btn {display:inline-flex; align-items:center; height:24px; margin:0 0 0 4px; padding:0 8px; border:1px solid var(--m-line2); border-radius:12px; background:#fff; font-size:11.5px; font-weight:500; color:var(--b-ink); vertical-align:1px; cursor:pointer; line-height:1;}
.mpd .mpd-deli-title {font-weight:500;}
.mpd .mpd-group {margin-top:12px; padding:10px 12px; border-radius:10px; background:var(--b-soft); font-size:12.5px; line-height:1.6; color:var(--b-ink);}
.mpd .mpd-group strong {font-weight:700; color:var(--b-point);}

/* ---------- 옵션 영역 ---------- */
.mpd .mpd-opt-holder {position:relative;}
.mpd .option_area {display:block; background:#fff;}
.mpd .option_tk {padding:16px 16px 4px;}
.mpd .mpd-sheet-top {display:none;}
.mpd .buy_on {display:none;}

.mpd .shopdetailInfoSelect p {margin:0; padding:0; background:none;}
.mpd .mpd-opt-row {display:block; margin:0 0 12px; padding:0; background:none;}
.mpd .mpd-opt-row .shopdetailInfoName {display:block; width:auto; margin:0 0 6px; padding:0; font-size:13px; font-weight:700; color:var(--b-ink);}
.mpd .mpd-opt-row .shopdetailInfoCont {display:block; width:auto; margin:0;}
.mpd .mpd-opt-row select {display:block; width:100% !important; height:48px; margin:0;}
.mpd .add-option-sel {margin:18px 0 8px !important; padding:12px 0 0 !important; border-top:1px dashed var(--m-line2); font-size:14px; font-weight:700; color:var(--b-ink);}
.mpd .add-option-sel span {margin-left:4px; font-size:12px; font-weight:400; color:var(--b-mute);}
.mpd .add-option .shopdetailInfoCont select {margin-bottom:8px;}
.mpd .opt-com {text-align:right; margin:-4px 0 12px !important;}
.mpd .mpd-done-btn {height:32px; padding:0 14px; border-color:var(--b-point); color:var(--b-point); font-size:12.5px; font-weight:700;}

/* 수량 [-][1][+] */
.mpd .mpd-qty-row {display:flex; align-items:center; justify-content:space-between;}
.mpd .mpd-qty-row .shopdetailInfoName {margin:0;}
.mpd .mpd-step {display:inline-flex !important; align-items:center; width:auto !important; margin:0; border:1px solid var(--m-line2); border-radius:10px; overflow:hidden; background:#fff;}
.mpd .mpd-step input {order:1; width:52px !important; height:38px !important; margin:0 !important; padding:0 !important; border:0 !important; border-left:1px solid var(--b-line) !important; border-right:1px solid var(--b-line) !important; border-radius:0 !important; text-align:center !important; font-family:'Roboto',sans-serif; font-size:16px; -moz-appearance:textfield;}
.mpd .mpd-step-btn {display:flex; align-items:center; justify-content:center; width:40px; height:38px; color:var(--b-ink);}
.mpd .mpd-step-btn:active {background:var(--m-gray);}
.mpd .mpd-step .mpd-minus {order:0;}
.mpd .mpd-step .mpd-plus {order:2;}

/* 옵션 적용가 / 총 금액 */
.mpd .shopdetailTotal {margin:4px 0 12px; padding:12px 14px; border-radius:10px; background:var(--m-gray); text-align:right; font-size:13.5px;}
.mpd .shopdetailTotal em {margin-left:8px; font-family:'Roboto',sans-serif; font-size:19px; font-weight:700; font-style:normal; color:var(--b-ink); letter-spacing:0;}

/* 원클릭 옵션 (사진·색·글자 버튼) */
.mpd .shopdetailInfoList {display:block;}
.mpd .MK-oneclick-list {display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0;}
.mpd .MK-oneclick-list li {float:none; margin:0; list-style:none;}
.mpd .MK-oneclick-list li a {display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:2px; border:1px solid var(--m-line2); border-radius:8px; box-sizing:border-box; background:#fff;}
.mpd .MK-oneclick-list li.MK-oneclick-sel a {border:2px solid var(--b-point); padding:1px;}
.mpd .MK-oneclick-list li.MK-oneclick-dis a {opacity:.4;}
.mpd .MK-oneclick-list li a span {display:block; text-align:center; line-height:1.3;}
.mpd .MK-oneclick-list li.MK-oneclick-text span {padding:0 10px; font-size:13px;}
.mpd .MK-oneclick-list li.MK-oneclick-color span {width:38px; height:38px; border-radius:6px;}
.mpd .MK-oneclick-list li.MK-oneclick-image a img {display:block; width:auto; height:48px; border-radius:6px;}
.mpd .MK-oneclick-value {display:block; margin-bottom:6px; font-size:12.5px; color:var(--b-point); font-weight:500;}

/* 하이브리드 옵션 (사진 체크 목록) */
.mpd .option-wrap {margin-bottom:8px;}
.mpd .option-box {margin-bottom:14px;}
.mpd .option-box .tit {margin:0 0 8px; font-size:12.5px; color:var(--b-mute);}
.mpd .option-box .tit strong {margin-right:4px; font-size:14px; color:var(--b-ink);}
.mpd .option-box .list {margin:0; padding:0;}
.mpd .option-box .list li {position:relative; margin:0 0 6px; padding:8px; border:1px solid var(--b-line); border-radius:10px; list-style:none;}
.mpd .option-box .list li dl {display:grid; grid-template-columns:24px 56px minmax(0,1fr); grid-template-areas:"chk img name" "chk img price" "chk img note"; column-gap:10px; align-items:center; margin:0;}
.mpd .option-box .list dd {margin:0;}
.mpd .option-box .prdchk {grid-area:chk;}
.mpd .option-box .prdimg {grid-area:img; position:relative; width:56px; height:56px; border-radius:6px; overflow:hidden; background:var(--m-gray);}
.mpd .option-box .prdimg img {width:100%; height:100%; object-fit:cover;}
.mpd .option-box .prdname {grid-area:name; font-size:13px; line-height:1.4; color:var(--b-ink);}
.mpd .option-box .prdprice {grid-area:price; font-size:13px;}
.mpd .option-box .prdnote {grid-area:note; font-size:11.5px; color:var(--b-mute);}
.mpd .option-box .prdnote:empty {display:none;}
.mpd .option-box .lst-soldout {background:var(--m-gray);}
.mpd .option-box .lst-soldout .prdname {color:#9aa5aa;}
.mpd .option-box .soldout-bg {position:absolute; inset:0; background:rgba(255,255,255,.6);}
.mpd .option-box .soldout {position:absolute; left:0; right:0; bottom:0; background:rgba(31,42,48,.8); color:#fff; font-size:10.5px; text-align:center; line-height:18px;}

/* 고른 옵션 목록 (Makeshop 이 만들어 주는 칸) */
.mpd .MK_optAddWrap_line, .mpd .MK_optAddWrap_div {height:0; margin:0; border:0;}
.mpd .shopdetailInfoMultiSelect {margin:4px 0 0; border:0; background:none;}
.mpd .MK_optAddWrap #MK_innerOptScroll {padding:0; background:none;}
.mpd .MK_optAddWrap .MK_inner-opt-cm {margin:0; padding:0;}
.mpd .MK_optAddWrap .MK_inner-opt-cm li {position:relative; margin:0 0 8px; padding:12px 12px 12px; border:0; border-radius:10px; background:var(--m-gray); list-style:none;}
.mpd .MK_optAddWrap .MK_inner-opt-cm li:last-child {border-bottom:0;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_p-name {display:block; padding-right:30px; font-size:13px; line-height:1.45; color:var(--b-ink);}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_qty-ctrl {display:inline-flex; align-items:center; margin-top:10px; border:1px solid var(--m-line2); border-radius:9px; overflow:hidden; background:#fff;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_qty-ctrl input {order:1; width:46px !important; height:34px !important; margin:0 !important; padding:0 !important; border:0 !important; border-left:1px solid var(--b-line) !important; border-right:1px solid var(--b-line) !important; border-radius:0 !important; text-align:center !important; font-size:16px;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_qty-ctrl a {order:2; display:flex; align-items:center; justify-content:center; width:36px; height:34px; margin:0; padding:0; border:0; border-radius:0; background:#fff !important; box-shadow:none !important; color:var(--b-ink); font-size:12px; font-weight:700; line-height:1;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_qty-ctrl a:last-of-type {order:0;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_qty-ctrl a span {color:inherit;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_btn-del {position:absolute; top:8px; right:8px; display:flex; align-items:center; justify-content:center; width:28px; height:28px;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_btn-del img {width:16px; height:auto; opacity:.6;}
.mpd .MK_optAddWrap .MK_inner-opt-cm .MK_price {position:absolute; right:12px; bottom:18px; font-family:'Roboto','Noto Sans KR',sans-serif; font-size:15px; font-weight:700; color:var(--b-ink); letter-spacing:0;}
.mpd .MK_optAddWrap .total {padding:8px 2px; text-align:right; font-size:13px;}
.mpd #MK_innerOptPrice, .mpd #MK_innerOptAdd {color:var(--b-mute); font-size:12.5px;}
.mpd #MK_innerOptTotal {display:flex; align-items:baseline; justify-content:flex-end; flex-wrap:wrap; gap:0 6px; margin-top:4px; padding:12px 2px 4px; border-top:1px solid var(--b-line);}
.mpd #MK_innerOptTotal .MK_txt-total {margin-right:auto; font-size:14px; font-weight:700; color:var(--b-ink);}
.mpd #MK_innerOptTotal strike {color:#9aa5aa; font-size:13px;}
.mpd #MK_innerOptTotal strike strong {font-weight:400;}
.mpd .MK_optAddWrap .MK_total, .mpd .mpd-dc-total {margin:0; font-family:'Roboto',sans-serif; font-size:21px; font-weight:700; color:var(--b-point); letter-spacing:0;}
.mpd .MK_optAddWrap .MK_txt-won {font-size:15px; font-weight:700; color:var(--b-ink);}
.mpd .mpd-dc-total .MK_txt-won {margin-left:1px;}

/* 추가 구성 상품 */
.mpd .shopdetailInfoTit {margin:18px 0 8px; padding-top:14px; border-top:1px dashed var(--m-line2); font-size:14px; font-weight:700; color:var(--b-ink);}
.mpd .shopdetailInfoWrap {display:flex; gap:12px; margin-bottom:12px; padding:12px; border:1px solid var(--b-line); border-radius:12px;}
.mpd .shopdetailInfoWrap .shopdetailInfoTop {flex:none; width:72px; float:none;}
.mpd .shopdetailInfoWrap .shopdetailInfoTop figure {margin:0; padding:0; border:0;}
.mpd .shopdetailInfoWrap .shopdetailInfoTop img {border-radius:8px;}
.mpd .shopdetailInfoWrap .shopdetailInfoValue {flex:1; min-width:0; padding:0; border:0;}
.mpd .shopdetailInfoprdName {margin:0 0 4px; font-size:13px; line-height:1.4; color:var(--b-ink);}
.mpd .mpd-ex-price {margin:0; font-size:14px;}
.mpd .mpd-ex-price del {margin-right:4px; font-size:12px; color:#9aa5aa;}
.mpd .mpd-ex-sub {margin:3px 0 0; font-size:12px; color:var(--b-mute);}
.mpd .mpd-ex-sub .mpd-mini-btn {margin:0 4px 0 0;}
.mpd .shopdetailInfoWrap .shopdetailInfoSelect {margin-top:8px;}

/* 간편결제 */
.mpd .mpd-pay {margin:0; padding:4px 16px 18px; text-align:center;}
.mpd .mpd-pay:empty {display:none;}
.mpd .mpd-pay .mpd-notice {margin:0 0 10px; text-align:left;}
.mpd .mpd-pay .okdgg-checkout {margin-top:10px; overflow:hidden;}
/* 네이버페이 (비회원일 때만 나옴) : 떠 있지 않게 회색 카드 안에 넣음 */
.mpd .mpd-pay .naver-checkout {margin:14px 0 0; padding:12px 12px 10px; border:1px solid var(--b-line); border-radius:var(--m-r, 12px); background:#f6f8f9; overflow:hidden; text-align:center;}
.mpd .mpd-pay .naver-checkout .mpd-npay-note {margin:0 0 10px !important; font-size:12.5px; font-weight:400; line-height:1.5; color:#5d6a70; text-align:left; word-break:keep-all;}
.mpd .mpd-pay .naver-checkout .mpd-npay-note strong {font-weight:700; color:#d6453d;}
.mpd .mpd-pay .naver-checkout > * {margin-left:auto !important; margin-right:auto !important; max-width:100%;}
.mpd .mpd-pay iframe, .mpd .mpd-pay img {max-width:100%;}

/* ---------- 아래 고정 구매 버튼 ---------- */
.mpd .mpd-buybar {position:fixed; left:0; right:0; bottom:0; z-index:950; display:flex; gap:8px; height:calc(var(--mpd-bar) + env(safe-area-inset-bottom)); padding:8px 12px calc(8px + env(safe-area-inset-bottom)); box-sizing:border-box; background:rgba(255,255,255,.97); border-top:1px solid var(--b-line); -webkit-backdrop-filter:saturate(1.6) blur(10px); backdrop-filter:saturate(1.6) blur(10px);}
.mpd .mpd-buybar > a, .mpd .mpd-bb-off {display:flex; align-items:center; justify-content:center; height:48px; border-radius:var(--m-r); font-size:15px; font-weight:700; line-height:1;}
.mpd .mpd-bb-wish {flex:none; flex-direction:column; gap:1px; width:52px; color:var(--b-ink); font-size:10px !important; font-weight:500 !important;}
.mpd .mpd-bb-wish:active {background:var(--m-gray);}
.mpd .mpd-bb-cart {flex:1; border:1px solid var(--m-line2); background:#fff; color:var(--b-ink);}
.mpd .mpd-bb-cart:active {background:var(--m-gray);}
.mpd .mpd-bb-buy {flex:1.4; background:var(--b-point); color:#fff;}
.mpd .mpd-bb-buy:active {background:var(--b-deep);}
.mpd .mpd-bb-off {flex:1; background:var(--m-gray); color:var(--b-mute); font-size:14px; font-weight:500;}

/* ---------- 옵션 선택 창 (아래에서 올라옴) ---------- */
.mpd-dim {position:fixed; inset:0; z-index:1040; background:rgba(20,26,29,.5); opacity:0; transition:opacity .2s;}
.mpd-dim.is-on {opacity:1;}
.mpd .option_area.is-sheet {position:fixed; left:0; right:0; bottom:0; z-index:1050; display:flex; flex-direction:column; max-height:82vh; max-height:82dvh; border-radius:18px 18px 0 0; box-shadow:0 -8px 30px rgba(20,26,29,.18); animation:mpdUp .22s ease-out;}
@keyframes mpdUp {from {transform:translateY(100%);} to {transform:none;}}
.mpd .is-sheet .mpd-sheet-top {position:relative; display:flex; align-items:center; justify-content:center; flex:none; height:52px; border-bottom:1px solid var(--b-line);}
.mpd .is-sheet .mpd-sheet-top strong {font-size:15px; font-weight:700; color:var(--b-ink);}
.mpd .mpd-sheet-grip {position:absolute; top:6px; left:50%; width:36px; height:4px; margin-left:-18px; border-radius:2px; background:#d3dcdf;}
.mpd .mpd-sheet-close {position:absolute; top:4px; right:4px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:none; color:var(--b-ink); cursor:pointer;}
.mpd .is-sheet .option_tk {flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
.mpd .is-sheet .buy_on {display:flex; flex:none; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--b-line); background:#fff;}
.mpd .buy_on a {flex:1; display:flex; align-items:center; justify-content:center; width:auto; height:50px; margin:0; padding:0; border:1px solid var(--m-line2); border-radius:var(--m-r); background:#fff; color:var(--b-ink); font-size:15px; font-weight:700;}
.mpd .buy_on a.buy {flex:1.4; border-color:var(--b-point); background:var(--b-point); color:#fff;}

/* ---------- 쿠폰 ---------- */
.mpd .mpd-coupon {margin:0; padding:18px 16px; border-bottom:8px solid var(--m-gray);}
.mpd .mpd-coupon h3 {margin:0 0 10px; font-size:15px; color:var(--b-ink);}
.mpd .mpd-coupon .shopdetailCouponGet {padding:0;}
.mpd .mpd-coupon .shopdetailCouponGet li {height:auto; margin:0 0 8px; padding:12px 14px; border:1px dashed var(--b-point); border-radius:12px; background:var(--b-soft); list-style:none;}
.mpd .mpd-coupon .shopdetailCouponGet li:last-child {margin-bottom:0;}
.mpd .mpd-coupon .shopdetailCouponGet li a {display:block; color:var(--b-ink);}
.mpd .mpd-coupon .MS_coupon {margin:0;}
.mpd .mpd-coupon .MS_coupon dt {position:static; width:auto; color:var(--b-point); text-align:left; font-weight:700;}
.mpd .mpd-coupon .MS_coupon h4 {font-weight:700;}
.mpd .mpd-coupon img {max-width:100%; height:auto;}

/* ---------- 상세 메뉴 (위에 붙어 다님) ---------- */
.mpd .mpd-tabs {position:-webkit-sticky; position:sticky; top:var(--mpd-top); z-index:80; display:flex; margin:0; padding:0 4px; overflow-x:auto; scrollbar-width:none; border:0; border-bottom:1px solid var(--b-line); background:rgba(255,255,255,.97); text-align:left;}
.mpd .mpd-tabs::-webkit-scrollbar {display:none;}
.mpd .mpd-tabs a {position:relative; flex:1 0 auto; display:flex; align-items:center; justify-content:center; gap:3px; width:auto; height:48px; margin:0; padding:0 12px; border:0; background:none; font-size:14px; font-weight:500; color:var(--b-mute); white-space:nowrap;}
.mpd .mpd-tabs a em {font-style:normal; font-family:'Roboto',sans-serif; font-size:12.5px; letter-spacing:0;}
.mpd .mpd-tabs a.is-on {color:var(--b-ink); font-weight:700;}
/* 다른 게시판으로 넘어가는 메뉴 : 화살표로 구분 */
.mpd .mpd-tabs a.mpd-tab-link {flex:0 0 auto; padding:0 10px; color:#7d8a90;}
.mpd .mpd-tabs a.mpd-tab-link .mpd-tab-go {flex:none; margin-left:1px; opacity:.7;}
.mpd .mpd-tabs a.is-on::after {content:""; position:absolute; left:12px; right:12px; bottom:-1px; height:2px; border-radius:1px; background:var(--b-ink);}
.mpd #mpdDetail, .mpd #related_product_tk, .mpd #mpdGuide {scroll-margin-top:calc(var(--mpd-top) + 56px);}

/* ---------- 상세 설명 ---------- */
.mpd .mpd-detail {position:relative; padding:0 0 8px;}
.mpd .shopdetailItemPopup {display:flex; justify-content:flex-end; margin:0; padding:12px 16px 10px; text-align:right;}
.mpd .mpd-zoom {display:inline-flex; align-items:center; gap:5px; width:auto; height:32px; padding:0 12px; border:1px solid var(--m-line2); border-radius:16px; background:#fff; color:var(--b-ink); font-size:12.5px; font-weight:500;}
.mpd .shopdetailImage {overflow:hidden;}
.mpd .shopdetailImage img {max-width:100% !important; height:auto !important;}
.mpd .shopdetailImage table {width:100% !important; table-layout:auto !important;}
.mpd .shopdetailImage object, .mpd .shopdetailImage iframe {width:100% !important;}
.mpd .shopdetailImage div {width:100% !important;}
.mpd .mpd-detail-body.is-folded {max-height:1800px; overflow:hidden; position:relative;}
.mpd .mpd-detail-body.is-folded::after {content:""; position:absolute; left:0; right:0; bottom:0; height:120px; background:linear-gradient(rgba(255,255,255,0), #fff);}
.mpd .mpd-fold-bar {padding:4px 16px 8px;}
.mpd .mpd-fold-btn {display:flex; align-items:center; justify-content:center; gap:6px; width:100%; height:50px; padding:0; border:1px solid var(--b-ink); border-radius:var(--m-r); background:#fff; color:var(--b-ink); font-size:15px; font-weight:700; cursor:pointer;}
.mpd .mpd-fold-btn[aria-expanded="true"] svg {transform:rotate(180deg);}

/* ---------- 관련 상품 ---------- */
.mpd .mpd-rel {margin:16px 0 0; padding:20px 16px 8px; border-top:8px solid var(--m-gray);}
.mpd .mpd-rel h3 {margin:0 0 6px; font-size:16px; color:var(--b-ink);}
.mpd .mpd-rel .list_shoppingRelationItem1x {padding:0;}
.mpd .mpd-rel .list_shoppingRelationItem1x ul {display:block; width:auto; margin:0; padding:0;}
.mpd .mpd-rel .list_shoppingRelationItem1x li {display:block; width:auto; padding:14px 0; border-top:1px solid var(--b-line); list-style:none;}
.mpd .mpd-rel .list_shoppingRelationItem1x li:first-child {border-top:0;}
.mpd .mpd-rel li figure {display:flex; gap:12px; margin:0; padding:0;}
.mpd .mpd-rel-pic {flex:none; width:88px;}
.mpd .mpd-rel li img.listPic {float:none; width:88px; height:88px; object-fit:cover; border-radius:var(--m-r-s); background:var(--m-gray);}
.mpd .mpd-rel .list_shoppingInfo {position:relative; float:none; flex:1; min-width:0; width:auto; padding:0 30px 0 0;}
.mpd .mpd-rel .mpd-rel-chk {position:absolute; top:0; right:0;}
.mpd .mpd-rel .mpd-rel-chk input {width:22px; height:22px; margin:0;}
.mpd .mpd-rel .listName {display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:0; margin:0; padding:0; border:0; font-size:13px; line-height:1.4; color:#2e3a40;}
.mpd .mpd-rel .listPrice {display:block; margin:3px 0 0; font-size:14px;}
.mpd .mpd-rel .listPrice del {font-size:11.5px; font-weight:400; color:#9aa5aa;}
.mpd .mpd-rel .mpd-rel-opt-tit {margin:6px 0 2px; font-size:12px; color:var(--b-mute);}
.mpd .mpd-rel .mpd-rel-opt select {width:100%; height:40px;}
.mpd .mpd-rel .listCount {margin:8px 0 0;}
.mpd .mpd-rel .listCount input {width:44px !important; height:32px !important;}
.mpd .mpd-rel .listCount .mpd-step-btn {width:34px; height:32px;}
.mpd .mpd-rel .btn_Black {width:100%; max-width:none; margin:12px 0 0;}

/* ---------- 구매 안내 ---------- */
.mpd .mpd-guide {margin:16px 0 0; border-top:8px solid var(--m-gray);}
.mpd .mpd-guide:empty {display:none;}
.mpd .mpd-acc {border-bottom:1px solid var(--b-line);}
.mpd .mpd-acc summary {display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:0 16px; font-size:15px; font-weight:700; color:var(--b-ink); list-style:none; cursor:pointer;}
.mpd .mpd-acc summary::-webkit-details-marker {display:none;}
.mpd .mpd-acc summary svg {flex:none; transition:transform .2s; color:var(--b-mute);}
.mpd .mpd-acc[open] summary svg {transform:rotate(180deg);}
.mpd .shopdetailNotifyInfo, .mpd .mpd-acc-body {padding:0 16px 18px; font-size:13px; line-height:1.7; color:#3a474d; overflow-wrap:anywhere;}
.mpd .shopdetailNotifyInfo dl {margin:0;}
.mpd .mpd-info-row {display:flex; gap:12px; padding:8px 0; border-top:1px solid var(--b-line);}
.mpd .mpd-info-row:first-child {border-top:0;}
.mpd .mpd-info-row dt {flex:none; width:34%; margin:0; font-weight:500; color:var(--b-mute);}
.mpd .mpd-info-row dd {flex:1; min-width:0; margin:0;}
.mpd .mpd-acc-body img {max-width:100%; height:auto;}
.mpd .mpd-acc-body table {width:100% !important;}

/* ---------- 알림 창 · 안내 문구 ---------- */
.mpd-pop[hidden], .mpd-dim[hidden] {display:none !important;}
.mpd-pop {position:fixed; inset:0; z-index:1120; display:flex; align-items:flex-end; justify-content:center; background:rgba(20,26,29,.5);}
.mpd-pop-box {width:100%; max-width:600px; max-height:70vh; display:flex; flex-direction:column; border-radius:18px 18px 0 0; background:#fff; animation:mpdUp .2s ease-out;}
.mpd-pop-hd {position:relative; display:flex; align-items:center; height:54px; padding:0 54px 0 18px; border-bottom:1px solid var(--b-line); font-size:16px;}
.mpd-pop-close {position:absolute; top:5px; right:5px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:none; color:var(--b-ink); cursor:pointer;}
.mpd-pop-txt {padding:16px 18px calc(22px + env(safe-area-inset-bottom)); overflow-y:auto; white-space:pre-line; font-size:14px; line-height:1.7; color:var(--b-ink);}
/* 지역별 배송비 요약 */
.mpd-area-lead {margin:0;}
.mpd-area-range {margin:6px 0 0; font-size:20px; font-weight:700;}
.mpd-area-note {margin:6px 0 0; font-size:13px; color:#6b7378;}
.mpd-area-all {margin-top:16px; border-top:1px solid var(--b-line);}
.mpd-area-all summary {padding:12px 0; font-size:13px; font-weight:500; cursor:pointer;}
.mpd-area-grp {padding:10px 0; border-top:1px dashed var(--b-line);}
.mpd-area-grp strong {display:block; font-size:14px;}
.mpd-area-grp p {margin:2px 0 0; font-size:13px; line-height:1.6; color:#6b7378; white-space:normal; word-break:keep-all;}
.mpd-toast {position:fixed; left:50%; bottom:calc(84px + env(safe-area-inset-bottom)); z-index:1130; max-width:90%; margin:0; padding:10px 16px; border-radius:20px; background:rgba(31,42,48,.92); color:#fff; font-size:13.5px; transform:translate(-50%, 10px); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;}
.mpd-toast.is-on {opacity:1; transform:translate(-50%, 0);}

/* 태블릿 이상 : 사진과 정보를 나란히 */
@media screen and (min-width:768px) {
    .mpd .shopdetailInfo {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 24px; padding:0 20px 20px; overflow:visible;}
    .mpd .shopdetailInfo .shopdetailInfoTop, .mpd .shopdetailInfo .shopdetailInfoBottom {float:none; width:auto;}
    .mpd .mpd-photo figure {border-radius:12px; overflow:hidden;}
    .mpd .mpd-photo {position:-webkit-sticky; position:sticky; top:calc(var(--mpd-top) + 12px); align-self:start;}
    .mpd .mpd-title, .mpd .mpd-value, .mpd .option_tk, .mpd .mpd-pay {padding-left:0; padding-right:0;}
    .mpd .mpd-title {padding-top:4px;}
    .mpd .mpd-value {border-bottom-width:1px;}
    .mpd .mpd-buybar {left:50%; right:auto; width:600px; margin-left:-300px; border-left:1px solid var(--b-line); border-right:1px solid var(--b-line); border-radius:16px 16px 0 0;}
    .mpd .option_area.is-sheet {left:50%; right:auto; width:600px; margin-left:-300px;}
    .mpd .mpd-tabs {padding:0 20px;}
    .mpd .mpd-detail-body {max-width:860px; margin:0 auto;}
    .mpd .mpd-coupon, .mpd .mpd-rel, .mpd .mpd-guide {padding-left:20px; padding-right:20px;}
}
@media (prefers-reduced-motion:reduce) {
    .mpd .option_area.is-sheet, .mpd-pop-box {animation:none;}
}

/* BASIC css end */

