/* Calendive Woo Product Page — 플레이스홀더 프리미엄 팔레트
   실제 브랜드 컬러가 정해지면 아래 변수 값(hex)만 교체하면 전체 반영됩니다. */

.single-product #primary,
.single-product div.product {
	--cld-bg: #FAFAF8;
	--cld-surface: #F1F0EA;
	--cld-text: #1A1A1A;
	--cld-text-muted: #5C5A52;
	--cld-accent: #1F6F54;
	--cld-accent-dark: #175A44;
	--cld-border: #E5E1D8;
	position: relative;
	background: var(--cld-bg);
	color: var(--cld-text);
	font-family: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;
	padding: 48px clamp(20px, 4vw, 64px);
	border-radius: 20px;
}

/* 할인 뱃지 — 디자인 미확정, 일단 숨김. 켤 때는 display:none만 지우면 됨. */
.single-product div.product .onsale {
	display: none;
	position: absolute;
	top: 48px;
	right: clamp(20px, 4vw, 64px);
	background: #D6304A;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
	z-index: 2;
}

/* 갤러리 — 요약 컬럼(오른쪽)에 맞춰 세로로 늘어나지 않도록, 오른쪽 컬럼 높이의 2/3만 차지 */
.single-product div.product div.images {
	align-self: start;
	height: 66.666%;
	border-radius: 16px;
	overflow: hidden;
	background: var(--cld-surface);
	border: 1px solid var(--cld-border);
	box-shadow: 0 12px 32px -12px rgba(31, 111, 84, 0.18);
}

.single-product div.product div.images img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-product div.product div.images .flex-control-thumbs li img {
	border-radius: 8px;
	border: 1px solid var(--cld-border);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.single-product div.product div.images .flex-control-thumbs li img:hover,
.single-product div.product div.images .flex-control-thumbs li img.flex-active {
	opacity: 1;
	transform: translateY(-2px);
	border-color: var(--cld-accent);
}

/* 요약 영역 상단 굵은 구분선 (이미지의 맨 위 검정 라인) */
.single-product div.product .summary {
	border-top: 2px solid var(--cld-text);
	padding-top: 24px;
}

/* 타이틀 */
.single-product div.product .product_title {
	font-family: 'Fraunces', serif;
	font-weight: 600;
	font-size: clamp(28px, 3vw, 40px);
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin-bottom: 24px;
}

/* 판매가 — 타이틀 바로 아래, 추가 정보 표보다 먼저 보이는 강조 줄 */
.single-product .cld-sale-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 4px 0 12px;
}

.single-product .cld-sale-price-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--cld-text-muted);
}

.single-product .cld-sale-price-value {
	font-family: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: var(--cld-text);
}

.single-product .cld-price-strike {
	text-decoration: line-through;
	color: var(--cld-text-muted);
}

.single-product .cld-price-discount {
	color: var(--cld-accent-dark);
}

/* 추가 정보 (타이틀 바로 아래로 이동한 블록) — 이미지의 판매가/배송 정보 리스트 스타일 참고: 박스 없이 담백한 라벨-값 리스트 */
.single-product .cld-additional-info {
	margin: 4px 0 0;
	padding: 12px 16px 16px;
	background: #fff;
	border: 1px solid var(--cld-border);
	border-radius: 8px;
}

.single-product .cld-min-qty-note {
	margin: 8px 0 0;
	font-size: 12px;
	color: var(--cld-text-muted);
}

.single-product .cld-additional-info table.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.single-product .cld-additional-info table.woocommerce-product-attributes tr {
	border: none;
}

.single-product .cld-additional-info table.woocommerce-product-attributes th,
.single-product .cld-additional-info table.woocommerce-product-attributes td {
	padding: 6px 0;
	text-align: left;
	border: none;
	background: none;
}

.single-product .cld-additional-info table.woocommerce-product-attributes th {
	width: 35%;
	color: var(--cld-text-muted);
	font-weight: 600;
}

.single-product .cld-additional-info table.woocommerce-product-attributes td {
	color: var(--cld-text);
}

/* 평점 */
.single-product div.product .woocommerce-product-rating {
	margin-bottom: 16px;
}

/* 짧은 설명 */
.single-product .woocommerce-product-details__short-description {
	color: var(--cld-text-muted);
	line-height: 1.7;
	margin-bottom: 24px;
}

/* 수량 줄('-'/입력란/'+') / TOTAL 줄 */
.single-product .cld-cart-rows {
	width: 100%;
	margin: 0 0 12px;
}

.single-product .cld-qty-row {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 8px 0 16px;
	border-bottom: 1px solid var(--cld-border);
}

.single-product .cld-total-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	width: 100%;
	padding: 16px 0 8px;
	border-top: 1px solid var(--cld-border);
}

.single-product .cld-total-label {
	font-weight: 700;
	letter-spacing: 0.02em;
}

.single-product .cld-total-price {
	font-family: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: var(--cld-accent-dark);
}

.single-product .cld-total-count {
	margin-left: 4px;
	font-size: 12px;
	color: var(--cld-text-muted);
}

/* 수량 입력 — 가운데 숫자 박스 + 좌우 -/+ 버튼 (JS가 버튼을 주입) */
.single-product div.product form.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	margin: 0;
}

.single-product div.product form.cart .quantity .qty {
	width: 52px;
	text-align: center;
	border: 1px solid var(--cld-border);
	border-left: none;
	border-right: none;
	border-radius: 0;
	padding: 10px 8px;
	color: var(--cld-text);
	-moz-appearance: textfield;
}

.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button,
.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single-product div.product form.cart .quantity .qty:focus-visible {
	outline: 2px solid var(--cld-accent);
	outline-offset: 1px;
}

.single-product .cld-qty-btn {
	width: 36px;
	border: 1px solid var(--cld-border);
	background: #fff;
	color: var(--cld-text);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.single-product .cld-qty-btn.cld-qty-minus {
	border-radius: 10px 0 0 10px;
}

.single-product .cld-qty-btn.cld-qty-plus {
	border-radius: 0 10px 10px 0;
}

.single-product .cld-qty-btn:hover {
	border-color: var(--cld-accent);
	color: var(--cld-accent-dark);
}

/* 담기 버튼 — CART 하나만, 전체 폭 */
.single-product div.product form.cart {
	display: block;
}

.single-product div.product form.cart .single_add_to_cart_button {
	display: block;
	width: 100%;
	text-align: center;
	border-radius: 10px;
	padding: 16px 24px;
	font-weight: 600;
	letter-spacing: 0.01em;
	background: var(--cld-text);
	color: var(--cld-bg);
	border: 1px solid var(--cld-text);
	box-shadow: 0 8px 20px -6px rgba(26, 26, 26, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
	background: var(--cld-accent-dark);
	border-color: var(--cld-accent-dark);
	transform: translateY(-1px);
}

.single-product div.product form.cart .single_add_to_cart_button:active {
	transform: translateY(0);
}

.single-product div.product form.cart .single_add_to_cart_button:focus-visible {
	outline: 2px solid var(--cld-accent-dark);
	outline-offset: 2px;
}

/* 카테고리 줄 */
.single-product div.product .product_meta {
	margin: 8px 0 0;
	padding-top: 8px;
}

/* 남은 탭(설명/리뷰) */
.single-product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--cld-border);
	margin-bottom: 24px;
}

.single-product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	margin-right: 8px;
}

.single-product .woocommerce-tabs ul.tabs li a {
	color: var(--cld-text-muted);
	font-weight: 500;
	padding: 10px 4px;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--cld-text);
	box-shadow: inset 0 -2px 0 var(--cld-accent);
}

.single-product .woocommerce-tabs ul.tabs li a:focus-visible {
	outline: 2px solid var(--cld-accent);
	outline-offset: 2px;
}

.single-product .woocommerce-tabs .panel {
	color: var(--cld-text);
	line-height: 1.7;
}
