/* BASIC css start */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

/* 장바구니 CSS 전체 교체용 */
#cartWrap {
    --pr-cart-font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;
    box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 40px 20px 60px;
    color: #222; font-family: var(--pr-cart-font); font-size: 14px; line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
/* 네이버페이 내부에는 글꼴·버튼 스타일을 강제하지 않음 */
#cartWrap .table-cart, #cartWrap .table-cart *,
#cartWrap .pr-cart-heading, #cartWrap .tit-cart,
#cartWrap .btn-order-ctrl, #cartWrap .btn-order-ctrl * { box-sizing: border-box; font-family: var(--pr-cart-font); }
#cartWrap .pr-cart-heading { margin: 0 0 26px; }
#cartWrap h2.tit-page { position: static; float: none; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; color: #111; font-family: var(--pr-cart-font); font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: -.7px; text-align: left; text-indent: 0; }
#cartWrap .pr-cart-intro { margin: 10px 0 0; padding: 0; color: #888; font-size: 13px; line-height: 1.7; }
#cartWrap .page-body { margin: 0; padding: 0; }
#cartWrap h3.tit-cart { float: none; width: auto; height: auto; margin: 0 0 12px; padding: 0; border: 0; background: none; color: #222; font-size: 16px; font-weight: 600; line-height: 1.6; }
#cartWrap h3.pr-wish-title { margin-top: 40px; }
#cartWrap .wish-opt { color: #b86600; }

/* 상품표: 좁은 화면은 표 영역 안에서 가로 스크롤 */
#cartWrap .table-cart { width: 100%; margin: 0; padding: 0; border: 0; overflow-x: auto; }
#cartWrap .table-cart table { width: 100%; min-width: 860px; margin: 0; border: 0; border-collapse: collapse; border-spacing: 0; table-layout: fixed; }
#cartWrap .table-cart caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#cartWrap .pr-col-number { width: 44px; }
#cartWrap .pr-col-image { width: 92px; }
#cartWrap .pr-col-product { width: auto; }
#cartWrap .pr-col-quantity { width: 96px; }
#cartWrap .pr-col-reserve { width: 80px; }
#cartWrap .pr-col-price { width: 110px; }
#cartWrap .pr-col-delivery, #cartWrap .pr-col-stock { width: 90px; }
#cartWrap .pr-col-action { width: 90px; }
#cartWrap .table-cart th { height: auto; padding: 14px 8px; border: 0; border-bottom: 1px solid #dedede; background: #fff; color: #777; font-size: 12px; font-weight: 500; line-height: 1.6; }
#cartWrap .table-cart td { height: auto; padding: 20px 8px; border: 0; border-bottom: 1px solid #eee; background: #fff; color: #555; font-size: 13px; line-height: 1.7; vertical-align: middle; overflow-wrap: anywhere; }
#cartWrap .table-cart tbody tr, #cartWrap .table-cart tbody tr.nbg { background: none; }
#cartWrap .table-cart td > div, #cartWrap .table-cart th > div { margin: 0; padding: 0; }
#cartWrap .table-cart .tb-center { text-align: center; }
#cartWrap .table-cart .tb-left { text-align: left; }
#cartWrap .table-cart .tb-right { text-align: right; }
#cartWrap .table-cart a { color: inherit; text-decoration: none; }
#cartWrap .table-cart .thumb { width: 72px; height: 72px; margin: 0 auto; padding: 0; overflow: hidden; border: 1px solid #eee; border-radius: 8px; background: #fff; }
#cartWrap .table-cart .thumb a { display: block; width: 100%; height: 100%; }
#cartWrap .table-cart .thumb img { display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; object-fit: contain; }
#cartWrap .table-cart .pr-cart-product { color: #222; font-weight: 500; word-break: keep-all; overflow-wrap: anywhere; }
#cartWrap .pr-cart-product > a:hover { color: #ee6425; }
#cartWrap .pr-cart-product > img { max-width: 100%; vertical-align: middle; }
#cartWrap .table-cart .tb-bold { color: #171717; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
#cartWrap .table-cart .tb-delivery { color: #888; font-size: 12px; }

/* 수량·옵션·개별 상품 버튼 */
#cartWrap .table-cart .opt-spin { display: inline-flex; align-items: stretch; width: 72px; height: 38px; margin: 0 0 6px; padding: 0; border: 1px solid #dedede; border-radius: 6px; overflow: hidden; background: #fff; }
#cartWrap .table-cart .opt-spin input.txt-spin { position: static; float: none; flex: 1; width: 44px; min-width: 0; height: 36px; margin: 0; padding: 0 3px; border: 0; background: #fff; color: #222; font-size: 13px; text-align: center; line-height: normal; }
#cartWrap .opt-spin .btns { position: static; display: flex; flex: 0 0 25px; flex-direction: column; width: 25px; height: 36px; margin: 0; padding: 0; border-left: 1px solid #eee; }
#cartWrap .opt-spin .btns a { position: static; display: flex; flex: 1; align-items: center; justify-content: center; width: 100%; height: auto; margin: 0; padding: 0; color: #555; font-size: 14px; line-height: 1; }
#cartWrap .opt-spin .btns a + a { border-top: 1px solid #eee; }
#cartWrap .opt-spin .btns a:hover { background: #f4f4f4; }
#cartWrap .table-cart input.txt-right { width: 40px; max-width: 100%; height: 36px; margin: 0 4px 0 0; padding: 0 3px; border: 1px solid #dedede; border-radius: 6px; background: #fff; color: #222; font-size: 13px; text-align: center; vertical-align: middle; }
#cartWrap .table-cart a.pr-cart-button { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; max-width: 100%; margin: 0; padding: 5px 8px; border: 1px solid #dedede; border-radius: 6px; background: #fff; color: #555; font-size: 11px; font-weight: 500; line-height: 1.5; text-align: center; }
#cartWrap .table-cart a.pr-cart-button:hover { border-color: #999; background: #f7f7f7; }
#cartWrap .table-cart .d-block { display: block; margin: 5px 0; }
#cartWrap .table-cart .uni-opt { margin-top: 8px; }
#cartWrap .table-cart td .tb-opt { margin: 0; padding: 12px 16px; border-radius: 8px; background: #f7f7f7; color: #777; font-size: 12px; line-height: 1.8; }
#cartWrap .pr-cart-option-label { display: inline-block; margin-right: 8px; color: #444; font-weight: 600; }

/* 기존 합계 계산 가상코드가 출력하는 금액 */
#cartWrap .table-cart tfoot td { padding: 22px 20px; border: 0; background: #f7f7f7; }
#cartWrap .table-cart .pr-cart-total { color: #777; font-size: 13px; line-height: 2; font-variant-numeric: tabular-nums; }
#cartWrap .pr-cart-total strong { display: inline-block; margin-left: 6px; color: #171717; font-size: 24px; font-weight: 700; line-height: 1.5; vertical-align: baseline; }
#cartWrap .table-cart .pr-cart-empty { padding: 42px 16px; color: #777; font-size: 14px; text-align: center; }

/* 회원 등급·배송 안내 */
#cartWrap .mem-lvl { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; overflow: hidden; margin: 24px 0 0; padding: 20px; border: 1px solid #e3e3e3; border-radius: 8px; background: #fff; }
#cartWrap .mem-lvl .lvl-img { float: none; margin: 0; padding: 0; }
#cartWrap .mem-lvl .lvl-img:empty { display: none; }
#cartWrap .mem-lvl .lvl-img img { max-width: 100%; height: auto; }
#cartWrap .mem-lvl p { flex: 1 1 200px; min-width: 0; margin: 0; padding: 0; color: #777; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
#cartWrap .mem-lvl em { color: #222; font-style: normal; font-weight: 600; }
#cartWrap .delivery { margin: 18px 0 0; padding: 0; color: #888; font-size: 12px; line-height: 1.8; text-align: center; overflow-wrap: anywhere; }

/* 주문·쇼핑·비우기·견적서 */
#cartWrap .btn-order-ctrl { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 28px 0 0; padding: 0; font-size: 14px; line-height: 1.5; text-align: center; }
#cartWrap .btn-order-ctrl a { display: inline-flex; align-items: center; justify-content: center; float: none; min-width: 140px; min-height: 48px; margin: 0; padding: 12px 18px; border: 1px solid #dedede; border-radius: 8px; background: #fff; color: #333; font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: none; text-indent: 0; }
#cartWrap .btn-order-ctrl a.pr-cart-primary { min-width: 180px; border-color: #171717; background: #171717; color: #fff; font-size: 15px; font-weight: 600; }
#cartWrap .btn-order-ctrl a:hover { border-color: #999; background: #f7f7f7; }
#cartWrap .btn-order-ctrl a.pr-cart-primary:hover { border-color: #333; background: #333; }
#cartWrap .basket_nhn_pay { margin: 20px 0 0; padding: 0; text-align: center; line-height: 0; }
#cartWrap .table-cart a:focus-visible, #cartWrap .table-cart input:focus-visible,
#cartWrap .table-cart:focus-visible, #cartWrap .btn-order-ctrl a:focus-visible { outline: 2px solid #ee6425; outline-offset: 3px; }

@media (max-width: 640px) {
    #cartWrap { padding: 28px 12px 45px; }
    #cartWrap h2.tit-page { font-size: 22px; }
    #cartWrap .btn-order-ctrl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #cartWrap .btn-order-ctrl a, #cartWrap .btn-order-ctrl a.pr-cart-primary { min-width: 0; width: 100%; padding: 12px 8px; }
    #cartWrap .mem-lvl { padding: 16px; }
}

/* BASIC css end */

