/* BASIC css start */
/* 장바구니 전용: 공통 레이아웃·주문/옵션/수량/결제 기능은 플랫폼 사용 */
#cartWrap { width:var(--site-width,1080px); max-width:100%; margin:0 auto 80px; color:#333; font:14px/1.6 Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif; }
#cartWrap h2 { margin:40px 0 32px; padding:0; border:0; font:600 30px/1.4 Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif; color:#222; letter-spacing:-.6px; }
#cartWrap h3,#cartWrap p,#cartWrap dl,#cartWrap dd { margin:0; }
#cartWrap a { color:inherit; text-decoration:none; }
#cartWrap a:hover { color:var(--main-color,#e74174); }
#cartWrap input { box-sizing:border-box; font:inherit; }
#cartWrap input:focus-visible,#cartWrap a:focus-visible { outline:2px solid var(--main-color,#e74174); outline-offset:2px; }
#cartWrap .cart-layout { display:grid; grid-template-columns:minmax(0,740px) minmax(0,312px); gap:28px; align-items:start; }
#cartWrap .cart-products { min-width:0; }
#cartWrap .cart-list-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-bottom:16px; padding:0 20px; border:1px solid #e8eaed; border-radius:8px; background:#fff; font-size:14px; }
#cartWrap .cart-list-toolbar span { font-weight:600; }
#cartWrap .cart-list-toolbar a { color:#888; font-size:13px; }
#cartWrap .cart-provider { margin-bottom:20px; border:1px solid #e8eaed; border-radius:10px; background:#fff; overflow:hidden; }
#cartWrap .cart-provider>h3 { padding:15px 20px; border-bottom:1px solid #eceef0; background:#fafafa; font-size:14px; font-weight:600; line-height:22px; }
#cartWrap .cart-product-table { display:block; width:100%; margin:0; border:0; border-spacing:0; }
#cartWrap .cart-product-table tbody { display:block; width:100%; }
#cartWrap .cart-item-row { display:grid; grid-template-columns:88px minmax(0,1fr) 24px; grid-template-rows:auto; align-items:start; gap:0 16px; margin:0 20px; padding:20px 0; border-top:1px solid #eff0f2; }
#cartWrap .cart-item-row:first-of-type { border-top:0; }
#cartWrap .cart-item-row>td { display:block; min-width:0; margin:0; padding:0; border:0; background:none; font-size:14px; }
#cartWrap .cart-item-row>td:nth-child(1) { grid-column:1; grid-row:1; }
#cartWrap .cart-item-row>td:nth-child(2) { grid-column:2; grid-row:1; }

#cartWrap .cart-product-table .tb-left,#cartWrap .cart-product-table .tb-center,#cartWrap .cart-product-table .tb-right { padding:0; text-align:left; }
#cartWrap .cart-product-table .thumb { width:88px; height:88px; margin:0; border-radius:6px; overflow:hidden; background:#f7f7f7; }
#cartWrap .cart-product-table .thumb a,#cartWrap .cart-product-table .thumb img { display:block; width:88px; height:88px; object-fit:contain; }
#cartWrap .cart-item-row .tb-left>a { color:#333; font-size:15px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
#cartWrap .uni-opt { margin:0; }
#cartWrap .uni-opt a { display:inline-flex; align-items:center; gap:6px; padding:3px 9px; border:1px solid #e0e3e7; border-radius:4px; background:#fff; color:#777; font-size:12px; line-height:20px; text-decoration:none; }
#cartWrap .opt-spin { display:flex; width:78px; height:32px; margin:0; }
#cartWrap .opt-spin input { float:none; width:54px; height:32px; padding:0 3px; border:1px solid #dfe2e6; border-radius:4px 0 0 4px; background:#fff; font-size:14px; text-align:center; }
#cartWrap .opt-spin .btns { display:flex; flex-direction:column; float:none; width:24px; height:32px; }
#cartWrap .opt-spin .btns a { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:24px; height:16px; border:1px solid #dfe2e6; border-left:0; background:#fff; }
#cartWrap .opt-spin .btns a:first-child { border-radius:0 4px 0 0; }
#cartWrap .opt-spin .btns a:last-child { border-top:0; border-radius:0 0 4px 0; }
#cartWrap .opt-spin .btns img { display:block; width:12px; height:auto; margin:0; }
#cartWrap .cart-product-table .tb-price { color:#222; font-size:20px; font-weight:700; line-height:28px; text-align:right; white-space:nowrap; }
#cartWrap .cart-delete { width:24px; height:24px; margin:0; padding:0; border:0; background:none; color:#aaa; text-align:center; cursor:pointer; }
#cartWrap .cart-delete a { display:block; color:inherit; font:300 26px/24px Arial,sans-serif; }
#cartWrap .cart-delete:hover { color:#333; }

#cartWrap .basket-option-detail { display:block; max-width:100%; padding-left:0; vertical-align:top; }
#cartWrap .basket-option-dlist { margin:0; padding:0; list-style:none; }
#cartWrap .basket-option-dlist li { margin:0 0 4px; }
#cartWrap .basket-option-dlist li:last-child { margin-bottom:0; }
#cartWrap .basket-option-dlist li img { width:23px; height:23px; vertical-align:middle; }
#cartWrap .cart-provider-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:20px; border-top:1px solid #f5dfe6; background:#fff5f8; }

#cartWrap .cart-member-note { margin:16px 0; padding:16px 20px; border-radius:8px; background:#f7f8fa; color:#888; font-size:13px; }
#cartWrap .cart-member-note em { color:var(--main-color,#e74174); font-style:normal; }
#cartWrap .cart-summary { position:sticky; top:calc(var(--ipo-header-height,132px) + 24px); align-self:start; min-width:0; }
#cartWrap .cart-summary-box { padding:24px; border:1px solid #ead6dd; border-radius:10px; background:#fff; }
#cartWrap .cart-summary-box h3 { margin:0 0 24px; color:#222; font-size:17px; font-weight:600; }
#cartWrap .cart-summary-lines>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:14px 0; }
#cartWrap .cart-summary-lines dt { flex-shrink:0; color:#777; font-size:14px; }
#cartWrap .cart-summary-lines dd { color:#333; font-size:15px; font-weight:500; text-align:right; overflow-wrap:anywhere; }
#cartWrap .cart-summary-lines>.cart-summary-total { display:block; margin:22px -12px 0; padding:18px 12px; border-top:0; border-radius:6px; background:#fff3f7; }
#cartWrap .cart-summary-total dt { color:#333; font-size:14px; font-weight:600; }
#cartWrap .cart-summary-total dd { margin:6px 0 0; color:var(--main-color,#e74174); font-size:30px; font-weight:700; line-height:1.3; letter-spacing:-.7px; text-align:right; overflow-wrap:anywhere; }
#cartWrap .cart-summary-note { margin:16px 0 0; color:#999; font-size:12px; line-height:1.7; }
#cartWrap .cart-order-button { box-sizing:border-box; width:100%; margin:12px 0 0; padding:15px 12px; border:1px solid var(--main-color,#e74174); border-radius:6px; background:var(--main-color,#e74174); color:#fff; text-align:center; }
#cartWrap .cart-order-button a { display:block; color:#fff; font-size:17px; font-weight:600; line-height:24px; }
#cartWrap .cart-order-button:hover { filter:brightness(.97); }
#cartWrap .cart-continue { display:block; margin:12px 0 0; color:#888; font-size:13px; text-align:center; }
#cartWrap .cart-express { display:flex; flex-direction:column; align-items:center; gap:10px; margin:24px 0 0; }
#cartWrap .cart-express:empty { display:none; }
#cartWrap .cart-empty { padding:80px 20px; border:1px solid #e8eaed; border-radius:10px; background:#fff; text-align:center; }
#cartWrap .cart-products:has(>.cart-empty) { grid-column:1 / -1; }
#cartWrap .cart-empty p { margin:0 0 24px; color:#999; font-size:15px; }
#cartWrap .cart-empty a { display:inline-block; padding:11px 32px; border-radius:5px; background:var(--main-color,#e74174); color:#fff; font-size:14px; }
#cartWrap .cart-delivery-source { display:none!important; }
/* 상품명·가격·썸네일은 기존 공통 상품 CSS 재사용, 이곳에서는 영역/열 수만 지정 */
#cartWrap .cart-related { width:100%; min-width:0; margin:36px 0 0; padding:28px 0 0; border-top:1px solid #e8eaed; }
#cartWrap .cart-related>h3 { margin:0 0 20px; padding:0; border:0; color:#222; font-size:20px; font-weight:600; line-height:1.5; }
#cartWrap .cart-related .prdList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 16px; width:100%; margin:0; padding:0; list-style:none; }
#cartWrap .cart-related .prdList>li { float:none; width:auto; min-width:0; margin:0; padding:0; }
#cartWrap .cart-related .prame_box { width:100%; min-width:0; }
#cartWrap .cart-related [hidden] { display:none!important; }
#cartWrap .cart-related .promotion:empty { display:none; }
/* 선택 옵션과 합계: 상품별 정보와 그룹별 금액 분리 */
#cartWrap .cart-item-options { flex:1; min-width:0; margin:0; padding:0; color:#666; }

#cartWrap .cart-item-options .tb-opt { margin:0; padding:0; color:#666; font-size:13px; font-weight:400; line-height:1.6; overflow-wrap:anywhere; }

#cartWrap .cart-provider-breakdown { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; color:#888; font-size:12px; line-height:22px; }
#cartWrap .cart-provider-breakdown b { margin-left:5px; color:#555; font-weight:500; }
#cartWrap .cart-provider-sum { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-end; gap:8px 12px; margin-left:auto; }
#cartWrap .cart-provider-sum>span { color:#555; font-size:13px; font-weight:500; }
#cartWrap .cart-provider-sum>strong { color:var(--main-color,#e74174); font-size:24px; font-weight:700; line-height:1.4; white-space:nowrap; }
/* 옵션명 왼쪽 / 수량 오른쪽: 입력·삭제 기능은 플랫폼 코드 유지 */
#cartWrap .cart-option-line { display:flex; align-items:center; gap:12px; margin-top:9px; padding:10px 12px; border-radius:5px; background:#f6f7f8; }
#cartWrap .cart-option-quantity { flex:0 0 auto; margin-left:auto; }
#cartWrap .cart-item-row>td:nth-child(3) { grid-column:3; grid-row:1; }
#cartWrap .cart-item-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin-top:10px; }
#cartWrap .cart-item-footer .tb-price { margin-left:auto; }

/* BASIC css end */

