@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; }

/* ---------- 주문서 정돈 (2026-10-27) ---------- */
.sod_list .prqty_option { display: none; }              /* 옵션가 0 반복 */
.sod_list .sod_opt.pv-opt-dup { display: none; }        /* 옵션 없는 상품의 중복 줄 (pv-order.js) */
#sod_frm_orderer .frm_input.required, #sod_frm_taker .frm_input.required, #sod_frm_orderer .frm_input[required], #sod_frm_taker .frm_input[required] { background-image: none !important; }
#sod_frm_orderer label:has(> strong.sound_only)::after, #sod_frm_taker label:has(> strong.sound_only)::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 4px; border-radius: 50%; background: var(--pv-accent); vertical-align: 3px; }
#sod_frm_orderer .frm_input, #sod_frm_taker .frm_input { height: 46px; border-radius: 10px; border-color: #dcdcd6; padding: 0 12px; box-sizing: border-box; }
#od_addr3, #od_b_addr3 { display: none !important; }
#sod_frm_taker li:has(#ad_subject) { display: none; }   /* 배송지명·기본배송지 */
/* 배송지 선택: 알약 버튼 */
#sod_frm_taker .dlv_slt { background: none; border: 0; padding-left: 0; padding-right: 0; }
#sod_frm_taker .dlv_slt > div { display: flex; flex-wrap: wrap; gap: 6px; }
#sod_frm_taker .dlv_slt br { display: none; }
#sod_frm_taker .dlv_slt input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
#sod_frm_taker .dlv_slt label { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid #dcdcd6; border-radius: 18px; background: #fff; font-size: 13px; color: var(--pv-sub); }
#sod_frm_taker .dlv_slt input[type=radio]:checked + label { border-color: var(--pv-ink); color: var(--pv-ink); font-weight: 700; }
#sod_frm_taker .dlv_slt #order_address { position: static; display: inline-flex; align-items: center; height: 36px; padding: 0 12px; border-radius: 18px; }
/* 결제 */
#sod_frm_pay #sod_frm_pt_alert { display: none; }
#sod_frm_pay tr.pv-zero { display: none; }
#m_sod_frm_paysel ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#m_sod_frm_paysel li { float: none; width: auto; margin: 0; padding: 0; }
#m_sod_frm_paysel input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
#m_sod_frm_paysel .lb_icon { display: flex; align-items: center; justify-content: center; height: 48px; margin: 0; padding: 0; border: 1px solid #dcdcd6; border-radius: 12px; background: #fff; font-size: 14px; font-weight: 600; color: var(--pv-sub); }
#m_sod_frm_paysel .lb_icon:before, #m_sod_frm_paysel .lb_icon:after { display: none; }
#m_sod_frm_paysel input[type=radio]:checked + .lb_icon { border: 2px solid var(--pv-ink); color: var(--pv-ink); }
#m_sod_frm_paysel #settle_bank { margin-top: 8px; padding: 14px 16px; border-radius: 12px; background: var(--pv-soft); font-size: 14px; line-height: 1.7; }
#m_sod_frm_paysel #od_deposit_name { width: 100%; height: 44px; margin-top: 4px; padding: 0 12px; border: 1px solid #dcdcd6; border-radius: 10px; box-sizing: border-box; }
#sod_frm_pay #m_sod_frm_paysel .lb_icon { display: flex !important; width: 100% !important; box-sizing: border-box; background-image: none !important; text-indent: 0; }
#sod_frm_pay #m_sod_frm_paysel #settle_bank { grid-column: 1 / -1; }
#sod_frm_pay #m_sod_frm_paysel #settle_bank label { display: block; margin-top: 8px; font-size: 13px; color: var(--pv-sub); font-weight: 600; }
#sod_frm_pay #m_sod_frm_paysel #od_deposit_name { text-align: left; }
/* 주소: 우편번호 + 주소 검색 버튼 한 줄 */
#sod_frm_orderer .add_num, #sod_frm_taker .add_num { display: flex; gap: 6px; align-items: center; }
#sod_frm_orderer .add_num .frm_input, #sod_frm_taker .add_num .frm_input { flex: 1 1 auto; width: auto; }
#sod_frm_orderer .add_num button, #sod_frm_taker .add_num button, #sod_frm_orderer .btn_address, #sod_frm_taker .btn_address { position: static; flex: none; height: 46px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--pv-ink); color: #fff; font-size: 13px; font-weight: 600; }
#sod_frm_orderer .frm_address, #sod_frm_taker .frm_address { margin-top: 6px; }
/* 주문서 상품: 왼쪽 이미지 + 오른쪽 이름·정보, 아래 주문금액 */
#sod_frm .sod_list, .sod_list { padding: 0 16px; }
.sod_list li.sod_li { display: grid; grid-template-columns: 64px 1fr; column-gap: 12px; row-gap: 6px; align-items: start; margin: 12px 0 0; padding: 14px; border: 1px solid var(--pv-line); border-radius: 14px; background: #fff; }
.sod_list li.sod_li .li_name { grid-column: 2; grid-row: 1; padding: 0; margin: 0; border: 0; }
.sod_list li.sod_li .li_name strong { font-size: 15px; font-weight: 700; line-height: 1.4; color: var(--pv-ink); word-break: keep-all; }
.sod_list li.sod_li .li_op_wr { grid-column: 1; grid-row: 1 / span 2; display: block; padding: 0; margin: 0; border: 0; min-height: 0; }
.sod_list li.sod_li .li_op_wr .total_img { position: static; display: block; float: none; width: 64px; height: 64px; margin: 0; }
.sod_list li.sod_li .li_op_wr .total_img img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; background: var(--pv-soft); }
.sod_list li.sod_li .li_op_wr .sod_opt:not(.pv-opt-dup) { margin-top: 6px; font-size: 12px; }
.sod_list li.sod_li .li_prqty { grid-column: 2; grid-row: 2; display: flex; flex-wrap: wrap; gap: 2px 10px; padding: 0; margin: 0; border: 0; background: none; }
.sod_list li.sod_li .li_prqty .li_prqty_sp { float: none; width: auto; padding: 0; margin: 0; border: 0; font-size: 12px; color: var(--pv-muted); }
.sod_list li.sod_li .li_prqty .li_prqty_sp span { margin-right: 3px; color: var(--pv-muted); }
.sod_list li.sod_li .li_prqty .pv-li-pv, .sod_list li.sod_li .li_prqty .pv-li-pv strong { color: var(--pv-accent); }
.sod_list li.sod_li .total_price { grid-column: 1 / -1; grid-row: 3; display: flex; justify-content: space-between; align-items: center; margin: 6px 0 0; padding: 10px 0 0; border-top: 1px solid var(--pv-line); background: none; border-radius: 0; }
.sod_list li.sod_li .total_price span { font-size: 13px; color: var(--pv-sub); }
.sod_list li.sod_li .total_price strong { font-size: 17px; font-weight: 800; color: var(--pv-ink); }
.sod_list li.sod_li .total_price strong::after { content: "원"; margin-left: 1px; font-size: 13px; font-weight: 600; }
.sod_list li.sod_li .li_op_wr { width: 64px !important; padding: 0 !important; margin: 0 !important; }
.sod_list li.sod_li .li_op_wr .total_img { margin: 0 !important; left: auto !important; top: auto !important; }
/* 상품 카드: 판매가·PV는 아래 주문금액·결제 요약과 겹쳐서 숨김 (수량·배송비만) */
.sod_list li.sod_li .li_prqty .prqty_price, .sod_list li.sod_li .li_prqty .pv-li-pv { display: none; }
/* 결제수단 순서: 신용카드 → 무통장입금 */
#m_sod_frm_paysel li:has(#od_settle_card) { order: 1; }
#m_sod_frm_paysel li:has(#od_settle_bank) { order: 2; }
#m_sod_frm_paysel #settle_bank { order: 3; }
/* 상품 카드: 이름·수량 묶음을 이미지 세로 가운데에 */
.sod_list li.sod_li { grid-template-rows: auto auto; }
.sod_list li.sod_li .li_name { align-self: end; }
.sod_list li.sod_li .li_prqty { align-self: start; }
.sod_list li.sod_li .li_op_wr { align-self: center; }
#m_sod_frm_paysel ul::before, #m_sod_frm_paysel ul::after { display: none !important; content: none !important; }
.sod_list li.sod_li .li_prqty .prqty_sc { display: none; } /* 배송비 선불 표시 숨김 */
