/* Shared Shop and related-product cards; layout and purchase permissions remain contextual. */
:is(.cannectra-catalog ul.products li.product.cannectra-product-card,.cn-product-page .cn-related-card) {
	position:relative;
	display:flex;
	min-width:0;
	flex-direction:column;
	overflow:hidden;
	border:1px solid rgba(76,120,134,.2);
	border-radius:20px;
	background:#fff;
	box-shadow:none;
	animation:none;
	transition:transform .24s cubic-bezier(.2,.7,.2,1),border-color .24s ease,box-shadow .24s cubic-bezier(.2,.7,.2,1);
	contain:layout paint style;
	contain-intrinsic-size:auto 470px;
}
:is(.cannectra-catalog ul.products li.product.cannectra-product-card,.cn-product-page .cn-related-card):hover,
:is(.cannectra-catalog ul.products li.product.cannectra-product-card,.cn-product-page .cn-related-card):focus-within {
	border-color:rgba(94,143,158,.48);
	box-shadow:0 18px 50px rgba(30,42,47,.1);
	transform:translateY(-4px);
}
.cannectra-product-card__link {
	display:flex;
	min-width:0;
	flex:1 1 auto;
	flex-direction:column;
	color:inherit;
	text-decoration:none;
}
.cannectra-product-card__visual {
	position:relative;
	display:grid;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	flex:0 0 auto;
	place-items:center;
	overflow:hidden;
	background:linear-gradient(145deg,#edf6f7,#c7dde2);
}
.cannectra-product-card__visual::after {
	position:absolute;
	inset:auto -20% -42%;
	height:75%;
	background:radial-gradient(ellipse,rgba(255,255,255,.9),transparent 62%);
	content:"";
	transform:rotate(-9deg);
}
:is(.cannectra-catalog ul.products li.product,.cn-product-page .cn-related-card) .cannectra-product-card__visual img {
	position:relative;
	z-index:2;
	width:100%;
	height:100%;
	margin:0;
	object-fit:contain;
	background:transparent;
	filter:drop-shadow(0 18px 18px rgba(30,42,47,.18));
	transition:transform .28s cubic-bezier(.2,.7,.2,1);
}
:is(.cannectra-catalog ul.products li.product.cannectra-product-card,.cn-product-page .cn-related-card):hover .cannectra-product-card__visual img,
:is(.cannectra-catalog ul.products li.product.cannectra-product-card,.cn-product-page .cn-related-card):focus-within .cannectra-product-card__visual img { transform:scale(1.035); }
.cannectra-product-card__badges {
	position:absolute;
	top:11px;
	right:11px;
	left:11px;
	z-index:4;
	display:flex;
	justify-content:space-between;
	gap:5px;
	pointer-events:none;
}
.cannectra-product-badge {
	padding:6px 9px;
	border-radius:999px;
	background:rgba(255,255,255,.91);
	color:#31535d;
	font-size:9px;
	font-weight:900;
	letter-spacing:.025em;
	text-transform:uppercase;
	backdrop-filter:blur(5px);
}
.cannectra-product-badge.is-sale { background:var(--cannectra-brand-dark);color:#fff; }
.cannectra-product-badge.is-instock { background:#e8f5f0;color:#26724c; }
.cannectra-product-badge.is-onbackorder { background:#fff1d2;color:#6d4a05; }
.cannectra-product-badge.is-outofstock { background:#f8e6e4;color:#96433f; }
.cannectra-product-card__body {
	display:flex;
	min-width:0;
	flex:1 1 auto;
	flex-direction:column;
	padding:15px;
}
.cannectra-product-card__heading { display:flex;min-width:0;justify-content:space-between;gap:10px; }
:is(.cannectra-catalog ul.products li.product,.cn-product-page .cn-related-card) .cannectra-product-card__heading .woocommerce-loop-product__title {
	min-height:35px;
	margin:0;
	padding:0;
	color:var(--cannectra-ink);
	font-size:14px;
	font-weight:900;
	line-height:1.23;
}
.cannectra-product-card__arrow {
	display:grid;
	width:28px;
	height:28px;
	flex:0 0 28px;
	place-items:center;
	border-radius:9px;
	background:#eff6f7;
	color:var(--cannectra-brand-dark);
	font-size:14px;
}
.cannectra-product-card__meta { min-width:0; }
.cannectra-product-card__identifiers {
	display:flex;
	gap:4px 8px;
	flex-wrap:wrap;
	margin-top:6px;
	color:#7a8b91;
	font-size:9px;
	letter-spacing:.025em;
}
.cannectra-product-card__categories {
	display:flex;
	gap:5px;
	flex-wrap:wrap;
	margin:11px 0 0;
}
.cannectra-product-card__categories span {
	padding:5px 7px;
	border-radius:8px;
	background:#eff6f7;
	color:#4f666e;
	font-size:9px;
	font-weight:750;
}
.cannectra-product-card__commerce {
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:8px;
	margin-top:auto;
	padding-top:14px;
}
.cannectra-product-card__price { min-width:0;--cannectra-price-note-size:.875rem; }
:is(.cannectra-catalog ul.products li.product,.cn-product-page .cn-related-card) .cannectra-product-card__price .price {
	display:block;
	padding:0;
	color:var(--cannectra-ink);
	font-size:18px;
	font-weight:900;
	letter-spacing:-.03em;
}
.cannectra-product-card__price small { display:block;margin-top:2px;color:#7d8b90;font-size:8px; }
.cannectra-product-card__price .price-per-unit { display:block;margin-top:4px;font-size:var(--cannectra-price-note-size);font-weight:500;line-height:1.4;letter-spacing:normal; }
.cannectra-product-card__price-lock {
	display:inline-flex;
	min-height:28px;
	align-items:center;
	padding:5px 8px;
	border-radius:8px;
	background:#eff6f7;
	color:var(--cannectra-brand-dark);
	font-size:9px;
	font-weight:850;
}
.cannectra-product-card__stock {
	display:inline-flex;
	align-items:center;
	justify-content:flex-end;
	gap:6px;
	color:#52676e;
	font-size:9px;
	font-weight:800;
	text-align:right;
}
.cannectra-product-card__stock i { width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#2b8558; }
.cannectra-product-card__stock.is-onbackorder i { background:#e4a33b; }
.cannectra-product-card__stock.is-outofstock i { background:#c94f4f; }
.cannectra-product-card__actions {
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
	gap:7px;
	padding:0 15px 15px;
}
:is(.cannectra-catalog ul.products li.product,.cn-product-page .cn-related-card) .cannectra-product-card__actions .button,
.cannectra-product-card__details {
	display:flex;
	min-height:40px;
	align-items:center;
	justify-content:center;
	margin:0;
	padding:7px 10px;
	border:1px solid rgba(76,120,134,.2);
	border-radius:11px;
	background:#f7fbfc;
	color:var(--cannectra-ink);
	font-size:9px;
	font-weight:850;
	line-height:1.2;
	text-align:center;
	text-decoration:none;
}
:is(.cannectra-catalog ul.products li.product,.cn-product-page .cn-related-card) .cannectra-product-card__actions .button { border-color:var(--cannectra-brand-dark);background:var(--cannectra-brand-dark);color:#fff; }
.cannectra-product-card__details:hover,
.cannectra-product-card__details:focus-visible { border-color:var(--cannectra-brand);background:#edf6f7;color:var(--cannectra-brand-dark); }

@media(prefers-reduced-motion:reduce){
	.cannectra-product-card, .cannectra-product-card__visual img{transition:none}
}
