/**
 * Bytrn — Single product detail page (PDP) conversion system.
 * Scoped under .bytrn-pdp. Uses theme :root tokens from style.css.
 */

/* —— Shell —— */
body.single-product {
	background: var(--brand-bg, #fff) !important;
	color: var(--brand-text, #0a0a0a) !important;
}

body.single-product #content .ast-container {
	width: min(1120px, calc(100% - 40px)) !important;
	max-width: 1120px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.bytrn-pdp {
	margin: 0;
	padding: 0 0 var(--sp-10, 72px);
}

.bytrn-pdp-product {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

/* —— Hero: gallery + summary —— */
.bytrn-pdp-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: var(--sp-9, 56px);
	align-items: start;
	padding-top: var(--sp-7, 32px);
	padding-bottom: var(--sp-9, 56px);
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
}

/* —— Gallery system —— */
.bytrn-pdp-gallery-wrap {
	position: relative;
}

.bytrn-pdp-gallery-wrap .woocommerce-product-gallery {
	background: transparent;
	margin: 0;
}

.bytrn-pdp-gallery-wrap .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--brand-line, #d2d2d7);
	background: var(--brand-bg, #fff);
}

.bytrn-pdp-gallery-wrap .flex-viewport {
	border: 0;
}

.bytrn-pdp-gallery-wrap .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

.bytrn-pdp-gallery-wrap .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-3, 12px);
	margin: var(--sp-4, 16px) 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.bytrn-pdp-gallery-wrap .flex-control-thumbs li {
	width: 56px !important;
	margin: 0 !important;
	float: none !important;
}

.bytrn-pdp-gallery-wrap .flex-control-thumbs img {
	border: 1px solid var(--brand-line, #d2d2d7);
	opacity: 0.72;
	transition:
		opacity var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1)),
		border-color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp-gallery-wrap .flex-control-thumbs .flex-active,
.bytrn-pdp-gallery-wrap .flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp-gallery-wrap .woocommerce-product-gallery__trigger {
	border: 0;
	background: transparent;
	opacity: 0.55;
	transition: opacity var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp-gallery-wrap .woocommerce-product-gallery__trigger:hover {
	opacity: 1;
}

/* Sale flash: minimal, no badge stack */
.bytrn-pdp-gallery-wrap .onsale {
	position: absolute;
	z-index: 2;
	margin: var(--sp-3, 12px);
	padding: var(--sp-2, 8px) var(--sp-3, 12px);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--brand-text, #0a0a0a);
	color: #fff;
	border-radius: 999px;
	min-height: 0;
	line-height: 1.2;
}

/* —— Summary / typography rhythm —— */
.bytrn-pdp-summary {
	padding: 0 !important;
	margin: 0 !important;
}

.bytrn-pdp-eyebrow {
	margin: 0 0 var(--sp-4, 16px);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brand-text-3, #6e6e73);
}

.bytrn-pdp-summary .product_title {
	margin: 0 0 var(--sp-4, 16px) !important;
	font-size: clamp(32px, 4.2vw, 52px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.035em !important;
	font-weight: 700 !important;
	color: var(--brand-text, #0a0a0a) !important;
}

/* —— Summary psychology: price → trust strip → social → availability → copy → cart —— */
.bytrn-pdp-summary .price {
	margin: 0 0 var(--sp-3, 12px) !important;
	font-size: clamp(22px, 2.4vw, 28px) !important;
	font-weight: 650 !important;
	letter-spacing: -0.02em;
	color: var(--brand-text, #0a0a0a) !important;
}

.bytrn-pdp-summary .price del {
	opacity: 0.45;
	font-weight: 500;
}

.bytrn-pdp-trust-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-2, 8px) var(--sp-3, 12px);
	margin: 0 0 var(--sp-4, 16px);
	max-width: 36em;
}

.bytrn-pdp-trust-strip__item {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--brand-text-2, #2f2f35);
}

.bytrn-pdp-trust-strip__sep {
	color: var(--brand-text-3, #6e6e73);
	font-weight: 400;
	user-select: none;
}

.bytrn-pdp-social {
	margin: 0 0 var(--sp-3, 12px);
	font-size: 13px;
	line-height: 1.45;
}

.bytrn-pdp-social__link {
	color: var(--brand-text-2, #2f2f35);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 500;
	transition: color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp-social__link:hover {
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp-availability-context {
	margin: 0 0 var(--sp-4, 16px);
	padding: var(--sp-3, 12px) var(--sp-4, 16px);
	font-size: 13px;
	line-height: 1.5;
	color: var(--brand-text-2, #2f2f35);
	background: #f5f5f7;
	border-left: 2px solid var(--brand-text-3, #6e6e73);
	max-width: 36em;
}

.bytrn-pdp-summary .woocommerce-product-details__short-description {
	margin: var(--sp-5, 20px) 0 var(--sp-6, 24px);
	font-size: var(--fs-body, 16px);
	line-height: var(--lh-body, 1.62);
	color: var(--brand-text-2, #2f2f35);
	max-width: 38em;
}

.bytrn-pdp-summary .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* —— Cart / CTA hierarchy —— */
.bytrn-pdp-summary form.cart {
	display: flex;
	flex-direction: column;
	gap: var(--sp-4, 16px);
	margin: 0 0 var(--sp-5, 20px);
	padding: 0;
	border: 0;
	background: transparent;
}

.bytrn-pdp-summary .quantity {
	margin: 0 !important;
	width: 100%;
	max-width: 160px;
}

.bytrn-pdp-summary .quantity .qty {
	width: 100% !important;
	min-height: 48px !important;
	border: 1px solid var(--brand-line, #d2d2d7) !important;
	border-radius: 10px !important;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	background: var(--brand-bg, #fff);
}

.bytrn-pdp-summary .single_add_to_cart_button {
	width: 100%;
	max-width: 100%;
	min-height: 52px !important;
	height: auto !important;
	border-radius: 999px !important;
	font-size: 15px !important;
	font-weight: 650 !important;
	letter-spacing: 0.01em !important;
	background: var(--brand-cta, #111) !important;
	color: #fff !important;
	border: 1px solid var(--brand-cta, #111) !important;
	transition:
		background-color var(--ix-duration-base, 220ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1)),
		border-color var(--ix-duration-base, 220ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1)),
		transform var(--ix-duration-instant, 80ms) var(--ix-ease-tap, cubic-bezier(0.4, 0, 0.2, 1));
}

.bytrn-pdp-summary .single_add_to_cart_button:hover {
	background: var(--brand-cta-hover, #000) !important;
	border-color: var(--brand-cta-hover, #000) !important;
}

.bytrn-pdp-summary .single_add_to_cart_button:active {
	transform: scale(var(--ix-press-scale, 0.985));
}

.bytrn-pdp-secondary-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 var(--sp-5, 20px);
	font-size: 14px;
	font-weight: 600;
	color: var(--brand-text, #0a0a0a);
	text-decoration: none;
	border: 1px solid var(--brand-line, #d2d2d7);
	border-radius: 999px;
	background: var(--brand-bg, #fff);
	transition:
		border-color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1)),
		background-color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp-secondary-cta:hover {
	border-color: var(--brand-line-strong, #b9bac0);
	background: #fafafa;
}

.bytrn-pdp-cta-micro {
	margin: var(--sp-3, 12px) 0 0;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	color: var(--brand-text-3, #6e6e73);
	max-width: 100%;
}

.bytrn-pdp-cta-micro a {
	color: var(--brand-text-2, #2f2f35);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 500;
}

.bytrn-pdp-cta-micro a:hover {
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp-cta-micro-sep {
	margin: 0 0.35em;
	color: var(--brand-text-3, #6e6e73);
	user-select: none;
}

.bytrn-pdp-summary .product_meta {
	margin-top: var(--sp-6, 24px);
	padding-top: var(--sp-5, 20px);
	border-top: 1px solid var(--brand-line, #d2d2d7);
	font-size: var(--fs-body-sm, 14px);
	color: var(--brand-text-3, #6e6e73);
}

.bytrn-pdp-summary .product_meta a {
	color: var(--brand-text-2, #2f2f35);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Variable products */
.bytrn-pdp-summary .variations_form .reset_variations {
	font-size: 13px;
	font-weight: 600;
}

/* —— Shipping reassurance —— */
.bytrn-pdp-shipping {
	padding: var(--sp-8, 40px) 0;
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-shipping-inner {
	display: grid;
	gap: var(--sp-5, 20px);
	max-width: 52rem;
}

.bytrn-pdp-shipping-line {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: var(--sp-4, 16px);
	align-items: baseline;
}

.bytrn-pdp-kicker {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--brand-text-3, #6e6e73);
}

.bytrn-pdp-shipping-value {
	font-size: 15px;
	line-height: 1.55;
	color: var(--brand-text-2, #2f2f35);
}

/* —— Trust section —— */
.bytrn-pdp-trust {
	padding: var(--sp-8, 40px) 0;
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-trust-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-6, 24px);
}

.bytrn-pdp-trust-list li {
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--brand-line, #d2d2d7);
	padding-top: var(--sp-4, 16px);
}

.bytrn-pdp-trust-list strong {
	display: block;
	font-size: 13px;
	font-weight: 650;
	letter-spacing: -0.01em;
	color: var(--brand-text, #0a0a0a);
	margin-bottom: var(--sp-2, 8px);
}

.bytrn-pdp-trust-list span {
	font-size: 14px;
	line-height: 1.55;
	color: var(--brand-text-2, #2f2f35);
}

/* —— FAQ micro-layout (native <details>, low cognitive load) —— */
.bytrn-pdp-faq {
	padding: var(--sp-8, 40px) 0;
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-faq-title {
	margin: 0 0 var(--sp-5, 20px);
	font-size: clamp(18px, 1.8vw, 22px);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp-faq-list {
	max-width: 40rem;
	border-top: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-faq-item {
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-faq-summary {
	list-style: none;
	cursor: pointer;
	padding: var(--sp-4, 16px) 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--brand-text, #0a0a0a);
	letter-spacing: -0.01em;
	transition: color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp-faq-summary::-webkit-details-marker {
	display: none;
}

.bytrn-pdp-faq-item[open] .bytrn-pdp-faq-summary {
	color: var(--brand-text-2, #2f2f35);
}

.bytrn-pdp-faq-answer {
	padding: 0 0 var(--sp-4, 16px);
}

.bytrn-pdp-faq-answer p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--brand-text-2, #2f2f35);
}

/* —— Feature / specs breakdown —— */
.bytrn-pdp-features {
	padding: var(--sp-8, 40px) 0 var(--sp-9, 56px);
}

.bytrn-pdp-features-title {
	margin: 0 0 var(--sp-6, 24px);
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp-spec-grid {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp-spec-row {
	display: grid;
	grid-template-columns: minmax(0, 200px) 1fr;
	gap: var(--sp-5, 20px);
	padding: var(--sp-4, 16px) 0;
	border-bottom: 1px solid var(--brand-line, #d2d2d7);
	margin: 0;
}

.bytrn-pdp-spec-row dt {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--brand-text-3, #6e6e73);
}

.bytrn-pdp-spec-row dd {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--brand-text-2, #2f2f35);
}

.bytrn-pdp-features-copy {
	font-size: 15px;
	line-height: 1.65;
	color: var(--brand-text-2, #2f2f35);
	max-width: 42em;
}

.bytrn-pdp-features-fallback {
	margin: 0;
	font-size: 15px;
	color: var(--brand-text-3, #6e6e73);
	max-width: 40em;
}

.bytrn-pdp-sku-line {
	margin: var(--sp-5, 20px) 0 0;
	font-size: 14px;
	color: var(--brand-text-2, #2f2f35);
}

/* —— Tabs / long description —— flat, not card stack */
.bytrn-pdp .woocommerce-tabs {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.bytrn-pdp .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-4, 16px);
	margin: 0 0 var(--sp-6, 24px) !important;
	padding: 0 !important;
	list-style: none !important;
	border: 0 !important;
}

.bytrn-pdp .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

.bytrn-pdp .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.bytrn-pdp .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: var(--sp-2, 8px) 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--brand-text-3, #6e6e73);
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	background: transparent !important;
	transition:
		color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1)),
		border-color var(--ix-duration-fast, 160ms) var(--ix-ease-standard, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.bytrn-pdp .woocommerce-tabs ul.tabs li.active a,
.bytrn-pdp .woocommerce-tabs ul.tabs li a:hover {
	color: var(--brand-text, #0a0a0a);
	border-bottom-color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 15px;
	line-height: 1.65;
	color: var(--brand-text-2, #2f2f35);
	max-width: 52rem;
}

/* —— Reviews hierarchy (calm, editorial — not marketplace noise) —— */
.bytrn-pdp #reviews #comments {
	margin: 0;
	padding: 0;
}

.bytrn-pdp #reviews .woocommerce-Reviews-title {
	font-size: clamp(18px, 1.8vw, 22px);
	font-weight: 650;
	letter-spacing: -0.02em;
	margin: 0 0 var(--sp-5, 20px);
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp #reviews .commentlist {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.bytrn-pdp #reviews .commentlist .review {
	margin: 0 0 var(--sp-5, 20px) !important;
	padding: 0 0 var(--sp-5, 20px) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--brand-line, #d2d2d7) !important;
	background: transparent !important;
	box-shadow: none !important;
}

.bytrn-pdp #reviews .commentlist .review:last-child {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.bytrn-pdp #reviews .comment_container {
	display: block;
	margin: 0;
	padding: 0;
}

.bytrn-pdp #reviews .comment_container .avatar {
	display: none;
}

.bytrn-pdp #reviews .star-rating {
	float: none;
	margin: 0 0 var(--sp-2, 8px);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp #reviews .woocommerce-review__author {
	font-size: 14px;
	font-weight: 650;
	color: var(--brand-text, #0a0a0a);
}

.bytrn-pdp #reviews .woocommerce-review__published-date {
	font-size: 12px;
	color: var(--brand-text-3, #6e6e73);
	margin-left: var(--sp-2, 8px);
}

.bytrn-pdp #reviews .description {
	margin-top: var(--sp-3, 12px);
	font-size: 14px;
	line-height: 1.62;
	color: var(--brand-text-2, #2f2f35);
}

.bytrn-pdp #review_form_wrapper {
	margin-top: var(--sp-7, 32px);
	padding-top: var(--sp-6, 24px);
	border-top: 1px solid var(--brand-line, #d2d2d7);
	max-width: 40rem;
}

.bytrn-pdp #review_form .comment-reply-title {
	font-size: 15px;
	font-weight: 650;
	letter-spacing: -0.01em;
}

/* Related —— lighter footprint */
.bytrn-pdp .related.products {
	padding-top: var(--sp-8, 40px);
	border-top: 1px solid var(--brand-line, #d2d2d7);
}

.bytrn-pdp .related.products > h2 {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 650;
	letter-spacing: -0.02em;
	margin-bottom: var(--sp-6, 24px);
}

/* —— Mobile conversion flow —— */
@media (max-width: 900px) {
	.bytrn-pdp-hero {
		grid-template-columns: 1fr;
		gap: var(--sp-7, 32px);
		padding-top: var(--sp-5, 20px);
		padding-bottom: var(--sp-7, 32px);
	}

	body.single-product #content .ast-container {
		width: calc(100% - 24px) !important;
	}

	.bytrn-pdp-summary .quantity {
		max-width: 100%;
	}

	.bytrn-pdp-shipping-line {
		grid-template-columns: 1fr;
		gap: var(--sp-2, 8px);
	}

	.bytrn-pdp-trust-list {
		grid-template-columns: 1fr;
		gap: var(--sp-4, 16px);
	}

	.bytrn-pdp-spec-row {
		grid-template-columns: 1fr;
		gap: var(--sp-2, 8px);
	}
}

@media (max-width: 767px) {
	.bytrn-pdp-summary form.cart {
		position: sticky;
		bottom: 0;
		z-index: 50;
		margin: 0 0 var(--sp-3, 12px);
		padding: var(--sp-4, 16px);
		padding-bottom: calc(var(--sp-4, 16px) + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, 0.94);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		border: 1px solid var(--brand-line, #d2d2d7);
		border-radius: 14px;
		box-shadow: none;
	}

	.bytrn-pdp-summary .single_add_to_cart_button {
		width: 100%;
	}

	.bytrn-pdp-secondary-cta {
		width: 100%;
	}

	.bytrn-pdp-cta-micro {
		margin-top: var(--sp-2, 8px);
	}
}
