@charset "utf-8";
/* ==========================================================
   모바일 장바구니·주문서·마이페이지·주문상세
   - 베이직 모바일 스킨의 파랑·분홍·어두운 막대를 테마 색으로 바꾸고 PV 표시를 꾸민다.
   - PV 칸·상자는 js/pv-ui.js 가 붙인다.
   ========================================================== */
.btn_submit { background: var(--pv-ink); border: 1px solid var(--pv-ink); color: #fff; border-radius: 10px; letter-spacing: 0; }
.btn_submit:hover { background: #2a2a2a; }
a.btn_frmline, button.btn_frmline { border-color: var(--pv-ink); color: var(--pv-ink); border-radius: 8px; letter-spacing: 0; }
.btn01 { border-radius: 8px; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--pv-ink); }
.chk_box input[type="checkbox"]:checked + label span { background-color: var(--pv-ink); border-color: var(--pv-ink); }
.sod_opt li:before, .sod_opt .opt_name:before { background: var(--pv-soft); color: var(--pv-sub); }
.cp_btn, .cp_btn1 { color: var(--pv-ink); border-radius: 8px; }
.cp_apply { border-color: var(--pv-ink); color: var(--pv-ink); }
.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 .total_prc { color: var(--pv-ink); }

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

/* ---------- 상품 목록 (장바구니·주문서) ---------- */
.sod_list .total_price { margin: 0 12px 12px; padding: 10px 14px; border-radius: 10px; background: var(--pv-soft); }
.sod_list .total_price strong { color: var(--pv-ink); font-weight: 800; }
.pv-li-pv span { color: var(--pv-accent) !important; font-weight: 700; }
.pv-li-pv strong { color: var(--pv-accent) !important; font-weight: 800; }

/* ---------- 합계 (장바구니·주문서 공통 dl) ---------- */
#m_sod_bsk_tot, .sod_frm_mobile #m_sod_bsk_tot { margin: 16px 12px; padding: 6px 0; border: 1px solid var(--pv-line); border-radius: 14px; overflow: hidden; background: #fff; color: var(--pv-ink); }
#m_sod_bsk_tot dt, #m_sod_bsk_tot dd { padding: 10px 16px; line-height: 22px; font-size: 14px; }
#m_sod_bsk_tot dt { color: var(--pv-muted); }
#m_sod_bsk_tot dd strong { font-weight: 700; }
#m_sod_bsk_tot dt.pv-bsk-pv, #m_sod_bsk_tot dd.pv-bsk-pv { background: var(--pv-accent-soft); color: var(--pv-accent); font-weight: 700; }
#m_sod_bsk_tot dt.pv-bsk-pv { display: flex; align-items: center; }
#m_sod_bsk_tot dd.pv-bsk-pv strong { font-size: 16px; font-weight: 800; color: var(--pv-accent); }
#m_sod_bsk_tot .sod_bsk_cnt, .sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt { margin-top: 0; background: #fff; border-top: 0; color: var(--pv-ink); }
#m_sod_bsk_tot dt.sod_bsk_cnt { color: var(--pv-ink); }
#m_sod_bsk_tot .sod_bsk_cnt strong, .sod_frm_mobile #m_sod_bsk_tot .sod_bsk_cnt strong { color: var(--pv-ink); font-size: 18px; font-weight: 800; }

/* 장바구니 하단 고정 주문 막대 */
#sod_bsk_act { border-top: 1px solid var(--pv-line); }
#sod_bsk_act .btn_submit { height: 50px; border-radius: 25px; }
#sod_bsk_act .total { color: var(--pv-muted); }
#sod_bsk_act .total strong { color: var(--pv-ink); font-weight: 800; }

/* ---------- 주문서 ---------- */
#sod_frm_taker .choice_place, #sod_frm_taker .order_choice_place, .odf_list .dlv_slt { background: var(--pv-soft); border-color: var(--pv-line); }
#sod_frm_orderer .odpw_info { color: var(--pv-accent); }
#sod_frm .tbl_frm01 td .btn_address { background: var(--pv-ink); border-radius: 10px; }
#od_tot_price { background: var(--pv-soft); border-radius: 12px; }
#od_tot_price strong, #sod_frm #sod_bsk_tot .sod_bsk_cnt strong { color: var(--pv-ink); font-weight: 800; }
#sod_frm #sod_bsk_tot .sod_bsk_coupon:before, #sod_frm #sod_bsk_tot .sod_bsk_dvr:before { color: var(--pv-muted); }
#od_pay_sl .lb_icon { border-radius: 10px; }
#od_pay_sl input[type="radio"]:checked + .lb_icon, .sod_frm_pc #sod_frm_pay input[type="radio"]:checked + .lb_icon { border: 2px solid var(--pv-ink); color: var(--pv-ink); }
#sod_frm_pay .pay_tbl td .btn_frmline, .sod_info_option > td .btn_frmline, .sod_info_option .sod_ifop_tit .btn_frmline { border-color: var(--pv-ink); color: var(--pv-ink); }
#display_pay_button .btn_submit, #show_progress + .btn_submit { border-radius: 25px; }

/* ---------- 마이페이지 ---------- */
#smb_my_ov .win_point strong, #smb_my_ov .my_name a.smb_info { color: var(--pv-accent); }
#smb_my_ov .my_pocou li.my_cou a span, #smb_my_ov .my_pocou li.my_memo a span { background: var(--pv-soft); color: var(--pv-ink); font-weight: 700; }
#sod_ws_act .btn02 { background: var(--pv-ink); border-color: var(--pv-ink); border-radius: 25px; }
#sod_inquiry li .inquiry_price { color: var(--pv-ink); }
.pv-my { margin: 16px 12px 20px; }
.pv-my-title { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; font-size: 17px; font-weight: 800; color: var(--pv-ink); }
.pv-my-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--pv-line); border-radius: 14px; overflow: hidden; }
.pv-my-card { padding: 16px; 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: 13px; font-weight: 700; color: var(--pv-sub); }
.pv-my-card strong { display: block; margin: 8px 0 4px; font-size: 22px; font-weight: 800; letter-spacing: -0.5px; color: var(--pv-ink); }
.pv-my-card strong::after { content: " PV"; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.pv-my-card em { display: block; font-style: normal; font-size: 11px; line-height: 1.4; 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: 1px 8px; border-radius: 999px; background: var(--pv-accent-soft); color: var(--pv-accent); font-size: 11px; font-weight: 700; white-space: nowrap; vertical-align: middle; }

/* ---------- 주문상세 ---------- */
#sod_fin_no { margin: 12px; padding: 12px 16px; border: 0; border-radius: 12px; background: var(--pv-soft); color: var(--pv-sub); }
#sod_fin_no strong { color: var(--pv-ink); }
#sod_fin_legend { background: var(--pv-soft); border-color: var(--pv-line); color: var(--pv-sub); }
#sod_fin_view .odf_tbl .dvr_link { color: var(--pv-ink); }
#sod_fin_tot ul { border-color: var(--pv-line); border-radius: 12px; overflow: hidden; }
#sod_fin_tot #alrdy { background: var(--pv-soft); border-top-color: var(--pv-line); }
.pv-view { margin: 0 12px 16px; border: 1px solid var(--pv-line); border-radius: 14px; overflow: hidden; background: #fff; }
.pv-view-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; 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: 15px; font-weight: 800; color: var(--pv-accent); }
.pv-view-total { font-size: 22px; font-weight: 800; letter-spacing: -0.5px; color: var(--pv-accent); white-space: nowrap; }
.pv-view-total small { margin-left: 2px; font-size: 13px; font-weight: 700; }
.pv-view-note { margin: 0; padding: 10px 16px 0; font-size: 12px; color: var(--pv-muted); }
.pv-view ul { margin: 0; padding: 2px 16px 6px; list-style: none; }
.pv-view li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 0; border-bottom: 1px solid var(--pv-line); font-size: 13px; }
.pv-view li:last-child { border-bottom: 0; }
.pv-view .pv-v-name { flex: 1 1 100%; color: var(--pv-ink); font-weight: 500; }
.pv-view .pv-v-calc { flex: 1 1 auto; color: var(--pv-muted); }
.pv-view li strong { color: var(--pv-ink); white-space: nowrap; }
.pv-view li em { font-style: normal; font-size: 11px; padding: 2px 8px; 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); }
#m_sod_bsk_tot dt, #m_sod_bsk_tot dd { box-sizing: border-box; height: 44px; padding-top: 0; padding-bottom: 0; line-height: 44px; }
#m_sod_bsk_tot dt.pv-bsk-pv { line-height: normal; }
#sod_frm #m_sod_bsk_tot dt, #sod_frm #m_sod_bsk_tot dd, .sod_frm_mobile #m_sod_bsk_tot dt, .sod_frm_mobile #m_sod_bsk_tot dd { box-sizing: border-box; height: 44px; margin: 0; padding-top: 0; padding-bottom: 0; line-height: 44px; }
