.wssn-storefront {
	--wssn-sf-surface: #fff;
	--wssn-sf-surface-soft: #f8fafc;
	--wssn-sf-text: #1f2937;
	--wssn-sf-muted: #667085;
	--wssn-sf-border: #e5e7eb;
	--wssn-sf-accent: #2563eb;
	--wssn-sf-accent-soft: #eff6ff;
	--wssn-sf-accent-contrast: #fff;
	--wssn-sf-success: #15803d;
	--wssn-sf-radius: 14px;
	--wssn-sf-radius-sm: 9px;
	--wssn-sf-gap: 14px;
	--wssn-sf-shadow: 0 8px 24px rgba(15, 23, 42, .06);
	--wssn-sf-transition: 160ms ease;
	color: var(--wssn-sf-text);
	font: inherit;
}

.wssn-product-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: var(--wssn-sf-surface);
	color: var(--wssn-sf-text);
	border: 1px solid var(--wssn-sf-border);
	border-radius: var(--wssn-sf-radius);
	overflow: hidden;
	box-shadow: var(--wssn-sf-shadow);
	transition: transform var(--wssn-sf-transition), box-shadow var(--wssn-sf-transition), border-color var(--wssn-sf-transition);
}

.wssn-product-card *,
.wssn-product-card *::before,
.wssn-product-card *::after {
	box-sizing: border-box;
}

.wssn-product-card__relation {
	align-self: flex-start;
	max-width: calc(100% - 24px);
	margin: 12px 12px 0;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--wssn-sf-accent-soft);
	color: var(--wssn-sf-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
}

.wssn-product-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	margin: 10px 12px 0;
	padding: 10px;
	border-radius: var(--wssn-sf-radius-sm);
	overflow: hidden;
	background: var(--wssn-sf-surface-soft);
	text-decoration: none;
}

.wssn-product-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.wssn-product-card__image-placeholder {
	display: block;
	width: 44%;
	aspect-ratio: 1 / 1;
	border: 1px dashed var(--wssn-sf-border);
	border-radius: var(--wssn-sf-radius-sm);
}

.wssn-product-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 9px;
	padding: 14px;
}

.wssn-product-card__title {
	margin: 0;
	font: inherit;
	font-weight: 700;
	line-height: 1.75;
}

.wssn-product-card__title a,
.wssn-product-card__link,
.wssn-product-card__add-to-cart {
	color: inherit;
	text-decoration: none;
}

.wssn-product-card__title a:hover,
.wssn-product-card__title a:focus-visible {
	color: var(--wssn-sf-accent);
}

.wssn-product-card__price {
	font-weight: 800;
	line-height: 1.8;
}

.wssn-product-card__meta {
	margin-top: auto;
	color: var(--wssn-sf-muted);
	font-size: 12px;
	line-height: 1.7;
}

.wssn-product-card__stock {
	color: var(--wssn-sf-success);
}

.wssn-product-card__link,
.wssn-product-card__add-to-cart,
.wssn-product-card .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--wssn-sf-accent);
	border-radius: var(--wssn-sf-radius-sm);
	background: var(--wssn-sf-accent);
	color: var(--wssn-sf-accent-contrast);
	font-weight: 700;
	line-height: 1.5;
	transition: filter var(--wssn-sf-transition), transform var(--wssn-sf-transition);
}

.wssn-product-card__link:hover,
.wssn-product-card__add-to-cart:hover,
.wssn-product-card .added_to_cart:hover {
	color: var(--wssn-sf-accent-contrast);
	filter: brightness(.96);
}

.wssn-product-card__title a:focus-visible,
.wssn-product-card__link:focus-visible,
.wssn-product-card__add-to-cart:focus-visible,
.wssn-product-card .added_to_cart:focus-visible {
	outline: 3px solid var(--wssn-sf-accent);
	outline-offset: 3px;
}

@media (hover: hover) {
	.wssn-product-card:hover {
		transform: translateY(-2px);
	}
}

@media (max-width: 782px) {
	.wssn-storefront {
		--wssn-sf-gap: 10px;
		--wssn-sf-radius: 12px;
	}

	.wssn-product-card__content {
		padding: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wssn-product-card,
	.wssn-product-card__link,
	.wssn-product-card__add-to-cart,
	.wssn-product-card .added_to_cart {
		transition: none;
	}

	.wssn-product-card:hover {
		transform: none;
	}
}

.wssn-product-relations {
	box-sizing: border-box;
	width: 100%;
	margin-block: 20px;
}

.wssn-product-relations__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wssn-sf-gap);
	margin-block-end: 16px;
}

.wssn-product-relations__title {
	margin: 0;
	color: var(--wssn-sf-text);
	font: inherit;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 800;
	line-height: 1.6;
}

.wssn-product-relations__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: var(--wssn-sf-gap);
	align-items: stretch;
	min-width: 0;
}

.wssn-product-relations--grid .wssn-product-relations__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.wssn-product-relations--shelf .wssn-product-relations__items {
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	gap: var(--wssn-sf-gap);
	padding: 2px 2px 10px;
	scroll-snap-type: x proximity;
	scroll-padding-inline: 2px;
	overscroll-behavior-inline: contain;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.wssn-product-relations--shelf .wssn-product-card {
	flex: 0 0 clamp(210px, 24vw, 280px);
	scroll-snap-align: start;
}

@media (max-width: 782px) {
	.wssn-product-relations {
		margin-block: 16px;
	}

	.wssn-product-relations--grid .wssn-product-relations__items,
	.wssn-product-relations:not(.wssn-product-relations--shelf) .wssn-product-relations__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wssn-product-relations--shelf .wssn-product-card {
		flex-basis: min(72vw, 250px);
	}
}

@media (max-width: 480px) {
	.wssn-product-relations--grid .wssn-product-relations__items,
	.wssn-product-relations:not(.wssn-product-relations--shelf) .wssn-product-relations__items {
		grid-template-columns: 1fr;
	}

	.wssn-product-relations--shelf .wssn-product-card {
		flex-basis: min(82vw, 250px);
	}
}


.wssn-product-card__add-to-cart.loading {
	opacity: .72;
	pointer-events: none;
}

.wssn-product-card__add-to-cart.added {
	border-color: var(--wssn-sf-success);
	background: var(--wssn-sf-success);
}

.wssn-product-card .added_to_cart {
	margin-top: 8px;
	border-color: var(--wssn-sf-border);
	background: var(--wssn-sf-surface-soft);
	color: var(--wssn-sf-text);
}

.wssn-variation-relations-mount[hidden] {
	display: none !important;
}

.wssn-variation-relations-mount.is-refreshing .wssn-product-relations {
	opacity: .58;
	pointer-events: none;
}

.wssn-variation-relations-mount .wssn-product-relations {
	transition: opacity var(--wssn-sf-transition, 160ms ease);
}

@media (prefers-reduced-motion: reduce) {
	.wssn-variation-relations-mount .wssn-product-relations {
		transition: none;
	}
}

/* Stage 3.11 accessibility / live-refresh guards. */
.wssn-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.wssn-product-relations--shelf .wssn-product-relations__items:focus-visible {
	outline: 3px solid var(--wssn-sf-accent);
	outline-offset: 4px;
	border-radius: var(--wssn-sf-radius-sm);
}

.wssn-variation-relations-region {
	position: relative;
}

/* Stage 12R.6 — unified ordinary storefront presentation. */
.wssn-unified-block {
	box-sizing: border-box;
	width: 100%;
	margin-block: 16px;
	padding: 14px;
	border: 1px solid var(--wssn-sf-border, #e5e7eb);
	border-radius: var(--wssn-sf-radius, 14px);
	background: var(--wssn-sf-surface, #fff);
	box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
}
.wssn-unified-block *, .wssn-unified-block *::before, .wssn-unified-block *::after { box-sizing: border-box; }
.wssn-unified-block__head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-block-end:10px; }
.wssn-unified-block__head h2 { margin:0; font:inherit; font-size:1.05rem; font-weight:800; line-height:1.65; color:var(--wssn-sf-text,#1f2937); }

.wssn-suggestion-block { max-width:100%; }
.wssn-suggestion-block__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.wssn-suggestion-block--near-purchase { margin-block:10px; padding:10px; box-shadow:none; background:var(--wssn-sf-surface-soft,#f8fafc); }
.wssn-suggestion-block--near-purchase .wssn-suggestion-block__items,
.wssn-suggestion-block--post-add .wssn-suggestion-block__items { grid-template-columns:1fr; }
.wssn-suggestion-block--cart .wssn-suggestion-block__items { grid-template-columns:repeat(3,minmax(0,1fr)); }

.wssn-product-card--compact { display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-rows:auto; min-height:0; box-shadow:none; border-radius:10px; }
.wssn-product-card--compact .wssn-product-card__relation { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wssn-product-card--compact .wssn-product-card__media { width:64px; height:64px; aspect-ratio:1; margin:8px; padding:5px; grid-column:1; grid-row:1; }
.wssn-product-card--compact .wssn-product-card__content { grid-column:2; grid-row:1; gap:4px; padding:8px 8px 8px 4px; justify-content:center; }
.wssn-product-card--compact .wssn-product-card__title { font-size:.9rem; line-height:1.55; }
.wssn-product-card--compact .wssn-product-card__price { font-size:.88rem; line-height:1.5; }
.wssn-product-card--compact .wssn-product-card__meta { display:none; }
.wssn-product-card--compact .wssn-product-card__link,
.wssn-product-card--compact .wssn-product-card__add-to-cart,
.wssn-product-card--compact .added_to_cart { min-height:44px; padding:6px 9px; font-size:.82rem; }

.wssn-post-add[hidden] { display:none !important; }
.wssn-post-add { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:18px; }
.wssn-post-add__backdrop { position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; border:0; background:rgba(15,23,42,.48); cursor:pointer; }
.wssn-post-add__sheet { position:relative; z-index:1; width:min(560px,100%); max-height:min(78vh,680px); overflow:auto; padding:8px; border:0; border-radius:18px; background:#fff; box-shadow:0 24px 64px rgba(15,23,42,.22); }
.wssn-post-add__sheet .wssn-unified-block { margin:0; border:0; box-shadow:none; }
.wssn-post-add__close { position:sticky; inset-block-start:0; inset-inline-start:0; z-index:2; display:grid; place-items:center; width:44px; height:44px; margin-inline-start:auto; border:0; border-radius:999px; background:#f1f5f9; color:#0f172a; font:inherit; font-size:1.4rem; cursor:pointer; }
html.wssn-post-add-open { overflow:hidden; }

/* Bring the existing three ordinary product-selling blocks onto the same surface language. */
.wssn-unified-block.wssn-purchase-placement,
.wssn-unified-block.wssn-bundle-placement,
.wssn-unified-block.wssn-spare-parts-compact { margin-block:16px; }
.wssn-unified-block .wssn-purchase-set-panel,
.wssn-unified-block .wssn-bundle { border-color:var(--wssn-sf-border,#e5e7eb); border-radius:10px; box-shadow:none; }
.wssn-unified-block.wssn-spare-parts-compact { border:1px solid var(--wssn-sf-border,#e5e7eb); border-radius:var(--wssn-sf-radius,14px); background:var(--wssn-sf-surface,#fff); }

@media (max-width:782px) {
	.wssn-unified-block { margin-block:12px; padding:10px; border-radius:12px; box-shadow:none; }
	.wssn-suggestion-block__items,
	.wssn-suggestion-block--cart .wssn-suggestion-block__items { grid-template-columns:1fr; gap:8px; }
	.wssn-product-card--compact { grid-template-columns:64px minmax(0,1fr); }
	.wssn-product-card--compact .wssn-product-card__media { width:56px; height:56px; margin:7px; }
	.wssn-product-card--compact .wssn-product-card__content { padding:7px 7px 7px 2px; }
	.wssn-product-card--compact .wssn-product-card__link,
	.wssn-product-card--compact .wssn-product-card__add-to-cart,
	.wssn-product-card--compact .added_to_cart { min-height:44px; width:100%; }
	.wssn-post-add { align-items:end; padding:0; }
	.wssn-post-add__sheet { width:100%; max-height:82vh; border-radius:18px 18px 0 0; padding:8px 8px max(8px, env(safe-area-inset-bottom)); }
}
@media (max-width:390px) {
	.wssn-unified-block { padding:9px; }
	.wssn-product-card--compact { grid-template-columns:58px minmax(0,1fr); }
	.wssn-product-card--compact .wssn-product-card__media { width:50px; height:50px; margin:6px; }
	.wssn-product-card--compact .wssn-product-card__title { font-size:.86rem; }
}
@media (prefers-reduced-motion:reduce) {
	.wssn-post-add *, .wssn-unified-block * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* 12R.8 CP230 — three explicit ordinary relationship layouts. */
.wssn-suggestion-block--layout-list .wssn-product-relations__items,
.wssn-suggestion-block--layout-list .wssn-unified-items { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--wssn-sf-border); border-radius:14px; overflow:hidden; }
.wssn-product-card--list { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; min-height:68px; padding:11px 13px; border:0; border-bottom:1px solid var(--wssn-sf-border); border-radius:0; box-shadow:none; }
.wssn-product-card--list:last-child { border-bottom:0; }
.wssn-product-card--list .wssn-product-card__media,
.wssn-product-card--list .wssn-product-card__relation,
.wssn-product-card--list .wssn-product-card__meta { display:none; }
.wssn-product-card--list .wssn-product-card__content { display:contents; padding:0; }
.wssn-product-card--list .wssn-product-card__title { min-width:0; font-size:14px; }
.wssn-product-card--list .wssn-product-card__price { white-space:nowrap; font-size:14px; }
.wssn-product-card--list .wssn-product-card__add-to-cart,
.wssn-product-card--list .wssn-product-card__link { min-width:118px; }

.wssn-suggestion-block--layout-cards .wssn-product-relations__items,
.wssn-suggestion-block--layout-cards .wssn-unified-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:var(--wssn-sf-gap); }
.wssn-product-card--cards { height:100%; }

.wssn-suggestion-block--layout-showcase { padding:18px; border-radius:18px; background:linear-gradient(145deg,#f8fbff,#ffffff); border:1px solid #dbeafe; }
.wssn-suggestion-block--layout-showcase .wssn-product-relations__items,
.wssn-suggestion-block--layout-showcase .wssn-unified-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.wssn-product-card--showcase { display:grid; grid-template-columns:130px minmax(0,1fr); min-height:160px; border-color:#dbeafe; box-shadow:0 9px 25px rgba(37,99,235,.08); }
.wssn-product-card--showcase .wssn-product-card__media { grid-row:1 / span 2; width:110px; aspect-ratio:1; align-self:center; }
.wssn-product-card--showcase .wssn-product-card__relation { position:absolute; z-index:1; }
.wssn-product-card--showcase .wssn-product-card__content { padding:16px; }
.wssn-money { unicode-bidi:plaintext; }

@media (max-width:782px) {
	.wssn-product-card--list { grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; }
	.wssn-product-card--list .wssn-product-card__content { display:contents; }
	.wssn-product-card--list .wssn-product-card__add-to-cart,
	.wssn-product-card--list .wssn-product-card__link { grid-column:1 / -1; width:100%; }
	.wssn-suggestion-block--layout-showcase .wssn-product-relations__items,
	.wssn-suggestion-block--layout-showcase .wssn-unified-items { grid-template-columns:1fr; }
	.wssn-product-card--showcase { grid-template-columns:88px minmax(0,1fr); min-height:0; }
	.wssn-product-card--showcase .wssn-product-card__media { width:72px; margin:12px; }
}
.wssn-product-card--showcase { position: relative; }


/* 12R.8 CP232 — canonical Woo cart actions and theme-sticky compatibility. */
.wssn-product-card__actions {
	display:flex;
	align-items:stretch;
	gap:10px;
	flex-wrap:wrap;
	margin-top:2px;
}
.wssn-product-card__actions > .wssn-product-card__add-to-cart,
.wssn-product-card__actions > .wssn-product-card__link,
.wssn-product-card__actions > .added_to_cart {
	flex:1 1 132px;
	width:auto !important;
	margin:0 !important;
}
.wssn-sticky-native-cart-bridge-wrap { display:flex; align-items:center; margin-inline-start:10px; }
.wssn-sticky-native-cart-bridge {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	min-height:50px;
	padding:11px 20px !important;
	border-radius:10px !important;
	white-space:nowrap;
	font-size:16px !important;
	font-weight:700 !important;
	line-height:1.5 !important;
	letter-spacing:0 !important;
}
.wssn-sticky-native-cart-bridge::before,
.wssn-sticky-native-cart-bridge::after {
	content:none !important;
	display:none !important;
}
@media (max-width:782px) {
	.wssn-product-card__actions { gap:8px; }
	.wssn-product-card__actions > .wssn-product-card__add-to-cart,
	.wssn-product-card__actions > .wssn-product-card__link,
	.wssn-product-card__actions > .added_to_cart { flex-basis:calc(50% - 4px); }
}


/* Rapid 1.10.5 — merchant-controlled visual variables */
.wssn-storefront{color:var(--wssn-ui-text,#0f172a)}
.wssn-storefront.wssn-unified-block{background:var(--wssn-ui-surface,#fff)!important;border-color:var(--wssn-ui-border,#dbe4ef)!important;border-radius:var(--wssn-ui-radius,16px)!important}
.wssn-storefront .wssn-unified-block__head h2,.wssn-storefront .wssn-product-card__price{color:var(--wssn-ui-accent,#2563eb)!important}
.wssn-storefront .wssn-product-card{background:var(--wssn-ui-surface,#fff)!important;border-color:var(--wssn-ui-border,#dbe4ef)!important;border-radius:var(--wssn-ui-radius,16px)!important;color:var(--wssn-ui-text,#0f172a)!important}
.wssn-storefront .wssn-product-card__add-to-cart{background:var(--wssn-ui-cta-bg,#2563eb)!important;border-color:var(--wssn-ui-cta-bg,#2563eb)!important;color:var(--wssn-ui-cta-text,#fff)!important;border-radius:var(--wssn-ui-radius,12px)!important}
