@charset "utf-8";
/* ==========================================================================
   우리의집 테마 — 영카트 (스토어)
   테마가 소유한 페이지와, 코어 마크업을 쓰는 페이지(#sit, #sod_frm 등)를 함께 다룬다.
   ========================================================================== */

/* ============================================================== 스토어 서브내비 */
.oh-shopnav {
  position: relative;
  z-index: calc(var(--oh-z-header) - 1);
  background: var(--oh-bg);
  border-bottom: 1px solid var(--oh-border);
}
.oh-shopnav__inner { display: flex; align-items: center; gap: var(--oh-sp-4); height: 52px; }
.oh-shopnav__cate { position: relative; flex: 0 0 auto; }
.oh-shopnav__catebtn {
  display: inline-flex;
  align-items: center;
  gap: var(--oh-sp-2);
  height: 36px;
  padding-inline: var(--oh-sp-4);
  border-radius: var(--oh-r-sm);
  background: var(--oh-surface);
  font-size: var(--oh-fs-14);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-1);
}
.oh-shopnav__catebtn:hover { background: var(--oh-surface-2); }

.oh-catemenu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  display: none;
  min-width: 240px;
  max-height: 70vh;
  overflow-y: auto;
  padding: var(--oh-sp-3);
  background: var(--oh-elevated);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-md);
  box-shadow: var(--oh-shadow-2);
}
.oh-shopnav__cate.is-open .oh-catemenu { display: block; }
.oh-catemenu__1d {
  display: block;
  padding: var(--oh-sp-2) var(--oh-sp-3);
  border-radius: var(--oh-r-sm);
  font-size: var(--oh-fs-14);
  font-weight: var(--oh-fw-semibold);
}
.oh-catemenu__1d:hover { background: var(--oh-surface); color: var(--oh-primary); }
.oh-catemenu__sub { padding-left: var(--oh-sp-4); }
.oh-catemenu__sub a { display: block; padding: var(--oh-sp-2) var(--oh-sp-3); font-size: var(--oh-fs-13); color: var(--oh-text-2); }
.oh-catemenu__sub a:hover { color: var(--oh-primary); }
.oh-catemenu__empty { padding: var(--oh-sp-4); color: var(--oh-text-3); font-size: var(--oh-fs-13); }

.oh-shopnav__types { display: flex; gap: var(--oh-sp-1); overflow-x: auto; scrollbar-width: none; }
.oh-shopnav__types::-webkit-scrollbar { display: none; }
.oh-shopnav__types a {
  display: block;
  padding: var(--oh-sp-2) var(--oh-sp-3);
  border-radius: var(--oh-r-sm);
  font-size: var(--oh-fs-14);
  font-weight: var(--oh-fw-medium);
  color: var(--oh-text-2);
  white-space: nowrap;
}
.oh-shopnav__types a:hover { background: var(--oh-surface); color: var(--oh-text-1); }

.oh-shopnav__search {
  display: flex;
  align-items: center;
  gap: var(--oh-sp-2);
  flex: 0 1 260px;
  margin-left: auto;
  height: 36px;
  padding-inline: var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
}
.oh-shopnav__search:focus-within { border-color: var(--oh-primary); }
.oh-shopnav__search .oh-ico { color: var(--oh-text-3); }
.oh-shopnav__search input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font-size: var(--oh-fs-13); }

@media (max-width: 767px) {
  .oh-shopnav__inner { height: auto; padding-block: var(--oh-sp-2); flex-wrap: wrap; }
  .oh-shopnav__search { order: 3; flex-basis: 100%; margin-left: 0; }
  .oh-shopnav__types { flex: 1 1 auto; }
}

/* ============================================================== 상품 카드 부가 */
.oh-product__ratebadge {
  position: absolute;
  top: var(--oh-sp-2);
  left: var(--oh-sp-2);
  z-index: 2;
  padding: 3px var(--oh-sp-2);
  border-radius: var(--oh-r-xs);
  background: var(--oh-sale);
  color: var(--oh-on-media);
  font-size: var(--oh-fs-11);
  font-weight: var(--oh-fw-bold);
}
.oh-product__acts {
  position: absolute;
  right: var(--oh-sp-2);
  bottom: var(--oh-sp-2);
  z-index: 2;
  display: flex;
  gap: var(--oh-sp-1);
  opacity: 0;
  transition: opacity var(--oh-t-fast);
}
.oh-product:hover .oh-product__acts { opacity: 1; }
@media (hover: none) { .oh-product__acts { opacity: 1; } }
.oh-product__act {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  border-radius: var(--oh-r-full);
  background: var(--oh-elevated);
  box-shadow: var(--oh-shadow-1);
  color: var(--oh-text-1);
}
.oh-product__act:hover { background: var(--oh-primary); color: var(--oh-on-primary); }
.oh-product__act.on { color: var(--oh-sale); }
.oh-product__icons { display: inline-flex; gap: 2px; }
.oh-product__icons img { display: inline-block; height: 16px; width: auto; }
.oh-product .cart-layer { position: absolute; inset: 0; z-index: 3; display: none; }
.sct_noitem { grid-column: 1 / -1; }

/* 코어 item_list 가 남기는 인라인 스타일/구조 무력화 */
.oh-grid.sct, .oh-rail.sct { list-style: none; margin: 0; padding: 0; }
.oh-grid.sct > li, .oh-rail.sct > li { float: none !important; width: auto !important; height: auto !important; margin: 0 !important; }

/* ============================================================== 상품 상세 */
#sit { padding-top: var(--oh-sp-2); }
#sit_hhtml:empty, #sit_thtml:empty { display: none; }

#sit_ov_wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: var(--oh-sp-8);
  align-items: start;
  max-width: var(--oh-container);
  margin-inline: auto;
  padding-inline: var(--oh-gutter);
}
#sit_pvi { min-width: 0; }
#sit_pvi_big { position: relative; overflow: hidden; border-radius: var(--oh-r-lg); background: var(--oh-skeleton); }
#sit_pvi_thumb { display: flex; gap: var(--oh-sp-2); margin-top: var(--oh-sp-3); overflow-x: auto; scrollbar-width: none; }
#sit_pvi_thumb::-webkit-scrollbar { display: none; }
#sit_pvi_thumb li { flex: 0 0 auto; }
#sit_pvi_thumb img {
  width: 72px; height: 72px;
  object-fit: cover;
  border: 2px solid transparent;
  border-radius: var(--oh-r-md);
  cursor: pointer;
}
#sit_pvi_thumb .active img, #sit_pvi_thumb img:hover { border-color: var(--oh-primary); }
/* 이 스킨에서 .popup_item_image 는 확대 버튼이 아니라 큰 이미지를 감싼 링크다.
   여러 장이 나열되므로 첫 장만 보이게 하고 썸네일 클릭으로 전환한다. */
#sit_pvi_big { aspect-ratio: 1; }
#sit_pvi_big .popup_item_image { display: none; width: 100%; height: 100%; }
#sit_pvi_big .popup_item_image:first-of-type,
#sit_pvi_big .popup_item_image.is-active { display: block; }
#sit_pvi_big .popup_item_image.is-active ~ .popup_item_image:first-of-type { display: none; }
#sit_pvi_big img { width: 100%; height: 100%; object-fit: cover; }

/* 우측 구매 패널 */
#sit_ov {
  position: sticky;
  top: calc(var(--oh-header-h) + var(--oh-gnb-h) + 24px);
  min-width: 0;
  padding: var(--oh-sp-6);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-lg);
  background: var(--oh-elevated);
}
#sit_title { font-size: var(--oh-fs-24); line-height: var(--oh-lh-tight); letter-spacing: -.02em; }
#sit_desc { margin-top: var(--oh-sp-2); font-size: var(--oh-fs-14); color: var(--oh-text-2); }
#sit_opt_info { margin-top: var(--oh-sp-2); font-size: var(--oh-fs-13); color: var(--oh-text-3); }
#sit_star_sns {
  display: flex;
  align-items: center;
  gap: var(--oh-sp-2);
  padding-block: var(--oh-sp-3);
  margin-top: var(--oh-sp-3);
  border-top: 1px solid var(--oh-divider);
}
#sit_star_sns .sit_star { height: 16px; width: auto; }
#sit_btn_opt { display: flex; gap: var(--oh-sp-2); margin-left: auto; }
#btn_wish, #sit_btn_rec {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: var(--oh-sp-1) var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
  font-size: var(--oh-fs-12);
  color: var(--oh-text-2);
  cursor: pointer;
}

.sit_ov_tbl { font-size: var(--oh-fs-14); }
.sit_ov_tbl th, .sit_ov_tbl td {
  padding: var(--oh-sp-2) 0;
  border: 0;
  text-align: left;
  vertical-align: middle;
}
.sit_ov_tbl th { width: 92px; color: var(--oh-text-2); font-weight: var(--oh-fw-regular); font-size: var(--oh-fs-13); }
.sit_ov_tbl td { color: var(--oh-text-1); }
#sit_ov strong, .sit_ov_tbl strong { font-weight: var(--oh-fw-bold); }

.sit_option, #sit_sel_option { margin-top: var(--oh-sp-4); }
.sit_option select, #sit_sel_option select {
  width: 100%;
  min-height: 44px;
  margin-bottom: var(--oh-sp-2);
  padding: var(--oh-sp-2) var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-1);
  font-size: var(--oh-fs-14);
}
#sit_opt_added { margin-top: var(--oh-sp-3); }
.sit_opt_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--oh-sp-2);
  padding: var(--oh-sp-3);
  margin-bottom: var(--oh-sp-2);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
  font-size: var(--oh-fs-13);
}
.sit_opt_subj { flex: 1 1 100%; font-weight: var(--oh-fw-semibold); color: var(--oh-text-1); }
.sit_opt_prc { margin-left: auto; font-weight: var(--oh-fw-bold); }
.sit_qty_minus, .sit_qty_plus {
  display: grid;
  place-items: center;
  width: 30px; height: 30px;
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-2);
}
.num_input, .sit_opt_list input[type="text"] {
  width: 46px; height: 30px;
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-1);
  text-align: center;
}

#sit_tot_price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--oh-sp-3);
  padding-top: var(--oh-sp-4);
  margin-top: var(--oh-sp-4);
  border-top: 1px solid var(--oh-border);
  font-size: var(--oh-fs-14);
  color: var(--oh-text-2);
}
#sit_tot_price strong, #sit_tot_price .tot_price {
  font-size: var(--oh-fs-24);
  font-weight: var(--oh-fw-bold);
  color: var(--oh-text-1);
}
#sit_ov_soldout {
  margin-top: var(--oh-sp-4);
  padding: var(--oh-sp-3);
  border-radius: var(--oh-r-md);
  background: var(--oh-sale-weak);
  color: var(--oh-sale);
  font-size: var(--oh-fs-13);
  text-align: center;
}

#sit_ov_btn { display: flex; gap: var(--oh-sp-2); margin-top: var(--oh-sp-5); }
#sit_ov_btn .sit_btn_cart, #sit_ov_btn .sit_btn_buy { flex: 1 1 0; }
.sit_btn_wish, #sit_btn_alm {
  display: grid;
  place-items: center;
  width: 54px;
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  color: var(--oh-text-2);
}
.sit_btn_wish:hover { border-color: var(--oh-sale); color: var(--oh-sale); }

#sit_siblings { margin-top: var(--oh-sp-5); font-size: var(--oh-fs-13); }

@media (max-width: 1023px) {
  #sit_ov_wrap { grid-template-columns: 1fr; gap: var(--oh-sp-6); }
  #sit_ov { position: static; padding: 0; border: 0; background: transparent; }
}
@media (max-width: 767px) {
  #sit { padding-bottom: calc(var(--oh-tabbar-h) + 80px); }
  #sit_title { font-size: var(--oh-fs-18); }
}

/* ---- 상세 페이지의 최상위 블록들을 컨테이너에 맞춘다 ---- */
#sct_location, #sit_hhtml, #sit_thtml, #sit_siblings,
#sit_rel, #sit_info, #sit_use_list, #sit_qa_list, #sit_dvr, #sit_ex, .sit_admin {
  max-width: var(--oh-container);
  margin-inline: auto;
  padding-inline: var(--oh-gutter);
}
#sit_rel, #sit_info { margin-top: var(--oh-sp-9); }
#sit_rel > h2, #sit_info > h2, #sit_use_list > h2, #sit_qa_list > h2 {
  padding-bottom: var(--oh-sp-3);
  margin-bottom: var(--oh-sp-4);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-18);
}
#sit_siblings { margin-top: var(--oh-sp-6); }

/* SNS 공유 팝오버 */
.sns_area {
  display: none;
  position: absolute;
  z-index: 20;
  right: 0;
  margin-top: var(--oh-sp-2);
  padding: var(--oh-sp-2);
  background: var(--oh-elevated);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-md);
  box-shadow: var(--oh-shadow-2);
  white-space: nowrap;
}
#sit_btn_opt { position: relative; }
#sit_btn_opt:hover .sns_area, #sit_btn_opt:focus-within .sns_area { display: block; }
.sns_area a { display: inline-block; margin-inline: 2px; }
.sns_area img { width: 28px; height: 28px; border-radius: var(--oh-r-sm); }
.btn_sns_share {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: var(--oh-sp-1) var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
  font-size: var(--oh-fs-12);
  color: var(--oh-text-2);
}

/* ---- 하단 고정 구매바 (#sit_buy.fix) ---- */
#sit_buy { display: none; }
@media (max-width: 767px) {
  #sit_buy.fix {
    position: fixed;
    inset-inline: 0;
    bottom: var(--oh-tabbar-h);
    z-index: var(--oh-z-tabbar);
    display: flex;
    align-items: center;
    gap: var(--oh-sp-2);
    padding: var(--oh-sp-3) var(--oh-gutter) calc(var(--oh-sp-3) + env(safe-area-inset-bottom));
    background: var(--oh-bg);
    border-top: 1px solid var(--oh-border);
    box-shadow: var(--oh-shadow-2);
  }
  #sit_buy .sit_btn_cart, #sit_buy .sit_btn_buy { flex: 1 1 0; }
  /* 패널 안의 버튼은 모바일에서 고정바가 대신하므로 감춘다 */
  #sit_ov_btn { position: static; box-shadow: none; border: 0; padding: 0; background: none; }
}

/* ---- 상세 탭 (item.info) ---- */
#sit_inf, .sit_info_tab, #sit_inf_open {
  max-width: var(--oh-container);
  margin: var(--oh-sp-9) auto 0;
  padding-inline: var(--oh-gutter);
}
#sit_inf h2, #sit_inf h3 { font-size: var(--oh-fs-18); margin-bottom: var(--oh-sp-4); }
#sit_inf_explan img, #sit_inf_open img { max-width: 100%; height: auto; }
/* 상세 탭. 코어 스킨은 #sit_tab > ul.tab_tit > li > button 구조를 쓴다. */
#sit_tab .tab_tit, .sit_inf_tab, .sit-tab {
  display: flex;
  gap: var(--oh-sp-6);
  border-bottom: 1px solid var(--oh-border);
  margin-bottom: var(--oh-sp-6);
  overflow-x: auto;
  scrollbar-width: none;
}
#sit_tab .tab_tit::-webkit-scrollbar { display: none; }
#sit_tab .tab_tit li { flex: 0 0 auto; }
#sit_tab .tab_tit button, .sit_inf_tab a, .sit-tab a {
  display: block;
  padding: var(--oh-sp-3) 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  font-size: var(--oh-fs-15);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-2);
  white-space: nowrap;
  cursor: pointer;
}
#sit_tab .tab_tit button:hover { color: var(--oh-text-1); }
#sit_tab .tab_tit button.selected, .sit_inf_tab a.on, .sit-tab a.on {
  color: var(--oh-text-1);
  border-bottom-color: var(--oh-text-1);
}
#sit_tab .tab_tit .item_use_count, #sit_tab .tab_tit .item_qa_count { color: var(--oh-primary); }

/* ============================================================== 장바구니 */
.oh-cart { padding-top: var(--oh-sp-2); }
.oh-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--oh-sp-7);
  align-items: start;
}
.oh-cart__bulk {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--oh-sp-3);
  padding: var(--oh-sp-3) var(--oh-sp-4);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
}
.oh-cart__list { margin-top: var(--oh-sp-4); border-top: 1px solid var(--oh-border); }
.oh-cart__item {
  display: flex;
  align-items: flex-start;
  gap: var(--oh-sp-3);
  padding: var(--oh-sp-5) 0;
  border-bottom: 1px solid var(--oh-divider);
}
.oh-cart__chk { padding-top: var(--oh-sp-2); }
.oh-cart__thumb {
  flex: 0 0 auto;
  width: 96px; height: 96px;
  overflow: hidden;
  border-radius: var(--oh-r-md);
  background: var(--oh-skeleton);
}
.oh-cart__thumb img { width: 100%; height: 100%; object-fit: cover; }
.oh-cart__info { flex: 1 1 auto; min-width: 0; }
.oh-cart__name { display: block; font-size: var(--oh-fs-15); font-weight: var(--oh-fw-semibold); color: var(--oh-text-1); }
.oh-cart__opt { margin-top: var(--oh-sp-2); font-size: var(--oh-fs-12); color: var(--oh-text-2); }
.oh-cart__meta { display: flex; flex-wrap: wrap; gap: var(--oh-sp-3); margin-top: var(--oh-sp-3); font-size: var(--oh-fs-12); color: var(--oh-text-2); }
.oh-cart__meta strong { color: var(--oh-text-1); }
.oh-cart__price { flex: 0 0 auto; text-align: right; font-size: var(--oh-fs-18); }
.oh-cart__price strong { font-weight: var(--oh-fw-bold); }

.oh-cart__side { position: sticky; top: calc(var(--oh-header-h) + var(--oh-gnb-h) + 24px); }
.oh-cart__sum { display: grid; grid-template-columns: 1fr auto; gap: var(--oh-sp-3); font-size: var(--oh-fs-14); }
.oh-cart__sum dt { color: var(--oh-text-2); }
.oh-cart__sum dd { margin: 0; text-align: right; color: var(--oh-text-1); }
.oh-cart__point { color: var(--oh-primary-hover); }
.oh-cart__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: var(--oh-sp-4);
  margin-top: var(--oh-sp-4);
  border-top: 1px solid var(--oh-border);
  font-size: var(--oh-fs-14);
}
.oh-cart__total strong { font-size: var(--oh-fs-24); font-weight: var(--oh-fw-bold); color: var(--oh-sale); }
.oh-cart__summary .oh-btn { margin-top: var(--oh-sp-3); }

.oh-buybar { display: none; }
@media (max-width: 1023px) {
  .oh-cart__layout { grid-template-columns: 1fr; }
  .oh-cart__side { position: static; }
}
@media (max-width: 767px) {
  .oh-cart__summary { display: none; }
  .oh-cart__thumb { width: 76px; height: 76px; }
  .oh-cart__price { font-size: var(--oh-fs-15); }
  .oh-buybar {
    position: fixed;
    inset-inline: 0;
    bottom: var(--oh-tabbar-h);
    z-index: var(--oh-z-tabbar);
    display: flex;
    align-items: center;
    gap: var(--oh-sp-3);
    padding: var(--oh-sp-3) var(--oh-gutter) calc(var(--oh-sp-3) + env(safe-area-inset-bottom));
    background: var(--oh-bg);
    border-top: 1px solid var(--oh-border);
    box-shadow: var(--oh-shadow-2);
  }
  .oh-buybar__price { flex: 1 1 auto; }
  .oh-buybar__price span { display: block; font-size: var(--oh-fs-11); }
  .oh-buybar__price strong { font-size: var(--oh-fs-18); color: var(--oh-sale); }
  .oh-buybar .oh-btn { flex: 0 0 auto; }
  .oh-cart { padding-bottom: calc(var(--oh-tabbar-h) + 80px); }
}

/* ============================================================== 주문서 (코어 마크업) */
#sod_frm, #sod_fin, #sod_list, #sod_ws {
  max-width: var(--oh-container);
  margin-inline: auto;
  padding-inline: var(--oh-gutter);
  font-size: var(--oh-fs-14);
}
#sod_frm h2, #sod_fin h2, #sod_list h2 {
  padding-bottom: var(--oh-sp-3);
  margin: var(--oh-sp-7) 0 var(--oh-sp-4);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-18);
}
#sod_frm .tbl_frm01 th, #sod_frm .tbl_head01 th,
#sod_fin .tbl_frm01 th, #sod_list .tbl_head01 th {
  width: 140px;
  padding: var(--oh-sp-3);
  background: var(--oh-surface);
  border-bottom: 1px solid var(--oh-border);
  font-size: var(--oh-fs-13);
  font-weight: var(--oh-fw-semibold);
  color: var(--oh-text-2);
  text-align: left;
}
#sod_frm td, #sod_fin td, #sod_list td {
  padding: var(--oh-sp-3);
  border-bottom: 1px solid var(--oh-divider);
}
#sod_frm input[type="text"], #sod_frm input[type="password"], #sod_frm input[type="tel"],
#sod_frm input[type="email"], #sod_frm select, #sod_frm textarea {
  min-height: 44px;
  padding: var(--oh-sp-2) var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-1);
  font-size: var(--oh-fs-14);
}
#sod_frm input:focus, #sod_frm select:focus, #sod_frm textarea:focus {
  border-color: var(--oh-primary);
  outline: none;
  box-shadow: 0 0 0 3px var(--oh-primary-weak);
}
#sod_frm_pay, #sod_frm_paysel {
  padding: var(--oh-sp-5);
  border-radius: var(--oh-r-lg);
  background: var(--oh-surface);
}
#sod_frm_pay strong, #od_tot_price, .sod_price {
  font-size: var(--oh-fs-20);
  font-weight: var(--oh-fw-bold);
  color: var(--oh-sale);
}
#sod_frm_orderer, #sod_frm_taker { margin-bottom: var(--oh-sp-6); }
#sod_bsk_act, .btn_confirm { display: flex; gap: var(--oh-sp-2); justify-content: center; margin-top: var(--oh-sp-7); }
#sod_frm .btn_submit, #sod_frm_pay .btn_submit {
  min-width: 220px;
  height: 54px;
  border-radius: var(--oh-r-sm);
  background: var(--oh-primary-strong);
  color: var(--oh-on-primary);
  font-size: var(--oh-fs-16);
  font-weight: var(--oh-fw-bold);
}

/* ============================================================== 부가 위젯 */
#sct_sort, .list_sort, #sct_ct_sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--oh-sp-2);
  padding-block: var(--oh-sp-4);
}
#sct_sort a, .list_sort a {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding-inline: var(--oh-sp-3);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}
#sct_sort a.sct_sort_on, .list_sort a.on {
  background: var(--oh-text-1);
  border-color: var(--oh-text-1);
  color: var(--oh-bg);
}

/* 상품 위치(브레드크럼). 분류가 select 로 들어오므로 인라인 정렬해 준다. */
#sct_location, #sit_location, .sct_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--oh-sp-2);
  padding-block: var(--oh-sp-4);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-3);
}
#sct_location a, .sct_nav a { display: inline-flex; align-items: center; color: var(--oh-text-2); }
#sct_location select, .shop_hover_selectbox {
  height: 32px;
  min-width: 96px;
  padding: 0 var(--oh-sp-2);
  border: 1px solid var(--oh-border);
  border-radius: var(--oh-r-sm);
  background: var(--oh-bg);
  color: var(--oh-text-2);
  font-size: var(--oh-fs-13);
}
#sct_location .dividing-line { color: var(--oh-text-3); }

.sct_ca_head, #sct_ca_head {
  padding-block: var(--oh-sp-4);
  font-size: var(--oh-fs-22);
  font-weight: var(--oh-fw-bold);
}
#sct_cate ul, .sct_cate { display: flex; flex-wrap: wrap; gap: var(--oh-sp-2); padding-block: var(--oh-sp-4); }
#sct_cate a {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding-inline: var(--oh-sp-4);
  border: 1px solid var(--oh-border-strong);
  border-radius: var(--oh-r-full);
  font-size: var(--oh-fs-13);
  color: var(--oh-text-2);
}

/* 사용후기 / 상품문의 */
#sit_use, #sit_qa, #itemuse, #itemqa, .itemuse_list, .itemqa_list { font-size: var(--oh-fs-14); }
#sit_use li, #sit_qa li, .itemuse_list li, .itemqa_list li {
  padding: var(--oh-sp-4) 0;
  border-bottom: 1px solid var(--oh-divider);
}
.sit_use_stars, .use_star { color: var(--oh-star); }

/* 쿠폰존 */
.cpz_list li, #couponzone li {
  padding: var(--oh-sp-4);
  margin-bottom: var(--oh-sp-3);
  border: 1px dashed var(--oh-border-strong);
  border-radius: var(--oh-r-md);
  background: var(--oh-surface);
}

/* 마이페이지 */
#smb_my, #smb_my_ov, .mypage_menu { font-size: var(--oh-fs-14); }
#smb_my h2, #smb_my h3 { font-size: var(--oh-fs-18); margin-bottom: var(--oh-sp-4); }
#smb_my_ov {
  display: flex;
  flex-wrap: wrap;
  gap: var(--oh-sp-4);
  padding: var(--oh-sp-5);
  border-radius: var(--oh-r-lg);
  background: var(--oh-surface);
}

/* 배너 */
#sidx_banner img, .mainbanner img, #sct_banner img { width: 100%; height: auto; border-radius: var(--oh-r-lg); }

/* 오늘 본 상품 / 사이드 위젯 */
#stv, #box_cart, #box_wish, .boxtodayview { font-size: var(--oh-fs-13); }
#stv li, #box_cart li, #box_wish li { padding: var(--oh-sp-2) 0; border-bottom: 1px solid var(--oh-divider); }

/* 상품 형제 목록이 세로로 눌리는 것 방지 */
#sit_siblings ul { display: flex; flex-wrap: wrap; gap: var(--oh-sp-2); }
#sit_siblings a { display: inline-block; }

/* 코어 잔재 */
.sct_admin, .sit_admin { display: flex; justify-content: flex-end; padding-block: var(--oh-sp-3); }
.shop_icon_soldout {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .55);
  color: var(--oh-on-media);
  font-weight: var(--oh-fw-bold);
  font-size: var(--oh-fs-14);
}
