/* BASIC css start */
/* =========================================================
   PC 장바구니 — 상품상세와 같은 톤
   ========================================================= */
#cartWrap{--p-text:#111; --p-sub:#888; --p-sale:#dc3737; --p-red:#e60012; --p-bg:#f5f5f5; --p-line:#eee;}
#cartWrap{padding-top:40px;}
#cartWrap .loc-navi{display:none;}

/* ---------- 제목 + 단계 ---------- */
#cartWrap .cart_head{display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:22px; margin-bottom:28px; border-bottom:2px solid var(--p-text);}
#cartWrap .cart_head .tit-page{margin:0 !important; padding:0 !important; border:none !important; font-size:30px !important; font-weight:800 !important; color:var(--p-text) !important; letter-spacing:-0.8px; text-align:left !important;}
#cartWrap .cart_head .cart_cnt{font-size:20px; font-weight:700; color:var(--p-sale); margin-left:4px;}
#cartWrap .cart_step{display:flex; gap:28px; margin:0; padding:0;}
#cartWrap .cart_step li{font-size:14px; font-weight:600; color:#bbb; list-style:none;}
#cartWrap .cart_step li em{font-style:normal; margin-right:6px;}
#cartWrap .cart_step li.on{color:var(--p-text); font-weight:800;}
#cartWrap .cart_step li+li:before{content:""; display:inline-block; width:7px; height:7px; border-top:1.5px solid #ccc; border-right:1.5px solid #ccc; transform:rotate(45deg); margin:0 18px 2px -14px;}

/* ---------- 2단 배치 ---------- */
#cartWrap .cart_layout{display:flex; align-items:flex-start; gap:40px;}
#cartWrap .cart_main{flex:1 1 auto; min-width:0;}
#cartWrap .cart_side{flex:0 0 360px; position:sticky; top:140px;}

/* ---------- 상품 표 ---------- */
#cartWrap .table-fill-prd{border:none !important; margin:0 !important;}
#cartWrap .table-fill-prd table{width:100%; border-collapse:collapse; border:none !important;}
#cartWrap .table-fill-prd thead th{padding:0 0 12px !important; border:none !important; border-bottom:1px solid var(--p-line) !important; background:none !important; font-size:13px !important; font-weight:500 !important; color:var(--p-sub) !important;}
#cartWrap .table-fill-prd tbody td{padding:22px 0 !important; border:none !important; border-bottom:1px solid var(--p-line) !important; background:none !important; vertical-align:middle; font-size:14px; color:var(--p-text);}
#cartWrap .table-fill-prd tfoot td{padding:0 !important; border:none !important; background:none !important;}
#cartWrap .table-fill-prd .tb-left{text-align:left; padding:0 16px 0 0 !important;}
#cartWrap .table-fill-prd .tb-center{text-align:center; padding:0 !important;}

/* 썸네일 */
#cartWrap .table-fill-prd .thumb{width:96px; height:96px; background:var(--p-bg); border-radius:10px; overflow:hidden;}
#cartWrap .table-fill-prd .thumb a{display:block; width:100%; height:100%;}
#cartWrap .table-fill-prd .thumb img{display:block; width:100% !important; height:100% !important; object-fit:contain;}

/* 상품명 · 옵션 */
#cartWrap .prd_name{display:block; font-size:15px !important; font-weight:600 !important; color:var(--p-text) !important; line-height:1.45; word-break:keep-all;}
#cartWrap .prd_name:hover{text-decoration:underline; text-underline-offset:3px;}
#cartWrap .tb-opt{margin-top:6px; font-size:13px; color:var(--p-sub); line-height:1.5;}
#cartWrap .btn_option{display:inline-block; margin-top:8px; padding:5px 10px; border:1px solid #ddd; border-radius:6px; background:#fff; font-size:12px; font-weight:600; color:#555;}
#cartWrap .btn_option:hover{border-color:var(--p-text); color:var(--p-text);}

/* 수량 */
#cartWrap .qty_box{display:inline-flex; align-items:center; height:36px; border:1px solid #ddd; border-radius:8px; overflow:hidden; background:#fff;}
#cartWrap .qty_box .realtime-btn-dw,
#cartWrap .qty_box .realtime-btn-up{position:relative; display:block; width:34px; height:34px; text-indent:-9999em; overflow:hidden; background:none !important;}
#cartWrap .qty_box .realtime-btn-dw:before,
#cartWrap .qty_box .realtime-btn-up:before,
#cartWrap .qty_box .realtime-btn-up:after{content:""; position:absolute; left:50%; top:50%; width:11px; height:1.6px; margin:-0.8px 0 0 -5.5px; background:var(--p-text);}
#cartWrap .qty_box .realtime-btn-up:after{transform:rotate(90deg);}
#cartWrap .qty_box .realtime-btn-dw:hover, #cartWrap .qty_box .realtime-btn-up:hover{background:#f5f5f5 !important;}
#cartWrap .qty_box input,
#cartWrap .txt-spin{width:40px !important; height:34px !important; line-height:34px !important; padding:0 !important; border:none !important; border-left:1px solid #eee !important; border-right:1px solid #eee !important; text-align:center; font-size:14px; font-weight:600; color:var(--p-text); background:#fff;}

/* 금액 · 배송비 */
#cartWrap .tb-price{font-size:16px !important; font-weight:800 !important; color:var(--p-text) !important;}
#cartWrap .tb-delivery{font-size:13px; color:var(--p-sub);}

/* 행 버튼 */
#cartWrap .row_btns{display:flex; flex-direction:column; align-items:center; gap:6px;}
#cartWrap .row_btns .btn_select{display:block; width:72px; height:30px; line-height:28px; border:1px solid #ddd; border-radius:6px; background:#fff; font-size:12px; font-weight:600; color:#555; text-align:center;}
#cartWrap .row_btns .btn_select:hover{border-color:var(--p-text); color:var(--p-text);}
#cartWrap .row_btns .btn_select.del{border-color:transparent; color:#aaa; text-decoration:underline; text-underline-offset:2px;}
#cartWrap .row_btns .btn_select.del:hover{color:var(--p-text);}

/* 빈 장바구니 */
#cartWrap .cart_empty{display:flex; flex-direction:column; align-items:center; gap:8px; padding:90px 0 80px; text-align:center;}
#cartWrap .cart_empty strong{font-size:20px; font-weight:800; color:var(--p-text);}
#cartWrap .cart_empty span{font-size:14px; color:var(--p-sub);}
#cartWrap .cart_empty a{margin-top:16px; padding:14px 32px; border-radius:26px; background:var(--p-text); color:#fff; font-size:14px; font-weight:700;}

/* 표 아래 보조 버튼 */
#cartWrap .cart_sub_btns{display:flex; gap:8px; margin-top:18px;}
#cartWrap .cart_sub_btns a{display:inline-block; height:40px; line-height:38px; padding:0 18px; border:1px solid #ddd; border-radius:8px; background:#fff; font-size:13px; font-weight:600; color:#555;}
#cartWrap .cart_sub_btns a:hover{border-color:var(--p-text); color:var(--p-text);}

/* 회원등급 · 배송 메시지 */
#cartWrap .mem-lvl{display:flex; align-items:center; gap:14px; margin-top:24px; padding:16px 18px; border-radius:12px; background:#f7f7f7; font-size:13px; color:#555; line-height:1.7; border:none !important;}
#cartWrap .mem-lvl em{font-style:normal; font-weight:700; color:var(--p-text);}
#cartWrap .delivery{margin-top:16px; font-size:13px; color:var(--p-sub); text-align:left;}

/* ---------- 결제 금액 박스 ---------- */
#cartWrap .cart_summary{padding:26px 26px 22px; border:1px solid #e5e5e5; border-radius:16px; background:#fff;}
#cartWrap .cart_summary h3{margin:0 0 18px; font-size:18px; font-weight:800; color:var(--p-text);}

/* 무료배송 진행 바 */
#cartWrap .free_bar{margin:0 0 18px; padding:14px 16px; border-radius:10px; background:#f7f7f7;}
#cartWrap .free_bar .free_txt{margin:0 0 10px; font-size:13px; color:#555; line-height:1.5;}
#cartWrap .free_bar .free_txt b{color:var(--p-red); font-weight:800;}
#cartWrap .free_bar .free_txt.done{color:var(--p-text); font-weight:700;}
#cartWrap .free_bar .free_track{height:6px; border-radius:3px; background:#e3e3e3; overflow:hidden;}
#cartWrap .free_bar .free_fill{display:block; width:0; height:100%; border-radius:3px; background:var(--p-text); transition:width .4s;}

#cartWrap .sum_row{display:flex; justify-content:space-between; align-items:baseline; margin:0; padding:7px 0;}
#cartWrap .sum_row dt{font-size:14px; color:#555;}
#cartWrap .sum_row dd{margin:0; font-size:15px; font-weight:600; color:var(--p-text);}
#cartWrap .sum_row.minus dd{color:var(--p-sale);}
#cartWrap .sum_total{display:flex; justify-content:space-between; align-items:baseline; margin-top:12px; padding-top:18px; border-top:1px solid var(--p-line);}
#cartWrap .sum_total span{font-size:15px; font-weight:700; color:var(--p-text);}
#cartWrap .sum_total strong{font-size:28px; font-weight:800; color:var(--p-text); letter-spacing:-0.6px;}
#cartWrap .sum_total strong em{font-style:normal; font-size:18px; margin-left:2px;}
#cartWrap .sum_reserve{margin:6px 0 0; text-align:right; font-size:12.5px; color:var(--p-sub);}
#cartWrap .sum_reserve:empty{display:none;}
#cartWrap .sum_reserve b{color:var(--p-text);}

#cartWrap .btn-order-ctrl{display:flex; flex-direction:column; gap:8px; margin:20px 0 0 !important; text-align:center;}
#cartWrap .btn-order-ctrl a{display:block; width:100% !important; height:60px !important; line-height:60px !important; border-radius:12px; font-size:17px !important; font-weight:700; text-align:center;}
#cartWrap .btn-order-ctrl .btn_order{background:var(--p-text); color:#fff; transition:opacity .2s;}
#cartWrap .btn-order-ctrl .btn_order:hover{opacity:.88;}
#cartWrap .btn-order-ctrl .btn_gift{height:50px !important; line-height:48px !important; border:1px solid #d5d5d5; background:#fff; color:var(--p-text); font-size:15px !important;}
#cartWrap .cart-ft2{margin-top:12px; text-align:center;}
#cartWrap .cart_notice{margin:14px 4px 0; font-size:12.5px; line-height:1.8; color:var(--p-sub);}

/* ---------- 관심상품 ---------- */
#cartWrap .tit-space{margin:90px 0 16px !important; padding:0 0 16px !important; border:none !important; border-bottom:2px solid var(--p-text) !important; font-size:22px !important; font-weight:800 !important; color:var(--p-text) !important; text-align:left !important;}
#cartWrap .wish_table .txt-spin{border:1px solid #ddd !important; border-radius:6px;}

/* ---------- 무료배송 추천상품 (기본 기능) ---------- */
.cart-free-wrap{margin-top:30px; text-align:center;}
.cart-free-wrap p{padding:5px 0 14px; font-size:13px;}
.cart-free-wrap p span{font-weight:bold;}
.cart-free-wrap .btn-list-open{position:relative; display:inline-block; width:250px; height:48px; line-height:46px; color:#111; font-size:14px; font-weight:600; text-align:center; border:1px solid #111; border-radius:10px;}
.cart-free-wrap .btn-list-open span{position:absolute; top:21px; right:24px; display:inline-block; width:12px; height:6px; background:url(//image.makeshop.co.kr/makeshop/d3/basic_simple/common/sp_cart_free.gif) 0 0 no-repeat;}
.cart-free-wrap .btn-list-open span.open{background-position:0 -6px;}
.cart-free-wrap .btn-more{display:inline-block; width:94%; height:36px; line-height:34px; margin-top:10px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#383838; text-align:center;}
.cart-free-wrap .btn-more span{display:inline-block; margin-left:5px; width:12px; height:6px; background:url(//image.makeshop.co.kr/makeshop/d3/basic_simple/common/sp_cart_free.gif) 0 -6px no-repeat; vertical-align:middle;}
.cart-free-wrap .list-wrap{overflow-x:hidden; overflow-y:auto; height:450px; padding:15px 14px 30px; margin-top:20px; border:1px solid #e5e5e5; border-radius:12px; display:none;}
.cart-free-wrap .list-wrap ul{display:table; table-layout:fixed; width:100%; margin:0; padding:0;}
.cart-free-wrap .list-wrap ul:after{clear:both; content:""; display:block;}
.cart-free-wrap .list-wrap ul li{word-wrap:break-word; word-break:keep-all; display:inline-block; vertical-align:top; width:24%; list-style:none;}
.cart-free-wrap .list-wrap ul li dl{margin:15px 15px 10px;}
.cart-free-wrap .list-wrap ul li dl dt{margin-bottom:13px;}
.cart-free-wrap .list-wrap ul li dl dt img{width:100%; height:auto; border:0; border-radius:8px;}
.cart-free-wrap .list-wrap ul li dl dd strong{color:#111;}
.cart-free-wrap .list-wrap ul li dl dd a{display:inline-block; padding:6px 10px; margin-top:8px; border:1px solid #ddd; border-radius:6px; color:#555; font-weight:600; background:#fff;}

/* ---------- 정기배송 탭 (사용 시) ---------- */
#cartWrap .cart-tab:after{clear:both; content:""; display:block;}
#cartWrap .cart-tab{display:flex; margin:0 0 30px; border-bottom:1px solid var(--p-line);}
#cartWrap .cart-tab li{flex:1; float:none; height:auto; margin:0; border:none; background:none; list-style:none;}
#cartWrap .cart-tab li a{display:block; padding:16px 0 14px; border-bottom:2px solid transparent; font-size:16px; font-weight:600; color:#aaa; text-align:center;}
#cartWrap .cart-tab li.now a{border-bottom-color:var(--p-text); color:var(--p-text); font-weight:800;}

/* ---------- 하이브리드 옵션 ---------- */
.opt_dd img{vertical-align:top;}
.opt_dd .basket-option-detail{display:inline-block; vertical-align:top;}
.opt_dd .basket-option-detail .basket-option-dlist li{margin-bottom:7px; word-break:break-all; word-wrap:break-word;}
.opt_dd .basket-option-detail .basket-option-dlist li img{width:23px; height:23px; margin-right:8px; vertical-align:middle;}
.MS_tb_delivery{z-index:10;}
#cartWrap .wish-opt{color:#FFA500;}
.tb-normal{font-weight:normal;}

/* ---------- 간편결제 버튼 (기본) ---------- */
#nhn_btn{display:inline;}
#payco_order_btn{display:inline;}
#kakaopay_order_btn{display:inline; vertical-align:top;}
.__checkout_img_comm{visibility:unset !important;}
#productDetail #shoppay_btn{padding-top:10px;}
#cartWrap #shoppay_btn{display:inline;}
.shopdetail #shoppay_btn{padding-top:10px; text-align:center;}
#basket #shoppay_btn{margin-top:20px;}
.basket #shoppay_btn{text-align:center;}

.shoppay_storebtn_bx,
.shoppay_storebtn_bx *,
.shoppay_button_box,
.shoppay_button_box * { display: inline-block !important; overflow: hidden !important; float: none !important; position: static !important; top: auto !important; left: auto !important; margin: 0 !important; padding: 0 !important; border: 0 none !important; font-size: 11px !important; line-height:16px !important; font-family: '돋움',Dotum,Helvetica,sans-serif !important; text-align: left !important; text-decoration: none !important;  vertical-align: top !important; background: none !important; border-radius: 0 !important; }
.shoppay_button_box { width: auto !important; height: 100% !important; zoom: 1 !important; padding: 0 !important; border-top: 2px solid #2b2f3a !important; background-color: #fff !important; }
.shoppay_button { position: relative !important; margin: 0 !important; padding: 5px 0 5px 88px !important; zoom:1 !important; }
.shoppay_button .shoppay_blind { overflow: hidden !important; position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; clip: rect(0 0 0 0) !important; }
.shoppay_text { display: block !important; position: absolute !important; top: 10px !important; left: 0 !important; width: 82px !important; height: 26px !important; margin: 0 !important; padding: 0 !important; background: url('/images/common/shoppay_sp_text.png') no-repeat !important; background-size: 82px auto !important; }
.shoppay_btn_list { display: table !important; width: 100% !important; margin:0 !important; padding: 0 !important; table-layout: fixed !important; list-style: none !important; }
.shoppay_btn_list tbody { display: table-row-group !important; }
.shoppay_btn_list tr { display: table-row !important; }
.shoppay_btn_item { display: table-cell !important; height: 37px !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
.shoppay_btn_link { display: block !important; height: 35px !important; margin: 0 !important; padding: 0 !important; border: 1px solid #bfc4c7 !important; background-color: #fcfcfc !important; background-repeat: no-repeat !important; text-align: center !important; text-decoration: none !important; }
.shoppay_btn_item:first-child .shoppay_btn_link { margin: 0 !important; }
.shoppay_btn_link.shoppay_btn_pay { background-size: 133px auto !important; background-image: url('/images/common/shoppay_sp_payment.png') !important; background-position: 50% 0 !important; background-repeat: no-repeat !important; border-radius: 2px !important; }
.shoppay_btn_link.btn_blue { border-color: #025eea !important; background-color: #025eea !important; }
.shoppay_event { position: relative !important; width: 100% !important; margin: 0 !important; padding: 3px 0 0 0 !important; border: 0 none !important; border-top: 1px solid #e5e9ea !important; letter-spacing: -0.5px !important; }
.shoppay_event_text { display: block !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; letter-spacing: 0 !important; white-space: nowrap !important; text-overflow: ellipsis !important; word-wrap: normal !important; }
.shoppay_event_text .event_title { display: inline !important; margin: 0 5px 0 0 !important; padding: 0 !important; font-weight: normal !important; color: #015ce8 !important; vertical-align: middle !important; }
.shoppay_event .shoppay_event_text .event_link { display: inline !important; margin: 0 !important; padding: 0 !important; font-weight: normal !important; color: #727272 !important; text-decoration: none !important; vertical-align: middle !important; }
.shoppay_event .shoppay_event_text .event_link span { display: inline-block !important; margin: -1px 0 1px !important; vertical-align: middle !important; }
.shoppay_type_A_1 { width: 277px !important; height: 70px !important; }
.shoppay_type_A_2 { width: 296px !important; height: 84px !important; }
.shoppay_type_A_2 .shoppay_button { padding: 5px 0 5px 86px !important; }
.shoppay_type_A_2 .shoppay_text { top: 14px !important; }
.shoppay_type_A_2 .shoppay_btn_link { height: 45px !important; }
.shoppay_type_A_2 .shoppay_btn_link.shoppay_btn_pay { background-position: 50% -40px !important; }
.shoppay_type_A_3 { width: 338px !important; height: 84px !important; }
.shoppay_type_A_3 .shoppay_button { padding: 6px 0 6px 102px !important; }
.shoppay_type_A_3 .shoppay_text { top: 13px !important; height: 31px !important; background-position: 0 -31px !important; }
.shoppay_type_A_3 .shoppay_btn_link { height: 45px !important; }
.shoppay_type_A_3 .shoppay_btn_link.shoppay_btn_pay { background-position: 50% -40px !important; }
/* BASIC css end */

