/* Native cart totals, presented once for both actual controller device branches. */
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary {
    display:block; width:100%; min-width:0; margin:24px 0 0; padding:22px;
    border:1px solid #e6e0e3; border-radius:10px; background:#fff; color:#28242a;
}
.compact-site .compact-cart-summary__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:0 0 16px; }
.compact-site .compact-cart-summary__head h2 { margin:0; padding:0; border:0; color:#28242a; font-size:18px; line-height:1.5; font-weight:700; }
.compact-site .compact-cart-summary__head p { margin:4px 0 0; color:#8b8086; font-size:12px; line-height:1.6; }
.compact-site .compact-cart-summary__count { flex:none; padding-top:4px; color:#796c74; font-size:12px; line-height:1.6; white-space:nowrap; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary dl { display:block; float:none; width:100%; margin:0; padding:0; border:0; }
.compact-site .compact-cart-summary dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; min-width:0; padding:9px 0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary :is(dt,dd) { display:block; float:none; width:auto; min-width:0; margin:0; padding:0; border:0; background:none; font-size:14px; line-height:1.7; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary dt { color:#746871; font-weight:400; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary dd { flex:none; color:#2a252b; text-align:right; font-weight:600; white-space:nowrap; }
.compact-site .compact-cart-summary .spr { display:inline; position:static; margin:0; color:inherit; font-size:inherit!important; font-weight:inherit; line-height:inherit; text-decoration:none; }
.compact-site .compact-cart-summary .spr > span { position:static; margin-left:2px; color:inherit; font-size:.8em; font-weight:400; line-height:inherit; }
.compact-site .compact-cart-summary dl > .compact-cart-summary__total { align-items:center; margin-top:12px; padding:18px 0 16px; border-top:1px solid #ded6db; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__total dt { color:#302831; font-weight:600; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__total dd { color:var(--compact-accent,#902d3e); font-size:24px; font-weight:800; letter-spacing:-.045em; }
.compact-site .compact-cart-summary__details { border-top:1px solid #eee9ec; }
.compact-site .compact-cart-summary__details summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:10px 0; color:#82747e; font-size:12px; cursor:pointer; list-style:none; }
.compact-site .compact-cart-summary__details summary::-webkit-details-marker { display:none; }
.compact-site .compact-cart-summary__details summary .mall-icon { width:15px; height:15px; }
.compact-site .compact-cart-summary__details[open] summary .mall-icon { transform:rotate(180deg); }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__details dl { padding:0 0 13px; }
.compact-site .compact-cart-summary__details dl > div { padding:5px 0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__details :is(dt,dd) { font-size:12px; font-weight:400; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:5px 0 0; padding:15px 16px; border-radius:6px; background:#f8f5f7; }
.compact-site .compact-cart-summary__points > div { display:block; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__points dt { color:#8b7a86; font-size:12px; line-height:1.6; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__points dd { margin-top:4px; color:#51434f; font-size:14px; font-weight:600; text-align:left; }
@media(max-width:380px) {
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary { padding:18px 16px; }
    .compact-site .compact-cart-summary__head h2 { font-size:17px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__total dd { font-size:22px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__points { padding:13px 12px; }
}

/* The native mobile cart is a UL, not the desktop order table. Reflow its
   existing nodes inside the same canvas without changing fields or handlers. */
.compact-site .mall-native.mall-legacy-cart:has(#sod_bsk_list > .sod_list) { margin:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk:has(#sod_bsk_list > .sod_list) { width:100%; min-width:0; margin:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > #sod_chk { display:flex; align-items:center; gap:8px; min-height:44px; margin:0 0 12px; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > #sod_chk input { flex:none; width:18px; height:18px; margin:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list { display:grid; gap:16px; width:100%; min-width:0; margin:0; padding:0; list-style:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_list > .sod_li { display:grid; grid-template-columns:20px 72px minmax(0,1fr); align-items:start; gap:8px 10px; width:100%; min-width:0; margin:0; padding:16px 14px; border:1px solid #e6e0e3; border-radius:8px; background:#fff; overflow:visible; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_li::after { content:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_li > .li_chk { position:static; grid-column:1; grid-row:1; width:20px; min-width:0; margin:0; padding:2px 0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_chk input { display:block; width:18px; height:18px; margin:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_li > .li_name { display:contents; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > a { grid-column:3; grid-row:1; display:block; width:auto; min-width:0; height:auto; min-height:0; margin:0; padding:0; border:0; color:#28242a; font-size:14px; font-weight:600; line-height:1.65; white-space:normal; text-overflow:clip; overflow:visible; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > .total_img { position:static; grid-column:2; grid-row:1 / 3; display:block; width:72px; height:72px; margin:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_img img { display:block; width:100%; height:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > .sod_opt { grid-column:3; grid-row:2; min-width:0; margin:0; padding:0; border:0; background:none; color:#82757e; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_opt ul { margin:0; padding:0; list-style:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_opt li { margin:0 0 3px; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > .li_mod { grid-column:1 / -1; grid-row:3; width:100%; min-width:0; margin:4px 0 0; padding:0!important; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_mod > .mod_btn { display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:100%; min-height:44px; height:auto; margin:0; padding:9px 12px; border:1px solid #d9d0d6; border-radius:5px; background:#fff; color:#61535d; font-size:12px; line-height:1.6; white-space:normal; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_li > .li_prqty { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1 / -1; grid-row:4; gap:8px; min-width:0; margin:4px 0 0; padding:12px 0 0; border:0; border-top:1px solid #eee8ec; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_prqty::after { content:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_prqty > .li_prqty_sp { display:block; float:none; width:auto; min-width:0; margin:0; padding:0; border:0; background:none; color:#51454e; font-size:12px; line-height:1.8; text-align:left; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_prqty_sp > span { position:static; display:block; width:auto; margin:0 0 2px; padding:0; background:none; color:#8b7d86; font-size:11px; line-height:1.6; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_li > .li_total { display:flex; grid-column:1 / -1; grid-row:5; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; min-width:0; margin:0; padding:10px 0 0; border:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_total > .total_span { position:static; display:inline-flex; align-items:baseline; gap:7px; float:none; width:auto; min-width:0; height:auto; margin:0; padding:0; border:0; background:none; font-size:12px; line-height:1.7; text-align:left; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_span > span { position:static; inset:auto; display:inline; width:auto; margin:0; padding:0; background:none; color:#8b7d86; font-size:11px; line-height:inherit; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_span > strong { position:static; display:inline; width:auto; height:auto; margin:0; padding:0; border:0; color:#332b32; font-size:14px; font-weight:600; line-height:inherit; white-space:normal; overflow:visible; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_price > strong { font-size:18px; font-weight:700; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_point { margin-left:auto; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list .total_point > strong { color:#81737c; font-size:12px; font-weight:400; }

/* Native option editor is inserted into li_mod; keep that entire row usable. */
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm { position:static; inset:auto; z-index:auto; width:100%; min-width:0; max-width:100%; height:auto!important; max-height:none; margin:12px 0 0; padding:14px; border:1px solid #ddd4da; border-radius:7px; background:#fff; overflow:visible; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm form { width:100%; min-width:0; max-width:100%; height:auto; max-height:none; margin:0; padding:0; border:0; overflow:visible; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm :is(.sp_wrap,.sp_tbox,.sp_opt_set) { width:100%; min-width:0; max-width:100%; margin:0; padding:0; border:0; background:none; overflow:visible; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm :is(.sp_tbox,.sp_opt_set) > ul { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin:0; padding:0; list-style:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tbox { margin-bottom:10px; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tbox li { float:none; width:auto; margin:0; padding:0; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm :is(select,input[name^="ct_qty"]) { min-width:0; max-width:100%; height:44px; min-height:44px; margin:6px 0; padding:8px; border:1px solid #d9d0d6; border-radius:5px; background:#fff; color:#332b32; font-size:16px; line-height:1.5; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm select { width:100%; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm #option_set_added { margin:12px 0 0; padding:0; list-style:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm #option_set_added > li { margin:0; padding:12px 0; border-top:1px solid #eee8ec; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_name { width:100%; min-width:0; margin:0; padding:0; color:#61535d; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; min-width:0; margin:0; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty dl { display:flex; align-items:center; flex-wrap:wrap; gap:4px; float:none; width:auto; min-width:0; margin:0; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty dt { display:block; float:none; width:auto; min-width:0; margin:0; padding:0!important; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty input[name^="ct_qty"] { width:52px!important; margin:0; text-align:center; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; height:auto; margin:0; padding:8px; border:1px solid #d9d0d6; border-radius:5px; background:#fff; color:#61535d!important; font-size:12px; line-height:1.5; white-space:normal; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sit_opt_prc { overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tot { width:100%; min-width:0; margin:0; padding:12px 0; border:0; background:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tot ul { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; margin:0; padding:0; list-style:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tot :is(.tlst,.trst) { float:none; width:auto; min-width:0; padding:0; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .sp_tot .trss-amt { color:var(--compact-accent,#902d3e); font-size:18px; line-height:1.6; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .btn_confirm { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0 0; padding:0!important; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .btn_confirm :is(button,input[type=submit]) { display:flex; align-items:center; justify-content:center; float:none; width:100%; min-width:0; max-width:100%; min-height:44px; height:auto; margin:0; padding:10px; border-radius:5px; font-size:13px; line-height:1.6; white-space:normal; }

/* Native cart actions remain in document flow, including their optional widget. */
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act { display:flex; flex-direction:column; align-items:stretch; gap:10px; position:static; width:100%; min-width:0; height:auto; margin:24px 0 0; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act::after { content:none; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act > :is(a,button) { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; max-width:100%; min-height:46px; height:auto; margin:0; padding:11px 14px; border:1px solid #d9d0d6; border-radius:6px; font-size:14px; line-height:1.6; white-space:normal; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act > div { position:static; inset:auto; width:100%; min-width:0; margin:0; padding:0; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act > div:not(.naverpay-cart) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act > div > .btn01 { width:100%; min-width:0; min-height:44px; height:auto; margin:0; padding:10px; border:1px solid #e2dbe0; border-radius:5px; background:#fff; color:#81727d; font-size:12px; line-height:1.6; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_list #sod_bsk_act > .naverpay-cart { margin-top:4px; }

/* Long amounts/counts must wrap within the narrow canvas, never past it. */
.compact-site .compact-cart-summary__head { flex-wrap:wrap; }
.compact-site .compact-cart-summary__head > div { flex:1 1 150px; min-width:0; }
.compact-site .compact-cart-summary__count { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.compact-site .compact-cart-summary dl > div { flex-wrap:wrap; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary dd { flex:0 1 auto; max-width:100%; margin-left:auto; white-space:normal; overflow-wrap:anywhere; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary dd strong { position:static; inset:auto; }
.compact-site .mall-native.mall-legacy-cart #sod_bsk_tot.compact-cart-summary .compact-cart-summary__points dd { margin-left:0; }
@media(max-width:359px) {
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_list .sod_list > .sod_li { grid-template-columns:18px 60px minmax(0,1fr); gap:8px; padding:14px 12px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > .total_img { width:60px; height:60px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_list .li_name > a { font-size:13px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm { padding:11px; }
    .compact-site .mall-native.mall-legacy-cart #sod_bsk_list > .sod_list #mod_option_frm .it_qty { justify-content:flex-start; }
}
