/* =========================================================================
   ENVY 상품 상세페이지 — Frame 492 디자인
   ========================================================================= */

:root {
	--envy-olive: #6A6E49;
	--envy-amber: #F6A800;
	--envy-ink-2: #222222;
	--envy-sub: #5C5C5C;
	--envy-prod-max: 1259px;   /* Frame 687 콘텐츠 프레임 폭 */
	--envy-pdp-line: #DDDDDD;
}

/* 폰트 전역(상세페이지 한정) */
.single-product,
.single-product .envy-product,
.single-product .summary {
	font-family: 'Pretendard', 'Pretendard Variable', 'Noto Sans KR', -apple-system, sans-serif;
}
.envy-product { color: var(--envy-ink, #1d1f1c); }

/* Astra 기본 페이지 타이틀/배너 숨김 (상품명은 WC가 출력) */
.single-product .ast-single-post-banner,
.single-product .entry-header.ast-no-thumbnail,
.single-product .ast-archive-description,
.single-product .page-title { display: none; }

/* Astra 컨테이너 폭 캡 해제 (상품페이지) → .envy-product가 1260 채우게 */
.single-product .ast-container,
.single-product #primary,
.single-product .site-content > .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; }

/* ── 컨테이너 ── */
/* Frame 687: 콘텐츠 프레임 폭 1259 = 갤러리820 + gap20 + 구매박스419.
   데스크탑은 좌우 패딩 0으로 그리드가 1259를 꽉 채워 구매박스가 ~419 되게 한다(패딩은 모바일 @media에서만). */
.envy-product {
	max-width: var(--envy-prod-max);
	margin: 0 auto;
	padding: 16px 0 80px;
}

/* ── Frame 687 상단 메인영역 2단: 좌(갤러리 820) / 우(구매박스 ~419) ── */
/* 스크롤 전 자연 흐름. 탭바·상세본문은 이 영역 밖(풀폭 탭바 → 2단 상세본문). */
.envy-pdp-layout {
	display: grid;
	grid-template-columns: 820px minmax(0, 1fr);  /* Frame 687: 좌 갤러리 820, 우 ~419 */
	column-gap: 20px;
	align-items: start;
}
/* 좌 컬럼: 갤러리 */
.envy-pdp-left { min-width: 0; }
/* 우 컬럼: 상단 구매박스 1벌(실제 form.cart 단일 소스). 갤러리가 길지 않아 sticky 불필요 */
.envy-pdp-right { min-width: 0; align-self: start; }

/* 갤러리 (좌상단, 좌측 컬럼 채움) — Frame 687: 메인 이미지 820×820 정사각 */
.envy-product__gallery { max-width: 820px; margin: 0 0 8px; }

/* 갤러리 상단 브레드크럼 — "베스트셀러 / 블루베리" */
.envy-pdp-breadcrumb {
	display: flex; align-items: center; gap: 8px;
	font-size: 13px; color: #9a9a9a; margin: 0 0 14px;
}
.envy-pdp-breadcrumb a { color: #9a9a9a; text-decoration: none; }
.envy-pdp-breadcrumb a:hover { color: #555; }
.envy-pdp-breadcrumb__sep { color: #cfcfcf; }
.envy-pdp-breadcrumb__cur { color: #555; font-weight: 500; }

/* "판매 중!" 세일 배지 숨김 (시안 Frame 702엔 없음 — IQ 로고 배지 자리) */
.envy-product__gallery .onsale,
.envy-product__gallery .ast-onsale-card,
.envy-product__gallery span.ast-shop-product-out-of-stock { display: none !important; }

/* 커스텀 갤러리 — Frame 684: 메인 정사각(620) + 아래 가로 썸네일 5칸, 간격 20px */
.envy-gallery { display: flex; flex-direction: column; gap: 20px; align-items: stretch; }
.envy-gallery__main {
	order: 1; width: 100%; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: #f3f3f3;
}
.envy-gallery__main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.envy-gallery__thumbs {
	order: 2; width: 100%;
	display: flex; flex-direction: row; gap: 27px; margin: 0; padding: 0; list-style: none;  /* Frame 691: 썸네일 간격 27 */
	overflow-x: auto;                 /* 썸네일이 많아 갤러리 폭(820) 넘치면 가로 슬라이드 */
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;            /* 얇은 스크롤바 */
}
.envy-gallery__thumb {
	flex: 0 0 132px; width: 132px; height: 132px;  /* Frame 688~692: 132×132 고정 — 폭에 맞춰 늘리지 않음(여백 허용) */
	border-radius: 8px; overflow: hidden; cursor: pointer; scroll-snap-align: start;
	border: 1px solid var(--envy-line, #eee); opacity: .65; padding: 0; margin: 0;
}
.envy-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.envy-gallery__thumb.is-active, .envy-gallery__thumb:hover { opacity: 1; border-color: var(--envy-green-bright, #5BB233); }

/* (구) 갤러리 스테이지 — flexslider 대체로 미사용 */
.envy-gallery__stage .woocommerce-product-gallery {
	width: 100% !important;
	margin: 0 !important;
	display: flex;
	flex-direction: row-reverse;   /* 메인=좌, 썸네일=우 */
	align-items: flex-start;
	gap: 12px;
}
.envy-gallery__stage .woocommerce-product-gallery__wrapper {
	flex: 1 1 auto; min-width: 0; margin: 0;
}
/* 메인 이미지 정사각 */
.envy-gallery__stage .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px;
}
.envy-gallery__stage .woocommerce-product-gallery__image > a,
.envy-gallery__stage .woocommerce-product-gallery__image > a img,
.envy-gallery__stage .woocommerce-product-gallery__image img {
	width: 100%; height: 100%; object-fit: cover; border-radius: 12px;
}
/* 비활성(갤러리 1장) 슬라이드 숨김 */
.envy-gallery__stage .woocommerce-product-gallery__wrapper > :not(:first-child) { display: none; }

/* 세로 썸네일 스트립 (오른쪽) */
.envy-gallery__stage .flex-control-thumbs {
	flex: 0 0 72px; width: 72px;
	display: flex; flex-direction: column; gap: 10px;
	margin: 0; padding: 0; list-style: none;
}
.envy-gallery__stage .flex-control-thumbs li { width: 72px; }
.envy-gallery__stage .flex-control-thumbs img {
	width: 72px; height: 72px; object-fit: cover;
	border-radius: 8px; cursor: pointer; opacity: .7;
	border: 1px solid var(--envy-line, #eee);
}
.envy-gallery__stage .flex-control-thumbs img.flex-active,
.envy-gallery__stage .flex-control-thumbs img:hover {
	opacity: 1; border-color: var(--envy-green-bright, #5BB233);
}

/* ── 구매박스(우) ── */
/* WC 기본 .summary(width:48%·float) 덮어쓰기 → 구매박스 컬럼 100% 채움 */
.envy-pdp-right .envy-product__summary,
.envy-detail-side .envy-product__summary,
.woocommerce div.product .envy-product__summary {
	width: 100% !important; float: none !important; min-width: 0; position: relative; margin: 0;
}

/* 우상단 찜(하트) + 공유 아이콘 */
.envy-pdp-actions {
	position: absolute; top: 0; right: 0;
	display: flex; align-items: center; gap: 14px;
}
.envy-pdp-action {
	width: 28px; height: 28px; padding: 0; border: 0; background: none;
	color: #555; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.envy-pdp-action:hover { color: var(--envy-green-bright, #5BB233); }
/* 찜 활성 = 빨간 채움 하트 */
.envy-pdp-action.is-active { color: #e0414e; }
.envy-pdp-action.is-active svg path { fill: currentColor; }
/* 공유 링크 복사 완료 피드백 */
.envy-pdp-action.is-copied { position: relative; color: var(--envy-green-bright, #5BB233); }
.envy-pdp-action.is-copied::after {
	content: "링크 복사됨"; position: absolute; top: 120%; right: 0; white-space: nowrap;
	background: #333; color: #fff; font-size: 12px; padding: 4px 8px; border-radius: 4px; z-index: 5;
}

/* <카테고리> STORY 라벨 */
.envy-story-label {
	display: inline-block; font-size: 13px; font-weight: 500; color: var(--envy-sub);
	text-decoration: none; margin: 0 0 10px;
}
.envy-story-label span { color: #bbb; }
.envy-story-label:hover { color: #111; }

/* 정보 탭(구매정보/문의) */
.envy-info-tab { padding: 24px 4px; font-size: 14px; color: #333; line-height: 1.7; }
.envy-info-tab h3 { font-size: 16px; font-weight: 700; margin: 18px 0 8px; }
.envy-info-tab h3:first-child { margin-top: 0; }
.envy-inquiry__head { display: flex; align-items: center; justify-content: space-between; }
.envy-inquiry__btn { background: var(--envy-green-bright, #5BB233); color: #fff; padding: 10px 22px; border: 0; border-radius: 6px; font-weight: 700; text-decoration: none; }
.envy-inquiry__empty { color: #999; padding: 28px 0; }

/* 상품명 */
.envy-product__summary .product_title {
	font-size: 24px; font-weight: 600; line-height: 1.35; color: #000;
	margin: 0 0 8px; padding: 0;  /* Frame 684: 타이틀→별점 8 */
}

/* 별점 — 시안 Frame 702: 초록 별 + 리뷰수 */
.envy-product__summary .woocommerce-product-rating {
	display: flex; align-items: center; gap: 6px; line-height: 1;
	margin: 0 0 20px !important;  /* Frame 684: 별점→정가 20 (WC코어 .5em 덮어쓰기) */
}
.envy-product__summary .star-rating { font-size: 1em; color: var(--envy-green-bright, #5BB233); margin: 0; }
.envy-product__summary .star-rating span::before { color: var(--envy-green-bright, #5BB233); }
.envy-product__summary .woocommerce-review-link { color: var(--envy-sub); font-size: 13px; font-weight: 500; }
/* 별점 점수(4.7) — Frame 684: SemiBold 16px (별과 4px 간격) */
.envy-product__summary .envy-rating-demo__score { color: var(--envy-ink-2); font-size: 16px; font-weight: 600; margin-left: 4px; }
.envy-product__summary .envy-rating-demo__count { color: var(--envy-sub); font-size: 13px; font-weight: 500; }

/* 데모 별점 — WC 기본 star-rating CSS 보강(빈 별 트랙 + 채운 별) */
.envy-rating-demo .star-rating {
	position: relative; display: inline-block; width: 5.4em; height: 1em;
	font-family: star; font-size: 16px; line-height: 1; overflow: hidden;
	letter-spacing: .1em;
}
.envy-rating-demo .star-rating::before {
	content: "\53\53\53\53\53"; color: #d9d9d9; position: absolute; left: 0; top: 0; white-space: nowrap;
}
.envy-rating-demo .star-rating span {
	position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; padding-top: 1.5em;
}
.envy-rating-demo .star-rating span::before {
	content: "\53\53\53\53\53"; position: absolute; left: 0; top: 0;
	color: var(--envy-green-bright, #5BB233);
}

/* 가격 블록 (커스텀) — Frame 684: 가격→옵션 32, 구분선 없음 */
.envy-price { margin: 0 0 32px; padding: 0; }
.envy-price__reg { color: #9a9a9a; text-decoration: line-through; font-size: 15px; margin-bottom: 4px; }  /* 정가→판매가 4 */
.envy-price__reg .woocommerce-Price-amount { color: #9a9a9a; }
.envy-price__main { display: flex; align-items: baseline; gap: 10px; }
.envy-price__pct { color: #F23A3A; font-size: 24px; font-weight: 700; order: 2; }  /* 시안: 할인% 빨강, 판매가 뒤 */
.envy-price__now { font-size: 28px; font-weight: 600; color: #111; order: 1; }  /* Frame 684: SemiBold 600 */
.envy-price__now .woocommerce-Price-amount { font-weight: 600; }
.envy-price__from { order: 3; font-size: 15px; font-weight: 500; color: #888; }  /* 변형상품 "부터"는 판매가 뒤(order 3), 작게 회색 */
.envy-price__sub { display: flex; align-items: center; gap: 10px; margin-top: 8px; color: var(--envy-sub); font-size: 13px; }  /* 판매가→무료배송 8 */
.envy-price__div { width: 1px; height: 12px; background: #D9D9D9; }

/* ── 타임세일 라벨 + 카운트다운 (SPEC-timesale-coupon) ── */
.envy-timesale-tag {
	display: inline-flex; align-items: center; gap: 6px;
	margin: 0 0 12px; padding: 6px 12px; border-radius: 8px;
	background: #FFF0ED; color: #F23A3A;
	font-size: 14px; font-weight: 700; line-height: 1;
}
/* hidden 속성이 확실히 숨기도록(author display가 UA [hidden]을 이기는 문제 방지) */
.envy-timesale-tag[hidden] { display: none; }
.envy-timesale-tag__ico { font-size: 14px; }
.envy-timesale-tag__clock { font-variant-numeric: tabular-nums; letter-spacing: .5px; }
/* 종료(0 도달) 시 JS가 is-ended 토글 → 세일가 숨김·정가만 표시(자동 정가 전환) */
.envy-price--timesale.is-ended .envy-price__reg,
.envy-price--timesale.is-ended .envy-price__main { display: none; }
.envy-price__ended .envy-price__now { font-size: 28px; font-weight: 600; color: #111; }

/* ── 받을 수 있는 쿠폰 목록 + 받기 버튼 (SPEC-timesale-coupon) ── */
.envy-coupons { margin: 20px 0 0; padding: 16px; border: 1px solid #eee; border-radius: 10px; background: #fafafa; }
.envy-coupons__head { font-size: 14px; font-weight: 700; color: #333; margin-bottom: 12px; }
.envy-coupon-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid #eee; }
.envy-coupon-item:first-of-type { border-top: 0; padding-top: 0; }
.envy-coupon-item.is-hidden { display: none; }
.envy-coupon-item__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.envy-coupon-item__amount { font-size: 15px; font-weight: 700; color: #F23A3A; }
.envy-coupon-item__desc { font-size: 12px; color: #888; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.envy-coupon-item__btn { flex: 0 0 auto; padding: 7px 16px; border: 1px solid var(--envy-green-bright, #5BB233); border-radius: 6px; background: #fff; color: var(--envy-green-bright, #5BB233); font-size: 13px; font-weight: 600; cursor: pointer; transition: background-color .12s, color .12s; }
.envy-coupon-item__btn:hover { background: var(--envy-green-bright, #5BB233); color: #fff; }
/* 받으면 고정: 회색 비활성(재클릭 불가). 취소는 장바구니에서 [제거]. */
.envy-coupon-item__btn.is-got { background: #f0f0f0; color: #9a9a9a; border-color: #e2e2e2; cursor: default; }
.envy-coupon-item__btn.is-got:hover { background: #f0f0f0; color: #9a9a9a; }
.envy-coupon-item__btn:disabled { cursor: default; }

/* 옵션 라벨 */
.envy-product__summary .variations label,
.envy-product__summary .envy-option-label { font-weight: 500; font-size: 16px; color: var(--envy-ink-2); }

/* ── 옵션 선택 (라벨 + 드롭다운 + 선택옵션 박스) — 시안 Frame 702 ── */
.envy-option { margin: 0 0 32px; position: relative; }  /* Frame 684: 옵션칩→구매수량 32 · relative=목록 오버레이 기준 */
.envy-option__label {
	display: block; font-size: 18px; font-weight: 500; color: var(--envy-ink-2); margin: 0 0 8px;  /* Frame 684: Medium 18px/500, 라벨→셀렉트 8 */
}
.envy-option__select {
	display: flex; align-items: center; justify-content: space-between;
	height: 48px; padding: 0 14px; border: 1px solid #d5d5d5; border-radius: 8px;
	background: #fff; color: #8a8a8a; font-size: 15px; cursor: pointer;
}
.envy-option__select:hover { border-color: #b5b5b5; }
.envy-option__select svg { color: #999; flex: 0 0 auto; }

/* 옵션 드롭다운 목록 — 오버레이(아래 내용 안 밀림): absolute+top자동=제자리 유지, flow에서 제외 */
.envy-option__list {
	list-style: none; margin: 6px 0 0; padding: 6px;
	border: 1px solid #d5d5d5; border-radius: 8px; background: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .1);
	position: absolute; left: 0; right: 0; z-index: 30;
}
.envy-option__item {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 11px 12px; border-radius: 6px; cursor: pointer; font-size: 14px; color: #333;
}
.envy-option__item:hover { background: #f3f7f0; }
.envy-option__item-price { font-weight: 700; color: #111; }

/* 선택된 옵션 박스 (연회색 r8, 수량 스테퍼 내장) */
.envy-option__chip {
	margin-top: 12px; padding: 24px 20px;  /* Frame 684: 칩 패딩 상하24·좌우20 */
	background: #F6F6F4; border-radius: 8px;
}
.envy-option__chip-head {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
}
.envy-option__chip-name { font-size: 16px; color: var(--envy-ink-2); line-height: 1.45; }  /* Frame 684: 16px */
.envy-option__chip-close {
	flex: 0 0 auto; width: 20px; height: 20px; padding: 0; border: 0; background: none;
	color: #999; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.envy-option__chip-close:hover { color: #555; }
.envy-option__chip-foot {
	display: flex; align-items: center; justify-content: space-between; margin-top: 16px;  /* Frame 684: 이름→스테퍼 16 */
}
.envy-option__chip-price { font-size: 18px; font-weight: 700; color: #111; }  /* Frame 684: 18px */

/* 수량 스테퍼 [- n +] */
.envy-stepper {
	display: inline-flex; align-items: center; height: 34px;
	border: 1px solid #ddd; border-radius: 6px; background: #fff; overflow: hidden;
}
.envy-stepper__btn {
	width: 30px; height: 34px; padding: 0; border: 0; background: #fff; color: #333;  /* Frame 684: 너비 30px (Astra 버튼 padding 무력화) */
	font-size: 18px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.envy-stepper__btn:hover { background: #f0f0ee; }
.envy-stepper__val {
	min-width: 36px; text-align: center; font-size: 15px; font-weight: 600; color: #111;
	border-left: 1px solid #eee; border-right: 1px solid #eee; line-height: 34px;
}

/* WC add-to-cart form */
.envy-product__summary form.cart { margin: 24px 0 0; }  /* Frame 684: 구매수량→버튼 24 */
.envy-product__summary .variations { margin-bottom: 14px; }
.envy-product__summary .variations td, .envy-product__summary .variations th { padding: 6px 0; }
.envy-product__summary select {
	width: 100%; height: 44px; border: 1px solid #d5d5d5; border-radius: 8px;
	padding: 0 14px; font-size: 15px; background-color: #fff;
}

/* ── WC 네이티브 변형 폼(variable 상품) envy 룩 — 2026-07-30 ④-1 ──
   변형 상품은 커스텀 .envy-option 대신 WC .variations_form이 렌더된다.
   기존 .variations/select 규칙(위)을 envy 톤으로 보강(추가 규칙만, 위 규칙 수정 없음). */
.envy-product__summary .variations {
	width: 100%; border-collapse: collapse; margin: 0 0 16px;
}
.envy-product__summary .variations tr { display: block; margin-bottom: 12px; }
.envy-product__summary .variations th.label {
	display: block; padding: 0 0 8px; font-size: 18px; font-weight: 500;
	color: var(--envy-ink-2); text-align: left;
}
.envy-product__summary .variations td.value {
	display: block; padding: 0; position: relative;
}
.envy-product__summary .variations td.value select {
	width: 100%; height: 48px; padding: 0 40px 0 14px;
	border: 1px solid var(--envy-line, #e7e9e5); border-radius: 8px;
	background-color: #fff; color: var(--envy-ink-2, #222);
	font-size: 15px; cursor: pointer;
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center;
}
.envy-product__summary .variations td.value select:hover { border-color: #b5b5b5; }
.envy-product__summary .variations td.value select:focus {
	outline: none; border-color: var(--envy-green-bright, #5BB233);
}
/* 선택 초기화 링크 */
.envy-product__summary .variations_form .reset_variations {
	display: inline-block; margin: 4px 0 0; font-size: 13px;
	color: var(--envy-sub, #5C5C5C); text-decoration: underline;
}
/* 선택 변형 요약(가격·재고) */
.envy-product__summary .single_variation_wrap { margin: 4px 0 16px; }
.envy-product__summary .single_variation .price {
	font-size: 22px; font-weight: 700; color: var(--envy-ink-2, #222);
}
.envy-product__summary .single_variation .price del {
	color: var(--envy-sub, #5C5C5C); font-weight: 400; font-size: 16px; margin-right: 8px;
}
.envy-product__summary .woocommerce-variation-availability {
	margin-top: 6px; font-size: 13px; color: var(--envy-sub, #5C5C5C);
}
.envy-product__summary .woocommerce-variation-description { font-size: 14px; color: var(--envy-sub, #5C5C5C); }

/* ── 2026-07-31 ④-2: 커스텀 .envy-option 드롭다운이 변형 UI를 대체 ──
   네이티브 변형 폼의 시각 요소(속성 select 테이블·클리어 링크·선택 요약)를 숨긴다.
   ⚠️ variation_id hidden input과 select(DOM·값 운반)·담기 버튼은 유지 → 담기 안 깨짐. */
.envy-product__summary .variations_form .variations,
.envy-product__summary .variations_form .reset_variations,
.envy-product__summary .variations_form .single_variation_wrap .single_variation,
.envy-product__summary .variations_form .woocommerce-variation-availability,
.envy-product__summary .variations_form .woocommerce-variation-description,
.envy-product__summary .variations_form .woocommerce-variation-price {
	display: none !important;
}
/* single_variation_wrap 자체는 유지(변형 add-to-cart 버튼이 그 안에 있음).
   ⚠️ 네이티브 수량칸(.quantity)은 WC가 변형선택 시 inline display:block로 강제 노출 → 커스텀 스테퍼가 대체하므로 !important로 숨김(값은 JS가 세팅해 담기 정상). */
.envy-product__summary .variations_form .single_variation_wrap { margin: 0; }
.envy-product__summary .variations_form .woocommerce-variation-add-to-cart .quantity { display: none !important; }
/* 비활성(품절) 옵션 항목 */
.envy-option__item.is-disabled { opacity: .45; pointer-events: none; }
/* 단순 상품(옵션 없음): 칩 head 없이 스테퍼만 — 상단 여백 제거 */
.envy-option--simple .envy-option__chip { margin-top: 0; }

/* 수량 */
.envy-product__summary .quantity { margin-right: 0; }
.envy-product__summary .quantity input.qty {
	height: 44px; width: 72px; border: 1px solid #d5d5d5; border-radius: 8px; text-align: center;
}

/* 구매수량 / 총액 줄 — Frame 684 */
/* ⚠️ [hidden] 은 UA 기본 `display:none` 인데, 아래 author 규칙의 `display:flex` 가
   특정성으로 이를 이긴다. JS(setSelected)가 hidden 을 붙여도 화면엔 그대로 보였다
   — 2026-07-27 타임세일 라벨과 **같은 함정**(mistakes.md M2). 명시적으로 눌러준다. */
.envy-total[hidden] { display: none !important; }
.envy-total {
	display: flex; align-items: center; justify-content: space-between;
	padding: 0; margin: 0; border-top: 0;
}
.envy-total__label { font-size: 16px; color: var(--envy-ink-2); }  /* Frame 684: 16px */
.envy-total__sum { font-size: 28px; font-weight: 600; color: #111; }  /* Frame 684: SemiBold 28px/600 */

/* 버튼 행: [선물][장바구니][바로구매] 한 줄 — 메인 form.cart + 사이드바 프록시(.envy-side-cta) 동일
   ⚠️ 변형(옵션) 상품은 버튼이 form.cart 직속이 아니라 WC가 만드는
      `.woocommerce-variation-add-to-cart`(기본 display:block) 안에 들어간다.
      그래서 이 규칙이 안 먹어 [장바구니][바로구매][선물] 순으로 흐트러졌다
      (2026-08-12 대표 지적: "옵션 있는 상품 사이드바가 깨져 보인다").
      → 그 컨테이너에도 같은 flex를 적용해 단순상품과 동일한 한 줄로 맞춘다. */
.envy-product__summary form.cart,
.envy-product__summary .envy-side-cta,
.envy-product__summary form.cart .woocommerce-variation-add-to-cart {
	display: flex; flex-wrap: nowrap; align-items: stretch; gap: 10px;
}
/* 변형 상품: 바깥 form.cart는 세로 흐름(옵션표 → 변형영역 → 버튼행)이라 flex를 풀어준다.
   버튼 정렬은 위의 .woocommerce-variation-add-to-cart 가 담당. */
.envy-product__summary form.variations_form.cart { display: block; }
/* WC가 변형 미선택 시 붙이는 disabled 상태에서도 배치는 동일하게 유지 */
.envy-product__summary form.cart .woocommerce-variation-add-to-cart-disabled { display: flex; }
.envy-product__summary .envy-side-cta { margin: 24px 0 0; }  /* Frame 684: 구매수량→버튼 24 (form.cart와 동일) */
.envy-product__summary form.cart .quantity { display: none; } /* 수량은 총액줄/옵션박스에서 관리 */
.envy-gift {
	flex: 0 0 56px; width: 56px; height: 64px; border: 1.5px solid #cfcfcf; border-radius: 6px;  /* Frame 684: 높이 64 */
	background: #fff; color: #555; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .06s ease, box-shadow .15s ease;
}
/* hover: 연녹 배경 + 초록 테두리/아이콘 + 살짝 떠오름 */
.envy-gift:hover { border-color: var(--envy-green-bright, #5BB233); color: var(--envy-green-bright, #5BB233); background: #fff; }
/* active: 눌림(축소 + 진한 연녹) */
.envy-gift:active { transform: scale(.94); background: #f3f7f0; }
/* 키보드 포커스 */
.envy-gift:focus-visible { outline: 2px solid var(--envy-green-bright, #5BB233); outline-offset: 2px; }
/* 선택됨(클릭 토글): 초록 채움 + 흰 아이콘 */
.envy-gift.is-active { background: var(--envy-green-bright, #5BB233); border-color: var(--envy-green-bright, #5BB233); color: #fff; }
.envy-gift.is-active:hover { background: var(--envy-green-d, #3f7531); border-color: var(--envy-green-d, #3f7531); color: #fff; }
.envy-gift svg { flex: 0 0 auto; width: 26px; height: 26px; } /* Astra 전역 svg 리셋+flex-shrink로 폭 0 되던 것 복구 */
.envy-product__summary .single_add_to_cart_button {
	flex: 1 1 0; min-width: 160px; height: 64px; border-radius: 6px;  /* Frame 684: 높이 64 */
	background: #fff !important; color: var(--envy-ink-2) !important;
	border: 1.5px solid #cfcfcf !important; font-size: 18px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center;
}
.envy-product__summary .single_add_to_cart_button:hover {
	border-color: var(--envy-green-bright, #5BB233) !important;
	color: var(--envy-green-bright, #5BB233) !important;
}
.envy-buynow.button.alt {
	flex: 1 1 0; min-width: 160px; height: 64px; border-radius: 6px;  /* Frame 684: 높이 64 */
	background: #5BB233 !important; color: #fff !important;  /* Frame 687: 채우기 #5BB233(시안 버튼 픽셀 측정, 별점과 동일 초록) */
	border: 0 !important; font-size: 18px; font-weight: 700; cursor: pointer;
	white-space: nowrap;  /* 라벨 줄바뀜 방지("배송지 입력 →") */
}
/* 다중배송 진입 라벨은 '바로 구매'보다 길어 폰트 살짝 축소 */
.envy-buynow.button.alt.is-multiship { font-size: 16px; letter-spacing: -0.02em; padding: 0 6px; }
.envy-buynow.button.alt:hover { filter: brightness(.95); }

/* 혜택/배송/적립 표 */
.envy-benefits { margin: 24px 0 0; padding: 0; border-top: 1px solid var(--envy-pdp-line); }
.envy-benefits__row { display: flex; gap: 28px; padding: 16px 2px; border-bottom: 1px solid var(--envy-pdp-line); margin: 0; }
.envy-benefits__row dt { flex: 0 0 56px; font-weight: 500; font-size: 14px; color: var(--envy-ink-2); }
.envy-benefits__row dd { margin: 0; font-size: 14px; color: var(--envy-ink-2); }
.envy-benefits__row dd p { margin: 0 0 4px; line-height: 1.5; }
.envy-benefits__muted { color: #8a8a8a; font-size: 13px; }

/* ── 신규가입 쿠폰팩 초록 바 (구매박스 맨 아래) — 시안 Frame 702 ── */
/* 쿠폰바 — Frame 684: 솔리드 초록(#5A874F) + 흰 글자 */
.envy-coupon-bar {
	display: flex; align-items: center; justify-content: space-between;
	margin: 24px 0 0; padding: 14px 18px; border-radius: 8px;
	background: #5A874F; color: #fff; text-decoration: none;
	font-size: 14px;
}
.envy-coupon-bar:hover { background: #4f7745; }
.envy-coupon-bar__txt { color: #fff; }
.envy-coupon-bar__txt b { font-weight: 700; color: #fff; }
.envy-coupon-bar__more { color: rgba(255, 255, 255, .85); font-weight: 600; flex: 0 0 auto; }

/* ── 상세영역(좌측, 갤러리 아래) ── */
.envy-product__detail { margin-top: 40px; }
.envy-product__related { margin-top: 24px; }

/* 탭 */
.envy-product__detail .woocommerce-tabs ul.tabs {
	display: flex; gap: 0; margin: 0; padding: 0; border-bottom: 1px solid var(--envy-pdp-line);
}
.envy-product__detail .woocommerce-tabs ul.tabs::before { display: none; }
.envy-product__detail .woocommerce-tabs ul.tabs li {
	background: none; border: 0; border-radius: 0; margin: 0; padding: 0;
}
.envy-product__detail .woocommerce-tabs ul.tabs li::before,
.envy-product__detail .woocommerce-tabs ul.tabs li::after { display: none; }
.envy-product__detail .woocommerce-tabs ul.tabs li a {
	display: block; padding: 16px 28px; font-size: 16px; font-weight: 600; color: #999;
	border-bottom: 2px solid transparent;
}
.envy-product__detail .woocommerce-tabs ul.tabs li.active a {
	color: #111; border-bottom-color: var(--envy-green-bright, #5BB233);
}

/* 상세 본문(긴 이미지) */
.envy-detail-body { max-width: 720px; margin: 32px auto 0; text-align: center; }
.envy-detail-img { display: block; width: 100%; max-width: 497px; height: auto; margin: 0 auto; }

/* 관련상품 — 풀폭, 메인 카드 톤 재사용 */
.envy-product__related .related.products > h2 {
	text-align: center; font-size: 24px; font-weight: 700; margin: 56px 0 28px;
}
.envy-product__related .related.products ul.products li.product .button,
.envy-product__related .related.products ul.products li.product .added_to_cart {
	background: var(--envy-green-bright, #5BB233) !important; color: #fff !important; border: 0 !important;
	border-radius: 6px;
}
.envy-product__related .related.products ul.products li.product .price { color: #111; }

/* 상단 Astra/Elementor 페이지 타이틀 잔재 숨김 */
.single-product .ast-title-bar,
.single-product .entry-title:not(.product_title),
.single-product .ast-breadcrumbs-wrapper { display: none; }

/* ── 반응형: 좁은 폭 1단(갤러리→구매→탭바→상세) + 탭바 sticky·사이드바 등장 해제 ── */
/* 820+419 2단이 안 들어가는 폭부터 1단으로. (Frame 687 2단은 데스크탑 전용) */
@media (max-width: 1023px) {
	/* 상단 메인영역: 갤러리 → 구매박스 1단 적층 */
	.envy-pdp-layout {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}
	.envy-pdp-left { display: contents; }
	/* pdp-left가 display:contents라 갤러리가 직접 grid item이 됨 → min-width:auto(min-content)가
	   1fr 트랙을 609px로 부풀려 우측 250px 오버플로우 유발. min-width:0으로 트랙 축소 허용. (2026-07-08 모바일점검 C1) */
	.envy-product__gallery { order: 1; max-width: 100%; min-width: 0; }
	.envy-pdp-right { order: 2; position: static; top: auto; }
	/* 탭바: sticky 해제 + 풀폭 그대로 */
	.envy-dtabs { position: static; top: auto; box-shadow: none; }
	.envy-detail-sentinel { margin-top: 24px; }
	/* 상세본문: 1단 — 본문만, 사이드바는 완전 제거(상단 구매박스만 사용) */
	.envy-detail {
		grid-template-columns: 1fr;
		row-gap: 0;
	}
	.envy-detail-side { display: none; }
	.envy-product { padding: 8px 16px 64px; }
	.envy-product__detail { margin-top: 32px; }
	.envy-product__summary form.cart .single_add_to_cart_button,
	.envy-product__summary .envy-side-cta .single_add_to_cart_button,
	.envy-buynow.button.alt { min-width: 130px; }
	/* 모바일: 썸네일 스트립을 메인 아래 가로로 */
	.envy-gallery__stage .woocommerce-product-gallery { flex-direction: column; gap: 10px; }
	.envy-gallery__stage .flex-control-thumbs {
		flex: 0 0 auto; width: 100%; flex-direction: row; flex-wrap: wrap;
	}
	.envy-pdp-actions { top: -4px; }
	/* 상세이미지(844 native)가 폭을 밀어내는 것 방지 */
	.envy-detail, .envy-detail__main, .envy-dsec, .envy-info, .envy-info__imgs { min-width: 0; max-width: 100%; }
	.envy-dsec--info .envy-info-img { width: 100%; }
}

@media (max-width: 480px) {
	.envy-product__summary .product_title { font-size: 20px; padding-right: 64px; }
	/* 리뷰 정렬바(필터+추천순/최근등록순): word-break:keep-all로 라벨이 안 접혀 6px 넘침 → 줄바꿈 허용. (2026-07-08 모바일점검) */
	.envy-review-sort { flex-wrap: wrap; gap: 10px; }
}

/* =========================================================================
   상품 상세 탭바 + 4섹션 (시안 Frame 552 / Group64 / 715 / 752 / 753)
   ========================================================================= */
/* Frame 552: 탭바는 풀폭(1259), 그 아래 상세본문이 2단(좌 820 본문 / 우 419 사이드바). */
/* sentinel: 탭바 직전 0px 마커 — IntersectionObserver가 화면 위로 사라지면 탭바 stuck 판정 */
.envy-detail-sentinel { height: 0; margin: 40px 0 0; }

/* ── 상세본문: 기본 1단(모바일 안전). 데스크탑(≥1024)에서만 2단(본문 820 / 사이드바 419) ── */
.envy-detail {
	margin: 0;
	padding: 0;  /* 하단 여백은 footer margin-top(전역 80)이 담당 */
}
.envy-detail__main { min-width: 0; }

@media (min-width: 1024px) {
	.envy-detail {
		display: grid;
		grid-template-columns: 820px minmax(0, 1fr);  /* Frame 687: 좌 본문 820, 우 ~419 */
		column-gap: 20px;
		align-items: start;
	}
	/* 상세 사이드바 = 상단 구매박스 복제. 탭바 stuck 시 .is-visible로 페이드인, 그 전엔 숨김. */
	.envy-detail-side {
		min-width: 0;
		align-self: start;
		position: sticky;
		top: 88px;                 /* sticky 탭바(68) 아래로 살짝 */
		opacity: 0;
		transform: translateY(12px);
		visibility: hidden;
		pointer-events: none;
		transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
	}
	/* 사이드바 구매박스 하단 여백(WC/Astra .entry-summary 기본 32) 제거 → 쿠폰바가 좌측 콘텐츠 최하단과 정렬(sticky 멈춤 시) */
	.envy-detail-side .envy-product__summary { margin-bottom: 0 !important; }
	.envy-detail-side.is-visible {
		opacity: 1;
		transform: translateY(0);
		visibility: visible;
		pointer-events: auto;
		transition: opacity .35s ease, transform .35s ease, visibility 0s;
	}
}

/* ── 탭바 (Frame 552): 4균등 / 활성=흰배경+초록글자 / 비활성=#eee+#3c3c3c ── */
.envy-dtabs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--envy-pdp-line, #ddd);
	background: #fff;
	z-index: 30;
}
/* 데스크탑에서만 상단 고정(sticky) — 스크롤 시 stuck되면 사이드바 등장 + scrollspy 활성탭 전환 */
@media (min-width: 1024px) {
	.envy-dtabs {
		position: sticky;
		top: 0;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
	}
}
.envy-dtab {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 68px;
	background: #eee;
	color: #3c3c3c;
	font-size: 17px;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid var(--envy-pdp-line, #ddd);
	transition: color .15s, background .15s;
}
.envy-dtab + .envy-dtab { border-left: 1px solid var(--envy-pdp-line, #ddd); }
.envy-dtab.is-active {
	background: #fff;
	color: var(--envy-green-bright, #5BB233);
	font-weight: 700;
	border-bottom-color: #fff;
}
.envy-dtab__count { margin-left: 6px; color: #888; font-weight: 500; }

/* ── 섹션 공통 ── */
.envy-dsec {
	padding: 56px 0;             /* 좌측 컬럼 폭 그대로 사용(탭바와 좌측 정렬 일치) */
	scroll-margin-top: 68px;     /* sticky 탭바 높이만큼 앵커 보정 */
	border-bottom: 1px solid var(--envy-line, #e7e9e5);
}
.envy-dsec:last-child { border-bottom: 0; padding-bottom: 0; }  /* 마지막 섹션 하단패딩 제거 → sticky 사이드바 끝이 문의전체보기 버튼 끝과 정렬 */
.envy-dsec__title { font-size: 32px; font-weight: 600; line-height: 1; color: #111; margin: 0 0 32px; }  /* Frame 715: SemiBold 32px/600, 제목→내용 32 */
.envy-detail .envy-dsec__title { margin-bottom: 32px; }  /* Astra h2 기본마진(0.7em) override */
#envy-sec-review .envy-dsec__title { font-size: 38px; font-weight: 700; }  /* Frame 752: 상품후기 제목 38/700 */
.envy-dsec__todo { color: #999; font-size: 14px; padding: 24px 0; }

/* 상품정보 (Group64): 마케팅 이미지 풀폭 */
.envy-dsec--info { padding-top: 40px; }
.envy-dsec--info .envy-info-img { display: block; width: auto; max-width: 100%; height: auto; margin: 0; } /* 원본 844px 네이티브, 업스케일 방지·왼쪽 정렬 */

/* 상품정보 더보기 클램프 — 긴 상세이미지(1500px↑) 자르기 + 하단 페이드(살짝 블러) + 더보기/접기 버튼 */
.envy-info { position: relative; }
.envy-info__imgs { position: relative; }
.envy-info.is-clamped .envy-info__imgs { max-height: 1500px; overflow: hidden; }
/* 잘린 하단을 흰색으로 페이드 + 살짝 블러 (Frame 545: 페이드 높이 458) */
.envy-info.is-clamped .envy-info__imgs::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 458px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,.7) 60%, #fff 100%);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 60%);
	        mask-image: linear-gradient(to bottom, transparent 0%, #000 60%);
	-webkit-backdrop-filter: blur(2.5px); backdrop-filter: blur(2.5px);
	pointer-events: none;
}
/* 버튼: 이미지 아래 정상 흐름, 가운데 + 아래 여백 41(Frame 545) */
.envy-info__more { display: none; }
.envy-info.is-clamped .envy-info__more,
.envy-info.is-expanded .envy-info__more {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	margin: 24px auto 41px; width: 500px; max-width: 90%; padding: 16px;
	border: 1px solid #d5d5d5; border-radius: 8px; background: #fff;
	font-size: 15px; color: #333; cursor: pointer; transition: color .15s ease, border-color .15s ease;
}
.envy-info__more:hover { border-color: var(--envy-green-bright, #5BB233); color: var(--envy-green-bright, #5BB233); }
.envy-info__more svg { transition: transform .15s ease; }
.envy-info__more.is-up svg { transform: rotate(180deg); }  /* 접기 = 셰브론 위로 */
.envy-info.is-expanded .envy-info__imgs { max-height: none; overflow: visible; }

/* 구매정보 (Frame 715): 스펙표 + GAP 박스 */
/* 스펙표 — Frame 715: 상단 검정보더, 가로선만(좌우 없음), 라벨칸 #F9FAF9, 셀 패딩 19/20 */
.envy-spec { width: 100%; border-collapse: collapse; border-top: 1px solid #222; }
.envy-spec th,
.envy-spec td {
	text-align: left;
	vertical-align: top;
	padding: 19px 20px;  /* Frame 715: 상하19 좌우20 */
	border-bottom: 1px solid #E4E4E4;
	font-size: 15px;
	line-height: 1.6;
}
.envy-spec th { width: 200px; font-weight: 500; color: #333; background: #F9FAF9; }  /* 라벨칸 연회색 #F9FAF9 */
.envy-spec td { color: #222; }

/* 상품문의 헤더 (Frame 753): 제목 + 문의하기 버튼 한 줄 */
.envy-inquiry__head { display: flex; align-items: center; justify-content: space-between; }
.envy-inquiry__head .envy-dsec__title { margin-bottom: 0; }
.envy-inquiry__btn {
	background: var(--envy-green-bright, #5BB233);
	color: #fff;
	padding: 14px 30px;
	border: 0;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

/* (우측 축약 사이드패널 .envy-side 제거 — Frame 687은 구매박스가 1벌, 우측 sticky로 통일) */

@media (max-width: 768px) {
	.envy-detail { margin-top: 32px; }
	.envy-dtab { height: 56px; font-size: 15px; }
	.envy-dsec { padding: 40px 0; }
	.envy-dsec__title { font-size: 22px; }
	.envy-spec th { width: 104px; }
}

/* =========================================================================
   상품후기 (Frame 752) + 상품문의 (Frame 753)
   ========================================================================= */
/* 별점(★ width 기법) */
.envy-stars { display: inline-block; position: relative; font-size: 15px; line-height: 1; color: #dcdcdc; font-family: Arial, sans-serif; white-space: nowrap; }
.envy-stars::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; }
.envy-stars > span { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; color: var(--envy-green-bright, #5BB233); }
.envy-stars > span::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; }

/* 평점 요약 카드 */
.envy-review-summary { display: flex; align-items: center; gap: 48px; padding: 30px 36px; border: 1px solid var(--envy-line, #e7e9e5); border-radius: 12px; }
.envy-review-summary__score { flex: 0 0 auto; text-align: center; }
.envy-review-summary__avg { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 15px; }
.envy-review-summary__avg .envy-review-summary__star { font-size: 32px; line-height: 1; color: #399C42; }  /* Frame 752: 단일 큰 초록별 32 #399C42 (__avg span 규칙 이기게) */
.envy-review-summary__avg b { font-size: 28px; font-weight: 500; color: #111; }  /* Frame 752: 28px/500 */
.envy-review-summary__avg span { font-size: 18px; color: #aaa; font-weight: 500; }
.envy-review-summary__count { margin-top: 6px; font-size: 18px; font-weight: 500; color: #000000; }  /* Frame 752: Medium 18/500 #000 */
.envy-review-summary__count-num { color: #5C5C5C; }  /* 숫자만 회색 */
.envy-review-dist { flex: 1 1 auto; list-style: none; margin: 0; padding: 0; max-width: 420px; }
.envy-review-dist li { display: flex; align-items: center; gap: 12px; margin: 5px 0; }
.envy-review-dist__label { flex: 0 0 28px; font-size: 13px; font-weight: 500; color: #888; }  /* Frame 752: 13/500 */
.envy-review-dist__bar { flex: 1 1 auto; height: 6px; border-radius: 3px; background: #eee; overflow: hidden; }
.envy-review-dist__bar i { display: block; height: 100%; background: #399C42; border-radius: 3px; }  /* Frame 752: 바 #399C42 */
.envy-review-dist__cnt { flex: 0 0 36px; text-align: right; font-size: 13px; font-weight: 500; color: #999; }  /* Frame 752: 13/500 */

/* 포토리뷰 스트립 */
.envy-review-photos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }  /* 리뷰 첨부사진만 좌측 정렬 표출 */
.envy-review-photo { display: block; position: relative; width: 96px; height: 96px; border-radius: 8px; background: #eee center/cover no-repeat; flex: 0 0 auto; cursor: pointer; }
.envy-review-photo.is-more::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5); border-radius: 8px; }
.envy-review-photo.is-more span { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 16px; font-weight: 700; }
.envy-review-photo.is-lb-hidden { display: none; }

/* 정렬바 */
.envy-review-sort { display: flex; align-items: center; gap: 16px; margin-top: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--envy-line, #e7e9e5); }
.envy-review-sort__filters { display: flex; gap: 10px; margin-right: auto; }  /* filters 좌측, 나머지(정렬·작성) 우측으로 밀기 */
/* 리뷰 작성 버튼(구매자) + 미자격 안내 — 정렬바 우측 */
.envy-review-sort__write { display: flex; align-items: center; }
.envy-review-write-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border: 1px solid var(--envy-green-bright, #5BB233); border-radius: 6px; background: var(--envy-green-bright, #5BB233); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; box-shadow: none; transition: background-color .12s, border-color .12s; }
.envy-review-write-btn:hover { background: var(--envy-green, #4f8a3d); border-color: var(--envy-green, #4f8a3d); }
.envy-review-write-note { font-size: 13px; color: #999; white-space: nowrap; }
.envy-review-write-note--login { color: var(--envy-green-bright, #5BB233); font-weight: 600; text-decoration: none; }
.envy-review-write-note--login:hover { text-decoration: underline; }
.envy-review-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; box-shadow: none; font-size: 13px; color: #555; cursor: pointer; }  /* Astra 버튼 그림자 제거 */
/* 호버/포커스 톤=초록 — Astra 기본(color:#fff·border:남색) 강제 차단 */
.envy-review-chip:hover, .envy-review-chip:focus {
	border-color: var(--envy-green-bright, #5BB233) !important;
	color: var(--envy-green-bright, #5BB233) !important;
	background: #fff !important;
}
.envy-review-chip:hover svg, .envy-review-chip:focus svg { color: var(--envy-green-bright, #5BB233); }
/* Frame 744: 전체/상품옵션 필터칩 = 캡슐(pill) 모양 */
.envy-review-filter { border-radius: 999px; padding: 8px 16px; }
.envy-review-filter svg { color: #888; }
.envy-review-sort__order { display: flex; align-items: center; gap: 16px; font-size: 13px; }  /* Frame 752: 추천순|최근등록순 간격 16 */
.envy-review-sort__order button { border: 0; background: none; box-shadow: none; color: #999; cursor: pointer; font-size: 13px; }  /* Astra 버튼 그림자 제거 */
.envy-review-sort__order button.is-active { color: #111; font-weight: 700; }
.envy-review-sort__order span { color: #ddd; }
/* 활성 필터 칩(전체/상품옵션) — 브랜드 초록 */
.envy-review-filter.is-active { border-color: var(--envy-green-bright, #5BB233); color: var(--envy-green-bright, #5BB233); font-weight: 600; }
.envy-review-filter.is-active svg { color: var(--envy-green-bright, #5BB233); }
/* 상품 옵션 드롭다운 */
.envy-review-optfilter { position: relative; }
.envy-review-optfilter__menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 20; min-width: 260px; max-width: 420px; max-height: 320px; overflow-y: auto; padding: 6px; background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.envy-review-optfilter__item { display: block; width: 100%; text-align: left; padding: 10px 12px; border: 0; border-radius: 7px; background: none; box-shadow: none; font-size: 13px; line-height: 1.5; color: #444; cursor: pointer; }
.envy-review-optfilter__item:hover, .envy-review-optfilter__item:focus { background: #f4f7f1; color: var(--envy-green-bright, #5BB233); }
.envy-review-optfilter__cnt { color: #999; }

/* 리뷰 목록 */
.envy-review-list { list-style: none; margin: 0; padding: 0; }
.envy-review-item { padding: 28px 0; border-bottom: 1px solid var(--envy-line, #e7e9e5); }
.envy-review-item__head { display: flex; align-items: center; gap: 8px; }
.envy-review-item__avatar { width: 34px; height: 34px; border-radius: 50%; background: #e4e4e4; flex: 0 0 auto; }
.envy-review-item__name { font-size: 14px; font-weight: 600; color: #333; }
.envy-review-item__sep { color: #ddd; }
.envy-review-item__date { font-size: 13px; color: #999; }
.envy-review-item__stars { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; }
.envy-review-item__stars b { font-size: 13px; color: #555; }
/* Frame 752: 리뷰 항목 별점 = 골드(요약 큰 별은 초록 유지) */
.envy-review-item__stars .envy-stars > span { color: var(--envy-amber, #F6A800); }
.envy-review-item__stars .envy-stars > span::before { color: var(--envy-amber, #F6A800); }
.envy-review-item__option { margin: 18px 0 0; font-size: 14px; color: #656B74; }  /* Frame 752: 14px #656B74, meta→옵션 18 */
.envy-review-item__text { margin: 8px 0 0; font-size: 15px; font-weight: 500; line-height: 1.7; color: #333; }  /* Frame 752: 15/500, 옵션→본문 8 */
.envy-review-item__photos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }  /* Frame 752: 본문→사진 16 */
.envy-review-item__photo { position: relative; width: 120px; height: 120px; border-radius: 8px; background: #eee center/cover no-repeat; flex: 0 0 auto; cursor: pointer; }
.envy-review-item__photo.is-more::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5); border-radius: 8px; }
.envy-review-item__photo.is-more span { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; font-weight: 700; }
.envy-review-item__photo.is-lb-hidden { display: none; }

/* 리뷰 사진 라이트박스(확대 뷰어) */
body.envy-lb-lock { overflow: hidden; }
.envy-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.82); padding: 24px; }
.envy-lightbox[hidden] { display: none; }
.envy-lightbox__stage { position: relative; display: flex; align-items: center; justify-content: center; max-width: 90vw; max-height: 86vh; }
.envy-lightbox__img { display: block; max-width: 90vw; max-height: 86vh; width: auto; height: auto; border-radius: 8px; box-shadow: 0 8px 40px rgba(0,0,0,.4); object-fit: contain; }
.envy-lightbox__count { position: absolute; left: 50%; bottom: -32px; transform: translateX(-50%); color: #fff; font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.envy-lightbox__close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: none; }
.envy-lightbox__close:hover { background: rgba(255,255,255,.25); }
.envy-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: none; }
.envy-lightbox__nav:hover { background: rgba(255,255,255,.25); }
.envy-lightbox__nav[hidden] { display: none; }
/* 클릭 후 포커스 잔상 차단: WP/우커머스 기본 파란(어드민색) 배경·outline이 드러나는 것 방지.
   마우스 클릭(:focus:not(:hover))은 반투명 흰 배경 고정, 키보드(focus-visible)만 흰 테두리 유지. */
.envy-lightbox__close:focus,
.envy-lightbox__nav:focus { outline: none; box-shadow: none; }
.envy-lightbox__close:focus:not(:hover),
.envy-lightbox__nav:focus:not(:hover) { background: rgba(255,255,255,.12); color: #fff; }
/* 키보드(focus-visible) 포커스링: Astra 테마 기본 녹색 outline을 덮어 흰 테두리로 통일 */
.envy-lightbox .envy-lightbox__close:focus-visible,
.envy-lightbox .envy-lightbox__nav:focus-visible { outline: 2px solid rgba(255,255,255,.85) !important; outline-offset: 2px; box-shadow: none !important; }
.envy-lightbox__nav--prev { left: 18px; }
.envy-lightbox__nav--next { right: 18px; }
@media ( max-width: 768px ) {
	.envy-lightbox__nav { width: 42px; height: 42px; font-size: 24px; }
	.envy-lightbox__nav--prev { left: 8px; }
	.envy-lightbox__nav--next { right: 8px; }
	.envy-lightbox__close { top: 10px; right: 10px; }
}
.envy-review-item.is-hidden { display: none; }  /* 더보기 토글: 기본 5건 초과분 숨김 */
.envy-review-item.is-filtered { display: none; }  /* 옵션 필터: 불일치 항목 숨김(전체보기 is-hidden과 독립) */
.envy-inquiry-item.is-hidden { display: none; }  /* 문의 더보기 토글: 기본 4건 초과분 숨김 */

/* 전체보기 버튼 (후기/문의 공통) */
.envy-detail-more { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; margin-top: 24px; padding: 15px; border: 1px solid #d5d5d5; border-radius: 8px; background: #fff; font-size: 14px; color: #444; cursor: pointer; transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .06s ease, box-shadow .15s ease; }
.envy-detail-more:hover { border-color: var(--envy-green-bright, #5BB233); color: var(--envy-green-bright, #5BB233); background: #fff; }
.envy-detail-more:active { transform: scale(.99); background: #f3f7f0; }
.envy-detail-more:focus-visible { outline: 2px solid var(--envy-green-bright, #5BB233); outline-offset: 2px; }
/* 클릭 후 포커스가 버튼에 남고 마우스가 벗어났을 때(:focus:not(:hover)) 우커머스/WP 기본
   파란(어드민색) 배경이 드러나는 것 차단 — 기본 흰배경/회색테두리로 강제 고정.
   hover일 땐 이 규칙이 매칭 안 되므로 위의 초록 hover가 그대로 유지된다. */
.single-product .envy-detail-more:focus:not(:hover),
.single-product .envy-detail-more:focus-visible:not(:hover) { background: #fff; border-color: #d5d5d5; color: #444; }
/* 전체보기↔접기 토글: "접기"(is-up)일 때 화살표(›) 방향 반전으로 상태 신호 */
.envy-detail-more__chev { display: inline-block; transition: transform .15s ease; }
.envy-detail-more.is-up .envy-detail-more__chev { transform: rotate(180deg); }

/* 상품문의 */
.envy-inquiry__total { margin: 24px 0 0; font-size: 14px; color: #555; }
.envy-inquiry__count { color: var(--envy-green, #4f8a3d); }
.envy-inquiry-list { list-style: none; margin: 8px 0 0; padding: 0; }
.envy-inquiry-item { padding: 24px 0; border-bottom: 1px solid var(--envy-line, #e7e9e5); }
.envy-inquiry-item:first-child { border-top: 1px solid var(--envy-line, #e7e9e5); }
.envy-inquiry-item__meta { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.envy-inquiry-item__status { color: #5BB233; font-weight: 700; }  /* Frame 753: 답변완료 #5BB233 */
.envy-inquiry-item__status.is-pending { color: #999; }  /* 답변대기 */
.envy-inquiry-item__sep { color: #ddd; }
.envy-inquiry-item__name { color: #555; }
.envy-inquiry-item__date { color: #999; }
.envy-inquiry-item__q { margin: 10px 0 0; font-size: 14px; color: #333; }
.envy-inquiry-item__answer { margin-top: 16px; padding: 20px; background: #f6f6f4; border-radius: 8px; }  /* Frame 753: 패딩 20 */
.envy-inquiry-item__answer-head { display: flex; align-items: center; justify-content: space-between; }
.envy-inquiry-item__answer-head span:first-child { font-weight: 500; color: #333; font-size: 16px; }  /* Frame 753: 답변 16/500 */
.envy-inquiry-item__answer-text { margin: 8px 0 0; font-size: 16px; font-weight: 500; line-height: 1.7; color: #444; }  /* Frame 753: 본문 16/500, 답변→본문 8 */

/* 문의 등록 폼 */
.envy-inquiry-form { margin-top: 18px; padding: 18px; border: 1px solid var(--envy-line, #e7e9e5); border-radius: 8px; }
.envy-inquiry-form__text { width: 100%; border: 1px solid #ddd; border-radius: 6px; padding: 12px 14px; font-size: 14px; resize: vertical; box-sizing: border-box; }
.envy-inquiry-form__foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.envy-inquiry-form__cancel { padding: 10px 20px; border: 1px solid #d5d5d5; border-radius: 6px; background: #fff; font-size: 14px; color: #555; cursor: pointer; }
.envy-inquiry-form__submit { padding: 10px 24px; border: 0; border-radius: 6px; background: var(--envy-green-bright, #5BB233); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }

@media (max-width: 768px) {
	.envy-review-summary { flex-direction: column; gap: 20px; align-items: stretch; padding: 22px; }
	.envy-review-photos { grid-template-columns: repeat(3, 1fr); }
}

/* =========================================================================
   버튼 hover/active 통일 — 아웃라인=초록 테두리+글자 / 채움=진한 초록 / 공통 누름
   ========================================================================= */
.envy-inquiry__btn,
.envy-inquiry-form__submit,
.envy-product__summary .single_add_to_cart_button,
.envy-buynow.button.alt {
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .06s ease;
}
/* 채움(초록) 버튼 hover → 진한 초록 */
.envy-inquiry__btn:hover,
.envy-inquiry-form__submit:hover { background: var(--envy-green-d, #3f7531); border-color: var(--envy-green-d, #3f7531); }
.envy-buynow.button.alt:hover { background: var(--envy-green-d, #3f7531) !important; filter: none; }
/* 공통 누름 피드백 */
.envy-inquiry__btn:active,
.envy-inquiry-form__submit:active,
.envy-product__summary .single_add_to_cart_button:active,
.envy-buynow.button.alt:active { transform: scale(.98); }

/* 후기 — 구매인증 배지 / 작성폼 / 빈 상태 */
.envy-review-item__verified { font-size: 11px; font-weight: 700; color: var(--envy-green, #4f8a3d); background: #eef5e8; border-radius: 4px; padding: 2px 6px; }
.envy-review-empty { color: #999; text-align: center; padding: 40px 0; }
.envy-review-form { margin: 16px 0 8px; padding: 18px; border: 1px solid var(--envy-line, #e7e9e5); border-radius: 8px; background: #fafbf9; }
.envy-review-form__stars { display: flex; gap: 2px; margin-bottom: 12px; }
.envy-review-form__star { border: 0; background: none; font-size: 24px; line-height: 1; color: #dcdcdc; cursor: pointer; padding: 0 2px; }
.envy-review-form__star.is-on { color: var(--envy-green-bright, #5BB233); }
.envy-review-form__text { width: 100%; border: 1px solid #ddd; border-radius: 6px; padding: 12px 14px; font-size: 14px; resize: vertical; box-sizing: border-box; }
.envy-review-form__row { display: flex; gap: 8px; margin-top: 8px; }
.envy-review-form__row input { flex: 1 1 0; border: 1px solid #ddd; border-radius: 6px; padding: 10px 12px; font-size: 14px; box-sizing: border-box; }
.envy-review-form__foot { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.envy-review-form__cancel { padding: 10px 20px; border: 1px solid #d5d5d5; border-radius: 6px; background: #fff; font-size: 14px; color: #555; cursor: pointer; }
.envy-review-form__submit { padding: 10px 24px; border: 0; border-radius: 6px; background: var(--envy-green-bright, #5BB233); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.envy-review-form__submit:hover { background: var(--envy-green-d, #3f7531); }

/* =========================================================================
   다른 고객이 함께 본 상품 (GOODS LIST) — 풀폭 6열
   ========================================================================= */
.envy-related { margin-top: 64px; }
.envy-related__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.envy-related__head .envy-dsec__title { margin: 0; }
.envy-related__more { font-size: 14px; color: #888; text-decoration: none; }
.envy-related__more:hover { color: var(--envy-green-bright, #5BB233); }
/* 드래그 가로 슬라이더 (홈 셀렉션 패턴) */
.envy-related__slider { position: relative; }
.envy-related__track {
	display: flex; gap: 16px; overflow-x: auto; cursor: grab;
	scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 8px; scroll-behavior: smooth;
}
.envy-related__track::-webkit-scrollbar { display: none; }
.envy-related__track.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.envy-related__track.is-dragging .envy-card { pointer-events: none; }
.envy-related__track .envy-grid__item { flex: 0 0 200px; }
/* 카드 프레임 (홈 셀렉션 카드와 동일 톤) */
.envy-related .envy-card { background: #fff; border: 1px solid var(--envy-line, #e7e9e5); border-radius: 14px; padding: 0; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.envy-related .envy-card__thumb { border-radius: 0; margin-bottom: 0; }
/* 썸네일 좌상단 "Farm Story" 브랜드 배지(원형) — 시안 crop_relcard 측정값:
   초록 #7ABB79 / 지름≈썸네일폭 0.20 / 좌·상 인셋≈0.04 / 흰 스크립트체 2줄 */
.envy-related .envy-card__badge {
	position: absolute;
	z-index: 2;  /* 호버 시 scale되는 이미지 위로 */
	top: 8px; left: 8px;
	width: 42px; height: 42px;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	border-radius: 50%;
	background: #7ABB79;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: .2px;
	text-align: center;
	pointer-events: none;
}
.envy-related .envy-card__badge i { font-style: italic; }
.envy-related .envy-card__body { padding: 14px; }
/* 카드 제목 2줄 고정(말줄임) → 제목 줄수 달라도 카드 높이·가격 위치 통일 */
.envy-related .envy-card__name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.8em;  /* line-height 1.4 × 2줄 — 1줄 제목도 2줄 공간 확보 */
}
.envy-related .envy-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, .08); }

/* =========================================================================
   ⛔ Astra 기본 버튼 스타일 전면 차단 (상품 상세페이지 전 버튼)
   — 매번 묻어나던 Astra 기본 그림자(0 1px 2px rgba(0,0,0,.05))·포커스 그림자·
     호버 배경을 한 곳에서 무력화. 버튼별 의도한 hover(테두리·배경 darken 등)는
     각자 규칙대로 살아남는다. ENVY 디자인 외 기본은 절대 안 입힘.
   ========================================================================= */
.single-product button,
.single-product .button,
.single-product input[type="button"],
.single-product input[type="submit"] {
	box-shadow: none !important;
	text-shadow: none;
}
.single-product button:hover,
.single-product button:focus,
.single-product button:active,
.single-product .button:hover,
.single-product .button:focus,
.single-product input[type="button"]:hover,
.single-product input[type="submit"]:hover {
	box-shadow: none !important;   /* Astra 호버/포커스 그림자 차단 */
}
/* Astra가 호버 시 입히는 배경을 ghost·text 버튼엔 강제 안 함(투명 유지).
   배경/호버가 의도된 버튼(스테퍼·CTA 등)은 제외 — 각자 규칙 유지 */
.single-product .envy-option__chip-close:hover,
.single-product .envy-option__remove:hover,
.single-product .envy-pdp-action:hover,
.single-product .envy-review-sort__order button:hover {
	background: transparent;
}
/* 마우스 클릭 시 남는 브라우저/Astra 기본(파랑·남색) 포커스 링 제거.
   키보드 탐색(focus-visible)일 때만 아래 초록 링을 보여 접근성 유지 */
.single-product button:focus,
.single-product .button:focus,
.single-product a:focus {
	outline: none;
}
/* 포커스 링 = ENVY 초록 (Astra 기본 파랑/남색 차단) */
.single-product button:focus-visible,
.single-product .button:focus-visible,
.single-product a:focus-visible {
	outline: 2px solid var(--envy-green-bright, #5BB233);
	outline-offset: 2px;
}
/* 텍스트·아이콘 버튼 호버 톤 = 초록 계열로 통일 (남색 금지) */
.single-product .envy-review-sort__order button:hover,
.single-product .envy-option__chip-close:hover,
.single-product .envy-option__remove:hover {
	color: var(--envy-green-bright, #5BB233);
}

/* =========================================================================
   선물하기 모달 — 받는사람 정보 입력 (BEM: envy-gift-modal)
   ========================================================================= */
.envy-gift-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.envy-gift-modal[hidden] { display: none; }
.envy-gift-modal__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.envy-gift-modal__dialog {
	position: relative; width: 100%; max-width: 440px; background: #fff; border-radius: 14px;
	padding: 28px; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); box-sizing: border-box;
	max-height: 90vh; overflow-y: auto;
}
.envy-gift-modal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.envy-gift-modal__title { margin: 0; font-size: 20px; font-weight: 700; color: var(--envy-ink-2, #222); }
.envy-gift-modal__close { border: 0; background: none; color: #888; cursor: pointer; padding: 4px; display: inline-flex; }
.envy-gift-modal__close:hover { color: var(--envy-green-bright, #5BB233); }
.envy-gift-modal__desc { margin: 0 0 18px; font-size: 13px; color: var(--envy-sub, #5C5C5C); }
.envy-gift-modal__field { margin-bottom: 16px; }
.envy-gift-modal__label { display: block; font-size: 14px; font-weight: 600; color: var(--envy-ink-2, #222); margin-bottom: 7px; }
.envy-gift-modal__input,
.envy-gift-modal__textarea {
	width: 100%; border: 1px solid #ddd; border-radius: 8px; padding: 12px 14px;
	font-size: 14px; box-sizing: border-box; font-family: inherit;
}
.envy-gift-modal__textarea { resize: vertical; }
.envy-gift-modal__input:focus,
.envy-gift-modal__textarea:focus { outline: none; border-color: var(--envy-green-bright, #5BB233); }
.envy-gift-modal__err { margin: 0 0 12px; font-size: 13px; color: #d23b3b; }
.envy-gift-modal__err[hidden] { display: none; }
.envy-gift-modal__submit {
	width: 100%; height: 54px; border: 0; border-radius: 8px; cursor: pointer;
	background: var(--envy-green-bright, #5BB233); color: #fff; font-size: 16px; font-weight: 700;
	transition: background-color .15s ease, transform .06s ease;
}
.envy-gift-modal__submit:hover { background: var(--envy-green-d, #3f7531); }
.envy-gift-modal__submit:active { transform: scale(.98); }

/* =========================================================================
 * 모바일 하단 고정바 (R-05) — 상품상세 PDP 전용.
 * 데스크톱(≥1024px)은 숨김. 모바일(≤1023px)에서만 하단 고정 표출.
 * z-index 90: 본문/스티키(≤30) 위, 라이트박스(100000)·모달(9999) 아래.
 * ========================================================================= */
.envy-mobile-buybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: none; /* 기본 숨김(데스크톱) */
	align-items: center;
	gap: 8px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
	background: #fff;
	border-top: 1px solid var(--envy-line, #e7e9e5);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
}
.envy-mobile-buybar__price {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--envy-ink, #1d1f1c);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.envy-mobile-buybar__cart,
.envy-mobile-buybar__buy {
	flex: 0 0 auto;
	height: 44px;
	padding: 0 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	border: 1px solid var(--envy-green, #4f8a3d);
}
.envy-mobile-buybar__cart {
	background: #fff;
	color: var(--envy-green, #4f8a3d);
}
.envy-mobile-buybar__buy {
	background: var(--envy-green, #4f8a3d);
	color: #fff;
	border-color: var(--envy-green, #4f8a3d);
}
.envy-mobile-buybar__buy:active { background: var(--envy-green-d, #3f7531); }

@media (max-width: 1023px) {
	.envy-mobile-buybar {
		display: flex;
	}
	/* 고정바에 본문이 가리지 않도록 하단 여백 확보 */
	.envy-product {
		padding-bottom: 72px;
	}
}

/* TI WooCommerce Wishlist 기본 버튼 숨김(2026-07-31) — DOM은 유지(하트가 클릭 위임). 하트만 노출. */
.tinv-wraper.tinvwl-after-add-to-cart {
	display: none !important;
}

/* ============================================================
   배송·교환/반품·환불·청약철회 공통 안내 (2026-08-12 신설)
   카드(PG) 심사 대상 — 상세페이지 하단 공통영역. 질의서 Q9~Q14.
   ============================================================ */
.envy-policy {
	width: 100%;
	margin: 64px 0 0;
	padding: 48px 0 56px;
	background: #fafaf8;
	border-top: 1px solid #e8e6e1;
}
.envy-policy__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}
.envy-policy__head {
	margin: 0 0 28px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #1a1a1a;
}
.envy-policy__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 40px;
}
.envy-policy__box {
	min-width: 0;
}
.envy-policy__title {
	margin: 0 0 12px;
	padding-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
	color: #1a1a1a;
	border-bottom: 1px solid #ddd9d2;
}
.envy-policy__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.envy-policy__list li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 12px;
	font-size: 14px;
	line-height: 1.65;
	color: #4a4a4a;
	word-break: keep-all;
}
.envy-policy__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #9a968e;
}
.envy-policy__list b {
	font-weight: 700;
	color: #1a1a1a;
}
.envy-policy__cs {
	margin: 28px 0 0;
	padding-top: 18px;
	border-top: 1px solid #e8e6e1;
	font-size: 14px;
	color: #4a4a4a;
}
.envy-policy__cs a {
	color: #1a1a1a;
	font-weight: 600;
	text-decoration: none;
}
.envy-policy__cs a:hover {
	text-decoration: underline;
}
@media (max-width: 900px) {
	.envy-policy {
		margin-top: 40px;
		padding: 36px 0 44px;
	}
	.envy-policy__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.envy-policy__head {
		font-size: 19px;
		margin-bottom: 22px;
	}
}

/* 옵션 미선택 안내 (2026-08-13) — JS(single-product.js)가 만들어 넣는 요소.
   옵션을 안 고르고 담기/바로구매를 누르면 아무 반응이 없던 것을 안내문으로 드러낸다. */
.envy-option__err {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: #d33;
}
.envy-option.is-invalid .envy-option__select {
	border-color: #d33;
}
