/* =========================================================================
 * ENVY 장바구니 (frame688 / node 780:1653)
 * 토큰: 브랜드그린 #399C42 / 본문 #404040 / 구분선 #DDD / 할인% 빨강 #FE333C
 * 헤더/푸터는 envy-chrome.css 소관 — 여기서 안 건드림.
 * 측정: frame688_render_2x.png 는 @2x → px ÷2.
 * ========================================================================= */

:root {
	--envy-cart-green: #399C42;     /* 브랜드 그린(할인금액/체크) node -10000원 #399C42 */
	--envy-cart-buy: #5BB233;       /* 바로구매 버튼 node Frame 530 fill #5BB233 */
	--envy-cart-buy-d: #4e9a2b;     /* 바로구매 hover(약간 어둡게) */
	--envy-cart-green-d: #2f8137;   /* hover */
	--envy-cart-ink: #404040;       /* 본문 */
	--envy-cart-line: #dddddd;      /* 구분선 */
	--envy-cart-title: #000000;     /* 타이틀급 node 장바구니/27,900원 #000000 */
	--envy-cart-red: #fe333c;       /* 할인% node 24%/47% #FE333C */
	--envy-cart-del: #afafaf;       /* 정가 취소선 node 50,900원 #AFAFAF */
	--envy-cart-sale: #242424;      /* 판매가/총결제금액 node Frame520·704 #242424 */
	--envy-cart-name: #5c5c5c;      /* 상품명 node #5C5C5C */
	--envy-cart-gray: #888888;      /* 보조 텍스트 */
	--envy-cart-aside-w: 420px;     /* 360→420 (라벨/금액 1줄 유지) */
}

/* WC 기본 알림/페이지여백 정돈 */
.woocommerce-cart .entry-header,
.woocommerce-cart .page-title { display: none; }

/* ---- Astra 컨테이너 캡 해제 (cart 페이지 한정) ----
 * 가두는 조상 = Astra 동적CSS `.ast-container{max-width:1240px;padding:0 0.54em}` +
 *   `.site-content > .ast-container{max-width:1240px}` → 카트가 1200/left360에 갇혀
 *   헤더(.envy-wrap 1300/left310 → 콘텐츠 x330)보다 30px 안쪽으로 밀림.
 * 풀어서 full-width로 만들면 안쪽 .envy-cart(max-width:1300/margin auto/padding 0 20)가
 *   .envy-wrap과 동일하게 중앙정렬 → 좌측 정렬·inner 1260 일치(콘텐츠 x330).
 * single-product.css의 동일 패턴(.single-product .ast-container{max-width:100%;padding:0})과 짝.
 * body.woocommerce-cart 스코프라 헤더/푸터·타 페이지엔 안 샘. */
body.woocommerce-cart .ast-container,
body.woocommerce-cart .site-content > .ast-container,
body.woocommerce-cart #primary {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* ---- 레이아웃: 2단 ----
 * node frame688: 리스트(타이틀폭) 820 / 갭 20 / 사이드바 420 = 1260.
 * (list x=15569 w=820 → sidebar x=16409: gap=20 / sidebar w=420)
 * cart 페이지 한정으로 inner 1260. 헤더(.envy-wrap max-width:1300/pad20 → inner 1260)와
 * 좌우 정렬 동일하게 max-width 1300 + padding 0 20 → inner 1260. */
.envy-cart {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	max-width: var(--envy-cart-max, 1300px);
	margin: 40px auto 80px;
	padding: 0 20px;
	font-family: 'Pretendard', 'Apple SD Gothic Neo', sans-serif;
	color: var(--envy-cart-ink);
	box-sizing: border-box;
}
.envy-cart__main { flex: 1 1 auto; min-width: 0; max-width: 100%; }
.envy-cart__aside { flex: 0 0 var(--envy-cart-aside-w); width: var(--envy-cart-aside-w); position: sticky; top: 24px; }

/* ---- 상단: 타이틀 + 전체선택 ---- */
.envy-cart__head { margin-bottom: 16px; }
.envy-cart__title {
	font-size: 32px;
	font-weight: 600; /* node 장바구니 32px/600 (라이브 700 → 600) */
	color: var(--envy-cart-title);
	margin: 0 0 24px; /* node 장바구니 y160 h38 ↔ 전체선택 y222 = 간격 24 (14 → 24) */
	letter-spacing: -0.02em;
}
.envy-cart__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 400; /* node Frame774 전체 선택 라벨 14px/400 */
	color: #0E0E0E; /* node Frame774 #0E0E0E (현재 #888 회색 → node 진한색) */
	cursor: pointer;
}
.envy-cart__all-label { font-weight: 400; }
.envy-cart__list { border-top: 1px solid var(--envy-cart-line); }

/* ---- 체크박스 공통 (그린) ---- */
.envy-cart__all-check,
.envy-cart__row-check {
	width: 18px;
	height: 18px;
	margin: 0;
	cursor: pointer;
	accent-color: var(--envy-cart-green);
	flex: 0 0 auto;
}

/* ---- 상품 카드(행) ----
 * frame688: 2행 구조.
 *   Row1: [체크18] [썸네일100] [상품명+가격]  (info=col3)
 *   Row2(수량바)·Row3(옵션버튼): 체크 칼럼(col1) 비우고 col2~끝 전체폭(788).
 * grid-template-rows로 행을 명시하고 자식별 grid-column/row 배치. */
.envy-cart__item {
	display: grid;
	grid-template-columns: 18px 100px 1fr; /* 썸네일 node 100×100 (라이브 96 → 100) */
	grid-template-rows: auto auto auto;    /* Row1 콘텐츠 / Row2 수량바 / Row3 옵션 */
	column-gap: 16px;
	row-gap: 14px; /* 상단행 ↔ 수량바 ↔ 옵션버튼 세로 간격 */
	align-items: start;
	padding: 24px 0;
	border-bottom: 1px solid var(--envy-cart-line); /* node Frame701 상품 구분선 #DDD 1px */
}
.envy-cart__item-check { grid-column: 1; grid-row: 1; padding-top: 2px; }
.envy-cart__item-thumb { grid-column: 2; grid-row: 1; }
.envy-cart__item-info  { grid-column: 3; grid-row: 1; }
/* 수량바·옵션버튼 = 썸네일 좌측(col2)부터 콘텐츠 우측(끝)까지 전체폭, 체크 칼럼만 들여씀 */
.envy-cart__item-controls { grid-column: 2 / -1; grid-row: 2; }
.envy-cart__option-btn    { grid-column: 2 / -1; grid-row: 3; }
.envy-cart__item-thumb { width: 100px; }
.envy-cart__item-thumb img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}
.envy-cart__item-info { min-width: 0; }

/* 상품명 node 16px/500 #5C5C5C (라이브 14/400 → 16/500) */
.envy-cart__item-name { font-size: 16px; font-weight: 500; line-height: 1.5; margin-bottom: 8px; color: var(--envy-cart-name); }
.envy-cart__item-name a { font-weight: 500; }
.envy-cart__item-name a { color: var(--envy-cart-name); text-decoration: none; }
.envy-cart__item-name a:hover { color: var(--envy-cart-green); }
.envy-cart__item-name .variation { font-size: 12px; color: var(--envy-cart-gray); margin: 4px 0 0; }

/* 가격 2줄 (node Frame519 정가 y333 / Frame520 판매가+% y356):
 *   윗줄 = 정가 취소선(del) 단독, 아랫줄 = 판매가(ins) + 할인%.
 * 자식 = <del> <ins> <span.pct> (get_price_html + pct 배지). flex-wrap 행에서
 * del을 width:100%로 강제 줄바꿈시켜 윗줄 단독 → ins+%가 다음 줄에 묶임. */
.envy-cart__item-price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 4px; margin-bottom: 14px; }
/* 윗줄: 정가 취소선 단독 (node Frame518 50,900원 16/500 #AFAFAF) */
.envy-cart__item-price del { flex: 0 0 100%; width: 100%; color: var(--envy-cart-del); font-size: 16px; text-decoration: line-through; opacity: 1; }
.envy-cart__item-price del .amount,
.envy-cart__item-price del bdi { font-size: 16px; font-weight: 500; color: var(--envy-cart-del); }
.envy-cart__item-price ins { text-decoration: none; }
/* node Frame520 판매가 27,900원 20/500 #242424 (현재 700/#000 → node값) */
.envy-cart__item-price ins .amount,
.envy-cart__item-price .amount { font-size: 20px; font-weight: 500; color: var(--envy-cart-sale); }
/* node Frame520 상품행 할인% (24%/47%/26%) = 20/500/#FE333C 빨강 (영역=상품행만) */
.envy-cart__pct { font-size: 20px; font-weight: 500; color: var(--envy-cart-red); }

/* ---- Row2: 회색 수량바 (node Frame534 788×53, #F6F6F4, radius 8, 좌우패딩 20) ----
 * 좌=수량 스테퍼, 우=라인소계 + × 삭제 (space-between). */
.envy-cart__item-controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 53px; /* node 수량바 높이 53 */
	padding: 0 20px;  /* node 좌우 패딩 ~20 */
	background: #F6F6F4; /* node Frame534 fill */
	border-radius: 8px;  /* node Frame534 radius 8 */
	box-sizing: border-box;
}

/* 우측 묶음: 라인소계 + × 삭제 */
.envy-cart__item-end {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

/* 수량 ± 스테퍼 박스 (node Frame535 108×29, #FFF, border #DDD, radius 4) */
.envy-cart__qty .quantity {
	display: inline-flex;
	align-items: stretch; /* ① 버튼/input이 박스 높이를 꽉 채워 세로 정중앙 정렬 */
	box-sizing: border-box;
	border: 1px solid var(--envy-cart-line); /* node #DDD */
	border-radius: 4px; /* node Frame535 radius 4 */
	overflow: hidden;
	height: 29px; /* node Frame535 스테퍼 108×29 (외곽 29) */
	background: #fff; /* node #FFF */
}
.envy-cart__qty-btn {
	width: 30px; /* node Frame531/532 30×29 */
	height: 29px; /* node 29 — align-items:stretch로 박스 높이 꽉 채움 (27 → 29) */
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: #fff;
	color: var(--envy-cart-ink);
	font-size: 16px;
	font-weight: 400; /* node figma_stepper − /+ 가는 글리프 (과한 두께 방지) */
	line-height: 1;
	cursor: pointer;
	padding: 0;
}
.envy-cart__qty-btn:hover { background: #f6f6f4; }
.envy-cart .envy-cart__qty .quantity input.qty {
	width: 48px; /* node Frame533 48×29 → 스테퍼 총폭 30+48+30=108 */
	height: 29px; /* node Frame533 48×29 — align-items:stretch로 박스 높이 꽉 채움 (27 → 29) */
	min-height: 0; /* Astra 입력필드 min-height(35px화 주범) 무력화 → 29px 고정 */
	box-sizing: border-box;
	margin: 0;
	padding: 0; /* ① 상하 패딩 0 — WC/Astra 기본 패딩이 숫자를 아래로 밀던 것 제거 */
	line-height: 29px; /* height와 동일 → 숫자 세로 정중앙 */
	border: none;
	border-left: 1px solid var(--envy-cart-line);
	border-right: 1px solid var(--envy-cart-line);
	text-align: center; /* 숫자 가운데 */
	vertical-align: middle;
	font-size: 14px;
	font-weight: 500; /* node Frame533 수량 숫자 14/500 */
	color: var(--envy-cart-title); /* node #000000 (현재 #404040 → #000) */
	-moz-appearance: textfield;
	background: #fff;
}
.envy-cart__qty .quantity input.qty::-webkit-outer-spin-button,
.envy-cart__qty .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* 라인 합계 (수량바 우측) */
.envy-cart__item-subtotal { text-align: right; font-size: 20px; font-weight: 700; color: var(--envy-cart-title); white-space: nowrap; }
.envy-cart__item-subtotal .amount { font-weight: 700; }

/* × 삭제 — node figma_xicon: 가는 스트로크 회색 ×(#878787, stroke 1.6, ~20px) */
.envy-cart__item-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #878787 !important; /* node figma_xicon ~#878787 회색 */
	line-height: 1;
	text-decoration: none;
	border-radius: 50%;
	background: transparent;
	opacity: 1 !important; /* Astra .woocommerce-js a.remove{opacity:.5}(0,2,1) 이기려 !important — 선명한 맨 × (figma_xicon) */
}
/* Astra .woocommerce-js a.remove::before(0,2,2) 가 그리는 원형 보더 제거 — 시안엔 동그라미 없음 (figma_xicon). 특이성 못 이겨 !important로 차단 */
.envy-cart__item-remove .remove::before { display: none !important; content: none !important; border: none !important; }
/* 가는 × svg (cart.php가 출력) — 20×20, currentColor 스트로크 */
.envy-cart__item-remove .remove .envy-cart__remove-x { width: 20px; height: 20px; display: block; }
.envy-cart__item-remove .remove:hover { color: var(--envy-cart-red) !important; background: transparent; }

/* 옵션 변경 버튼 (node Frame567 788×40, #FFF, border #CCC, radius 6, 텍스트 14/500 가운데)
 * grid col2~끝(전체폭 788)에 배치되므로 음수마진 불필요 — width:100%면 칼럼 전부 채움. */
.envy-cart__option-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px; /* node Frame567 788×40 */
	box-sizing: border-box;
	text-align: center;
	padding: 0 12px;
	border: 1px solid #CCC; /* node Frame567 stroke #CCC */
	border-radius: 6px;     /* node Frame567 radius 6 */
	background: #fff;       /* node #FFF */
	color: var(--envy-cart-title); /* node Frame567 옵션 변경 텍스트 #000000 (현재 #404040 → #000) */
	font-size: 14px;        /* node 14 */
	font-weight: 500;       /* node 500 */
	text-decoration: none;
}
.envy-cart__option-btn:hover { border-color: var(--envy-cart-green); color: var(--envy-cart-green); }

/* WC 표준 액션(쿠폰입력칸/장바구니 업데이트) — 화면엔 숨김(훅·마크업은 보존).
 * (구) clip+1px 방식은 내부 input이 클립을 벗어나 화면 왼쪽 밖으로 삐져나와 방치됨(BUG F).
 * display:none이면 form 필드는 그대로 남아(폼 제출 시 값 전송 가능) 훅·마크업 보존 + 완전 비표시.
 * ENVY 쿠폰 적용은 체크아웃 커스텀 쿠폰칸(functions.php:4044~)에서 처리하므로 카트 기본칸은 불필요. */
.envy-cart__actions { display: none; }

/* =========================================================================
 * 우측 사이드바: 주문 예상 금액
 * ========================================================================= */
.envy-cart__summary { width: 100%; }
/* WC 기본 `.cart-collaterals .cart_totals{float:right;width:~48%}` 가 .envy-summary(=cart_totals)를
 * float:right·202px로 줄여 사이드바(420)를 못 채우고 → CTA/금액row가 collapse(라운드5 회귀 근원).
 * float 해제 + width:100%로 aside inner(420−패딩40=380) 전부 채움 → CTA 펴짐·row space-between 1줄. */
.envy-cart .envy-summary,
.envy-cart .cart_totals.envy-summary {
	float: none;
	width: 100%;
	box-sizing: border-box;
	/* node Frame523: individualStrokeWeights {left:1} stroke #DDD, fill 없음, radius 없음
	 * = 박스가 아니라 왼쪽 세로 1px 라인만. 4변 border/radius/그림자/배경 제거. */
	border: none;
	border-left: 1px solid var(--envy-cart-line);
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	padding: 0 0 0 20px; /* node 좌측 패딩 20 (현재 24 → 20) */
}
/* node Frame706 주문 예상 금액: fills=[] strokes=[] → 배경·하단보더·음수마진/패딩 없음.
 * Astra 기본 `.cart_totals h2`(bg #FBFBFB / border-bottom / 음수마진 헤더형)를 평문으로 리셋.
 * 24/600 평문, margin 0 0 30px(시안 제목→첫행 간격 32). */
.envy-cart .envy-summary__title,
.envy-cart .cart_totals .envy-summary__title,
.woocommerce-cart .cart-collaterals .cart_totals h2.envy-summary__title {
	font-size: 24px;
	font-weight: 600;
	color: var(--envy-cart-title);
	margin: 0 0 30px !important; /* Astra 음수 좌우마진 -20px 제거 — 특이성 의존 대신 !important로 못 박음 */
	padding: 0 !important;
	background: none !important;
	border: none !important;
	border-bottom: none !important;
	border-radius: 0 !important;
	text-transform: none;
	letter-spacing: -0.02em;
}
.envy-summary__rows { margin: 0; padding: 0; width: 100%; box-sizing: border-box; }
.envy-summary__row {
	display: flex;
	width: 100%; /* 라벨↔금액 space-between이 inner 폭 전부에 걸려 1줄 유지 (라운드5 패딩변경 무영향) */
	box-sizing: border-box;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
	font-size: 16px;
}
/* 라벨/금액은 각각 1줄 유지(줄바꿈 금지) — 폭 부족으로 깨짐 방지 */
/* node Frame63 라벨(총 선택 상품 금액/할인 금액/총 배송비) 16/500/#808080 (현재 400/#888) */
.envy-summary__row dt { margin: 0; color: #808080; font-weight: 500; white-space: nowrap; }
/* node Frame704 값 16/700/#222222 (현재 600/#404040) */
.envy-summary__row dd { margin: 0; color: #222222; font-size: 16px; font-weight: 700; white-space: nowrap; text-align: right; }
.envy-summary__row dd .amount { font-weight: 700; }
/* node Frame704 -10000원 할인값 16/700/#399C42 그린 (현재 600) */
.envy-summary__row--discount dd { color: var(--envy-cart-green); font-weight: 700; }
.envy-summary__row--total {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--envy-cart-line);
}
/* node Frame63 총 결제금액 라벨 16/500/#222222 (현재 18/700) */
.envy-summary__row--total dt { color: #222222; font-size: 16px; font-weight: 500; }
/* node Frame704 총 결제금액 값 28/600/#242424 (현재 700/#000) */
.envy-summary__row--total dd { color: var(--envy-cart-sale); font-size: 28px; font-weight: 600; }
.envy-summary__row--total dd .amount { font-size: 28px; font-weight: 600; }

/* 바로 구매 영역 (node Frame537 400×56): 좌측 56×56 아이콘 박스 + gap8 + 그린버튼 336.
 * 아이콘 박스(Frame529)=선물 아웃라인 아이콘, #DDD 1px border, radius 4. */
/* node Frame537 400×56: cta는 사이드바 inner(≈380) 폭 전부를 차지해야
 * 선물56(고정) + gap8 + 바로구매(나머지 전부)로 펴진다. width:100% 누락 시
 * flex 컨테이너가 콘텐츠폭(160)으로 collapse → 바로구매가 80×56로 뭉침(라운드5 회귀). */
/* CTA 위 가로 구분선 (node Frame702 #DDD) — 총결제금액 위(=row--total border-top)와 함께 2개 */
.envy-summary__cta { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--envy-cart-line); display: flex; width: 100%; align-items: stretch; gap: 8px; box-sizing: border-box; }

/* 특이성 보강: Astra .woocommerce a.button / [class*="wc-block"]{background:var(--ast-global-color-0)}
 * 캐스케이드를 확실히 이겨야 함 → .envy-cart 스코프 + a.button.alt 다중 클래스 + !important. */
.envy-cart .envy-summary__cta a.envy-summary__buy,
.envy-cart a.envy-summary__buy.checkout-button.button.alt,
.envy-cart .envy-summary__cta button.envy-summary__buy,
.envy-cart button.envy-summary__buy.checkout-button.button.alt {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0; /* node Frame530 ≈316 = 선물56·gap8 뺀 나머지 폭 전부 (basis 0으로 균등 grow) */
	min-width: 0;
	width: auto;
	box-sizing: border-box;
	text-align: center;
	height: 56px; /* node Frame530 56 높이 */
	padding: 0 16px;
	background-color: var(--envy-cart-buy) !important;
	background-image: none !important;
	color: #fff !important;
	font-size: 18px; /* node Frame530 바로 구매 18 (현재 16 → 18) */
	font-weight: 700;
	border-radius: 4px; /* node Frame530 radius 4 */
	text-decoration: none;
	border: none;
}
.envy-cart .envy-summary__cta a.envy-summary__buy:hover,
.envy-cart a.envy-summary__buy.checkout-button.button.alt:hover,
.envy-cart .envy-summary__cta button.envy-summary__buy:not(:disabled):hover,
.envy-cart button.envy-summary__buy.checkout-button.button.alt:not(:disabled):hover {
	background-color: var(--envy-cart-buy-d) !important;
	color: #fff !important;
}
/* 선택결제(G1): 선택 0건 → 결제하기 비활성(회색·클릭불가) */
.envy-cart button.envy-summary__buy:disabled,
.envy-cart button.envy-summary__buy.is-disabled {
	background-color: #cfcfcf !important;
	cursor: not-allowed;
	opacity: 1;
}
/* 다른 플러그인이 woocommerce_proceed_to_checkout에 끼워넣는 기본 버튼은 숨김(우리 버튼만 노출) */
.envy-summary__cta .checkout-button:not(.envy-summary__buy) { display: none; }

/* =========================================================================
 * 하단: 관심 있을 만한 상품 캐러셀
 * ========================================================================= */
.envy-cart-reco { margin-top: 56px; min-width: 0; max-width: 100%; }
.envy-cart-reco__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 20px;
}
/* node Heading3 관심 있을 만한 상품 26/700/#191919 (현재 18/#000) */
.envy-cart-reco__title { font-size: 26px; font-weight: 700; color: #191919; margin: 0; }
/* node Link 더보기 #191919 (현재 #888) */
.envy-cart-reco__more { font-size: 14px; color: #191919; text-decoration: none; }
.envy-cart-reco__more:hover { color: var(--envy-cart-green); }
.envy-cart-reco__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	min-width: 0;
	max-width: 100%;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.envy-cart-reco__track::-webkit-scrollbar { display: none; }
.envy-cart-reco__track .envy-grid__item { flex: 0 0 180px; }
/* 캐러셀 카드 (.envy-cart-reco 스코프 한정 — 전역 .envy-card/샵그리드는 미변경)
 * node figma_recocard: 보더 없음. 이미지 라운드 모서리(radius 12)+텍스트만. border 제거. */
.envy-cart-reco .envy-card { background: #fff; border: none; border-radius: 12px; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.envy-cart-reco .envy-card__thumb { border-radius: 0; margin-bottom: 0; }
.envy-cart-reco .envy-card__img { width: 100%; height: 160px; object-fit: cover; display: block; }
.envy-cart-reco .envy-card__body { padding: 12px 14px 16px; }
/* node Frame759/Link 추천 카드 상품명 14/400/#000 (현재 13/#404040) */
.envy-cart-reco .envy-card__name { font-size: 14px; font-weight: 400; line-height: 1.45; color: var(--envy-cart-title); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* node Frame58 추천 카드 할인% = 그린 #399C42 14/600 (상품행 %=빨강과 영역 분리, node 검증) */
.envy-cart-reco .envy-card__pct { color: var(--envy-cart-green); font-size: 14px; font-weight: 600; margin-right: 4px; }
/* node Frame58 추천 카드 가격 14/600/#000 (현재 15/700) */
.envy-cart-reco .envy-card__price { font-size: 14px; font-weight: 600; color: var(--envy-cart-title); }
.envy-cart-reco .envy-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }

/* =========================================================================
 * 모바일 1단 적층 (768px)
 * ========================================================================= */
@media (max-width: 768px) {
	.envy-cart { flex-direction: column; gap: 28px; margin: 24px auto 56px; }
	.envy-cart__aside { flex-basis: auto; width: 100%; position: static; }

	/* 행: 체크 + 썸네일 고정폭 + 정보(1fr) — 상단행. 수량바/옵션은 col2~끝 전체폭(데스크톱과 동일) */
	.envy-cart__item { grid-template-columns: 18px 80px minmax(0, 1fr); column-gap: 12px; row-gap: 12px; padding: 18px 0; }
	.envy-cart__item-thumb { width: 80px; }
	.envy-cart__item-thumb img { width: 80px; height: 80px; }
	.envy-cart__item-info { min-width: 0; }

	/* 수량바: 좁은 폭에서 스테퍼/소계가 깨지지 않게 — space-between 유지, 소계 0까지 수축 */
	.envy-cart__item-controls { padding: 0 14px; gap: 8px; min-width: 0; }
	.envy-cart__item-end { min-width: 0; gap: 8px; }
	.envy-cart__item-subtotal { min-width: 0; overflow-wrap: anywhere; font-size: 16px; }

	/* 옵션 버튼: grid col2~끝 전체폭이라 음수마진 불필요 — width:100% 그대로 */

	/* 상품명·옵션메타: 좁은 폭에서 줄바꿈 허용(긴 단어/SKU도 강제 줄바꿈) */
	.envy-cart__item-name,
	.envy-cart__item-name a,
	.envy-cart__item-name .variation { overflow-wrap: anywhere; word-break: break-word; }

	/* 가격 줄: 이미 flex-wrap. 자식이 정보열 폭을 못 넘게 */
	.envy-cart__item-price { min-width: 0; }
	.envy-cart__item-price del,
	.envy-cart__item-price ins,
	.envy-cart__item-price .amount,
	.envy-cart__item-price ins .amount { min-width: 0; overflow-wrap: anywhere; }

	/* 수량바는 모바일에서도 col2~끝 전체폭이라 [스테퍼]…[소계 ×] space-between 유지 가능.
	 * 매우 좁을 때만 스테퍼 고정·소계 수축으로 가로 넘침 방지. */
	.envy-cart__qty { flex: 0 0 auto; }
	.envy-cart__qty .quantity { max-width: 100%; }
	.envy-cart__item-remove { flex: 0 0 auto; }

	.envy-cart-reco__track .envy-grid__item { flex-basis: 150px; }
	.envy-cart-reco .envy-card__img { height: 130px; }
}

/* ── F2: 담기 완료 배너 (장바구니 상단, 담기 직후 1회) ── */
.envy-cart-added {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	padding: 12px 16px;
	border: 1px solid var(--envy-green, #4f8a3d);
	border-radius: 10px;
	background: #f3f9ef;
	color: var(--envy-green-d, #3f7531);
	font-size: 14px;
	font-weight: 600;
}
.envy-cart-added__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--envy-green, #4f8a3d);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	flex: 0 0 auto;
}

/* ── WF: 배송지 표시 + [주소 변경] (합계 패널 하단) 2026-07-08 ── */
.envy-summary__ship-to {
	display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
	margin: 14px 0 4px; padding-top: 14px; border-top: 1px solid var(--envy-cart-line, #ddd);
	font-size: 13px; line-height: 1.5;
}
.envy-summary__ship-to-addr { color: #333; min-width: 0; }
.envy-summary__ship-to-addr em { color: #888; font-style: normal; }
.envy-summary__ship-change {
	flex: 0 0 auto; color: var(--envy-cart-green, #399C42); font-weight: 700; text-decoration: underline; white-space: nowrap;
}
.envy-summary__ship-change:hover { color: var(--envy-cart-green-d, #2f8137); }
