@charset "utf-8";
/* =====================================================================
 * SOSODODAM SHOP DESIGN SYSTEM v1
 * ---------------------------------------------------------------------
 * 로드 위치 : theme/rb.basic/head.sub.php (쇼핑몰 페이지 전용, priority 95)
 * 로드 순서 : default_shop.css → style.shop.css → rb.css/* → 스킨 style.css
 *             → set.color.php → rb.fx → [이 파일]
 *
 * 원칙
 *  - 이미 개편된 화면(장바구니 본체, 상품상세 상단, 카테고리 카드, 헤더,
 *    푸터, 모바일 독, 인증 화면, 소소도담 전용 페이지)은 건드리지 않는다.
 *  - 핑크는 "주요 행동"과 "선택 상태"에만 쓴다. 나머지는 화이트와 옅은 라인.
 *  - 구매 과정은 숫자와 버튼이 먼저 읽히게 한다.
 *  - 레이아웃 순서와 PHP 동작은 바꾸지 않는다.
 *
 * 선택자 규칙
 *  - 레거시 규칙을 이기기 위해 :root 접두어로 특이도를 한 단계 올린다.
 *  - 레거시가 !important 인 속성만 !important 로 덮는다.
 *
 * 섹션
 *  00 토큰                    10 주문서 / 개인결제
 *  01 폼 컨트롤 · 포커스      11 쿠폰 적용 레이어
 *  02 공통 버튼               12 주문상세 · 주문완료
 *  03 주문상태 뱃지           13 주문내역 목록 (표 → 모바일 카드)
 *  04 공통 표                 14 마이페이지
 *  05 빈 상태                 15 위시리스트
 *  06 페이징                  16 쿠폰존
 *  07 팝업(new_win)           17 상품상세 사이드·하단 구매패널 / 탭
 *  08 토스트                  18 구매후기 · 상품문의 (+ 모음 페이지)
 *  09 목록 옵션 레이어·정렬   19 상품검색
 * ===================================================================== */


/* ---------------------------------------------------------------------
 * 00. TOKENS
 * ------------------------------------------------------------------- */
:root {
    --ssd-pink: #F7AFC4;
    --ssd-pink-hover: #F3A0B8;
    --ssd-pink-press: #EE93AE;
    --ssd-ink: #4A3139;             /* 핑크 위 글자 (대비 약 6.6:1) */
    --ssd-deep: #B64F6D;            /* 강조 금액 · 링크 · 선택 · 포커스 */
    --ssd-deep-hover: #9E4260;
    --ssd-soft: #FFF5F8;
    --ssd-soft-2: #FDEAF0;
    --ssd-line-pink: #F0DFE4;

    --ssd-text: #2F2D30;
    --ssd-text-2: #5B565C;
    --ssd-muted: #7A767B;
    --ssd-line: #ECE8EA;
    --ssd-line-strong: #DDD6D9;
    --ssd-surface: #FBFAFB;
    --ssd-white: #FFFFFF;

    --ssd-danger: #B3423F;
    --ssd-danger-soft: #FDF0EF;

    --ssd-r-sm: 8px;
    --ssd-r-md: 12px;
    --ssd-r-lg: 16px;
    --ssd-r-pill: 999px;

    --ssd-shadow: 0 8px 28px rgba(74, 49, 57, .07);
    --ssd-ring: 0 0 0 3px rgba(247, 175, 196, .45);

    --ssd-h-btn: 42px;
    --ssd-h-btn-main: 46px;
    --ssd-h-control: 46px;

    --ssd-dock-space: var(--soso-mobile-dock-space, 0px);
}


/* ---------------------------------------------------------------------
 * 01. FORM CONTROLS · FOCUS
 *  - form.css 의 차콜(#25282B) 선택/포커스를 소소도담 톤으로
 *  - 체크박스/라디오를 display:none → 시각적 숨김으로 바꿔
 *    키보드 탭 이동이 가능하게 한다 (보이는 모양은 동일)
 * ------------------------------------------------------------------- */
:root input[type="checkbox"],
:root input[type="radio"] {
    display: block;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    pointer-events: none;
}

:root input[type="checkbox"] + label:before,
:root input[type="radio"] + label:before {
    border-color: var(--ssd-line-strong);
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

:root input[type="checkbox"]:checked + label:before {
    border-color: var(--ssd-deep);
    background: var(--ssd-deep);
}
:root input[type="checkbox"] + label:after {
    border-color: #fff;
}
:root input[type="checkbox"]:not(:checked) + label:after {
    display: none;
}
:root input[type="radio"]:checked + label:before {
    border-color: var(--ssd-deep);
    background: #fff;
}
:root input[type="radio"] + label:after {
    background: var(--ssd-deep);
}
:root input[type="checkbox"]:focus-visible + label:before,
:root input[type="radio"]:focus-visible + label:before {
    box-shadow: var(--ssd-ring);
}
:root input[type="checkbox"]:checked[disabled] + label:before {
    border-color: var(--ssd-line);
    background: var(--ssd-surface);
}

:root input[type=text]:focus,
:root input[type=tel]:focus,
:root input[type=password]:focus,
:root input[type=email]:focus,
:root input[type=number]:focus,
:root input[type=date]:focus,
:root textarea:focus,
:root select:focus,
:root .select:focus {
    border-color: var(--ssd-deep) !important;
    box-shadow: var(--ssd-ring) !important;
    outline: none;
}
:root .select:hover {
    border-color: var(--ssd-line-strong);
}

/* 키보드 포커스 링: 마우스 클릭에는 나타나지 않는다 */
:root a:focus-visible,
:root button:focus-visible,
:root [role="button"]:focus-visible,
:root summary:focus-visible {
    outline: 2px solid var(--ssd-deep) !important;
    outline-offset: 2px !important;
}

/* 금액 숫자 폭 고정 */
:root .total_price,
:root .sct_cost,
:root #od_tot_price strong,
:root #sod_bsk_tot strong,
:root #sod_bsk_tot2 strong,
:root .rb_price_v_wrap .pri,
:root .sit_tot_price,
:root .ssd-order-price {
    font-variant-numeric: tabular-nums;
}


/* ---------------------------------------------------------------------
 * 02. BUTTONS (쇼핑 과정 컨테이너 안에서만)
 *  주요 = 핑크 채움 / 보조 = 흰 바탕 + 핑크 라인 / 위험 = 붉은 라인
 * ------------------------------------------------------------------- */

/* 주요 버튼 */
:root #forderform #display_pay_button .btn_submit,
:root #sod_fin .rb-purchase-confirm-btn,
:root .new_win .win_btn .btn_submit,
:root .new_win .btn_confirm .btn_submit,
:root #sod_ws_act .btn02,
:root #smb_ws_act .btn02,
:root .od_coupon .btn_confirm .btn_submit,
:root #sod_fin_cancelfrm .btn_frmline,
:root #sit_buy .sit_order_btn .sit_btn_buy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: var(--ssd-h-btn) !important;
    height: auto !important;
    padding: 0 18px !important;
    border: 1px solid var(--ssd-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: var(--ssd-pink) !important;
    background-color: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, transform .1s ease;
}
:root #forderform #display_pay_button .btn_submit:hover,
:root #sod_fin .rb-purchase-confirm-btn:hover,
:root .new_win .win_btn .btn_submit:hover,
:root .new_win .btn_confirm .btn_submit:hover,
:root #sod_ws_act .btn02:hover,
:root #smb_ws_act .btn02:hover,
:root .od_coupon .btn_confirm .btn_submit:hover,
:root #sod_fin_cancelfrm .btn_frmline:hover,
:root #sit_buy .sit_order_btn .sit_btn_buy:hover {
    border-color: var(--ssd-pink-hover) !important;
    background: var(--ssd-pink-hover) !important;
    background-color: var(--ssd-pink-hover) !important;
}
:root #forderform #display_pay_button .btn_submit:active,
:root #sod_fin .rb-purchase-confirm-btn:active,
:root #sit_buy .sit_order_btn .sit_btn_buy:active {
    background: var(--ssd-pink-press) !important;
    background-color: var(--ssd-pink-press) !important;
    transform: translateY(1px);
}
:root #forderform #display_pay_button .btn_submit[disabled],
:root #sod_fin .rb-purchase-confirm-btn[disabled] {
    border-color: var(--ssd-line) !important;
    background: var(--ssd-surface) !important;
    background-color: var(--ssd-surface) !important;
    color: var(--ssd-muted) !important;
    cursor: not-allowed;
}

/* 보조 버튼 */
:root #forderform #display_pay_button .btn01,
:root #forderform .btn_frmline,
:root #forderform .btn_address,
:root #sod_fin .btn_frmline,
:root #sod_fin .sod_fin_c_btn,
:root .new_win .win_btn .btn_close,
:root .new_win .btn_close,
:root .new_win .mng_btn,
:root #sod_ws_act .btn01,
:root #smb_ws_act .btn01,
:root .od_coupon .btn_frmline,
:root .od_coupon .cp_apply,
:root .od_coupon .btn_close,
:root #sit_buy .sit_order_btn .sit_btn_cart,
:root #smb_my .more_btn,
:root .sit_use_cmd a.btn01,
:root .sit_qa_cmd a.btn01 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 12px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: var(--ssd-white) !important;
    background-color: var(--ssd-white) !important;
    color: var(--ssd-deep) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease;
}
:root #forderform #display_pay_button .btn01:hover,
:root #forderform .btn_frmline:hover,
:root #forderform .btn_address:hover,
:root #sod_fin .btn_frmline:hover,
:root #sod_fin .sod_fin_c_btn:hover,
:root .new_win .win_btn .btn_close:hover,
:root .new_win .btn_close:hover,
:root .new_win .mng_btn:hover,
:root #sod_ws_act .btn01:hover,
:root #smb_ws_act .btn01:hover,
:root .od_coupon .btn_frmline:hover,
:root .od_coupon .cp_apply:hover,
:root .od_coupon .btn_close:hover,
:root #sit_buy .sit_order_btn .sit_btn_cart:hover,
:root #smb_my .more_btn:hover,
:root .sit_use_cmd a.btn01:hover,
:root .sit_qa_cmd a.btn01:hover {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-soft) !important;
    background-color: var(--ssd-soft) !important;
    color: var(--ssd-deep-hover) !important;
}

/* 주문 취소 = 위험 동작 */
:root #sod_fin_cancel .sod_fin_c_btn {
    width: 100%;
    min-height: var(--ssd-h-btn);
    border-color: #EFD3D1 !important;
    color: var(--ssd-danger) !important;
}
:root #sod_fin_cancel .sod_fin_c_btn:hover {
    border-color: var(--ssd-danger) !important;
    background: var(--ssd-danger-soft) !important;
    background-color: var(--ssd-danger-soft) !important;
    color: var(--ssd-danger) !important;
}


/* ---------------------------------------------------------------------
 * 03. ORDER STATUS BADGES (.status_01 ~ 06)
 *  주문내역 · 마이페이지 공통. 원색 대신 옅은 배경 + 진한 글자
 * ------------------------------------------------------------------- */
:root .status_01,
:root .status_02,
:root .status_03,
:root .status_04,
:root .status_05,
:root .status_06 {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: var(--ssd-r-pill);
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    border: 0;
}
:root .status_01 { background: #FFF4E0; color: #8A5A10; }   /* 입금확인중 */
:root .status_02 { background: #EAF6EF; color: #2A6E4C; }   /* 입금완료   */
:root .status_03 { background: #EFEEFB; color: #54489C; }   /* 상품준비중 */
:root .status_04 { background: #E8F2FB; color: #2A6190; }   /* 상품배송   */
:root .status_05 { background: var(--ssd-soft-2); color: #97405B; } /* 완료 */
:root .status_06 { background: #F1EFF0; color: #6E6A70; }   /* 취소       */


/* ---------------------------------------------------------------------
 * 04. TABLES (쇼핑 과정 표 공통)
 *  - 상단 검정(2px #000, #454545) 테두리 제거
 *  - 머리행은 옅은 배경, 행 구분은 얇은 라인
 * ------------------------------------------------------------------- */
:root #sod_fin .tbl_head01 table,
:root #sod_fin .tbl_head03 table,
:root #forderform .tbl_head03 table,
:root .ssd-order-table table,
:root .new_win .tbl_head03 table,
:root .od_coupon .tbl_head02 table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border-bottom: 0 !important;
}
:root #sod_fin .tbl_head01 thead th,
:root #sod_fin .tbl_head03 thead th,
:root #forderform .tbl_head03 thead th,
:root .ssd-order-table thead th,
:root .new_win .tbl_head03 thead th,
:root .od_coupon .tbl_head02 thead th {
    padding: 12px 10px !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--ssd-line) !important;
    background: var(--ssd-surface) !important;
    color: var(--ssd-text-2) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}
:root #sod_fin .tbl_head01 thead tr th:first-child,
:root #sod_fin .tbl_head03 thead tr th:first-child,
:root #forderform .tbl_head03 thead tr th:first-child,
:root .ssd-order-table thead tr th:first-child { border-top-left-radius: var(--ssd-r-sm); }
:root #sod_fin .tbl_head01 thead tr th:last-child,
:root #sod_fin .tbl_head03 thead tr th:last-child,
:root #forderform .tbl_head03 thead tr th:last-child,
:root .ssd-order-table thead tr th:last-child { border-top-right-radius: var(--ssd-r-sm); }

:root #sod_fin .tbl_head01 td,
:root #sod_fin .tbl_head01 tbody th,
:root #sod_fin .tbl_head03 td,
:root #forderform .tbl_head03 td,
:root .ssd-order-table td,
:root .new_win .tbl_head03 td,
:root .od_coupon .tbl_head02 td {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #F3EFF1 !important;
    color: var(--ssd-text);
    font-size: 14px;
}
:root #sod_fin .tbl_head01 tbody th {
    color: var(--ssd-muted);
    font-weight: 500;
    background: transparent;
}

/* 표 가로 스크롤 방지: 1024px 고정폭 해제 (쇼핑 과정 표만) */
@media (max-width:1024px) {
    :root #forderform .tbl_head03 table,
    :root #sod_fin .tbl_head03 table,
    :root .ssd-order-table table {
        width: 100% !important;
    }
}


/* ---------------------------------------------------------------------
 * 05. EMPTY STATES
 *  11종 빈 상태 클래스를 한 모양으로
 * ------------------------------------------------------------------- */
:root .da_data,
:root .sct_noitem,
:root .sit_empty,
:root #sps_empty,
:root #sqa_empty,
:root .no-cate,
:root .couponzone_list .no_coupon,
:root #coupon .empty_li,
:root .od_coupon .empty_list,
:root #sit_rel .no_data {
    display: block !important;
    position: relative;
    margin: 12px 0 !important;
    padding: 44px 20px !important;
    border: 1px dashed var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: var(--ssd-soft) !important;
    color: var(--ssd-text-2) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    float: none !important;
    width: auto !important;
}
:root td.empty_table {
    padding: 40px 16px !important;
    background: var(--ssd-soft) !important;
    color: var(--ssd-text-2) !important;
    font-size: 14px !important;
    text-align: center !important;
    border-radius: var(--ssd-r-md);
}


/* ---------------------------------------------------------------------
 * 06. PAGINATION (쇼핑몰)
 * ------------------------------------------------------------------- */
:root .pg_wrap .pg_page,
:root .pg_wrap .pg_current {
    min-width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: var(--ssd-r-md) !important;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}
:root .pg_wrap .pg_page:hover {
    background: var(--ssd-soft);
    color: var(--ssd-deep);
}
:root main .pg_wrap .pg_current,
:root .pg_wrap .pg_current {
    background: var(--ssd-pink) !important;
    background-color: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
    font-weight: 700;
}


/* ---------------------------------------------------------------------
 * 07. POPUPS (.new_win)
 *  쿠폰함 · 배송지 목록 · 후기/문의 작성 · 큰이미지
 * ------------------------------------------------------------------- */
:root .new_win {
    background: var(--ssd-white);
    color: var(--ssd-text);
}
:root .new_win #win_title {
    padding: 20px 24px !important;
    border-bottom: 1px solid var(--ssd-line) !important;
    background: var(--ssd-white) !important;
    color: var(--ssd-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
:root .new_win .new_win_con {
    padding: 20px 24px;
}
:root .new_win .win_btn {
    display: flex;
    gap: 8px;
    justify-content: center;
    padding: 16px 24px 24px;
    text-align: center;
}
:root .new_win .win_btn > * {
    flex: 1 1 0;
    max-width: 220px;
}
:root .new_win .win_desc {
    border-radius: var(--ssd-r-md) !important;
    background: var(--ssd-surface) !important;
    color: var(--ssd-text-2);
}

/* 쿠폰함 (마이페이지 → 쿠폰) */
:root #coupon ul {
    padding: 16px 24px;
}
:root #coupon li {
    position: relative;
    margin: 0 0 10px !important;
    padding: 16px 18px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: var(--ssd-white) !important;
    list-style: none;
}
:root #coupon .cou_top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}
:root #coupon .cou_tit {
    color: var(--ssd-text);
    font-size: 15px;
    font-weight: 700;
}
:root #coupon .cou_pri {
    float: none !important;
    color: var(--ssd-deep) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}
:root #coupon .cou_target,
:root #coupon .cou_date {
    color: var(--ssd-muted);
    font-size: 13px;
}

/* 배송지 목록 */
:root #sod_addr .td_address .frm_input {
    border-radius: var(--ssd-r-sm) !important;
}
:root #sod_addr .ad_tel {
    color: var(--ssd-text-2);
}
:root #sod_addr .default_lb {
    border-color: var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-pill) !important;
    color: var(--ssd-deep) !important;
}

/* 후기 작성: 평점 라디오 → 선택 칩 */
:root #sit_use_write_star li {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}
:root #sit_use_write_star input[type="radio"] + label {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid var(--ssd-line-pink);
    border-radius: var(--ssd-r-pill);
    background: var(--ssd-white);
    color: var(--ssd-text-2);
    font-size: 14px;
    line-height: 1 !important;
}
:root #sit_use_write_star input[type="radio"] + label:before,
:root #sit_use_write_star input[type="radio"] + label:after {
    display: none !important;
}
:root #sit_use_write_star input[type="radio"]:checked + label {
    border-color: var(--ssd-pink);
    background: var(--ssd-pink);
    color: var(--ssd-ink);
    font-weight: 700;
}
:root #sit_use_write_star input[type="radio"]:focus-visible + label {
    box-shadow: var(--ssd-ring);
}

/* 큰이미지 */
:root #sit_pvi_nwbig img {
    border-radius: var(--ssd-r-md);
}
:root #sit_pvi_nw .img_thumb img,
:root #sit_pvi_nw ul li img {
    border-radius: var(--ssd-r-sm);
}


/* ---------------------------------------------------------------------
 * 08. TOAST (theme.shop.list.js → mainCart.notify)
 * ------------------------------------------------------------------- */
.ssd-toast-host {
    position: fixed;
    left: 50%;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    z-index: 10050;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: min(420px, calc(100vw - 32px));
    transform: translateX(-50%);
    pointer-events: none;
}
@media (max-width:1024px) {
    .ssd-toast-host {
        bottom: calc(var(--ssd-dock-space) + 12px);
    }
}
.ssd-toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 12px 14px 18px;
    border-radius: var(--ssd-r-lg);
    background: #3A2E33;
    color: #fff;
    box-shadow: 0 12px 32px rgba(40, 24, 31, .22);
    font-size: 14px;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: auto;
}
.ssd-toast.is-in {
    opacity: 1;
    transform: translateY(0);
}
.ssd-toast--success {
    border-left: 4px solid var(--ssd-pink);
}
.ssd-toast--error {
    border-left: 4px solid #F08A84;
}
.ssd-toast__text {
    flex: 1 1 auto;
    margin: 0;
    white-space: pre-line;
    word-break: keep-all;
}
.ssd-toast__action {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: var(--ssd-r-sm);
    background: var(--ssd-pink);
    color: var(--ssd-ink) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}
.ssd-toast__action:hover {
    background: var(--ssd-pink-hover);
}
.ssd-toast__close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: var(--ssd-r-sm);
    background: transparent;
    color: rgba(255, 255, 255, .7);
    cursor: pointer;
}
.ssd-toast__close:hover {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}
@media (prefers-reduced-motion: reduce) {
    .ssd-toast { transition: none; transform: none; }
}


/* ---------------------------------------------------------------------
 * 09. PRODUCT LIST: 옵션 레이어 · 공유 레이어 · 정렬 · 태블릿 보정
 * ------------------------------------------------------------------- */

/* 장바구니 옵션 선택 레이어 (ajax.action.php → .sct_cartop_wr) */
:root .sct_cartop_wr {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    height: auto !important;
    padding: 16px !important;
    border: 1px solid var(--ssd-line-pink);
    border-radius: var(--ssd-r-lg);
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: var(--ssd-shadow);
    opacity: 1 !important;
    overflow-y: auto;
    text-align: left;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
:root .sct_cartop_wr form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
:root .sct_cartop_wr label {
    color: var(--ssd-text-2);
    font-size: 13px;
    font-weight: 600;
}
:root .sct_cartop_wr select,
:root .sct_cartop_wr .it_option {
    width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 12px;
    border: 1px solid var(--ssd-line-strong);
    border-radius: var(--ssd-r-md);
    background-color: #fff;
    color: var(--ssd-text);
    font-size: 14px;
}
:root .sct_cartop_wr .cartopt_cart_btn,
:root .sct_cartop_wr .cartopt_close_btn {
    width: 100% !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: var(--ssd-r-md) !important;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}
:root .sct_cartop_wr .cartopt_cart_btn {
    border: 1px solid var(--ssd-pink) !important;
    background: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
}
:root .sct_cartop_wr .cartopt_cart_btn:hover {
    background: var(--ssd-pink-hover) !important;
}
:root .sct_cartop_wr .cartopt_close_btn {
    border: 1px solid var(--ssd-line-pink) !important;
    background: #fff !important;
    color: var(--ssd-text-2) !important;
    font-weight: 600;
}

/* 목록 SNS 공유 레이어 */
:root .sct_sns {
    padding: 14px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: #fff !important;
    box-shadow: var(--ssd-shadow) !important;
}
:root .sct_sns h3 {
    margin-bottom: 8px;
    color: var(--ssd-text);
    font-size: 13px;
    font-weight: 700;
}
:root .sct_sns a img {
    border-radius: var(--ssd-r-sm);
}

/* 정렬 버튼 글자: 11px → 13px (높이 32px) */
@media (min-width:768px) {
    :root #sct_sortlst #sct_sort.pc #ssch_sort li a {
        min-height: 32px !important;
        height: 32px !important;
        font-size: 13px !important;
        line-height: 32px !important;
    }
}

/* list.40 태블릿(769~1179px): 오른쪽 190px 빈칸 제거 */
@media (min-width:769px) and (max-width:1179px) {
    :root .sct_40 .sct_txt,
    :root .sct_40 .sct_basic,
    :root .sct_40 .rb-stock-line,
    :root .sct_40 .sododam-list40-actions {
        margin-right: 0 !important;
    }
    :root .sct_40 .sct_icon {
        position: static !important;
        justify-content: flex-start !important;
        margin: 0 0 5px !important;
    }
}


/* ---------------------------------------------------------------------
 * 10. ORDER FORM (주문서) · PERSONAL PAY (개인결제)
 *  구조는 그대로. 색 · 라운드 · 금액 위계 · 결제수단 타일 · 모바일 카드
 * ------------------------------------------------------------------- */

/* 영카트 파란 파일주문 태그 */
:root .rb-file-order-tag {
    background: var(--ssd-soft-2) !important;
    color: #97405B !important;
    border-radius: var(--ssd-r-pill) !important;
    font-weight: 600;
}

/* 섹션 제목 */
:root #sod_frm_orderer h2,
:root #sod_frm_taker h2,
:root #personal_pay h2 {
    color: var(--ssd-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* 주문자/받는분 표 */
:root #sod_frm .tbl_frm01 th {
    color: var(--ssd-text-2);
    font-size: 14px;
    font-weight: 600 !important;
}
:root #sod_frm .tbl_frm01 td,
:root #sod_frm .tbl_frm01 th {
    border-color: #F3EFF1 !important;
}
:root #sod_frm_taker {
    margin-top: 28px !important;
}
:root #sod_frm_taker .order_choice_place {
    background: var(--ssd-surface) !important;
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-md) !important;
}

:root #sod_frm #sod_frm_pt_alert,
:root #sdd_delivery_policy_detail {
    color: var(--ssd-muted) !important;
}

/* 주문상품 표: 상품명/소계 강조 */
:root #sod_list .td_prd,
:root #sod_list .sod_name {
    color: var(--ssd-text);
}
:root #sod_list .total_price {
    color: var(--ssd-text);
    font-weight: 700;
}
:root .sod_opt li:before,
:root #sod_fin_list .sod_name .sod_opt:before {
    background: var(--ssd-soft-2) !important;
    color: #97405B !important;
    border-radius: var(--ssd-r-pill) !important;
}

/* 오른쪽 금액 요약 */
:root #forderform .sod_right #sod_bsk_tot,
:root #sod_frm #sod_bsk_tot {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
    overflow: hidden;
}
:root #sod_frm #sod_bsk_tot li {
    border-color: #F3EFF1 !important;
    background: #fff !important;
}
:root #sod_frm #sod_bsk_tot li span {
    color: var(--ssd-muted) !important;
    font-size: 13px;
    font-weight: 500 !important;
}
:root #sod_frm #sod_bsk_tot li strong {
    color: var(--ssd-text);
    font-weight: 700;
}
:root #sod_frm #sod_bsk_tot .sod_bsk_coupon:before,
:root #sod_frm #sod_bsk_tot .sod_bsk_dvr:before {
    border-color: var(--ssd-line) !important;
    background: #fff !important;
    color: var(--ssd-muted) !important;
}
:root #sod_frm #sod_bsk_tot .sod_bsk_cnt {
    background: var(--ssd-soft) !important;
}
:root #sod_frm #sod_bsk_tot .sod_bsk_cnt span {
    color: var(--ssd-text) !important;
    font-weight: 700 !important;
}
:root #sod_frm #sod_bsk_tot .sod_bsk_cnt strong {
    color: var(--ssd-deep) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* 결제정보 표 */
:root #sod_frm_pay .pay_tbl,
:root #forderform .sod_right .pay_tbl {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    overflow: hidden;
}
:root #sod_frm_pay .pay_tbl th,
:root #sod_frm_pay .pay_tbl td {
    border-color: #F3EFF1 !important;
    color: var(--ssd-text);
}
:root #sod_frm_pay .pay_tbl th {
    color: var(--ssd-text-2) !important;
    font-weight: 600 !important;
}
:root #sod_frm_pay .pay_tbl td .btn_frmline,
:root #sod_frm_pay .pay_tbl td .cp_cancel {
    min-height: 32px !important;
    height: auto !important;
    padding: 0 10px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-sm) !important;
    background: #fff !important;
    color: var(--ssd-deep) !important;
    font-size: 13px !important;
    line-height: 30px !important;
}

/* 총 결제금액 */
:root #od_tot_price {
    display: block;
    margin: 12px 0 !important;
    padding: 18px 20px !important;
    border: 1px solid var(--ssd-line-pink);
    border-radius: var(--ssd-r-lg) !important;
    background: var(--ssd-soft) !important;
    line-height: 1.3 !important;
}
:root #od_tot_price {
    text-align: right !important;
    color: var(--ssd-text);
    font-size: 15px;
}
:root #od_tot_price:after {
    content: "";
    display: block;
    clear: both;
}
:root #od_tot_price span {
    float: left !important;
    color: var(--ssd-text) !important;
    font-size: 15px;
    font-weight: 700 !important;
    line-height: 34px;
}
:root #od_tot_price strong {
    margin-right: 2px;
    color: var(--ssd-deep) !important;
    font-size: 26px !important;
    line-height: 34px;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}

/* 결제수단 타일 */
:root #od_pay_sl h3 {
    color: var(--ssd-text);
    font-size: 15px;
    font-weight: 700;
}
:root #od_pay_sl .lb_icon {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-md);
    background-color: #fff;
    color: var(--ssd-text-2);
    font-size: 14px;
    transition: border-color .15s ease, background-color .15s ease;
}
:root #sod_frm_paysel .lb_icon {
    margin: 0 !important;
}
:root #sod_frm_paysel ul.pay_way,
:root #sod_frm_paysel .pay_way {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
:root #sod_frm_paysel ul.pay_way > li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
:root #sod_frm_paysel .pay_way .lb_icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: 100% !important;
    min-height: 46px;
    height: auto !important;
    padding: 0 12px !important;
    line-height: 1.3 !important;
    box-sizing: border-box;
    text-align: center;
}
:root #od_pay_sl .lb_icon:hover {
    border-color: var(--ssd-pink) !important;
}
:root #od_pay_sl input[type="radio"]:checked + .lb_icon,
:root #sod_frm_pay input[type="radio"]:checked + .lb_icon {
    border: 1px solid var(--ssd-deep) !important;
    background-color: var(--ssd-soft) !important;
    color: var(--ssd-deep) !important;
    box-shadow: inset 0 0 0 1px var(--ssd-deep);
}
:root #od_pay_sl input[type="radio"]:focus-visible + .lb_icon {
    box-shadow: var(--ssd-ring);
}

/* 무통장 입금 계좌 */
:root #settle_bank {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-md);
    background: var(--ssd-surface) !important;
}
:root #settle_bank {
    padding: 12px 16px !important;
}
:root #settle_bank select,
:root #settle_bank input {
    height: 40px !important;
    border-color: var(--ssd-line-strong) !important;
    border-radius: var(--ssd-r-sm) !important;
    background-color: #fff !important;
}

/* 결제 버튼 영역 */
:root #forderform .od_pay_buttons_el {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
}
/* 주문하기 영역: 상자 없이 버튼만 (PG orderform.3.php → #display_pay_button) */
:root #display_pay_button,
:root #forderform #display_pay_button {
    margin: 0 !important;
    padding: 16px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
:root #forderform #display_pay_button .btn_submit {
    width: 100%;
    min-height: var(--ssd-h-btn-main) !important;
    font-size: 15px !important;
}
/* 취소는 조용한 텍스트형: 주요 버튼보다 확실히 작게 */
:root #forderform #display_pay_button .btn01 {
    width: 100%;
    min-height: 36px !important;
    height: 36px !important;
    margin-top: 6px !important;
    border-color: transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--ssd-muted) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 36px !important;
}
:root #forderform #display_pay_button .btn01:hover {
    border-color: transparent !important;
    background: var(--ssd-surface) !important;
    background-color: var(--ssd-surface) !important;
    color: var(--ssd-text) !important;
}
:root #forderform .od_pay_buttons_el {
    padding: 16px !important;
}
:root #forderform .od_pay_buttons_el h3 {
    margin: 0 0 12px !important;
    color: var(--ssd-text);
    font-size: 15px;
    font-weight: 700;
}

/* 결제수단: 실제 마크업은 fieldset 안에 radio + label 이 바로 나열됨 */
:root #sod_frm_paysel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}
:root #sod_frm_paysel legend {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
:root #sod_frm_paysel .lb_icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: 100% !important;
    min-height: 46px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 12px !important;
    line-height: 1.3 !important;
    text-align: center;
    box-sizing: border-box;
    z-index: auto !important;
}
:root #sod_frm_paysel label.lb_icon:only-of-type {
    grid-column: 1 / -1;
}

/* 포인트 사용 */
:root #sod_frm_pay .sod_frm_point {
    margin: 12px 0 0 !important;
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
    overflow: hidden;
}
:root #sod_frm_pay .sod_frm_point > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 16px !important;
    border-bottom: 1px solid #F3EFF1;
    color: var(--ssd-text-2);
    font-size: 14px;
}
:root #sod_frm_pay .sod_frm_point > div:first-child label {
    flex: 1 1 auto;
    color: var(--ssd-text);
    font-size: 14px;
    font-weight: 600 !important;
}
:root #sod_frm_pay .sod_frm_point #od_temp_point {
    width: 110px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid var(--ssd-line-strong) !important;
    border-radius: var(--ssd-r-sm) !important;
    text-align: right;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}
:root #sod_frm_pay .sod_frm_point #sod_frm_pt {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px 16px !important;
    background: var(--ssd-surface) !important;
}
:root #sod_frm_pay .sod_frm_point #sod_frm_pt span {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    width: auto !important;
    color: var(--ssd-text);
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}
:root #sod_frm_pay .sod_frm_point #sod_frm_pt strong {
    float: none !important;
    color: var(--ssd-muted) !important;
    font-size: 13.5px;
    font-weight: 500 !important;
}
:root #sod_frm_pay .sod_frm_point #sod_frm_pt em {
    color: var(--ssd-deep);
    font-style: normal;
    font-weight: 700;
}

/* 우편번호 칸이 좁아 "우편번호" 가 잘리던 문제 */
:root #sod_frm #od_zip,
:root #sod_frm #od_b_zip {
    width: 120px !important;
    padding: 0 14px !important;
}
:root #forderform .btn_address {
    height: 47px !important;
    min-height: 47px !important;
}

/* 주문서 상품표: 태블릿·모바일 카드 (열 순서 고정: 상품명/총수량/판매가/옵션가/소계/포인트/배송비) */
@media (max-width:1024px) {
    :root #forderform .od_prd_list {
        overflow: visible !important;
    }
    :root #sod_list,
    :root #sod_list tbody {
        display: block;
        width: 100% !important;
    }
    :root #sod_list thead {
        display: none;
    }
    :root #sod_list tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 16px;
        margin: 0 0 10px;
        padding: 16px;
        border: 1px solid var(--ssd-line);
        border-radius: var(--ssd-r-lg);
        background: #fff;
    }
    :root #forderform #sod_list td {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: right !important;
        font-size: 14px;
    }
    :root #forderform #sod_list td:first-child {
        display: block;
        position: relative;
        grid-column: 1 / -1;
        min-height: 76px;
        padding: 0 0 12px 76px !important;
        border-bottom: 1px solid #F3EFF1 !important;
        text-align: left !important;
    }
    :root #sod_list td:first-child .sod_img {
        top: 0 !important;
        left: 0 !important;
    }
    :root #sod_list td:first-child .sod_img img {
        width: 64px !important;
        height: 64px !important;
        object-fit: cover;
        border-radius: var(--ssd-r-sm);
    }
    :root #sod_list td:first-child .sod_name {
        min-height: 0 !important;
    }
    :root #sod_frm .tbl_frm01 th,
    :root #sod_frm .tbl_frm01 td {
        display: block;
        width: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        line-height: 1.5 !important;
    }
    :root #sod_frm .tbl_frm01 th {
        padding-top: 12px !important;
        padding-bottom: 6px !important;
        border-bottom: 0 !important;
    }
    :root #sod_frm .tbl_frm01 td {
        padding-top: 0 !important;
        padding-bottom: 12px !important;
    }
    :root #sod_frm #od_name,
    :root #sod_frm #od_tel,
    :root #sod_frm #od_hp,
    :root #sod_frm #od_b_name,
    :root #sod_frm #od_b_tel,
    :root #sod_frm #od_b_hp,
    :root #sod_frm .frm_address {
        width: 100% !important;
    }
    :root #sod_list td:nth-child(n+2):before {
        flex: 0 0 auto;
        color: var(--ssd-muted);
        font-size: 13px;
        font-weight: 500;
        text-align: left;
    }
    :root #sod_list td:nth-child(2):before { content: "수량"; }
    :root #sod_list td:nth-child(3):before { content: "판매가"; }
    :root #sod_list td:nth-child(4):before { content: "옵션가"; }
    :root #sod_list td:nth-child(5):before { content: "소계"; }
    :root #sod_list td:nth-child(6):before { content: "포인트"; }
    :root #sod_list td:nth-child(7):before { content: "배송비"; }
    :root #forderform #sod_list td:nth-child(5) {
        grid-column: 1 / -1;
        padding-top: 8px !important;
        border-top: 1px dashed var(--ssd-line) !important;
    }
    :root #sod_list td:nth-child(5) .total_price {
        color: var(--ssd-deep);
        font-size: 16px;
    }
    :root #od_tot_price strong {
        font-size: 22px !important;
    }
    :root #sod_frm_paysel ul.pay_way,
    :root #sod_frm_paysel .pay_way {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------------------
 * 11. COUPON LAYERS (주문서 쿠폰 적용: ordercoupon / orderitemcoupon)
 * ------------------------------------------------------------------- */
:root .od_coupon {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(40, 24, 31, .16) !important;
    overflow: hidden;
}
:root .od_coupon h3 {
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--ssd-line) !important;
    color: var(--ssd-text);
    font-size: 16px;
    font-weight: 700;
}
:root .od_coupon .btn_confirm {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    padding: 12px 20px 16px;
}


/* ---------------------------------------------------------------------
 * 12. ORDER DETAIL · ORDER COMPLETE (orderinquiryview.php)
 * ------------------------------------------------------------------- */

/* 주문번호 */
:root #sod_fin_no {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px 20px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: var(--ssd-soft) !important;
    color: var(--ssd-text-2) !important;
    font-size: 15px !important;
}
:root #sod_fin_no strong {
    color: var(--ssd-text);
    font-size: 20px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: .01em;
}

/* 상단 요청/문서 도구 (sosododam_ops) */
:root #sod_fin .sdd-order-tools {
    border-color: var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: var(--ssd-surface) !important;
}
:root #sod_fin .sdd-order-tools a {
    min-height: 40px !important;
    border-color: var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    color: var(--ssd-text) !important;
    font-size: 14px !important;
}
:root #sod_fin .sdd-order-tools a:hover {
    background: var(--ssd-soft) !important;
    border-color: var(--ssd-pink) !important;
}
:root #sod_fin .sdd-order-tools a.sdd-primary {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
}
:root #sod_fin .sdd-request-history {
    border-color: var(--ssd-line) !important;
    border-radius: var(--ssd-r-md) !important;
}

/* 섹션 제목 */
:root #sod_fin h2,
:root #sod_fin h3 {
    color: var(--ssd-text);
    font-weight: 700;
}
:root #sod_fin .sod_left .tbl_head01 {
    border: 1px solid var(--ssd-line);
    border-radius: var(--ssd-r-lg) !important;
    background: #fff;
}

/* 상태설명 */
:root #sod_sts_wrap .btn_frmline {
    min-height: 34px;
    font-size: 13px !important;
}
:root #sod_fin_legend {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-md) !important;
    background: var(--ssd-surface) !important;
    color: var(--ssd-text-2);
    font-size: 13.5px;
    line-height: 1.8;
}
:root #sod_fin_legend dt {
    color: var(--ssd-deep);
    font-weight: 700 !important;
}

/* 금액 합계 (영카트 파란 테두리 · 파란 합계 제거) */
:root #sod_bsk_tot2 {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff;
    overflow: hidden;
}
:root #sod_bsk_tot2 li {
    border-color: #F3EFF1 !important;
    background: #fff !important;
    color: var(--ssd-text);
    font-size: 14px;
}
:root #sod_bsk_tot2 li span {
    color: var(--ssd-muted);
}
:root #sod_bsk_tot2 li.sod_fin_tot {
    border-top: 1px solid var(--ssd-line-pink) !important;
    background: var(--ssd-soft) !important;
}
:root #sod_bsk_tot2 li.sod_fin_tot span {
    color: var(--ssd-text);
    font-weight: 700;
}
:root #sod_bsk_tot2 li.sod_fin_tot strong {
    color: var(--ssd-deep) !important;
    font-size: 18px !important;
    font-weight: 800;
}
:root #sod_bsk_tot2 li#alrdy div p {
    border-radius: var(--ssd-r-sm);
    background: #fff !important;
    color: var(--ssd-text-2);
}

/* 구매 확정 버튼 (이전엔 CSS 없음 → 브라우저 기본 모양) */
:root #sod_fin .rb-purchase-confirm-btn {
    width: 100%;
    margin: 0 0 16px;
    font-family: inherit;
}

/* 결제정보 박스 */
:root #sod_fin_pay {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
}
:root #sod_fin_pay h3 {
    border-bottom: 1px solid var(--ssd-line) !important;
    color: var(--ssd-text);
    font-size: 16px !important;
    font-weight: 700;
}
:root #sod_fin_pay li > strong {
    color: var(--ssd-muted);
    font-weight: 500;
    font-size: 13px;
}
:root #sod_fin_pay li > span {
    color: var(--ssd-text);
}

/* 배송조회 링크 → 버튼 */
:root #sod_fin .dvr_link {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 4px 0 0 4px;
    padding: 0 12px;
    border: 1px solid var(--ssd-line-pink);
    border-radius: var(--ssd-r-pill);
    background: #fff;
    color: var(--ssd-deep) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    vertical-align: middle;
}
:root #sod_fin .dvr_link:hover {
    border-color: var(--ssd-pink);
    background: var(--ssd-soft);
}
:root #sod_fin .sdd-delivery-note {
    border-radius: var(--ssd-r-sm) !important;
}

/* 주문 취소 팝업 */
:root #sod_fin_cancelfrm {
    width: min(360px, calc(100vw - 32px)) !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: var(--ssd-r-lg) !important;
    transform: translate(-50%, -50%);
    box-shadow: 0 18px 48px rgba(40, 24, 31, .18) !important;
}
:root #sod_fin_cancelfrm h2 {
    padding: 16px 20px;
    border-bottom: 1px solid var(--ssd-line);
    color: var(--ssd-text);
    font-size: 16px;
    font-weight: 700;
    text-align: left;
}
:root #sod_fin_cancelfrm .frm_input {
    height: var(--ssd-h-control);
}
:root #sod_fin_cancelfrm .btn_frmline {
    width: 100%;
    margin-top: 8px;
}
:root #sod_fin_cancel p {
    border: 1px solid #EFD3D1 !important;
    border-radius: var(--ssd-r-md);
    background: var(--ssd-danger-soft) !important;
    color: var(--ssd-danger) !important;
    font-size: 15px !important;
}

/* 주문상세 상품표: 태블릿·모바일 카드 (열은 headers 속성으로 라벨) */
@media (max-width:1024px) {
    :root #sod_fin_list .tbl_head03 {
        overflow: visible !important;
    }
    :root #sod_fin_list .tbl_head03 table,
    :root #sod_fin_list .tbl_head03 tbody {
        display: block;
        width: 100% !important;
    }
    :root #sod_fin_list .tbl_head03 thead {
        display: none;
    }
    :root #sod_fin_list .tbl_head03 tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 16px;
        margin: 0 0 10px;
        padding: 16px;
        border: 1px solid var(--ssd-line);
        border-radius: var(--ssd-r-lg);
        background: #fff;
    }
    :root #sod_fin #sod_fin_list .tbl_head03 td {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: right !important;
        font-size: 14px;
    }
    :root #sod_fin #sod_fin_list .tbl_head03 td.td_prd {
        display: block;
        position: relative;
        grid-column: 1 / -1;
        min-height: 60px;
        padding: 0 0 12px 72px !important;
        border-bottom: 1px solid #F3EFF1 !important;
        text-align: left !important;
    }
    :root #sod_fin_list .sod_img {
        top: 0 !important;
        left: 0 !important;
    }
    :root #sod_fin_list .sod_img img {
        border-radius: var(--ssd-r-sm);
    }
    :root #sod_fin_list .sod_name {
        width: auto !important;
    }
    :root #sod_fin_list .tbl_head03 td[headers]:not(.td_prd):before {
        flex: 0 0 auto;
        color: var(--ssd-muted);
        font-size: 13px;
        font-weight: 500;
        text-align: left;
    }
    :root #sod_fin_list td[headers="th_itqty"]:before   { content: "수량"; }
    :root #sod_fin_list td[headers="th_itprice"]:before { content: "판매가"; }
    :root #sod_fin_list td[headers="th_itpt"]:before    { content: "포인트"; }
    :root #sod_fin_list td[headers="th_itsd"]:before    { content: "배송비"; }
    :root #sod_fin_list td[headers="th_itsum"]:before   { content: "소계"; }
    :root #sod_fin_list td[headers="th_itst"]:before    { content: "상태"; }
    :root #sod_fin_list td[headers="th_partner"]:before { content: "판매자"; }
    :root #sod_fin_list td[headers="th_itsum"] {
        font-weight: 700;
        color: var(--ssd-deep);
    }

    /* 주문자·받는분·배송 표: 머리칸 위, 값 아래 */
    :root #sod_fin .tbl_head01 tbody th,
    :root #sod_fin .tbl_head01 tbody td {
        display: block;
        width: auto !important;
        text-align: left !important;
    }
    :root #sod_fin .tbl_head01 tbody th {
        padding: 12px 0 2px !important;
        border-bottom: 0 !important;
        font-size: 13px;
    }
    :root #sod_fin .tbl_head01 tbody td {
        padding: 0 0 12px !important;
    }
    :root #sod_fin .sdd-delivery-table table,
    :root #sod_fin .sdd-delivery-table tbody,
    :root #sod_fin .sdd-delivery-table tr {
        display: block;
    }
    :root #sod_fin .sdd-delivery-table thead {
        display: none;
    }
    :root #sod_fin .sdd-delivery-table tr {
        padding: 12px 0;
        border-bottom: 1px solid #F3EFF1;
    }
    :root #sod_fin .sdd-delivery-table td {
        border-bottom: 0 !important;
        padding: 2px 0 !important;
    }
    :root #sod_fin_no strong {
        font-size: 18px;
    }
}


/* ---------------------------------------------------------------------
 * 13. ORDER LIST (orderinquiry.sub.php → .ssd-order-table)
 * ------------------------------------------------------------------- */
:root .ssd-order-count {
    margin: 0 0 12px;
    color: var(--ssd-muted);
    font-size: 14px;
}
:root .ssd-order-count strong {
    color: var(--ssd-text);
    font-weight: 700;
}
:root .ssd-order-table {
    border: 1px solid var(--ssd-line);
    border-radius: var(--ssd-r-lg);
    background: #fff;
    overflow: hidden;
}
:root .ssd-order-table td {
    padding: 14px 10px !important;
}
:root .ssd-order-table tbody tr:last-child td {
    border-bottom: 0 !important;
}
:root .ssd-order-table tbody tr.ssd-order-row:hover td {
    background: var(--ssd-soft);
}
:root .ssd-order-table .ssd-order-no a {
    color: var(--ssd-text);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-decoration: none;
}
:root .ssd-order-table .ssd-order-no a:hover {
    color: var(--ssd-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}
:root .ssd-order-table .ssd-order-date {
    color: var(--ssd-text-2);
    font-size: 13.5px;
}
:root .ssd-order-table .ssd-order-price {
    color: var(--ssd-text);
    font-weight: 700;
}

@media (max-width:768px) {
    :root .ssd-order-table {
        border: 0;
        border-radius: 0;
        background: transparent;
        overflow: visible;
    }
    :root .ssd-order-table table,
    :root .ssd-order-table tbody {
        display: block;
        width: 100% !important;
    }
    :root .ssd-order-table thead {
        display: none;
    }
    :root .ssd-order-table tr.ssd-order-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "no     status"
            "date   date"
            "qty    price";
        gap: 6px 12px;
        margin: 0 0 10px;
        padding: 16px;
        border: 1px solid var(--ssd-line);
        border-radius: var(--ssd-r-lg);
        background: #fff;
    }
    :root .ssd-order-table tr.ssd-order-row td {
        display: block;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }
    :root .ssd-order-table .ssd-order-no     { grid-area: no; }
    :root .ssd-order-table .ssd-order-status { grid-area: status; justify-self: end; }
    :root .ssd-order-table .ssd-order-date   { grid-area: date; }
    :root .ssd-order-table .ssd-order-qty    { grid-area: qty; color: var(--ssd-muted); font-size: 13.5px; }
    :root .ssd-order-table .ssd-order-price  { grid-area: price; justify-self: end; font-size: 16px; }
    :root .ssd-order-table,
    :root .ssd-order-table table {
        border: 0 !important;
    }
    :root .ssd-order-table tr.ssd-order-empty td {
        border: 0 !important;
    }
    :root .ssd-order-table .ssd-order-qty:before {
        content: "상품 ";
    }
    :root .ssd-order-table .ssd-order-qty:after {
        content: "개";
    }
    :root .ssd-order-table tr.ssd-order-empty,
    :root .ssd-order-table tr.ssd-order-empty td {
        display: block;
    }
}


/* ---------------------------------------------------------------------
 * 14. MYPAGE (shop/mypage.php)
 * ------------------------------------------------------------------- */
:root #smb_my_ov {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
}
:root #smb_my_ov .smb_me a {
    border-color: var(--ssd-line-pink) !important;
    color: var(--ssd-text-2) !important;
}
:root #smb_my_ov .smb_me a:hover,
:root #smb_my_ov a:hover {
    border-color: var(--ssd-pink) !important;
    color: var(--ssd-deep) !important;
}
:root #smb_my_ov .smb_me a.smb_info {
    color: var(--ssd-deep) !important;
}
:root #smb_private a strong,
:root #smb_private li:hover i {
    color: var(--ssd-deep) !important;
}
:root #smb_private li a:hover:after {
    background: var(--ssd-pink) !important;
}
:root #smb_my_ov .op_area dt {
    color: var(--ssd-muted) !important;
    font-size: 12.5px !important;
}
:root #smb_my_ov .op_area dd {
    color: var(--ssd-text);
}
:root #smb_my_ov h3 {
    color: var(--ssd-text);
    font-weight: 700;
}
:root #smb_my .withdrawal {
    color: var(--ssd-muted) !important;
    font-size: 13px;
}
:root #smb_my .more_btn {
    min-height: 34px;
    padding: 0 12px !important;
    font-size: 13px !important;
}
:root #smb_my_list section + section {
    margin-top: 32px;
}
:root .smb_my_od .cost {
    color: var(--ssd-deep) !important;
}

/* 찜 목록 카드 (인라인 width 15%/80% 보정) */
:root #smb_my_wish .v_ch_list {
    width: 88px !important;
    flex: 0 0 88px;
}
:root #smb_my_wish .v_ch_list_r {
    width: auto !important;
    flex: 1 1 auto;
    min-width: 0;
}
:root #smb_my_wish .v_ch_list img {
    border-radius: var(--ssd-r-md);
}


/* ---------------------------------------------------------------------
 * 15. WISHLIST (shop/wishlist.php)
 * ------------------------------------------------------------------- */
:root #sod_ws .rb_shop_list_item_img img {
    border-radius: var(--ssd-r-md);
}
:root #sod_ws li .wish_del {
    border-radius: var(--ssd-r-sm);
    background: var(--ssd-surface) !important;
    color: var(--ssd-muted) !important;
}
:root #sod_ws li .wish_del:hover {
    background: var(--ssd-danger-soft) !important;
    color: var(--ssd-danger) !important;
}
:root #sod_ws_act,
:root #smb_ws_act {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
:root #sod_ws_act button,
:root #smb_ws_act button {
    min-width: 180px;
    width: auto !important;
    margin: 0 !important;
}
@media (max-width:1024px) {
    :root #sod_ws_act button,
    :root #smb_ws_act button {
        flex: 1 1 100%;
        min-width: 0;
    }
}


/* ---------------------------------------------------------------------
 * 16. COUPON ZONE (couponzone.10.skin.php)
 * ------------------------------------------------------------------- */
:root .couponzone_list h2 {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 0 6px !important;
    color: var(--ssd-text);
    font-size: 20px !important;
    font-weight: 700;
}
:root .couponzone_list > p:not(.no_coupon) {
    position: static !important;
    margin: 0 0 16px !important;
    color: var(--ssd-muted) !important;
    font-size: 14px;
}
:root .couponzone_list ul {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}
:root .couponzone_list ul li .cp_inner {
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff;
    overflow: hidden;
}
:root .couponzone_list ul li .coupon_img {
    border-bottom: 1px dashed var(--ssd-line-pink) !important;
}
:root .couponzone_list ul li .coupon_tit .cp_evt,
:root .couponzone_list ul li .coupon_tit .cp_evt b {
    color: var(--ssd-deep);
}
:root .couponzone_list ul li .coupon_target > button {
    padding: 4px 10px !important;
    border-radius: var(--ssd-r-pill) !important;
    background: var(--ssd-soft-2) !important;
    color: #97405B !important;
    font-size: 12.5px !important;
    font-weight: 600;
}
:root .couponzone_list ul li .coupon_date {
    color: var(--ssd-muted) !important;
    font-size: 12.5px !important;
}
:root .couponzone_list ul li .coupon_info {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-md) !important;
    box-shadow: var(--ssd-shadow);
}
:root .couponzone_list ul li .coupon_btn .btn02 {
    min-height: 44px;
    height: 44px !important;
    border: 1px solid var(--ssd-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: var(--ssd-pink) !important;
    background-color: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 42px !important;
}
:root .couponzone_list ul li .coupon_btn .btn02:hover {
    background: var(--ssd-pink-hover) !important;
    background-color: var(--ssd-pink-hover) !important;
}
:root .couponzone_list ul li .coupon_btn .btn02.disabled,
:root .couponzone_list ul li .coupon_btn .disabled {
    border-color: var(--ssd-line) !important;
    background: var(--ssd-surface) !important;
    background-color: var(--ssd-surface) !important;
    color: var(--ssd-muted) !important;
    cursor: default;
}
/* 버그 수정: ≤1024px 에서 ".couponzone_list p {display:none}" 이 빈 안내문까지 숨기던 문제 */
@media (max-width:1024px) {
    :root .couponzone_list .no_coupon {
        display: block !important;
    }
}


/* ---------------------------------------------------------------------
 * 17. ITEM DETAIL: 사이드/하단 구매패널 (#sit_buy) · 하단 탭 (#sit_tab)
 *  상단(item.form.skin.php 인라인 V1/V2)은 건드리지 않는다.
 * ------------------------------------------------------------------- */
:root #sit_buy .sit_side_option h3,
:root #sit_buy .sit_sel_option h3 {
    color: var(--ssd-text);
    font-size: 14px;
    font-weight: 700;
}
:root .sit_side_option select {
    border-color: var(--ssd-line-strong) !important;
    border-radius: var(--ssd-r-md) !important;
}
:root #sit_buy .sit_opt_added li,
:root .sit_sel_option .sit_opt_added li {
    border-radius: var(--ssd-r-md);
    background: var(--ssd-surface);
}
:root .sit_sel_option .num_input,
:root #sit_opt_added .num_input {
    border-radius: var(--ssd-r-sm) !important;
    text-align: center;
}
:root .sit_sel_option .sit_qty_minus,
:root .sit_sel_option .sit_qty_plus,
:root .sit_sel_option .sit_opt_del,
:root #sit_opt_added .sit_opt_del {
    border-color: var(--ssd-line-strong) !important;
    border-radius: var(--ssd-r-sm) !important;
    background: #fff;
    color: var(--ssd-text-2);
}
:root .sit_tot_price strong {
    color: var(--ssd-deep);
    font-weight: 800 !important;
}
:root #sit_buy .sit_order_btn button {
    width: 100%;
    min-height: var(--ssd-h-btn-main) !important;
}
:root #sit_buy .sit_order_btn .sit_btn_cart {
    margin-bottom: 6px !important;
}
/* 모바일 하단 시트: 기존과 같은 배치 (바로구매 왼쪽 · 장바구니 오른쪽) */
@media (max-width:1024px) {
    :root #sit_buy .sit_order_btn {
        display: flex;
        gap: 8px;
    }
    :root #sit_buy .sit_order_btn button {
        float: none !important;
        flex: 1 1 0;
        width: auto !important;
        margin: 0 !important;
    }
    :root #sit_buy .sit_order_btn .sit_btn_buy {
        order: -1;
    }
}

/* 모바일 하단 시트 (≤1024px) */
@media (max-width:1024px) {
    :root #sit_buy {
        border: 1px solid var(--ssd-line) !important;
        border-bottom: 0 !important;
        border-top-left-radius: 24px !important;
        border-top-right-radius: 24px !important;
        box-shadow: 0 -12px 36px rgba(40, 24, 31, .10) !important;
    }
    :root .sit_buy_tog button {
        border: 1px solid var(--ssd-line) !important;
        border-bottom: 0 !important;
        background: #fff !important;
    }
    :root .sit_buy_tog button path[fill] {
        fill: var(--ssd-deep);
    }
    :root .sum_section {
        border-top: 1px solid var(--ssd-line) !important;
        border-left: 0 !important;
        border-right: 0 !important;
        box-shadow: 0 -6px 18px rgba(40, 24, 31, .06);
    }
}

/* 하단 탭: 1100px 이하도 소소도담 핑크 (PC 는 style.shop.css PINK_V2 유지) */
@media (max-width:1100px) {
    :root #sit_tab .tab_tit li button {
        min-height: 44px;
        color: var(--ssd-muted) !important;
        font-size: 15px !important;
    }
    :root #sit_tab .tab_tit li button.selected {
        color: var(--ssd-deep) !important;
        font-weight: 700 !important;
        box-shadow: inset 0 -2px 0 var(--ssd-deep) !important;
    }
    :root #sit_tab .tab_tit {
        background: rgba(255, 255, 255, .96) !important;
        border-bottom: 1px solid var(--ssd-line) !important;
    }
}

/* 평점 요약 박스 */
:root .star_av_wrap {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
}


/* ---------------------------------------------------------------------
 * 18. REVIEWS · Q&A (상세 탭 + itemuselist / itemqalist)
 * ------------------------------------------------------------------- */
:root .ssd-secret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-left: 4px;
    border-radius: var(--ssd-r-pill);
    background: var(--ssd-surface);
    color: var(--ssd-muted);
    font-size: 11px;
    vertical-align: 1px;
}
:root .sit_use_top,
:root .sit_qa_p {
    background: var(--ssd-surface) !important;
    border-radius: var(--ssd-r-md) !important;
}
:root .sit_use_li,
:root .sit_qa_li {
    border-color: #F3EFF1 !important;
}
:root .sit_use_li_title:hover,
:root .sit_qa_li_title:hover {
    color: var(--ssd-deep) !important;
}
:root #sit_use_wbtn a,
:root #sit_qa_wbtn a {
    border-color: var(--ssd-line-pink) !important;
    background: #fff !important;
    color: var(--ssd-deep) !important;
    font-weight: 600 !important;
}
:root #sit_use_wbtn a:hover,
:root #sit_qa_wbtn a:hover {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-soft) !important;
}
:root #sit_use_wbtn a.btn02,
:root #sit_qa_wbtn a.btn02 {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
}
:root .sit_qaa_yet,
:root .sit_qaa_done {
    border-radius: var(--ssd-r-pill) !important;
    font-size: 12.5px !important;
}
:root .sit_qaa_done {
    background: var(--ssd-soft-2) !important;
    color: #97405B !important;
}
:root .sit_qaa_yet {
    background: var(--ssd-surface) !important;
    color: var(--ssd-muted) !important;
}
:root .sit_use_reply,
:root .sit_qa_qaa {
    border-radius: var(--ssd-r-md);
}

/* 모음 페이지 */
:root #sps li,
:root #sqa li {
    border-color: #F3EFF1 !important;
}
:root .sps_con_btn button,
:root .sqa_con_btn button {
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: #fff !important;
    color: var(--ssd-deep) !important;
}
:root .sps_con_btn button:hover,
:root .sqa_con_btn button:hover,
:root .sps_con_btn button.review_detail:hover {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-soft) !important;
    color: var(--ssd-deep-hover) !important;
}
:root .sps_img img,
:root .sqa_img img,
:root .sps_rv_thum img {
    border-radius: var(--ssd-r-md);
}
:root .review_detail_in {
    border-radius: var(--ssd-r-lg) !important;
    box-shadow: 0 18px 48px rgba(40, 24, 31, .18) !important;
}


/* ---------------------------------------------------------------------
 * 19. SEARCH (search.skin.php)
 * ------------------------------------------------------------------- */
:root #ssch_frm {
    border: 1px solid var(--ssd-line) !important;
    border-radius: var(--ssd-r-lg) !important;
    background: #fff !important;
}
:root #ssch_cate {
    background: var(--ssd-surface) !important;
    border-radius: var(--ssd-r-md) !important;
}
:root #ssch_cate a:hover {
    color: var(--ssd-deep) !important;
}
:root .irs--flat .irs-bar {
    background-color: var(--ssd-deep) !important;
}
:root .irs--flat .irs-handle > i:first-child {
    border: 2px solid var(--ssd-deep);
    box-shadow: none !important;
}
:root .irs--flat .irs-from,
:root .irs--flat .irs-to,
:root .irs--flat .irs-single {
    background-color: var(--ssd-deep) !important;
    border-radius: var(--ssd-r-sm);
}
:root .irs--flat .irs-from:before,
:root .irs--flat .irs-to:before,
:root .irs--flat .irs-single:before {
    border-top-color: var(--ssd-deep) !important;
}
:root #ssch .ssch_result_total,
:root #ssch h2 strong {
    color: var(--ssd-deep);
}


/* ---------------------------------------------------------------------
 * 20. CART EMPTY STATE (shop/cart.php → .sdd-cart-empty)
 *  장바구니가 비었을 때: 목록 머리·선택삭제 도구·주문요약을 감추고
 *  가운데 안내 카드 하나만 보여준다. (:has 미지원 브라우저는 카드만 적용)
 * ------------------------------------------------------------------- */
#sod_bsk .sdd-cart-layout:has(.sdd-cart-empty) {
    grid-template-columns: minmax(0, 1fr) !important;
}
#sod_bsk .sdd-cart-layout:has(.sdd-cart-empty) .sdd-cart-side,
#sod_bsk .sdd-cart-layout:has(.sdd-cart-empty) .sdd-cart-list-head,
#sod_bsk .sdd-cart-layout:has(.sdd-cart-empty) .btn_cart_del {
    display: none !important;
}
#sod_bsk .sdd-cart-main:has(.sdd-cart-empty) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
#sod_bsk .tbl_head03 tr.sdd-cart-empty-row {
    display: block !important;
    border: 0 !important;
}
#sod_bsk .tbl_head03 td.sdd-cart-empty {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 340px;
    padding: 56px 24px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #FFF8FA 0%, #FFFFFF 70%) !important;
    color: var(--ssd-text) !important;
    text-align: center !important;
}
#sod_bsk .sdd-cart-empty__art {
    display: grid;
    place-items: center;
    width: 96px;
    height: 96px;
    margin: 0 0 10px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 10px 28px rgba(182, 79, 109, .10);
}
#sod_bsk .sdd-cart-empty__title {
    display: block;
    color: var(--ssd-text) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.4;
}
#sod_bsk .sdd-cart-empty__desc {
    margin: 0 0 14px !important;
    color: var(--ssd-muted) !important;
    font-size: 14px !important;
    line-height: 1.6;
}
#sod_bsk .sdd-cart-empty__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
#sod_bsk .sdd-cart-empty__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid var(--ssd-line-pink) !important;
    border-radius: var(--ssd-r-md) !important;
    background: #fff !important;
    color: var(--ssd-deep) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background-color .15s ease, border-color .15s ease;
}
#sod_bsk .sdd-cart-empty__btn:hover {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-soft) !important;
}
#sod_bsk .sdd-cart-empty__btn.is-primary {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-pink) !important;
    color: var(--ssd-ink) !important;
    font-weight: 700 !important;
}
#sod_bsk .sdd-cart-empty__btn.is-primary:hover {
    background: var(--ssd-pink-hover) !important;
}
@media (max-width:720px) {
    #sod_bsk .tbl_head03 td.sdd-cart-empty {
        min-height: 300px;
        padding: 44px 18px !important;
    }
    #sod_bsk .sdd-cart-empty__actions {
        flex-direction: column;
        width: 100%;
        max-width: 280px;
    }
    #sod_bsk .sdd-cart-empty__btn {
        width: 100%;
    }
}
#sod_bsk .tbl_wrap:has(.sdd-cart-empty),
#sod_bsk .tbl_wrap:has(.sdd-cart-empty) table,
#sod_bsk .tbl_wrap:has(.sdd-cart-empty) tbody {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
#sod_bsk .tbl_wrap:has(.sdd-cart-empty) thead {
    display: none !important;
}

/* v1.2 주문서 세부 보정 */
:root #sod_frm_pay .sod_frm_point > div:first-child label {
    text-align: left !important;
}
:root #sod_frm_pay .sod_frm_point #sod_frm_pt span:after,
:root #sod_frm_pay .sod_frm_point #sod_frm_pt span:before {
    display: none !important;
    content: none !important;
}
:root #sod_frm_pay .pay_tbl td.sod_frm_flex {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}
:root #sod_frm_pay .pay_tbl td.sod_frm_flex .btn_frmline {
    margin-left: 10px !important;
}
:root #sod_frm_pay #settle_bank {
    margin-top: 12px !important;
    border-radius: var(--ssd-r-lg) !important;
}

/* v1.2 쿠폰 다운로드 버튼 글자 세로 정렬 */
:root .couponzone_list ul li .coupon_btn .btn02 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 12px !important;
    line-height: 1.2 !important;
}

/* v1.2 후기/문의 "내용보기" 토글 */
:root .sit_use_li_title,
:root .sit_qa_li_title {
    border-color: var(--ssd-line) !important;
    border-radius: var(--ssd-r-sm) !important;
    background: #fff !important;
    color: var(--ssd-text-2) !important;
}
:root .sit_use_li_title:hover {
    border-color: var(--ssd-pink) !important;
    background: var(--ssd-soft) !important;
}
:root .sit_qa_li_title {
    border: 0 !important;
    background: transparent !important;
    color: var(--ssd-text) !important;
}

/* v1.3 결제수단 타일 축소: 높이 46→40px, 결제수단이 1개면 한 줄 전체 대신 작은 선택칩 */
:root #sod_frm_paysel .lb_icon {
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600;
}
:root #sod_frm_paysel label.lb_icon:only-of-type {
    grid-column: auto;
    justify-self: start;
    width: auto !important;
    min-width: 132px;
}
:root #od_pay_sl input[type="radio"]:checked + .lb_icon,
:root #sod_frm_pay input[type="radio"]:checked + .lb_icon {
    box-shadow: none !important;
}
:root #forderform .od_pay_buttons_el {
    padding: 14px 16px !important;
}
:root #forderform .od_pay_buttons_el h3 {
    margin: 0 0 10px !important;
    font-size: 14px !important;
}
