/* ═══════════════════════════════════════════════════════════════════════════
   Decibel Peak Shop — Single Product Page
   ═══════════════════════════════════════════════════════════════════════════ */

.product-single-page {
	background: #080808;
	color: var(--color-white);
	min-height: 100vh;
	padding-top: var(--header-h);
}

/* ─── Two-Column Layout ──────────────────────────────────────────────────── */

.product-single__inner {
	max-width: var(--max-width);
	margin-inline: auto;
	padding: 4rem var(--space-md) 5rem;
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 3rem;
	align-items: start;
}

/* ─── Left Column ────────────────────────────────────────────────────────── */

.product-single__media {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

/* Mobile title (hidden on desktop) */
.product-single__title--mobile {
	display: none;
	font-family: var(--font-pilo);
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 100;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

/* ─── Video Embeds ───────────────────────────────────────────────────────── */

.product-single__video-wrap {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #111;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.07);
}

.product-single__video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.product-single__hero-image {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.07);
}

.product-single__hero-img {
	width: 100%;
	display: block;
}

.product-single__video-secondary { display: flex; flex-direction: column; gap: 0.75rem; }

.product-single__video-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.35);
}

.product-single__video-wrap--sm { border-radius: 8px; }

/* ─── Disclaimer ─────────────────────────────────────────────────────────── */

.product-single__disclaimer {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.3);
	line-height: 1.6;
	padding: 0.75rem 1rem;
	background: rgba(255,255,255,0.03);
	border-left: 2px solid rgba(22,243,253,0.3);
	border-radius: 0 6px 6px 0;
}

/* ─── Product Description ────────────────────────────────────────────────── */

.product-single__description {
	font-size: 0.88rem;
	line-height: 1.75;
	color: rgba(255,255,255,0.6);
}

.product-single__description p { margin-bottom: 0.9rem; }
.product-single__description p:last-child { margin-bottom: 0; }

.product-single__description ul,
.product-single__description ol {
	padding-left: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.product-single__description li { color: rgba(255,255,255,0.55); }

.product-single__description a { color: var(--color-accent); }
.product-single__description a:hover { text-decoration: underline; }

/* ─── Screenshots Gallery ────────────────────────────────────────────────── */

.product-single__gallery {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.product-single__gallery-label {
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.3);
}

.product-single__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
}

.product-single__gallery-item {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.06);
	transition: border-color 0.2s, transform 0.2s;
}

.product-single__gallery-item:hover {
	border-color: rgba(22,243,253,0.3);
	transform: translateY(-2px);
}

.product-single__gallery-item img {
	width: 100%;
	display: block;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* ─── Right Sidebar ──────────────────────────────────────────────────────── */

.product-single__sidebar {
	position: sticky;
	top: calc(var(--header-h) + 2rem);
}

.product-single__sticky {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	background: #0e0e0e;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	padding: 2rem;
}

/* Desktop title */
.product-single__title--desktop {
	font-family: var(--font-pilo);
	font-size: clamp(1.4rem, 2vw, 1.9rem);
	font-weight: 100;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--color-white);
}

/* ─── Price ──────────────────────────────────────────────────────────────── */

.product-single__price-row .price {
	font-family: var(--font-pilo);
	font-size: 2.4rem;
	font-weight: 100;
	letter-spacing: -0.02em;
	color: var(--color-white);
}

.product-single__price-row .price del {
	font-size: 1.2rem;
	color: rgba(255,255,255,0.3);
	margin-right: 0.4rem;
}

.product-single__price-row .price ins {
	text-decoration: none;
}

.product-single__price-row .woocommerce-Price-amount { color: var(--color-white); }

/* ─── License / Format Badges ───────────────────────────────────────────── */

.product-single__license-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.product-single__badge {
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 3px 9px;
	border-radius: 4px;
	white-space: nowrap;
}

.product-single__badge--license {
	background: rgba(22,243,253,0.08);
	color: var(--color-accent);
	border: 1px solid rgba(22,243,253,0.2);
}

.product-single__badge--formats {
	background: rgba(255,255,255,0.05);
	color: rgba(255,255,255,0.45);
	border: 1px solid rgba(255,255,255,0.1);
}

.product-single__badge--premium {
	background: rgba(251,191,36,0.12);
	color: #fbbf24;
	border: 1px solid rgba(251,191,36,0.3);
	letter-spacing: 0.1em;
}

/* ─── Add to Cart ────────────────────────────────────────────────────────── */

.product-single__atc .cart { display: flex; flex-direction: column; gap: 0.6rem; }

.product-single__atc .quantity { display: flex; align-items: center; gap: 0.5rem; }

.product-single__atc .qty {
	width: 60px;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 6px;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	color: var(--color-white);
	text-align: center;
	font-family: var(--font-body);
}

.product-single__atc button.single_add_to_cart_button,
.product-single__atc .single_add_to_cart_button {
	width: 100%;
	background: var(--color-accent);
	color: #080808;
	border: none;
	border-radius: 9px;
	padding: 0.85rem 1.5rem;
	font-size: 0.9rem;
	font-weight: 700;
	cursor: pointer;
	letter-spacing: 0.02em;
	transition: background 0.15s, box-shadow 0.15s;
	box-shadow: 0 0 18px rgba(22,243,253,0.3);
	font-family: var(--font-body);
}

.product-single__atc button.single_add_to_cart_button:hover {
	background: #0dd0d8;
	box-shadow: 0 0 28px rgba(22,243,253,0.55);
}

/* WC loading state */
.product-single__atc button.single_add_to_cart_button.loading {
	opacity: 0.7;
	cursor: wait;
}

/* ─── Guarantee Badge ────────────────────────────────────────────────────── */

.product-single__guarantee {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.8rem 1rem;
	background: rgba(22,243,253,0.05);
	border: 1px solid rgba(22,243,253,0.15);
	border-radius: 8px;
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255,255,255,0.75);
}

.product-single__guarantee-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: var(--color-accent);
}

/* ─── Features List ──────────────────────────────────────────────────────── */

.product-single__features {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.product-single__features-label {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.35);
}

.product-single__features-body {
	font-size: 0.82rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.6);
}

.product-single__features-body ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.product-single__features-body li {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.product-single__features-body li::before {
	content: '';
	flex-shrink: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--color-accent);
	margin-top: 0.5em;
}

/* ─── Meta (SKU / Categories) ────────────────────────────────────────────── */

.product-single__meta .product_meta {
	font-size: 0.72rem;
	color: rgba(255,255,255,0.3);
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.product-single__meta .product_meta span.sku,
.product-single__meta .product_meta span.posted_in,
.product-single__meta .product_meta span.tagged_as {
	display: block;
}

.product-single__meta .product_meta a { color: rgba(255,255,255,0.45); }
.product-single__meta .product_meta a:hover { color: var(--color-accent); }

/* ─── Share ──────────────────────────────────────────────────────────────── */

.product-single__share .sharedaddy { /* jetpack share */ }

/* ─── Tabs Section ───────────────────────────────────────────────────────── */

.product-single__tabs-section {
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 0 0 5rem;
	background: #080808;
}

.product-single__tabs-section .woocommerce-tabs {
	max-width: var(--max-width);
	margin-inline: auto;
	padding: 3rem var(--space-md) 0;
}

.product-single__tabs-section .tabs.wc-tabs {
	display: flex;
	gap: 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	list-style: none;
	padding: 0;
	margin: 0 0 2.5rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.product-single__tabs-section .tabs.wc-tabs::-webkit-scrollbar { display: none; }

.product-single__tabs-section .tabs.wc-tabs li {
	flex-shrink: 0;
}

.product-single__tabs-section .tabs.wc-tabs li a {
	display: block;
	padding: 0.85rem 1.4rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.4);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: color 0.15s, border-color 0.15s;
	white-space: nowrap;
}

.product-single__tabs-section .tabs.wc-tabs li a:hover {
	color: rgba(255,255,255,0.75);
}

.product-single__tabs-section .tabs.wc-tabs li.active a {
	color: var(--color-accent);
	border-bottom-color: var(--color-accent);
}

.product-single__tabs-section .woocommerce-Tabs-panel {
	font-size: 0.88rem;
	line-height: 1.8;
	color: rgba(255,255,255,0.6);
}

.product-single__tabs-section .woocommerce-Tabs-panel h2 {
	display: none; /* WC injects a duplicate heading */
}

.product-single__tabs-section .woocommerce-Tabs-panel p { margin-bottom: 0.9rem; }

.product-single__tabs-section .woocommerce-Tabs-panel ul,
.product-single__tabs-section .woocommerce-Tabs-panel ol {
	padding-left: 1.25rem;
	margin-bottom: 0.9rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.product-single__tabs-section .woocommerce-Tabs-panel a {
	color: var(--color-accent);
}

/* Additional information table */
.product-single__tabs-section .shop_attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.84rem;
}

.product-single__tabs-section .shop_attributes th,
.product-single__tabs-section .shop_attributes td {
	padding: 0.6rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	vertical-align: top;
}

.product-single__tabs-section .shop_attributes th {
	width: 160px;
	color: rgba(255,255,255,0.35);
	font-weight: 600;
	letter-spacing: 0.05em;
	padding-right: 1.5rem;
}

.product-single__tabs-section .shop_attributes td {
	color: rgba(255,255,255,0.6);
}

/* Reviews */
.product-single__tabs-section #reviews .comment-form-rating label,
.product-single__tabs-section #reviews p.stars a { color: var(--color-accent); }

.product-single__tabs-section #reviews .comment-form input,
.product-single__tabs-section #reviews .comment-form textarea {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 6px;
	color: var(--color-white);
	padding: 0.6rem 0.9rem;
	font-family: var(--font-body);
	font-size: 0.84rem;
	width: 100%;
}

.product-single__tabs-section #reviews .comment-form input:focus,
.product-single__tabs-section #reviews .comment-form textarea:focus {
	outline: none;
	border-color: rgba(22,243,253,0.35);
	box-shadow: 0 0 0 3px rgba(22,243,253,0.08);
}

.product-single__tabs-section #reviews #submit {
	background: var(--color-accent);
	color: #080808;
	border: none;
	border-radius: 7px;
	padding: 0.65rem 1.4rem;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
	font-family: var(--font-body);
	transition: background 0.15s;
}

.product-single__tabs-section #reviews #submit:hover { background: #0dd0d8; }

/* ─── Mobile ─────────────────────────────────────────────────────────────── */

@media (max-width: 1080px) {
	.product-single__inner {
		grid-template-columns: 1fr 340px;
		gap: 2rem;
	}
}

@media (max-width: 860px) {
	.product-single__inner {
		grid-template-columns: 1fr;
		padding-top: 2.5rem;
	}

	.product-single__sidebar {
		position: static;
		order: -1; /* Sidebar appears above media on mobile */
	}

	.product-single__title--desktop { display: none; }
	.product-single__title--mobile  { display: block; }

	.product-single__gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.product-single__sticky { padding: 1.5rem; }

	.product-single__gallery-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-single__gallery-item,
	.product-single__atc button { transition: none; }
}
