/*
 * UnityStitches WooCommerce Skin
 */

:root {
	--us-purple: #6f3cff;
	--us-purple-dark: #5427d6;
	--us-black: #171717;
	--us-text: #292929;
	--us-muted: #6f6f6f;
	--us-border: #e9e7ed;
	--us-light: #f7f6fa;
	--us-radius: 14px;
}


/* =========================================================
   SHOP LAYOUT
   ========================================================= */

.woocommerce main,
.woocommerce-page main {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}


/* Reduce excess whitespace above shop content */

.woocommerce .wp-block-post-title,
.woocommerce-page .wp-block-post-title {
	margin-bottom: 1rem;
}


/* =========================================================
   SHOP TITLE / RESULT HEADER
   ========================================================= */

.woocommerce-products-header__title.page-title {
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1;
	margin-bottom: 1rem;
}

.woocommerce .woocommerce-result-count {
	color: var(--us-muted);
	font-size: 0.95rem;
	margin-top: 0.5rem;
}


/* =========================================================
   SORTING
   ========================================================= */

.woocommerce .woocommerce-ordering select {
	appearance: none;

	min-width: 190px;

	padding:
		0.7rem
		2.5rem
		0.7rem
		0.9rem;

	background:
		linear-gradient(45deg, transparent 50%, var(--us-text) 50%)
			calc(100% - 16px) calc(50% - 2px) / 5px 5px no-repeat,
		linear-gradient(135deg, var(--us-text) 50%, transparent 50%)
			calc(100% - 11px) calc(50% - 2px) / 5px 5px no-repeat,
		#fff;

	border: 1px solid var(--us-border);
	border-radius: 10px;

	font-size: 0.9rem;
	color: var(--us-text);

	cursor: pointer;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 42px 24px;

	margin-top: 2rem;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;

	display: flex;
	flex-direction: column;

	text-align: left;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.woocommerce ul.products li.product a img {
	display: block;

	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;

	margin: 0 0 18px;

	border-radius: var(--us-radius);

	background: var(--us-light);

	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.woocommerce ul.products li.product:hover a img {
	transform: translateY(-3px);

	box-shadow:
		0 14px 32px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   PRODUCT TITLE
   ========================================================= */

.woocommerce ul.products li.product
.woocommerce-loop-product__title {
	padding: 0;

	margin:
		0
		0
		7px;

	color: var(--us-black);

	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;

	letter-spacing: -0.01em;
}


/* =========================================================
   PRICE
   ========================================================= */

.woocommerce ul.products li.product .price {
	margin-bottom: 15px;

	color: var(--us-purple);

	font-size: 1rem;
	font-weight: 700;
}


/* =========================================================
   PRODUCT BUTTON
   ========================================================= */

.woocommerce ul.products li.product .button {
	display: block;

	width: 100%;

	margin-top: auto;
	padding: 12px 18px;

	border: 0;
	border-radius: 10px;

	background: var(--us-black);
	color: #fff;

	text-align: center;

	font-size: 0.9rem;
	font-weight: 600;

	transition:
		background 150ms ease,
		transform 150ms ease;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--us-purple);
	color: #fff;

	transform: translateY(-1px);
}


/* =========================================================
   SALE BADGE
   ========================================================= */

.woocommerce span.onsale {
	min-width: auto;
	min-height: auto;

	padding: 8px 11px;

	background: var(--us-purple);
	color: #fff;

	border-radius: 999px;

	line-height: 1;

	font-size: 0.72rem;
	font-weight: 700;
}


/* =========================================================
   FOCUS / ACCESSIBILITY
   ========================================================= */

.woocommerce a:focus-visible,
.woocommerce button:focus-visible,
.woocommerce select:focus-visible {
	outline: 3px solid rgba(111, 60, 255, 0.3);
	outline-offset: 3px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

	.woocommerce ul.products {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}

}

@media (max-width: 800px) {

	.woocommerce ul.products {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 32px 16px;
	}

	.woocommerce .woocommerce-ordering {
		float: none;
	}

}

@media (max-width: 480px) {

	.woocommerce ul.products {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 24px 12px;
	}

	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		font-size: 0.88rem;
	}

	.woocommerce ul.products li.product .price {
		font-size: 0.9rem;
	}

	.woocommerce ul.products li.product .button {
		padding: 10px 8px;
		font-size: 0.8rem;
	}

}


/* =========================================================
   UNITYSTITCHES - WOOCOMMERCE BLOCK SHOP
   WooCommerce 11.x / block theme overrides
   ========================================================= */


/* ---------- MAIN SHOP WIDTH ---------- */

body.woocommerce-shop .wp-site-blocks > main {
	width: calc(100% - 48px);
	max-width: 1280px;

	margin-left: auto;
	margin-right: auto;

	padding-top: 10px;
}


/* ---------- SHOP TITLE ---------- */

body.woocommerce-shop h1 {
	margin-top: 18px;
	margin-bottom: 18px;

	font-size: clamp(2.5rem, 4vw, 3.6rem);
	font-weight: 700;

	letter-spacing: -0.045em;
}


/* =========================================================
   PRODUCT COLLECTION GRID
   ========================================================= */

body.woocommerce-shop .wc-block-product-template {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 38px 24px !important;

	width: 100% !important;
}


/* Individual product */

body.woocommerce-shop .wc-block-product {
	display: flex !important;
	flex-direction: column !important;

	width: auto !important;
	min-width: 0 !important;

	margin: 0 !important;

	text-align: left !important;
}


/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

body.woocommerce-shop .wc-block-components-product-image {
	position: relative;

	width: 100%;

	aspect-ratio: 1 / 1;

	margin: 0 0 16px !important;

	overflow: hidden;

	border-radius: 15px;

	background: var(--us-light);
}

body.woocommerce-shop
.wc-block-components-product-image a {
	display: block;

	width: 100%;
	height: 100%;
}

body.woocommerce-shop
.wc-block-components-product-image img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;

	object-fit: contain !important;

	transition:
		transform 180ms ease;
}

body.woocommerce-shop
.wc-block-product:hover
.wc-block-components-product-image img {
	transform: scale(1.025);
}


/* =========================================================
   PRODUCT TITLE
   ========================================================= */

body.woocommerce-shop
.wc-block-components-product-name {
	display: block;

	margin: 0 0 7px !important;
	padding: 0 !important;

	color: var(--us-black) !important;

	font-size: 1rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;

	letter-spacing: -0.012em;

	text-align: left !important;
	text-decoration: none !important;
}

body.woocommerce-shop
.wc-block-components-product-name:hover {
	color: var(--us-purple) !important;
}


/* =========================================================
   PRODUCT PRICE
   ========================================================= */

body.woocommerce-shop
.wc-block-components-product-price {
	margin: 0 0 15px !important;

	color: var(--us-purple) !important;

	font-size: 1rem !important;
	font-weight: 700 !important;

	text-align: left !important;
}


/* =========================================================
   PRODUCT BUTTON
   ========================================================= */

body.woocommerce-shop
.wc-block-components-product-button {
	width: 100%;

	margin-top: auto !important;
}

body.woocommerce-shop
.wc-block-components-product-button__button,
body.woocommerce-shop
.wc-block-components-product-button
.wp-block-button__link {
	display: block !important;

	width: 100% !important;

	box-sizing: border-box;

	padding: 12px 16px !important;

	border: 0 !important;
	border-radius: 10px !important;

	background: var(--us-black) !important;
	color: #fff !important;

	font-size: 0.9rem !important;
	font-weight: 600 !important;

	text-align: center !important;
	text-decoration: none !important;

	transition:
		background 150ms ease,
		transform 150ms ease;
}

body.woocommerce-shop
.wc-block-components-product-button__button:hover,
body.woocommerce-shop
.wc-block-components-product-button
.wp-block-button__link:hover {
	background: var(--us-purple) !important;

	transform: translateY(-1px);
}


/* =========================================================
   SORT / RESULT ROW
   ========================================================= */

body.woocommerce-shop
.woocommerce-result-count {
	color: var(--us-muted);

	font-size: 0.92rem;
}

body.woocommerce-shop
.woocommerce-ordering {
	margin-bottom: 26px;
}


/* =========================================================
   RESPONSIVE PRODUCT GRID
   ========================================================= */

@media (max-width: 1050px) {

	body.woocommerce-shop .wc-block-product-template {
		grid-template-columns:
			repeat(3, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 800px) {

	body.woocommerce-shop .wp-site-blocks > main {
		width: calc(100% - 32px);
	}

	body.woocommerce-shop .wc-block-product-template {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 28px 16px !important;
	}

}


@media (max-width: 520px) {

	body.woocommerce-shop .wc-block-product-template {
		grid-template-columns:
			1fr !important;
	}

}


/* =========================================================
   UNITYSTITCHES PRODUCT CARD POLISH
   ========================================================= */

body.woocommerce-shop .wc-block-product {
	position: relative;
}


/* ---------- IMAGE TILE ---------- */

body.woocommerce-shop
.wc-block-components-product-image {
	display: flex;
	align-items: center;
	justify-content: center;

	aspect-ratio: 1 / 1;

	padding: 12px;
	box-sizing: border-box;

	background: #faf9fc;

	border: 1px solid #f0edf4;
	border-radius: 16px;

	overflow: hidden;
}


/*
 * Transparent product artwork such as tote bags and jewelry
 * gets some breathing room instead of touching the edges.
 */
body.woocommerce-shop
.wc-block-components-product-image img {
	max-width: 100% !important;
	max-height: 100% !important;

	object-fit: contain !important;

	border-radius: 10px;
}


/* ---------- PRODUCT INFORMATION ---------- */

body.woocommerce-shop
.wc-block-product
.wc-block-components-product-name {
	width: 100%;

	min-height: 2.75em;

	margin-top: 2px !important;

	text-align: left !important;

	font-size: 0.98rem !important;
	font-weight: 650 !important;
	line-height: 1.38 !important;
}


/* Force links within the product title left too */

body.woocommerce-shop
.wc-block-product
.wc-block-components-product-name a {
	text-align: left !important;
}


/* ---------- PRICE ---------- */

body.woocommerce-shop
.wc-block-product
.wc-block-components-product-price {
	width: 100%;

	margin-top: 8px !important;
	margin-bottom: 18px !important;

	text-align: left !important;

	color: var(--us-purple) !important;

	font-size: 0.95rem !important;
	font-weight: 700 !important;
}


/* ---------- BUTTON ---------- */

body.woocommerce-shop
.wc-block-product
.wc-block-components-product-button {
	margin-top: auto !important;

	padding-top: 4px;
}


/* ---------- HOVER ---------- */

body.woocommerce-shop
.wc-block-product:hover
.wc-block-components-product-image {
	border-color: #e2d9fb;

	box-shadow:
		0 12px 34px rgba(30, 20, 55, 0.07);
}


/* ---------- DESKTOP SPACING ---------- */

@media (min-width: 1051px) {

	body.woocommerce-shop
	.wc-block-product-template {
		gap: 44px 22px !important;
	}

}


/* ---------- MOBILE ---------- */

@media (max-width: 520px) {

	body.woocommerce-shop
	.wc-block-components-product-image {
		padding: 8px;
	}

	body.woocommerce-shop
	.wc-block-product
	.wc-block-components-product-name {
		min-height: auto;
	}

}


/* =========================================================
   EXACT WOOCOMMERCE 11 PRODUCT BLOCK OVERRIDES
   ========================================================= */


/* ---------- PRODUCT TITLE ---------- */

/*
 * WooCommerce renders the catalog title using wp-block-post-title,
 * not wc-block-components-product-name.
 */

body.woocommerce-shop
.wc-block-product
.wp-block-post-title {
	width: 100% !important;

	margin-top: 2px !important;
	margin-bottom: 8px !important;

	padding: 0 !important;

	text-align: left !important;

	font-size: 0.98rem !important;
	font-weight: 650 !important;
	line-height: 1.38 !important;

	letter-spacing: -0.012em;
}

body.woocommerce-shop
.wc-block-product
.wp-block-post-title a {
	display: block !important;

	width: 100%;

	color: var(--us-black) !important;

	text-align: left !important;
	text-decoration: none !important;
}

body.woocommerce-shop
.wc-block-product
.wp-block-post-title a:hover {
	color: var(--us-purple) !important;
	text-decoration: none !important;
}


/* ---------- PRICE ---------- */

body.woocommerce-shop
.wc-block-product
.wp-block-woocommerce-product-price {
	width: 100%;

	margin-top: 4px !important;
	margin-bottom: 18px !important;

	text-align: left !important;
}

body.woocommerce-shop
.wc-block-product
.wc-block-components-product-price,
body.woocommerce-shop
.wc-block-product
.wc-block-components-product-price.has-text-align-center {
	width: 100%;

	text-align: left !important;

	color: var(--us-purple) !important;

	font-size: 0.95rem !important;
	font-weight: 700 !important;
}


/* ---------- CARD HOVER ---------- */

body.woocommerce-shop
.wc-block-product {
	transition: transform 180ms ease;
}

body.woocommerce-shop
.wc-block-product:hover {
	transform: translateY(-2px);
}


/* Keep button centered/full width */

body.woocommerce-shop
.wp-block-button.wc-block-components-product-button {
	width: 100% !important;

	align-items: stretch !important;
}

body.woocommerce-shop
.wp-block-button.wc-block-components-product-button
.wp-block-button__link {
	width: 100% !important;
}


/* =========================================================
   SHOP CATEGORY NAVIGATION
   ========================================================= */

.us-shop-categories {
	width: 100%;
	max-width: 1280px;

	margin: 10px auto 34px;
}

.us-shop-categories__grid {
	display: grid;

	grid-template-columns:
		repeat(6, minmax(0, 1fr));

	gap: 12px;
}


/* ---------- CATEGORY CARD ---------- */

.us-category-card {
	display: flex;
	flex-direction: column;
	justify-content: center;

	min-height: 82px;

	box-sizing: border-box;

	padding: 16px 18px;

	border: 1px solid #ebe5f5;
	border-radius: 14px;

	background: #faf8ff;

	color: var(--us-black) !important;

	text-decoration: none !important;

	transition:
		transform 160ms ease,
		border-color 160ms ease,
		box-shadow 160ms ease,
		background 160ms ease;
}

.us-category-card:hover {
	transform: translateY(-2px);

	background: #ffffff;

	border-color: #cfbcff;

	box-shadow:
		0 10px 28px rgba(70, 40, 120, 0.08);
}


/* ---------- CATEGORY NAME ---------- */

.us-category-card__name {
	display: block;

	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.25;

	color: var(--us-black);
}


/* ---------- CATEGORY COUNT ---------- */

.us-category-card__count {
	display: block;

	margin-top: 5px;

	color: var(--us-muted);

	font-size: 0.76rem;
	font-weight: 500;
}


/* =========================================================
   SHOP TOOLBAR
   ========================================================= */

.us-shop-toolbar {
	margin-top: 0 !important;
	margin-bottom: 28px !important;
}


/* =========================================================
   RESPONSIVE CATEGORY GRID
   ========================================================= */

@media (max-width: 1050px) {

	.us-shop-categories__grid {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}

}


@media (max-width: 600px) {

	.us-shop-categories {
		margin-bottom: 26px;
	}

	.us-shop-categories__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 10px;
	}

	.us-category-card {
		min-height: 72px;

		padding: 13px 14px;
	}

}


/* =========================================================
   UNITYSTITCHES SINGLE PRODUCT
   ========================================================= */

body.single-product .us-product-main {
	padding-top: 24px;
}


/* ---------- MAIN PRODUCT LAYOUT ---------- */

body.single-product .us-product-layout {
	gap: clamp(36px, 5vw, 72px) !important;

	margin-top: 24px;
	margin-bottom: 64px !important;
}

body.single-product .us-product-gallery,
body.single-product .us-product-summary {
	min-width: 0;
}


/* ---------- PRODUCT GALLERY ---------- */

body.single-product
.us-product-gallery
.woocommerce-product-gallery {
	width: 100% !important;
}

body.single-product
.us-product-gallery
.woocommerce-product-gallery__wrapper {
	border-radius: 18px;

	overflow: hidden;

	background: #faf9fc;
}

body.single-product
.us-product-gallery
.woocommerce-product-gallery__image img {
	width: 100%;

	border-radius: 18px;
}


/* ---------- PRODUCT TITLE ---------- */

body.single-product .us-product-title {
	margin-top: 0 !important;
	margin-bottom: 14px !important;

	font-size: clamp(2rem, 3.2vw, 3rem) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;

	letter-spacing: -0.045em;
}


/* ---------- RATING ---------- */

body.single-product
.wc-block-components-product-rating {
	margin-bottom: 12px !important;
}


/* ---------- PRICE ---------- */

body.single-product
.us-product-price,
body.single-product
.us-product-price .wc-block-components-product-price {
	margin-bottom: 18px !important;

	color: var(--us-purple) !important;

	font-size: 1.45rem !important;
	font-weight: 750 !important;
}


/* ---------- SHORT DESCRIPTION ---------- */

body.single-product .us-product-excerpt {
	margin-bottom: 22px !important;

	color: #625d68;

	font-size: 0.98rem;
	line-height: 1.7;
}


/* ---------- DIVIDERS ---------- */

body.single-product .us-product-divider {
	margin: 24px 0 !important;

	border-color: #ece7f1 !important;
}


/* =========================================================
   VARIATIONS
   ========================================================= */

body.single-product
.variations {
	width: 100%;

	margin-bottom: 20px !important;
}

body.single-product
.variations th,
body.single-product
.variations td {
	display: block;

	width: 100%;

	padding: 0 !important;

	text-align: left;
}

body.single-product
.variations th {
	margin-bottom: 7px;
}

body.single-product
.variations label {
	color: var(--us-black);

	font-size: 0.86rem;
	font-weight: 700;
}

body.single-product
.variations select {
	width: 100%;
	min-height: 46px;

	box-sizing: border-box;

	padding: 10px 40px 10px 13px;

	border: 1px solid #ded8e5;
	border-radius: 10px;

	background-color: #fff;

	color: var(--us-text);

	font: inherit;
}

body.single-product
.reset_variations {
	display: inline-block;

	margin-top: 8px;

	color: var(--us-purple);

	font-size: 0.8rem;
}


/* ---------- VARIATION PRICE ---------- */

body.single-product
.single_variation_wrap
.woocommerce-variation-price {
	margin: 12px 0;
}

body.single-product
.single_variation_wrap
.price {
	color: var(--us-purple) !important;

	font-size: 1.2rem !important;
	font-weight: 750 !important;
}


/* =========================================================
   QUANTITY + ADD TO CART
   ========================================================= */

body.single-product
.single_variation_wrap
.woocommerce-variation-add-to-cart,
body.single-product
form.cart:not(.variations_form) {
	display: flex;

	align-items: stretch;

	gap: 10px;
}

body.single-product .quantity {
	flex: 0 0 82px;
}

body.single-product
.quantity .qty {
	width: 100%;
	height: 48px;

	box-sizing: border-box;

	border: 1px solid #ded8e5;
	border-radius: 10px;

	text-align: center;

	font: inherit;
}

body.single-product
.single_add_to_cart_button {
	flex: 1;

	min-height: 48px;

	padding: 12px 22px !important;

	border: 0 !important;
	border-radius: 10px !important;

	background: var(--us-black) !important;
	color: #fff !important;

	font-size: 0.95rem !important;
	font-weight: 700 !important;

	transition:
		background 150ms ease,
		transform 150ms ease;
}

body.single-product
.single_add_to_cart_button:hover {
	background: var(--us-purple) !important;

	transform: translateY(-1px);
}


/* =========================================================
   PRODUCT META
   ========================================================= */

body.single-product .us-product-meta {
	color: var(--us-muted);

	font-size: 0.82rem;
}

body.single-product
.us-product-meta a {
	color: var(--us-purple);

	text-decoration: none;
}


/* =========================================================
   PRODUCT DETAILS
   ========================================================= */

body.single-product .us-product-details {
	margin-top: 48px !important;
	margin-bottom: 64px !important;
}


/* =========================================================
   SELECTED ETSY REVIEWS
   ========================================================= */

.us-etsy-reviews {
	width: 100%;
	max-width: 1280px;

	margin: 72px auto;
}

.us-etsy-reviews__header {
	display: flex;

	align-items: flex-end;
	justify-content: space-between;

	gap: 30px;

	margin-bottom: 24px;
}

.us-etsy-reviews__eyebrow {
	margin: 0 0 6px;

	color: var(--us-purple);

	font-size: 0.76rem;
	font-weight: 750;

	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.us-etsy-reviews h2 {
	margin: 0 !important;

	font-size: clamp(1.65rem, 2.5vw, 2.2rem) !important;
	font-weight: 700 !important;

	letter-spacing: -0.035em;
}

.us-etsy-reviews__note {
	max-width: 360px;

	margin: 0 !important;

	color: var(--us-muted);

	font-size: 0.78rem;
	line-height: 1.5;

	text-align: right;
}


/* ---------- REVIEW GRID ---------- */

.us-etsy-reviews__grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap: 16px;
}

.us-etsy-review {
	margin: 0;

	padding: 22px;

	border: 1px solid #ebe5f5;
	border-radius: 14px;

	background: #faf8ff;
}

.us-etsy-review__stars {
	margin-bottom: 14px;

	color: var(--us-purple);

	font-size: 1rem;

	letter-spacing: 0.08em;
}

.us-etsy-review__text {
	margin: 0 0 18px;

	color: var(--us-text);

	font-size: 0.94rem;
	line-height: 1.6;
}

.us-etsy-review__meta {
	display: flex;

	flex-wrap: wrap;

	gap: 5px;

	color: var(--us-muted);

	font-size: 0.74rem;
	line-height: 1.45;
}

.us-etsy-review__meta strong {
	color: var(--us-black);
}


/* =========================================================
   RELATED PRODUCTS
   ========================================================= */

.us-related-products-wrap {
	margin-top: 70px !important;
}


/* =========================================================
   SINGLE PRODUCT RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

	body.single-product .us-product-layout {
		flex-direction: column;
	}

	body.single-product .us-product-gallery,
	body.single-product .us-product-summary {
		flex-basis: 100% !important;
	}

	.us-etsy-reviews__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


@media (max-width: 600px) {

	body.single-product .us-product-main {
		padding-top: 12px;
	}

	body.single-product .us-product-layout {
		gap: 28px !important;
	}

	body.single-product
	.single_variation_wrap
	.woocommerce-variation-add-to-cart,
	body.single-product
	form.cart:not(.variations_form) {
		flex-direction: column;
	}

	body.single-product .quantity {
		flex-basis: auto;
	}

	.us-etsy-reviews {
		margin: 50px auto;
	}

	.us-etsy-reviews__header {
		align-items: flex-start;
		flex-direction: column;

		gap: 10px;
	}

	.us-etsy-reviews__note {
		text-align: left;
	}

	.us-etsy-reviews__grid {
		grid-template-columns: 1fr;
	}

}


/* =========================================================
   SINGLE PRODUCT - TOP AREA POLISH
   ========================================================= */


/* ---------- BREADCRUMBS ---------- */

body.single-product
.woocommerce-breadcrumb {
	margin-bottom: 20px !important;

	color: var(--us-muted);

	font-size: 0.78rem;
	line-height: 1.5;
}

body.single-product
.woocommerce-breadcrumb a {
	color: var(--us-muted);

	text-decoration: none;
}

body.single-product
.woocommerce-breadcrumb a:hover {
	color: var(--us-purple);
}


/* ---------- GALLERY ---------- */

body.single-product
.woocommerce-product-gallery {
	margin: 0 !important;
}

body.single-product
.woocommerce-product-gallery__wrapper {
	border: 1px solid #f0edf4;

	background: #faf9fc;

	border-radius: 16px;
}

body.single-product
.flex-control-thumbs {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr));

	gap: 10px;

	margin-top: 12px !important;

	padding: 0 !important;

	list-style: none;
}

body.single-product
.flex-control-thumbs li {
	width: auto !important;

	margin: 0 !important;
}

body.single-product
.flex-control-thumbs img {
	display: block;

	width: 100%;

	aspect-ratio: 1 / 1;
	object-fit: cover;

	box-sizing: border-box;

	border: 2px solid transparent;
	border-radius: 10px;

	background: #faf9fc;

	opacity: 0.72;

	cursor: pointer;

	transition:
		opacity 150ms ease,
		border-color 150ms ease,
		transform 150ms ease;
}

body.single-product
.flex-control-thumbs img:hover {
	opacity: 1;

	transform: translateY(-1px);
}

body.single-product
.flex-control-thumbs img.flex-active {
	opacity: 1;

	border-color: var(--us-purple);
}


/* ---------- PRODUCT SUMMARY ---------- */

@media (min-width: 901px) {

	body.single-product
	.us-product-summary {
		position: sticky;

		top: 105px;

		align-self: flex-start;
	}

}


/* ---------- TITLE ---------- */

body.single-product
.us-product-title {
	max-width: 520px;
}


/* ---------- SHORT DESCRIPTION ---------- */

body.single-product
.us-product-excerpt {
	max-width: 520px;

	color: #68616e;

	font-size: 0.94rem;
	line-height: 1.62;
}

body.single-product
.us-product-excerpt p {
	margin-top: 0;
	margin-bottom: 0;
}


/* ---------- VARIATION LABELS ---------- */

body.single-product
.variations tr + tr th {
	padding-top: 14px !important;
}

body.single-product
.variations label {
	display: block;

	margin-bottom: 6px;

	font-size: 0.82rem;
	font-weight: 750;
}


/* ---------- VARIATION SELECT ---------- */

body.single-product
.variations select {
	appearance: none;

	min-height: 46px;

	padding:
		10px
		42px
		10px
		14px;

	background:
		linear-gradient(45deg, transparent 50%, #4e4853 50%)
			calc(100% - 17px) calc(50% - 2px) / 5px 5px no-repeat,
		linear-gradient(135deg, #4e4853 50%, transparent 50%)
			calc(100% - 12px) calc(50% - 2px) / 5px 5px no-repeat,
		#fff;

	border: 1px solid #ded8e5;

	border-radius: 10px;

	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

body.single-product
.variations select:focus {
	outline: none;

	border-color: var(--us-purple);

	box-shadow:
		0 0 0 3px rgba(111, 60, 255, 0.12);
}


/* ---------- RESET VARIATIONS ---------- */

body.single-product
.reset_variations {
	margin-top: 9px;

	color: var(--us-purple) !important;

	font-size: 0.75rem;

	text-decoration: none !important;
}


/* ---------- ADD TO CART ---------- */

body.single-product
.single_add_to_cart_button {
	box-shadow:
		0 5px 14px rgba(23, 23, 23, 0.12);
}

body.single-product
.single_add_to_cart_button:hover {
	box-shadow:
		0 8px 20px rgba(111, 60, 255, 0.18);
}


/* ---------- MOBILE GALLERY ---------- */

@media (max-width: 600px) {

	body.single-product
	.flex-control-thumbs {
		grid-template-columns:
			repeat(4, minmax(0, 1fr));

		gap: 7px;
	}

}

/* Keep purchase controls high on the product page */
body.single-product .us-product-excerpt {
	margin-bottom: 16px !important;
}

body.single-product .us-product-divider {
	margin: 18px 0 !important;
}


/* =========================================================
   PRODUCT VARIATION CONTROL POLISH
   ========================================================= */

body.single-product
form.variations_form,
body.single-product
table.variations,
body.single-product
table.variations tbody,
body.single-product
table.variations tr,
body.single-product
table.variations td.value {
	width: 100% !important;
	max-width: none !important;
}

body.single-product
table.variations tr {
	display: block !important;

	margin-bottom: 14px;
}

body.single-product
table.variations td.value {
	display: block !important;
}

body.single-product
table.variations select {
	display: block !important;

	width: 100% !important;
	max-width: none !important;
}


/* ---------- PURCHASE ROW ---------- */

body.single-product
.single_variation_wrap,
body.single-product
.woocommerce-variation-add-to-cart {
	width: 100%;
}

body.single-product
.woocommerce-variation-add-to-cart {
	display: flex !important;

	gap: 12px;

	margin-top: 18px;
}

body.single-product
.woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 72px;
}

body.single-product
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
	flex: 1;
}


/* ---------- DISABLED BUTTON ---------- */

body.single-product
.single_add_to_cart_button.disabled,
body.single-product
.single_add_to_cart_button:disabled {
	background: #d6d0dc !important;
	color: #77717d !important;

	box-shadow: none !important;

	cursor: not-allowed;
}


/* Active button once a valid variation is selected */

body.single-product
.single_add_to_cart_button:not(.disabled):not(:disabled) {
	background: var(--us-purple) !important;
	color: #fff !important;
}


/* =========================================================
   PRODUCT DETAILS POLISH
   ========================================================= */

body.single-product
.us-product-details
.woocommerce-Tabs-panel {
	max-width: 980px;

	margin-left: auto !important;
	margin-right: auto !important;
}

body.single-product
.us-product-details
.woocommerce-Tabs-panel--description {
	line-height: 1.7;
}

body.single-product
.us-product-details
.woocommerce-Tabs-panel--description p {
	margin-bottom: 1rem;
}


/* Size charts and description images */
body.single-product
.us-product-details
.woocommerce-Tabs-panel img {
	max-width: 100%;
	height: auto;

	border-radius: 10px;
}


/* =========================================================
   ETSY REVIEW META POLISH
   ========================================================= */

.us-etsy-review__meta {
	align-items: center;

	gap: 6px;

	margin-top: auto;
}

.us-etsy-review__meta span[aria-hidden="true"] {
	opacity: 0.45;
}

.us-etsy-review {
	display: flex;
	flex-direction: column;

	min-height: 150px;
}

.us-etsy-review__text {
	flex: 1;
}


/* =========================================================
   RELATED PRODUCTS
   ========================================================= */

body.single-product
.us-related-products-wrap {
	max-width: 1280px !important;
}

body.single-product
.related.products > h2,
body.single-product
.wp-block-woocommerce-related-products > h2 {
	margin-bottom: 28px !important;

	font-size: clamp(1.7rem, 2.5vw, 2.2rem) !important;
	font-weight: 700 !important;

	letter-spacing: -0.035em;
}


/* ---------- GRID ---------- */

body.single-product
.related.products ul.products {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 32px 20px !important;
}


/* Woo block version */

body.single-product
.wp-block-woocommerce-related-products
.wc-block-product-template {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 32px 20px !important;
}


/* ---------- IMAGE ---------- */

body.single-product
.related.products li.product img,
body.single-product
.wp-block-woocommerce-related-products
.wc-block-components-product-image {
	width: 100%;

	aspect-ratio: 1 / 1;

	object-fit: contain;

	box-sizing: border-box;

	padding: 10px;

	background: #faf9fc;

	border: 1px solid #f0edf4;
	border-radius: 14px;
}


/* ---------- TITLE ---------- */

body.single-product
.related.products li.product
.woocommerce-loop-product__title,
body.single-product
.wp-block-woocommerce-related-products
.wp-block-post-title {
	margin-top: 12px !important;

	color: var(--us-black);

	font-size: 0.94rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;

	text-align: left !important;
}

body.single-product
.wp-block-woocommerce-related-products
.wp-block-post-title a {
	text-align: left !important;
	text-decoration: none !important;
}


/* ---------- PRICE ---------- */

body.single-product
.related.products li.product .price,
body.single-product
.wp-block-woocommerce-related-products
.wc-block-components-product-price {
	color: var(--us-purple) !important;

	font-size: 0.9rem !important;
	font-weight: 700 !important;

	text-align: left !important;
}


/* ---------- BUTTON ---------- */

body.single-product
.related.products li.product .button,
body.single-product
.wp-block-woocommerce-related-products
.wc-block-components-product-button
.wp-block-button__link {
	width: 100% !important;

	box-sizing: border-box;

	border-radius: 10px !important;

	text-align: center !important;
}


@media (max-width: 900px) {

	body.single-product
	.related.products ul.products,
	body.single-product
	.wp-block-woocommerce-related-products
	.wc-block-product-template {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 520px) {

	body.single-product
	.related.products ul.products,
	body.single-product
	.wp-block-woocommerce-related-products
	.wc-block-product-template {
		grid-template-columns: 1fr !important;
	}

}


/* =========================================================
   RELATED PRODUCTS - EXACT WC 11 BLOCK MARKUP
   ========================================================= */

/* Force four related products across */
body.single-product
.us-related-products-wrap
.wc-block-product-template.is-flex-container {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 30px 20px !important;
}


/* Woo's pattern currently requests five products.
   Show four so the row stays balanced. */
body.single-product
.us-related-products-wrap
.wc-block-product-template
> .wc-block-product:nth-child(n+5) {
	display: none !important;
}


/* Remove WooCommerce flex widths */
body.single-product
.us-related-products-wrap
.wc-block-product-template
> .wc-block-product {
	width: auto !important;
	max-width: none !important;

	margin: 0 !important;

	display: flex !important;
	flex-direction: column;

	min-width: 0;
}


/* ---------- IMAGE TILE ---------- */

body.single-product
.us-related-products-wrap
.wc-block-components-product-image {
	width: 100% !important;

	aspect-ratio: 1 / 1;

	box-sizing: border-box;

	padding: 10px;

	background: #faf9fc;

	border: 1px solid #f0edf4;
	border-radius: 14px;

	overflow: hidden;
}

body.single-product
.us-related-products-wrap
.wc-block-components-product-image a {
	display: block;

	width: 100%;
	height: 100%;
}

body.single-product
.us-related-products-wrap
.wc-block-components-product-image img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;

	object-fit: contain !important;

	border-radius: 10px;
}


/* ---------- TITLE ---------- */

body.single-product
.us-related-products-wrap
.wp-block-post-title,
body.single-product
.us-related-products-wrap
.wp-block-post-title.has-text-align-center {
	width: 100%;

	margin-top: 12px !important;
	margin-bottom: 8px !important;

	text-align: left !important;

	font-size: 0.95rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
}

body.single-product
.us-related-products-wrap
.wp-block-post-title a {
	display: block;

	color: var(--us-black) !important;

	text-align: left !important;
	text-decoration: none !important;
}

body.single-product
.us-related-products-wrap
.wp-block-post-title a:hover {
	color: var(--us-purple) !important;
}


/* ---------- PRICE ---------- */

body.single-product
.us-related-products-wrap
.wp-block-woocommerce-product-price,
body.single-product
.us-related-products-wrap
.wc-block-components-product-price,
body.single-product
.us-related-products-wrap
.wc-block-components-product-price.has-text-align-center {
	width: 100%;

	text-align: left !important;

	color: var(--us-purple) !important;

	font-size: 0.9rem !important;
	font-weight: 700 !important;
}


/* ---------- BUTTON ---------- */

body.single-product
.us-related-products-wrap
.wc-block-components-product-button {
	width: 100% !important;

	margin-top: auto !important;

	align-items: stretch !important;
}

body.single-product
.us-related-products-wrap
.wc-block-components-product-button
.wp-block-button__link {
	display: flex !important;

	width: 100% !important;
	min-height: 44px;

	box-sizing: border-box;

	align-items: center;
	justify-content: center;

	border-radius: 10px !important;
}


/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px) {

	body.single-product
	.us-related-products-wrap
	.wc-block-product-template.is-flex-container {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 520px) {

	body.single-product
	.us-related-products-wrap
	.wc-block-product-template.is-flex-container {
		grid-template-columns: 1fr !important;
	}

}


/* =========================================================
   UNITYSTITCHES CART
   ========================================================= */

body.woocommerce-cart main {
	padding-top: 18px;
}


/* ---------- PAGE TITLE ---------- */

body.woocommerce-cart h1 {
	margin-bottom: 30px !important;

	font-size: clamp(2.4rem, 4vw, 3.2rem) !important;
	font-weight: 700 !important;

	letter-spacing: -0.045em;
}


/* =========================================================
   CART LAYOUT
   ========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart {
	max-width: 1280px;

	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-cart
.wc-block-cart {
	gap: clamp(34px, 5vw, 70px);
}


/* =========================================================
   CART ITEMS
   ========================================================= */

body.woocommerce-cart
.wc-block-cart-items {
	border-top: 0 !important;
}

body.woocommerce-cart
.wc-block-cart-items__row {
	padding-top: 18px !important;
	padding-bottom: 22px !important;

	border-bottom: 1px solid #eeeaf2 !important;
}


/* ---------- PRODUCT IMAGE ---------- */

body.woocommerce-cart
.wc-block-cart-item__image {
	width: 94px !important;
}

body.woocommerce-cart
.wc-block-cart-item__image img {
	width: 82px !important;
	height: 82px !important;

	object-fit: contain;

	box-sizing: border-box;

	padding: 5px;

	border: 1px solid #f0edf4;
	border-radius: 10px;

	background: #faf9fc;
}


/* ---------- PRODUCT NAME ---------- */

body.woocommerce-cart
.wc-block-components-product-name {
	color: var(--us-black) !important;

	font-size: 0.98rem !important;
	font-weight: 650 !important;

	text-decoration: none !important;
}

body.woocommerce-cart
.wc-block-components-product-name:hover {
	color: var(--us-purple) !important;
}


/* ---------- VARIATION DETAILS ---------- */

body.woocommerce-cart
.wc-block-components-product-details {
	margin-top: 5px;

	color: var(--us-muted);

	font-size: 0.78rem;
}


/* ---------- ITEM PRICE ---------- */

body.woocommerce-cart
.wc-block-cart-item__prices {
	margin-top: 5px;
}

body.woocommerce-cart
.wc-block-components-product-price {
	font-size: 0.88rem;
}


/* ---------- QUANTITY ---------- */

body.woocommerce-cart
.wc-block-components-quantity-selector {
	border: 1px solid #ded8e5 !important;

	border-radius: 8px !important;

	overflow: hidden;
}

body.woocommerce-cart
.wc-block-components-quantity-selector input {
	min-height: 34px;
}


/* ---------- REMOVE ---------- */

body.woocommerce-cart
.wc-block-cart-item__remove-link {
	color: var(--us-muted) !important;

	text-decoration: none !important;
}

body.woocommerce-cart
.wc-block-cart-item__remove-link:hover {
	color: var(--us-purple) !important;
}


/* =========================================================
   CART TOTALS CARD
   ========================================================= */

body.woocommerce-cart
.wc-block-cart__sidebar {
	align-self: flex-start;

	box-sizing: border-box;

	padding: 24px !important;

	border: 1px solid #ebe5f5;
	border-radius: 16px;

	background: #faf8ff;
}


@media (min-width: 901px) {

	body.woocommerce-cart
	.wc-block-cart__sidebar {
		position: sticky;

		top: 105px;
	}

}


/* ---------- TOTALS TITLE ---------- */

body.woocommerce-cart
.wc-block-cart__totals-title {
	margin-bottom: 8px !important;

	font-size: 0.9rem !important;
	font-weight: 750 !important;
}


/* ---------- TOTAL ROWS ---------- */

body.woocommerce-cart
.wc-block-components-totals-wrapper {
	border-color: #e9e3ef !important;
}


/* ---------- ESTIMATED TOTAL ---------- */

body.woocommerce-cart
.wc-block-components-totals-footer-item {
	padding-top: 18px !important;
	padding-bottom: 18px !important;

	font-size: 1rem;
	font-weight: 700;
}


/* =========================================================
   COUPON
   ========================================================= */

body.woocommerce-cart
.wc-block-components-totals-coupon {
	font-size: 0.88rem;
}

body.woocommerce-cart
.wc-block-components-totals-coupon__input input {
	border: 1px solid #ded8e5 !important;

	border-radius: 9px !important;
}


/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

body.woocommerce-cart
.wc-block-cart__submit-button {
	min-height: 52px;

	border-radius: 10px !important;

	background: var(--us-purple) !important;
	color: #fff !important;

	font-size: 0.98rem !important;
	font-weight: 700 !important;

	text-decoration: none !important;

	box-shadow:
		0 7px 18px rgba(111, 60, 255, 0.18);

	transition:
		background 150ms ease,
		transform 150ms ease,
		box-shadow 150ms ease;
}

body.woocommerce-cart
.wc-block-cart__submit-button:hover {
	background: var(--us-purple-dark) !important;

	transform: translateY(-1px);

	box-shadow:
		0 9px 22px rgba(111, 60, 255, 0.22);
}


/* =========================================================
   CART MOBILE
   ========================================================= */

@media (max-width: 900px) {

	body.woocommerce-cart
	.wc-block-cart {
		display: block;
	}

	body.woocommerce-cart
	.wc-block-cart__sidebar {
		margin-top: 32px;
	}

}


@media (max-width: 520px) {

	body.woocommerce-cart
	.wc-block-cart-item__image {
		width: 76px !important;
	}

	body.woocommerce-cart
	.wc-block-cart-item__image img {
		width: 66px !important;
		height: 66px !important;
	}

	body.woocommerce-cart
	.wc-block-cart__sidebar {
		padding: 18px !important;
	}

}


/* =========================================================
   CART DESKTOP LAYOUT CORRECTION
   WooCommerce already provides its own column gutter.
   ========================================================= */

@media (min-width: 901px) {

	body.woocommerce-cart
	.wc-block-cart {
		gap: 0 !important;
	}

	body.woocommerce-cart
	.wc-block-cart__main {
		padding-right: clamp(32px, 5vw, 70px) !important;

		box-sizing: border-box;
	}

	body.woocommerce-cart
	.wc-block-cart__sidebar {
		margin-left: 0 !important;
	}

}


/* =========================================================
   UNITYSTITCHES CHECKOUT
   ========================================================= */

body.woocommerce-checkout main {
	padding-top: 18px;
}


/* ---------- MAIN CHECKOUT WIDTH ---------- */

body.woocommerce-checkout
.wp-block-woocommerce-checkout {
	max-width: 1280px;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* =========================================================
   CHECKOUT HEADINGS
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-title {
	color: var(--us-black);

	font-weight: 700 !important;

	letter-spacing: -0.02em;
}


/* =========================================================
   FORM INPUTS
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-text-input input,
body.woocommerce-checkout
.wc-block-components-combobox-control input,
body.woocommerce-checkout
.wc-block-components-address-form input {
	border: 1px solid #ded8e5 !important;

	border-radius: 9px !important;

	background: #fff !important;

	transition:
		border-color 150ms ease,
		box-shadow 150ms ease;
}

body.woocommerce-checkout
.wc-block-components-text-input input:focus,
body.woocommerce-checkout
.wc-block-components-combobox-control input:focus,
body.woocommerce-checkout
.wc-block-components-address-form input:focus {
	outline: none !important;

	border-color: var(--us-purple) !important;

	box-shadow:
		0 0 0 3px rgba(111, 60, 255, 0.12) !important;
}


/* =========================================================
   ADDRESS CARD
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-address-card {
	padding: 18px !important;

	border: 1px solid #ebe5f5 !important;
	border-radius: 12px !important;

	background: #faf8ff;
}


/* =========================================================
   SHIPPING / PAYMENT OPTION BOXES
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-radio-control-accordion-option {
	border-color: #ded8e5 !important;
}

body.woocommerce-checkout
.wc-block-components-radio-control-accordion-option:first-child {
	border-radius: 10px 10px 0 0;
}

body.woocommerce-checkout
.wc-block-components-radio-control-accordion-option:last-child {
	border-radius: 0 0 10px 10px;
}


/* Selected option */

body.woocommerce-checkout
.wc-block-components-radio-control__option-checked {
	background: #faf8ff !important;
}


/* =========================================================
   PAYMENT AREA
   ========================================================= */

body.woocommerce-checkout
.wc-block-checkout__payment-method {
	margin-top: 8px;
}

body.woocommerce-checkout
.wc-block-components-radio-control-accordion-content {
	padding: 16px !important;

	background: #fff;
}


/* =========================================================
   ORDER SUMMARY CARD
   ========================================================= */

body.woocommerce-checkout
.wc-block-checkout__sidebar {
	align-self: flex-start;

	box-sizing: border-box;

	padding: 22px !important;

	border: 1px solid #ebe5f5;
	border-radius: 16px;

	background: #faf8ff;
}


@media (min-width: 901px) {

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		position: sticky;

		top: 32px;
	}

}


/* ---------- ORDER ITEM IMAGE ---------- */

body.woocommerce-checkout
.wc-block-components-order-summary-item__image img {
	border: 1px solid #f0edf4;
	border-radius: 9px;

	background: #fff;
}


/* ---------- ORDER ITEM NAME ---------- */

body.woocommerce-checkout
.wc-block-components-product-name {
	color: var(--us-black) !important;

	font-weight: 650 !important;
}


/* ---------- ORDER META ---------- */

body.woocommerce-checkout
.wc-block-components-product-details {
	color: var(--us-muted);

	font-size: 0.76rem;
}


/* ---------- TOTALS ---------- */

body.woocommerce-checkout
.wc-block-components-totals-wrapper {
	border-color: #e7e0ed !important;
}

body.woocommerce-checkout
.wc-block-components-totals-footer-item {
	font-size: 1rem;
	font-weight: 700;
}


/* =========================================================
   COUPON
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-totals-coupon__input input {
	border: 1px solid #ded8e5 !important;

	border-radius: 9px !important;
}


/* =========================================================
   PLACE ORDER
   ========================================================= */

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button {
	min-height: 52px;

	border: 0 !important;
	border-radius: 10px !important;

	background: var(--us-purple) !important;
	color: #fff !important;

	font-size: 0.98rem !important;
	font-weight: 700 !important;

	box-shadow:
		0 7px 18px rgba(111, 60, 255, 0.18);

	transition:
		background 150ms ease,
		transform 150ms ease,
		box-shadow 150ms ease;
}

body.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {
	background: var(--us-purple-dark) !important;

	transform: translateY(-1px);

	box-shadow:
		0 9px 22px rgba(111, 60, 255, 0.22);
}


/* =========================================================
   CHECKOUT MOBILE
   ========================================================= */

@media (max-width: 900px) {

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		margin-top: 30px;
	}

}


@media (max-width: 520px) {

	body.woocommerce-checkout
	.wc-block-checkout__sidebar {
		padding: 16px !important;
	}

}


/* =========================================================
   CHECKOUT FINAL POLISH
   ========================================================= */

/* Checkout uses WooCommerce's simplified header */
body.woocommerce-checkout
.wp-block-site-title,
body.woocommerce-checkout
.wp-block-site-title a {
	color: var(--us-purple) !important;

	font-weight: 800 !important;
	letter-spacing: -0.035em;

	text-decoration: none !important;
}


/* Pull checkout content slightly higher */
body.woocommerce-checkout
.wp-block-woocommerce-checkout {
	margin-top: 24px !important;
}


/* Express checkout card */
body.woocommerce-checkout
.wc-block-components-express-payment {
	border-color: #ebe5f5 !important;

	border-radius: 12px !important;
}


/* Checkout section headings */
body.woocommerce-checkout
.wc-block-checkout__form h2,
body.woocommerce-checkout
.wc-block-components-checkout-step__heading {
	color: var(--us-black);

	font-weight: 700;
}


/* Keep order summary readable */
body.woocommerce-checkout
.wc-block-checkout__sidebar {
	box-shadow:
		0 8px 28px rgba(50, 30, 80, 0.04);
}


/* =========================================================
   CHECKOUT VERTICAL SPACING
   ========================================================= */

body.woocommerce-checkout
.wp-site-blocks > main {
	margin-top: 0 !important;
	padding-top: 28px !important;
}

body.woocommerce-checkout
.wp-block-post-content {
	margin-top: 0 !important;
}

body.woocommerce-checkout
.wp-block-woocommerce-checkout {
	margin-top: 0 !important;
	padding-top: 0 !important;
}


/* =========================================================
   UNITYSTITCHES MY ACCOUNT
   ========================================================= */

body.woocommerce-account main {
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;

	padding-top: 34px;
}

body.woocommerce-account h1 {
	margin-bottom: 34px !important;

	font-size: clamp(2.4rem, 4vw, 3.2rem) !important;
	font-weight: 700 !important;

	letter-spacing: -0.045em;
}


/* ---------- ACCOUNT LAYOUT ---------- */

body.woocommerce-account
.woocommerce {
	display: grid;

	grid-template-columns:
		240px minmax(0, 1fr);

	gap: 36px;
}


/* ---------- ACCOUNT NAV ---------- */

body.woocommerce-account
.woocommerce-MyAccount-navigation {
	width: auto !important;
	float: none !important;

	align-self: start;

	padding: 12px;

	border: 1px solid #ebe5f5;
	border-radius: 15px;

	background: #faf8ff;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;

	list-style: none;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation li {
	margin: 0;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation a {
	display: block;

	padding: 11px 13px;

	border-radius: 9px;

	color: #4f4954;

	font-size: 0.9rem;
	font-weight: 600;

	text-decoration: none !important;

	transition:
		background 150ms ease,
		color 150ms ease;
}

body.woocommerce-account
.woocommerce-MyAccount-navigation a:hover {
	background: #f0e9ff;
	color: var(--us-purple);
}

body.woocommerce-account
.woocommerce-MyAccount-navigation
.is-active a {
	background: var(--us-purple);
	color: #fff !important;
}


/* ---------- ACCOUNT CONTENT ---------- */

body.woocommerce-account
.woocommerce-MyAccount-content {
	width: auto !important;
	float: none !important;

	box-sizing: border-box;

	padding: 28px;

	border: 1px solid #ebe5f5;
	border-radius: 15px;

	background: #fff;
}

body.woocommerce-account
.woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}


/* ---------- ACCOUNT LINKS ---------- */

body.woocommerce-account
.woocommerce-MyAccount-content a {
	color: var(--us-purple);
}


/* ---------- FORMS ---------- */

body.woocommerce-account
.woocommerce form .form-row input.input-text,
body.woocommerce-account
.woocommerce form .form-row textarea,
body.woocommerce-account
.woocommerce form select {
	min-height: 44px;

	box-sizing: border-box;

	padding: 10px 12px;

	border: 1px solid #ded8e5;
	border-radius: 9px;

	background: #fff;

	font: inherit;
}

body.woocommerce-account
.woocommerce form .form-row input.input-text:focus,
body.woocommerce-account
.woocommerce form .form-row textarea:focus,
body.woocommerce-account
.woocommerce form select:focus {
	outline: none;

	border-color: var(--us-purple);

	box-shadow:
		0 0 0 3px rgba(111, 60, 255, 0.12);
}


/* ---------- ACCOUNT BUTTONS ---------- */

body.woocommerce-account
.woocommerce button.button,
body.woocommerce-account
.woocommerce a.button {
	border-radius: 9px !important;

	background: var(--us-purple) !important;
	color: #fff !important;

	font-weight: 700 !important;
}

body.woocommerce-account
.woocommerce button.button:hover,
body.woocommerce-account
.woocommerce a.button:hover {
	background: var(--us-purple-dark) !important;
}


/* ---------- ORDERS TABLE ---------- */

body.woocommerce-account
.woocommerce-orders-table {
	border-collapse: separate;

	border-spacing: 0;

	overflow: hidden;

	border: 1px solid #ebe5f5 !important;
	border-radius: 12px;
}

body.woocommerce-account
.woocommerce-orders-table th {
	background: #faf8ff;

	font-size: 0.78rem;
	font-weight: 750;
}

body.woocommerce-account
.woocommerce-orders-table th,
body.woocommerce-account
.woocommerce-orders-table td {
	padding: 13px !important;

	border-color: #eee8f3 !important;
}


/* ---------- ADDRESSES ---------- */

body.woocommerce-account
.woocommerce-Address {
	box-sizing: border-box;

	padding: 20px;

	border: 1px solid #ebe5f5;
	border-radius: 12px;

	background: #faf8ff;
}


/* ---------- ACCOUNT MOBILE ---------- */

@media (max-width: 760px) {

	body.woocommerce-account
	.woocommerce {
		grid-template-columns: 1fr;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-navigation ul {
		display: flex;

		gap: 6px;

		overflow-x: auto;

		padding-bottom: 3px;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-navigation a {
		white-space: nowrap;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-content {
		padding: 20px;
	}

}


/* =========================================================
   UNITYSTITCHES ORDER CONFIRMATION
   ========================================================= */

body.woocommerce-order-received main {
	max-width: 1100px;

	margin-left: auto;
	margin-right: auto;

	padding-top: 34px;
}


/* ---------- SUCCESS MESSAGE ---------- */

body.woocommerce-order-received
.woocommerce-order > p:first-child,
body.woocommerce-order-received
.wc-block-order-confirmation-status {
	box-sizing: border-box;

	margin-bottom: 28px !important;
	padding: 22px 24px !important;

	border: 1px solid #dcd0f8;
	border-radius: 14px;

	background: #f8f4ff;

	color: #30263d;

	font-size: 1rem;
	font-weight: 600;
}


/* ---------- ORDER SUMMARY ---------- */

body.woocommerce-order-received
.woocommerce-order-overview,
body.woocommerce-order-received
.wc-block-order-confirmation-summary {
	box-sizing: border-box;

	padding: 20px !important;

	border: 1px solid #ebe5f5;
	border-radius: 14px;

	background: #faf8ff;
}

body.woocommerce-order-received
.woocommerce-order-overview {
	display: grid;

	grid-template-columns:
		repeat(4, minmax(0, 1fr));

	gap: 16px;

	margin-bottom: 36px !important;

	list-style: none;
}

body.woocommerce-order-received
.woocommerce-order-overview li {
	float: none !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;

	font-size: 0.78rem;
}

body.woocommerce-order-received
.woocommerce-order-overview strong {
	display: block;

	margin-top: 4px;

	color: #171717;

	font-size: 0.95rem;
}


/* ---------- ORDER DETAILS ---------- */

body.woocommerce-order-received
.woocommerce-order-details,
body.woocommerce-order-received
.woocommerce-customer-details,
body.woocommerce-order-received
.wc-block-order-confirmation-totals,
body.woocommerce-order-received
.wc-block-order-confirmation-shipping-address,
body.woocommerce-order-received
.wc-block-order-confirmation-billing-address {
	box-sizing: border-box;

	margin-top: 28px !important;
	padding: 24px !important;

	border: 1px solid #ebe5f5;
	border-radius: 14px;

	background: #fff;
}

body.woocommerce-order-received
.woocommerce-order-details h2,
body.woocommerce-order-received
.woocommerce-customer-details h2 {
	margin-top: 0 !important;

	font-size: 1.35rem !important;
	font-weight: 700 !important;
}


/* ---------- ORDER TABLE ---------- */

body.woocommerce-order-received
.woocommerce-table--order-details {
	border-collapse: separate;

	border-spacing: 0;

	border: 0 !important;
}

body.woocommerce-order-received
.woocommerce-table--order-details th,
body.woocommerce-order-received
.woocommerce-table--order-details td {
	padding: 13px !important;

	border-color: #eee8f3 !important;
}


/* ---------- ORDER MOBILE ---------- */

@media (max-width: 700px) {

	body.woocommerce-order-received
	.woocommerce-order-overview {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/* =========================================================
   EMPTY CART + WOOCOMMERCE NOTICES
   ========================================================= */


/* ---------- EMPTY CART ---------- */

body.woocommerce-cart
.wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart
.cart-empty {
	max-width: 760px;

	margin: 70px auto !important;

	text-align: center;
}

body.woocommerce-cart
.wc-block-cart__empty-cart__title,
body.woocommerce-cart
.cart-empty {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 700;

	letter-spacing: -0.04em;
}

body.woocommerce-cart
.return-to-shop .button {
	padding: 13px 22px !important;

	border-radius: 10px !important;

	background: var(--us-purple) !important;
	color: #fff !important;
}


/* ---------- CLASSIC NOTICES ---------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	box-sizing: border-box;

	padding: 16px 18px 16px 48px !important;

	border: 1px solid #e6def0 !important;
	border-radius: 11px;

	background: #faf8ff !important;

	color: #3a3340 !important;

	box-shadow: none !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--us-purple) !important;
}

.woocommerce-error {
	border-color: #f1cfd5 !important;

	background: #fff7f8 !important;
}


/* ---------- WC BLOCK NOTICES ---------- */

.wc-block-components-notice-banner {
	border-radius: 11px !important;

	box-shadow: none !important;
}

.wc-block-components-notice-banner.is-success {
	border-color: #d7cdf0 !important;

	background: #faf8ff !important;
}

.wc-block-components-notice-banner.is-info {
	border-color: #dbe3f0 !important;

	background: #f8fbff !important;
}


/* =========================================================
   MY ACCOUNT - LAYOUT CORRECTION
   Override block-theme constrained-layout margins/widths.
   ========================================================= */

@media (min-width: 761px) {

	body.woocommerce-account
	main .woocommerce {
		display: grid !important;

		grid-template-columns:
			230px minmax(0, 1fr) !important;

		align-items: start;

		gap: 36px !important;

		width: 100% !important;
		max-width: 1100px !important;

		margin-left: auto !important;
		margin-right: auto !important;
	}


	body.woocommerce-account
	.woocommerce-MyAccount-navigation {
		grid-column: 1 !important;

		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;

		box-sizing: border-box;
	}


	body.woocommerce-account
	.woocommerce-MyAccount-content {
		grid-column: 2 !important;

		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;

		box-sizing: border-box;
	}

}


/* Make the dashboard content feel intentional */
body.woocommerce-account
.woocommerce-MyAccount-content p:first-child {
	margin-top: 0 !important;
}


/* Account navigation should not become a giant centered panel */
body.woocommerce-account
.woocommerce-MyAccount-navigation ul {
	width: 100%;
}


/* Mobile stays stacked */
@media (max-width: 760px) {

	body.woocommerce-account
	main .woocommerce {
		display: block !important;

		width: 100% !important;
		max-width: none !important;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-navigation,
	body.woocommerce-account
	.woocommerce-MyAccount-content {
		width: 100% !important;

		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.woocommerce-account
	.woocommerce-MyAccount-content {
		margin-top: 20px !important;
	}

}

/* =========================================================
   UNITYSTITCHES SINGLE PRODUCT - FINAL POLISH PASS
   2026-09-24
   ========================================================= */


/* ---------- TOP CONTAINER ---------- */

body.single-product .us-product-main {
	padding-top: 18px;
}

body.single-product .us-product-layout {

}


/* ---------- BREADCRUMB ---------- */

body.single-product .woocommerce-breadcrumb {

	font-size: 0.76rem;
}


/* ---------- GALLERY ---------- */

body.single-product
.us-product-gallery
.woocommerce-product-gallery__wrapper {
	box-shadow:
		0 10px 30px rgba(30, 20, 55, 0.035);
}

body.single-product
.flex-control-thumbs {
}


/* ---------- PRODUCT SUMMARY ---------- */

body.single-product .us-product-summary {
	padding-top: 4px;
}

body.single-product .us-product-title {
	max-width: 500px;


}


/* ---------- PRICE ---------- */

body.single-product
.us-product-price,
body.single-product
.us-product-price .wc-block-components-product-price {

}


/* ---------- EXCERPT ---------- */

body.single-product .us-product-excerpt {

	max-width: 500px;

	font-size: 0.92rem;
	line-height: 1.58;
}


/* ---------- DIVIDERS ---------- */

body.single-product .us-product-divider {
}


/* ---------- VARIATION SELECTS ---------- */

body.single-product
table.variations tr {
	margin-bottom: 12px;
}

body.single-product
.variations label {
	margin-bottom: 5px;

	font-size: 0.8rem;
}

body.single-product
.variations select {
	min-height: 48px;

	border-radius: 11px;

	background-color: #fff;

	font-size: 0.92rem;
}


/* ---------- PURCHASE ROW ---------- */

body.single-product
.woocommerce-variation-add-to-cart {
	gap: 10px;

	margin-top: 14px;
}

body.single-product
.woocommerce-variation-add-to-cart
.quantity {
	flex: 0 0 68px;
}

body.single-product
.quantity .qty {
	height: 50px;
}

body.single-product
.single_add_to_cart_button {
	min-height: 50px;




	box-shadow:
		0 7px 18px rgba(111, 60, 255, 0.18);
}

body.single-product
.single_add_to_cart_button:hover {

	box-shadow:
		0 9px 24px rgba(111, 60, 255, 0.24);
}


/* ---------- EXPRESS PAYMENT BUTTONS ---------- */

body.single-product
.wcpay-express-checkout-wrapper,
body.single-product
.wc-block-components-express-payment,
body.single-product
.wcpay-payment-request-wrapper {
}

body.single-product
.wcpay-payment-request-wrapper,
body.single-product
.wcpay-express-checkout-wrapper {
	max-width: 100%;
}

body.single-product
.wcpay-payment-request-wrapper iframe,
body.single-product
.wcpay-express-checkout-wrapper iframe {
}


/* WooPay / Google Pay / Amazon Pay wrappers */

body.single-product
.wcpay-payment-request-wrapper > *,
body.single-product
.wcpay-express-checkout-wrapper > * {
}


/* ---------- PRODUCT META ---------- */

body.single-product .us-product-meta {
	margin-top: 4px;

	padding-top: 4px;

	font-size: 0.78rem;
}


/* ---------- PRODUCT DETAILS ---------- */

body.single-product .us-product-details {
}

body.single-product
.us-product-details
.wc-tabs {
}

body.single-product
.us-product-details
.wc-tabs li a {
	font-size: 0.9rem;
	font-weight: 650;
}


/* ---------- DESCRIPTION ---------- */

body.single-product
.us-product-details
.woocommerce-Tabs-panel {
	max-width: 920px;
}

body.single-product
.us-product-details
.woocommerce-Tabs-panel h2 {
	margin-top: 0;

	font-size: clamp(1.5rem, 2.2vw, 1.9rem);
	letter-spacing: -0.03em;
}


/* ---------- RELATED PRODUCTS ---------- */

body.single-product
.us-related-products-wrap {
}

body.single-product
.us-related-products-wrap
.wp-block-post-title {
	min-height: 2.7em;
}

body.single-product
.us-related-products-wrap
.wc-block-components-product-button
.wp-block-button__link {

	transition:
		background 150ms ease,
		transform 150ms ease;
}

body.single-product
.us-related-products-wrap
.wc-block-components-product-button
.wp-block-button__link:hover {

	transform: translateY(-1px);
}


/* ---------- MOBILE ---------- */

@media (max-width: 900px) {

	body.single-product
	.us-product-summary {
		padding-top: 0;
	}

	body.single-product
	.us-product-layout {
	}

}


@media (max-width: 600px) {

	body.single-product
	.us-product-title {
	}

	body.single-product
	.us-product-layout {
	}

	body.single-product
	.us-product-details {
	}

}



/* =========================================================
   UNITYSTITCHES SINGLE OPTION VARIATIONS
   Automatically selected by product-variations.js
   ========================================================= */

body.single-product
table.variations
tr.us-single-option-variation {
	display: none !important;
}



/* =========================================================
   SINGLE PRODUCT - REMOVE DUPLICATE RANK MATH BREADCRUMB
   Keep WooCommerce breadcrumb inside product template.
   ========================================================= */

body.single-product .unitystitches-breadcrumbs {
	display: none !important;
}



/* =========================================================
   UNITYSTITCHES PRODUCT PURCHASE TRUST ROW
   ========================================================= */


/* ---------- COMPACT PURCHASE AREA ---------- */

body.single-product
.us-product-excerpt {
	margin-bottom: 10px !important;
}

body.single-product
.us-product-divider {
	margin: 12px 0 !important;
}

body.single-product
table.variations tr {
	margin-bottom: 9px !important;
}

body.single-product
.variations tr + tr th {
	padding-top: 8px !important;
}

body.single-product
.woocommerce-variation-add-to-cart {
	margin-top: 10px !important;
}


/* ---------- TRUST ROW ---------- */

body.single-product
.us-product-trust {
	display: flex;

	flex-wrap: wrap;

	gap: 8px 18px;

	margin-top: 13px;
	margin-bottom: 4px;

	padding: 12px 14px;

	border: 1px solid #ebe5f5;
	border-radius: 11px;

	background: #faf8ff;

	color: #514a57;

	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
}

body.single-product
.us-product-trust span {
	display: inline-flex;

	align-items: center;

	gap: 6px;

	white-space: nowrap;
}

body.single-product
.us-product-trust span::before {
	content: "✓";

	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 17px;
	height: 17px;

	border-radius: 50%;

	background: #eee7ff;

	color: var(--us-purple);

	font-size: 0.7rem;
	font-weight: 800;
}


/* ---------- EXPRESS PAYMENT SPACING ---------- */

body.single-product
.wcpay-express-checkout-wrapper,
body.single-product
.wcpay-payment-request-wrapper {
	margin-top: 8px !important;
}


/* ---------- PRODUCT META ---------- */

body.single-product
.us-product-meta {
	margin-top: 0 !important;
}


/* ---------- MOBILE ---------- */

@media (max-width: 600px) {

	body.single-product
	.us-product-trust {
		gap: 8px 14px;

		padding: 11px 12px;
	}

	body.single-product
	.us-product-trust span {
		white-space: normal;
	}

}



/* =========================================================
   UNITYSTITCHES INLINE PRODUCT DETAILS
   Details begin beneath gallery while purchase column continues.
   ========================================================= */

body.single-product
.us-product-details-inline {
	width: 100% !important;
	max-width: none !important;

	margin-top: 34px !important;
	margin-bottom: 12px !important;
}

body.single-product
.us-product-details-inline
.woocommerce-tabs {
	width: 100%;
}

body.single-product
.us-product-details-inline
.wc-tabs {
	display: flex;

	flex-wrap: wrap;

	gap: 24px;

	margin: 0 0 26px !important;
	padding: 0 !important;
}

body.single-product
.us-product-details-inline
.wc-tabs li {
	margin: 0 !important;
	padding: 0 0 9px !important;
}

body.single-product
.us-product-details-inline
.woocommerce-Tabs-panel {
	width: 100%;
	max-width: none !important;

	margin: 0 !important;
}

body.single-product
.us-product-details-inline
.woocommerce-Tabs-panel h2 {
	font-size: clamp(1.45rem, 2vw, 1.8rem);
}

body.single-product
.us-product-details-inline
.woocommerce-Tabs-panel--description {
	font-size: 0.95rem;
	line-height: 1.7;
}


/* The gallery column now contains both gallery + details */
body.single-product
.us-product-gallery {
	align-self: flex-start;
}


/* Keep related products clearly below the two-column area */
body.single-product
.us-related-products-wrap {
	clear: both;

	margin-top: 54px !important;
}


@media (max-width: 900px) {

	body.single-product
	.us-product-details-inline {
		margin-top: 28px !important;
	}

}



/* =========================================================
   UNITYSTITCHES HIDE PRODUCT STOCK
   Inventory continues to be managed by WooCommerce.
   Only customer-facing stock messages are hidden.
   ========================================================= */

body.single-product .stock,
body.single-product .woocommerce-variation-availability,
body.single-product .wc-block-components-product-stock-indicator,
body.single-product .wp-block-woocommerce-product-stock-indicator {
	display: none !important;
}



/* =========================================================
   UNITYSTITCHES QUANTITY LABEL
   ========================================================= */

body.single-product
.woocommerce-variation-add-to-cart,
body.single-product
form.cart:not(.variations_form) {
	align-items: flex-end !important;
}

body.single-product
.quantity {
	position: relative;

	padding-top: 22px;
}

body.single-product
.quantity::before {
	content: "Qty";

	position: absolute;
	top: 0;
	left: 0;

	color: var(--us-black);

	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
}

body.single-product
.quantity .qty {
	min-width: 60px;
}


/* Keep Add to cart aligned with the quantity input itself */
body.single-product
.single_add_to_cart_button {
	margin-top: 22px !important;
}


@media (max-width: 600px) {

	body.single-product
	.single_add_to_cart_button {
		margin-top: 0 !important;
	}

}



/* =========================================================
   UNITYSTITCHES VARIATION SELECT TEXT FIX
   Prevent native select text from clipping vertically.
   ========================================================= */

body.single-product
.variations select {
	height: 50px !important;
	min-height: 50px !important;

	padding-top: 0 !important;
	padding-bottom: 0 !important;

	line-height: 50px !important;

	font-size: 0.92rem !important;

	vertical-align: middle;
}


/*
 * Native select rendering is more reliable when option text
 * uses a normal line-height instead of inheriting the control height.
 */
body.single-product
.variations select option {
	line-height: normal;
}


@media (max-width: 600px) {

	body.single-product
	.variations select {
		height: 48px !important;
		min-height: 48px !important;

		line-height: 48px !important;
	}

}



/* =========================================================
   UNITYSTITCHES MOBILE QUANTITY ALIGNMENT
   Keep Qty aligned with Size and Add to Cart beside it.
   ========================================================= */

@media (max-width: 600px) {

	body.single-product
	.single_variation_wrap
	.woocommerce-variation-add-to-cart,
	body.single-product
	form.cart:not(.variations_form) {
		display: grid !important;

		grid-template-columns:
			72px minmax(0, 1fr);

		align-items: end !important;

		gap: 10px;

		width: 100%;

		margin-top: 12px !important;
	}


	/* Qty stays on the same left edge as Size */

	body.single-product
	.quantity {
		width: 72px !important;

		flex: none !important;
		flex-basis: auto !important;

		padding-top: 22px;

		margin: 0 !important;
	}


	body.single-product
	.quantity .qty {
		width: 72px !important;
		min-width: 72px !important;
		max-width: 72px !important;

		height: 50px !important;

		box-sizing: border-box;
	}


	/* Button fills the remaining width */

	body.single-product
	.single_add_to_cart_button {
		width: 100% !important;
		min-width: 0;

		height: 50px;

		margin: 22px 0 0 !important;
	}

}



/* =========================================================
   UNITYSTITCHES MOBILE FINAL PRODUCT POLISH
   Product tabs + two-column related products
   ========================================================= */

@media (max-width: 600px) {


	/* =====================================================
	   PRODUCT DETAIL TABS
	   Keep Description / Additional Information / Reviews
	   in one clean horizontal row.
	   ===================================================== */

	body.single-product
	.us-product-details-inline
	.wc-tabs {
		display: flex !important;

		flex-wrap: nowrap !important;

		gap: 20px !important;

		width: 100%;

		margin-bottom: 24px !important;
		padding-bottom: 2px !important;

		overflow-x: auto;
		overflow-y: hidden;

		-webkit-overflow-scrolling: touch;

		scrollbar-width: none;
	}

	body.single-product
	.us-product-details-inline
	.wc-tabs::-webkit-scrollbar {
		display: none;
	}

	body.single-product
	.us-product-details-inline
	.wc-tabs li {
		flex: 0 0 auto;

		margin: 0 !important;
		padding: 0 0 9px !important;

		white-space: nowrap;
	}

	body.single-product
	.us-product-details-inline
	.wc-tabs li a {
		display: block;

		font-size: 0.82rem !important;
		font-weight: 650 !important;

		white-space: nowrap;
	}


	/* =====================================================
	   RELATED PRODUCTS
	   Two compact cards per row on phones.
	   ===================================================== */

	body.single-product
	.us-related-products-wrap
	.wc-block-product-template.is-flex-container,
	body.single-product
	.wp-block-woocommerce-related-products
	.wc-block-product-template,
	body.single-product
	.related.products ul.products {
		display: grid !important;

		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;

		gap: 26px 12px !important;
	}


	/* Undo Woo/flex sizing */

	body.single-product
	.us-related-products-wrap
	.wc-block-product-template
	> .wc-block-product,
	body.single-product
	.related.products
	ul.products
	> li.product {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;

		margin: 0 !important;
	}


	/* Slightly tighter image cards */

	body.single-product
	.us-related-products-wrap
	.wc-block-components-product-image,
	body.single-product
	.related.products
	li.product img {
		padding: 6px !important;

		border-radius: 12px !important;
	}


	/* Titles need to fit comfortably in two columns */

	body.single-product
	.us-related-products-wrap
	.wp-block-post-title,
	body.single-product
	.related.products
	li.product
	.woocommerce-loop-product__title {
		min-height: 0 !important;

		margin-top: 9px !important;

		font-size: 0.82rem !important;
		line-height: 1.3 !important;
	}


	body.single-product
	.us-related-products-wrap
	.wc-block-components-product-price,
	body.single-product
	.related.products
	li.product
	.price {
		font-size: 0.82rem !important;
	}


	/* Keep related product buttons usable but compact */

	body.single-product
	.us-related-products-wrap
	.wc-block-components-product-button
	.wp-block-button__link,
	body.single-product
	.related.products
	li.product
	.button {
		min-height: 42px !important;

		padding: 9px 8px !important;

		font-size: 0.78rem !important;
	}

}


/*
 * Very narrow phones still stay two columns, but reduce spacing
 * rather than falling back to giant one-product rows.
 */

@media (max-width: 390px) {

	body.single-product
	.us-related-products-wrap
	.wc-block-product-template.is-flex-container,
	body.single-product
	.related.products
	ul.products {
		gap: 22px 9px !important;
	}

	body.single-product
	.us-related-products-wrap
	.wp-block-post-title,
	body.single-product
	.related.products
	li.product
	.woocommerce-loop-product__title {
		font-size: 0.78rem !important;
	}

}

