/* Product Style Studio for WooCommerce — front-end styles */
.pssw-enabled.woocommerce,
.pssw-enabled .woocommerce,
.pssw-enabled .wp-block-woocommerce-product-collection {
	--pssw-border-color: rgba(127,127,127,.20);
}

/* Page surface on native WooCommerce archive and product screens. */
.pssw-enabled.woocommerce .site-main,
.pssw-enabled.single-product .site-main,
.pssw-enabled.single-product .content-area,
.pssw-enabled.single-product #primary {
	background:var(--pssw-page);
}

/* Classic catalog grid. */
.pssw-enabled .woocommerce ul.products,
.pssw-enabled.woocommerce ul.products {
	display:grid;
	grid-template-columns:repeat(var(--pssw-cols-d),minmax(0,1fr));
	gap:var(--pssw-gap);
	margin:0;
}
.pssw-enabled .woocommerce ul.products::before,
.pssw-enabled .woocommerce ul.products::after,
.pssw-enabled.woocommerce ul.products::before,
.pssw-enabled.woocommerce ul.products::after{display:none!important;content:none!important}
.pssw-enabled .woocommerce ul.products li.product,
.pssw-enabled.woocommerce ul.products li.product {
	float:none!important;
	width:auto!important;
	margin:0!important;
	padding:14px!important;
	background:var(--pssw-surface);
	color:var(--pssw-text);
	border:var(--pssw-border) solid var(--pssw-border-color);
	border-radius:var(--pssw-card-radius);
	box-shadow:var(--pssw-shadow);
	position:relative;
	overflow:hidden;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

/* Modern Product Collection / product template blocks. */
.pssw-enabled .wp-block-woocommerce-product-template,
.pssw-enabled ul.wc-block-product-template,
.pssw-enabled .wc-block-grid__products {
	display:grid!important;
	gap:var(--pssw-gap)!important;
	grid-template-columns:repeat(var(--pssw-cols-d),minmax(0,1fr))!important;
}
.pssw-enabled .wp-block-woocommerce-product-template > li,
.pssw-enabled ul.wc-block-product-template > li,
.pssw-enabled .wc-block-grid__product {
	width:auto!important;
	max-width:none!important;
	flex:none!important;
	background:var(--pssw-surface);
	color:var(--pssw-text);
	border:var(--pssw-border) solid var(--pssw-border-color)!important;
	border-radius:var(--pssw-card-radius);
	box-shadow:var(--pssw-shadow);
	padding:14px!important;
	overflow:hidden;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

/* Catalog images. */
.pssw-enabled .woocommerce ul.products li.product a img,
.pssw-enabled.woocommerce ul.products li.product a img,
.pssw-enabled .wc-block-grid__product-image img,
.pssw-enabled .wp-block-woocommerce-product-image img {
	width:100%!important;
	aspect-ratio:var(--pssw-ratio);
	object-fit:var(--pssw-fit);
	object-position:var(--pssw-position);
	border-radius:var(--pssw-image-radius);
	margin:0 0 14px!important;
	transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.pssw-enabled.pssw-hover-lift .woocommerce ul.products li.product:hover,
.pssw-enabled.pssw-hover-lift.woocommerce ul.products li.product:hover,
.pssw-enabled.pssw-hover-lift .wp-block-woocommerce-product-template > li:hover,
.pssw-enabled.pssw-hover-lift .wc-block-grid__product:hover {transform:translateY(-5px)}
.pssw-enabled.pssw-hover-zoom .woocommerce ul.products li.product:hover img,
.pssw-enabled.pssw-hover-zoom.woocommerce ul.products li.product:hover img,
.pssw-enabled.pssw-hover-zoom .wp-block-woocommerce-product-template > li:hover img,
.pssw-enabled.pssw-hover-zoom .wc-block-grid__product:hover img {transform:scale(1.035)}

/* Catalog typography and prices. */
.pssw-enabled .woocommerce ul.products li.product .woocommerce-loop-product__title,
.pssw-enabled.woocommerce ul.products li.product .woocommerce-loop-product__title,
.pssw-enabled .wc-block-grid__product-title,
.pssw-enabled .wp-block-woocommerce-product-template .wp-block-post-title,
.pssw-enabled .wc-block-components-product-name {
	color:var(--pssw-text)!important;
	font-weight:650;
	line-height:1.25;
}
.pssw-enabled .woocommerce ul.products li.product .price,
.pssw-enabled.woocommerce ul.products li.product .price,
.pssw-enabled .wc-block-grid__product-price,
.pssw-enabled .wp-block-woocommerce-product-template .wp-block-woocommerce-product-price,
.pssw-enabled .wc-block-components-product-price {
	color:var(--pssw-price)!important;
	font-weight:700;
}
.pssw-enabled .woocommerce ul.products li.product .price del,
.pssw-enabled .wc-block-components-product-price del{color:var(--pssw-muted)!important;opacity:.72}
.pssw-enabled.pssw-align-center .woocommerce ul.products li.product,
.pssw-enabled.pssw-align-center .wc-block-grid__product,
.pssw-enabled.pssw-align-center .wp-block-woocommerce-product-template > li{text-align:center}

/* Buttons. */
.pssw-enabled .woocommerce a.button,
.pssw-enabled .woocommerce button.button,
.pssw-enabled .woocommerce input.button,
.pssw-enabled.woocommerce a.button,
.pssw-enabled.woocommerce button.button,
.pssw-enabled .wp-element-button.wc-block-components-product-button__button,
.pssw-enabled .wc-block-components-product-button__button,
.pssw-enabled .single_add_to_cart_button {
	border-radius:var(--pssw-button-radius)!important;
	font-weight:650!important;
	transition:transform .18s ease,opacity .18s ease,background .18s ease,color .18s ease!important;
	min-height:44px;
}
.pssw-enabled.pssw-button-solid .woocommerce a.button,
.pssw-enabled.pssw-button-solid .woocommerce button.button,
.pssw-enabled.pssw-button-solid.woocommerce a.button,
.pssw-enabled.pssw-button-solid .wc-block-components-product-button__button,
.pssw-enabled.pssw-button-solid .single_add_to_cart_button {
	background:var(--pssw-accent)!important;
	color:var(--pssw-button-text)!important;
	border:1px solid var(--pssw-accent)!important;
}
.pssw-enabled.pssw-button-outline .woocommerce a.button,
.pssw-enabled.pssw-button-outline .woocommerce button.button,
.pssw-enabled.pssw-button-outline.woocommerce a.button,
.pssw-enabled.pssw-button-outline .wc-block-components-product-button__button,
.pssw-enabled.pssw-button-outline .single_add_to_cart_button {
	background:transparent!important;
	color:var(--pssw-accent)!important;
	border:1px solid var(--pssw-accent)!important;
}
.pssw-enabled .woocommerce a.button:hover,
.pssw-enabled .woocommerce button.button:hover,
.pssw-enabled .wc-block-components-product-button__button:hover,
.pssw-enabled .single_add_to_cart_button:hover{transform:translateY(-1px);opacity:.9}
.pssw-enabled.pssw-button-full .woocommerce ul.products li.product .button,
.pssw-enabled.pssw-button-full.woocommerce ul.products li.product .button,
.pssw-enabled.pssw-button-full .wc-block-components-product-button__button{display:flex;width:100%;justify-content:center}

/* Sale badges. */
.pssw-enabled .woocommerce span.onsale,
.pssw-enabled.woocommerce span.onsale,
.pssw-enabled .wc-block-components-product-sale-badge,
.pssw-enabled .wc-block-grid__product-onsale {
	background:var(--pssw-sale-bg)!important;
	color:var(--pssw-sale-text)!important;
	border:0!important;
	border-radius:var(--pssw-badge-radius)!important;
	min-height:auto!important;
	min-width:auto!important;
	line-height:1!important;
	padding:8px 11px!important;
	font-size:12px!important;
	font-weight:750!important;
}

/* Single product: enhance rather than replace WooCommerce markup. */
.pssw-enabled.single-product .site-main,
.pssw-enabled.single-product main {
	max-width:var(--pssw-single-max);
	margin-left:auto;
	margin-right:auto;
}
.pssw-enabled.single-product .woocommerce-breadcrumb {
	color:var(--pssw-muted)!important;
	font-size:.9rem;
	margin-bottom:20px!important;
}
.pssw-enabled.single-product .woocommerce-breadcrumb a {color:var(--pssw-muted)!important}
.pssw-enabled.single-product div.product .product_title,
.pssw-enabled.single-product .wp-block-post-title {
	font-size:clamp(28px,var(--pssw-single-title),64px);
	line-height:1.08;
	color:var(--pssw-text)!important;
	letter-spacing:-.025em;
	margin-top:0;
}
.pssw-enabled.single-product div.product p.price,
.pssw-enabled.single-product div.product span.price,
.pssw-enabled.single-product .wp-block-woocommerce-product-price {
	color:var(--pssw-price)!important;
	font-weight:750;
}
.pssw-enabled.single-product div.product .woocommerce-product-gallery__image img,
.pssw-enabled.single-product .wp-block-woocommerce-product-gallery img,
.pssw-enabled.single-product .wp-block-woocommerce-product-image-gallery img {
	border-radius:var(--pssw-gallery-radius);
}
.pssw-enabled.single-product .flex-control-thumbs img,
.pssw-enabled.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
	border-radius:min(var(--pssw-gallery-radius),12px);
}

.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery {
	position:relative;
	display:grid;
	gap:14px;
	align-items:start;
}
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery figure {
	min-width:0;
	margin:0;
}
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {
	display:grid!important;
	gap:12px;
	padding:0!important;
	margin:0!important;
	list-style:none!important;
}
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs li {
	float:none!important;
	width:100%!important;
	margin:0!important;
}
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img {
	width:100%!important;
	aspect-ratio:1/1;
	object-fit:cover;
	background:#fff;
	border:1px solid var(--pssw-border-color);
	border-radius:min(var(--pssw-gallery-radius),14px);
	padding:2px;
	opacity:1!important;
	cursor:pointer;
	transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img:hover,
.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs .flex-active {
	border-color:var(--pssw-accent);
	transform:translateY(-1px);
	box-shadow:0 8px 24px rgba(15,23,42,.10);
}
.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .woocommerce-product-gallery {
	background:var(--pssw-surface);
	border:var(--pssw-border) solid var(--pssw-border-color);
	border-radius:var(--pssw-summary-radius);
	box-shadow:var(--pssw-shadow);
	padding:var(--pssw-gallery-panel-padding);
}
.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .woocommerce-product-gallery {
	padding:6px;
	border-radius:var(--pssw-summary-radius);
}
.pssw-enabled.pssw-thumbs-bottom.single-product .woocommerce div.product .woocommerce-product-gallery,
.pssw-enabled.pssw-thumbs-top.single-product .woocommerce div.product .woocommerce-product-gallery {
	grid-template-columns:minmax(0,1fr);
}
.pssw-enabled.pssw-thumbs-bottom.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs,
.pssw-enabled.pssw-thumbs-top.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {
	grid-template-columns:repeat(auto-fit,minmax(var(--pssw-thumb-size),1fr));
}
.pssw-enabled.pssw-thumbs-bottom.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
.pssw-enabled.pssw-thumbs-bottom.single-product .woocommerce div.product .woocommerce-product-gallery figure {order:1}
.pssw-enabled.pssw-thumbs-bottom.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {order:2}
.pssw-enabled.pssw-thumbs-top.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
.pssw-enabled.pssw-thumbs-top.single-product .woocommerce div.product .woocommerce-product-gallery figure {order:2}
.pssw-enabled.pssw-thumbs-top.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {order:1}
@media (min-width: 992px){
	.pssw-enabled.pssw-thumbs-left.single-product .woocommerce div.product .woocommerce-product-gallery,
	.pssw-enabled.pssw-thumbs-right.single-product .woocommerce div.product .woocommerce-product-gallery {
		grid-template-columns:var(--pssw-thumb-size) minmax(0,1fr);
	}
	.pssw-enabled.pssw-thumbs-left.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs,
	.pssw-enabled.pssw-thumbs-right.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {
		grid-template-columns:1fr;
		align-content:start;
	}
	.pssw-enabled.pssw-thumbs-left.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {order:1}
	.pssw-enabled.pssw-thumbs-left.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
	.pssw-enabled.pssw-thumbs-left.single-product .woocommerce div.product .woocommerce-product-gallery figure {order:2}
	.pssw-enabled.pssw-thumbs-right.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
	.pssw-enabled.pssw-thumbs-right.single-product .woocommerce div.product .woocommerce-product-gallery figure {order:1}
	.pssw-enabled.pssw-thumbs-right.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {order:2}
}
.pssw-enabled.single-product .quantity .qty,
.pssw-enabled.single-product select,
.pssw-enabled.single-product input[type="text"],
.pssw-enabled.single-product input[type="number"] {
	border-radius:min(var(--pssw-button-radius),12px);
	border:1px solid var(--pssw-border-color);
	min-height:44px;
}
.pssw-enabled.single-product div.product form.cart {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px;
	margin-top:22px;
}
.pssw-enabled.single-product div.product form.cart .quantity {margin:0!important}
.pssw-enabled.single-product div.product .product_meta {
	border-top:1px solid var(--pssw-border-color);
	margin-top:24px;
	padding-top:18px;
	font-size:.9rem;
	line-height:1.75;
}
.pssw-enabled.single-product div.product .woocommerce-tabs,
.pssw-enabled.single-product div.product .related,
.pssw-enabled.single-product div.product .upsells {
	margin-top:34px;
}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs {
	padding:0!important;
	border-bottom:1px solid var(--pssw-border-color);
}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs::before {border-bottom:0!important}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs li {
	background:transparent!important;
	border:0!important;
	padding:0!important;
	margin-right:24px!important;
}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs li::before,
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding:12px 0!important;
	color:var(--pssw-muted)!important;
}
.pssw-enabled.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color:var(--pssw-text)!important;
	box-shadow:inset 0 -2px 0 var(--pssw-accent);
}

/* Premium single-product layout for classic WooCommerce markup. */
@media (min-width: 992px){
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product {
		display:grid;
		grid-template-columns:var(--pssw-gallery-width) minmax(0,1fr);
		column-gap:clamp(28px,4vw,64px);
		align-items:start;
		max-width:var(--pssw-single-max);
		position:relative;
		margin-left:auto;
		margin-right:auto;
	}

	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product::before,
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product::after,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product::before,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product::after {
		display:none!important;
		content:none!important;
	}

	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .woocommerce-product-gallery,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .woocommerce-product-gallery {
		float:none!important;
		width:auto!important;
		margin:0!important;
		grid-column:1;
		grid-row:1;
	}
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .summary,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .summary {
		float:none!important;
		width:auto!important;
		margin:0!important;
		grid-column:2;
		grid-row:1;
		min-width:0;
	}
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .woocommerce-tabs,
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .related,
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .upsells,
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > section,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .woocommerce-tabs,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .related,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .upsells,
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > section {
		grid-column:1 / -1;
		clear:both;
	}
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .summary {
		background:var(--pssw-surface);
		border:var(--pssw-border) solid var(--pssw-border-color);
		border-radius:var(--pssw-summary-radius);
		box-shadow:var(--pssw-shadow);
		padding:var(--pssw-summary-padding);
	}
	.pssw-enabled.pssw-single-minimal.single-product .woocommerce div.product > .summary {
		padding:clamp(4px,1vw,16px) 0;
	}
	.pssw-enabled.pssw-sticky-summary.single-product div.product > div.summary {
		position:sticky;
		top:32px;
		align-self:start;
	}
}

/* Compatibility mode: override common theme color collisions inside WooCommerce only. */
.pssw-enabled.pssw-compat-force.single-product div.product .summary,
.pssw-enabled.pssw-compat-force.single-product div.product .summary p,
.pssw-enabled.pssw-compat-force.single-product div.product .summary li,
.pssw-enabled.pssw-compat-force.single-product div.product .summary label,
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-product-details__short-description,
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-product-details__short-description p,
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-tabs .panel,
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-tabs .panel p,
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-tabs .panel li {
	color:var(--pssw-text)!important;
}
.pssw-enabled.pssw-compat-force.single-product div.product .summary a:not(.button),
.pssw-enabled.pssw-compat-force.single-product div.product .woocommerce-tabs .panel a {
	color:var(--pssw-accent)!important;
}
.pssw-enabled.pssw-compat-force.single-product div.product .product_meta,
.pssw-enabled.pssw-compat-force.single-product div.product .product_meta span,
.pssw-enabled.pssw-compat-force.single-product div.product .product_meta > span {
	color:var(--pssw-muted)!important;
}
.pssw-enabled.pssw-compat-force.single-product div.product .product_meta a {
	color:var(--pssw-accent)!important;
}
.pssw-enabled.pssw-compat-force.single-product div.product .stock {color:var(--pssw-accent)!important}
.pssw-enabled.pssw-compat-force.single-product .related > h2,
.pssw-enabled.pssw-compat-force.single-product .upsells > h2 {color:var(--pssw-text)!important}

@media (max-width: 1024px){
	.pssw-enabled .woocommerce ul.products,
	.pssw-enabled.woocommerce ul.products,
	.pssw-enabled .wp-block-woocommerce-product-template,
	.pssw-enabled ul.wc-block-product-template,
	.pssw-enabled .wc-block-grid__products{grid-template-columns:repeat(var(--pssw-cols-t),minmax(0,1fr))!important}
}
@media (max-width: 991px){
	.pssw-enabled.pssw-single-premium.single-product .woocommerce div.product > .summary {
		background:var(--pssw-surface);
		border:var(--pssw-border) solid var(--pssw-border-color);
		border-radius:var(--pssw-summary-radius);
		box-shadow:var(--pssw-shadow);
		padding:clamp(20px,5vw,var(--pssw-summary-padding));
		margin-top:24px!important;
	}
	.pssw-enabled.single-product div.product .woocommerce-product-gallery,
	.pssw-enabled.single-product div.product .summary {
		width:100%!important;
		float:none!important;
	}
	.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery {
		grid-template-columns:minmax(0,1fr)!important;
	}
	.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport,
	.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery figure {order:1}
	.pssw-enabled.single-product .woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {
		order:2;
		grid-template-columns:repeat(auto-fit,minmax(64px,1fr));
	}
}
@media (max-width: 600px){
	.pssw-enabled .woocommerce ul.products,
	.pssw-enabled.woocommerce ul.products,
	.pssw-enabled .wp-block-woocommerce-product-template,
	.pssw-enabled ul.wc-block-product-template,
	.pssw-enabled .wc-block-grid__products{grid-template-columns:repeat(var(--pssw-cols-m),minmax(0,1fr))!important;gap:16px!important}
	.pssw-enabled .woocommerce ul.products li.product,
	.pssw-enabled.woocommerce ul.products li.product,
	.pssw-enabled .wp-block-woocommerce-product-template > li{padding:10px!important}
	.pssw-enabled.single-product div.product form.cart {align-items:stretch}
	.pssw-enabled.single-product div.product form.cart .single_add_to_cart_button {flex:1 1 auto}
}
