/* ── Product Detail Page ──────────────────────────────── */

/* ── Breadcrumb ───────────────────────────────────────── */
.pd-breadcrumb {
	padding: 88px 48px 0;
	background: var(--dark);
}

.pd-breadcrumb-inner {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.pd-breadcrumb a {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.32);
	text-decoration: none;
	transition: color 0.2s;
}

.pd-breadcrumb a:hover { color: rgba(255,255,255,0.7); }

.pd-breadcrumb-sep {
	font-size: 11px;
	color: rgba(255,255,255,0.18);
}

.pd-breadcrumb-current {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--red);
}

/* ── Detail Hero ──────────────────────────────────────── */
.pd-hero {
	padding: 40px 48px 80px;
	background: var(--dark);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	max-width: 1240px;
	margin: 0 auto;
	align-items: center;
}

.pd-hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
}

.pd-hero-eyebrow::before {
	content: '';
	display: block;
	width: 32px;
	height: 2px;
	background: var(--red);
	flex-shrink: 0;
}

.pd-hero-eyebrow span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--red);
}

.pd-hero-h1 {
	font-size: clamp(38px, 5vw, 68px);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.025em;
	color: var(--white);
	margin-bottom: 24px;
}

.pd-hero-h1 em { font-style: normal; color: var(--red); }

.pd-hero-lead {
	font-size: 17px;
	font-weight: 300;
	color: rgba(255,255,255,0.55);
	line-height: 1.8;
	max-width: 460px;
	margin-bottom: 36px;
}

.pd-hero-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--white);
	background: var(--red);
	padding: 14px 28px;
	border-radius: 2px;
	transition: opacity 0.2s, transform 0.2s;
}

.pd-hero-cta:hover { opacity: 0.86; transform: translateY(-1px); }

.pd-hero-img {
	position: relative;
	overflow: hidden;
	border-radius: 2px;
}

.pd-hero-img img {
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
	object-position: center;
	display: block;
	filter: grayscale(8%);
	transition: transform 0.7s ease, filter 0.4s;
}

.pd-hero-img:hover img { transform: scale(1.03); filter: grayscale(0%); }

/* ── Quick Specs Strip ────────────────────────────────── */
.pd-quick-specs {
	background: var(--dark2);
	border-top: 1px solid rgba(255,255,255,0.06);
	border-bottom: 1px solid rgba(255,255,255,0.06);
	padding: 0 48px;
}

.pd-quick-specs-inner {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scrollbar-width: none;
}

.pd-quick-specs-inner::-webkit-scrollbar { display: none; }

.pd-qs-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	padding: 24px 40px 24px 0;
	margin-right: 40px;
	border-right: 1px solid rgba(255,255,255,0.06);
	flex-shrink: 0;
	white-space: nowrap;
}

.pd-qs-item:last-child { border-right: none; margin-right: 0; }

.pd-qs-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.3);
}

.pd-qs-value {
	font-size: 15px;
	font-weight: 600;
	color: var(--white);
	letter-spacing: -0.01em;
}

/* ── Content Sections ─────────────────────────────────── */
.pd-section {
	padding: 88px 48px;
}

.pd-section-inner {
	max-width: 1240px;
	margin: 0 auto;
}

.pd-section-inner.two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.pd-section-inner.two-col.reverse { direction: rtl; }
.pd-section-inner.two-col.reverse > * { direction: ltr; }

.pd-section-eyebrow {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--red);
	margin-bottom: 16px;
}

.pd-section-h2 {
	font-size: clamp(28px, 3.5vw, 46px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--white);
	margin-bottom: 20px;
}

.pd-section-body {
	font-size: 16px;
	font-weight: 300;
	color: rgba(255,255,255,0.58);
	line-height: 1.85;
}

.pd-section-body + .pd-section-body { margin-top: 16px; }

/* light section */
.pd-section-light { background: var(--light); }
.pd-section-light .pd-section-eyebrow { color: rgba(0,0,0,0.45); }
.pd-section-light .pd-section-h2 { color: var(--dark); }
.pd-section-light .pd-section-body { color: rgba(0,0,0,0.6); }

/* dark2 section */
.pd-section-dark2 { background: var(--dark2); }

/* ── Feature Benefits Grid ────────────────────────────── */
.pd-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin-top: 56px;
}

.pd-feature {
	background: var(--dark3);
	padding: 36px 32px;
}

.pd-feature-num {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--red);
	line-height: 1;
	margin-bottom: 14px;
}

.pd-feature-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--white);
	margin-bottom: 10px;
}

.pd-feature-body {
	font-size: 14px;
	font-weight: 300;
	color: rgba(255,255,255,0.52);
	line-height: 1.75;
}

/* light variant */
.pd-feature-light { background: rgba(0,0,0,0.06); }
.pd-feature-light .pd-feature-title { color: var(--dark); }
.pd-feature-light .pd-feature-body { color: rgba(0,0,0,0.58); }

/* ── Gallery Strip ────────────────────────────────────── */
.pd-gallery {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 4px;
	margin-top: 56px;
}

.pd-gallery-cell { overflow: hidden; }

.pd-gallery-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 1;
	filter: grayscale(8%);
	transition: transform 0.6s ease, filter 0.4s;
}

.pd-gallery-cell:first-child img { aspect-ratio: 2/1.5; }

.pd-gallery-cell:hover img { transform: scale(1.04); filter: grayscale(0%); }

/* ── Extended Specs Table ─────────────────────────────── */
.pd-specs-full {
	margin-top: 0;
	border-top: 1px solid rgba(255,255,255,0.09);
}

.pd-spec-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}

.pd-spec-key {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.3);
	flex-shrink: 0;
	min-width: 120px;
}

.pd-spec-val {
	font-size: 14px;
	font-weight: 500;
	color: rgba(255,255,255,0.82);
	text-align: right;
}

/* light overrides */
.pd-section-light .pd-specs-full { border-top-color: rgba(0,0,0,0.1); }
.pd-section-light .pd-spec-row { border-bottom-color: rgba(0,0,0,0.07); }
.pd-section-light .pd-spec-key { color: rgba(0,0,0,0.38); }
.pd-section-light .pd-spec-val { color: rgba(0,0,0,0.78); }

/* ── FAQ ──────────────────────────────────────────────── */
.pd-faq { margin-top: 56px; }

.pd-faq-item {
	border-top: 1px solid rgba(255,255,255,0.08);
	padding: 28px 0;
}

.pd-faq-item:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }

.pd-faq-q {
	font-size: 15px;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 10px;
	letter-spacing: -0.01em;
}

.pd-faq-a {
	font-size: 14px;
	font-weight: 300;
	color: rgba(255,255,255,0.55);
	line-height: 1.8;
}

/* light faq */
.pd-section-light .pd-faq-item { border-top-color: rgba(0,0,0,0.1); }
.pd-section-light .pd-faq-item:last-child { border-bottom-color: rgba(0,0,0,0.1); }
.pd-section-light .pd-faq-q { color: var(--dark); }
.pd-section-light .pd-faq-a { color: rgba(0,0,0,0.6); }

/* ── Colors Section ───────────────────────────────────── */
.pd-colors-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 32px;
	flex-wrap: wrap;
}

.pd-color-chip {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pd-color-swatch {
	width: 28px;
	height: 28px;
	border-radius: 3px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.3);
	flex-shrink: 0;
}

.pd-color-name {
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,0.65);
	letter-spacing: 0.06em;
}

.pd-section-light .pd-color-swatch { box-shadow: inset 0 0 0 1px rgba(0,0,0,0.2); }
.pd-section-light .pd-color-name { color: rgba(0,0,0,0.6); }

/* ── Back-to-overview link ────────────────────────────── */
.pd-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.4);
	text-decoration: none;
	margin-top: 48px;
	transition: color 0.2s;
}

.pd-back::before {
	content: '←';
	font-size: 13px;
}

.pd-back:hover { color: var(--white); }

/* ── "View Details" link on overview page ─────────────── */
.pq-detail-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--red);
	margin-top: 20px;
	transition: gap 0.2s, opacity 0.2s;
}

.pq-detail-link::after { content: '→'; }

.pq-detail-link:hover { gap: 10px; opacity: 0.8; }

/* ── Mobile ───────────────────────────────────────────── */
@media (max-width: 991px) {
	.pd-breadcrumb { padding: 88px 24px 0; }

	.pd-hero {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 32px 24px 64px;
	}

	.pd-hero-img img { aspect-ratio: 16/10; }

	.pd-quick-specs { padding: 0 24px; }

	.pd-section { padding: 64px 24px; }

	.pd-section-inner.two-col {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.pd-section-inner.two-col.reverse { direction: ltr; }

	.pd-features { grid-template-columns: 1fr; }

	.pd-gallery { grid-template-columns: 1fr 1fr; }
	.pd-gallery-cell:first-child { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
	.pd-hero-h1 { font-size: clamp(32px, 10vw, 50px); }
	.pd-section-h2 { font-size: clamp(24px, 8vw, 38px); }
	.pd-gallery { grid-template-columns: 1fr; }
	.pd-gallery-cell:first-child img { aspect-ratio: 4/3; }
}
