@charset "utf-8";
/* ==========================================================
   PC 장바구니·주문서·마이페이지·주문상세
   - 베이직 스킨의 파랑·분홍을 테마 색(검정·초록)으로 바꾸고 PV 표시를 꾸민다.
   - PV 칸·상자는 js/pv-ui.js 가 붙인다.
   ========================================================== */
.btn_submit { background: var(--pv-ink); border: 1px solid var(--pv-ink); color: #fff; border-radius: 10px; }
.btn_submit:hover { background: #2a2a2a; }
a.btn01, button.btn01 { border: 1px solid #d6d6d0; background: #fff; color: var(--pv-ink); border-radius: 10px; }
a.btn02 { background: var(--pv-ink); border-radius: 10px; }
.chk_box input[type="checkbox"]:checked + label span,
#sod_addr .td_sbj .chk_box input[type="checkbox"]:checked + label span { background-color: var(--pv-ink); border-color: var(--pv-ink); }
.sod_opt li:before, #sod_fin_list .sod_name .sod_opt:before { background: var(--pv-soft); color: var(--pv-sub); }
.cp_btn { color: var(--pv-ink); border-radius: 8px; }
.status_04 { background: var(--pv-accent-soft); color: var(--pv-accent); }
.status_05 { background: var(--pv-accent); color: #fff; }
.pg_current { background: var(--pv-ink); border-color: var(--pv-ink); }

/* 상품 표 */
.od_prd_list table, #sod_fin_list table { border-top: 2px solid var(--pv-ink); }
.od_prd_list thead th, #sod_fin_list thead th { background: #fff; color: var(--pv-sub); font-weight: 700; font-size: 13px; }
.od_prd_list .td_prd .sod_img img, #sod_fin_list .sod_img img { border-radius: 10px; }
th.pv-col { color: var(--pv-accent) !important; }
td.pv-col { color: var(--pv-accent); white-space: nowrap; }
td.pv-col strong { font-weight: 800; }

/* 작은 원형 PV 표시 */
.pv-mark-s { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 24px; height: 24px; margin-right: 8px; border-radius: 50%; background: var(--pv-accent); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: -0.3px; }

/* ---------- 장바구니 합계 ---------- */
#sod_bsk #sod_bsk_tot { margin: 28px 0; border: 1px solid var(--pv-line); border-radius: 16px; overflow: hidden; background: #fff; }
#sod_bsk #sod_bsk_tot ul { display: flex; }
#sod_bsk #sod_bsk_tot ul:after { display: none; }
.od_prd_list .total_prc { white-space: nowrap; }
#sod_bsk #sod_bsk_tot li { float: none; flex: 1 1 0; width: auto; padding: 22px 24px; background: #fff; color: var(--pv-ink); border: 0; border-left: 1px solid var(--pv-line); text-align: right; font-size: 15px; }
#sod_bsk #sod_bsk_tot li:first-child { border-left: 0; }
#sod_bsk #sod_bsk_tot li span { float: none; display: flex; align-items: center; margin-bottom: 8px; text-align: left; font-size: 13px; color: var(--pv-muted); }
#sod_bsk #sod_bsk_tot li strong { font-size: 20px; font-weight: 800; }
#sod_bsk #sod_bsk_tot li.pv-bsk-pv { background: var(--pv-accent-soft); color: var(--pv-accent); }
#sod_bsk #sod_bsk_tot li.pv-bsk-pv span { color: var(--pv-accent); font-weight: 700; }
#sod_bsk #sod_bsk_tot li.pv-bsk-pv strong { color: var(--pv-accent); }
#sod_bsk #sod_bsk_tot .sod_bsk_cnt { background: var(--pv-ink); color: #fff; }
#sod_bsk #sod_bsk_tot .sod_bsk_cnt span { color: #bdbdb6; }
#sod_bsk #sod_bsk_tot .sod_bsk_cnt strong { font-size: 24px; }
#sod_bsk_act { display: flex; justify-content: center; gap: 10px; }
#sod_bsk_act .btn01, #sod_bsk_act .btn_submit { width: 200px; height: 56px; line-height: 54px; padding: 0; border-radius: 28px; font-size: 16px; font-weight: 700; box-sizing: border-box; }
.btn_cart_del button { border-radius: 8px; }

/* ---------- 주문서 오른쪽 결제 요약 ---------- */
.sod_right #sod_bsk_tot, #forderform .sod_right #sod_bsk_tot { border: 1px solid var(--pv-line); border-radius: 16px; overflow: hidden; }
.sod_right .pay_tbl, .sod_right #od_tot_price, #sod_frm_pay .sod_frm_point { border-color: var(--pv-line) !important; border-radius: 12px; overflow: hidden; }
#sod_frm #sod_bsk_tot .sod_bsk_coupon:before, #sod_frm #sod_bsk_tot .sod_bsk_dvr:before { color: var(--pv-muted); }
#sod_frm #sod_bsk_tot li span { color: var(--pv-muted); }
#sod_frm #sod_bsk_tot .sod_bsk_cnt strong { color: var(--pv-ink); font-weight: 800; }
#sod_frm #sod_bsk_tot li.pv-bsk-pv { position: relative; float: left; clear: both; width: 100%; height: 48px; padding: 0 15px; line-height: 48px; text-align: right; background: var(--pv-accent-soft); color: var(--pv-accent); border-bottom: 1px solid var(--pv-line); box-sizing: border-box; }
#sod_frm #sod_bsk_tot li.pv-bsk-pv span { float: left; display: flex; align-items: center; height: 48px; margin: 0; color: var(--pv-accent); font-weight: 700; }
#sod_frm #sod_bsk_tot li.pv-bsk-pv strong { font-size: 18px; font-weight: 800; color: var(--pv-accent); }
#od_tot_price strong, #sod_frm #od_tot_price strong { color: var(--pv-ink); font-weight: 800; }
#sod_frm #sod_frm_pt_alert { color: var(--pv-muted); }
#od_pay_sl .lb_icon { border-radius: 10px; }
#od_pay_sl input[type="radio"]:checked + .lb_icon, #sod_frm_pay input[type="radio"]:checked + .lb_icon { border: 2px solid var(--pv-ink); color: var(--pv-ink); }
#display_pay_button .btn_submit { height: 56px; border-radius: 28px; border: 1px solid var(--pv-ink); }
#sod_frm_taker .tbl_frm01 .choice_place, #sod_frm_taker .order_choice_place { background: var(--pv-soft); border-color: var(--pv-line); }
#sod_frm_pay .pay_tbl td .btn_frmline, .od_coupon .cp_apply { border-color: var(--pv-ink); color: var(--pv-ink); }

/* ---------- 마이페이지 ---------- */
#smb_my_ov .smb_me a.smb_info, #smb_private a strong, #smb_private li:hover i { color: var(--pv-accent); }
#smb_private li a:hover:after { background: var(--pv-accent); }
.smb_my_od .cost { color: var(--pv-ink); }
#smb_ws_act .btn01 { border: 1px solid #d6d6d0; border-radius: 28px; }
#smb_ws_act .btn02 { border: 1px solid var(--pv-ink); background: var(--pv-ink); border-radius: 28px; }
.pv-my { margin: 0 0 40px; }
.pv-my-title { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; font-size: 1.25em; font-weight: 800; color: var(--pv-ink); }
.pv-my-grid { display: grid; grid-template-columns: 1.4fr 1fr; border: 1px solid var(--pv-line); border-radius: 16px; overflow: hidden; }
.pv-my-card { padding: 22px 24px; background: #fff; }
.pv-my-card + .pv-my-card { border-left: 1px solid var(--pv-line); }
.pv-my-card span { display: flex; align-items: center; font-size: 14px; font-weight: 700; color: var(--pv-sub); }
.pv-my-card strong { display: block; margin: 12px 0 6px; font-size: 30px; font-weight: 800; letter-spacing: -0.5px; color: var(--pv-ink); }
.pv-my-card strong::after { content: " PV"; font-size: 15px; font-weight: 700; letter-spacing: 0; }
.pv-my-card em { font-style: normal; font-size: 12px; color: var(--pv-muted); }
.pv-my-card.is-main { background: var(--pv-accent-soft); }
.pv-my-card.is-main span, .pv-my-card.is-main strong { color: var(--pv-accent); }
.pv-od-pv { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--pv-accent-soft); color: var(--pv-accent); font-size: 12px; font-weight: 700; white-space: nowrap; vertical-align: middle; }

/* ---------- 주문상세 ---------- */
#sod_fin_no { padding: 16px 20px; border: 0; border-radius: 12px; background: var(--pv-soft); color: var(--pv-sub); font-size: 15px; }
#sod_fin_no strong { color: var(--pv-ink); }
#sod_fin #sod_bsk_tot .sod_bsk_cnt strong { color: var(--pv-ink); }
#sod_bsk_tot2 { border-color: var(--pv-line); border-radius: 12px; overflow: hidden; }
#sod_bsk_tot2 li.sod_fin_tot strong { color: var(--pv-ink); }
#sod_fin_tot li { background: var(--pv-ink); border-bottom-color: #333; }

/* 구매 PV 상자 (주문상세) */
.pv-view { margin: 0 0 24px; border: 1px solid var(--pv-line); border-radius: 16px; overflow: hidden; background: #fff; }
.pv-view-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; background: var(--pv-accent-soft); }
.pv-view h2 { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; display: flex; align-items: center; font-size: 16px; font-weight: 800; color: var(--pv-accent); }
.pv-view-total { font-size: 26px; font-weight: 800; letter-spacing: -0.5px; color: var(--pv-accent); white-space: nowrap; }
.pv-view-total small { margin-left: 2px; font-size: 15px; font-weight: 700; }
.pv-view-note { margin: 0; padding: 12px 22px 0; font-size: 13px; color: var(--pv-muted); }
.pv-view ul { margin: 0; padding: 4px 22px 8px; list-style: none; }
.pv-view li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--pv-line); font-size: 14px; }
.pv-view li:last-child { border-bottom: 0; }
.pv-view .pv-v-name { flex: 1 1 auto; min-width: 0; color: var(--pv-ink); font-weight: 500; }
.pv-view .pv-v-calc { color: var(--pv-muted); white-space: nowrap; }
.pv-view li strong { min-width: 90px; text-align: right; color: var(--pv-ink); white-space: nowrap; }
.pv-view li em { font-style: normal; font-size: 12px; padding: 2px 10px; border-radius: 999px; background: #fff3dc; color: #8a5a00; white-space: nowrap; }
.pv-view li.is-confirmed em { background: var(--pv-accent-soft); color: var(--pv-accent); }
.pv-view li.is-excluded em { background: var(--pv-soft); color: var(--pv-muted); }
.pv-view li.is-excluded strong { text-decoration: line-through; color: var(--pv-muted); }
#sod_bsk_tot2 li.sod_fin_tot { background: var(--pv-soft); border-color: var(--pv-line); }
#sod_bsk_tot2 li.sod_fin_tot strong { color: var(--pv-ink); font-weight: 800; }
#sod_fin .btn_frmline { background: var(--pv-ink); border-color: var(--pv-ink); color: #fff; border-radius: 8px; }
#sod_fin_pay th, #sod_fin_view th { white-space: nowrap; }
#sod_fin_cancel .btn_frmline, #sod_fin .sod_fin_c_btn { border-radius: 8px; }
#smb_private a strong { background: var(--pv-soft) !important; color: var(--pv-ink) !important; font-weight: 700; }
#od_tot_price, .sod_right #od_tot_price { background: var(--pv-soft) !important; }
.sod_right .pay_tbl th { white-space: nowrap; }
