@charset "utf-8";
/*
 * COMMON SHOP UI 7.0.3
 * G5 commerce logic stays intact. This file owns the final visual/layout layer.
 */

:root{
  --shop-card-radius:18px;
  --shop-control-radius:12px;
  --shop-section-gap:24px;
  --shop-card-pad:24px;
  --shop-control-h:46px;
  --shop-summary-w:372px;
  --shop-line:color-mix(in srgb,var(--g5-border) 70%,transparent);
  --shop-shadow:0 14px 36px rgba(20,22,28,.06);
}
html[data-theme="dark"]{
  --shop-line:color-mix(in srgb,var(--g5-border) 78%,transparent);
  --shop-shadow:0 18px 44px rgba(0,0,0,.24);
}

/* ---------- common shop primitives ---------- */
body :where(#container,#wrapper,.shop-content,#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v){min-width:0}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v,#ssch,#sqa,#sps){font-variant-numeric:tabular-nums}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(input,select,textarea){font:inherit;color:var(--g5-text)}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(.frm_input,input[type="text"],input[type="password"],input[type="tel"],input[type="email"],select,textarea){
  min-height:var(--shop-control-h);border:1px solid var(--shop-line)!important;border-radius:var(--shop-control-radius)!important;background:var(--g5-surface)!important;box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(.frm_input,input[type="text"],input[type="password"],input[type="tel"],input[type="email"],select){padding:0 13px}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) textarea{padding:12px 13px;line-height:1.6;resize:vertical}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(.frm_input,input,select,textarea):focus{border-color:color-mix(in srgb,var(--g5-primary) 62%,var(--g5-border))!important;box-shadow:var(--g5-ring)!important;outline:0}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(.btn_submit,.btn01,.btn02,.btn_frmline,.btn_address,.cp_btn,.cp_btn1,.cp_cancel,.cp_cancel1){border-radius:11px!important;box-shadow:none!important;font-weight:750;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}
body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) :where(button,a[class*="btn"]):active{transform:translateY(1px)}

/* ---------- product detail: regenerated desktop layout ---------- */
#sit_ov_from{margin:0;background:transparent!important;border:0!important}
#sit_ov_wrap{
  display:grid!important;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);gap:clamp(28px,4vw,58px);
  width:100%!important;max-width:1240px!important;margin:0 auto!important;padding:24px 0 38px!important;border:0!important;background:transparent!important;
}
#sit_ov_wrap:after{display:none!important}
#sit_pvi{
  float:none!important;position:sticky!important;top:22px;align-self:start;display:grid!important;grid-template-columns:76px minmax(0,1fr);gap:14px;
  min-width:0;padding:18px;border:1px solid var(--shop-line);border-radius:var(--shop-card-radius);background:var(--g5-surface);box-shadow:var(--shop-shadow)
}
#sit_pvi_big{float:none!important;position:relative;grid-column:2!important;grid-row:1!important;min-width:0;overflow:hidden;border:0!important;border-radius:14px;background:var(--g5-surface-soft);text-align:center;aspect-ratio:1/1}
#sit_pvi_big>a.popup_item_preview{display:none!important;width:100%;height:100%}
#sit_pvi_big>a.popup_item_preview.visible{display:grid!important;place-items:center}
#sit_pvi_big img{display:block!important;width:100%!important;max-width:100%!important;height:100%!important;object-fit:contain;padding:8px}
#sit_pvi_big #popup_item_image{display:inline-flex!important;align-items:center;justify-content:center;position:absolute!important;right:12px!important;bottom:12px!important;width:42px!important;height:42px!important;border:1px solid var(--shop-line)!important;border-radius:12px!important;background:color-mix(in srgb,var(--g5-surface) 88%,transparent)!important;color:var(--g5-text-soft)!important;box-shadow:var(--g5-shadow-sm);backdrop-filter:blur(8px);line-height:1!important}
#sit_pvi_thumb{float:none!important;grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column;gap:9px;margin:0!important;padding:0!important;overflow:auto;max-height:min(620px,70vh);scrollbar-width:thin}
#sit_pvi_thumb li{margin:0!important;flex:0 0 auto}
#sit_pvi_thumb a{display:block;border:2px solid transparent;border-radius:12px;overflow:hidden;background:var(--g5-surface-soft);transition:border-color .15s ease,transform .15s ease}
#sit_pvi_thumb a:hover,#sit_pvi_thumb a:focus-visible,#sit_pvi_thumb a.is-current{border-color:var(--g5-primary);transform:translateY(-1px)}
#sit_pvi_thumb img{display:block;width:70px!important;height:70px!important;object-fit:cover;border:0!important}

#sit_ov{float:none!important;width:auto!important;min-width:0!important;min-height:0!important;padding:24px!important;border:1px solid var(--shop-line)!important;border-radius:var(--shop-card-radius)!important;background:var(--g5-surface)!important;box-shadow:var(--shop-shadow)}
#sit_title{margin:0 0 10px!important;color:var(--g5-text);font-size:clamp(27px,2.4vw,38px)!important;line-height:1.22;font-weight:900;letter-spacing:-.045em;word-break:keep-all}
#sit_desc{margin:0 0 18px!important;padding:0!important;color:var(--g5-text-soft)!important;font-size:15px!important;line-height:1.65;word-break:keep-all}
#sit_star_sns{display:flex;align-items:center;gap:9px;min-height:38px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--shop-line)}
#sit_star_sns .sit_star{top:0!important;margin:0!important;max-width:88px;height:auto}
#sit_star_sns .sit_use_count{margin:0!important;font-size:13px;color:var(--g5-text-soft)!important}
#sit_btn_opt{position:static!important;margin-left:auto;display:flex;align-items:center;gap:6px}
#btn_wish,#sit_star_sns .btn_sns_share{float:none!important;display:inline-flex!important;align-items:center;justify-content:center;width:38px!important;height:38px!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:11px!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;font-size:15px!important}
#btn_wish i,#sit_star_sns .btn_sns_share i{font-size:16px!important}
#btn_wish .btn_wish_num{right:1px!important;bottom:1px!important;min-width:18px;height:18px;padding:0 4px!important;border:2px solid var(--g5-surface);border-radius:999px!important;background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important;font-size:11px!important;line-height:14px!important}
#sit_star_sns .sns_area{top:46px!important;right:0!important;padding:9px!important;border:1px solid var(--shop-line)!important;border-radius:13px!important;background:var(--g5-surface)!important;box-shadow:var(--shop-shadow)}

.sit_info{margin:0 0 18px!important;padding:0!important;border:0!important;border-radius:15px;background:var(--g5-surface-soft);overflow:hidden}
.sit_info .tr_price{border:0!important;background:color-mix(in srgb,var(--g5-primary-soft) 68%,var(--g5-surface))}
.sit_ov_tbl{color:var(--g5-text)!important}
.sit_ov_tbl tr{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:48px;padding:0 16px;border-bottom:1px solid var(--shop-line)}
.sit_ov_tbl tr:last-child{border-bottom:0}
.sit_ov_tbl th{width:auto!important;padding:12px 0!important;color:var(--g5-text-soft);font-size:13px;font-weight:700!important;line-height:1.35}
.sit_ov_tbl td{padding:12px 0!important;color:var(--g5-text);font-size:14px;line-height:1.45;text-align:right;word-break:break-word}
.sit_ov_tbl .tr_price th{color:var(--g5-text);font-weight:800!important}
.sit_ov_tbl .tr_price td strong{display:block;color:var(--g5-accent-ink)!important;font-size:25px!important;font-weight:900;line-height:1.2!important;letter-spacing:-.025em}
.sit_ov_tbl select{min-width:150px;max-width:100%;height:38px!important;min-height:38px!important;border-radius:9px!important}

.sit_option{margin:0 0 12px!important;padding:15px!important;border:1px solid var(--shop-line);border-radius:15px;background:var(--g5-surface)}
.sit_option h3{margin:0 0 10px!important;font-size:13px!important;font-weight:850;color:var(--g5-text)}
.sit_option label{margin:0 0 6px!important;font-size:12px;color:var(--g5-text-soft)!important}
.sit_option select{height:44px!important;min-height:44px!important;margin:0 0 8px!important;padding:0 38px 0 12px!important;border-radius:11px!important;background:var(--g5-surface) linear-gradient(45deg,transparent 50%,var(--g5-text-soft) 50%) calc(100% - 17px) 19px/5px 5px no-repeat!important}

#sit_sel_option{margin:14px 0 0}
#sit_opt_added{display:grid;gap:9px;margin:0!important;padding:0!important;border:0!important}
#sit_opt_added li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin:0!important;padding:13px 14px!important;border:1px solid var(--shop-line)!important;border-radius:13px!important;background:var(--g5-surface-soft)!important}
#sit_opt_added li:after{display:none!important}
#sit_opt_added .opt_name{min-width:0;line-height:1.4!important;font-size:13px;font-weight:750!important;word-break:break-word}
#sit_opt_added .opt_count{display:flex;align-items:center;justify-content:flex-end;gap:0;min-width:0}
#sit_opt_added button{float:none!important;display:inline-flex;align-items:center;justify-content:center;width:34px!important;height:34px!important;border:1px solid var(--shop-line)!important;border-radius:9px!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important}
#sit_opt_added .num_input{float:none!important;width:48px!important;height:34px!important;min-height:34px!important;margin:0 4px!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:9px!important;text-align:center}
#sit_opt_added .sit_opt_prc{float:none!important;width:auto!important;min-width:82px;margin-left:9px;padding:0!important;color:var(--g5-text);font-size:13px!important;font-weight:850!important;line-height:34px!important;text-align:right}
#sit_opt_added .sit_opt_del{position:static!important;margin-left:5px!important;border-color:transparent!important;background:transparent!important;color:var(--g5-text-soft)!important}

#sit_tot_price{display:flex!important;align-items:baseline;justify-content:space-between;gap:15px;margin:18px 0 12px!important;padding:16px 0 0;border-top:1px solid var(--shop-line);font-size:14px!important;line-height:1.35!important;font-weight:800!important;text-align:right!important}
#sit_tot_price span{float:none!important;color:var(--g5-text-soft);font-weight:750}
#sit_tot_price strong{margin:0!important;color:var(--g5-accent-ink);font-size:28px!important;font-weight:900;letter-spacing:-.03em}
#sit_ov_soldout{margin:14px 0!important;padding:14px!important;border-radius:13px!important;background:var(--g5-danger-soft)!important;color:var(--g5-danger)!important}
#sit_ov_btn{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) 52px;gap:9px;margin-top:14px}
#sit_ov_btn:after{display:none!important}
#sit_ov_btn :where(button,a){float:none!important;width:100%!important;height:52px!important;margin:0!important;border-radius:13px!important;font-size:15px!important;font-weight:850!important;line-height:50px!important;text-align:center}
#sit_ov_btn .sit_btn_cart{border:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text)!important}
#sit_ov_btn .sit_btn_buy{border:1px solid var(--g5-primary-fill)!important;background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--g5-primary) 20%,transparent)}
#sit_ov_btn .sit_btn_buy:hover{background:var(--g5-primary-fill-hover)!important}
#sit_ov_btn .sit_btn_wish{display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;font-size:18px!important;line-height:1!important}
#sit_btn_alm{grid-column:1/-1!important;background:var(--g5-danger)!important;color:#fff!important}
#sit_ov_btn .itemform-naverpay{grid-column:1/-1;margin-top:3px;min-width:0}

#sit_siblings{display:flex!important;justify-content:space-between;gap:12px;margin:8px 0 0!important;padding:8px 0!important;border:0!important;background:transparent!important}
#sit_siblings:after{display:none!important}
#sit_siblings a{float:none!important;display:inline-flex!important;align-items:center;gap:7px;max-width:48%;margin:0!important;padding:8px 10px!important;border-radius:10px;color:var(--g5-text-soft)!important;font-size:12px;line-height:1.4!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sit_siblings a:hover{background:var(--g5-surface-soft);color:var(--g5-text)!important}
#sit_siblings a:after{display:none!important}
#sit_siblings #siblings_prev:before{content:"‹";font-size:20px;line-height:1}
#sit_siblings #siblings_next:after{display:inline!important;content:"›"!important;position:static!important;width:auto!important;height:auto!important;background:none!important;font-size:20px;line-height:1}

/* item detail tabs/body */
#sit_info{display:block!important;margin:26px 0 0!important;border:0!important;background:transparent!important}
#sit_tab{width:100%!important}
#sit_tab .tab_tit{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px!important;border:1px solid var(--shop-line)!important;border-radius:14px;background:color-mix(in srgb,var(--g5-surface) 92%,transparent)!important;box-shadow:var(--g5-shadow-sm);backdrop-filter:blur(10px)}
#sit_tab .tab_tit li{float:none!important;display:block!important;min-width:0}
#sit_tab .tab_tit li button{min-height:46px;padding:8px 7px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--g5-meta-ink)!important;font-size:13px!important;font-weight:750;line-height:1.2!important}
#sit_tab .tab_tit li button.selected{background:var(--g5-primary-soft)!important;color:var(--g5-accent-ink)!important;box-shadow:none!important}
#sit_tab .tab_tit li button.selected:after{display:none!important}
#sit_tab .tab_con{margin-top:16px;padding:24px!important;border:1px solid var(--shop-line);border-radius:var(--shop-card-radius);background:var(--g5-surface)!important;box-shadow:var(--shop-shadow)}
#sit_buy{display:none!important}

/* ---------- cart regenerated ---------- */
#sod_bsk{margin:0!important}
#sod_bsk_list,.od_prd_list{border:1px solid var(--shop-line)!important;border-radius:var(--shop-card-radius);background:var(--g5-surface);box-shadow:var(--shop-shadow);overflow:hidden}
#sod_bsk_list .tbl_head01,#sod_frm .od_prd_list .tbl_head01{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#sod_bsk_list table,#sod_frm .od_prd_list table{border-collapse:separate;border-spacing:0}
#sod_bsk_list thead th,#sod_frm .od_prd_list thead th{height:46px;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface-soft)!important;color:var(--g5-text-soft);font-size:12px;font-weight:800}
#sod_bsk_list tbody td,#sod_frm .od_prd_list tbody td{padding:14px 10px!important;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface)!important}
#sod_bsk_list tbody tr:last-child td,#sod_frm .od_prd_list tbody tr:last-child td{border-bottom:0!important}
.od_prd_list .td_prd{position:relative!important;min-width:250px;padding-left:100px!important}
.od_prd_list .td_prd .sod_img{left:12px!important;top:12px!important}
.od_prd_list .td_prd .sod_img img{width:72px!important;height:72px!important;object-fit:cover;border-radius:11px}
.od_prd_list .td_prd .sod_name{min-height:72px!important;display:flex;flex-direction:column;justify-content:center}
.od_prd_list .td_prd .prd_name{font-size:14px!important;font-weight:850;line-height:1.45}
.sod_opt li{font-size:12px;color:var(--g5-text-soft)!important}
.sod_opt li:before{padding:2px 6px!important;border-radius:999px!important;font-size:10px;font-weight:800}
#sod_bsk #sod_bsk_tot{margin:18px 0!important;padding:5px;border:1px solid var(--shop-line)!important;border-radius:var(--shop-card-radius);background:var(--g5-surface)!important;box-shadow:var(--shop-shadow);overflow:hidden}
#sod_bsk #sod_bsk_tot ul{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px;background:var(--shop-line)}
#sod_bsk #sod_bsk_tot li{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px!important;min-height:86px;padding:16px!important;border:0!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;text-align:left!important}
#sod_bsk #sod_bsk_tot li span{float:none!important;color:var(--g5-text-soft);font-size:12px;font-weight:700}
#sod_bsk #sod_bsk_tot li strong{font-size:18px;font-weight:900}
#sod_bsk #sod_bsk_tot .sod_bsk_cnt{width:auto!important;background:var(--g5-primary-soft)!important;color:var(--g5-accent-ink)!important}
#sod_bsk_act{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:18px 0 30px!important}
#sod_bsk_act :where(.btn_submit,.btn01){display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-width:150px;height:48px!important;padding:0 20px!important;border-radius:12px!important;font-size:14px!important;line-height:46px!important}

/* v6.9.14 · cart/checkout product thumbnail collision fix
 * The generic tbody td rule above contains an ID selector and !important,
 * so it previously overrode .td_prd padding-left and let text run underneath
 * the absolutely-positioned thumbnail. Keep a dedicated media column here. */
#sod_bsk_list tbody td.td_prd,
#sod_frm .od_prd_list tbody td.td_prd{
  position:relative!important;
  min-width:250px;
  min-height:100px!important;
  padding:14px 12px 14px 100px!important;
  text-align:left!important;
}
#sod_bsk_list tbody td.td_prd .sod_img,
#sod_frm .od_prd_list tbody td.td_prd .sod_img{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:72px;
  height:72px;
  margin:0!important;
  transform:translateY(-50%);
}
#sod_bsk_list tbody td.td_prd .sod_img img,
#sod_frm .od_prd_list tbody td.td_prd .sod_img img{
  display:block!important;
  width:72px!important;
  height:72px!important;
  max-width:none!important;
  object-fit:cover;
  border-radius:11px;
}
#sod_bsk_list tbody td.td_prd .sod_name,
#sod_frm .od_prd_list tbody td.td_prd .sod_name{
  display:flex;
  min-width:0;
  min-height:72px!important;
  flex-direction:column;
  justify-content:center;
  padding:0!important;
}
#sod_bsk_list tbody td.td_prd .prd_name,
#sod_frm .od_prd_list tbody td.td_prd .prd_name{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:keep-all;
}

/* ---------- checkout / purchase request regenerated ---------- */
#sod_frm{
  display:grid!important;grid-template-columns:minmax(0,1fr) var(--shop-summary-w)!important;gap:24px!important;align-items:start;margin:0!important
}
/* G5 orderform.sub.php direct children are: product list -> .sod_left -> .sod_right.
 * Place them explicitly so CSS Grid can never auto-place the form columns in the wrong cells. */
#sod_frm>.od_prd_list{grid-column:1/-1!important;grid-row:1!important;margin:0 0 var(--shop-section-gap)!important}
#sod_frm>.sod_left,#sod_frm>.sod_right{float:none!important;display:block!important;width:auto!important;margin:0!important;min-width:0}
#sod_frm>.sod_left{grid-column:1!important;grid-row:2!important}
#sod_frm>.sod_right{grid-column:2!important;grid-row:2!important;position:static!important;top:auto!important}
#sod_frm_orderer,#sod_frm_taker,#sod_frm_pay,#forderform .od_pay_buttons_el{
  margin:0 0 var(--shop-section-gap)!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:var(--shop-card-radius)!important;background:var(--g5-surface)!important;box-shadow:var(--shop-shadow);overflow:hidden
}
#sod_frm section>h2,#sod_frm_orderer>h2,#sod_frm_taker>h2{
  position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:18px 20px!important;border:0!important;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;font-size:16px!important;font-weight:900!important;line-height:1.35!important;text-indent:0!important;overflow:visible!important
}
#sod_frm section>h2:before{display:inline-block;margin-right:8px;vertical-align:-1px}
#sod_frm_orderer>h2:before{content:"👤"}
#sod_frm_taker>h2:before{content:"📦"}

#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01{margin:0!important;padding:10px 20px 16px!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 table{width:100%;border-collapse:separate;border-spacing:0}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 tr{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;min-height:58px;border-bottom:1px solid var(--shop-line)}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 tr:last-child{border-bottom:0}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 th{width:auto!important;padding:12px 10px 12px 0!important;border:0!important;background:transparent!important;color:var(--g5-text-soft);font-size:12px;font-weight:800!important;line-height:1.45!important;text-align:left!important;vertical-align:middle!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;padding:8px 0!important;border:0!important;background:transparent!important;line-height:1.45!important;vertical-align:middle!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td>input:not([type="radio"]):not([type="checkbox"]){width:min(100%,430px)!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td>textarea{width:100%!important;min-height:88px!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .addr{display:grid!important;grid-template-columns:110px auto;gap:7px;width:100%!important;min-width:0}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .addr input{width:100%!important;margin:0!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .addr input:not(:first-of-type){grid-column:1/-1}
#sod_frm :where(.btn_address,.btn_frmline,#order_address){float:none!important;position:static!important;display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:94px;height:40px!important;min-height:40px;padding:0 12px!important;border:1px solid var(--shop-line)!important;border-radius:10px!important;background:var(--g5-surface-soft)!important;color:var(--g5-text)!important;font-size:12px!important;line-height:38px!important}
#sod_frm_taker .choice_place,#sod_frm_taker .order_choice_place{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 20px 2px!important;padding:12px 13px!important;border:0!important;border-radius:12px!important;background:var(--g5-primary-soft)!important;line-height:1.4!important}
#sod_frm_taker .choice_tit{float:none!important;width:auto!important;color:var(--g5-primary);font-size:12px;font-weight:850}
#sod_frm_taker .choice_place .chk_box{float:none!important;display:flex!important;align-items:center;gap:8px;flex:1 1 auto;width:auto!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell{display:grid!important;grid-template-columns:118px auto;gap:8px!important;align-items:center!important;width:100%!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell>br{display:none!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell :where(#od_zip,#od_b_zip){grid-column:1!important;width:118px!important;min-width:0!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell>.btn_address{grid-column:2!important;justify-self:start!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell>.frm_address{grid-column:1/-1!important;width:100%!important;max-width:none!important}
#sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td .frm_info{flex:1 0 100%!important;margin:0 0 3px!important;color:var(--g5-text-soft)!important;font-size:11px!important;line-height:1.45!important}
#sod_frm_taker .order_choice_place{width:100%!important;margin:0!important}

/* checkout right column */
#sod_frm .sod_right{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:14px!important;width:100%!important;min-width:0!important;background:transparent!important}
#sod_frm .sod_right>section,#sod_frm .sod_right>#sod_bsk_tot,#sod_frm .sod_right>.od_pay_buttons_el{width:100%!important;max-width:none!important;border-radius:var(--shop-card-radius)!important;overflow:hidden}
/* Checkout total: deliberately use a simple vertical list.  The legacy shop CSS has several
 * float/grid rules for these LI elements, so a one-column summary is much harder to break. */
#sod_frm .sod_right #sod_bsk_tot{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:var(--shop-card-radius)!important;background:var(--g5-surface)!important;box-shadow:var(--shop-shadow)!important;overflow:hidden!important}
#sod_frm .sod_right #sod_bsk_tot>ul{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;list-style:none!important;background:transparent!important}
#sod_frm .sod_right #sod_bsk_tot>ul>li{float:none!important;clear:both!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;width:100%!important;min-width:0!important;min-height:50px!important;height:auto!important;margin:0!important;padding:12px 15px!important;border:0!important;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;text-align:left!important;line-height:1.35!important}
#sod_frm .sod_right #sod_bsk_tot>ul>li:last-child{border-bottom:0!important}
#sod_frm .sod_right #sod_bsk_tot>ul>li:before{display:none!important;content:none!important}
#sod_frm .sod_right #sod_bsk_tot>ul>li>span:first-child{float:none!important;display:block!important;margin:0!important;color:var(--g5-text-soft)!important;font-size:12px!important;font-weight:750!important;line-height:1.3!important}
#sod_frm .sod_right #sod_bsk_tot .shop-summary-value{display:inline-flex!important;align-items:baseline!important;justify-content:flex-end!important;gap:3px!important;min-width:0!important;white-space:nowrap!important;color:var(--g5-text-soft)!important;font-size:12px!important;font-weight:700!important}
#sod_frm .sod_right #sod_bsk_tot .shop-summary-value strong{color:var(--g5-text)!important;font-size:15px!important;font-weight:900!important;line-height:1.2!important}
#sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_point{background:var(--g5-surface-soft)!important}
#sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_cnt{min-height:60px!important;background:var(--g5-primary-soft)!important}
#sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_cnt>span:first-child{color:var(--g5-text)!important;font-weight:850!important}
#sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_cnt .shop-summary-value strong{color:var(--g5-accent-ink)!important;font-size:23px!important}

#sod_frm_pay{padding-bottom:16px!important}
#sod_frm #sod_frm_pay>h2{position:static!important;width:auto!important;height:auto!important;padding:17px 18px!important;border-bottom:1px solid var(--shop-line)!important;color:var(--g5-text)!important;font-size:15px!important;line-height:1.35!important;text-indent:0!important;overflow:visible!important}
#sod_frm #sod_frm_pay>h2:before{content:"💳";margin-right:7px}
#sod_frm_pay .pay_tbl{padding:5px 16px 10px}
#sod_frm_pay .pay_tbl table{border-collapse:separate!important;border-spacing:0!important}
#sod_frm_pay .pay_tbl tr{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border-bottom:1px solid var(--shop-line)}
#sod_frm_pay .pay_tbl tr:last-child{border-bottom:0}
#sod_frm_pay .pay_tbl th,#sod_frm_pay .pay_tbl td{width:auto!important;height:auto!important;padding:9px 0!important;border:0!important;background:transparent!important;font-size:12px;line-height:1.35!important}
#sod_frm_pay .pay_tbl th{color:var(--g5-text-soft)!important;font-weight:700!important;text-align:left!important}
#sod_frm_pay .pay_tbl td{margin-left:auto;color:var(--g5-text);font-weight:800;text-align:right!important}
#od_tot_price{display:flex!important;align-items:center;justify-content:space-between;margin:6px 16px 12px!important;padding:13px!important;border-radius:12px;background:var(--g5-primary-soft)!important;line-height:1.3!important}
#od_tot_price span{float:none!important;color:var(--g5-text-soft);font-size:12px;font-weight:800}
#od_tot_price strong{color:var(--g5-accent-ink)!important;font-size:22px!important;font-weight:900}
#od_pay_sl{display:block!important;width:100%!important;margin:0!important;padding:0!important}
#sod_frm_pay #od_pay_sl>.od_pay_buttons_el{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:4px 16px 16px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
#od_pay_sl h3{margin:8px 0 8px!important;font-size:12px!important;color:var(--g5-text-soft);font-weight:800}
#sod_frm_pt_alert{margin:0 0 10px!important;padding:10px 12px!important;border:0!important;border-radius:10px!important;background:color-mix(in srgb,var(--g5-primary-soft) 72%,var(--g5-surface))!important;color:var(--g5-text-soft)!important;font-size:11px!important;line-height:1.5!important}
#sod_frm_paysel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
#sod_frm_paysel legend{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
#od_pay_sl .lb_icon{float:none!important;display:flex!important;align-items:center;justify-content:flex-start;width:100%!important;min-width:0!important;min-height:52px!important;height:auto!important;margin:0!important;padding:9px 10px 9px 42px!important;border:1px solid var(--shop-line)!important;border-radius:11px!important;background-color:var(--g5-surface)!important;background-position:10px 50%!important;cursor:pointer;font-size:12px;font-weight:750;line-height:1.3!important;box-sizing:border-box!important}
#od_pay_sl input[type="radio"]:checked+.lb_icon{border-color:var(--g5-accent-ink)!important;background-color:var(--g5-primary-soft)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--g5-primary) 10%,transparent)}
#settle_bank,.sod_frm_point{grid-column:1/-1!important;width:100%!important;margin:8px 0 0!important;padding:12px!important;border:0!important;border-radius:12px!important;background:var(--g5-surface-soft)!important;line-height:1.5!important;box-sizing:border-box!important}
#settle_bank label{float:none!important;display:block;margin:0 0 5px;color:var(--g5-text-soft);font-size:12px;font-weight:750;line-height:1.4!important}
#settle_bank select,#settle_bank #od_deposit_name{float:none!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0 0 7px!important}
.sod_frm_point div{display:grid!important;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:0!important;border:0!important;background:transparent!important;text-align:right!important}
.sod_frm_point div label,.sod_frm_point div strong{float:none!important;margin:0!important;line-height:1.4!important}
.sod_frm_point #od_temp_point{width:120px!important;height:40px!important;min-height:40px!important}
#forderform .od_pay_buttons_el{padding:14px!important}
#forderform .od_pay_buttons_el h3{margin:0 0 8px!important;font-size:13px!important;font-weight:850}
#sod_frm .btn_confirm{display:grid;grid-template-columns:1fr;gap:8px;margin:0!important;padding:0}
#sod_frm .btn_confirm :where(.btn_submit,.btn_cancel,.btn01){display:flex;align-items:center;justify-content:center;width:100%!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0 14px!important;border-radius:12px!important;font-size:14px!important;font-weight:850!important;line-height:50px!important}
#sod_frm .btn_confirm .btn_submit{background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--g5-primary) 20%,transparent)}

/* coupon popups inside checkout */
#sod_list #cp_frm,#sod_frm_pay :where(#sc_coupon_frm,#od_coupon_frm),.od_coupon{
  position:fixed!important;left:50%!important;top:50%!important;z-index:10050!important;width:min(620px,calc(100vw - 30px))!important;max-height:min(78vh,720px)!important;margin:0!important;transform:translate(-50%,-50%)!important;overflow:auto!important;border:1px solid var(--shop-line)!important;border-radius:18px!important;background:var(--g5-surface)!important;box-shadow:0 24px 70px rgba(0,0,0,.24)!important
}
.od_coupon h3{margin:0!important;padding:16px 18px!important;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;box-shadow:none!important;font-size:15px!important;line-height:1.35!important}
.od_coupon .btn_close{width:48px!important;height:48px!important;border:0!important;background:transparent!important;color:var(--g5-text-soft)!important}
.od_coupon .tbl_head02{margin:14px!important;border-color:var(--shop-line)!important}

/* ---------- order inquiry / mypage polish ---------- */
#sod_v,#smb_my{max-width:100%}
#sod_v :where(.tbl_head01,.tbl_frm01),#smb_my :where(.tbl_head01,.tbl_frm01){border-color:var(--shop-line)!important;border-radius:var(--shop-card-radius)!important;box-shadow:var(--shop-shadow)}
#smb_my_ov,#smb_my_od,#smb_my_wish{border-radius:var(--shop-card-radius)!important}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  #sit_ov_wrap{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important;gap:28px!important}
  #sit_pvi{grid-template-columns:64px minmax(0,1fr)!important;padding:14px!important}
  #sit_pvi_thumb img{width:58px!important;height:58px!important}
  #sod_frm{grid-template-columns:minmax(0,1fr) 330px!important;gap:18px!important}
}

@media(max-width:860px){
  :root{--shop-card-pad:18px;--shop-section-gap:16px}
  #sit_ov_wrap{grid-template-columns:1fr!important;padding:12px 0 28px!important}
  #sit_pvi{position:relative!important;top:auto;grid-template-columns:1fr!important;gap:10px!important}
  #sit_pvi_thumb{grid-column:1!important;grid-row:auto!important;order:2;flex-direction:row!important;max-height:none!important;padding:1px 0 2px!important;overflow-x:auto;overflow-y:hidden}
  #sit_pvi_thumb img{width:62px!important;height:62px!important}
  #sit_pvi_big{grid-column:1!important;grid-row:auto!important;order:1}
  #sit_title{font-size:28px!important}
  #sod_frm{grid-template-columns:1fr!important}
  #sod_frm>.od_prd_list{grid-column:1!important;grid-row:auto!important}
  #sod_frm>.sod_left,#sod_frm>.sod_right{grid-column:1!important;grid-row:auto!important}
  #sod_frm>.sod_right{position:static!important}
}

@media(max-width:640px){
  :root{--shop-card-radius:15px;--shop-control-radius:10px;--shop-control-h:44px}
  #wrapper{padding-top:12px!important}
  #sit_ov_wrap{gap:14px!important}
  #sit_pvi{margin:0 12px!important;padding:10px!important;border-radius:15px!important;box-shadow:none}
  #sit_ov{margin:0 12px!important;padding:18px 16px!important;border-radius:15px!important;box-shadow:none}
  #sit_title{font-size:24px!important;line-height:1.25}
  #sit_desc{font-size:14px!important;margin-bottom:13px!important}
  #sit_star_sns{margin-bottom:12px!important;padding-bottom:12px!important}
  .sit_ov_tbl tr{grid-template-columns:94px minmax(0,1fr);min-height:44px;padding:0 13px}
  .sit_ov_tbl th{font-size:12px}.sit_ov_tbl td{font-size:13px}
  .sit_ov_tbl .tr_price td strong{font-size:22px!important}
  .sit_option{padding:12px!important}
  #sit_opt_added li{grid-template-columns:1fr!important}
  #sit_opt_added .opt_count{justify-content:flex-start!important}
  #sit_ov_btn{grid-template-columns:1fr 1fr 48px!important;position:sticky;bottom:8px;z-index:40;padding:8px;border:1px solid var(--shop-line);border-radius:16px;background:color-mix(in srgb,var(--g5-surface) 92%,transparent);box-shadow:0 12px 30px rgba(0,0,0,.12);backdrop-filter:blur(12px)}
  #sit_ov_btn :where(button,a){height:48px!important;line-height:46px!important}
  #sit_tab .tab_tit{top:55px;grid-template-columns:repeat(5,max-content);justify-content:start;overflow-x:auto;scrollbar-width:none;border-left:0!important;border-right:0!important;border-radius:0!important}
  #sit_tab .tab_tit::-webkit-scrollbar{display:none}
  #sit_tab .tab_tit li button{padding:8px 12px!important;white-space:nowrap}
  #sit_tab .tab_con{margin:12px;border-radius:15px;padding:16px!important;box-shadow:none}

  #sod_bsk_list,.od_prd_list{margin-left:12px!important;margin-right:12px!important;border-radius:15px!important;box-shadow:none}
  #sod_bsk_list thead,#sod_frm .od_prd_list thead{display:none!important}
  #sod_bsk_list table,#sod_bsk_list tbody,#sod_bsk_list tr,#sod_bsk_list td,#sod_frm .od_prd_list table,#sod_frm .od_prd_list tbody,#sod_frm .od_prd_list tr,#sod_frm .od_prd_list td{display:block;width:100%!important}
  #sod_bsk_list tbody tr,#sod_frm .od_prd_list tbody tr{position:relative;padding:12px;border-bottom:1px solid var(--shop-line)}
  #sod_bsk_list tbody tr:last-child,#sod_frm .od_prd_list tbody tr:last-child{border-bottom:0}
  #sod_bsk_list tbody td,#sod_frm .od_prd_list tbody td{padding:5px 0!important;border:0!important;text-align:right!important}
  #sod_bsk_list tbody td.td_prd,#sod_frm .od_prd_list tbody td.td_prd{padding:5px 0 5px 86px!important;text-align:left!important;min-height:72px!important}
  #sod_bsk_list tbody td.td_prd .sod_img,#sod_frm .od_prd_list tbody td.td_prd .sod_img{left:0!important;top:5px!important;width:68px!important;height:68px!important;transform:none!important}
  #sod_bsk_list tbody td.td_prd .sod_img img,#sod_frm .od_prd_list tbody td.td_prd .sod_img img{width:68px!important;height:68px!important}
  #sod_bsk #sod_bsk_tot{margin:14px 12px!important;box-shadow:none}
  #sod_bsk #sod_bsk_tot ul{grid-template-columns:1fr!important}
  #sod_bsk #sod_bsk_tot li{min-height:58px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}

  #sod_frm{display:block!important;padding:0 12px}
  #sod_frm .od_prd_list{margin-left:0!important;margin-right:0!important}
  #sod_frm_orderer,#sod_frm_taker,#sod_frm_pay,#forderform .od_pay_buttons_el{border-radius:15px!important;box-shadow:none}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01{padding:6px 14px 14px!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 tr{display:block!important;min-height:0!important;padding:10px 0!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 th{display:block!important;width:100%!important;padding:0 0 6px!important;font-size:11px!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td{display:flex!important;width:100%!important;padding:0!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td>input:not([type="radio"]):not([type="checkbox"]){width:100%!important;max-width:none!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td.shop-address-cell{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;gap:7px!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td.shop-address-cell :where(#od_zip,#od_b_zip){width:110px!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .addr{grid-template-columns:1fr auto!important}
  #sod_frm_taker .choice_place,#sod_frm_taker .order_choice_place{margin:0!important}
  #sod_frm .sod_right #sod_bsk_tot{box-shadow:none!important}
  #od_pay_sl{display:block!important;padding:0!important}
  #od_pay_sl .lb_icon{min-height:48px!important;padding-left:38px!important;background-position:8px 50%!important;font-size:11px!important}
  #sod_frm_pay .pay_tbl{padding-left:12px!important;padding-right:12px!important}
  #od_tot_price{margin-left:12px!important;margin-right:12px!important}
  #settle_bank,.sod_frm_point{margin-left:0!important;margin-right:0!important}
}

@media(max-width:390px){
  #sit_ov_btn{grid-template-columns:1fr 1fr 46px!important;gap:6px!important;padding:6px!important}
  #sit_ov_btn :where(button,a){font-size:13px!important}
}

@media(prefers-reduced-motion:reduce){
  #sit_pvi_thumb a,body :where(#sit,#sod_frm,#sod_bsk,#smb_my,#sod_v) *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
#sod_frm section.has-invalid-field{outline:2px solid color-mix(in srgb,var(--g5-danger) 55%,transparent);outline-offset:3px}
#sit_ov_btn .is-submitting,#sod_frm .btn_submit.is-submitting{opacity:.68;pointer-events:none}

/* ---------- native mobile item purchase sheet ---------- */
body.g5-mobile .btn_option_wr{position:fixed!important;left:0!important;bottom:0!important;z-index:88!important;width:100%!important;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;border-top:1px solid var(--shop-line)!important;background:color-mix(in srgb,var(--g5-surface) 94%,transparent)!important;box-shadow:0 -10px 30px rgba(0,0,0,.10)!important;backdrop-filter:blur(14px)}
body.g5-mobile .btn_option_wr .btn_cart_op{height:50px!important;border:0!important;border-radius:13px!important;background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important;font-size:15px!important;font-weight:900!important;box-shadow:0 8px 18px color-mix(in srgb,var(--g5-primary) 20%,transparent)}
body.g5-mobile #btn_option{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:92!important;width:auto!important;max-height:min(78vh,720px)!important;padding:0!important;border:0!important;border-radius:20px 20px 0 0!important;background:var(--g5-surface)!important;box-shadow:0 -24px 70px rgba(0,0,0,.22)!important;overflow:visible!important}
body.g5-mobile #btn_option .sl_option{max-height:calc(min(78vh,720px) - 76px)!important;padding:18px 14px calc(84px + env(safe-area-inset-bottom))!important;overflow:auto!important;overscroll-behavior:contain}
body.g5-mobile #btn_option>.btn_close{position:absolute!important;left:50%!important;top:-22px!important;width:54px!important;height:32px!important;margin:0!important;transform:translateX(-50%)!important;border:1px solid var(--shop-line)!important;border-bottom:0!important;border-radius:14px 14px 0 0!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;box-shadow:none!important}
body.g5-mobile #btn_option .sit_option{padding:12px!important;border-radius:13px!important}
body.g5-mobile #btn_option #sit_opt_added li{padding:12px!important}
body.g5-mobile #btn_option #sit_tot_price{margin:14px 0 8px!important;padding-top:14px!important}
body.g5-mobile #btn_option #sit_ov_btn{position:absolute!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:1fr 1.08fr 48px!important;gap:7px!important;margin:0!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--shop-line)!important;border-radius:0!important;background:color-mix(in srgb,var(--g5-surface) 96%,transparent)!important;box-shadow:0 -8px 24px rgba(0,0,0,.08)!important;backdrop-filter:blur(12px)}
body.g5-mobile #btn_option #sit_ov_btn :where(input,button){float:none!important;width:100%!important;height:48px!important;margin:0!important;border-radius:12px!important;font-size:13px!important;font-weight:850!important;line-height:46px!important}
body.g5-mobile #btn_option #sit_btn_cart{border:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text)!important}
body.g5-mobile #btn_option #sit_btn_buy{border:1px solid var(--g5-primary-fill)!important;background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important}
body.g5-mobile #btn_option #sit_btn_wish{display:flex!important;align-items:center;justify-content:center;border:1px solid var(--shop-line)!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;font-size:17px!important;line-height:1!important}
body.g5-mobile #btn_option #sit_btn_phone{grid-column:1/3!important;border:1px solid var(--g5-primary)!important;background:var(--g5-primary-soft)!important;color:var(--g5-accent-ink)!important}
body.g5-mobile #sit_pvi{display:block!important;position:relative!important;margin:0 12px!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:16px!important;background:var(--g5-surface)!important;box-shadow:none!important;overflow:hidden}
body.g5-mobile #sit_pvi_slide{margin:0!important;padding:0!important}
body.g5-mobile #sit_pvi_slide li{margin:0!important}
body.g5-mobile #sit_pvi_slide .slide_img{display:block;width:100%;aspect-ratio:1/1;background:var(--g5-surface-soft)}
body.g5-mobile #sit_pvi_slide .slide_img img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;padding:8px}
body.g5-mobile #sit_pvi .btn_wr{bottom:10px!important;min-height:38px!important;padding:3px!important;border:1px solid rgba(255,255,255,.14);background:rgba(20,20,22,.70)!important;box-shadow:0 6px 18px rgba(0,0,0,.16)}
body.g5-mobile #sit_pvi .btn_wr :where(.pager-prev,.pager-next){width:36px!important;height:36px!important;flex-basis:36px!important}
body.g5-mobile #sit_ov_wrap{display:block!important;margin:0!important;padding:12px 0 92px!important}
body.g5-mobile #sit_ov{width:auto!important;margin:0 12px!important;padding:18px 14px!important;border:1px solid var(--shop-line)!important;border-radius:16px!important;background:var(--g5-surface)!important;box-shadow:none!important}
body.g5-mobile #sit_ov>h2{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
body.g5-mobile #sit_ov .sit_ov_wr{padding:0!important}
body.g5-mobile #sit_siblings{margin:12px 0 0!important;padding:4px 0!important}
body.g5-mobile #sit_tab{margin:14px 0 0!important;padding-bottom:86px}
body.g5-mobile #sit_tab .tab_tit{top:54px!important}
body.g5-mobile #sit_tab .tab_tit li{float:none!important;width:auto!important;border:0!important}
body.g5-mobile #sit_tab .tab_con{margin:12px!important;padding:16px!important;border:1px solid var(--shop-line)!important;border-radius:15px!important;background:var(--g5-surface)!important;box-shadow:none!important}
body.g5-mobile #sit_tab .tab_con>li{min-width:0}
body.g5-mobile #sit_inf_explan :where(img,video,iframe,table){max-width:100%!important}

/* ---------- native mobile checkout markup ---------- */
body.g5-mobile #sod_frm.sod_frm_mobile{display:block!important;padding:0 12px!important}
body.g5-mobile #sod_frm.sod_frm_mobile :where(#sod_frm_orderer,#sod_frm_taker,#m_sod_frm_orderer,#m_sod_frm_taker,#sod_frm_pay){margin:0 0 14px!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:15px!important;background:var(--g5-surface)!important;box-shadow:none!important;overflow:hidden}
body.g5-mobile #sod_frm.sod_frm_mobile :where(#sod_frm_orderer,#sod_frm_taker,#m_sod_frm_orderer,#m_sod_frm_taker)>h2,body.g5-mobile #sod_frm.sod_frm_mobile #sod_frm_pay>h2{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:15px 14px!important;border-bottom:1px solid var(--shop-line)!important;color:var(--g5-text)!important;font-size:15px!important;font-weight:900!important;line-height:1.35!important;text-indent:0!important;overflow:visible!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list{padding:6px 14px 14px!important;background:transparent!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list li{padding:8px 0!important;border-bottom:1px solid var(--shop-line)}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list li:last-child{border-bottom:0}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list :where(label,strong){margin:0 0 6px!important;color:var(--g5-text-soft)!important;font-size:11px!important;font-weight:800!important;line-height:1.35!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list .frm_input{width:100%!important;margin:0!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_list .dlv_slt{margin:6px 0!important;padding:12px!important;border:0!important;border-radius:12px!important;background:var(--g5-primary-soft)!important}
body.g5-mobile #sod_frm.sod_frm_mobile :where(.btn_addsch,#order_address){top:7px!important;right:7px!important;height:36px!important;border:1px solid var(--shop-line)!important;border-radius:9px!important;background:var(--g5-surface)!important;color:var(--g5-text)!important}
body.g5-mobile #sod_frm.sod_frm_mobile .od_prd_list{margin:0 0 14px!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:15px!important;background:var(--g5-surface)!important}
body.g5-mobile #sod_frm.sod_frm_mobile .sod_list .li_name{padding:12px 14px!important;border-color:var(--shop-line)!important;font-size:13px!important;font-weight:850!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl table{border:0!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl tr{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border-bottom:1px solid var(--shop-line)}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl tr:last-child{border-bottom:0}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl th,body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl td{width:auto!important;padding:9px 12px!important;border:0!important;background:transparent!important;font-size:12px!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl th{color:var(--g5-text-soft);font-weight:700!important}
body.g5-mobile #sod_frm.sod_frm_mobile .odf_tbl td{margin-left:auto;font-weight:850!important;text-align:right!important}
body.g5-mobile #sod_frm.sod_frm_mobile #m_sod_frm_paysel{padding:10px 14px 14px!important}
body.g5-mobile #sod_frm.sod_frm_mobile #m_sod_frm_paysel ul{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
body.g5-mobile #sod_frm.sod_frm_mobile #m_sod_frm_paysel li{margin:0!important;padding:0!important}
body.g5-mobile #sod_frm.sod_frm_mobile #m_sod_frm_paysel label{display:flex!important;align-items:center;min-height:48px;padding:8px 9px!important;border:1px solid var(--shop-line)!important;border-radius:11px!important;background:var(--g5-surface)!important;font-size:11px!important;font-weight:750!important}
body.g5-mobile #sod_frm.sod_frm_mobile .btn_confirm{position:sticky;bottom:0;z-index:20;margin:12px -12px 0!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--shop-line);background:color-mix(in srgb,var(--g5-surface) 95%,transparent);backdrop-filter:blur(12px)}
body.g5-mobile #sit_ov .sit_ov_tbl{margin:0 0 14px;padding:0;border:0!important;border-radius:14px;background:var(--g5-surface-soft);overflow:hidden}
body.g5-mobile #sit_ov .sit_ov_tbl table{width:100%;border-collapse:collapse}
body.g5-mobile #sit_ov .sit_ov_tbl tr:has(#it_price){background:color-mix(in srgb,var(--g5-primary-soft) 68%,var(--g5-surface))}
body.g5-mobile #sit_ov .sit_ov_tbl tr:has(#it_price) td{color:var(--g5-accent-ink);font-size:20px;font-weight:900}
body.g5-mobile #sit_star_sns .sit_btn_opt{position:static!important;display:flex;align-items:center;gap:6px;margin-left:auto}
body.g5-mobile #sit_star_sns .sit_btn_opt :where(#btn_wish,.btn_sns_share){float:none!important;display:inline-flex!important;align-items:center;justify-content:center;width:38px!important;height:38px!important;border:1px solid var(--shop-line)!important;border-radius:11px!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important}
body.g5-mobile #sit_star_sns .sns_area{right:0!important;top:44px!important;border-radius:12px!important;box-shadow:var(--shop-shadow)!important}
body.g5-mobile #sit_star_sns .sns_area #sit_btn_rec{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border:0;border-radius:50%;background:var(--g5-surface-soft);color:var(--g5-text)}
body.g5-mobile #sit_tab .tab_tit{grid-template-columns:repeat(4,max-content)!important}
@media(max-width:520px){
  #sod_frm_paysel{grid-template-columns:1fr!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell{grid-template-columns:104px minmax(0,1fr)!important}
  #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) td.shop-address-cell :where(#od_zip,#od_b_zip){width:104px!important}
}


/* =========================================================
   v6.9.13 · shop home polish
   - community/main media and shop-main media are visually separated
   - legacy main banner is used only as a fallback
   ========================================================= */
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) {min-width:0}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero {position:relative;margin:0 0 28px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero:empty {display:none}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss {width:100%;margin:0}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-viewport {
    height:clamp(300px,29vw,430px);
    aspect-ratio:auto;
    border:1px solid color-mix(in srgb,var(--g5-border) 82%,transparent);
    border-radius:16px;
    box-shadow:0 12px 34px rgba(20,22,28,.085);
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-arrow {
    width:42px;height:42px;border:1px solid rgba(255,255,255,.68);
    background:rgba(255,255,255,.88);box-shadow:0 6px 20px rgba(16,18,22,.14);
    backdrop-filter:blur(10px);
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-prev {left:16px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-next {right:16px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-dots {bottom:14px;padding:6px 9px;background:rgba(15,16,18,.24)}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-toggle {right:14px;bottom:12px;background:rgba(15,16,18,.38);backdrop-filter:blur(8px)}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero #main_bn {margin:0;overflow:hidden;border-radius:16px;box-shadow:0 12px 34px rgba(20,22,28,.075)}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero #main_bn img,
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .main_banner_owl img {height:clamp(300px,29vw,430px);aspect-ratio:auto;object-fit:cover}

body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section {
    margin:0 0 26px;padding:22px 22px 24px;
    border:1px solid var(--g5-border);border-radius:16px;background:var(--g5-surface);
    box-shadow:0 8px 26px rgba(20,22,28,.045);
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section>header {
    align-items:center;margin:0 0 18px;padding:0 0 13px;border-bottom:1px solid var(--g5-border)
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section>header h2 {font-size:20px;line-height:1.3}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-section-more {
    min-height:34px;padding:7px 10px;border:1px solid var(--g5-border);border-radius:9px;
    background:var(--g5-surface-soft);font-size:12px
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-section-more:hover {border-color:color-mix(in srgb,var(--g5-primary) 35%,var(--g5-border));background:var(--g5-primary-soft)}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-main-grid {
    --shop-cols:4!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-card {border-radius:13px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body {min-height:148px;padding:13px 14px 15px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body .sct_txt {font-size:14px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body .sct_cost strong {font-size:16px}
body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-empty {margin:0 0 26px;border-radius:16px;box-shadow:0 8px 26px rgba(20,22,28,.035)}

@media(max-width:1080px){
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-main-grid {--shop-cols:3!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-viewport,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero #main_bn img,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .main_banner_owl img {height:clamp(280px,34vw,390px)}
}
@media(max-width:767px){
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero {margin:0 12px 16px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-viewport,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero #main_bn img,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .main_banner_owl img {
        height:clamp(220px,66vw,360px);aspect-ratio:auto;border-radius:14px
    }
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-prev {left:10px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-next {right:10px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-arrow {width:36px;height:36px;font-size:24px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section {margin:0 12px 16px;padding:17px 14px 18px;border-radius:14px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section>header {margin-bottom:13px;padding-bottom:10px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-section>header h2 {font-size:17px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-main-grid {--shop-cols:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body {min-height:132px;padding:11px 11px 13px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body .sct_txt {font-size:13px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body .sct_basic {display:none}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-product-body .sct_cost strong {font-size:14px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-section-more {min-height:30px;padding:5px 8px;font-size:11px}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-empty {margin:0 12px 16px;border-radius:14px}
}
@media(max-width:420px){
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .g5ss-viewport,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero #main_bn img,
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-home-hero .main_banner_owl img {height:clamp(210px,68vw,300px)}
    body.g5-shop :is(.shop-content.is_index,#container.is_shop_index) .shop-main-grid {gap:8px!important}
}


/* =========================================================
   v6.10.0 · full shop stability pass + main builder
   - order/cart/completion tables become labelled cards before they overflow
   - long product names never collide with thumbnails
   - floating controls stay clear of the mobile purchase sheet
   ========================================================= */
@media(max-width:860px){
  #sod_bsk_list,
  #sod_frm .od_prd_list,
  #sod_fin_list{overflow:visible!important;border-radius:15px!important;box-shadow:none!important}

  #sod_bsk_list thead,
  #sod_frm .od_prd_list thead,
  #sod_fin_list thead{display:none!important}

  #sod_bsk_list table,#sod_bsk_list tbody,#sod_bsk_list tr,#sod_bsk_list td,
  #sod_frm .od_prd_list table,#sod_frm .od_prd_list tbody,#sod_frm .od_prd_list tr,#sod_frm .od_prd_list td,
  #sod_fin_list table,#sod_fin_list tbody,#sod_fin_list tr,#sod_fin_list td{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}

  #sod_bsk_list tbody tr,
  #sod_frm .od_prd_list tbody tr,
  #sod_fin_list tbody tr{position:relative!important;margin:0!important;padding:12px!important;border:0!important;border-bottom:1px solid var(--shop-line)!important;background:var(--g5-surface)!important}
  #sod_bsk_list tbody tr:last-child,
  #sod_frm .od_prd_list tbody tr:last-child,
  #sod_fin_list tbody tr:last-child{border-bottom:0!important}

  #sod_bsk_list tbody td,
  #sod_frm .od_prd_list tbody td,
  #sod_fin_list tbody td{min-width:0!important;min-height:0!important;margin:0!important;padding:6px 0!important;border:0!important;background:transparent!important;white-space:normal!important;text-align:right!important;word-break:break-word!important;overflow-wrap:anywhere!important}

  #sod_bsk_list tbody td[data-label]:not(.td_prd):not(.td_chk),
  #sod_frm .od_prd_list tbody td[data-label]:not(.td_prd):not(.td_chk),
  #sod_fin_list tbody td[data-label]:not(.td_prd):not(.td_chk){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}
  #sod_bsk_list tbody td[data-label]:not(.td_prd):not(.td_chk)::before,
  #sod_frm .od_prd_list tbody td[data-label]:not(.td_prd):not(.td_chk)::before,
  #sod_fin_list tbody td[data-label]:not(.td_prd):not(.td_chk)::before{content:attr(data-label);flex:0 0 auto;max-width:45%;color:var(--g5-text-soft);font-size:11px;font-weight:750;line-height:1.5;text-align:left;white-space:normal}

  #sod_bsk_list tbody td.td_prd,
  #sod_frm .od_prd_list tbody td.td_prd,
  #sod_fin_list tbody td.td_prd{position:relative!important;display:block!important;min-height:80px!important;padding:5px 0 5px 86px!important;text-align:left!important}
  #sod_bsk_list tbody td.td_prd .sod_img,
  #sod_frm .od_prd_list tbody td.td_prd .sod_img,
  #sod_fin_list tbody td.td_prd .sod_img{position:absolute!important;left:0!important;top:5px!important;width:68px!important;height:68px!important;margin:0!important;transform:none!important}
  #sod_bsk_list tbody td.td_prd .sod_img img,
  #sod_frm .od_prd_list tbody td.td_prd .sod_img img,
  #sod_fin_list tbody td.td_prd .sod_img img{display:block!important;width:68px!important;height:68px!important;max-width:68px!important;object-fit:cover!important;border-radius:9px!important}
  #sod_bsk_list tbody td.td_prd :where(.sod_name,.sod_opt,.sod_option),
  #sod_frm .od_prd_list tbody td.td_prd :where(.sod_name,.sod_opt,.sod_option),
  #sod_fin_list tbody td.td_prd :where(.sod_name,.sod_opt,.sod_option){position:relative!important;left:auto!important;right:auto!important;display:block!important;max-width:100%!important;margin-left:0!important;padding-left:0!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important}
}

@media(max-height:700px) and (min-width:861px){
  #sit_pvi{position:relative!important;top:auto!important}
}

body.g5-mobile.g5-shop.has-shop-purchase-bar #theme_toggle{
  bottom:calc(76px + env(safe-area-inset-bottom))!important;
}

/* =========================================================
   v7.0.3 · shop index + purchase flow visual reset
   The shop home and checkout are isolated from generic community/card rules.
   ========================================================= */

/* page-level breathing room */
body.g5-shop.shop-page-index #wrapper,
body.g5-shop.shop-page-cart #wrapper,
body.g5-shop.shop-page-checkout #wrapper,
body.g5-shop.shop-page-order-view #wrapper{
  width:min(1320px,calc(100% - 36px));
  max-width:1320px;
  margin-inline:auto;
}
body.g5-shop.shop-page-index .shop-content,
body.g5-shop.shop-page-cart .shop-content,
body.g5-shop.shop-page-checkout .shop-content,
body.g5-shop.shop-page-order-view .shop-content{min-width:0!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout,.shop-page-order-view) #side_menu{display:none!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout,.shop-page-order-view) #wrapper_title{
  margin:0 0 20px!important;padding:0 0 14px!important;border-bottom:1px solid var(--shop-line)!important;
  color:var(--g5-text)!important;font-size:26px!important;font-weight:900!important;line-height:1.25!important;letter-spacing:-.045em
}

/* ---------- shop home / builder ---------- */
body.g5-shop.shop-page-index .shop-content.is_index{padding-top:12px!important}
body.g5-shop.shop-page-index .g5mb.g5mb-page-shop{
  width:100%!important;max-width:min(var(--g5mb-max-width,1320px),100%)!important;margin:0 auto!important;
  gap:22px!important;padding:0!important;background:transparent!important
}
body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-section{min-width:0!important}
body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-slideshow,
body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-banner,
body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-media{
  padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important
}
body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-product{
  padding:20px!important;border:1px solid var(--shop-line)!important;border-radius:18px!important;
  background:var(--g5-surface)!important;box-shadow:0 8px 28px rgba(20,22,28,.04)!important;overflow:visible!important
}
body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-section-head{
  align-items:center!important;margin:0 0 16px!important;padding:0 0 12px!important;border-bottom:1px solid var(--shop-line)!important
}
body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-section-head h2{
  color:var(--g5-text)!important;font-size:19px!important;font-weight:900!important;letter-spacing:-.04em!important
}
body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-section-head p{color:var(--g5-text-soft)!important;font-size:12px!important}
body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-more{
  min-height:32px;padding:6px 9px;border:1px solid var(--shop-line);border-radius:9px;background:var(--g5-surface-soft);
  color:var(--g5-text-soft)!important;font-size:11px!important
}
body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-product-list{min-width:0;overflow:visible}
body.g5-shop.shop-page-index :is(.g5mb-product-list,.shop-home-section) .shop-main-grid{
  --shop-cols:4!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;margin:0!important;padding:0!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-card{
  position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;width:auto!important;height:100%!important;
  margin:0!important;padding:0!important;border:1px solid var(--shop-line)!important;border-radius:14px!important;
  background:var(--g5-surface)!important;overflow:hidden!important;box-shadow:none!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-card:hover{
  transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--g5-primary) 25%,var(--g5-border))!important;
  box-shadow:0 10px 26px rgba(20,22,28,.07)!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-thumb{
  position:relative!important;flex:0 0 auto!important;width:100%!important;margin:0!important;padding:0!important;
  aspect-ratio:1/1!important;overflow:hidden!important;background:var(--g5-surface-soft)!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-thumb>a{display:block!important;width:100%!important;height:100%!important}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-thumb img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  object-fit:cover!important;transition:transform .24s ease
}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-card:hover .shop-product-thumb img{transform:scale(1.018)}
body.g5-shop.shop-page-index .shop-main-grid .shop-product-body{
  position:relative!important;display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-width:0!important;min-height:132px!important;
  padding:13px 13px 12px!important
}
body.g5-shop.shop-page-index .shop-main-grid .sct_star{order:0;min-height:14px;margin:0 0 5px!important}
body.g5-shop.shop-page-index .shop-main-grid .sct_star img{display:block;max-width:76px;height:auto}
body.g5-shop.shop-page-index .shop-main-grid .sct_txt{
  order:1;display:-webkit-box!important;min-height:40px;margin:0 0 5px!important;padding:0!important;overflow:hidden!important;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--g5-text)!important;font-size:14px!important;font-weight:800!important;line-height:1.42!important;word-break:keep-all
}
body.g5-shop.shop-page-index .shop-main-grid .sct_txt a{color:inherit!important}
body.g5-shop.shop-page-index .shop-main-grid .sct_basic{
  order:2;display:-webkit-box!important;min-height:18px;margin:0 0 8px!important;padding:0!important;overflow:hidden!important;
  -webkit-box-orient:vertical;-webkit-line-clamp:1;color:var(--g5-text-soft)!important;font-size:11px!important;line-height:1.5!important
}
body.g5-shop.shop-page-index .shop-main-grid .sct_cost{order:3;margin:auto 0 0!important;padding:0 78px 0 0!important;line-height:1.35!important}
body.g5-shop.shop-page-index .shop-main-grid .sct_dict{display:inline-block!important;margin:0 6px 0 0!important;color:var(--g5-text-soft)!important;font-size:11px!important;font-weight:500!important;text-decoration:line-through}
body.g5-shop.shop-page-index .shop-main-grid .sct_cost strong{display:inline-block;color:var(--g5-text)!important;font-size:16px!important;font-weight:900!important;letter-spacing:-.02em}
body.g5-shop.shop-page-index .shop-main-grid .sit_icon_li{order:4;min-height:0;margin:7px 0 0!important}
body.g5-shop.shop-page-index .shop-main-grid .sit_icon_li img{max-height:18px;width:auto}
body.g5-shop.shop-page-index .shop-main-grid .shop-card-actions{
  position:absolute!important;right:10px!important;bottom:10px!important;z-index:5;display:flex!important;gap:4px!important;margin:0!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-card-actions>button{
  box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;
  border:1px solid var(--g5-control-border)!important;border-radius:10px!important;background:var(--g5-surface)!important;color:var(--g5-meta-ink)!important;font-size:13px!important
}
body.g5-shop.shop-page-index .shop-main-grid .shop-card-actions>button:hover{border-color:var(--g5-accent-ink)!important;color:var(--g5-accent-ink)!important;background:var(--g5-primary-soft)!important}
body.g5-shop.shop-page-index .g5mb-page-shop .g5ss-viewport,
body.g5-shop.shop-page-index .shop-home-hero .g5ss-viewport{max-height:430px;border-radius:18px!important}

/* ---------- cart / checkout product summary ---------- */
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list){
  margin:0 0 22px!important;border:1px solid var(--shop-line)!important;border-radius:16px!important;background:var(--g5-surface)!important;
  box-shadow:0 8px 28px rgba(20,22,28,.04)!important;overflow:hidden!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) .tbl_head01{overflow:visible!important;border:0!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) table{
  width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) thead th{
  height:44px!important;padding:10px 8px!important;border:0!important;border-bottom:1px solid var(--shop-line)!important;
  background:var(--g5-surface-soft)!important;color:var(--g5-text-soft)!important;font-size:11px!important;font-weight:800!important;line-height:1.3!important;text-align:center!important
}
body.g5-shop.shop-page-checkout #sod_frm>.od_prd_list thead th:first-child{width:47%!important}
body.g5-shop.shop-page-cart #sod_bsk_list thead th.td_chk{width:42px!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody tr{background:var(--g5-surface)!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td{
  height:auto!important;min-height:0!important;padding:14px 8px!important;border:0!important;border-bottom:1px solid var(--shop-line)!important;
  color:var(--g5-text)!important;font-size:12px!important;line-height:1.45!important;text-align:center!important;vertical-align:middle!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody tr:last-child td{border-bottom:0!important}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd{
  position:relative!important;min-width:0!important;min-height:92px!important;padding:12px 10px 12px 88px!important;text-align:left!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd .sod_img{
  position:absolute!important;left:12px!important;top:50%!important;width:62px!important;height:62px!important;margin:0!important;transform:translateY(-50%)!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd .sod_img img{
  display:block!important;width:62px!important;height:62px!important;max-width:62px!important;border:1px solid var(--shop-line)!important;border-radius:10px!important;object-fit:cover!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) .sod_name{
  display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;min-height:62px!important;margin:0!important;padding:0!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) .prd_name{
  display:block!important;max-width:100%!important;margin:0 0 4px!important;color:var(--g5-text)!important;font-size:13px!important;font-weight:800!important;line-height:1.45!important;
  overflow-wrap:anywhere!important;word-break:keep-all!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) .sod_opt{
  margin:0!important;color:var(--g5-text-soft)!important;font-size:11px!important;line-height:1.45!important
}
body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) .sod_opt li:before{
  margin-right:4px!important;padding:2px 5px!important;font-size:10px!important
}

/* ---------- desktop checkout form ---------- */
body.g5-shop.shop-page-checkout #sod_frm{
  --shop-summary-w:354px;display:grid!important;grid-template-columns:minmax(0,1fr) var(--shop-summary-w)!important;gap:20px!important;align-items:start!important
}
body.g5-shop.shop-page-checkout #sod_frm>.od_prd_list{grid-column:1/-1!important;grid-row:1!important}
body.g5-shop.shop-page-checkout #sod_frm>.sod_left{grid-column:1!important;grid-row:2!important}
body.g5-shop.shop-page-checkout #sod_frm>.sod_right{grid-column:2!important;grid-row:2!important;gap:12px!important}
body.g5-shop.shop-page-checkout :is(#sod_frm_orderer,#sod_frm_taker,#sod_frm_pay,#forderform .od_pay_buttons_el){
  border-radius:16px!important;box-shadow:0 8px 28px rgba(20,22,28,.04)!important
}
body.g5-shop.shop-page-checkout #sod_frm :is(#sod_frm_orderer,#sod_frm_taker)>h2,
body.g5-shop.shop-page-checkout #sod_frm #sod_frm_pay>h2{
  padding:16px 18px!important;font-size:15px!important
}
body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01{padding:8px 18px 14px!important}
body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 tr{
  grid-template-columns:104px minmax(0,1fr)!important;min-height:54px!important
}
body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 th{font-size:12px!important}
body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td>input:not([type="radio"]):not([type="checkbox"]){max-width:520px!important}
body.g5-shop.shop-page-checkout #sod_frm .sod_right #sod_bsk_tot{border-radius:16px!important;box-shadow:0 8px 28px rgba(20,22,28,.04)!important}
body.g5-shop.shop-page-checkout #sod_frm .sod_right #sod_bsk_tot>ul>li{min-height:46px!important;padding:11px 14px!important}
body.g5-shop.shop-page-checkout #sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_cnt{min-height:58px!important}
body.g5-shop.shop-page-checkout #sod_frm .sod_right #sod_bsk_tot>ul>.sod_bsk_cnt .shop-summary-value strong{font-size:21px!important}
body.g5-shop.shop-page-checkout #sod_frm_pay .pay_tbl{padding:4px 14px 8px!important}
body.g5-shop.shop-page-checkout #sod_frm_pay #od_tot_price{margin:5px 14px 10px!important}
body.g5-shop.shop-page-checkout #sod_frm .btn_confirm :where(.btn_submit,.btn_cancel,.btn01){min-height:50px!important;height:50px!important}
@media(min-width:1101px) and (min-height:780px){
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right{position:sticky!important;top:18px!important}
}

/* tablet: checkout becomes one clean column earlier, before it gets cramped */
@media(max-width:1100px){
  body.g5-shop.shop-page-index :is(.g5mb-product-list,.shop-home-section) .shop-main-grid{--shop-cols:3!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.g5-shop.shop-page-checkout #sod_frm{display:block!important}
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:14px!important}
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right>#sod_bsk_tot,
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right>#sod_frm_pay,
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right>.od_pay_buttons_el{grid-column:1!important;width:100%!important}
}

@media(max-width:767px){
  body.g5-shop.shop-page-index #wrapper,
  body.g5-shop.shop-page-cart #wrapper,
  body.g5-shop.shop-page-checkout #wrapper,
  body.g5-shop.shop-page-order-view #wrapper{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
  body.g5-shop.shop-page-index .g5mb.g5mb-page-shop{padding:0 12px!important}
  body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-product{padding:14px!important;border-radius:15px!important}
  body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-section-head{margin-bottom:12px!important;padding-bottom:10px!important}
  body.g5-shop.shop-page-index .g5mb-page-shop .g5mb-section-head h2{font-size:17px!important}
  body.g5-shop.shop-page-index :is(.g5mb-product-list,.shop-home-section) .shop-main-grid{--shop-cols:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  body.g5-shop.shop-page-index .shop-main-grid .shop-product-body{min-height:120px!important;padding:10px!important}
  body.g5-shop.shop-page-index .shop-main-grid .sct_txt{min-height:37px!important;font-size:13px!important}
  body.g5-shop.shop-page-index .shop-main-grid .sct_basic{display:none!important}
  body.g5-shop.shop-page-index .shop-main-grid .sct_cost{padding-right:0!important}
  body.g5-shop.shop-page-index .shop-main-grid .sct_cost strong{font-size:14px!important}
  body.g5-shop.shop-page-index .shop-main-grid .shop-card-actions{position:static!important;order:5;margin-top:9px!important;justify-content:flex-end!important}
  body.g5-shop.shop-page-index .shop-main-grid .shop-card-actions>button{width:36px!important;height:36px!important}

  body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list){margin:0 12px 14px!important;border-radius:14px!important;box-shadow:none!important}
  body.g5-shop.shop-page-checkout #sod_frm{padding:0 12px!important}
  body.g5-shop.shop-page-checkout #sod_frm>.od_prd_list{margin-left:0!important;margin-right:0!important}
  body.g5-shop.shop-page-checkout #sod_frm>.sod_right{display:block!important}
  body.g5-shop.shop-page-checkout :is(#sod_frm_orderer,#sod_frm_taker,#sod_frm_pay,#forderform .od_pay_buttons_el){box-shadow:none!important}
  body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 tr{display:block!important;min-height:0!important;padding:10px 0!important}
  body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 th{display:block!important;width:100%!important;padding:0 0 6px!important}
  body.g5-shop.shop-page-checkout #sod_frm :where(#sod_frm_orderer,#sod_frm_taker) .tbl_frm01 td{display:flex!important;width:100%!important;padding:0!important}
}

@media(max-width:430px){
  body.g5-shop.shop-page-index .g5mb.g5mb-page-shop{padding:0 10px!important}
  body.g5-shop.shop-page-index .g5mb-page-shop>.g5mb-type-product{padding:12px 10px!important}
  body.g5-shop.shop-page-index :is(.g5mb-product-list,.shop-home-section) .shop-main-grid{gap:8px!important}
  body.g5-shop.shop-page-index .shop-main-grid .shop-product-body{min-height:112px!important;padding:9px!important}
  body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd{padding-left:78px!important}
  body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd .sod_img{width:56px!important;height:56px!important}
  body.g5-shop:is(.shop-page-cart,.shop-page-checkout) :is(#sod_bsk_list,#sod_frm>.od_prd_list) tbody td.td_prd .sod_img img{width:56px!important;height:56px!important;max-width:56px!important}
}


/* =========================================================
   v7.1.4 audit
   - checkout payment icon/text collision
   - legacy main.20 rolling control text overflow
   ========================================================= */

/* Payment method labels use background icons. Reserve a real icon column so
   long Korean labels never sit on top of the bitmap. */
body.g5-shop #od_pay_sl .lb_icon{
    position:relative!important;
    padding-left:56px!important;
    padding-right:12px!important;
    background-position:15px 50%!important;
    background-repeat:no-repeat!important;
    text-indent:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
}
body.g5-shop #od_pay_sl .lb_icon:is(.bank_icon,.vbank_icon,.iche_icon,.hp_icon,.card_icon){
    background-size:30px auto!important;
}
/* A few payment logos are intentionally wider than the generic bank/card icon. */
body.g5-shop #od_pay_sl .lb_icon:is(.PAYCO,.PAYNOW,.KPAY,.inicis_lpay,.inicis_kakaopay,.kakaopay_icon,.naverpay_icon,.samsungpay_icon,.ssgpay_icon,.skpay_icon){
    padding-left:12px!important;
    background-position:50% 50%!important;
}

/* main.20.skin.php used visible text inside a tiny icon button.  Keep the
   accessible label only and make the visual button a true square control. */
body.g5-shop .sct_wrap .sctrl{
    position:absolute!important;
    top:12px!important;
    right:18px!important;
    z-index:3;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    max-width:calc(100% - 180px);
}
body.g5-shop .sct_wrap .sctrl li{float:none!important;display:block!important;margin:0!important;padding:0!important}
body.g5-shop .sct_wrap .sctrl button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid var(--g5-border)!important;
    border-radius:9px!important;
    background:var(--g5-surface-soft)!important;
    color:var(--g5-text-soft)!important;
    font-size:0!important;
    line-height:1!important;
    text-indent:0!important;
    white-space:nowrap!important;
}
body.g5-shop .sct_wrap .sctrl button>span{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    height:auto!important;
    background:none!important;
    font-size:0!important;
    text-indent:0!important;
}
body.g5-shop .sct_wrap .sctrl button>span:before{font-family:Arial,sans-serif;font-size:15px!important;line-height:1!important}
body.g5-shop .sct_wrap .sctrl .sctrl_play>span:before{content:"▶"!important}
body.g5-shop .sct_wrap .sctrl .sctrl_stop>span:before{content:"■"!important;font-size:11px!important}
body.g5-shop .sct_wrap .sctrl button .sound_only{
    position:absolute!important;
    width:1px!important;height:1px!important;
    margin:-1px!important;padding:0!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;border:0!important;
}
/* Header needs enough room when legacy rolling controls are enabled. */
body.g5-shop .sct_wrap:has(>.sctrl)>header{padding-right:92px!important}
@media(max-width:640px){
    body.g5-shop #od_pay_sl .lb_icon{padding-left:52px!important;background-position:13px 50%!important}
    body.g5-shop #od_pay_sl .lb_icon:is(.bank_icon,.vbank_icon,.iche_icon,.hp_icon,.card_icon){background-size:27px auto!important}
    body.g5-shop .sct_wrap .sctrl{top:10px!important;right:12px!important;gap:4px!important}
    body.g5-shop .sct_wrap .sctrl button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;border-radius:8px!important}
    body.g5-shop .sct_wrap:has(>.sctrl)>header{padding-right:78px!important}
}

/* 7.1.66 — shop-only profile dropdown + mypage density correction */
/* Keep the desktop shop member menu readable without shrinking Korean labels. */
body.g5-shop .shop_login .member_mn{
    width:286px!important;
    max-width:calc(100vw - 24px)!important;
    padding:8px!important;
    overflow:visible!important;
}
body.g5-shop .shop_login #ol_after_private{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
}
body.g5-shop .shop_login #ol_after_private li{
    min-width:0!important;
}
body.g5-shop .shop_login #ol_after_private li:empty{
    display:none!important;
}
body.g5-shop .shop_login #ol_after_private a{
    min-width:0!important;
    min-height:42px!important;
    gap:8px!important;
    padding:0 10px!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
}
body.g5-shop .shop_login #ol_after_private a strong{
    flex:0 0 auto!important;
    min-width:22px!important;
    max-width:72px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap!important;
}
body.g5-shop .shop_login #ol_after_logout{
    white-space:nowrap!important;
}

/* Give the account summary only the width it needs; reserve the rest for orders/wishlist. */
body.g5-shop.shop-page-mypage #smb_my.shop-mypage{
    grid-template-columns:minmax(236px,272px) minmax(0,1fr)!important;
    gap:18px!important;
}

/* Empty order/wishlist states should size to their content, not to a data table/list. */
body.g5-shop.shop-page-mypage #smb_my_od .mypage-order-body:has(.empty_table){
    overflow-x:hidden!important;
}
body.g5-shop.shop-page-mypage #smb_my_od .mypage-order-body table:has(.empty_table){
    min-width:0!important;
}
body.g5-shop.shop-page-mypage #smb_my_od .empty_table{
    height:auto!important;
    min-height:0!important;
    padding:22px 16px!important;
    line-height:1.5!important;
}
body.g5-shop.shop-page-mypage #smb_my_od .empty_table::before{
    margin-bottom:5px!important;
    font-size:22px!important;
}
body.g5-shop.shop-page-mypage #smb_my_wish .empty_li{
    min-height:0!important;
    padding:22px 16px!important;
    gap:5px!important;
    line-height:1.5!important;
}
body.g5-shop.shop-page-mypage #smb_my_wish .empty_li::before{
    content:none!important;
}
body.g5-shop.shop-page-mypage #smb_my_wish .empty_emoji{
    font-size:22px!important;
    line-height:1!important;
}

@media(max-width:980px){
    body.g5-shop.shop-page-mypage #smb_my.shop-mypage{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
}
@media(max-width:700px){
    body.g5-shop.shop-page-mypage #smb_my_od .empty_table,
    body.g5-shop.shop-page-mypage #smb_my_wish .empty_li{
        padding:18px 14px!important;
    }
}

/* shop order state colors: remove legacy orange without touching external brand colors */
#sod_frm .sod_right .sod_info_option>td .btn_frmline{
  border-color:var(--g5-primary)!important;background:var(--g5-surface)!important;color:var(--g5-accent-ink)!important
}
#sod_addr input[type="radio"]:checked+.default_lb{
  border-color:var(--g5-primary-fill)!important;background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important
}
#sod_fin_tot li{
  border-bottom-color:color-mix(in srgb,var(--g5-primary-fill) 72%,var(--g5-border))!important;
  background:var(--g5-primary-fill)!important;color:var(--g5-on-primary)!important
}
#sod_fin_tot #alrdy .right{color:color-mix(in srgb,var(--g5-on-primary) 86%,transparent)!important}

/* 7.1.72 narrow desktop-mode header: anchor the member dropdown to the whole action cluster, not the first icon. */
@media(max-width:760px){
  body.g5-shop #hd_wrapper .hd_login{position:relative!important}
  body.g5-shop #hd_wrapper .shop_login{position:static!important}
  body.g5-shop .shop_login .member_mn{right:0!important;left:auto!important;max-width:calc(100vw - 24px)!important}
}


/* v7.1.75 — shop secondary UI harmonization */
/* Desktop quick menu: keep the rail/panel behavior, modernize only its surface and controls. */
@media(min-width:768px){
  body.g5-shop #side_menu{padding-left:54px!important;border-left:1px solid var(--g5-border)!important;background:var(--g5-surface)!important;box-shadow:-8px 0 28px rgba(30,24,48,.045)}
  body.g5-shop #quick{width:54px!important}
  body.g5-shop #quick li{padding:2px 5px!important}
  body.g5-shop #quick li button{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:var(--g5-text-soft)!important}
  body.g5-shop #quick li button:hover,
  body.g5-shop #quick .btn_sm_on{border-color:color-mix(in srgb,var(--g5-primary) 22%,var(--g5-border))!important;background:var(--g5-primary-soft)!important;color:var(--g5-primary)!important;transform:none!important}
  body.g5-shop #quick .qk_tit{top:6px!important;right:54px!important;padding:0 11px!important;min-height:32px!important;line-height:30px!important;border:1px solid var(--g5-border)!important;border-radius:9px!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;box-shadow:var(--g5-shadow-float)!important;font-size:11px!important}
  body.g5-shop #quick .qk_tit:after{right:-5px!important;top:11px!important;width:9px!important;height:9px!important;border:0!important;border-top:1px solid var(--g5-border)!important;border-right:1px solid var(--g5-border)!important;background:var(--g5-surface)!important;transform:rotate(45deg)}
  body.g5-shop .qk_con,
  body.g5-shop :is(.side_mn_wr1,.side_mn_wr2,.side_mn_wr3,.side_mn_wr4){width:260px!important}
  body.g5-shop .qk_con{border-left:1px solid var(--g5-border)!important;background:var(--g5-surface)!important}
  body.g5-shop .qk_con h2.s_h2{padding:17px 18px!important;border-bottom:1px solid var(--g5-border)!important;background:color-mix(in srgb,var(--g5-primary-soft) 28%,var(--g5-surface))!important;font-size:15px!important}
  body.g5-shop .qk_con_wr .side_tnb{padding:14px!important}
  body.g5-shop .qk_con_wr .side_tnb li a{display:flex!important;align-items:center!important;min-height:42px!important;padding:0 11px!important;border-radius:9px!important;color:var(--g5-text-soft)!important;line-height:1.35!important}
  body.g5-shop .qk_con_wr .side_tnb li a:hover,
  body.g5-shop .qk_con_wr .side_tnb li a:focus-visible{background:var(--g5-primary-soft)!important;color:var(--g5-primary)!important;outline:0}
  body.g5-shop .qk_con_wr .con_close{right:260px!important;width:46px!important;height:46px!important;border:1px solid var(--g5-border)!important;border-radius:0 0 0 11px!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;font-size:20px!important}
}

/* Reviews / Q&A: preserve AJAX/forms, align panels, search controls and action buttons. */
body.g5-shop :is(#sit_use,#sit_qa) :is(.sit_use_top,.sit_qa_top){border:1px solid var(--g5-border)!important;border-radius:14px!important;background:var(--g5-surface)!important;box-shadow:none!important}
body.g5-shop :is(#sit_use_wbtn,#sit_qa_wbtn) :is(a,button){min-height:42px!important;border-radius:9px!important}
body.g5-shop .sit_use_li_title,
body.g5-shop .sqa_con_btn button,
body.g5-shop .sps_con_btn button.review_detail{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 11px!important;border:1px solid var(--g5-border)!important;border-radius:9px!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important;font-size:12px!important;font-weight:750!important;line-height:1.2!important}
body.g5-shop :is(.sit_use_li_title,.sqa_con_btn button,.sps_con_btn button.review_detail):hover,
body.g5-shop :is(.sit_use_li_title,.sqa_con_btn button,.sps_con_btn button.review_detail):focus-visible{border-color:color-mix(in srgb,var(--g5-primary) 34%,var(--g5-border))!important;background:var(--g5-primary-soft)!important;color:var(--g5-primary)!important;outline:0}
body.g5-shop .sqa_con{padding:14px 16px!important;border:1px solid var(--g5-border)!important;border-radius:12px!important;background:color-mix(in srgb,var(--g5-primary-soft) 18%,var(--g5-surface))!important}
body.g5-shop :is(#sps_sch,#sqa_sch) .sch_wr{overflow:hidden!important;border:1px solid var(--g5-border)!important;border-radius:10px!important;background:var(--g5-surface)!important}
body.g5-shop :is(#sps_sch,#sqa_sch) select{height:44px!important;border-color:var(--g5-border)!important;border-radius:9px!important;background:var(--g5-surface)!important;color:var(--g5-text)!important}
body.g5-shop :is(#sps_sch,#sqa_sch) .sch_input{height:42px!important;color:var(--g5-text)!important}
body.g5-shop :is(#sps_sch,#sqa_sch) .sch_btn{height:42px!important;color:var(--g5-text-soft)!important}
body.g5-shop .review_detail_cnt{background:rgba(17,18,26,.34)!important;backdrop-filter:saturate(105%) blur(2px)}
body.g5-shop .review_detail_in{width:min(620px,calc(100vw - 32px))!important;max-height:min(82vh,560px)!important;border:1px solid var(--g5-border)!important;border-radius:16px!important;background:var(--g5-surface)!important;box-shadow:var(--g5-shadow-float)!important}
body.g5-shop .review_detail_in h3{padding:17px 18px!important;border-bottom:1px solid var(--g5-border)!important;background:color-mix(in srgb,var(--g5-primary-soft) 28%,var(--g5-surface))!important;font-size:16px!important}
body.g5-shop .prd_detail{border-radius:9px!important}

@media(max-width:767px){
  body.g5-shop :is(#sit_use_wbtn,#sit_qa_wbtn){gap:8px!important}
  body.g5-shop :is(#sit_use_wbtn,#sit_qa_wbtn) :is(.btn01,.qa_wr){min-height:42px!important;line-height:40px!important;border-radius:9px!important}
  body.g5-shop .sit_use_li_title{position:static!important;width:100%!important;justify-content:flex-start!important;min-height:44px!important;padding:10px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--g5-text)!important;font-size:14px!important}
  body.g5-shop .sit_use_p{padding:12px!important;border-radius:10px!important;background:var(--g5-surface-soft)!important}
  body.g5-shop .sit_use_cmd a.btn01{display:inline-flex!important;align-items:center!important;min-height:38px!important;padding:0 10px!important;border-radius:8px!important}
  body.g5-shop .review_detail_in{top:3%!important;left:10px!important;width:calc(100% - 20px)!important;height:94%!important;max-height:none!important;padding:0!important;transform:none!important;border:0!important;background:transparent!important;box-shadow:none!important}
  body.g5-shop .review_detail_inner{height:100%!important;border:1px solid var(--g5-border)!important;border-radius:16px!important;background:var(--g5-surface)!important;box-shadow:var(--g5-shadow-float)!important}
  body.g5-shop .review_detail_inner h3{padding:16px!important;border-bottom:1px solid var(--g5-border)!important;background:color-mix(in srgb,var(--g5-primary-soft) 28%,var(--g5-surface))!important;font-size:16px!important}
  body.g5-shop :is(#sps_sch,#sqa_sch){margin:12px!important}
  body.g5-shop :is(#sps_sch,#sqa_sch) .sch_wr{display:grid!important;grid-template-columns:minmax(104px,38%) minmax(0,1fr)!important}
  body.g5-shop :is(#sps_sch,#sqa_sch) select{float:none!important;width:100%!important;height:44px!important;margin:0!important;border:0!important;border-right:1px solid var(--g5-border)!important;border-radius:0!important;padding:0 8px!important}
  body.g5-shop :is(#sps_sch,#sqa_sch) .sch_input{float:none!important;width:100%!important;height:44px!important;padding:0 42px 0 10px!important}
  body.g5-shop :is(#sps_sch,#sqa_sch) .sch_btn{top:1px!important;right:1px!important;width:42px!important;height:42px!important}
  body.g5-shop .sqa_section{margin-left:0!important;margin-right:0!important;padding:12px!important}
  body.g5-shop .sqa_img{position:static!important;float:none!important;margin:0 0 8px!important}
  body.g5-shop .sqa_con_btn button{position:static!important;width:auto!important;height:auto!important;min-height:40px!important;margin-top:8px!important}
}

/* Secondary review/Q&A action popovers and status surfaces. */
body.g5-shop .review_tp_cnt .sps_opt_li{overflow:hidden!important;border:1px solid var(--g5-border)!important;border-radius:10px!important;background:var(--g5-surface)!important;box-shadow:var(--g5-shadow-float)!important}
body.g5-shop .review_tp_cnt .sps_opt_li li{min-width:108px!important;padding:0!important;border-bottom:1px solid var(--g5-border)!important}
body.g5-shop .review_tp_cnt .sps_opt_li li:last-child{border-bottom:0!important}
body.g5-shop .review_tp_cnt .sps_opt_li :is(a,button){display:flex!important;align-items:center!important;min-height:40px!important;width:100%!important;padding:0 12px!important;border:0!important;background:transparent!important;color:var(--g5-text)!important;text-align:left!important}
body.g5-shop .review_tp_cnt .sps_opt_li :is(a,button):hover,
body.g5-shop .review_tp_cnt .sps_opt_li :is(a,button):focus-visible{background:var(--g5-primary-soft)!important;color:var(--g5-primary)!important;outline:0!important}
body.g5-shop .review_summ{padding:12px!important;border:1px solid var(--g5-border)!important;border-radius:11px!important;background:var(--g5-surface-soft)!important}
body.g5-shop :is(.sit_qaa_done,.sit_qaa_yet){border-radius:999px!important}
body.g5-shop .sit_qa_qaa{border-top-color:var(--g5-border)!important}

/* v7.1.75 — shop review/Q&A write + password UI (approved secondary UI scope) */
body.g5-shop :is(#sit_use_write,#sit_qa_write){width:min(760px,100%);min-height:0!important;margin:0 auto;background:var(--g5-bg)!important;color:var(--g5-text)}
body.g5-shop :is(#sit_use_write,#sit_qa_write) #win_title{min-height:60px!important;padding:17px 22px!important;border-bottom:1px solid var(--g5-border)!important;background:color-mix(in srgb,var(--g5-primary-soft) 24%,var(--g5-surface))!important;color:var(--g5-text)!important;font-size:18px!important;font-weight:800!important;line-height:26px!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) :is(.new_win_con,.form_01){margin:18px!important;padding:20px!important;border:1px solid var(--g5-border)!important;border-radius:14px!important;background:var(--g5-surface)!important;box-shadow:none!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .new_win_con.form_01{margin:18px!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) :is(.new_win_con,.form_01)>ul{margin:0!important;padding:0!important;list-style:none!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) :is(.new_win_con,.form_01)>ul>li{margin:0 0 14px!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) :is(.new_win_con,.form_01)>ul>li:last-child{margin-bottom:0!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .frm_input{min-height:50px!important;border:1px solid var(--g5-control-border)!important;border-radius:10px!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;box-shadow:none!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .frm_input:focus{border-color:var(--g5-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--g5-primary) 12%,transparent)!important;outline:0!important}
body.g5-shop #sit_qa_write :is(.form_left,.form_right){width:calc(50% - 6px)!important}
body.g5-shop #sit_qa_write .frm_info{display:block;margin-top:7px;color:var(--g5-text-soft)!important;font-size:11.5px!important;line-height:1.55!important}
body.g5-shop #sit_qa_write>form .form_01>ul>li:first-child{display:flex!important;align-items:center!important;min-height:40px!important;padding:8px 10px!important;border-radius:10px!important;background:var(--g5-surface-soft)!important}
body.g5-shop #sit_qa_write>form .form_01>ul>li:first-child label{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:28px!important;margin:0!important;color:var(--g5-text)!important}
body.g5-shop #sit_qa_write>form .form_01>ul>li:first-child input[type=checkbox]{width:18px!important;height:18px!important;margin:0 8px 0 0!important;accent-color:var(--g5-primary)!important}
body.g5-shop #sit_use_write_star{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:2px 0 0!important;padding:12px!important;border:1px solid var(--g5-border)!important;border-radius:12px!important;background:var(--g5-surface-soft)!important;list-style:none!important}
body.g5-shop #sit_use_write_star li{float:none!important;width:auto!important;min-width:0!important;margin:0!important;padding:9px 10px!important;border:1px solid transparent!important;border-radius:9px!important;background:var(--g5-surface)!important}
body.g5-shop #sit_use_write_star li:has(input:checked){border-color:color-mix(in srgb,var(--g5-primary) 32%,var(--g5-border))!important;background:var(--g5-primary-soft)!important}
body.g5-shop #sit_use_write_star li label{display:inline-flex!important;align-items:center!important;width:auto!important;min-height:28px!important;margin-right:6px!important;color:var(--g5-text)!important;font-weight:700!important}
body.g5-shop #sit_use_write_star li img{max-width:100px!important;height:auto!important;vertical-align:middle!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn{display:flex!important;justify-content:center!important;gap:8px!important;margin:18px!important;text-align:center!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn :is(.btn_submit,.btn_close){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:112px!important;height:48px!important;padding:0 18px!important;border-radius:10px!important;font-size:13px!important;font-weight:800!important;line-height:1!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn .btn_close{border:1px solid var(--g5-border)!important;background:var(--g5-surface)!important;color:var(--g5-text-soft)!important}
body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn .btn_close:hover,
body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn .btn_close:focus-visible{border-color:color-mix(in srgb,var(--g5-primary) 28%,var(--g5-border))!important;background:var(--g5-primary-soft)!important;color:var(--g5-primary)!important;outline:0!important}
body.g5-shop .sit_qa_pw{top:44px!important;left:auto!important;right:8px!important;width:min(348px,calc(100vw - 28px))!important;padding:14px!important;border:1px solid var(--g5-border)!important;border-radius:12px!important;background:var(--g5-surface)!important;color:var(--g5-text)!important;box-shadow:var(--g5-shadow-float)!important;text-align:left!important;z-index:30!important}
body.g5-shop .sit_qa_pw span{margin:0 0 8px!important;color:var(--g5-text-soft)!important;font-size:12px!important;line-height:1.45!important}
body.g5-shop .sit_qa_pw :is(input,button){min-height:42px!important;border-radius:8px!important}

@media(max-width:767px){
  body.g5-shop :is(#sit_use_write,#sit_qa_write){width:100%!important;min-height:100vh!important;background:var(--g5-bg)!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) #win_title{min-height:56px!important;padding:15px 18px!important;font-size:17px!important;line-height:25px!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) :is(.new_win_con,.form_01){margin:12px!important;padding:14px!important;border-radius:12px!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) .new_win_con.form_01{margin:12px!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) .frm_input{min-height:48px!important}
  body.g5-shop #sit_qa_write :is(.form_left,.form_right){float:none!important;width:100%!important;margin:0 0 12px!important}
  body.g5-shop #sit_use_write_star{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:9px!important}
  body.g5-shop #sit_use_write_star li{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:4px!important;padding:8px!important}
  body.g5-shop #sit_use_write_star li label{width:auto!important;min-width:0!important;margin:0!important;font-size:12px!important}
  body.g5-shop #sit_use_write_star li img{width:76px!important;max-width:100%!important;justify-self:end!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn{margin:12px!important;gap:8px!important}
  body.g5-shop :is(#sit_use_write,#sit_qa_write) .win_btn :is(.btn_submit,.btn_close){flex:1 1 0!important;min-width:0!important;height:48px!important}
  body.g5-shop .sit_qa_pw{right:0!important;left:0!important;width:100%!important;max-width:none!important}
}
