@charset "utf-8";
/* 11/2026 mall restyle — detail pages (see public/css/theme-mall.css). Every rule is scoped to this area:
   product detail (.item_view_pc.iv2 / .item_view_mo), cart (.cart_wrap), checkout (.order_wrap) and the
   custom quote pages (.custom_list_*, .custom_view_*, .custom_write_wrap). Navy primary, brass only for small
   highlights, pill buttons, 12px inputs, 14px images, 20px panels. */

/* ==========================================================================
   1. Product detail — PC (.iv2)
   ========================================================================== */
.iv2,
.item_view_mo { font-family: var(--ui-font); color: var(--nb-ink); }

@media (min-width: 769px) {
  .iv2 .iv2-grid { gap: 40px; padding-top: 32px !important; padding-bottom: 88px; }

  /* gallery: one quiet frame, 14px images, navy ring on the current thumb */
  .iv2 .vit_img {
    padding: 16px;
    border: 1px solid var(--nb-line) !important;
    border-radius: 20px !important;
    box-shadow: none;
  }
  .iv2 .vit_main_slider .vit_ms_img .img_in { border-radius: 14px; }
  .iv2 .vit_tab_slider .vit_ts_img .img_in { border-radius: 12px; }
  .iv2 .vit_tab_slider .vit_ts_img.slick-current .img_in { border-color: var(--brand-800); }

  /* section tabs: navy underline bar instead of the frosted pill */
  .iv2 .iv2-tabs {
    gap: 8px;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--nb-line);
    border-radius: 0;
    background: #fff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
  }
  .iv2 .iv2-tabs a {
    position: relative;
    height: 52px;
    padding: 0 18px;
    border-radius: 0;
    color: var(--nb-muted);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  .iv2 .iv2-tabs a::after {
    position: absolute;
    right: 18px;
    bottom: -1px;
    left: 18px;
    height: 2px;
    background: var(--brand-800);
    transform: scaleX(0);
    transition: transform .2s var(--nb-ease);
    content: '';
  }
  .iv2 .iv2-tabs a:hover,
  .iv2 .iv2-tabs a:focus-visible { background: transparent; color: var(--brand-800); }
  .iv2 .iv2-tabs a:hover::after,
  .iv2 .iv2-tabs a:focus-visible::after { transform: scaleX(1); }

  .iv2 .vc_box {
    padding: 32px 36px;
    border: 1px solid var(--nb-line);
    border-radius: 20px;
    box-shadow: none;
  }
  .iv2 .vc_box .vc_ttl {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--nb-line);
    color: var(--nb-ink);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.04em;
  }
  .iv2 .vc_box .vc_ttl::before {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 10px 4px 0;
    border-radius: 50%;
    background: var(--brass);
    vertical-align: middle;
    content: '';
  }
  .iv2 .vc_box.broker_notice_box { border-color: var(--nb-line); background: var(--nb-mist); }
  .iv2 .vc_box img { max-width: 100%; height: auto; }

  /* purchase card */
  .iv2 .iv2-side { top: calc(var(--nh-bar, 76px) + 24px); gap: 16px; }
  .iv2 .iv2-side .vti_right {
    padding: 28px 28px 28px;
    border: 1px solid var(--nb-line);
    border-radius: 20px;
    box-shadow: 0 8px 24px -16px rgba(16, 21, 33, .25);
  }
  .iv2 .vti_item_tit {
    color: var(--nb-ink);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.04em;
    word-break: keep-all;
  }
  .iv2 .vti_item_desc { margin-top: 12px; color: var(--nb-muted); font-size: 15px; line-height: 1.6; }
  .iv2 .vti_money { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--nb-line); }
  .iv2 .vti_money .m_num { color: var(--nb-muted); font-size: 13px; }
  .iv2 .vti_money .m_num > strong { color: var(--nb-ink-2); font-weight: 600; }
  .iv2 .vti_money .m_after { margin-bottom: 6px; color: var(--nb-ink); font-size: 18px; font-weight: 700; }
  .iv2 .vti_money .m_after > strong { color: var(--nb-ink); font-size: 32px; font-weight: 800; letter-spacing: -0.03em; }

  .iv2 .vti_util { margin-top: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--nb-line); }
  .iv2 .vti_util .average_work { color: var(--nb-ink-2); font-size: 14px; font-weight: 600; }
  .iv2 .vti_item_opt button {
    min-height: 40px;
    border: 1px solid var(--nb-line) !important;
    border-radius: 999px !important;
    transition: border-color .15s var(--nb-ease);
  }
  .iv2 .vti_item_opt button:hover { border-color: var(--brand-800) !important; }

  .iv2 .info_list li.point { border-radius: 14px; background: var(--brass-soft); }
  .iv2 .info_list li.point .point_label { color: var(--nb-ink); }
  .iv2 .info_list li.point .point_num { color: var(--brass-ink); font-weight: 700; }
  .iv2 .info_list li.point .point_txt { color: var(--nb-muted); }
  .iv2 .info_list li .il_option select,
  .iv2 .il_schedule input,
  .iv2 .il_schedule select {
    height: 48px;
    padding: 0 40px 0 16px;
    border: 1px solid var(--nb-line);
    border-radius: 12px;
    background-color: #fff;
    color: var(--nb-ink);
    font-size: 15px;
    transition: border-color .15s var(--nb-ease), box-shadow .15s var(--nb-ease);
  }
  .iv2 .info_list li .il_option select:hover { border-color: var(--nb-muted); }
  .iv2 .info_list li .il_option select:focus,
  .iv2 .il_schedule input:focus,
  .iv2 .il_schedule select:focus { border-color: var(--brand-800); outline: 0; box-shadow: 0 0 0 3px rgba(31, 49, 92, .16); }

  .iv2 .info_result .info_result_box { border-radius: 14px; background: var(--nb-mist); }

  .iv2 .money_total { padding: 18px 4px; border-bottom: 0; border-top: 1px solid var(--nb-line); }
  .iv2 .money_total .labe { color: var(--nb-ink-2); font-size: 15px; font-weight: 600; }
  .iv2 .money_total .data { color: var(--nb-ink); font-size: 18px; font-weight: 700; }
  .iv2 .money_total .view_price { color: var(--nb-ink); font-size: 28px; font-weight: 800; letter-spacing: -0.03em; }

  .iv2 .vit_btn_wrap { gap: 8px; margin-top: 12px; }
  .iv2 .vit_btn_wrap button + button { margin-left: 0; }
  .iv2 .vit_btn_wrap button {
    height: 56px;
    border: 1px solid var(--nb-line);
    border-radius: 999px;
    background: #fff;
    color: var(--nb-ink);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    box-shadow: none;
    transition: background-color .15s var(--nb-ease), border-color .15s var(--nb-ease), transform .15s var(--nb-ease);
  }
  .iv2 .vit_btn_wrap button:hover { border-color: var(--nb-ink); }
  .iv2 .vit_btn_wrap > button.used_chat_btn,
  .iv2 .vit_btn_wrap > button.used_offer_btn { border-radius: 999px; }
  .iv2 .vit_btn_wrap .order_btn {
    flex: 1.4 1 0;
    border-color: var(--brand-800);
    background: var(--brand-800) !important;
    color: #fff;
    box-shadow: none;
  }
  .iv2 .vit_btn_wrap .order_btn:hover { border-color: var(--brand-700); background: var(--brand-700) !important; }
  .iv2 .vit_btn_wrap .order_btn:active { transform: translateY(1px); }
  .iv2 .vit_btn_wrap .order_btn:disabled { border-color: var(--nb-line); background: var(--nb-mist) !important; color: var(--nb-muted); }

  .iv2 .iv2-side .seller_info {
    padding: 20px 22px;
    border: 1px solid var(--nb-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: none;
  }

  .iv2 button:focus-visible,
  .iv2 a:focus-visible { outline: 2px solid var(--brand-800); outline-offset: 2px; }
}

/* ==========================================================================
   2. Product detail — mobile (.item_view_mo, ≤768px)
   ========================================================================== */
@media (max-width: 768px) {
  .item_view_mo .viewtem_wrap img { border-radius: 0; }
  .item_view_mo .viewtem_infowrap { padding-top: 20px; }
  .item_view_mo .viewtem_tit {
    color: var(--nb-ink);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.04em;
    word-break: keep-all;
  }
  .item_view_mo .viewtem_txt { color: var(--nb-muted); font-size: 14px; line-height: 1.6; }
  .item_view_mo .viewtem_info { color: var(--nb-muted); font-size: 13px; }
  .item_view_mo .viewtem_price { color: var(--nb-ink); font-size: 17px; font-weight: 700; }
  .item_view_mo .viewtem_price > strong { color: var(--nb-ink); font-size: 26px; font-weight: 800; letter-spacing: -0.03em; }

  .item_view_mo .item_info_wrap .point_infobox { border-radius: 14px; background: var(--brass-soft); color: var(--nb-ink); }
  .item_view_mo .item_info_wrap .point_infobox span { color: var(--brass-ink); font-weight: 700; }
  .item_view_mo .btn_list button {
    min-height: 44px;
    border: 1px solid var(--nb-line);
    border-radius: 999px;
    background: #fff;
    color: var(--nb-ink);
    font-weight: 600;
  }

  .item_view_mo .seller_info_wrap { border-radius: 20px; }

  /* section tabs: navy underline on the current one */
  .item_view_mo .viewtem_tab ul { border-bottom: 1px solid var(--nb-line); }
  .item_view_mo .viewtem_tab li button {
    min-height: 48px;
    color: var(--nb-muted);
    font-size: 15px;
    font-weight: 700;
  }
  .item_view_mo .viewtem_tab li.on button { color: var(--brand-800); box-shadow: inset 0 -2px 0 var(--brand-800); }
  .item_view_mo .vc_tit { color: var(--nb-ink); font-weight: 800; letter-spacing: -0.04em; }
  .item_view_mo .vc_box img { max-width: 100%; height: auto; }

  /* fixed bottom buy bar (existing) and the option sheet */
  .item_view_mo .item_cartbtn ul { gap: 8px; }
  .item_view_mo .item_cartbtn button {
    min-height: 48px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
  }
  .item_view_mo .item_cartbtn .quest_btn { border: 1px solid var(--nb-line); background: #fff; color: var(--nb-ink); }
  .item_view_mo .item_cartbtn .sell_btn { border: 1px solid var(--brand-800); background: var(--brand-800); color: #fff; }
  .item_view_mo .item_cartbtn .sell_btn:disabled { border-color: var(--nb-line); background: var(--nb-mist) !important; color: var(--nb-muted); }
  .item_view_mo .item_cartpopup .cart_popwrap { border-radius: 20px 20px 0 0; }
  .item_view_mo .select_list select,
  .item_view_mo .select_time input,
  .item_view_mo .select_time select {
    height: 48px;
    border: 1px solid var(--nb-line);
    border-radius: 12px;
    background-color: #fff;
    color: var(--nb-ink);
    font-size: 15px;
  }
  .item_view_mo .select_list select:focus { border-color: var(--brand-800); outline: 0; box-shadow: 0 0 0 3px rgba(31, 49, 92, .16); }
  .item_view_mo .option_main_mo .info_result_box { border-radius: 14px; background: var(--nb-mist); }
  .item_view_mo .cart_totalinfo .view_price { color: var(--nb-ink); font-weight: 800; }

  .item_view_mo button:focus-visible,
  .item_view_mo a:focus-visible,
  .item_view_mo select:focus-visible { outline: 2px solid var(--brand-800); outline-offset: 2px; }
}

/* ==========================================================================
   3. Cart (.cart_wrap) and checkout (.order_wrap) — shared head
   ========================================================================== */
.order_wrap .order_top { border-bottom: 1px solid var(--nb-line); }
.order_wrap .order_top .order_ttl { color: var(--nb-ink); font-weight: 800; letter-spacing: -0.04em; }
.order_wrap .order_top .order_step li { color: var(--nb-muted); font-weight: 600; }
.order_wrap .order_top .order_step li.on { color: var(--brand-800); font-weight: 800; }

.order_wrap .order_body { border-color: var(--nb-line); border-radius: 20px; box-shadow: none; }

/* cart */
.cart_wrap .cart_btn {
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--nb-line);
  border-radius: 999px;
  background: #fff;
  color: var(--nb-ink);
  font-weight: 600;
  transition: border-color .15s var(--nb-ease), background-color .15s var(--nb-ease);
}
.cart_wrap .cart_btn:hover:not(:disabled) { border-color: var(--nb-ink); }
.cart_wrap .cart_btn_primary,
.cart_wrap .cart_btn.cart_btn_primary {
  border-color: var(--brand-800) !important;
  background: var(--brand-800) !important;
  color: #fff;
  font-weight: 700;
}
.cart_wrap .cart_btn_primary:hover:not(:disabled) { border-color: var(--brand-700) !important; background: var(--brand-700) !important; }
.cart_wrap .cart_btn_lg { min-height: 56px; font-size: 17px; }
.cart_wrap .cart_btn:focus-visible { outline: 2px solid var(--brand-800); outline-offset: 2px; }
.cart_wrap .cart_check input,
.cart_wrap .cart_tb td.chk input { accent-color: var(--brand-800); }
.cart_wrap .cart_check { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; }

.cart_wrap .cart_seller { border-bottom: 2px solid var(--nb-ink); color: var(--nb-ink); font-weight: 800; letter-spacing: -0.03em; }
.cart_wrap .cart_tb thead tr { border-bottom-color: var(--nb-line); }
.cart_wrap .cart_tb th { color: var(--nb-muted); font-size: 14px; font-weight: 600; }
.cart_wrap .cart_tb td { border-bottom-color: var(--nb-line); color: var(--nb-ink); }
.cart_wrap .cart_tb .order_info_item .img_box { border-radius: 14px; background: var(--nb-mist); }
.cart_wrap .cart_tb .txt_box .subject { font-weight: 700; letter-spacing: -0.02em; }
.cart_wrap .cart_tb .txt_box .subject a { color: var(--nb-ink); }
.cart_wrap .cart_tb .txt_box .option { color: var(--nb-muted); }
.cart_wrap .cart_tb td.sum { font-weight: 800; }
.cart_wrap .cart_tb td.qty input {
  height: 44px;
  border: 1px solid var(--nb-line);
  border-radius: 12px;
  color: var(--nb-ink);
  font-weight: 700;
}
.cart_wrap .cart_tb td.qty input:focus { border-color: var(--brand-800); outline: 0; box-shadow: 0 0 0 3px rgba(31, 49, 92, .16); }
.cart_wrap .cart_sum { margin-top: 16px; border-radius: 14px; background: var(--nb-mist); }
.cart_wrap .cart_sum p { color: var(--nb-ink-2); }
.cart_wrap .cart_sum strong { color: var(--nb-ink); font-size: 20px; font-weight: 800; }
.cart_wrap .cart_sum .cart_free { display: block; margin-top: 2px; color: var(--brass-ink); font-size: 13px; font-weight: 600; }
.cart_wrap .cart_warn { color: var(--mall-sale); }
.cart_wrap .cart_empty { border-radius: 20px; }

/* desktop: the order button sits in a sticky summary card in a right column */
@media (min-width: 1025px) {
  .cart_wrap .order_body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    column-gap: 32px;
    align-items: start;
  }
  .cart_wrap .order_body > * { grid-column: 1; }
  .cart_wrap .order_body > .cart_order {
    position: sticky;
    top: calc(var(--nh-bar, 76px) + 24px);
    grid-column: 2;
    grid-row: 1 / span 20;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--nb-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px -16px rgba(16, 21, 33, .25);
    text-align: left;
  }
  .cart_wrap .order_body > .cart_order::before { color: var(--nb-ink); font-size: 18px; font-weight: 800; letter-spacing: -0.04em; content: '주문 요약'; }
  .cart_wrap .order_body > .cart_order .cart_btn_lg { width: 100%; min-width: 0; }
  .cart_wrap .order_body > .cart_order .cart_warn { margin: 0; font-size: 13px; line-height: 1.5; }
}

/* ==========================================================================
   4. Checkout (.order_wrap, /pay)
   ========================================================================== */
.order_wrap .odn_box .order_step .step {
  border-radius: 999px;
  background: var(--brand-100) !important;
  color: var(--brand-800) !important;
  font-weight: 800;
}
.order_wrap .odn_box .order_step h3 { color: var(--nb-ink); letter-spacing: -0.04em; }
.order_wrap .order_info_item .img_box { overflow: hidden; border-radius: 14px; }
.order_wrap .order_info_item .subject { color: var(--nb-ink); font-weight: 700; }

.order_wrap .order_form input[type='text'],
.order_wrap .order_form input[type='tel'],
.order_wrap .order_form input[type='email'],
.order_wrap .order_form input[type='number'],
.order_wrap .order_form select,
.order_wrap .order_form textarea {
  min-height: 44px;
  border: 1px solid var(--nb-line) !important;
  border-radius: 12px !important;
  color: var(--nb-ink);
  box-sizing: border-box;
}
.order_wrap .order_form input:disabled { background: var(--nb-mist); }
.order_wrap .order_form input:focus,
.order_wrap .order_form select:focus,
.order_wrap .order_form textarea:focus { border-color: var(--brand-800) !important; outline: 0; box-shadow: 0 0 0 3px rgba(31, 49, 92, .16); }
.order_wrap .order_form input[type='radio'],
.order_wrap .order_form input[type='checkbox'] { accent-color: var(--brand-800); }

.order_wrap .order_form .pt_row .cont button,
.order_wrap .order_form .btn_add,
.order_wrap .order_form .add_search,
.order_wrap .order_form .lt_btn,
.order_wrap .order_form .all_btn,
.order_wrap .order_form .pt_btn {
  min-height: 44px;
  border: 1px solid var(--nb-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--nb-ink) !important;
  font-weight: 600;
}

.order_wrap .payment_list label { border-radius: 12px; }

/* summary card */
.order_wrap .pt_right .pay_tit { color: var(--nb-ink); font-weight: 800; letter-spacing: -0.04em; }
.order_wrap .pt_right .pay_box {
  overflow: hidden;
  border: 1px solid var(--nb-line) !important;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px -16px rgba(16, 21, 33, .25);
}
.order_wrap .pt_right .pay_info .label { color: var(--nb-muted); }
.order_wrap .pt_right .pay_done { border-top: 1px solid var(--nb-line); background: var(--nb-mist) !important; }
.order_wrap .pt_right .pay_done .label { color: var(--nb-ink); font-weight: 700; }
.order_wrap .pt_right .pay_done strong { color: var(--brand-800) !important; font-weight: 800; letter-spacing: -0.03em; }
@media (min-width: 1025px) {
  .order_wrap .point_row { align-items: flex-start; }
  .order_wrap .pt_right { position: sticky; top: calc(var(--nh-bar, 76px) + 24px); }
}

.order_wrap .order_btn_row button {
  min-height: 52px;
  border-radius: 999px !important;
  font-size: 17px;
  font-weight: 700;
}
.order_wrap .order_btn_row .btn_paynone { border: 1px solid var(--nb-line) !important; background: #fff !important; color: var(--nb-ink) !important; }
.order_wrap .order_btn_row .btn_payment { border: 1px solid var(--brand-800) !important; background: var(--brand-800) !important; color: #fff !important; }
.order_wrap .order_btn_row .btn_payment:hover:not(:disabled) { background: var(--brand-700) !important; }
.order_wrap .order_btn_row .btn_payment:disabled { opacity: .55; }
.order_wrap button:focus-visible { outline: 2px solid var(--brand-800); outline-offset: 2px; }

/* ==========================================================================
   5. Custom quote (맞춤견적) — list, view, write
   ========================================================================== */
@media (min-width: 769px) {
  /* banner: a solid navy panel (no blue gradient / blob) with a brass CTA */
  .custom_list_pc .custom_top_banner .inner { background: var(--brand-800); }
  .custom_list_pc .custom_top_banner .inner::after { display: none; }
  .custom_list_pc .custom_top_banner .subject { color: #fff; letter-spacing: -0.04em; }
  .custom_list_pc .custom_top_banner .subject_desc { color: rgba(255, 255, 255, .78); }
  .custom_list_pc .custom_top_banner .ui-eyebrow { color: var(--brass-hi); }
  .custom_list_pc .custom_top_banner .add_link { background: var(--brass); color: var(--brand-950); box-shadow: none; }
  .custom_list_pc .custom_top_banner .add_link:hover { background: var(--brass-hi); }
  .custom_list_pc .custom_top_banner .add_link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
}
.custom_list_wrap .custom_list li:not(:last-of-type) { margin-bottom: 12px; }
.custom_list_wrap .custom_item {
  border: 1px solid var(--nb-line) !important;
  border-radius: 20px;
  background: #fff;
  transition: box-shadow .2s var(--nb-ease), border-color .2s var(--nb-ease);
}
.custom_list_wrap .custom_item:hover { border-color: var(--brand-100) !important; box-shadow: 0 8px 24px -16px rgba(16, 21, 33, .25); }
.custom_list_wrap .custom_item .subject { color: var(--nb-ink); font-weight: 800; letter-spacing: -0.03em; }
.custom_list_wrap .custom_item .desc,
.custom_list_wrap .custom_item .date { color: var(--nb-muted); }
.custom_list_wrap .custom_item .summary dd strong { color: var(--nb-ink); font-weight: 800; }
.custom_list_wrap .custom_item .view_more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--brand-800);
  border-radius: 999px;
  background: var(--brand-800);
  color: #fff;
  font-weight: 700;
  box-sizing: border-box;
}
.custom_list_wrap .custom_item .view_more:hover { background: var(--brand-700); }
.custom_list_wrap .day_tag.blue { background: var(--brand-100); color: var(--brand-800); }
.custom_list_wrap .end_tag { background: var(--nb-mist); color: var(--nb-muted); }

/* view */
.custom_view_wrap .custom_view_box,
.custom_view_wrap .basic_info { border-color: var(--nb-line); border-radius: 20px; }
.custom_view_wrap .ct_tit,
.custom_view_wrap .basic_ttl { color: var(--nb-ink); font-weight: 800; letter-spacing: -0.04em; }
.custom_view_wrap .keyword { border-radius: 999px; background: var(--brand-100); color: var(--brand-800); }
.custom_view .proposal_btn,
.custom_view .go_list,
.custom_view .list_go {
  min-height: 44px;
  border-radius: 999px;
  font-weight: 700;
}
.custom_view .proposal_btn.pick,
.custom_view .proposal_btn.send { border-color: var(--brand-800); background: var(--brand-800); color: #fff; }

/* write */
.custom_write_wrap .custom_write_ttl { color: var(--nb-ink); letter-spacing: -0.04em; }
.custom_write_box { border-color: var(--nb-line); border-radius: 20px; }
.custom_write_box .subject { letter-spacing: -0.03em; }
#wrap .custom_write_box .write_table table td input:not([type='radio']):not([type='checkbox']):not([type='file']),
#wrap .custom_write_box .write_table table td select {
  height: 44px;
  border: 1px solid var(--nb-line);
  border-radius: 12px;
}
#wrap .custom_write_box input:focus,
#wrap .custom_write_box select:focus,
#wrap .custom_write_box textarea:focus { border-color: var(--brand-800); outline: 0; box-shadow: 0 0 0 3px rgba(31, 49, 92, .16); }
.custom_write_box input[type='radio'] { accent-color: var(--brand-800); }
.custom_write_box .file_row label { min-height: 44px; border-radius: 999px; }
.custom_write_btn_row .point_line { border-color: var(--brand-800); color: var(--brand-800); }
.custom_write_btn_row .point_bg,
.custom_write_btn_row .point_bg:hover { border-color: var(--brand-800) !important; background: var(--brand-800) !important; box-shadow: none; }
.custom_write_btn_row .point_bg:hover { background: var(--brand-700) !important; }
.custom_write_btn_row button:focus-visible { outline: 2px solid var(--brand-800); outline-offset: 2px; }

@media (max-width: 768px) {
  .cart_wrap .cart_tb td.del .cart_btn { min-height: 40px; padding: 0 14px; }
  .cart_wrap .cart_tb td.item_info { padding-right: 72px; }
  .cart_wrap .order_body { padding: 20px 16px; }
}

/* ---------- sticky pieces fit the screen (owner review 11/2026) ----------
   - the section tabs stuck at 72px under a taller header: an 8px slit showed the page
     scrolling behind them; they now sit right under the header with a white band filling any rounding gap
   - the purchase column stuck at 84px and was taller than the window, so its bottom was cut: it now fits between the
     header and the bottom of the window and scrolls inside when it is longer */
.iv2 .iv2-tabs {
  top: var(--nh-stick, 128px);
  box-shadow: 0 -12px 0 #fff, 0 6px 16px -14px rgba(16, 21, 33, .35);
}
.iv2 .iv2-side {
  top: calc(var(--nh-stick, 128px) + 16px);
  max-height: calc(100vh - var(--nh-stick, 128px) - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none; /* scrolls with the wheel / touch, no visible bar */
  padding-bottom: 2px;
}
.iv2 .iv2-side::-webkit-scrollbar { display: none; }
