@charset "UTF-8";

/**
 * PDP — PNS-style product detail (PC + mobile)
 */

/* ---- Page shell（Tab 栏以下灰底；以上由 .pdp-hero-zone 全宽白底） ---- */
.single-product-wrap.pdp-page {
	background: #f7f7f7;
	padding-bottom: 24px;
}

/* 1280 版心 + 左右内边距（与全站 --ulive-content-gutter 一致） */
.single-product-wrap.pdp-page .pdp-container {
	--pdp-gutter: var(--ulive-content-gutter, 50px);
	width: 100%;
	max-width: var(--ulive-content-max, 1280px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 var(--pdp-gutter);
	background: transparent;
	box-sizing: border-box;
}

/* 面包屑 + 主图/购买区：原站 Tab 栏以上整块白底（铺满视口宽） */
.pdp-page .pdp-hero-zone {
	position: relative;
	margin: 0 calc(-1 * var(--pdp-gutter));
	padding: 0 var(--pdp-gutter);
	background: transparent;
	box-sizing: border-box;
}

.pdp-page .pdp-hero-zone::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 100vw;
	margin-left: -50vw;
	background: #fff;
	z-index: 0;
}

.pdp-page .pdp-hero-zone > * {
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.single-product-wrap.pdp-page {
		background: #f7f7f7;
		padding-bottom: 72px;
	}
}

/* ---- Hero grid ---- */
.pdp-page .single-product-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	padding: 24px 0 32px;
	align-items: start;
}

@media (max-width: 768px) {
	.pdp-page .single-product-main {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 12px 0 20px;
	}
}

/* ---- 面包屑（左右与 .cat-listing-wrap 一致，仅顶 20px / 底 16px） ---- */
.pdp-page .pdp-hero-zone > .pdp-breadcrumb-row.e2-breadcrumb {
	width: auto;
	margin: 0;
	padding: 20px 0 16px;
	box-sizing: border-box;
}

.pdp-page .pdp-breadcrumb-row .woocommerce-breadcrumb {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #999;
}

.pdp-page .pdp-breadcrumb-row .woocommerce-breadcrumb a {
	color: #666;
	text-decoration: none;
}

.pdp-page .pdp-breadcrumb-row .woocommerce-breadcrumb a:hover {
	color: rgb(63, 167, 243);
	text-decoration: none;
}

.pdp-page .pdp-breadcrumb-row .breadcrumb-sep {
	margin: 0 8px;
	color: #ccc;
}

.pdp-page .pdp-breadcrumb-row .breadcrumb-current {
	color: rgb(63, 167, 243);
}

/* ---- 商品信息区 product-info-group（原站） ---- */
.pdp-page .pdp-product-info-group {
	display: flex;
	flex-direction: column;
}

/* 分享：位於主圖 + 摘要兩欄之上（原站） */
.pdp-page .pdp-hero-share {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 12px;
	padding: 0;
}

.pdp-page .pdp-hero-share .pdp-share-bar {
	margin: 0;
}

/*
 * 商品標題區（原站 2×2 網格）：
 * 第 1 行：品牌（左）| ★ 星級（右）
 * 第 2 行：商品名（左）| 已售 | 評分（右）
 */
.pdp-page .pdp-product-info-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 24px;
	row-gap: 6px;
	align-items: center;
	margin-bottom: 6px;
}

.pdp-page .pdp-product-info-head__brand {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	align-self: center;
}

.pdp-page .pdp-product-info-head__stars {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	align-self: center;
	flex-shrink: 0;
}

.pdp-page .pdp-product-info-head__title {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	min-width: 0;
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.35;
	color: #222;
}

.pdp-page .pdp-product-info-head__metrics {
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
	align-self: start;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0 8px;
	text-align: right;
	white-space: nowrap;
}

.pdp-page .pdp-product-info-head__stars .ulive-review-stars {
	display: inline-flex;
	gap: 2px;
	align-items: center;
	line-height: 1;
}

.pdp-page .pdp-product-info-head__stars .icon-star {
	font-size: 20px;
	color: #ddd;
}

.pdp-page .pdp-product-info-head__stars .icon-star:before {
	color: #ddd;
}

.pdp-page .pdp-product-info-head__stars .icon-star.active:before,
.pdp-page .pdp-product-info-head__stars .icon-star.active {
	color: var(--ulive-star-color);
}

.pdp-page .pdp-product-info-head__stars .icon-star.active.is-half:before {
	background: linear-gradient(90deg, var(--ulive-star-color) 50%, #ddd 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.pdp-page .pdp-product-info-head__metrics,
.pdp-page .pdp-product-info-head__metrics .pdp-sales {
	font-size: 13px;
	color: #888;
	line-height: 1.5;
}

.pdp-page .pdp-product-info-head__metrics .pdp-rating-sep {
	color: #ccc;
	margin: 0 2px;
	font-weight: 300;
}

.pdp-page .pdp-product-info-head__metrics .pdp-rating-score {
	font-size: 13px;
	font-weight: 700;
	color: #222;
}

.pdp-page .pdp-product-info-head__metrics .pdp-reviews-link {
	color: #888;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pdp-page .pdp-product-info-head__metrics .pdp-reviews-link:hover {
	color: #1e4fd6;
}

.pdp-page .pdp-product-info-group .pdp-brand,
.pdp-page .pdp-product-info-group .pdp-brand a {
	font-size: 14px;
	font-weight: 400;
	color: #999;
	line-height: 1.4;
}

.pdp-page .pdp-product-info-group .pdp-brand a {
	text-decoration: none;
}

.pdp-page .pdp-product-info-group .pdp-brand a:hover {
	color: #666;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pdp-page .pdp-product-info-group .pdp-spec {
	margin: 0 0 8px;
	font-size: 14px;
	color: #888;
}

.pdp-page .pdp-product-info-group .pdp-stock {
	margin: 0 0 12px;
}

.pdp-page .pdp-product-info-group .pdp-price-wrap {
	margin-bottom: 14px;
}

.pdp-page .pdp-product-info-group .pdp-stock.is-in-stock {
	display: inline-block;
	padding: 3px 10px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	border-radius: 4px;
	background: #e8f7ed;
	color: #1a7f37;
}

.pdp-page .pdp-product-info-group .pdp-stock.is-out-of-stock {
	display: inline-block;
	padding: 3px 10px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	border-radius: 4px;
	background: #fdecea;
	color: #c0392b;
}

.pdp-page .pdp-price-wrap .price {
	display: block;
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--border-light);
	line-height: 1.4;
	font-size: inherit;
	color: inherit;
	font-weight: 400;
	font-family: var(--font-primary);
}

.pdp-page .pdp-price-wrap .price del,
.pdp-page .pdp-price-wrap .price del .amount,
.pdp-page .pdp-price-wrap .price del bdi {
	display: block;
	margin: 0 0 4px;
	color: #666666;
	font-size: 16px;
	font-weight: 400;
	text-decoration: line-through;
	opacity: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pdp-page .pdp-price-wrap .price ins,
.pdp-page .pdp-price-wrap .price ins .amount,
.pdp-page .pdp-price-wrap .price ins bdi,
.pdp-page .pdp-price-wrap .price > .amount,
.pdp-page .pdp-price-wrap .price > .woocommerce-Price-amount {
	display: block;
	background: none;
	color: #e60012;
	font-size: 32px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0;
	text-align: left;
	text-transform: uppercase;
}

.pdp-page .pdp-price-wrap .price bdi,
.pdp-page .pdp-price-wrap .price .woocommerce-Price-currencySymbol {
	font-family: var(--font-primary);
}

@media (max-width: 768px) {
	.pdp-page .pdp-hero-share {
		margin-bottom: 8px;
	}

	.pdp-page .pdp-product-info-head {
		column-gap: 12px;
		row-gap: 4px;
	}

	.pdp-page .pdp-product-info-head__title {
		font-size: 20px;
		line-height: 1.35;
	}

	.pdp-page .pdp-product-info-head__stars .icon-star {
		font-size: 18px;
	}

	.pdp-page .pdp-product-info-head__metrics {
		font-size: 12px;
		white-space: normal;
		max-width: 48vw;
	}
}

.pdp-share-open {
	border: none;
	background: transparent;
	color: #333;
	font-size: 14px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
}

.pdp-share-open .icon-share {
	font-size: 18px;
	color: #666;
}

/* ---- Share modal（對齊 PNS：白標題 / 灰底 + 白連結卡 / 灰底渠道區） ---- */
.pdp-share-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	box-sizing: border-box;
}

.pdp-share-modal[hidden] {
	display: none !important;
}

.pdp-share-modal.is-open {
	display: flex !important;
}

.pdp-share-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.pdp-share-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 640px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.pdp-share-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
}

.pdp-share-modal-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: #222;
	line-height: 1.3;
}

.pdp-share-modal-close {
	border: none;
	background: transparent;
	padding: 4px;
	cursor: pointer;
	color: #888;
	font-size: 22px;
	line-height: 1;
}

.pdp-share-modal-link-pane {
	padding: 24px;
	background: #f3f4f6;
}

.pdp-share-url-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.pdp-share-url-input {
	flex: 1;
	min-width: 0;
	margin: 0;
	border: none;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #333;
	background: transparent;
	resize: none;
	overflow: hidden;
	font-family: inherit;
	word-break: break-all;
}

.pdp-share-url-input:focus {
	outline: none;
}

.pdp-share-modal-copy {
	flex-shrink: 0;
	border: none;
	background: #3fa7f3;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	padding: 12px 28px;
	border-radius: 999px;
	cursor: pointer;
	min-height: 44px;
	white-space: nowrap;
	transition: background 0.15s ease;
}

.pdp-share-modal-copy:hover {
	background: #2e8fd9;
	color: #fff;
}

.pdp-share-channels {
	display: flex;
	background: #f3f4f6;
	border-top: 1px solid #e8e8e8;
}

.pdp-share-channel {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	padding: 20px 12px 18px;
	min-height: 108px;
	text-decoration: none;
	color: #555;
	font-size: 14px;
	text-align: center;
	border-left: 1px solid #e0e0e0;
	transition: background 0.15s;
	box-sizing: border-box;
}

.pdp-share-channel:first-child {
	border-left: none;
}

.pdp-share-channel:hover {
	background: rgba(0, 0, 0, 0.04);
	color: #333;
}

.pdp-share-channels .pdp-share-channel-icon,
.pdp-share-channels .share-icon {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 0;
	background: transparent !important;
	color: inherit;
}

.pdp-share-channel-icon.has-image {
	width: 32px;
	height: 32px;
	aspect-ratio: 1 / 1;
}
.pdp-share-channel-icon.has-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pdp-share-channels .pdp-share-channel-icon svg {
	display: block;
	width: 32px;
	height: 32px;
}

.pdp-share-channel-label {
	flex: 0 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	min-height: calc(2 * 1.35 * 1em);
	line-height: 1.35;
	max-width: 100%;
	word-break: break-word;
}

@media (min-width: 769px) {
	.pdp-share-modal-dialog {
		max-width: 680px;
	}

	.pdp-share-modal-title {
		font-size: 22px;
	}

	.pdp-share-modal-link-pane {
		padding: 28px 32px;
	}

	.pdp-share-url-card {
		padding: 20px 24px;
		gap: 20px;
	}

	.pdp-share-url-input {
		font-size: 15px;
	}

	.pdp-share-channel {
		padding: 28px 20px;
		min-height: 120px;
		font-size: 15px;
	}

	.pdp-share-channels .pdp-share-channel-icon,
	.pdp-share-channels .share-icon,
	.pdp-share-channel-icon.has-image img,
	.pdp-share-channels .pdp-share-channel-icon svg {
		width: 36px;
		height: 36px;
	}
}

body.pdp-share-modal-open {
	overflow: hidden;
}

/* 手機端商品圖放大層（對齊原站：暗色遮罩 + 白底大圖 + 底部分頁點；掛在 body 頂層） */
.pdp-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 12px 12px 32px;
	box-sizing: border-box;
	isolation: isolate;
	touch-action: none;
}

.pdp-gallery-lightbox.is-open {
	display: flex;
}

.pdp-gallery-lightbox[hidden]:not(.is-open) {
	display: none !important;
}

.pdp-gallery-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.82);
}

.pdp-gallery-lightbox__stage {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: calc(100vw - 24px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	pointer-events: auto;
	padding-top: 48px;
	box-sizing: border-box;
}

.pdp-gallery-lightbox__frame {
	position: relative;
	width: 100%;
	min-height: 0;
	max-height: min(72vh, 560px);
	background: #fff;
	border: none;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	touch-action: none;
	cursor: grab;
}

/* 原站：白色 × 緊貼圖片右上方（暗色遮罩上） */
.pdp-gallery-lightbox__close {
	position: absolute;
	top: -4px;
	right: -4px;
	z-index: 5;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	background: transparent;
	color: #fff;
	font-size: 40px;
	font-weight: 300;
	line-height: 44px;
	text-align: center;
	cursor: pointer;
}

.pdp-gallery-lightbox__frame.is-swiping {
	cursor: grabbing;
}

.pdp-gallery-lightbox__slides {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 100%;
	height: 100%;
	min-height: inherit;
	will-change: transform;
}

.pdp-gallery-lightbox__slides.ulive-gallery-track--transition {
	transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.pdp-gallery-lightbox__slide {
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	box-sizing: border-box;
}

.pdp-gallery-lightbox__slide img {
	display: block;
	max-width: 100%;
	max-height: min(64vh, 500px);
	width: auto;
	height: auto;
	object-fit: contain;
}

/* 原站：圖片正下方一點點，灰點 + 藍色長條當前項 */
.pdp-gallery-lightbox__dots {
	position: static;
	transform: none;
	z-index: 4;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	pointer-events: auto;
	background: transparent;
	flex-shrink: 0;
}

.pdp-gallery-lightbox__dots[hidden] {
	display: none !important;
}

.pdp-gallery-lightbox__dots li {
	margin: 0;
}

.pdp-gallery-lightbox__dots a {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	text-indent: -9999px;
	overflow: hidden;
	padding: 0;
	border: none;
}

.pdp-gallery-lightbox__dots a.flex-active {
	width: 22px;
	border-radius: 4px;
	background: #1e4fd6;
}

/* 放大層打開時隱藏主圖區分頁點；關閉後由 JS 還原 */
html.pdp-gallery-lightbox-open .pdp-page .pdp-gallery-wrap ol.ulive-gallery-dots,
html.pdp-gallery-lightbox-open .pdp-page .pdp-gallery-wrap ol.flex-control-nav.ulive-gallery-dots {
	display: none !important;
}

.pdp-gallery-lightbox.is-open .pdp-gallery-lightbox__dots:not([hidden]) {
	display: flex !important;
}

html.pdp-gallery-lightbox-open {
	overflow: hidden !important;
	height: 100%;
	overscroll-behavior: none;
}

html.pdp-gallery-lightbox-open body {
	overflow: hidden !important;
	overscroll-behavior: none;
}

@media (min-width: 769px) {
	.pdp-gallery-lightbox {
		display: none !important;
	}
}

@media (max-width: 480px) {
	.pdp-share-modal-link-pane {
		padding: 16px;
	}

	.pdp-share-url-card {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 14px 16px;
	}

	.pdp-share-modal-copy {
		width: 100%;
		text-align: center;
	}

	.pdp-share-channel {
		gap: 8px;
		padding: 16px 4px 14px;
		min-height: 100px;
		font-size: 11px;
	}

	.pdp-share-channel-label {
		min-height: calc(2 * 1.35 * 1em);
		padding: 0 1px;
	}

	.pdp-share-channels .pdp-share-channel-icon,
	.pdp-share-channels .share-icon,
	.pdp-share-channel-icon.has-image img,
	.pdp-share-channels .pdp-share-channel-icon svg {
		width: 28px;
		height: 28px;
	}
}

@media (max-width: 768px) {
	.pdp-share-channel {
		font-size: 12px;
		padding: 16px 6px 14px;
	}

	.pdp-share-channel-label {
		font-size: 11px;
	}
}

/* 購買行：數量固定 200×50，其餘寬度給加入購物車（對齊原站） */
.pdp-page .pdp-purchase form.cart {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 10px;
}

.pdp-page .pdp-purchase form.cart .quantity {
	flex: 0 0 200px;
	width: 200px;
	max-width: 200px;
	min-width: 200px;
	display: flex;
	align-items: stretch;
	height: 50px;
	border: 1px solid #d8dde3;
	border-radius: 999px;
	overflow: hidden;
	box-sizing: border-box;
}

.pdp-page .pdp-purchase form.cart .quantity .quantity-minus,
.pdp-page .pdp-purchase form.cart .quantity .quantity-plus {
	flex: 0 0 32px;
	padding: 0;
	background: #fff;
	color: var(--text-medium);
	font-size: 1.125rem;
	line-height: 1;
	border: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.pdp-page .pdp-purchase form.cart .quantity .quantity-minus:hover,
.pdp-page .pdp-purchase form.cart .quantity .quantity-plus:hover {
	background: var(--bg-light);
	color: var(--text-dark);
}

.pdp-page .pdp-purchase form.cart .quantity input.qty {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 100%;
	padding: 0 4px;
	text-align: center;
	border: none;
	border-left: 1px solid var(--border-light);
	border-right: 1px solid var(--border-light);
	font-size: 16px;
	color: var(--text-dark);
	background: #fff;
	outline: none;
	appearance: textfield;
	-moz-appearance: textfield;
}

.pdp-page .pdp-purchase form.cart .quantity input.qty::-webkit-outer-spin-button,
.pdp-page .pdp-purchase form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.pdp-page .pdp-purchase form.cart .product-action-buttons {
	flex: 1 1 0;
	width: auto;
	min-width: 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	align-items: stretch;
}

.pdp-page .pdp-purchase form.cart .product-action-buttons .single_add_to_cart_button {
	flex: 1 1 100%;
	min-width: 0;
	width: 100%;
	min-height: 50px;
	height: 50px;
	padding: 14px 16px;
	border: none;
	border-radius: 999px;
	background: rgb(49, 80, 171);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	box-sizing: border-box;
	white-space: nowrap;
	text-align: center;
	line-height: 1.15;
	cursor: pointer;
	transition: background 0.15s ease;
}

.pdp-page .pdp-purchase form.cart .product-action-buttons .single_add_to_cart_button:hover {
	background: #5671ce;
}

/* 主圖容器取消固定寬度，避免手機主圖偏左溢出 */
.pdp-page .pdp-gallery-wrap.single-product-images .woocommerce-product-gallery {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 0 12px !important;
}

.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport,
.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery > .woocommerce-product-gallery__image,
.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.pdp-gallery-wrap .woocommerce-product-gallery {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
}

/* 主圖區外框（手機帶藍框；PC 端不加邊框，見下方 @media min-width:769px 覆蓋） */
.pdp-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport {
	order: 1;
	position: relative;
	width: 100% !important;
	max-width: 100%;
	aspect-ratio: 1;
	border: 2px solid #1e4fd6;
	box-sizing: border-box;
	background: #fff;
	overflow: hidden;
}

/* PC：主圖不要藍色外框，貼近原站 */
@media (min-width: 769px) {
	.pdp-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
	.pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport {
		border: 0;
		background: transparent;
	}
}

/* PDP 手動切換：桌面疊層切換（手機多圖橫滑見下方 @media max-width:768px） */
@media (min-width: 769px) {
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
	.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--manual .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
		position: absolute;
		inset: 0;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		box-sizing: border-box;
		display: none;
		float: none !important;
		overflow: hidden;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery:not(.ulive-gallery-ready) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery-ready .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.is-active,
	.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--manual:not(.ulive-gallery-ready) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child,
	.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--manual.ulive-gallery-ready .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.is-active {
		display: block;
	}
}

.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a,
.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--manual .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img,
.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--manual .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* 桌面 hover zoom：主圖用自然高度，zoom 才能正確計算比例 */
@media (min-width: 769px) {
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.is-active {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.is-active > a {
		width: 100%;
		height: auto;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.is-active img {
		width: 100% !important;
		height: auto !important;
		max-height: 100% !important;
	}

}

/* 桌面自研 hover 局部放大层 */
@media (min-width: 769px) {
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__image .ulive-zoom-pane {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: none;
		opacity: 0;
		pointer-events: none;
		z-index: 2;
	}
}

/* 桌面：FlexSlider + hover 局部放大 */
.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--flexslider .flex-viewport .woocommerce-product-gallery__image {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0;
	border: none !important;
	float: none !important;
	display: block !important;
	overflow: hidden;
}

.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--flexslider .flex-viewport .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
	line-height: 0;
}

.pdp-gallery-wrap .woocommerce-product-gallery.ulive-gallery--flexslider .flex-viewport img.wp-post-image {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	object-fit: contain !important;
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* 桌面端：主圖區最大 568px */
@media (min-width: 769px) {
	.pdp-page .pdp-gallery-wrap.single-product-images {
		width: 100%;
		max-width: 568px;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport {
		width: 100% !important;
		max-width: 568px;
	}
}

/* 縮略圖：主圖下方（主題輸出 ulive-gallery-thumbs） */
.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs {
	order: 2;
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	clear: both;
	overflow: visible;
	float: none;
	width: 100%;
}

/*
 * 縮略圖外框放在 <li> 上，內部用 padding 與圖片留白；
 * 默認灰框，hover / 選中藍框。
 * 注：FlexSlider 把 .flex-active 加在 <img> 而非 <li>，因此用 :has() 上提到 <li>。
 */
.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs li,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs li {
	flex: 0 0 auto;
	width: 110px;
	height: 110px;
	margin: 0;
	padding: 6px;
	list-style: none;
	float: none;
	background: #fff;
	border: 2px solid #d9d9d9;
	border-radius: 10px;
	box-sizing: border-box;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs li:hover,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs li:hover,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs li:has(> img.flex-active),
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs li:has(> img.flex-active),
.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs li.flex-active,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs li.flex-active {
	border-color: #1e4fd6;
}

.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs li img,
.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	opacity: 1;
	border: 0;
	border-radius: 4px;
	box-sizing: border-box;
	transition: opacity 0.15s ease;
}

@media (max-width: 768px) {
	/* 手機：無縮略圖，左右滑動 + 底部分頁點（對齊原站） */
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-thumbs,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-thumbs {
		display: none !important;
	}

	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-dots,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-nav.ulive-gallery-dots {
		order: 2;
		display: flex !important;
		justify-content: center;
		align-items: center;
		gap: 6px;
		margin: 12px 0 0;
		padding: 0;
		list-style: none;
		width: 100%;
	}

	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-dots li,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-nav.ulive-gallery-dots li {
		margin: 0;
	}

	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-dots li a,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-nav.ulive-gallery-dots li a {
		display: block;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: #ccc;
		text-indent: -9999px;
		overflow: hidden;
		padding: 0;
		border: none;
	}

	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-dots li a.flex-active,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.flex-control-nav.ulive-gallery-dots li a.flex-active {
		width: 22px;
		border-radius: 4px;
		background: #1e4fd6;
	}

	.pdp-gallery-wrap .woocommerce-product-gallery__wrapper.ulive-gallery-swipe-target {
		touch-action: pan-x;
		-webkit-user-select: none;
		user-select: none;
	}

	/*
	 * 手機多圖橫向輪播。
	 * 重要：被 transform 平移的元素本身不可帶 overflow:hidden，
	 * 否則裁剪區域跟著平移，會把非當前 slide 整個裁掉 → 露白。
	 * 解法：wrapper 保持靜止當「取景框」(沿用原 overflow:hidden + 邊框)，
	 *      在 wrapper 內部注入 .ulive-gallery-mobile-track-inner 作為被平移的軌道。
	 *
	 * 在 JS 注入內層 track 之前，先用 :has() 退化方案讓 slides 橫排，
	 * 至少首張能正常顯示，不會出現高度塌陷或白屏。
	 */
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:nth-child(2)) {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		width: 100% !important;
		max-width: 100% !important;
		aspect-ratio: 1;
		overflow: hidden;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:nth-child(2)) > .woocommerce-product-gallery__image {
		position: relative !important;
		inset: auto !important;
		flex: 0 0 100%;
		flex-shrink: 0;
		width: 100% !important;
		min-width: 100%;
		max-width: 100% !important;
		height: 100% !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto;
		float: none !important;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:nth-child(2)) > .woocommerce-product-gallery__image > a {
		height: 100%;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:nth-child(2)) > .woocommerce-product-gallery__image img {
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	/*
	 * JS 注入內層 track 後：wrapper 變回普通 block 取景框，
	 * 由 .ulive-gallery-mobile-track-inner 承擔橫排 + transform。
	 */
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:has(> .ulive-gallery-mobile-track-inner) {
		display: block !important;
		position: relative;
		overflow: hidden;
		aspect-ratio: 1;
		width: 100% !important;
		max-width: 100% !important;
	}

	.pdp-page .pdp-gallery-wrap .ulive-gallery-mobile-track-inner {
		position: relative;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		width: 100%;
		height: 100%;
		will-change: transform;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.pdp-page .pdp-gallery-wrap .ulive-gallery-mobile-track-inner.ulive-gallery-track--transition {
		transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}

	.pdp-page .pdp-gallery-wrap .ulive-gallery-mobile-track-inner > .woocommerce-product-gallery__image {
		position: relative !important;
		inset: auto !important;
		flex: 0 0 100%;
		flex-shrink: 0;
		width: 100% !important;
		min-width: 100%;
		max-width: 100% !important;
		height: 100% !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto;
		float: none !important;
		margin: 0 !important;
	}

	.pdp-page .pdp-gallery-wrap .ulive-gallery-mobile-track-inner > .woocommerce-product-gallery__image > a {
		display: block;
		height: 100%;
	}

	.pdp-page .pdp-gallery-wrap .ulive-gallery-mobile-track-inner > .woocommerce-product-gallery__image img {
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
}

@media (min-width: 769px) {
	.pdp-gallery-wrap .flex-control-nav,
	.pdp-gallery-wrap .woocommerce-product-gallery > ol.ulive-gallery-dots {
		display: none !important;
	}
}

/* 主圖區定位上下文（放大鏡由 pdp.js 移入 flex-viewport / __wrapper） */
.pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport,
.pdp-gallery-wrap .woocommerce-product-gallery__wrapper {
	position: relative;
}

/* 圖庫放大：主圖左下角 icon-zoom（無灰色圓底，對齊原站） */
.pdp-gallery-wrap .flex-viewport .woocommerce-product-gallery__trigger,
.pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__trigger {
	position: absolute;
	bottom: 32px;
	left: 24px;
	top: auto !important;
	right: auto !important;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	padding: 0;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border-radius: 0;
	box-shadow: none;
	z-index: 5;
	font-size: 0;
	border: none;
	color: #b3b3b3;
	text-decoration: none;
}

.pdp-gallery-wrap .woocommerce-product-gallery__trigger::before,
.pdp-gallery-wrap .woocommerce-product-gallery__trigger::after {
	display: none !important;
	content: none !important;
}

.pdp-gallery-wrap .woocommerce-product-gallery__trigger .icon-zoom {
	display: inline-block;
	font-size: 28px;
	color: #b3b3b3;
	line-height: 1;
}

.pdp-gallery-wrap .woocommerce-product-gallery__trigger img,
.pdp-gallery-wrap .woocommerce-product-gallery__trigger > span:not(.icon) {
	display: none !important;
}

.pdp-gallery-wrap .flex-control-thumbs .woocommerce-product-gallery__trigger {
	display: none !important;
}

@media (max-width: 768px) {
	.pdp-gallery-wrap .flex-viewport .woocommerce-product-gallery__trigger,
	.pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__trigger {
		bottom: 28px;
		left: 20px;
	}
}

/* ---- Summary：多件優惠 / 促銷標籤 ---- */
.pdp-multi-buy {
	position: relative;
	margin: 12px 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #f5a623;
	border-radius: 8px;
}

.pdp-multi-buy-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
}

.pdp-multi-buy-badge {
	display: inline-block;
	padding: 4px 10px;
	background: #f5a623;
	color: #fff;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
}

.pdp-multi-buy-price {
	font-size: 22px;
	font-weight: 700;
	color: #e31837;
}

.pdp-multi-buy-price .woocommerce-Price-currencySymbol,
.pdp-multi-buy-price .amount {
	color: inherit;
}

.pdp-multi-buy-percent {
	font-size: 14px;
	color: #888;
}

.pdp-multi-buy-plus {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #f5a623;
	color: #fff;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	font-weight: 700;
}

.pdp-promo-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 8px 0 14px;
}

.pdp-promo-pills .pdp-pill {
	display: inline-block;
	padding: 6px 12px;
	background: #e8f4fc;
	color: #1e4fd6;
	border: 1px solid #b8d4f5;
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.3;
}

.pdp-promo-pills .pdp-promo-view-all {
	margin-left: auto;
	color: #f5a623;
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
}

.pdp-promo-pills .pdp-promo-view-all:hover {
	text-decoration: underline;
}

/* ---- 購買後資訊（原站：清單 / 送貨 / 預計送達） ---- */
.pdp-summary-extra {
	margin-top: 12px;
	padding-top: 0;
	border-top: none;
}

.pdp-summary-extra-row {
	padding: 0;
	margin: 0;
	border: none;
}

.pdp-summary-extra .pdp-wishlist-row {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 10px;
	padding: 0;
	border-bottom: 1px dashed #d8d8d8;
}

.pdp-summary-extra .pdp-wishlist-row .pdp-wishlist {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	box-sizing: border-box;
	padding: 14px 10px;
	border: none;
	background: transparent;
	color: #999;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.pdp-summary-extra .pdp-wishlist-text {
	font-size: 16px;
	font-weight: 500;
}

.pdp-summary-extra .pdp-wishlist-row .pdp-wishlist:hover {
	background-color: #f5f5f5;
	color: #666;
}

.pdp-summary-extra .pdp-wishlist-row .pdp-wishlist.is-active {
	color: #666;
}

.pdp-summary-extra .pdp-wishlist-row .pdp-buy-now {
	flex: 0 0 auto;
	align-self: center;
	margin: 8px 10px 8px 0;
	padding: 0 22px;
	min-height: 40px;
	height: 40px;
	border: 1px solid rgb(49, 80, 171);
	border-radius: 999px;
	background: #fff;
	color: rgb(49, 80, 171);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.15;
	white-space: nowrap;
	cursor: pointer;
	box-sizing: border-box;
	transition: background 0.15s ease, color 0.15s ease;
}

/* 與「加入我的購物清單」同列：清單佔剩餘空間，立即購買按內容加寬 */
.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist {
	flex: 1 1 auto;
	min-width: min-content;
	max-width: none;
	padding: 14px 10px;
	font-size: 15px;
}

.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist-text {
	font-size: 15px;
	white-space: nowrap;
}

.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-buy-now {
	flex: 0 0 auto;
	flex-shrink: 0;
	max-width: none;
	padding: 0 24px;
	font-size: 16px;
}

.pdp-summary-extra .pdp-wishlist-row .pdp-buy-now:hover {
	background: #f3f4fb;
}

.pdp-summary-extra .pdp-wishlist-row--buy-now-only .pdp-buy-now {
	flex: 1 1 auto;
	width: calc(100% - 20px);
	margin: 10px;
	max-width: none;
}

.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist {
	border-right: 1px dashed #e8e8e8;
}

.pdp-page .pdp-wishlist-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-sizing: content-box;
	width: 22px;
	height: 26.857px;
	margin: 0 5px;
	padding: 0;
	font-size: 22px;
	line-height: 1;
	color: #c8c8c8;
	transition: color 0.15s ease;
}

.pdp-page .pdp-wishlist:hover .pdp-wishlist-icon.icon-heart-off:before,
.pdp-page .pdp-wishlist-icon.icon-heart-on {
	color: #e31837;
}

.pdp-page .pdp-wishlist:hover .pdp-wishlist-icon.icon-heart-off:before {
	content: "\e821";
}

.pdp-summary-extra .pdp-shipping {
	padding: 0;
	border-top: 1px dashed #d8d8d8;
}

.pdp-summary-extra .pdp-shipping-row {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	align-items: center;
	column-gap: 28px;
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px dashed #d8d8d8;
	font-size: 14px;
	line-height: 1.5;
}

.pdp-summary-extra .pdp-shipping-row--stores {
	border-bottom: 1px dashed #d8d8d8;
}

.pdp-summary-extra .pdp-shipping-label {
	color: #333;
	margin: 0;
	font-size: 14px;
}

.pdp-summary-extra .pdp-shipping-content,
.pdp-summary-extra .pdp-shipping-options {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 24px;
	min-width: 0;
}

.pdp-summary-extra .pdp-shipping-option {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.pdp-summary-extra .pdp-shipping-value {
	color: #333;
	margin: 0;
	white-space: nowrap;
}

.pdp-summary-extra .pdp-shipping-info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	padding: 0;
	border: none;
	background: transparent;
	color: #333;
	cursor: pointer;
	line-height: 1;
}

.pdp-summary-extra .pdp-shipping-info .icon {
	font-size: 16px;
	line-height: 1;
	color: #333;
}

.pdp-summary-extra .pdp-shipping-tooltip {
	position: absolute;
	right: 0;
	bottom: calc(100% + 8px);
	z-index: 20;
	min-width: 240px;
	max-width: 320px;
	padding: 12px 14px;
	background: #333;
	color: #fff;
	border-radius: 4px;
	font-size: 13px;
	line-height: 1.5;
	text-align: left;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.pdp-summary-extra .pdp-shipping-tooltip::after {
	content: '';
	position: absolute;
	right: 12px;
	bottom: -6px;
	border: 6px solid transparent;
	border-top-color: #333;
	border-bottom: none;
}

.pdp-summary-extra .pdp-shipping-tooltip.is-open {
	display: block !important;
}

.pdp-summary-extra .pdp-shipping-link {
	color: #1e4fd6;
	text-decoration: underline;
	font-size: 14px;
}

.pdp-summary-extra .pdp-delivery-estimate-wrap {
	margin: 0;
	padding: 18px 0;
	background: #f0f7ff;
	border: none;
	border-bottom: 1px dashed #d8d8d8;
}

.pdp-summary-extra .pdp-delivery-estimate {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 400;
	color: #333;
	line-height: 1.5;
}

.pdp-summary-extra .pdp-delivery-estimate-highlight {
	font-size: 14px;
	font-weight: 600;
	color: #333;
}

.pdp-summary-extra .pdp-alcohol-legal-notice {
	margin: 15px 0 0;
	padding: 16px 18px;
	background: #e8e8e8;
	border: none;
	border-radius: 8px;
	box-sizing: border-box;
}

.pdp-summary-extra .pdp-alcohol-legal-notice__zh,
.pdp-summary-extra .pdp-alcohol-legal-notice__en {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #333;
}

.pdp-summary-extra .pdp-alcohol-legal-notice__zh + .pdp-alcohol-legal-notice__en {
	margin-top: 10px;
}

.pdp-summary-extra .pdp-alcohol-legal-notice__en {
	font-weight: 600;
}

/* Hide buy now when disabled via settings (class on body) */
body.pdp-no-buy-now .pdp-buy-now,
body.pdp-no-buy-now .btn-buy-now {
	display: none !important;
}

/* 複製連結成功 Toast（右上角） */
.ulive-copy-toast {
	position: fixed;
	top: 72px;
	right: 24px;
	z-index: 9999;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: #3d3d3d;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	border-radius: 2px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

.ulive-copy-toast.is-show {
	opacity: 1;
	transform: translateY(0);
}

.ulive-copy-toast .ulive-copy-toast-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #2ecc71;
	color: #fff;
	flex: 0 0 auto;
}

.ulive-copy-toast .ulive-copy-toast-text {
	white-space: nowrap;
}

/* ---- 详情区灰底（从 Tab 栏顶边起，原站 #f7f7f7 + 白卡） ---- */
.pdp-page .pdp-detail-zone {
	position: relative;
	margin: 0 calc(-1 * var(--pdp-gutter));
	padding: 0 var(--pdp-gutter) var(--pdp-gutter);
	background: #f7f7f7;
	box-sizing: border-box;
}

.pdp-page .pdp-detail-zone::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 100vw;
	margin-left: -50vw;
	background: #f7f7f7;
	z-index: 0;
}

.pdp-page .pdp-detail-zone > * {
	position: relative;
	z-index: 1;
}

.pdp-page .pdp-detail-zone .pdp-sticky-tab-bar {
	margin: 0;
	width: 100%;
}

.pdp-page .pdp-detail-zone .pdp-tabs-layout {
	margin-top: 0;
	padding-top: 32px;
}

/* ---- 详情主内容（长页滚动） ---- */
.pdp-detail-main {
	border-top: none;
	padding-bottom: 0;
	background: transparent;
}

.pdp-desc-content {
	padding-top: 0;
}

/* Description blocks */
.pdp-desc-block {
	margin-bottom: 24px;
}

.pdp-desc-block-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.pdp-desc-block-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.pdp-desc-view-all {
	font-size: 14px;
	color: #1e4fd6;
	text-decoration: none;
}

.pdp-desc-long .pdp-desc-block-title {
	margin: 0 0 12px;
}

.pdp-page .pdp-detail-zone .pdp-desc-block-body,
.pdp-page .pdp-detail-zone .pdp-desc-long .pdp-desc-box,
.pdp-page .pdp-detail-zone .pdp-desc-tags .pdp-desc-block-body {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 16px 20px;
	box-sizing: border-box;
}

.pdp-desc-box {
	font-size: 14px;
	line-height: 1.6;
}

.pdp-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pdp-tag {
	color: #1e4fd6;
	text-decoration: none;
	font-size: 14px;
}

/* Product rails */
.pdp-product-rail {
	margin-bottom: 28px;
}

.pdp-product-rail-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.pdp-product-rail-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.pdp-rail-pager {
	display: none;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.pdp-rail-prev,
.pdp-rail-next {
	width: 32px;
	height: 32px;
	border: 1px solid #ddd;
	border-radius: 50%;
	background: #fff;
	color: #333;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.pdp-rail-prev:disabled,
.pdp-rail-next:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.pdp-rail-page-indicator {
	font-size: 14px;
	color: #666;
	min-width: 48px;
	text-align: center;
}

.pdp-product-rail-viewport {
	overflow: hidden;
	width: 100%;
}

.pdp-product-rail-track {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	padding: 0 0 8px;
	margin: 0;
	transition: transform 0.3s ease;
	will-change: transform;
}

.pdp-product-rail-item {
	flex: 0 0 140px;
	scroll-snap-align: start;
	position: relative;
	box-sizing: border-box;
}

.pdp-product-rail-item .pns-product-card {
	min-width: 140px;
}

.pdp-product-rail--paginated .pdp-product-rail-item .pns-product-card {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.pdp-rail-viewing-badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: #f5a623;
	color: #fff;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 0 0 4px 0;
}

.pdp-product-rail-item.is-viewing .pns-product-card {
	border: 2px solid #f5a623;
	box-sizing: border-box;
}

/* 類似產品：首列固定「你睇緊」，其餘列分頁橫滑 */
.pdp-product-rail--fixed-viewing .pdp-product-rail-body {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 12px;
	width: 100%;
}

.pdp-product-rail--fixed-viewing .pdp-product-rail-fixed {
	flex: 0 0 auto;
	min-width: 0;
}

.pdp-product-rail--fixed-viewing .pdp-product-rail-scroll-viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.pdp-product-rail--fixed-viewing .pdp-product-rail-scroll-track {
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	margin: 0;
	padding: 0 0 8px;
	transition: transform 0.3s ease;
	will-change: transform;
}

.pdp-product-rail--fixed-viewing .pdp-product-rail-item {
	flex: 0 0 auto;
	position: relative;
	box-sizing: border-box;
}

.pdp-product-rail--fixed-viewing .pdp-product-rail-item .pns-product-card {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

@media (min-width: 769px) {
	.pdp-product-rail--paginated .pdp-rail-pager {
		display: inline-flex;
	}

	.pdp-product-rail--paginated:not(.pdp-product-rail--fixed-viewing) .pdp-product-rail-item {
		flex: 0 0 calc((100% - 36px) / 4);
		max-width: calc((100% - 36px) / 4);
	}

	.pdp-product-rail--paginated:not(.pdp-product-rail--fixed-viewing) .pdp-product-rail-item .pns-product-card {
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.pdp-product-rail--paginated .pdp-rail-pager {
		display: inline-flex;
	}

	.pdp-product-rail--paginated:not(.pdp-product-rail--fixed-viewing) .pdp-product-rail-viewport {
		overflow: hidden;
		scroll-snap-type: none;
		width: 100%;
	}

	.pdp-product-rail--paginated:not(.pdp-product-rail--fixed-viewing) .pdp-product-rail-track {
		padding-left: 0;
		padding-right: 0;
	}

	.pdp-product-rail:not(.pdp-product-rail--paginated) .pdp-product-rail-viewport {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}
}

/* 為您而設 — 灰底區上的標題 + 白卡捆綁 */
.pdp-for-you {
	margin-bottom: 32px;
	padding: 0;
	background: transparent;
}

.pdp-for-you-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 6px;
	color: #222;
}

.pdp-for-you-lead {
	font-size: 13px;
	color: #888;
	margin: 0 0 16px;
	line-height: 1.5;
}

.pdp-for-you-bundle {
	margin-bottom: 0;
}

.pdp-for-you-bundle + .pdp-for-you-bundle {
	margin-top: 16px;
}

.pdp-for-you-bundle-inner {
	padding: 16px 20px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.pdp-for-you-bundle-label {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 14px;
	color: #222;
}

.pdp-for-you-bundle-body {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.pdp-for-you-bundle-visual {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.pdp-for-you-thumb {
	display: block;
	width: 80px;
	height: 80px;
	border: 2px solid #3150ab;
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.pdp-for-you-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.pdp-for-you-plus {
	color: #3150ab;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.pdp-for-you-bundle-form {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.pdp-for-you-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
}

.pdp-for-you-checklist li {
	margin-bottom: 10px;
}

.pdp-for-you-checklist li:last-child {
	margin-bottom: 0;
}

.pdp-for-you-checklist label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #333;
	cursor: pointer;
}

.pdp-for-you-check {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #3150ab;
	cursor: pointer;
}

.pdp-for-you-check-name {
	flex: 1;
	min-width: 0;
	line-height: 1.4;
}

.pdp-for-you-check-price {
	margin-left: auto;
	color: #e31837;
	white-space: nowrap;
	font-size: 14px;
}

.pdp-for-you-check-price del {
	color: #999;
	font-size: 12px;
}

.pdp-for-you-bundle-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin-top: 14px;
	padding-top: 4px;
}

.pdp-for-you-total {
	margin: 0;
	font-size: 14px;
	color: #333;
	white-space: nowrap;
}

.pdp-for-you-total-amount {
	color: #e31837;
	font-size: 20px;
	font-weight: 700;
}

.pdp-for-you-add-cart {
	flex-shrink: 0;
	min-width: 140px;
	border: none;
	background: #ececec;
	color: #333;
	border-radius: 999px;
	padding: 10px 28px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

.pdp-for-you-add-cart:hover {
	background: #e0e0e0;
}

.pdp-for-you-add-cart:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

@media (max-width: 768px) {
	.pdp-for-you {
		padding: 0;
	}

	.pdp-for-you-bundle-body {
		flex-direction: column;
	}

	.pdp-for-you-bundle-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.pdp-for-you-add-cart {
		width: 100%;
	}
}

/* ---- 吸頂 Tab 欄（原站 tab-controll-container 60px） ---- */
.pdp-sticky-tab-bar-placeholder {
	display: none;
	height: 0;
}

.pdp-page .pdp-sticky-tab-bar {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	background: #f7f7f7;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
	z-index: 90;
	box-sizing: border-box;
}

.pdp-page .pdp-sticky-tab-bar .tab-controll-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 60px;
	min-height: 60px;
	box-sizing: border-box;
	background: #f7f7f7;
}

.pdp-page .pdp-sticky-tab-bar.is-fixed {
	position: fixed;
	z-index: 200;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	background: #f7f7f7;
	box-shadow: 0 1px 0 #e8e8e8;
	box-sizing: border-box;
	/* left / width 由 pdp.js 按 --pdp-gutter 与下方 .pdp-detail-zone 内容区对齐 */
}

@media (max-width: 768px) {
	.pdp-page .pdp-sticky-tab-bar .tab-controll-container {
		height: 48px;
		min-height: 48px;
		flex-wrap: nowrap;
	}
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-left {
	display: flex;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-item {
	display: inline-flex;
	align-items: center;
	height: 60px;
	padding: 0 32px;
	font-size: 15px;
	font-weight: 400;
	color: #888;
	text-decoration: none;
	border: none;
	border-bottom: 3px solid transparent;
	box-sizing: border-box;
	white-space: nowrap;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-item:hover {
	color: #333;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-item.is-active {
	color: #3150ab;
	border-bottom-color: #3150ab;
	font-weight: 500;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-right {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 24px;
	height: 60px;
	padding: 0 4px 0 0;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-cart-btn {
	flex-shrink: 0;
	height: 34px;
	min-width: 132px;
	padding: 0 28px;
	background: rgb(49, 80, 171);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 34px;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.15s ease;
}

.pdp-page .pdp-sticky-tab-bar .tab-bar-cart-btn:hover {
	background: #5671ce;
}

.pdp-page .pdp-sticky-tab-bar .pdp-tab-bar-wishlist {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	margin: 0 -10px;
	border: none;
	background: transparent;
	color: #999;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
	border-radius: 4px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.pdp-page .pdp-sticky-tab-bar .pdp-tab-bar-wishlist .pdp-wishlist-text {
	font-size: 16px;
	font-weight: 500;
}

.pdp-page .pdp-sticky-tab-bar .pdp-tab-bar-wishlist:hover {
	background-color: #eee;
	color: #666;
}

.pdp-page .pdp-sticky-tab-bar .pdp-tab-bar-wishlist.is-active {
	color: #666;
}

/* ---- Sticky bottom bar (mobile) ---- */
.pdp-sticky-bar {
	display: none;
}

@media (max-width: 768px) {
	body.pdp-sticky-bar-visible {
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	body.pdp-sticky-bar-visible .pdp-sticky-bar.is-visible {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 15px calc(10px + env(safe-area-inset-bottom, 0));
		background: #fff;
		border-top: 1px solid #e5e5e5;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
	}
	.pdp-sticky-bar-price {
		flex: 1;
		min-width: 0;
		line-height: 1.2;
	}

	.pdp-sticky-bar-price .price {
		font-size: 20px;
		font-weight: 700;
		color: #e31837;
	}

	.pdp-sticky-bar-price .price del {
		display: none;
	}

	.pdp-sticky-bar-price .price ins {
		text-decoration: none;
		color: #e31837;
		font-weight: 700;
	}

	.pdp-sticky-bar-price .price > .amount,
	.pdp-sticky-bar-price .price bdi {
		color: #e31837;
		font-weight: 700;
	}
	.pdp-sticky-bar-cart {
		flex-shrink: 0;
		background: rgb(49, 80, 171);
		color: #fff;
		border: none;
		border-radius: 999px;
		padding: 12px 24px;
		font-size: 16px;
		font-weight: 500;
		cursor: pointer;
	}
	.pdp-sticky-bar-cart:hover {
		background: #5671CE;
	}
}

/* Tab 區 + 右側同分類（原站：汽水 等） */
.pdp-tabs-layout {
	margin-top: 0;
}

@media (min-width: 769px) {
	.pdp-tabs-layout--with-sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 30px;
		align-items: start;
	}

	/* 左側優惠區與右側同分類列表頂部對齊（間距由 .pdp-tabs-layout padding-top 統一） */
	.pdp-tabs-layout--with-sidebar .pdp-detail-main,
	.pdp-tabs-layout--with-sidebar .pdp-category-sidebar {
		margin-top: 0;
		padding-top: 0;
		align-self: start;
	}

	.pdp-tabs-layout--with-sidebar .pdp-category-sidebar {
		position: sticky;
		top: 70px;
		max-height: calc(100vh - 90px);
		overflow-y: auto;
	}
}

/* 桌面隱藏手機區塊（須在 max-width 規則之前，避免層疊覆蓋 display:block） */
.pdp-category-products-mobile {
	display: none;
}

.pdp-page .pdp-category-sidebar {
	border: 1px solid #eee;
	border-radius: 4px;
	background: #fff;
	padding: 0;
}

.pdp-page .pdp-category-sidebar .sidebar-cat-header,
.pdp-page .pdp-category-products-mobile .sidebar-cat-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-bottom: 1px solid #eee;
}

.pdp-page .pdp-category-sidebar .sidebar-cat-title,
.pdp-page .pdp-category-products-mobile .sidebar-cat-title {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin: 0;
}

.pdp-page .pdp-category-sidebar .sidebar-cat-view-all,
.pdp-page .pdp-category-products-mobile .sidebar-cat-view-all {
	font-size: 13px;
	color: #2d7ff9;
	text-decoration: none;
	white-space: nowrap;
}

.pdp-page .pdp-category-sidebar .sidebar-cat-view-all:hover,
.pdp-page .pdp-category-products-mobile .sidebar-cat-view-all:hover {
	text-decoration: underline;
}

.pdp-page .pdp-category-sidebar .sidebar-cat-products,
.pdp-page .pdp-category-products-mobile .sidebar-cat-products {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pdp-page .pdp-category-sidebar .sidebar-product-item,
.pdp-page .pdp-category-products-mobile .sidebar-product-item {
	display: flex;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid #f5f5f5;
	align-items: flex-start;
}

.pdp-page .pdp-category-sidebar .sidebar-product-item:last-child,
.pdp-page .pdp-category-products-mobile .sidebar-product-item:last-child {
	border-bottom: none;
}

.pdp-page .pdp-category-sidebar .sidebar-product-thumb,
.pdp-page .pdp-category-products-mobile .sidebar-product-thumb {
	display: block;
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid #eee;
}

.pdp-page .pdp-category-sidebar .sidebar-product-thumb img,
.pdp-page .pdp-category-products-mobile .sidebar-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pdp-page .pdp-category-sidebar .sidebar-product-info,
.pdp-page .pdp-category-products-mobile .sidebar-product-info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pdp-page .pdp-category-sidebar .sidebar-product-title,
.pdp-page .pdp-category-products-mobile .sidebar-product-title {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
	color: #333;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pdp-page .pdp-category-sidebar .sidebar-product-title a,
.pdp-page .pdp-category-products-mobile .sidebar-product-title a {
	color: #333;
	text-decoration: none;
}

.pdp-page .pdp-category-sidebar .sidebar-product-title a:hover,
.pdp-page .pdp-category-products-mobile .sidebar-product-title a:hover {
	color: #2d7ff9;
}

.pdp-page .pdp-category-sidebar .sidebar-product-rating,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating {
	display: flex;
	align-items: center;
	gap: 2px;
}

.pdp-page .pdp-category-sidebar .sidebar-product-rating .ulive-review-stars,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating .ulive-review-stars {
	display: inline-flex;
	gap: 2px;
	align-items: center;
	line-height: 1;
}

.pdp-page .pdp-category-sidebar .sidebar-product-rating .ulive-review-stars .icon-star,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating .ulive-review-stars .icon-star {
	font-size: 12px;
	color: #ddd;
}

.pdp-page .pdp-category-sidebar .sidebar-product-rating .ulive-review-stars .icon-star:before,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating .ulive-review-stars .icon-star:before {
	color: #ddd;
}

.pdp-page .pdp-category-sidebar .sidebar-product-rating .ulive-review-stars .icon-star.active,
.pdp-page .pdp-category-sidebar .sidebar-product-rating .ulive-review-stars .icon-star.active:before,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating .ulive-review-stars .icon-star.active,
.pdp-page .pdp-category-products-mobile .sidebar-product-rating .ulive-review-stars .icon-star.active:before {
	color: var(--ulive-star-color);
}

.pdp-page .pdp-category-sidebar .sidebar-rating-count,
.pdp-page .pdp-category-products-mobile .sidebar-rating-count {
	font-size: 12px;
	color: #999;
	margin-left: 4px;
}

.pdp-page .pdp-category-sidebar .sidebar-product-price,
.pdp-page .pdp-category-products-mobile .sidebar-product-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.pdp-page .pdp-category-sidebar .sidebar-add-cart,
.pdp-page .pdp-category-products-mobile .sidebar-add-cart {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 500;
	color: #333;
	background: #f0f0f0;
	border: none;
	border-radius: 22px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
	line-height: 1;
}

.pdp-page .pdp-category-sidebar .sidebar-add-cart:hover,
.pdp-page .pdp-category-products-mobile .sidebar-add-cart:hover {
	background: #3fa7f3;
	color: #fff;
}

@media (max-width: 768px) {
	.pdp-tabs-layout--with-sidebar .pdp-category-sidebar {
		display: none;
	}

	.pdp-page .pdp-category-products-mobile {
		display: block;
		margin-top: 24px;
		background: #fff;
		border-radius: 12px;
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
		overflow: hidden;
	}
}

/* 同分類側欄 / 手機區塊：商品價格紅色（覆蓋 WC 全局 .price 與繼承色） */
.pdp-page .pdp-category-sidebar .sidebar-product-price .price,
.pdp-page .pdp-category-sidebar .sidebar-product-price .woocommerce-Price-amount,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price .woocommerce-Price-amount,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price > .amount,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price bdi,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price .woocommerce-Price-currencySymbol,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .woocommerce-Price-amount,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price .woocommerce-Price-amount,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price > .amount,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price bdi,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price .woocommerce-Price-currencySymbol {
	color: #E60012 !important;
	font-size: 15px;
	font-weight: 600;
}

.pdp-page .pdp-category-sidebar .sidebar-product-price .price del,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price del .amount,
.pdp-page .pdp-category-sidebar .sidebar-product-price .price del bdi,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price del,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price del .amount,
.pdp-page .pdp-category-products-mobile .sidebar-product-price .price del bdi {
	color: #999 !important;
	font-weight: 400;
	text-decoration: line-through;
}

/* 同分類側欄：價格 + 加入購物車同一行（對齊相關產品 pns-add-cart） */
.pdp-page .pdp-category-sidebar .sidebar-product-row,
.pdp-page .pdp-category-products-mobile .sidebar-product-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 4px;
}

.pdp-page .sidebar-product-row .sidebar-product-price {
	flex: 1 1 auto;
	min-width: 0;
}

.pdp-page .sidebar-product-row .sidebar-product-price .price {
	flex-wrap: nowrap;
}

/* Reviews — 原站：标题行 + 白卡片列表 + 右下分页 */
.pdp-reviews-section {
	margin-top: 48px;
	padding-top: 0;
	border-top: none;
	font-family: var(--font-primary);
}

/* 原站：標題單獨一行；其下 星級+分數+數量 左 | 提交用家評價 右 */
.pdp-reviews-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		'title title'
		'meta btn';
	align-items: center;
	column-gap: 20px;
	row-gap: 10px;
	margin-bottom: 16px;
}

.pdp-reviews-section-head-main {
	display: contents;
}

.pdp-reviews-section-title {
	grid-area: title;
	font-size: 24px;
	font-weight: 700;
	margin: 0;
	color: #222;
	line-height: 1.3;
}

.pdp-reviews-section-meta {
	grid-area: meta;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	min-width: 0;
}

.pdp-reviews-section .ulive-review-stars {
	display: inline-flex;
	gap: 2px;
	align-items: center;
	line-height: 1;
}

.pdp-reviews-section .ulive-review-stars .icon-star {
	font-size: 18px;
	color: #ddd;
}

.pdp-reviews-section .ulive-review-stars .icon-star:before {
	color: #ddd;
}

.pdp-reviews-section .ulive-review-stars .icon-star.active:before,
.pdp-reviews-section .ulive-review-stars .icon-star.active {
	color: var(--ulive-star-color);
}

.pdp-reviews-section .ulive-review-stars .icon-star.active.is-half:before {
	background: linear-gradient(90deg, var(--ulive-star-color) 50%, #ddd 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.pdp-reviews-section-score {
	font-weight: 600;
	color: #222;
}

.pdp-reviews-section-count {
	color: #666;
}

.pdp-reviews-submit-btn {
	grid-area: btn;
	justify-self: end;
	align-self: center;
	flex-shrink: 0;
	display: inline-block;
	padding: 10px 22px;
	border: none;
	background: #1e4fd6;
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
	font-family: var(--font-primary);
	line-height: 1.4;
}

.pdp-reviews-submit-btn:hover {
	background: #1739a8;
	color: #fff;
}

/* 未登入 — 提交評價提示彈窗（原站） */
.pdp-review-login-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.pdp-review-login-modal[hidden] {
	display: none !important;
}

.pdp-review-login-modal.is-open {
	display: flex !important;
}

.pdp-review-login-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.pdp-review-login-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 400px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
	overflow: hidden;
}

.pdp-review-login-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
}

.pdp-review-login-modal-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #222;
}

.pdp-review-login-modal-close {
	border: none;
	background: transparent;
	padding: 4px;
	cursor: pointer;
	color: #666;
	font-size: 20px;
	line-height: 1;
}

.pdp-review-login-modal-body {
	padding: 28px 24px 32px;
	text-align: center;
}

.pdp-review-login-modal-status {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 600;
	color: #1e4fd6;
}

.pdp-review-login-modal-hint {
	margin: 0 0 24px;
	font-size: 14px;
	color: #888;
	line-height: 1.5;
}

.pdp-review-login-modal-btn {
	display: inline-block;
	min-width: 120px;
	padding: 12px 32px;
	background: #1e4fd6;
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
}

.pdp-review-login-modal-btn:hover {
	background: #1739a8;
	color: #fff;
}

body.pdp-review-login-modal-open {
	overflow: hidden;
}

/* 登入 — 提交評價表單彈窗 */
.pdp-review-form-modal {
	position: fixed;
	inset: 0;
	z-index: 10051;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}

.pdp-review-form-modal[hidden] {
	display: none !important;
}

.pdp-review-form-modal.is-open {
	display: flex !important;
}

.pdp-review-form-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

.pdp-review-form-modal-dialog {
	position: relative;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 32px);
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
	overflow: hidden;
}

.pdp-review-form-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
}

.pdp-review-form-modal-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #222;
}

.pdp-review-form-modal-close {
	border: none;
	background: transparent;
	padding: 4px;
	cursor: pointer;
	color: #666;
	font-size: 20px;
	line-height: 1;
}

.pdp-review-form-modal-body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 20px 20px 24px;
	background: #f9f9f9;
}

.pdp-review-form-modal .pdp-reviews-form-wrap {
	margin: 0;
	padding: 0;
	border: none;
}

.pdp-review-form-modal .woocommerce-Reviews--form-only {
	margin: 0;
}

.pdp-review-form-modal .comment-respond {
	margin: 0;
	padding: 16px 16px 20px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
}

.pdp-review-form-modal .comment-reply-title,
.pdp-review-form-modal .comment-form-author,
.pdp-review-form-modal .comment-form-email {
	display: none;
}

.pdp-review-form-modal .pdp-review-form-field {
	margin: 0 0 18px;
}

.pdp-review-form-modal .pdp-review-form-label,
.pdp-review-form-modal .pdp-review-form-field > label {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 600;
	color: #333;
}

.pdp-review-form-modal .required {
	color: #e60012;
}

.pdp-review-form-modal .pdp-review-form-stars {
	display: flex;
	align-items: center;
	gap: 4px;
}

.pdp-review-form-modal .pdp-review-star-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	line-height: 1;
}

.pdp-review-form-modal .pdp-review-star-btn .icon-star {
	font-size: 28px;
	color: #ddd;
	line-height: 1;
	transition: color 0.15s ease;
}

.pdp-review-form-modal .pdp-review-star-btn .icon-star:before {
	color: #ddd;
}

.pdp-review-form-modal .pdp-review-star-btn.is-on .icon-star,
.pdp-review-form-modal .pdp-review-star-btn.is-on .icon-star:before,
.pdp-review-form-modal .pdp-review-star-btn:hover .icon-star.active,
.pdp-review-form-modal .pdp-review-star-btn:hover .icon-star.active:before {
	color: var(--ulive-star-color);
}

.pdp-review-form-modal .pdp-review-rating-select {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* WooCommerce 默认会在 #rating 前插入 p.stars 文字链接，PDP 已用星标按钮，隐藏残留 */
.pdp-review-form-modal #respond p.stars {
	display: none !important;
}

.pdp-review-form-modal .pdp-review-form-textarea {
	display: block;
	width: 100%;
	min-height: 120px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	resize: vertical;
	box-sizing: border-box;
	font-family: var(--font-primary);
}

.pdp-review-form-modal .pdp-review-form-textarea:focus {
	outline: none;
	border-color: #1e4fd6;
	box-shadow: 0 0 0 2px rgba(30, 79, 214, 0.15);
}

.pdp-review-form-modal .pdp-review-form-actions {
	margin: 4px 0 0;
	text-align: center;
}

.pdp-review-form-modal .pdp-review-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 160px;
	padding: 12px 32px;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: #1e4fd6;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	font-family: var(--font-primary);
	line-height: 1.4;
	transition: background 0.2s ease;
}

.pdp-review-form-modal .pdp-review-form-submit:hover {
	background: #1739a8;
}

.pdp-review-form-modal .woocommerce-verification-required,
.pdp-review-form-modal .pdp-review-verification-required {
	margin: 0;
	padding: 16px;
	font-size: 14px;
	color: #666;
	text-align: center;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
}

body.pdp-review-form-modal-open {
	overflow: hidden;
}

/* 白底圆角卡片 */
.pdp-reviews-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	padding: 0 20px;
}

.pdp-reviews-card.is-loading {
	opacity: 0.65;
	pointer-events: none;
}

.pdp-reviews-section .pdp-reviews-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: none;
}

/* 原站：左用戶 | 中評價正文 | 右星級（無正文時中間留空） */
.pdp-reviews-section .ulive-review-item.pdp-review-row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 20px;
	padding: 16px 0;
	margin: 0;
	border-bottom: 1px dotted #d8d8d8;
}

.pdp-reviews-section .pdp-review-row--has-text {
	align-items: flex-start;
}

.pdp-reviews-section .pdp-review-row--has-text .pdp-review-col-stars {
	padding-top: 2px;
}

.pdp-reviews-section .pdp-review-row:last-child {
	border-bottom: none;
}

.pdp-reviews-section .pdp-review-col-user {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	flex-shrink: 0;
}

.pdp-reviews-section .pdp-review-author {
	font-size: 14px;
	color: #6b9fd4;
	font-weight: 500;
}

.pdp-reviews-section .pdp-review-date {
	font-size: 13px;
	color: #999;
	line-height: 1.4;
}

.pdp-reviews-section .pdp-review-col-content {
	min-width: 0;
}

.pdp-reviews-section .pdp-review-col-content .ulive-review-content {
	font-size: 14px;
	color: #333;
	line-height: 1.6;
	word-break: break-word;
}

.pdp-reviews-section .pdp-review-col-content .ulive-review-content p {
	margin: 0;
}

.pdp-reviews-section .pdp-review-col-stars {
	justify-self: end;
	flex-shrink: 0;
}

.pdp-reviews-section .pdp-review-col-stars .ulive-review-stars .icon-star {
	font-size: 16px;
}

.pdp-reviews-empty {
	margin: 0;
	padding: 32px 0;
	text-align: center;
	color: #999;
	font-size: 14px;
}

/* 分页：右下（对齐原站 16px / 700；箭头 fontello icon-arrow-left/right） */
.pdp-reviews-section .pdp-reviews-pagination {
	display: flex;
	justify-content: flex-end;
	padding: 16px 0 20px;
}

.pdp-reviews-section .pdp-reviews-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--font-primary);
}

.pdp-reviews-section .pdp-reviews-pagination .page-numbers li {
	display: inline-block;
	margin: 0;
}

.pdp-reviews-section .pdp-reviews-pagination a.page-numbers,
.pdp-reviews-section .pdp-reviews-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: auto;
	padding: 0 2px;
	border: none;
	background: transparent;
	color: #666;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	-webkit-font-smoothing: antialiased;
}

.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.prev,
.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.next {
	min-width: 28px;
	padding: 0 4px;
	font-size: 0;
	color: #888;
}

.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.prev .icon,
.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.next .icon {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	color: #888;
	vertical-align: middle;
}

.pdp-reviews-section .pdp-reviews-pagination span.page-numbers.current {
	color: #1e4fd6;
}

.pdp-reviews-section .pdp-reviews-pagination a.page-numbers:hover {
	color: #1e4fd6;
}

.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.prev:hover .icon,
.pdp-reviews-section .pdp-reviews-pagination a.page-numbers.next:hover .icon {
	color: #1e4fd6;
}

.pdp-reviews-section .pdp-reviews-pagination .dots {
	pointer-events: none;
	color: #888;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/* 評價表單僅在彈窗內展示（見 .pdp-review-form-modal） */

@media (max-width: 768px) {
	.pdp-reviews-section {
		margin-top: 32px;
	}

	.pdp-reviews-section-head {
		column-gap: 12px;
		margin-bottom: 12px;
	}

	.pdp-reviews-section-title {
		font-size: 20px;
	}

	.pdp-reviews-section-meta {
		flex-wrap: wrap;
		font-size: 14px;
		gap: 4px;
	}

	.pdp-reviews-section .pdp-reviews-section-meta .ulive-review-stars .icon-star {
		font-size: 16px;
	}

	.pdp-reviews-submit-btn {
		padding: 8px 16px;
		font-size: 13px;
		line-height: 1.35;
	}

	.pdp-reviews-card {
		padding: 4px 16px 8px;
		border-radius: 12px;
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
	}

	/* 原站红框2：用戶+日期 左、星級 右；正文灰底圓角框通栏 */
	.pdp-reviews-section .ulive-review-item.pdp-review-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			'user stars'
			'content content';
		column-gap: 12px;
		row-gap: 10px;
		align-items: start;
		padding: 16px 0;
	}

	.pdp-reviews-section .pdp-review-row--has-text .pdp-review-col-stars {
		padding-top: 0;
	}

	.pdp-reviews-section .pdp-review-col-user {
		grid-area: user;
		gap: 6px;
	}

	.pdp-reviews-section .pdp-review-author {
		font-size: 15px;
	}

	.pdp-reviews-section .pdp-review-date {
		font-size: 13px;
	}

	.pdp-reviews-section .pdp-review-col-stars {
		grid-area: stars;
		justify-self: end;
		align-self: start;
	}

	.pdp-reviews-section .pdp-review-col-stars .ulive-review-stars .icon-star {
		font-size: 15px;
	}

	.pdp-reviews-section .pdp-review-col-content {
		grid-area: content;
		min-width: 0;
	}

	.pdp-reviews-section .pdp-review-row--no-text .pdp-review-col-content {
		display: none;
	}

	.pdp-reviews-section .pdp-review-col-content .ulive-review-content {
		background: #f3f3f3;
		border-radius: 8px;
		padding: 12px 14px;
		font-size: 14px;
		color: #333;
		line-height: 1.65;
	}

	.pdp-reviews-section .pdp-reviews-pagination {
		padding: 12px 0 16px;
	}
}

/* Breadcrumb mobile: truncate current */
@media (max-width: 768px) {
	.pdp-breadcrumb-row .breadcrumb-current {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 100%;
	}
}

/* ===== 移动端 PDP 适配（对齐原站 iPhone 布局） ===== */
@media (max-width: 900px) {
	.pdp-page .single-product-main.pdp-hero {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	.pdp-page .pdp-gallery-wrap.single-product-images {
		display: block !important;
		min-width: 0;
	}
}

@media (max-width: 768px) {
	.single-product-wrap.pdp-page {
		overflow-x: hidden;
		padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	}

	.single-product-wrap.pdp-page .pdp-container {
		--pdp-gutter: 12px;
		padding-left: 0;
		padding-right: 0;
	}

	.pdp-page .pdp-hero-zone,
	.pdp-page .pdp-detail-zone {
		margin-left: 0;
		margin-right: 0;
		padding-left: var(--pdp-gutter);
		padding-right: var(--pdp-gutter);
	}

	.pdp-page .pdp-hero-zone::before,
	.pdp-page .pdp-detail-zone::before {
		width: 100%;
		left: 0;
		margin-left: 0;
	}

	.pdp-page .pdp-product-info-group {
		min-width: 0;
	}

	.pdp-page .single-product-main.pdp-hero,
	.pdp-page .single-product-main.pdp-hero > .single-product-images,
	.pdp-page .single-product-main.pdp-hero > .single-product-summary,
	.pdp-page .pdp-detail-zone .pdp-tabs-layout,
	.pdp-page .pdp-detail-main,
	.pdp-page .pdp-desc-content,
	.pdp-page .pdp-desc-block,
	.pdp-page .pdp-detail-zone .pdp-desc-block-body,
	.pdp-page .pdp-detail-zone .pdp-desc-long .pdp-desc-box,
	.pdp-page .pdp-detail-zone .pdp-desc-tags .pdp-desc-block-body,
	.pdp-page .pdp-desc-box {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.pdp-page .pdp-desc-box img,
	.pdp-page .pdp-desc-box video,
	.pdp-page .pdp-desc-box iframe,
	.pdp-page .pdp-desc-box canvas,
	.pdp-page .pdp-desc-box svg {
		max-width: 100%;
		height: auto;
	}

	.pdp-page .pdp-desc-box table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.pdp-page .pdp-breadcrumb-row .woocommerce-breadcrumb {
		font-size: 13px;
	}

	body.pdp-sticky-bar-visible {
		padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
	}

	/* 主图区：全宽、圆点指示器 */
	.pdp-page .pdp-gallery-wrap.single-product-images .woocommerce-product-gallery,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .flex-viewport,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery > .woocommerce-product-gallery__image,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery .slides li {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* 單圖：自然高度；多圖橫滑由 :has(2+) 保持 1:1，勿用 height:auto 壓扁 */
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:not(:has(> .woocommerce-product-gallery__image:nth-child(2))),
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery:not(.ulive-gallery-mobile-track) .flex-viewport {
		border-width: 1px;
		height: auto !important;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:not(:has(> .woocommerce-product-gallery__image:nth-child(2))) > .woocommerce-product-gallery__image,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery:not(.ulive-gallery-mobile-track) > .woocommerce-product-gallery__image {
		border-width: 1px;
		height: auto !important;
	}

	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery__wrapper:not(:has(> .woocommerce-product-gallery__image:nth-child(2))) img,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery:not(.ulive-gallery-mobile-track) .flex-viewport img,
	.pdp-page .pdp-gallery-wrap .woocommerce-product-gallery:not(.ulive-gallery-mobile-track) > .woocommerce-product-gallery__image img {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	body.pdp-sticky-bar-visible .back-to-top {
		bottom: calc(76px + env(safe-area-inset-bottom, 0px));
		z-index: 99;
	}

	.pdp-page .pdp-product-info-head__title {
		font-size: 20px;
		line-height: 1.35;
	}

	.pdp-page .pdp-promo-pills {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 6px;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.pdp-page .pdp-promo-pills::-webkit-scrollbar {
		display: none;
	}

	.pdp-page .pdp-promo-pills .pdp-promo-view-all {
		margin-left: 4px;
		flex-shrink: 0;
	}

	/* 购买行：数量与加入购物车等宽（各 50%） */
	.pdp-page .pdp-purchase form.cart {
		flex-wrap: nowrap;
		gap: 8px;
	}

	.pdp-page .pdp-purchase form.cart .quantity {
		flex: 1 1 0;
		width: auto;
		max-width: none;
		min-width: 0;
		height: 48px;
	}

	.pdp-page .pdp-purchase form.cart .quantity .quantity-minus,
	.pdp-page .pdp-purchase form.cart .quantity .quantity-plus {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 12px 16px;
		min-width: 44px;
		min-height: 44px;
		font-size: 1.3rem;
	}

	.pdp-page .pdp-purchase form.cart .quantity input.qty {
		width: 56px;
		padding: 12px 4px;
		font-size: 1rem;
	}

	.pdp-page .pdp-purchase form.cart .product-action-buttons {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}

	.pdp-page .pdp-purchase form.cart .product-action-buttons .single_add_to_cart_button {
		min-height: 48px;
		height: 48px;
		font-size: 15px;
		padding-left: 12px;
		padding-right: 12px;
	}

	/* 購物清單 / 立即購買：移動端完整顯示清單文案，立即購買略加寬 */
	.pdp-summary-extra .pdp-wishlist-row--with-buy-now {
		gap: 8px;
		flex-wrap: wrap;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist {
		flex: 1 1 100%;
		min-width: 0;
		max-width: none;
		padding: 12px 8px;
		gap: 6px;
		font-size: 14px;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist-text {
		font-size: 14px;
		white-space: normal;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist-icon {
		width: 20px;
		height: 24px;
		margin: 0 2px;
		font-size: 20px;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-buy-now {
		flex: 1 1 100%;
		margin: 0 8px 8px;
		padding: 0 16px;
		font-size: 15px;
	}

	/* 吸顶 Tab：四項橫滑 + 隱藏右側加購（用底部吸底條） */
	.pdp-page .pdp-sticky-tab-bar .tab-controll-container {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: stretch;
	}

	.pdp-page .pdp-sticky-tab-bar .tab-bar-left {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.pdp-page .pdp-sticky-tab-bar .tab-bar-left::-webkit-scrollbar {
		display: none;
	}

	.pdp-page .pdp-sticky-tab-bar .tab-bar-item {
		height: 48px;
		padding: 0 16px;
		font-size: 14px;
		white-space: nowrap;
		flex-shrink: 0;
	}

	.pdp-page .pdp-sticky-tab-bar .tab-bar-right {
		display: none !important;
	}

	/* 灰底区与卡片 */
	.pdp-page .pdp-detail-zone {
		padding-bottom: 24px;
	}

	.pdp-page .pdp-desc-block-title {
		font-size: 17px;
	}

	.pdp-page .pdp-detail-zone .pdp-tabs-layout {
		padding-top: 24px;
	}

	/* 横向商品轨（非分页轨仍可横滑） */
	.pdp-page .pdp-product-rail:not(.pdp-product-rail--paginated) .pdp-product-rail-item {
		flex: 0 0 150px;
		max-width: 150px;
		scroll-snap-align: start;
	}

	.pdp-page .pdp-product-rail:not(.pdp-product-rail--paginated) .pdp-product-rail-track {
		display: flex;
		gap: 10px;
	}

	.pdp-page .pdp-product-rail--paginated .pdp-product-rail-item .pns-product-card {
		min-width: 0;
		width: 100%;
	}

	/* 分享弹层：居中浮层（對齊原站，非底部抽屉） */
	.pdp-share-modal {
		align-items: center;
		justify-content: center;
		padding: 16px;
	}

	.pdp-share-modal-dialog {
		width: 100%;
		max-width: min(640px, calc(100vw - 32px));
		border-radius: 12px;
	}
}

@media (max-width: 380px) {
	.pdp-page .pdp-purchase form.cart .product-action-buttons .single_add_to_cart_button {
		font-size: 14px;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist {
		padding: 10px 6px;
		font-size: 13px;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-wishlist-text {
		font-size: 13px;
	}

	.pdp-summary-extra .pdp-wishlist-row--with-buy-now .pdp-buy-now {
		padding: 0 16px;
		min-height: 36px;
		height: 36px;
		font-size: 14px;
		margin-right: 6px;
	}
}
