/**
 * @ownership product-single
 * WooCommerce single product page.
 *
 * woocommerce-single.css
 * ----------------
 * Allowed selectors:
 *   body.single-product*
 *   .dsp-main--product
 *   .dsp-single-product*
 *   .dsp-product-*
 *   .dsp-single-product * .woocommerce-*
 *   .dsp-single-product * .woocommerce *
 *
 * Forbidden:
 *   body
 *   html
 *   main
 *   .dsp-product-card*
 *   .dsp-home*
 *   .dsp-shop-archive*
 */

/* -------------------------------------------------------------------------
   Product page — compact header (same design, less vertical space)
   ------------------------------------------------------------------------- */

body.single-product .dsp-site-header__inner {
	min-height: 3.25rem;
	gap: var(--dsp-space-3);
}

body.single-product .dsp-site-header__logo-img,
body.single-product .dsp-site-header__logo img,
body.single-product .dsp-site-header__logo .custom-logo-link img {
	height: 44px;
}

/* -------------------------------------------------------------------------
   Page shell
   ------------------------------------------------------------------------- */

.dsp-main--product {
	padding-block: var(--dsp-space-3) var(--dsp-space-16);
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, var(--dsp-color-accent-subtle) 0%, transparent 55%),
		var(--dsp-color-bg-base);
}

.dsp-main--product .dsp-container {
	max-width: var(--dsp-container-2xl);
}

.dsp-single-product {
	padding-block: 0;
}

.dsp-single-product__hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dsp-space-6);
	margin-bottom: var(--dsp-space-8);
	align-items: start;
}

/* Gallery — primary showcase */
.dsp-single-product__gallery {
	position: relative;
	padding: var(--dsp-space-3);
	background-color: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-single-product__gallery .woocommerce-product-gallery,
.dsp-single-product__gallery div.images {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.dsp-single-product__gallery .woocommerce-product-gallery {
	margin: 0;
}

/* Flexslider viewport — showcase frame (background lives here, not on the slide track) */
.dsp-single-product__gallery .flex-viewport {
	width: 100% !important;
	height: auto !important;
	overflow: hidden !important;
	border-radius: var(--dsp-radius-lg);
	background:
		radial-gradient(circle at 50% 40%, var(--dsp-color-accent-subtle) 0%, transparent 60%),
		var(--dsp-color-bg-elevated);
}

/* Flexslider slide track — must not inherit flex centering (offsets slides out of view) */
.dsp-single-product__gallery .flex-viewport .woocommerce-product-gallery__wrapper {
	display: block;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: visible;
	background: none;
	border-radius: 0;
}

.dsp-single-product__gallery .flex-viewport .woocommerce-product-gallery__image {
	display: flex;
	align-items: center;
	justify-content: center;
	float: left;
	width: 100%;
	margin: 0;
	line-height: 0;
}

.dsp-single-product__gallery .flex-viewport .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	line-height: 0;
}

.dsp-single-product__gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg) {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(72vh, 36rem);
	margin: 0;
	object-fit: contain;
	object-position: center center;
	border-radius: 0;
	background-color: transparent;
}

.dsp-single-product__gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--dsp-space-3);
	width: 100%;
	max-width: 100%;
	margin: var(--dsp-space-4) 0 0;
	padding: 0;
	list-style: none;
	float: none !important;
	clear: both;
}

.dsp-single-product__gallery .flex-control-thumbs li {
	flex: 0 0 auto;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}

.dsp-single-product__gallery .flex-control-thumbs li img {
	display: block;
	width: 5.5rem !important;
	height: 5.5rem;
	aspect-ratio: 1;
	object-fit: cover;
	border: 2px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-md);
	cursor: pointer;
	opacity: 0.72;
	transition:
		border-color var(--dsp-transition-normal),
		transform var(--dsp-transition-fast),
		box-shadow var(--dsp-transition-normal),
		opacity var(--dsp-transition-normal);
}

.dsp-single-product__gallery .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--dsp-color-border-default);
	transform: translateY(calc(var(--dsp-space-1) * -0.5));
}

.dsp-single-product__gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--dsp-color-accent);
	box-shadow: 0 0 0 2px var(--dsp-color-accent-subtle);
	transform: translateY(calc(var(--dsp-space-1) * -0.5));
}

.dsp-single-product__gallery .woocommerce-product-gallery__trigger {
	top: var(--dsp-space-4);
	right: var(--dsp-space-4);
}

/* Summary — aligned with gallery, purchase-focused rhythm */
.dsp-single-product__summary {
	display: flex;
	flex-direction: column;
	gap: var(--dsp-space-4);
	padding: var(--dsp-space-6);
	background-color: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-single-product__summary .product_title {
	margin: 0 0 var(--dsp-space-1);
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-3xl);
	font-weight: var(--dsp-font-weight-bold);
	line-height: var(--dsp-line-height-tight);
	letter-spacing: var(--dsp-letter-spacing-tight);
	color: var(--dsp-color-text-primary);
}

.dsp-single-product__summary .woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--dsp-space-3);
	margin: 0 0 var(--dsp-space-3);
	padding-bottom: var(--dsp-space-4);
	border-bottom: 1px solid var(--dsp-color-border-subtle);
}

.dsp-single-product__summary .star-rating {
	color: var(--dsp-color-accent);
}

.dsp-single-product__summary .woocommerce-review-link {
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-muted);
	text-decoration: none;
}

.dsp-single-product__summary .woocommerce-review-link:hover,
.dsp-single-product__summary .woocommerce-review-link:focus-visible {
	color: var(--dsp-color-accent);
}

.dsp-single-product__summary .price {
	margin: 0 0 var(--dsp-space-4);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-3xl);
	font-weight: var(--dsp-font-weight-bold);
	line-height: var(--dsp-line-height-tight);
	color: var(--dsp-color-accent);
}

.dsp-single-product__summary .price del {
	margin-right: var(--dsp-space-3);
	font-size: var(--dsp-font-size-lg);
	font-weight: var(--dsp-font-weight-normal);
	color: var(--dsp-color-text-muted);
	opacity: 1;
}

.dsp-single-product__summary .price ins {
	text-decoration: none;
	color: var(--dsp-color-accent);
}

.dsp-single-product__summary .woocommerce-product-details__short-description {
	margin: 0 0 var(--dsp-space-4);
	padding: 0 0 var(--dsp-space-4);
	font-size: var(--dsp-font-size-md);
	line-height: var(--dsp-line-height-relaxed);
	color: var(--dsp-color-text-secondary);
	border-bottom: 1px solid var(--dsp-color-border-subtle);
}

.dsp-single-product__summary .stock {
	margin: 0 0 var(--dsp-space-3);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-secondary);
}

.dsp-single-product__summary .stock.in-stock {
	color: var(--dsp-color-accent);
}

.dsp-single-product__summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--dsp-space-4);
	margin: 0;
	padding: var(--dsp-space-5) 0 0;
	border-top: 1px solid var(--dsp-color-border-subtle);
}

.dsp-single-product__summary .quantity .qty {
	width: 4.5rem;
	padding: var(--dsp-space-3);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-primary);
	background: var(--dsp-color-bg-elevated);
	border: 1px solid var(--dsp-color-border-default);
	border-radius: var(--dsp-radius-md);
}

.dsp-single-product__summary .single_add_to_cart_button {
	padding: var(--dsp-space-4) var(--dsp-space-10);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-on-accent);
	background: var(--dsp-color-accent);
	border: none;
	border-radius: var(--dsp-radius-lg);
	box-shadow: var(--dsp-elevation-1-shadow);
	cursor: pointer;
	transition:
		background-color var(--dsp-transition-normal),
		transform var(--dsp-transition-fast),
		box-shadow var(--dsp-transition-normal);
}

.dsp-single-product__summary .single_add_to_cart_button:hover,
.dsp-single-product__summary .single_add_to_cart_button:focus-visible {
	background: var(--dsp-color-accent-hover);
	transform: scale(1.02);
	box-shadow: var(--dsp-elevation-2-shadow), 0 0 24px var(--dsp-color-accent-subtle);
}

.dsp-single-product__summary .product_meta {
	margin: var(--dsp-space-4) 0 0;
	padding-top: var(--dsp-space-4);
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-muted);
	border-top: 1px solid var(--dsp-color-border-subtle);
}

.dsp-single-product__summary .product_meta > span {
	display: block;
	margin-bottom: var(--dsp-space-2);
}

.dsp-single-product__summary .product_meta a {
	color: var(--dsp-color-accent);
	text-decoration: none;
}

/* Below hero */
.dsp-single-product__below {
	display: flex;
	flex-direction: column;
	gap: var(--dsp-space-8);
}

.dsp-single-product__below .woocommerce-tabs {
	margin: 0;
}

.dsp-single-product__below .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dsp-space-2);
	margin: 0 0 var(--dsp-space-5);
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--dsp-color-border-subtle);
}

.dsp-single-product__below .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}

.dsp-single-product__below .woocommerce-tabs ul.tabs li::before,
.dsp-single-product__below .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.dsp-single-product__below .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--dsp-space-3) var(--dsp-space-5);
	font-family: var(--dsp-font-family-heading);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-secondary);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition:
		color var(--dsp-transition-normal),
		border-color var(--dsp-transition-normal);
}

.dsp-single-product__below .woocommerce-tabs ul.tabs li.active a,
.dsp-single-product__below .woocommerce-tabs ul.tabs li a:hover,
.dsp-single-product__below .woocommerce-tabs ul.tabs li a:focus-visible {
	color: var(--dsp-color-accent);
	border-bottom-color: var(--dsp-color-accent);
}

.dsp-single-product__below .woocommerce-Tabs-panel {
	margin: 0;
	padding: var(--dsp-space-8);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-single-product__below .woocommerce-Tabs-panel h2:first-child {
	display: none;
}

.dsp-product-specs__list {
	margin: 0;
}

.dsp-product-specs__row {
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: var(--dsp-space-4);
	padding: var(--dsp-space-3) 0;
	border-bottom: 1px solid var(--dsp-color-border-subtle);
}

.dsp-product-specs__row:last-child {
	border-bottom: none;
}

.dsp-product-specs__row dt {
	margin: 0;
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-primary);
}

.dsp-product-specs__row dd {
	margin: 0;
	color: var(--dsp-color-text-secondary);
}

.dsp-product-delivery__list {
	margin: var(--dsp-space-4) 0 0;
	padding-left: var(--dsp-space-6);
	color: var(--dsp-color-text-secondary);
}

.dsp-product-delivery-summary {
	margin: 0;
}

.dsp-product-delivery-summary__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dsp-space-4);
	margin: 0;
	padding: var(--dsp-space-6);
	list-style: none;
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-product-delivery-summary__item {
	display: flex;
	align-items: center;
	gap: var(--dsp-space-3);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-primary);
}

.dsp-product-delivery-summary__item .dsp-icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--dsp-color-accent);
}

.dsp-single-product__below .related.products {
	margin: 0;
	padding: var(--dsp-space-8);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-single-product__below .related.products > h2 {
	margin: 0 0 var(--dsp-space-6);
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-2xl);
	font-weight: var(--dsp-font-weight-bold);
	color: var(--dsp-color-text-primary);
}

.dsp-single-product__below .related.products ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr));
	gap: var(--dsp-space-6);
	margin: 0;
	padding: 0;
	list-style: none;
}

.dsp-single-product__below .related.products ul.products::before,
.dsp-single-product__below .related.products ul.products::after {
	display: none;
}

.dsp-product-recent {
	margin: 0;
	padding: var(--dsp-space-8);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-product-recent__title {
	margin: 0 0 var(--dsp-space-2);
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-xl);
	font-weight: var(--dsp-font-weight-bold);
	color: var(--dsp-color-text-primary);
}

.dsp-product-recent__note {
	margin: 0 0 var(--dsp-space-4);
	font-size: var(--dsp-font-size-xs);
	color: var(--dsp-color-text-muted);
}

.dsp-product-recent__list {
	margin: 0;
	padding-left: var(--dsp-space-6);
	color: var(--dsp-color-text-secondary);
}

.dsp-product-faq {
	margin: 0;
}

.dsp-product-faq__title {
	margin: 0 0 var(--dsp-space-6);
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-2xl);
	font-weight: var(--dsp-font-weight-bold);
	color: var(--dsp-color-text-primary);
}

.dsp-product-faq__item {
	margin-bottom: var(--dsp-space-3);
	padding: var(--dsp-space-4) var(--dsp-space-5);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-lg);
	transition: border-color var(--dsp-transition-normal);
}

.dsp-product-faq__item[open] {
	border-color: var(--dsp-color-border-default);
}

.dsp-product-faq__question {
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-primary);
	cursor: pointer;
}

.dsp-product-faq__answer {
	margin: var(--dsp-space-3) 0 0;
	font-size: var(--dsp-font-size-sm);
	line-height: var(--dsp-line-height-relaxed);
	color: var(--dsp-color-text-secondary);
}

.dsp-product-trust {
	margin: 0;
}

.dsp-product-trust__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--dsp-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.dsp-product-trust__item {
	display: flex;
	align-items: center;
	gap: var(--dsp-space-3);
	padding: var(--dsp-space-4) var(--dsp-space-5);
	font-size: var(--dsp-font-size-sm);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-primary);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-lg);
	box-shadow: var(--dsp-elevation-1-shadow);
}

.dsp-product-trust__icon {
	display: flex;
	color: var(--dsp-color-accent);
}

.dsp-product-trust__icon .dsp-icon {
	width: 1.25rem;
	height: 1.25rem;
}

/* T-shirt PDP detail blocks */
.dsp-tshirt-details {
	margin-block: var(--dsp-space-8);
	padding: var(--dsp-space-6);
	background: var(--dsp-elevation-1-bg);
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-xl);
}

.dsp-tshirt-details__heading {
	margin: 0 0 var(--dsp-space-5);
	font-family: var(--dsp-font-family-display);
	font-size: var(--dsp-font-size-2xl);
	color: var(--dsp-color-text-primary);
}

.dsp-tshirt-details__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--dsp-space-6);
}

.dsp-tshirt-details__title {
	margin: 0 0 var(--dsp-space-3);
	font-size: var(--dsp-font-size-md);
	font-weight: var(--dsp-font-weight-semibold);
	color: var(--dsp-color-text-primary);
}

.dsp-tshirt-details__text {
	margin: 0;
	font-size: var(--dsp-font-size-sm);
	line-height: var(--dsp-line-height-relaxed);
	color: var(--dsp-color-text-secondary);
}

.dsp-tshirt-details__list {
	display: grid;
	gap: var(--dsp-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.dsp-tshirt-details__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--dsp-space-3);
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-secondary);
}

.dsp-tshirt-details__list--plain li {
	display: list-item;
	margin-left: 1.1rem;
	list-style: disc;
}

.dsp-tshirt-details__check {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin-top: 0.15rem;
	border-radius: 50%;
	background: var(--dsp-color-accent-subtle);
	box-shadow: inset 0 0 0 1px var(--dsp-color-accent);
	position: relative;
}

.dsp-tshirt-details__check::after {
	content: '';
	position: absolute;
	left: 0.28rem;
	top: 0.14rem;
	width: 0.24rem;
	height: 0.42rem;
	border-right: 2px solid var(--dsp-color-accent);
	border-bottom: 2px solid var(--dsp-color-accent);
	transform: rotate(45deg);
}

.dsp-tshirt-features__list,
.dsp-tshirt-care__list {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--dsp-color-text-secondary);
}

.dsp-tshirt-features__list {
	list-style: none;
	padding-left: 0;
	display: grid;
	gap: var(--dsp-space-2);
}

.dsp-tshirt-features__item {
	display: flex;
	gap: var(--dsp-space-3);
	align-items: flex-start;
}

.dsp-tshirt-features__check {
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	margin-top: 0.15rem;
	border-radius: 50%;
	background: var(--dsp-color-accent-subtle);
	box-shadow: inset 0 0 0 1px var(--dsp-color-accent);
	position: relative;
}

.dsp-tshirt-features__check::after {
	content: '';
	position: absolute;
	left: 0.28rem;
	top: 0.14rem;
	width: 0.24rem;
	height: 0.42rem;
	border-right: 2px solid var(--dsp-color-accent);
	border-bottom: 2px solid var(--dsp-color-accent);
	transform: rotate(45deg);
}

@media (min-width: 768px) {
	.dsp-tshirt-details__grid {
		grid-template-columns: 1fr 1fr;
	}

	.dsp-tshirt-details__block--wide {
		grid-column: 1 / -1;
	}

	.dsp-main--product {
		padding-block: var(--dsp-space-4) var(--dsp-space-16);
	}

	.dsp-single-product__hero {
		grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
		gap: var(--dsp-space-8);
		align-items: start;
	}

	.dsp-single-product__gallery .flex-control-thumbs li,
	.dsp-single-product__gallery .flex-control-thumbs li img {
		width: 6rem !important;
		height: 6rem;
	}

	.dsp-single-product__summary {
		padding: var(--dsp-space-6) var(--dsp-space-7);
	}

	.dsp-product-delivery-summary__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.dsp-product-trust__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.dsp-single-product__below .related.products ul.products {
		grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
		gap: var(--dsp-space-6);
	}
}

@media (min-width: 1024px) {
	.dsp-single-product__hero {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		gap: var(--dsp-space-10);
	}

	.dsp-single-product__gallery .flex-control-thumbs li,
	.dsp-single-product__gallery .flex-control-thumbs li img {
		width: 6.25rem !important;
		height: 6.25rem;
	}

	.dsp-single-product__gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg) {
		max-height: min(68vh, 40rem);
	}

	.dsp-single-product__summary .product_title {
		font-size: var(--dsp-font-size-4xl);
	}

	.dsp-single-product__summary .price {
		font-size: var(--dsp-font-size-4xl);
		margin-bottom: var(--dsp-space-5);
	}

	.dsp-single-product__summary form.cart {
		padding-top: var(--dsp-space-6);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dsp-single-product__gallery .flex-control-thumbs li img,
	.dsp-single-product__summary .single_add_to_cart_button {
		transition: none;
	}
}

/* ——— Premium T-shirt PDP ——— */

.dsp-tshirt-badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dsp-space-2);
	margin: 0 0 var(--dsp-space-3);
	padding: 0;
	list-style: none;
}

.dsp-tshirt-badges__item {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	font-size: var(--dsp-font-size-xs);
	font-weight: var(--dsp-font-weight-semibold);
	letter-spacing: 0.02em;
	color: var(--dsp-color-text-primary);
	background: color-mix(in srgb, var(--dsp-color-accent) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--dsp-color-accent) 35%, transparent);
	border-radius: var(--dsp-radius-sm);
}

.dsp-tshirt-badges__item--best_seller,
.dsp-tshirt-badges__item--popular {
	background: color-mix(in srgb, #c45c26 16%, transparent);
	border-color: color-mix(in srgb, #c45c26 40%, transparent);
}

.dsp-tshirt-badges__item--limited_edition {
	background: color-mix(in srgb, #1e3a5f 14%, transparent);
	border-color: color-mix(in srgb, #1e3a5f 40%, transparent);
}

.dsp-tshirt-badges__item--handmade {
	background: color-mix(in srgb, #4a7c59 14%, transparent);
	border-color: color-mix(in srgb, #4a7c59 40%, transparent);
}

.dsp-product-delivery-summary__item--eta span {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	line-height: 1.35;
}

.dsp-product-delivery-summary__eta-label {
	font-weight: var(--dsp-font-weight-semibold);
}

.dsp-product-delivery-summary__note {
	margin: var(--dsp-space-3) 0 0;
	font-size: var(--dsp-font-size-xs);
	color: var(--dsp-color-text-muted);
}

.dsp-product-delivery__eta {
	margin-top: var(--dsp-space-4);
}

.dsp-tshirt-wishlist {
	display: inline-flex;
	align-items: center;
	gap: var(--dsp-space-2);
	margin-top: var(--dsp-space-3);
	padding: 0.55rem 0.9rem;
	font: inherit;
	font-size: var(--dsp-font-size-sm);
	color: var(--dsp-color-text-primary);
	background: transparent;
	border: 1px solid var(--dsp-color-border-subtle);
	border-radius: var(--dsp-radius-md);
	cursor: pointer;
}

.dsp-tshirt-wishlist:hover,
.dsp-tshirt-wishlist:focus-visible {
	border-color: var(--dsp-color-accent);
}

.dsp-tshirt-wishlist.is-active {
	border-color: var(--dsp-color-accent);
	background: color-mix(in srgb, var(--dsp-color-accent) 10%, transparent);
}

.dsp-tshirt-wishlist__hint {
	margin: var(--dsp-space-2) 0 0;
	font-size: var(--dsp-font-size-xs);
	color: var(--dsp-color-text-muted);
}

.woocommerce-product-gallery__image {
	position: relative;
}

.dsp-tshirt-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
	cursor: zoom-in;
	touch-action: pan-y;
}

.dsp-tshirt-lightbox-open {
	overflow: hidden;
}

.dsp-tshirt-lightbox {
	position: fixed;
	inset: 0;
	z-index: calc(var(--dsp-z-sticky, 200) + 40);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--dsp-space-4);
	background: rgb(0 0 0 / 0.88);
}

.dsp-tshirt-lightbox__img {
	max-width: min(96vw, 56rem);
	max-height: 88vh;
	object-fit: contain;
	user-select: none;
}

.dsp-tshirt-lightbox__close,
.dsp-tshirt-lightbox__nav {
	position: absolute;
	border: 0;
	background: rgb(255 255 255 / 0.12);
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	padding: 0.35rem 0.65rem;
	border-radius: var(--dsp-radius-sm);
}

.dsp-tshirt-lightbox__close {
	top: 1rem;
	right: 1rem;
}

.dsp-tshirt-lightbox__nav--prev {
	left: 0.75rem;
}

.dsp-tshirt-lightbox__nav--next {
	right: 0.75rem;
}

.dsp-tshirt-sticky-atc {
	display: none;
}

@media (max-width: 767px) {
	.dsp-tshirt-pdp {
		padding-bottom: 5.5rem;
	}

	.dsp-tshirt-sticky-atc {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: var(--dsp-z-sticky, 200);
		padding: var(--dsp-space-3) var(--dsp-space-4) calc(var(--dsp-space-3) + env(safe-area-inset-bottom, 0px));
		background: color-mix(in srgb, var(--dsp-elevation-1-bg, #fff) 92%, transparent);
		backdrop-filter: blur(10px);
		border-top: 1px solid var(--dsp-color-border-subtle);
		box-shadow: 0 -8px 24px rgb(0 0 0 / 0.08);
		transform: translateY(110%);
		transition: transform 0.22s ease;
		pointer-events: none;
	}

	.dsp-tshirt-sticky-atc.is-visible {
		transform: translateY(0);
		pointer-events: auto;
	}

	.dsp-tshirt-sticky-atc__inner {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: var(--dsp-space-3);
		align-items: center;
		max-width: 40rem;
		margin: 0 auto;
	}

	.dsp-tshirt-sticky-atc__price {
		margin: 0;
		font-size: var(--dsp-font-size-lg);
		font-weight: var(--dsp-font-weight-bold);
		line-height: 1.2;
	}

	.dsp-tshirt-sticky-atc__opts {
		margin: 0.15rem 0 0;
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem 0.75rem;
		font-size: var(--dsp-font-size-xs);
		color: var(--dsp-color-text-secondary);
	}

	.dsp-tshirt-sticky-atc__btn {
		min-height: 2.75rem;
		padding-inline: 1.1rem;
		white-space: nowrap;
	}

	.dsp-tshirt-pdp .dsp-single-product__gallery .flex-viewport {
		content-visibility: auto;
		contain-intrinsic-size: 360px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dsp-tshirt-sticky-atc {
		transition: none;
	}
}

