@charset "utf-8";

/* ========== Product Detail (shared shell — Power Bank / Buds T500 Pro) ========== */
.pd-page {
	background: #fff;
	color: #000;
}

.pd-wrap {
	width: 95%;
	max-width: none;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
}

/* —— Sticky subnav —— */
.pd-sticky {
	position: sticky;
	top: 5.5rem;
	z-index: 200;
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
}
.pd-sticky-inner {
	width: 95%;
	max-width: none;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 8rem;
	gap: 2rem;
	padding-top: 3rem;
	box-sizing: border-box;
}
.pd-sticky-left {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	min-width: 0;
}
.pd-sticky-name {
	font-family: 'Nexa Bold', 'Outfit', sans-serif;
	font-size: 3.6rem;
	line-height: 1.1;
	font-weight: 700;
	margin: 0;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}
.pd-tabs {
	display: flex;
	align-items: center;
	gap: 2.8rem;
}
.pd-tabs a {
	position: relative;
	font-family: 'Outfit', sans-serif;
	font-size: 1.4rem;
	line-height: 1.4rem;
	font-weight: 400;
	color: #000;
	padding-bottom: 1.2rem;
}
.pd-tabs a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: #000;
	opacity: 0;
	transform: scaleX(.6);
	transition: opacity .25s ease, transform .25s ease;
}
.pd-tabs a.is-active::after,
.pd-tabs a:hover::after {
	opacity: 1;
	transform: scaleX(1);
}
.pd-buy {
	flex-shrink: 0;
	width: 13.3rem;
	height: 5.1rem;
	border-radius: 20rem;
	background: #000;
	color: #fff;
	font-family: 'Outfit', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.pd-buy:hover {
	background: #ffa033;
	color: #fff;
}

/* —— Shared type —— */
.pd-accent {
	color: #ffa033;
}
.pd-eyebrow {
	font-family: 'Outfit', sans-serif;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: 500;
	margin: 0 0 1.2rem;
}
.pd-title {
	font-family: 'Nexa Bold', 'Outfit', sans-serif;
	font-size: clamp(3.2rem, 1.8rem + 2vw, 5.6rem);
	line-height: 1.1;
	font-weight: 700;
	margin: 0;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}
.pd-title-sm {
	font-family: 'Nexa Bold', 'Outfit', sans-serif;
	font-size: clamp(2.8rem, 1.6rem + 1.6vw, 4.4rem);
	line-height: 1.15;
	font-weight: 700;
	margin: 0;
}
.pd-title-md {
	font-family: 'Nexa Bold', 'Outfit', sans-serif;
	font-size: clamp(2.6rem, 1.5rem + 1.2vw, 3.6rem);
	line-height: 1.15;
	font-weight: 700;
	margin: 0;
}
.pd-lead {
	font-family: 'Outfit', sans-serif;
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: 500;
	margin: 1.6rem 0 0;
}
.pd-lead-reg {
	font-family: 'Outfit', sans-serif;
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: 400;
	margin: 1.8rem 0 0;
}
.pd-desc {
	font-family: 'Outfit', sans-serif;
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 300;
	margin: 2rem 0 0;
	max-width: 52.4rem;
}
.pd-list {
	list-style: none;
	margin: 3.2rem 0 0;
	padding: 0;
	max-width: none;
}
.pd-list li {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 4.8rem;
	padding: 1.8rem 0 1.8rem 1.8rem;
	font-family: 'Outfit', sans-serif;
	font-size: 1.6rem;
	line-height: 1.6rem;
	font-weight: 400;
	border-bottom: 1px solid #d8d8d8;
	box-sizing: border-box;
}

.pd-list li + li {
	margin-top: 0;
}
.pd-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	margin: 0;
	border-radius: 50%;
	background: #ffa033;
	transform: translateY(-50%);
}

/* —— Hero —— */
.pd-hero {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	background: #f5f5f5;
}
.pd-hero-bg {
	position: relative;
	width: 100%;
	height: auto;
}
.pd-hero-bg.rf-media.is-placeholder {
	/* Keep banner slot when CMS has no overview.bg yet */
	aspect-ratio: 1920 / 760;
	min-height: 0;
	background-color: #e8e8e8;
}
.pd-hero-bg img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: unset;
	object-position: center;
}
.pd-hero-content {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	padding: 4rem 0;
	box-sizing: border-box;
	z-index: 2;
}
/* Keep copy on the left so long titles wrap instead of covering the product */
.pd-hero-content.pd-wrap {
	left: 2.5%;
	right: auto;
	width: 48%;
	max-width: none;
	margin: 0;
}
.pd-icon {
	margin-bottom: 1.2rem;
	line-height: 0;
}
.pd-icon img {
	display: block;
	max-width: 20rem;
	max-height: 4rem;
	width: auto;
	height: auto;
}
.pd-hero .pd-title {
	font-size: clamp(3.2rem, 1.6rem + 2.6vw, 6rem);
	margin-top: 0.4rem;
	max-width: 100%;
}
.pd-hero-feats {
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin-top: 6rem;
}
.pd-hero-feat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.2rem;
	min-width: 14rem;
	padding-right: 3.2rem;
	margin-right: 3.2rem;
	border-right: 1px solid rgba(0,0,0,.2);
}
.pd-hero-feat:last-child {
	border-right: 0;
	margin-right: 0;
	padding-right: 0;
}
.pd-hero-feat img {
	height: 3rem;
	width: auto;
	display: block;
	object-fit: contain;
}
.pd-hero-feat-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3rem;
	min-height: 3rem;
}
.pd-hero-feat span {
	font-family: 'Outfit', sans-serif;
	font-size: 1.6rem;
	line-height: 1.25;
	font-weight: 300;
	white-space: pre-line;
	text-align: left;
}
/* First-screen text: play on load (not WOW scroll) */
.pd-hero-anim {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.pd-hero-anim.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

/* Overview without banner: list thumbnail on the right (rightpic.png sets height) */
.pd-hero.is-product .pd-hero-product {
	position: relative;
	z-index: 1;
	width: 50%;
	max-width: 50%;
	margin-left: auto;
	box-sizing: border-box;
}
.pd-hero-ph {
	display: block;
	width: 100%;
	height: auto;
	visibility: hidden;
	pointer-events: none;
}
.pd-hero-product.is-slot .pd-hero-photo-wrap {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pd-hero-product.is-slot .pd-hero-photo-wrap.rf-media.is-loading {
	background-color: transparent;
}
.pd-hero-product.is-slot .pd-hero-photo-wrap.rf-media.is-loading > img.rf-lazy,
.pd-hero-product.is-slot .pd-hero-photo-wrap > img.rf-lazy,
.pd-hero-photo {
	position: static;
	inset: auto;
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	margin: 0;
}

/* —— Reasons —— */
.pd-reasons {
	padding: 6% 0;
	text-align: left;
}
.pd-reasons.is-center {
	text-align: center;
}
.pd-reasons.is-right {
	text-align: right;
}
.pd-reasons .pd-title {
	margin-bottom: 5.6rem;
}
.pd-reasons-media {
	width: 100%;
	overflow: hidden;
	border-radius: 0;
}
.pd-reasons-media img {
	width: 100%;
	height: auto;
	display: block;
}

/* —— Feature blocks —— */
.pd-feature {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	background: #f5f5f5;
}
.pd-feature-bg {
	position: relative;
	width: 100%;
	height: auto;
}
.pd-feature-bg img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: unset;
	object-position: center;
}
.pd-feature-content {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: 95%;
	max-width: none;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	padding: 0;
	box-sizing: border-box;
	color: #000;
}
.pd-feature.is-light {
	background: #f3f3f3;
}
.pd-feature.is-light .pd-feature-content {
	color: #000;
}
.pd-feature .pd-list {
	margin-top: 2%;
}
.pd-feature .pd-list li {
	padding-left: 1.8rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.pd-feature .pd-list li::before {
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #ffa033;
	transform: translateY(-50%);
}
.pd-feature .pd-list li:last-child {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* Split feature (image + text) */
.pd-split {
	padding: 7% 0;
}
.pd-split-row {
	display: flex;
	align-items: center;
	gap: 5.6rem;
}
.pd-split-row.is-reverse {
	flex-direction: row-reverse;
}
.pd-split-media {
	flex: 0 0 60%;
	width: 60%;
	min-width: 0;
	overflow: hidden;
	border-radius: 1.6rem;
}
.pd-split-media img {
	width: 100%;
	height: auto;
	display: block;
}
.pd-split-copy {
	flex: 1 1 0;
	min-width: 0;
}
.pd-split .pd-list {
	margin-top: 4rem;
}

/* —— Safety —— */
.pd-safety {
	padding: 6rem 0 8rem;
	text-align: left;
}
.pd-safety.is-center {
	text-align: center;
}
.pd-safety.is-right {
	text-align: right;
}
.pd-safety .pd-title {
	margin-bottom: 1.6rem;
}
.pd-safety .pd-lead {
	margin: 0 0 4rem;
}
.pd-safety-media {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 1.6rem;
}
.pd-safety-media > img,
.pd-safety-media .pd-safety-cover {
	width: 100%;
	height: auto;
	display: block;
}
.pd-safety-icons {
	position: absolute;
	left: 1.6rem;
	right: 1.6rem;
	bottom: 1.6rem;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0;
	padding: 2.8rem 2rem 3rem;
	border-radius: 1.2rem;
	background: rgba(255, 255, 255, 0.42);
	border: 1px solid rgba(255, 255, 255, 0.65);
	-webkit-backdrop-filter: blur(2rem) saturate(1.2);
	backdrop-filter: blur(2rem) saturate(1.2);
	box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.06);
	color: #000;
	box-sizing: border-box;
}
.pd-safety-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 1.2rem;
	padding: 0 1.6rem;
	position: relative;
}
.pd-safety-item + .pd-safety-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 6.3rem;
	background: rgba(0, 0, 0, 0.15);
}
.pd-safety-item img {
	height: 3.6rem;
	width: auto;
	object-fit: contain;
	display: block;
}
.pd-safety-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 3.6rem;
	min-height: 3.6rem;
}
.pd-safety-item span {
	font-family: 'Outfit', sans-serif;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: 400;
	color: #000;
}

/* —— Gallery —— */
.pd-gallery {
	background: #ececec;
	padding: 6rem 0 2rem;
}
.pd-panel {
	background: #fff;
	padding: 4rem 4rem 4.8rem;
	box-sizing: border-box;
	border-radius: 1.6rem;
}
.pd-panel-head {
	margin-bottom: 2.4rem;
}
.pd-panel-line {
	height: 1px;
	background: #e5e5e5;
	margin: 2rem 0 3.2rem;
}
.pd-gallery-layout {
	display: flex;
	gap: 1.6rem;
	align-items: flex-start;
	min-height: 0;
}
.pd-gallery-thumbs-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	flex-shrink: 0;
	width: 10rem;
	max-width: 10rem;
	position: relative;
	z-index: 5;
	pointer-events: auto;
}
.pd-gallery-thumbs-nav {
	display: none;
	width: 3.2rem;
	height: 3.2rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #000;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	pointer-events: auto;
}
.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs-nav {
	display: inline-flex;
}
.pd-gallery-thumbs-nav .rf-arrow-img {
	width: 1.2rem;
	height: 1.2rem;
	filter: invert(1);
	display: block;
}
.pd-gallery-thumbs-prev .rf-arrow-img {
	transform: rotate(-90deg);
}
.pd-gallery-thumbs-next .rf-arrow-img {
	transform: rotate(90deg);
}
.pd-gallery-thumbs-nav.is-disabled {
	opacity: 0.28;
	pointer-events: none;
}
.pd-gallery-thumbs {
	display: block;
	width: 10rem;
	max-width: 100%;
	flex-shrink: 0;
	overflow: hidden;
}
.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs {
	/* 5 thumbs + 4 gaps */
	height: calc(10rem * 5 + 0.8rem * 4);
}
.pd-gallery-thumbs-track {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	width: 100%;
	transition: transform .35s ease;
	will-change: transform;
}
.pd-gallery-thumbs-track button {
	width: 10rem;
	height: 10rem;
	max-width: 100%;
	padding: 0;
	border: 2px solid #ccc;
	border-radius: 0.8rem;
	background: #f3f3f3;
	cursor: pointer;
	overflow: hidden;
	box-sizing: border-box;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	line-height: 0;
	display: block;
	pointer-events: auto;
}
.pd-gallery-thumbs-track button.is-active {
	border-color: #000;
}
.pd-gallery-thumbs-track img,
.pd-gallery-thumbs-track img.rf-lazy {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	display: block;
	border-radius: 0.6rem;
}
.pd-gallery-main {
	flex: 1;
	min-width: 0;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	overflow: hidden;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pd-gallery-icon {
	position: absolute;
	left: 1.6rem;
	top: 1.6rem;
	z-index: 3;
	line-height: 0;
	pointer-events: none;
}
.pd-gallery-icon img {
	display: block;
	max-width: 16rem;
	max-height: 3.2rem;
	width: auto;
	height: auto;
}
.pd-gallery-main .swiper {
	position: relative;
	inset: auto;
	width: 100%;
	height: auto;
	z-index: 1;
	overflow: hidden;
}
.pd-gallery-main .swiper-wrapper {
	height: auto;
	align-items: center;
}
.pd-gallery-main .swiper-slide {
	height: auto !important;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.pd-gallery-main .swiper-slide img,
.pd-gallery-main .swiper-slide img.rf-lazy {
	position: static;
	inset: auto;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: unset;
	display: block;
}
.pd-gallery-page {
	position: absolute;
	right: 2rem;
	top: 50%;
	bottom: auto;
	z-index: 3;
	font-family: 'Outfit', sans-serif;
	font-size: 1.6rem;
	line-height: 1.2;
	font-weight: 300;
	color: #000;
	text-align: center;
	white-space: pre-line;
	transform: translateY(-50%);
	pointer-events: none;
}

/* —— Parameter —— */
.pd-param {
	background: #ececec;
	padding: 0 0 8rem;
	margin-bottom: 1rem;
}
.pd-param .pd-panel {
	padding-top: 4rem;
}
.pd-param-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr 1.4fr;
	gap: 2.4rem 4rem;
	font-family: 'Outfit', sans-serif;
	font-size: 1.4rem;
	line-height: 2.8rem;
	font-weight: 400;
}
.pd-param-labels {
	color: #999;
}
.pd-param-values {
	color: #000;
	font-weight: 400;
}

/* —— Laptop / small desktop：大图左侧文案左移 —— */
@media screen and (max-width: 1600px) {
	.pd-wrap {
		width: 95%;
		max-width: none;
	}
	.pd-hero-content.pd-wrap {
		left: 2.5%;
		right: auto;
		width: 46%;
		max-width: none;
		margin: 0;
	}
	.pd-feature-content {
		left: 0;
		right: 0;
		width: 95%;
		max-width: none;
		margin: 0 auto;
	}
}
@media screen and (max-width: 1440px) {
	.pd-hero-content.pd-wrap {
		left: 2.5%;
		width: 48%;
		max-width: none;
	}
	.pd-feature-content {
		width: 95%;
		max-width: none;
	}
}
@media screen and (max-width: 1280px) {
	.pd-hero-content.pd-wrap {
		left: 2.5%;
		width: 50%;
		max-width: none;
	}
	.pd-feature-content {
		width: 95%;
		max-width: none;
	}
}

/* —— Tablet —— */
@media screen and (max-width: 1100px) {
	.pd-wrap {
		width: 95%;
		max-width: none;
	}
	.pd-hero-content.pd-wrap {
		left: 2.5%;
		right: auto;
		width: 54%;
		max-width: none;
		margin: 0;
	}
	.pd-feature-content {
		left: 0;
		right: 0;
		width: 95%;
		max-width: none;
		margin: 0 auto;
	}
	.pd-split-row {
		gap: 3.2rem;
	}
	.pd-split-media {
		flex: 0 0 55%;
		width: 55%;
	}
	.pd-safety-icons {
		padding: 2.2rem 1.2rem 2.4rem;
	}
	.pd-safety-item span {
		font-size: 1.4rem;
	}
	.pd-param-grid {
		gap: 1.6rem 2.4rem;
		font-size: 1.3rem;
		line-height: 2.4rem;
	}
}

/* —— Mobile —— */
@media screen and (max-width: 880px) {
	.pd-wrap {
		width: 95%;
		max-width: none;
	}
	.pd-sticky-inner {
		flex-wrap: wrap;
		min-height: auto;
		padding: 2rem 0 0 0;
		gap: 1rem;
	}
	.pd-sticky-left {
		width: 100%;
		flex: 1 1 100%;
		gap: 1rem;
	}
	.pd-sticky-name {
		font-size: 2.2rem;
	}
	.pd-tabs {
		gap: 1.6rem;
		overflow-x: auto;
		width: 100%;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.pd-tabs::-webkit-scrollbar {
		display: none;
	}
	.pd-tabs a {
		flex-shrink: 0;
		padding-bottom: 0.8rem;
	}
	.pd-buy {
		width: 11rem;
		height: 4rem;
		font-size: 1.5rem;
		margin-left: auto;
	}
	.pd-hero {
		height: auto;
		display: flex;
		flex-direction: column;
	}
	.pd-hero-bg {
		position: relative;
		order: 2;
		height: auto;
	}
	.pd-hero-bg img {
		height: auto;
		object-fit: unset;
		object-position: center;
	}
	.pd-hero-content,
	.pd-hero-content.pd-wrap,
	.pd-feature-content {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		order: 1;
		width: 95%;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}
	.pd-feature-content {
		width: 95%;
		max-width: none;
	}
	.pd-hero-content,
	.pd-hero-content.pd-wrap {
		padding: 3.2rem 0 2.4rem;
		align-items: flex-start;
		text-align: left;
	}
	.pd-hero.is-product .pd-hero-product {
		width: 100%;
		max-width: none;
		margin-left: 0;
		order: 2;
		padding: 0 2.4rem 2.8rem;
	}
	.pd-hero .pd-desc {
		max-width: 100%;
	}
	.pd-hero-feats {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0;
		margin-top: 3.2rem;
		width: 100%;
	}
	.pd-hero-feat {
		align-items: flex-start;
		text-align: left;
		border-right: 1px solid rgba(0,0,0,.15);
		margin: 0;
		padding: 0 1rem;
		min-width: 0;
		flex: 1 1 0;
	}
	.pd-hero-feat:last-child {
		border-right: 0;
	}
	.pd-hero-feat img {
		height: 2.6rem;
	}
	.pd-hero-feat span {
		font-size: 1.2rem;
		line-height: 1.3;
	}
	.pd-reasons {
		padding: 4.8rem 0 4rem;
	}
	.pd-reasons .pd-title {
		margin-bottom: 3.2rem;
	}
	.pd-feature,
	.pd-feature.is-light {
		height: auto;
		display: flex;
		flex-direction: column;
		background: #fff;
	}
	.pd-feature-bg {
		position: relative;
		order: 2;
		height: auto;
	}
	.pd-feature-bg img {
		height: auto;
		object-fit: unset;
		object-position: center;
	}
	.pd-feature-content {
		padding: 4rem 0 3.2rem;
		color: #000;
		text-align: left;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.pd-feature .pd-wrap {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.pd-feature .pd-list {
		margin-top: 2%;
		text-align: left;
		max-width: 100%;
		width: 100%;
	}
	.pd-split {
		padding: 7% 0;
	}
	.pd-split-row,
	.pd-split-row.is-reverse {
		flex-direction: column;
		gap: 2.4rem;
	}
	.pd-split-media {
		flex: none;
		width: 100%;
	}
	.pd-split-copy {
		width: 100%;
		text-align: left;
	}
	.pd-split .pd-list {
		text-align: left;
		margin-left: 0;
		margin-right: 0;
	}
	.pd-safety {
		padding: 4rem 0 5rem;
	}
	.pd-safety-media {
		overflow: visible;
	}
	.pd-safety-icons {
		position: static;
		left: auto;
		right: auto;
		bottom: auto;
		width: auto;
		margin: 1.6rem 0 0;
		grid-template-columns: repeat(2, 1fr);
		gap: 2.4rem 0;
		padding: 2.4rem 1.2rem;
		border-radius: 1.2rem;
	}
	.pd-safety-item + .pd-safety-item::before {
		display: none;
	}
	.pd-gallery,
	.pd-param {
		padding-left: 0;
		padding-right: 0;
	}
	.pd-param {
		padding-bottom: 5rem;
	}
	.pd-panel {
		padding: 2.4rem 2rem 3.2rem;
	}
	.pd-gallery-layout {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
		gap: 1.6rem;
		width: 100%;
	}
	.pd-gallery-thumbs-wrap {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		gap: 0;
		padding: 0;
	}
	.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs-nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 6;
		margin: 0;
	}
	.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs-prev {
		left: 0;
	}
	.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs-next {
		right: 0;
	}
	.pd-gallery-thumbs {
		width: 100%;
		height: auto !important;
		min-width: 0;
		overflow: hidden;
		flex: 1 1 auto;
	}
	.pd-gallery-thumbs-wrap.is-overflow .pd-gallery-thumbs {
		height: auto !important;
		flex: 1 1 auto;
		min-width: 0;
		width: 100%;
		overflow: hidden;
	}
	.pd-gallery-thumbs-track {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		width: max-content;
		max-width: none;
	}
	.pd-gallery-thumbs-prev .rf-arrow-img {
		transform: rotate(180deg);
	}
	.pd-gallery-thumbs-next .rf-arrow-img {
		transform: none;
	}
	.pd-gallery-thumbs-track button {
		width: 8rem;
		height: 8rem;
		max-width: none;
	}
	.pd-gallery-main {
		aspect-ratio: auto;
		min-height: 0;
		width: 100%;
		flex: none;
		align-self: stretch;
	}
	.pd-gallery-icon {
		left: 1.2rem;
		top: 1.2rem;
	}
	.pd-gallery-icon img {
		max-width: 12rem;
		max-height: 2.4rem;
	}
	.pd-gallery-main .swiper,
	.pd-gallery-main .swiper-wrapper,
	.pd-gallery-main .swiper-slide {
		height: auto !important;
	}
	.pd-gallery-main .swiper-slide img,
	.pd-gallery-main .swiper-slide img.rf-lazy {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: none;
	}
	.pd-gallery-page {
		right: 1.2rem;
		top: 50%;
		transform: translateY(-50%);
		font-size: 1.4rem;
	}
	.pd-param-grid {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		gap: 0.6rem 1.2rem;
		font-size: 1.2rem;
		line-height: 2.1rem;
	}
	.pd-param-labels,
	.pd-param-values {
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.pd-param-grid .pd-param-block:nth-child(3),
	.pd-param-grid .pd-param-block:nth-child(4) {
		margin-top: 1.6rem;
	}
}

@media screen and (max-width: 480px) {
	.pd-sticky-name {
		font-size: 2rem;
	}
	.pd-hero-feat {
		padding: 0 0.6rem;
	}
	.pd-hero-feat img {
		height: 2.4rem;
	}
	.pd-hero-feat span {
		font-size: 1.1rem;
	}
	.pd-gallery-main {
		aspect-ratio: auto;
		min-height: 0;
	}
	.pd-gallery-page {
		right: 0.8rem;
		font-size: 1.3rem;
	}
	.pd-param-grid {
		font-size: 1.15rem;
		line-height: 2rem;
		gap: 0.4rem 1rem;
	}
	.pd-safety-item span {
		font-size: 1.3rem;
	}
}

/* —— Lazy placeholders / ring spinner (uses shared .rf-media styles) —— */
.pd-page .rf-media {
	position: relative;
}
.pd-page .rf-media.is-loading {
	background-color: #e8e8e8;
}
/* 1×1 placeholder must not stretch the box to a square (non-gallery) */
.pd-page .rf-media.is-loading > img.rf-lazy {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}
.pd-gallery .rf-media.is-loading {
	background-color: transparent;
}
.pd-gallery .rf-media.is-loading > img.rf-lazy {
	position: static;
	inset: auto;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: unset;
	margin: 0 auto;
	opacity: 0;
	pointer-events: none;
}
.pd-gallery-thumbs-track button.rf-media.is-loading > img.rf-lazy {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	margin: 0;
	opacity: 0;
}
.pd-gallery .rf-media > img.rf-lazy.is-loaded {
	opacity: 1;
	pointer-events: none;
}
.pd-gallery-thumbs-track button.rf-media > img.rf-lazy.is-loaded {
	opacity: 1;
}
.pd-gallery-thumbs-track button.rf-media,
.pd-gallery-thumbs-track button.rf-media.is-loading {
	pointer-events: auto;
	cursor: pointer;
}
.pd-hero-bg.rf-media.is-loading {
	/* matches realfit 22.5W Fast.jpg 1920×760 */
	aspect-ratio: 1920 / 760;
	min-height: 0;
}
.pd-feature-bg.rf-media.is-loading {
	/* matches feature banners 1920×860 */
	aspect-ratio: 1920 / 860;
	min-height: 0;
}
.pd-reasons-media.rf-media.is-loading {
	/* 1280×668 */
	aspect-ratio: 1280 / 668;
}
.pd-split-media.rf-media.is-loading {
	/* 840×500 */
	aspect-ratio: 840 / 500;
	min-height: 0;
	background-color: #e8e8e8;
}
.pd-safety-media.rf-media.is-loading {
	/* 1280×650 */
	aspect-ratio: 1280 / 650;
	min-height: 0;
}
.pd-hero-feat-icon.rf-media.is-loading::before,
.pd-hero-feat-icon.rf-media.is-loading::after,
.pd-safety-icon.rf-media.is-loading::before,
.pd-safety-icon.rf-media.is-loading::after,
.pd-icon.rf-media.is-loading::before,
.pd-icon.rf-media.is-loading::after,
.pd-gallery-icon.rf-media.is-loading::before,
.pd-gallery-icon.rf-media.is-loading::after,
.pd-gallery-thumbs-track button.rf-media.is-loading::before,
.pd-gallery-thumbs-track button.rf-media.is-loading::after {
	width: 2rem;
	height: 2rem;
	margin: -1rem 0 0 -1rem;
}
.pd-gallery-main.rf-media.is-loading {
	background-color: transparent;
	min-height: 0;
}
.pd-gallery-thumbs-track button.rf-media.is-loading {
	background-color: #e8e8e8;
	min-width: 0;
	min-height: 0;
}
@media (max-width: 880px) {
	.pd-hero-bg.rf-media.is-loading,
	.pd-feature-bg.rf-media.is-loading,
	.pd-split-media.rf-media.is-loading,
	.pd-safety-media.rf-media.is-loading {
		min-height: 0;
	}
}

/* —— Shared block (title + media card) —— */
.pd-block {
	padding: 7% 0;
}
.pd-block-head {
	margin: 0 0 4.8rem;
	text-align: left;
}
.pd-block.is-center .pd-block-head {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.pd-block.is-right .pd-block-head {
	margin-left: auto;
	margin-right: 0;
	text-align: right;
}
.pd-block.is-left .pd-block-head {
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}
.pd-block-head .pd-title {
	margin-bottom: 1.6rem;
}
.pd-block-head .pd-title.is-nowrap {
	white-space: nowrap;
}
.pd-block-head .pd-desc {
	margin: 0;
	max-width: 64rem;
}
.pd-block.is-center .pd-block-head .pd-desc {
	margin-left: auto;
	margin-right: auto;
}
.pd-block.is-right .pd-block-head .pd-desc {
	margin-left: auto;
	margin-right: 0;
}
.pd-block-sub {
	margin: 1.2rem 0 0;
	font-family: 'Outfit', sans-serif;
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: 500;
	color: #000;
}
.pd-block-media {
	width: 100%;
	overflow: hidden;
	border-radius: 2.4rem;
	line-height: 0;
}
.pd-block-media.is-round {
	border-radius: 2.4rem;
}
.pd-block-media img {
	width: 100%;
	height: auto;
	display: block;
}
.pd-feature-content.is-top {
	justify-content: flex-start;
	padding-top: 8%;
}
.pd-feature-content .pd-desc {
	max-width: 48rem;
	color: inherit;
}
.pd-split.is-muted {
	background: #f5f5f5;
}
.pd-badge {
	display: inline-block;
	margin-top: 3.2rem;
	line-height: 0;
}
.pd-badge img {
	height: 5.4rem;
	width: auto;
	display: block;
}
.pd-split-copy .pd-lead {
	margin-top: 1.6rem;
}
.pd-split-copy .pd-desc {
	margin-top: 2rem;
}

/* —— Buds T500 Pro —— */
.pd-buds .pd-split {
	padding: 8% 0 5%;
}
.pd-buds .pd-block {
	padding: 3% 0 6%;
}
.pd-buds .pd-split + .pd-block {
	padding-top: 2%;
}
.pd-buds .pd-block + .pd-split {
	padding-top: 3%;
}
.pd-buds .pd-hero-bg.rf-media.is-loading,
.pd-buds .pd-hero-bg.rf-media.is-placeholder { aspect-ratio: 1920 / 761; }
.pd-buds .pd-reasons-media.rf-media.is-loading { aspect-ratio: 1384 / 1280; }
.pd-buds .pd-split-media.rf-media.is-loading { aspect-ratio: 840 / 500; }
.pd-buds .pd-block-media.rf-media.is-loading { aspect-ratio: 1280 / 600; }
.pd-buds .pd-ar-900.rf-media.is-loading { aspect-ratio: 1920 / 900; }
.pd-buds .pd-ar-860.rf-media.is-loading { aspect-ratio: 1920 / 860; }

@media screen and (max-width: 880px) {
	.pd-block {
		padding: 5.6rem 0;
	}
	.pd-buds .pd-split {
		padding: 4.8rem 0 2.4rem;
	}
	.pd-buds .pd-block {
		padding: 2.4rem 0 4.8rem;
	}
	.pd-buds .pd-split + .pd-block {
		padding-top: 1.6rem;
	}
	.pd-block-head {
		margin-bottom: 2.8rem;
	}
	.pd-block-head .pd-title.is-nowrap {
		white-space: nowrap;
		font-size: clamp(2.2rem, 5.5vw, 3.2rem);
	}
	.pd-block-media,
	.pd-block-media.is-round {
		border-radius: 1.6rem;
	}
	.pd-feature-content.is-top {
		padding-top: 0;
	}
	.pd-badge img {
		height: 4rem;
	}
}

/* PC / mobile overview & feature backgrounds */
.pd-page img.is-m-only {
	display: none;
}
@media (max-width: 768px) {
	.pd-page img.is-pc-only {
		display: none !important;
	}
	.pd-page img.is-m-only {
		display: block !important;
	}
}

