/* Purchase and member-owned shopping screens. Native forms and totals retain ownership. */
.webon-review-card { margin:20px 0; border:1px solid var(--webon-line); border-radius:12px; overflow:hidden; background:#fff; }
.webon-review-card__product { display:flex; align-items:center; gap:20px; padding:24px; }
.webon-review-card__product > img { width:80px; height:80px; object-fit:contain; border-radius:8px; }
.webon-review-card__product > div { flex:1; min-width:0; overflow-wrap:anywhere; line-height:1.7; }
.webon-review-card footer { padding:14px 24px; background:var(--webon-primary-soft); font-size:13px; }
.webon-account-action { display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; min-height:44px; background:var(--webon-primary); color:#fff; border:1px solid var(--webon-primary); border-radius:8px; font-weight:700; cursor:pointer; }
.webon-address-card { padding:24px; line-height:1.8; overflow-wrap:anywhere; }
.webon-address-card h2 { font-size:19px; margin-bottom:12px; }
.webon-address-card small { font-size:12px; color:var(--webon-muted); }
.webon-address-card .webon-purchase-sections { margin:16px 0 0; }
.webon-address-form { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; padding:24px; border:1px solid var(--webon-line); border-radius:12px; }
.webon-address-form h2 { grid-column:1/-1; font-size:21px; }
.webon-address-form input { min-width:0; width:100%; min-height:44px; border:1px solid var(--webon-line); border-radius:8px; padding:10px; }
.webon-address-form label { align-self:center; }
.webon-address-form button { grid-column:2; justify-self:start; }
.webon-purchase-sections [aria-current="page"], .webon-wishlist-views [aria-pressed="true"] { background:var(--webon-primary); color:#fff; }
.webon-wishlist-views { display:flex; flex-shrink:0; gap:6px; white-space:nowrap; }
#sod_ws.webon-wishlist .webon-wishlist__toolbar { flex-wrap:wrap; }
.webon-wishlist-views button { min-height:44px; padding:8px 12px; border:1px solid var(--webon-line); border-radius:8px; cursor:pointer; }
#sod_ws.webon-wishlist.is-gallery .list_02 ul.webon-wishlist__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#sod_ws.webon-wishlist.is-gallery .list_02 li.webon-wishlist__item { display:flex; flex-direction:column; align-items:stretch; width:auto; padding:16px; margin:0; position:relative; }
#sod_ws.webon-wishlist.is-gallery .sod_ws_img.webon-wishlist__image { width:100%; height:auto; aspect-ratio:1; margin:0; }
#sod_ws.webon-wishlist.is-gallery .webon-wishlist__image img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
#sod_ws.webon-wishlist.is-gallery .webon-wishlist__body { width:100%; margin:12px 0; padding:0; }
#sod_ws.is-gallery .webon-wishlist__item-actions { width:100%; margin-top:auto; }
#sod_ws.is-gallery .webon-wishlist__empty { grid-column:1/-1; }
#sod_fin #sod_fin_list > h2 { position:static; font-size:20px; line-height:1.5; margin:0; padding:20px; }
#sod_fin .tbl_wrap { border-top:0; border-radius:0; }
#sod_fin section { overflow:hidden; }
#sod_fin .tbl_wrap table { border-top:0; }
#sod_fin .tbl_wrap td, #sod_frm .tbl_wrap td { border-left:0; border-right:0; }
#mod_option_frm #sit_opt_added li .opt_count { gap:0; }
#mod_option_frm #sit_opt_added button { border-style:solid; border-width:1px; border-radius:0; }
#mod_option_frm #sit_opt_added .sit_qty_minus { border-radius:8px 0 0 8px; }
#mod_option_frm #sit_opt_added .sit_qty_plus { border-radius:0 8px 8px 0; }
#mod_option_frm #sit_opt_added .num_input { border-radius:0; }
@media(max-width:700px) {
 .webon-review-card__product { flex-wrap:wrap; padding:16px; gap:12px; }
 .webon-review-card__product > a { margin-left:auto; }
 .webon-address-form { grid-template-columns:1fr; padding:16px; gap:10px; }
 .webon-address-form button { grid-column:1; }
 #sod_ws.webon-wishlist.is-gallery .list_02 ul.webon-wishlist__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 #sod_ws.webon-wishlist.is-gallery .list_02 li.webon-wishlist__item { padding:10px; }
}
.webon-purchase-progress { margin:0 0 24px; padding:18px 24px; border:1px solid var(--webon-line); border-radius:16px; background:#fff; }
.webon-purchase-progress ol { display:flex; flex-wrap:wrap; gap:12px 32px; margin:0; padding:0; list-style:none; color:var(--webon-muted); font-weight:700; }
.webon-purchase-progress [aria-current="step"] { color:var(--webon-primary-dark); }
.webon-purchase-progress [aria-current="step"]::after { display:block; height:3px; margin-top:7px; background:var(--webon-primary); border-radius:3px; content:""; }
.webon-purchase-selection { margin-bottom:20px; padding:20px 24px; border:1px solid var(--webon-line); border-radius:16px; background:#f5f8fc; }
.webon-purchase-selection [role="status"] { margin:0; color:var(--webon-primary-dark); font-size:18px; font-weight:800; }
.webon-purchase-note { margin:8px 0 0; color:var(--webon-muted); font-size:14px; font-weight:400; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.webon-purchase-sections { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.webon-purchase-sections a { display:flex; min-height:44px; align-items:center; padding:10px 18px; color:var(--webon-primary-dark); background:#fff; border:1px solid var(--webon-line); border-radius:999px; font-weight:700; }
.webon-purchase-validation { padding:16px; margin-bottom:20px; color:#8a2525; border:1px solid #e3bcbc; background:#fff6f6; border-radius:12px; line-height:1.6; }
.webon-purchase-validation[hidden] { display:none; }
form[data-webon-purchase="order"] #sod_frm_orderer,
form[data-webon-purchase="order"] #sod_frm_taker,
form[data-webon-purchase="order"] #sod_frm_pay { box-sizing:border-box; min-width:0; margin-bottom:24px; padding:24px; border:1px solid var(--webon-line); border-radius:16px; background:#fff; scroll-margin-top:120px; }
form[data-webon-purchase="order"] #sod_frm_orderer > h2,
form[data-webon-purchase="order"] #sod_frm_taker > h2,
form[data-webon-purchase="order"] #sod_frm_pay > h2 { margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid var(--webon-line); color:var(--webon-primary-dark); font-size:21px; line-height:1.4; }
form[data-webon-purchase="order"] input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
form[data-webon-purchase="order"] select,
form[data-webon-purchase="order"] textarea { box-sizing:border-box; max-width:100%; min-height:44px; border-radius:8px; }
form[data-webon-purchase="order"] button { min-height:44px; }
form[data-webon-purchase="order"] label { line-height:1.6; }
#sod_bsk .webon-purchase-selection + .tbl_head03 { border-radius:16px; }
#sod_bsk .webon-purchase-selection ~ #sod_bsk_act { gap:12px; }
#smb_my.webon-shopping-home { display:block; width:100%; min-width:0; margin:0 0 40px; color:var(--webon-text); }
.webon-shopping-home > * + * { margin-top:24px; }
.webon-shopping-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px; border:1px solid var(--webon-line); border-radius:18px; background:#f5f8fc; }
.webon-shopping-welcome p { margin:0 0 8px; color:var(--webon-muted); font-size:14px; }
.webon-shopping-welcome h2 { margin:0; font-size:25px; color:var(--webon-primary-dark); line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
.webon-shopping-welcome > a { display:inline-flex; min-height:44px; flex-shrink:0; align-items:center; padding:10px 16px; background:var(--webon-primary); border-radius:10px; color:#fff; font-weight:700; }
.webon-shopping-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0; list-style:none; }
.webon-shopping-metrics a { display:flex; min-height:116px; flex-direction:column; justify-content:center; gap:12px; padding:20px; border:1px solid var(--webon-line); border-radius:16px; background:#fff; }
.webon-shopping-metrics a > span { color:var(--webon-muted); font-size:14px; }
.webon-shopping-metrics strong { color:var(--webon-primary-dark); font-size:23px; line-height:1.35; overflow-wrap:anywhere; }
.webon-shopping-metrics small { font-size:14px; font-weight:400; }
.webon-shopping-status,
#smb_my.webon-shopping-home #smb_my_od,
.webon-shopping-wishes,
.webon-shopping-profile { box-sizing:border-box; min-width:0; padding:24px; border:1px solid var(--webon-line); border-radius:16px; background:#fff; }
.webon-shopping-section-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; }
#smb_my.webon-shopping-home .webon-shopping-section-title h2 { margin:0; padding:0; border:0; color:var(--webon-primary-dark); font-size:21px; line-height:1.5; }
.webon-shopping-section-title a { display:inline-flex; min-height:44px; align-items:center; flex-shrink:0; color:var(--webon-primary); font-size:14px; font-weight:700; }
.webon-shopping-status dl { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:20px 0 0; }
.webon-shopping-status dl > div { padding:12px 8px; text-align:center; border-left:1px solid var(--webon-line); }
.webon-shopping-status dl > div:first-child { border:0; }
.webon-shopping-status dt { color:var(--webon-muted); font-size:14px; line-height:1.5; word-break:keep-all; }
.webon-shopping-status dd { margin:10px 0 0; font-size:26px; font-weight:800; color:var(--webon-primary-dark); }
.webon-shopping-orders .tbl_wrap { max-width:100%; overflow-x:auto; }
#smb_my.webon-shopping-home #smb_my_od { margin-top:24px; }
.webon-shopping-orders .tbl_wrap table { min-width:620px; }
.webon-shopping-restock { display:flex; gap:12px; flex-wrap:wrap; min-height:52px; align-items:center; padding:14px 20px; color:var(--webon-primary-dark); background:#f5f8fc; border:1px solid var(--webon-line); border-radius:12px; }
.webon-shopping-profile summary { min-height:44px; padding:10px 0; color:var(--webon-primary-dark); font-size:17px; font-weight:700; cursor:pointer; }
.webon-shopping-profile dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:12px 0; border-top:1px solid var(--webon-line); }
.webon-shopping-profile dt { color:var(--webon-muted); }
.webon-shopping-profile dd { margin:0; overflow-wrap:anywhere; }
.webon-shopping-profile-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.webon-shopping-profile-actions a { display:inline-flex; min-height:44px; align-items:center; padding:8px 12px; border:1px solid var(--webon-line); border-radius:8px; }
#sod_ws.webon-wishlist .webon-wishlist__no-image { display:grid; width:100%; aspect-ratio:1; place-items:center; padding:12px; color:var(--webon-muted); background:#f1f3f5; font-size:13px; }
#sod_ws.webon-wishlist .webon-wishlist__state { display:inline-block; max-width:100%; color:var(--webon-primary-dark); white-space:normal; line-height:1.5; word-break:keep-all; }
#sod_ws.webon-wishlist .list_02 li.webon-wishlist__empty { width:100%; box-sizing:border-box; }
#sod_ws.webon-wishlist .webon-wishlist__detail,
#sod_ws.webon-wishlist .webon-wishlist__select-all,
#sod_ws.webon-wishlist .webon-wishlist__empty a { min-height:44px; }
#sod_ws.webon-wishlist .webon-wishlist__detail { width:auto; min-width:96px; white-space:normal; text-align:center; }
.webon-shopping-wishes #sod_ws.webon-wishlist { margin-bottom:0; }
.webon-shopping-wishes .webon-wishlist__toolbar { flex-wrap:wrap; gap:12px; }
.webon-shopping-home a:focus-visible,
.webon-shopping-home summary:focus-visible,
.webon-purchase-sections a:focus-visible { outline:3px solid var(--webon-primary); outline-offset:3px; }
@media (max-width:768px) {
    .webon-purchase-progress { padding:16px; margin-bottom:16px; }
    .webon-purchase-selection { padding:16px; }
    .webon-purchase-selection [role="status"] { font-size:16px; }
    form[data-webon-purchase="order"] #sod_frm_orderer,
    form[data-webon-purchase="order"] #sod_frm_taker,
    form[data-webon-purchase="order"] #sod_frm_pay { padding:16px; border-radius:12px; }
    form[data-webon-purchase="order"] #sod_frm_orderer > h2,
    form[data-webon-purchase="order"] #sod_frm_taker > h2,
    form[data-webon-purchase="order"] #sod_frm_pay > h2 { font-size:18px; }
    .webon-purchase-sections { gap:6px; }
    .webon-purchase-sections a { padding:8px 12px; font-size:13px; }
    .webon-shopping-welcome { align-items:flex-start; flex-direction:column; padding:20px; }
    .webon-shopping-welcome h2 { font-size:22px; }
    .webon-shopping-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .webon-shopping-metrics a { min-height:100px; padding:16px; }
    .webon-shopping-metrics strong { font-size:21px; }
    .webon-shopping-status,
    #smb_my.webon-shopping-home #smb_my_od,
    .webon-shopping-wishes,
    .webon-shopping-profile { padding:16px; }
    .webon-shopping-section-title { align-items:flex-start; flex-wrap:wrap; gap:4px; }
    #smb_my.webon-shopping-home .webon-shopping-section-title h2 { font-size:19px; }
    .webon-shopping-status dl { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 0; }
    .webon-shopping-status dl > div:nth-child(4) { border-left:0; }
    .webon-shopping-profile dl > div { grid-template-columns:72px minmax(0,1fr); gap:10px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
    .webon-purchase-progress *, .webon-shopping-home * { scroll-behavior:auto; }
}
