@charset "utf-8";
/* ULFINE 쇼핑몰 기본 CSS — default.css 공유 */
@import url('./default.css');

/* ── 쇼핑몰 전용 추가 스타일 ── */

/* 상품 이미지 */
.shop_item_img { max-width: 100%; height: auto; }

/* 장바구니 수량 입력 */
.it_qty { width: 50px; text-align: center; border: 1px solid #d0d3db; border-radius: 3px; padding: 4px; }

/* 주문서 */
.od_wrap { max-width: 900px; margin: 0 auto; }
.od_title { font-size: 1.2em; font-weight: 700; color: #1A2342; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 2px solid #1A2342; }

/* 상품 옵션 */
.sit_opt_name { font-weight: 700; color: #1A2342; }
.sit_sopt { border: 1px solid #e2e8f0; background: #fff; padding: 6px 10px; border-radius: 4px; width: 100%; }

/* 결제 버튼 */
.btn_order { display: inline-block; background: #1A2342; color: #fff; padding: 14px 32px; font-size: 1rem; font-weight: 700; border: none; cursor: pointer; border-radius: 4px; transition: background .2s; }
.btn_order:hover { background: #2A52BE; }
.btn_cart  { display: inline-block; background: #fff; color: #1A2342; border: 2px solid #1A2342; padding: 12px 32px; font-size: 1rem; font-weight: 700; cursor: pointer; border-radius: 4px; transition: all .2s; }
.btn_cart:hover { background: #f0f4ff; }

/* 상품 가격 */
.sit_price { font-size: 1.5rem; font-weight: 900; color: #1A2342; }
.sit_consumer_price { color: #94a3b8; text-decoration: line-through; font-size: .875rem; }

/* 마이페이지 */
.mypage_wrap { max-width: 1000px; margin: 0 auto; }

/* ULFINE width alignment */
#ulf-page-wrap,
#container,
.sct_wrap,
#sct,
#sit_ov_from,
#sit_ov_wrap,
#sit_tab,
#sit_info,
#sit_inf,
#sit_use,
#sit_qa,
#sit_dvr,
#sit_ex {
    width:100%;
    max-width:none !important;
}

#ulf-page-wrap,
#container,
.sct_wrap,
#sct,
#sit_ov_from {
    margin-left:auto;
    margin-right:auto;
}

.ulf-shop-hero { margin-bottom:28px; padding:28px 0 22px; border-bottom:1px solid #e2e8f0; }
.ulf-shop-hero p { font-size:12px; font-weight:900; letter-spacing:.12em; color:#2A52BE; margin-bottom:6px; }
.ulf-shop-hero h2 { font-size:32px; line-height:1.15; font-weight:900; color:#1A2342; }

#smb_my, .ulf-cart { max-width:1180px; margin:0 auto; }
#smb_my_ov, #smb_my_od, #smb_my_wish, .ulf-cart-panel, .ulf-cart-summary { background:#fff; border:1px solid #e2e8f0; border-radius:14px; box-shadow:0 14px 40px rgba(26,35,66,.06); }
#smb_my_ov { padding:28px; margin-bottom:22px; }
#smb_my_ov h2, #smb_my_od h2, #smb_my_wish h2 { font-size:20px; font-weight:900; color:#1A2342; margin-bottom:18px; }
#smb_my .smb_me { display:flex; align-items:center; gap:12px; padding:18px; margin-bottom:18px; border-radius:12px; background:#F5F7FA; }
#smb_my .my_ov_name { color:#1A2342; font-size:18px; }
#smb_private { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
#smb_private a { display:block; padding:18px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; color:#475569; text-decoration:none; }
#smb_private strong { display:block; margin-top:8px; color:#1A2342; font-size:22px; font-weight:900; }
#smb_my .op_area { display:grid; grid-template-columns:130px 1fr; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; }
#smb_my .op_area dt, #smb_my .op_area dd { padding:13px 16px; border-bottom:1px solid #edf2f7; font-size:14px; }
#smb_my .op_area dt { background:#F5F7FA; color:#1A2342; font-weight:800; }
#smb_my .op_area dd { color:#475569; }
#smb_my .withdrawal { display:inline-flex; margin-top:14px; color:#94a3b8; font-size:13px; }
#smb_my_list { display:grid; grid-template-columns:1.2fr .8fr; gap:22px; }
#smb_my_od, #smb_my_wish { padding:24px; overflow:hidden; }
#smb_my .smb_my_more a, #smb_ws_act .btn01, #smb_ws_act .btn02 { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 16px; border-radius:10px; font-weight:800; text-decoration:none; }
#smb_my .smb_my_more a, #smb_ws_act .btn01 { border:1px solid #cbd5e1; color:#475569; background:#fff; }
#smb_ws_act .btn02 { border:1px solid #1A2342; color:#fff; background:#1A2342; }
#smb_my_wish ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#smb_my_wish li { position:relative; min-height:150px; padding:16px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
#smb_my_wish .smb_my_img img { width:76px; height:76px; object-fit:cover; border-radius:10px; background:#f8fafc; }
#smb_my_wish .smb_my_tit a { display:block; margin-top:10px; color:#1A2342; font-weight:800; text-decoration:none; }

.ulf-cart-panel { padding:0; overflow:hidden; }
.ulf-cart-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid #e2e8f0; background:#F5F7FA; }
.ulf-cart-check { display:inline-flex; align-items:center; gap:8px; font-weight:900; color:#1A2342; }
.ulf-cart-guide { font-size:13px; color:#64748b; }
.ulf-cart-item { display:grid; grid-template-columns:38px 112px minmax(0,1fr) 220px 150px; align-items:center; gap:18px; padding:22px; border-bottom:1px solid #edf2f7; }
.ulf-cart-thumb { display:flex; align-items:center; justify-content:center; width:110px; height:110px; border-radius:12px; background:#f8fafc; overflow:hidden; }
.ulf-cart-thumb img { max-width:100%; max-height:100%; object-fit:cover; }
.ulf-cart-title { display:block; margin-bottom:10px; color:#1A2342; font-size:17px; font-weight:900; text-decoration:none; }
.ulf-cart .sod_opt { font-size:13px; color:#64748b; line-height:1.6; }
.ulf-cart .mod_options { margin-top:10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#475569; padding:7px 10px; font-weight:800; font-size:12px; }
.ulf-cart-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ulf-cart-meta span { padding:10px; border-radius:10px; background:#F5F7FA; color:#64748b; font-size:12px; text-align:center; }
.ulf-cart-meta b { display:block; margin-top:4px; color:#1A2342; font-size:14px; }
.ulf-cart-price { text-align:right; }
.ulf-cart-price span { display:block; color:#94a3b8; font-size:12px; font-weight:700; }
.ulf-cart-price strong { display:block; margin-top:6px; color:#1A2342; font-size:20px; font-weight:900; }
.ulf-cart-empty { padding:70px 20px; text-align:center; color:#94a3b8; font-weight:800; }
.ulf-cart .btn_cart_del { display:flex; gap:8px; padding:18px 22px; border:0; background:#fff; }
.ulf-cart-summary { margin-top:18px; padding:22px; }
.ulf-cart-summary li { display:flex; align-items:center; justify-content:space-between; padding:10px 0; color:#64748b; font-size:14px; }
.ulf-cart-summary li.total { margin-top:8px; padding-top:18px; border-top:2px solid #1A2342; color:#1A2342; }
.ulf-cart-summary strong { color:#1A2342; font-size:18px; font-weight:900; }
.ulf-cart-summary li.total strong { font-size:26px; }
.ulf-cart-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:18px; }
.ulf-cart-actions .btn01, .ulf-cart-actions .btn_submit { display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 24px; border-radius:12px; font-weight:900; text-decoration:none; }
.ulf-cart-actions .btn01 { border:1px solid #cbd5e1; background:#fff; color:#475569; }
.ulf-cart-actions .btn_submit { border:1px solid #1A2342; background:#1A2342; color:#fff; }

@media (max-width:900px) {
    #smb_private { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #smb_my_list { grid-template-columns:1fr; }
    .ulf-cart-item { grid-template-columns:32px 90px minmax(0,1fr); align-items:start; }
    .ulf-cart-thumb { width:90px; height:90px; }
    .ulf-cart-meta, .ulf-cart-price { grid-column:3; text-align:left; }
}
@media (max-width:560px) {
    #smb_private, #smb_my_wish ul { grid-template-columns:1fr; }
    #smb_my .op_area { grid-template-columns:1fr; }
    .ulf-cart-head { align-items:flex-start; flex-direction:column; }
    .ulf-cart-item { grid-template-columns:28px 78px minmax(0,1fr); gap:12px; padding:16px; }
    .ulf-cart-thumb { width:78px; height:78px; }
    .ulf-cart-meta { grid-template-columns:1fr; }
    .ulf-cart-actions { flex-direction:column; align-items:stretch; }
}

/* ULFINE refined cart */
.ulf-cart {
    width:100%;
    max-width:none;
    margin:0 auto;
    padding:8px 0 54px;
}
.ulf-cart-hero {
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:26px;
    padding:10px 0 24px;
    border-bottom:1px solid #e2e8f0;
}
.ulf-cart-hero p {
    margin:0;
    color:#2A52BE;
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
}
.ulf-cart-hero h2 {
    margin:0;
    color:#1A2342;
    font-size:34px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:0;
}
.ulf-cart-hero span {
    color:#64748b;
    font-size:14px;
    font-weight:600;
}
.ulf-cart-shell {
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:24px;
    align-items:start;
}
.ulf-cart-panel,
.ulf-cart-summary {
    border-radius:8px;
    border:1px solid #e2e8f0;
    box-shadow:0 18px 44px rgba(15,23,42,.05);
    background:#fff;
}
.ulf-cart-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:66px;
    padding:18px 22px;
    background:#fbfcfe;
    border-bottom:1px solid #e2e8f0;
}
.ulf-cart-check {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#1A2342;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}
.ulf-cart-check input,
.ulf-cart-item-check input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
}
.ulf-cart-check > span,
.ulf-cart-item-check label span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border:1.5px solid #cbd5e1;
    border-radius:6px;
    background:#fff;
    transition:all .16s ease;
}
.ulf-cart-check input:checked + span,
.ulf-cart-item-check input:checked + label span {
    border-color:#2A52BE;
    background:#2A52BE;
}
.ulf-cart-check input:checked + span:after,
.ulf-cart-item-check input:checked + label span:after {
    content:"";
    width:9px;
    height:5px;
    border-left:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(-45deg) translate(1px,-1px);
}
.ulf-cart-guide {
    color:#64748b;
    font-size:13px;
    font-weight:600;
}
.ulf-cart-list {
    background:#fff;
}
.ulf-cart-item {
    display:grid;
    align-items:center;
    grid-template-columns:36px 120px minmax(0,1fr) 218px 142px;
    gap:20px;
    padding:24px 22px;
    border-bottom:1px solid #edf2f7;
    transition:background .18s ease;
}
.ulf-cart-item:last-child { border-bottom:0; }
.ulf-cart-item:hover {
    background:#fbfcfe;
}
.ulf-cart-item-check {
    display:flex;
    align-items:center;
    justify-content:center;
}
.ulf-cart-item-check label {
    display:inline-flex;
    cursor:pointer;
}
.ulf-cart-thumb {
    display:flex;
    align-items:center;
    justify-content:center;
    width:120px;
    height:120px;
    border-radius:8px;
    border:1px solid #edf2f7;
    background:#f8fafc;
    overflow:hidden;
}
.ulf-cart-thumb img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}
.ulf-cart-title {
    display:block;
    margin-bottom:10px;
    color:#1A2342;
    font-size:16px;
    font-weight:900;
    letter-spacing:0;
    line-height:1.45;
    text-decoration:none;
}
.ulf-cart-title:hover {
    color:#2A52BE;
}
.ulf-cart .sod_opt {
    padding:12px 14px;
    border-radius:8px;
    background:#f8fafc;
    color:#475569;
    font-size:13px;
    line-height:1.55;
}
.ulf-cart .mod_options,
.ulf-cart .btn_cart_del button {
    min-height:36px;
    padding:0 12px;
    border-radius:6px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#475569;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.ulf-cart .mod_options:hover,
.ulf-cart .btn_cart_del button:hover {
    border-color:#1A2342;
    color:#1A2342;
    background:#f8fafc;
}
.ulf-cart-meta {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.ulf-cart-meta div {
    min-width:0;
    padding:12px 10px;
    border-radius:8px;
    background:#f8fafc;
    text-align:center;
}
.ulf-cart-meta dt {
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
}
.ulf-cart-meta dd {
    margin-top:5px;
    color:#1A2342;
    font-size:13px;
    font-weight:900;
}
.ulf-cart-price strong {
    display:block;
    margin-top:5px;
    color:#1A2342;
    font-size:19px;
    font-weight:900;
}
.ulf-cart-price span {
    display:block;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}
.ulf-cart .btn_cart_del {
    display:flex;
    gap:8px;
    padding:18px 22px;
    border-top:1px solid #edf2f7;
    background:#fff;
}
.ulf-cart-empty {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:80px 20px;
    text-align:center;
}
.ulf-cart-empty strong {
    color:#1A2342;
    font-size:18px;
}
.ulf-cart-empty span {
    color:#94a3b8;
    font-size:14px;
}
.ulf-cart-summary {
    position:sticky;
    top:132px;
    margin-top:0;
    padding:24px;
}
.ulf-cart-summary-title {
    padding-bottom:18px;
    margin-bottom:8px;
    border-bottom:1px solid #edf2f7;
}
.ulf-cart-summary-title span {
    display:block;
    margin-bottom:6px;
    color:#2A52BE;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}
.ulf-cart-summary-title strong {
    color:#1A2342;
    font-size:20px;
    font-weight:900;
}
.ulf-cart-summary li {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 0;
    color:#64748b;
    font-size:14px;
    font-weight:700;
}
.ulf-cart-summary li strong {
    color:#1A2342;
    font-size:17px;
    font-weight:900;
}
.ulf-cart-summary li.total {
    margin-top:10px;
    padding-top:20px;
    border-top:2px solid #1A2342;
}
.ulf-cart-summary li.total strong {
    color:#2A52BE;
    font-size:26px;
}
.ulf-cart-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
}
.ulf-cart-actions .btn01,
.ulf-cart-actions .btn_submit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:50px;
    border-radius:6px;
    border:1px solid #1A2342;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
}
.ulf-cart-actions .btn01 {
    background:#fff;
    color:#1A2342;
}
.ulf-cart-actions .btn_submit {
    background:#1A2342;
    color:#fff;
}
.ulf-cart-actions .btn01:hover {
    background:#f8fafc;
}
.ulf-cart-actions .btn_submit:hover {
    background:#2A52BE;
    border-color:#2A52BE;
}
.cart-naverpay {
    margin-top:4px;
}

/* ULFINE legacy cart fallback */
#sod_bsk.od_prd_list {
    width:100%;
    max-width:none;
    margin:0 auto;
}
#sod_bsk.od_prd_list .tbl_wrap {
    overflow:hidden;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 18px 44px rgba(15,23,42,.05);
}
#sod_bsk.od_prd_list table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}
#sod_bsk.od_prd_list th {
    padding:16px 14px;
    border-bottom:1px solid #e2e8f0;
    background:#fbfcfe;
    color:#1A2342;
    font-size:13px;
    font-weight:900;
}
#sod_bsk.od_prd_list td {
    padding:18px 14px;
    border-bottom:1px solid #edf2f7;
    color:#475569;
    vertical-align:middle;
}
#sod_bsk.od_prd_list .sod_img img {
    width:86px;
    height:86px;
    object-fit:contain;
    border:1px solid #edf2f7;
    border-radius:8px;
    background:#f8fafc;
}
#sod_bsk.od_prd_list .sod_name a,
#sod_bsk.od_prd_list .td_prd a {
    color:#1A2342;
    font-weight:900;
    text-decoration:none;
}
#sod_bsk_tot {
    margin-top:22px;
    padding:24px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 18px 44px rgba(15,23,42,.05);
}
#sod_bsk .ulf-cart-shell > #sod_bsk_tot.ulf-cart-summary {
    align-self:start;
    margin-top:0 !important;
}
#sod_bsk_act {
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}
#sod_bsk_act .btn01,
#sod_bsk_act .btn_submit,
#sod_bsk_act button {
    min-height:48px;
    padding:0 24px;
    border-radius:6px;
    font-weight:900;
}

@media (max-width:1024px) {
    .ulf-cart-shell {
        grid-template-columns:1fr;
    }
    .ulf-cart-summary {
        position:static;
    }
}

@media (max-width:760px) {
    .ulf-cart-head {
        align-items:flex-start;
        flex-direction:column;
    }
    .ulf-cart-item {
        grid-template-columns:30px 92px minmax(0,1fr);
        gap:14px;
        padding:18px 0;
    }
    .ulf-cart-thumb {
        width:92px;
        height:92px;
    }
    .ulf-cart-meta,
    .ulf-cart-price {
        grid-column:2 / 4;
        text-align:left;
    }
}

@media (max-width:520px) {
    .ulf-cart-item {
        grid-template-columns:28px 78px minmax(0,1fr);
    }
    .ulf-cart-thumb {
        width:78px;
        height:78px;
    }
    .ulf-cart-meta {
        grid-template-columns:1fr;
    }
    .ulf-cart-summary {
        padding:20px;
    }
}

/* ULFINE cart option modal */
#sod_bsk_list #mod_option_frm, #sod_bsk #mod_option_frm { position:fixed; top:50%; left:50%; z-index:10010; width:min(560px, calc(100vw - 32px)); max-height:calc(100vh - 64px); padding:28px; overflow:auto; transform:translate(-50%, -50%); border:1px solid #e2e8f0; border-radius:8px; background:#fff; box-shadow:0 28px 80px rgba(15,23,42,.28); color:#1A2342; }
#sod_bsk_list .mod_option_bg, #sod_bsk .mod_option_bg { position:fixed; inset:0; z-index:10000; background:rgba(15,23,42,.46); }
#mod_option_frm h2 { margin:0 0 20px; padding:0 0 14px; border-bottom:2px solid #1A2342; color:#1A2342; font-size:22px; font-weight:900; line-height:1.25; }
#mod_option_frm .option_wr, #mod_option_frm #sit_sel_option { margin:0 0 18px; padding:18px; border:1px solid #e2e8f0; border-radius:8px; background:#f8fafc; }
#mod_option_frm h3 { margin:0 0 12px; color:#2A52BE; font-size:14px; font-weight:900; }
#mod_option_frm select, #mod_option_frm input[type="text"] { height:42px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#1A2342; }
#mod_option_frm select { width:100%; padding:0 12px; }
#mod_option_frm #sit_opt_added { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
#mod_option_frm #sit_opt_added li { display:grid; gap:10px; padding:14px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; }
#mod_option_frm .opt_count { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
#mod_option_frm .opt_count button { width:34px; height:34px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#334155; cursor:pointer; }
#mod_option_frm .opt_count .num_input { width:58px; text-align:center; font-weight:800; }
#mod_option_frm .sit_opt_prc { margin-left:auto; color:#2A52BE; font-weight:900; }
#mod_option_frm .sit_opt_del { border-color:#fecaca; color:#b91c1c; }
#mod_option_frm #sit_tot_price { margin:4px 0 18px; padding:14px 16px; border-radius:8px; background:#1A2342; color:#fff; font-size:18px; font-weight:900; text-align:right; }
#mod_option_frm .btn_confirm { display:flex; justify-content:flex-end; gap:8px; margin:0; }
#mod_option_frm .btn_submit, #mod_option_frm .btn_close { min-width:96px; height:44px; padding:0 18px; border-radius:6px; font-weight:900; cursor:pointer; }
#mod_option_frm .btn_submit { border:1px solid #1A2342; background:#1A2342; color:#fff; }
#mod_option_frm .btn_close { border:1px solid #cbd5e1; background:#fff; color:#334155; }
@media (max-width:520px) { #mod_option_frm { padding:20px; } #mod_option_frm .btn_confirm { flex-direction:column; } #mod_option_frm .btn_submit, #mod_option_frm .btn_close { width:100%; } }
/* ULFINE order form refinement */
#forderform { max-width:1180px; margin:0 auto 70px; color:#1A2342; }
#sod_frm.sod_frm_pc { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; align-items:start; padding:24px 0 10px; }
#sod_frm .od_prd_list { grid-column:1 / -1; margin:0; overflow:hidden; border:1px solid #e2e8f0; border-radius:8px; background:#fff; box-shadow:0 18px 44px rgba(15,23,42,.05); }
#sod_frm .od_prd_list table { width:100%; border-collapse:separate; border-spacing:0; }
#sod_frm .od_prd_list thead th { padding:16px 14px; border:0; border-bottom:1px solid #e2e8f0; background:#F5F7FA; color:#1A2342; font-size:13px; font-weight:900; letter-spacing:0; text-align:center; }
#sod_frm .od_prd_list tbody td { padding:18px 14px; border:0; border-bottom:1px solid #edf2f7; color:#475569; vertical-align:middle; }
#sod_frm .od_prd_list tbody tr:last-child td { border-bottom:0; }
#sod_frm .od_prd_list .td_prd, #sod_frm .od_prd_list .td_mng { color:#1A2342; font-weight:800; }
#sod_frm .sod_left, #sod_frm .sod_right { min-width:0; }
#sod_frm .sod_left { display:grid; gap:22px; }
#sod_frm .sod_right { position:sticky; top:132px; display:grid; gap:18px; }
#sod_frm section, #sod_frm #sod_bsk_tot { overflow:hidden; border:1px solid #e2e8f0; border-radius:8px; background:#fff; box-shadow:0 18px 44px rgba(15,23,42,.05); }
#sod_frm section h2, #sod_frm #sod_bsk_tot h2 { margin:0; padding:18px 22px; border-bottom:1px solid #e2e8f0; background:#F5F7FA; color:#1A2342; font-size:18px; font-weight:900; line-height:1.25; }
#sod_frm .tbl_wrap { margin:0; border:0; overflow:visible; }
#sod_frm .tbl_frm01 table { width:100%; border-collapse:separate; border-spacing:0; }
#sod_frm .tbl_frm01 th, #sod_frm .tbl_frm01 td { border:0; border-bottom:1px solid #edf2f7; background:#fff; font-size:14px; line-height:1.55; }
#sod_frm .tbl_frm01 tr:last-child th, #sod_frm .tbl_frm01 tr:last-child td { border-bottom:0; }
#sod_frm .tbl_frm01 th { width:150px; padding:16px 18px 16px 22px; color:#1A2342; font-weight:900; text-align:left; vertical-align:top; }
#sod_frm .tbl_frm01 td { padding:14px 22px 14px 0; color:#475569; }
#sod_frm .frm_input, #sod_frm select, #sod_frm textarea { max-width:100%; min-height:42px; padding:0 12px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#1A2342; font-size:14px; box-shadow:none; }
#sod_frm textarea { width:100%; min-height:92px; padding:12px; resize:vertical; }
#sod_frm .frm_address { width:min(100%, 520px) !important; margin-top:8px; }
#sod_frm .frm_info { display:block; margin:0 0 8px; color:#64748b; font-size:12px; }
#sod_frm .btn_address, #sod_frm .btn_frmline, #sod_frm .cp_btn, #sod_frm .cp_btn1, #sod_frm .cp_apply, #sod_frm .cp_cancel, #sod_frm .cp_cancel1 { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px; border:1px solid #1A2342; border-radius:6px; background:#fff; color:#1A2342; font-size:13px; font-weight:900; text-decoration:none; cursor:pointer; }
#sod_frm .btn_address:hover, #sod_frm .btn_frmline:hover { background:#F5F7FA; }
#sod_frm .order_choice_place { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
#sod_frm .order_choice_place input { margin-right:4px; }
#sod_frm #sod_bsk_tot { padding:0; }
#sod_frm #sod_bsk_tot ul { margin:0; padding:18px 22px; list-style:none; }
#sod_frm #sod_bsk_tot li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid #edf2f7; color:#64748b; font-size:14px; font-weight:800; }
#sod_frm #sod_bsk_tot li:last-child { margin-top:8px; padding-top:18px; border-bottom:0; border-top:2px solid #1A2342; color:#1A2342; }
#sod_frm #sod_bsk_tot strong { color:#1A2342; font-size:18px; font-weight:900; }
#sod_frm #sod_bsk_tot li:last-child strong { color:#2A52BE; font-size:26px; }
#sod_frm #sod_frm_pay { padding:0; }
#sod_frm #sod_frm_pay .pay_tbl, #sod_frm #sod_frm_pay .tbl_frm01, #sod_frm #sod_frm_pay_info { padding:0 22px 18px; }
#sod_frm #sod_frm_paysel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 22px 18px; padding:0; border:0; }
#sod_frm #sod_frm_paysel legend { grid-column:1 / -1; margin-bottom:4px; color:#1A2342; font-weight:900; }
#sod_frm #sod_frm_paysel input[type="radio"] { position:absolute; opacity:0; }
#sod_frm #sod_frm_paysel label { display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 10px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#475569; font-size:13px; font-weight:900; text-align:center; cursor:pointer; }
#sod_frm #sod_frm_paysel input[type="radio"]:checked + label { border-color:#1A2342; background:#1A2342; color:#fff; }
#sod_frm .sod_frm_point { margin:0 22px 18px; padding:16px; border:1px solid #e2e8f0; border-radius:8px; background:#F5F7FA; }
#sod_frm #display_pay_button, #sod_frm .btn_confirm { display:flex; flex-direction:column; gap:10px; margin:18px 0 0; }
#sod_frm #display_pay_button .btn_submit, #sod_frm .btn_confirm .btn_submit, #sod_frm .btn_submit { min-height:50px; border:1px solid #1A2342; border-radius:6px; background:#1A2342; color:#fff; font-size:15px; font-weight:900; }
#sod_frm .btn01, #sod_frm .btn_cancel { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#475569; font-weight:900; text-decoration:none; }
@media (max-width:1024px) { #sod_frm.sod_frm_pc { grid-template-columns:1fr; } #sod_frm .sod_right { position:static; } }
@media (max-width:640px) { #forderform { margin-bottom:40px; } #sod_frm.sod_frm_pc { padding:14px 0; gap:18px; } #sod_frm .od_prd_list { overflow:auto; } #sod_frm .tbl_frm01 th, #sod_frm .tbl_frm01 td { display:block; width:100%; padding:12px 16px; } #sod_frm .tbl_frm01 th { padding-bottom:4px; border-bottom:0; } #sod_frm .tbl_frm01 td { padding-top:4px; } #sod_frm #sod_frm_paysel { grid-template-columns:1fr; } }

/* ULFINE order payment detail refinement */
#sod_frm #od_pay_sl { padding-bottom:22px; }
#sod_frm #od_pay_sl h3 { margin:0 22px 14px; color:#1A2342; font-size:16px; font-weight:900; line-height:1.3; }
#sod_frm #od_tot_price { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:0; padding:18px 22px; border-top:1px solid #e2e8f0; background:#1A2342; color:#fff; }
#sod_frm #od_tot_price span { color:rgba(255,255,255,.82); font-size:13px; font-weight:800; }
#sod_frm #od_tot_price strong { color:#fff; font-size:28px; font-weight:900; letter-spacing:0; }
#sod_frm #sod_frm_pay .pay_tbl table { width:100%; border-collapse:separate; border-spacing:0; }
#sod_frm #sod_frm_pay .pay_tbl th, #sod_frm #sod_frm_pay .pay_tbl td { padding:12px 0; border-bottom:1px solid #edf2f7; background:#fff; color:#475569; font-size:14px; line-height:1.45; }
#sod_frm #sod_frm_pay .pay_tbl th { width:110px; color:#1A2342; font-weight:900; text-align:left; }
#sod_frm #sod_frm_pay .pay_tbl tr:last-child th, #sod_frm #sod_frm_pay .pay_tbl tr:last-child td { border-bottom:0; }
#sod_frm #settle_bank { margin:0 22px 18px; padding:16px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; }
#sod_frm #settle_bank select, #sod_frm #settle_bank input { width:100%; margin:6px 0 10px; }
#sod_frm #sod_frm_pt_alert { margin:0 22px 14px; padding:12px 14px; border-radius:6px; background:#fff7ed; color:#9a3412; font-size:13px; line-height:1.5; }
@media (max-width:640px) { #sod_frm #od_tot_price strong { font-size:23px; } }

/* ULFINE orderform empty notice */
.ulf-orderform-notice { max-width:1180px; margin:0 auto 70px; padding:48px 0 20px; }
.ulf-orderform-notice-box { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:260px; padding:42px 24px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; box-shadow:0 18px 44px rgba(15,23,42,.05); text-align:center; }
.ulf-orderform-notice-box h2 { margin:0 0 12px; color:#1A2342; font-size:24px; font-weight:900; line-height:1.3; }
.ulf-orderform-notice-box p { margin:0 0 24px; color:#64748b; font-size:15px; line-height:1.6; }
.ulf-orderform-notice-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border-radius:6px; background:#1A2342; color:#fff !important; font-size:14px; font-weight:900; text-decoration:none !important; }
.ulf-orderform-notice-btn:hover { background:#2A52BE; }
