/*!
 * Nedclan Cards 1.0.0
 * Base styles. Every value here can be changed per widget and per device
 * in Elementor; widget settings always win over these defaults.
 * Buttons and headings use ".nedclan-cards .nc-card" so that theme styles
 * (Astra, Elementor kit button styles, etc.) do not leak in.
 */

/* ---------- Grid ---------- */
.nedclan-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
	width: 100%;
}

.nc-equal-yes .nedclan-cards {
	align-items: stretch;
}

.nedclan-cards *,
.nedclan-cards *::before,
.nedclan-cards *::after {
	box-sizing: border-box;
}

/* ---------- Card ---------- */
.nedclan-cards .nc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	overflow: hidden;
	background-color: #fff;
	border: 1px solid #e3e5e8;
	border-radius: 4px;
	color: #33363d;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	text-align: left;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

.nedclan-cards .nc-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
}

/* Default element order (overridden by Element Order settings). */
.nedclan-cards .nc-el--title    { order: 1; }
.nedclan-cards .nc-el--rating   { order: 2; }
.nedclan-cards .nc-el--swatches { order: 3; }
.nedclan-cards .nc-el--sizes    { order: 4; }
.nedclan-cards .nc-el--price    { order: 5; }
.nedclan-cards .nc-el--stock    { order: 6; }
.nedclan-cards .nc-el--actions  { order: 7; }

/* Keep the button row at the bottom of equal-height cards. */
.nc-push-yes .nedclan-cards .nc-el--actions,
.nc-push-yes .nedclan-cards.nc-btn-layout-icon .nc-el--price {
	margin-top: auto;
}

/* ---------- Image ---------- */
.nedclan-cards .nc-media {
	position: relative;
	flex: 0 0 auto;
	overflow: hidden;
	background-color: #fff;
}

.nedclan-cards .nc-card .nc-image-wrap {
	display: block;
	text-decoration: none;
	box-shadow: none;
	border: 0;
}

.nedclan-cards .nc-image-inner {
	position: relative;
	overflow: hidden;
	width: 100%;
	border-radius: inherit;
}

/* Fill the image area edge to edge, even when the theme sets
   img { width/height: auto } or adds width/height attributes. */
.nedclan-cards .nc-card .nc-media .nc-image-wrap,
.nedclan-cards .nc-card .nc-media .nc-image-inner {
	border-radius: inherit;
}
.nedclan-cards .nc-card .nc-media img.nc-image {
	width: 100% !important;
	max-width: none !important;
	min-width: 100%;
}

.nedclan-cards .nc-card .nc-image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	transition: transform .45s ease, opacity .35s ease;
}

.nedclan-cards .nc-card .nc-image.nc-image--hover {
	position: absolute;
	inset: 0;
	height: 100%;
	opacity: 0;
}

.nedclan-cards .nc-card.nc-has-hover-image:hover .nc-image--hover { opacity: 1; }
.nedclan-cards .nc-card.nc-has-hover-image:hover .nc-image--main  { opacity: 0; }

.nedclan-cards .nc-card.nc-hover-zoom:hover .nc-image {
	transform: scale(var(--nc-zoom, 1.06));
}

/* ---------- Badges ---------- */
.nedclan-cards .nc-badges {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	pointer-events: none;
}

.nedclan-cards .nc-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 10px;
	border-radius: 4px;
	background-color: #ff2338;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

.nedclan-cards .nc-badge .nc-icon {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
}

.nedclan-cards .nc-discount {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 2px;
	background-color: #e8efff;
	color: #2b3a67;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;
}

.nedclan-cards .nc-discount--corner {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 3;
}

/* ---------- Wishlist ---------- */
.nedclan-cards .nc-card .nc-wishlist {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0 solid transparent;
	border-radius: 50%;
	background-color: #fff;
	background-image: none;
	color: #555b66;
	font: inherit;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}

.nedclan-cards .nc-card .nc-wishlist--image {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
}

.nedclan-cards .nc-wishlist .nc-icon {
	width: 16px;
	height: 16px;
	pointer-events: none;
}

.nedclan-cards .nc-wishlist.is-active .nc-icon path {
	fill: currentColor;
}

.nedclan-cards .nc-card .nc-wishlist:active {
	transform: scale(.92);
}

/* ---------- Title ---------- */
.nedclan-cards .nc-card .nc-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	padding: 0;
	color: #33363d;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
	word-break: break-word;
}

.nedclan-cards .nc-card .nc-title a {
	color: inherit;
	font: inherit;
	text-decoration: none;
	box-shadow: none;
	transition: color .2s ease;
}

/* ---------- Rating ---------- */
.nedclan-cards .nc-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--nc-justify, flex-start);
	gap: 8px;
}

.nedclan-cards .nc-stars {
	--nc-star-size: 16px;
	position: relative;
	display: inline-flex;
	line-height: 0;
}

.nedclan-cards .nc-stars-row {
	display: inline-flex;
	gap: 2px;
}

.nedclan-cards .nc-stars-row .nc-icon {
	width: var(--nc-star-size);
	height: var(--nc-star-size);
	flex: 0 0 auto;
}

.nedclan-cards .nc-stars-bg   { color: #e2e4ea; }
.nedclan-cards .nc-stars-fill {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	overflow: hidden;
	white-space: nowrap;
	color: #ffc107;
}

.nedclan-cards .nc-rating-text {
	color: #8a8f9c;
	font-size: 13px;
	line-height: 1.2;
}

/* ---------- Options (swatches & sizes) ---------- */
.nedclan-cards .nc-label {
	display: block;
	margin: 0 0 6px;
	color: #8a8f9c;
	font-size: 12px;
	line-height: 1.2;
}

.nedclan-cards .nc-option-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--nc-justify, flex-start);
	gap: 6px;
}

.nedclan-cards .nc-card .nc-swatch {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 50%;
	background: var(--nc-swatch, #d1d5db);
	box-shadow: none;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.nedclan-cards .nc-card .nc-swatch.is-active {
	border-color: #111;
}

.nedclan-cards .nc-card .nc-swatch.is-unavailable {
	opacity: .45;
}

.nedclan-cards .nc-card .nc-size {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	min-height: 0;
	margin: 0;
	padding: 0 6px;
	border: 1px solid transparent;
	border-radius: 4px;
	background-color: #eef3fb;
	background-image: none;
	color: #5b6170;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease, opacity .15s ease;
}

.nedclan-cards .nc-card .nc-size.is-active {
	border-color: #ff2338;
}

.nedclan-cards .nc-card .nc-size.is-unavailable {
	opacity: .35;
}

.nedclan-cards .nc-card .nc-more {
	color: #8a8f9c;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: none;
}

/* ---------- Price ---------- */
.nedclan-cards .nc-price {
	display: flex;
	flex-direction: column;
	align-items: var(--nc-justify, flex-start);
	gap: 2px;
	min-width: 0;
}

.nedclan-cards .nc-price--old_first {
	flex-direction: column-reverse;
}

.nedclan-cards .nc-price--inline {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: var(--nc-justify, flex-start);
	column-gap: 8px;
}

.nedclan-cards .nc-current-price {
	color: #33363d;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

.nedclan-cards .nc-price-meta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.nedclan-cards .nc-old-price {
	color: #8a8f9c;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: line-through;
	background: none;
}

.nedclan-cards .nc-price .amount,
.nedclan-cards .nc-price bdi {
	color: inherit;
	font: inherit;
	text-decoration: inherit;
	background: none;
}

.nedclan-cards .nc-price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

/* ---------- Stock ---------- */
.nedclan-cards .nc-card .nc-stock-text {
	display: flex;
	align-items: center;
	justify-content: var(--nc-justify, flex-start);
	gap: 6px;
	margin: 0;
	padding: 0;
	color: #33363d;
	font-size: 12px;
	line-height: 1.3;
}

.nedclan-cards .nc-stock-text .nc-icon {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
	color: #ff2338;
}

.nedclan-cards .nc-stock-highlight {
	color: #ff2338;
}

.nedclan-cards .nc-stock-bar {
	position: relative;
	height: 9px;
	margin-top: 8px;
	overflow: hidden;
	border-radius: 20px;
	background-color: #e9e9e9;
}

.nedclan-cards .nc-stock-bar > span {
	display: block;
	height: 100%;
	width: 0;
	border-radius: inherit;
	background-color: #ff2338;
	transition: width .4s ease;
}

/* ---------- Buttons ---------- */
.nedclan-cards .nc-actions {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.nedclan-cards .nc-card .nc-btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	gap: 10px;
	min-height: 40px;
	margin: 0;
	padding: 8px 16px;
	border: 0 solid transparent;
	border-radius: 8px;
	background-color: #ff2338;
	background-image: none;
	color: #fff;
	font-family: inherit;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: normal;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: nowrap;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease, opacity .2s ease;
}

.nedclan-cards .nc-card .nc-btn--icon {
	flex: 0 0 auto;
	width: 44px;
	min-height: 44px;
	padding: 0;
	border-radius: 50%;
}

.nedclan-cards .nc-card .nc-btn--icon-after {
	flex-direction: row-reverse;
}

.nedclan-cards .nc-btn .nc-icon {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.nedclan-cards .nc-card .nc-btn:active {
	transform: translateY(1px);
}

.nedclan-cards .nc-card .nc-btn.is-loading {
	opacity: .7;
	cursor: progress;
}

.nedclan-cards .nc-card .nc-btn.is-disabled {
	opacity: .5;
	cursor: not-allowed;
}

.nedclan-cards .nc-card .nc-btn.is-added {
	animation: nc-pop .45s ease;
}

/* WooCommerce adds a "View cart" link after buttons; the mini cart already updates. */
.nedclan-cards .added_to_cart {
	display: none !important;
}

@keyframes nc-pop {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.06); }
	100% { transform: scale(1); }
}

/* ---------- Focus, helpers ---------- */
.nedclan-cards .nc-card a:focus-visible,
.nedclan-cards .nc-card button:focus-visible {
	outline: 2px solid #2f6bff;
	outline-offset: 2px;
}

.nedclan-cards .nc-is-hidden {
	display: none !important;
}

.nedclan-cards .nc-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.nedclan-cards .nc-notice {
	order: 99;
	margin-top: 8px;
	color: #b42318;
	font-size: 12px;
	line-height: 1.4;
}

.nc-empty {
	padding: 24px;
	border: 1px dashed #c3c7cf;
	border-radius: 6px;
	color: #5b6170;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.nedclan-cards .nc-card,
	.nedclan-cards .nc-card *,
	.nedclan-cards .nc-card .nc-image {
		transition: none !important;
		animation: none !important;
	}
	.nedclan-cards .nc-card.nc-hover-zoom:hover .nc-image {
		transform: none;
	}
}

/* ---------- SOLD banner (Settings → Sold Banner) ---------- */
.nedclan-cards .nc-card .nc-sold {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	pointer-events: none;
}
.nedclan-cards .nc-card .nc-sold-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
	padding: var(--ncsold-py, 10px) var(--ncsold-px, 24px);
	border: var(--ncsold-bw, 0) solid var(--ncsold-bc, #fff);
	background: var(--ncsold-bg, rgba(17, 17, 17, .85));
	color: var(--ncsold-color, #fff);
	font-family: var(--ncsold-font, inherit);
	font-size: var(--ncsold-size, 22px);
	font-weight: var(--ncsold-weight, 700);
	line-height: 1;
	letter-spacing: var(--ncsold-ls, 4px);
	text-transform: var(--ncsold-case, uppercase);
	text-align: center;
	white-space: nowrap;
	transform: rotate(var(--ncsold-rot, 0deg));
}
.nedclan-cards .nc-card .nc-sold--band .nc-sold-text { width: 160%; border-left: 0; border-right: 0; border-radius: 0; }
.nedclan-cards .nc-card .nc-sold--badge .nc-sold-text { border-radius: var(--ncsold-radius, 0); }
.nedclan-cards .nc-card .nc-sold--pill .nc-sold-text { border-radius: 999px; }
.nedclan-cards .nc-card .nc-sold--circle .nc-sold-text {
	width: calc(var(--ncsold-size, 22px) * 4.4);
	height: calc(var(--ncsold-size, 22px) * 4.4);
	padding: 0;
	border-radius: 50%;
}
.nedclan-cards .nc-card.nc-has-sold .nc-image {
	opacity: var(--ncsold-dim, .65);
	filter: var(--ncsold-gray, none);
}
.nedclan-cards .nc-card.nc-has-sold.nc-hover-zoom:hover .nc-image { transform: none; }

/* ---------- Icons from the icon library ---------- */
.nedclan-cards .nc-wishlist.is-active .nc-icon :is(path, circle, rect, polygon, ellipse) { fill: currentColor; }
.nedclan-cards .nc-icon.nci-svg--custom,
.nci-svg--custom { fill: currentColor; }

/* Uploaded / Elementor-library button icons size like the built-in ones. */
.nedclan-cards .nc-btn .nc-icon-wrap { display: inline-flex; line-height: 0; }
.nedclan-cards .nc-btn .nc-icon-wrap svg,
.nedclan-cards .nc-btn .nc-icon-wrap img { width: var(--nc-btn-icon, 20px); height: var(--nc-btn-icon, 20px); fill: currentColor; }
.nedclan-cards .nc-btn .nc-icon-wrap i { font-size: var(--nc-btn-icon, 20px); line-height: 1; }

/* Card 5: price sits level with the cart box. */
.nedclan-cards--style-5 .nc-price-row { align-items: center; }

/* =====================================================================
 * Responsive cards (shortcode grids, sliders, archive, wishlist, search)
 * Each card sizes itself to its own width, so it also works with 2, 3 or
 * 2.5 cards per row. Card Styles' own tablet / mobile values still win.
 * ===================================================================== */
.nedclan-cards .nc-card { container: nccard / inline-size; }
/* Phones: cards measure themselves by their container, so they report almost no
   natural width. Elementor's flex containers size widgets from that natural width,
   which made the container end before the last row of cards. Give the cards a natural
   width of one grid column (then their real, remembered width). */
@media (max-width: 767px) {
	.nedclan-cards .nc-card { contain-intrinsic-inline-size: auto calc(100vw / var(--nc-cols, 2)); }
}
.nedclan-cards .nc-card .nc-price-row { gap: 8px; }
.nedclan-cards .nc-card .nc-price-row .nc-price { flex: 1 1 auto; min-width: 0; }
.nedclan-cards .nc-card .nc-actions { min-width: 0; }
.nedclan-cards .nc-card .nc-actions .nc-btn:not(.nc-btn--icon) { flex: 1 1 auto; min-width: 0; }
.nedclan-cards .nc-card .nc-btn .nc-btn-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nedclan-cards .nc-card .nc-badges { max-width: calc(100% - 52px); }
.nedclan-cards .nc-card .nc-badge { max-width: 100%; white-space: nowrap; }
.nedclan-cards .nc-card .nc-badge > span { overflow: hidden; text-overflow: ellipsis; }

@container nccard (max-width: 280px) {
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-title { font-size: clamp(14px, 7.4cqi, 18px); line-height: 1.3; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-current-price { font-size: clamp(15px, 8.4cqi, 20px); white-space: nowrap; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-old-price { font-size: clamp(11px, 6cqi, 13px); }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-price-meta { flex-wrap: wrap; gap: 4px 6px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-badge { font-size: clamp(10px, 5.6cqi, 12px); padding: 3px 7px; gap: 3px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-badge .nc-icon { width: 11px; height: 11px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-badges { top: 8px; left: 8px; gap: 5px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-discount { font-size: clamp(10px, 5.6cqi, 12px); padding: 2px 6px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-discount--corner { top: 8px; right: 8px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-wishlist--image { top: 8px; right: 8px; width: 30px; height: 30px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-wishlist .nc-icon { width: 15px; height: 15px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-rating-text { font-size: 11px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-stars { --nc-star-size: 13px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-rating { flex-wrap: wrap; gap: 4px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-swatches { gap: 5px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-swatch { width: 17px; height: 17px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-sizes { gap: 5px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-size { min-width: 24px; height: 24px; padding: 0 4px; font-size: 11px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-label { font-size: 11px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-stock-text { font-size: 11px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-el--swatches,
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-el--sizes,
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-el--price,
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-el--stock,
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-el--actions { padding-top: 10px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-content { margin-top: 10px; }
	/* Add to Cart with text */
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn:not(.nc-btn--icon) { min-height: 38px; padding: 6px 8px; gap: 6px; font-size: clamp(12px, 6.6cqi, 15px); }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn:not(.nc-btn--icon) .nc-icon { width: 16px; height: 16px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-actions { gap: 6px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-wishlist--actions { flex: 0 0 38px; width: 38px; height: 38px; }
	/* Round / box cart icon */
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn.nc-btn--icon { width: 36px; min-width: 36px; height: 36px; min-height: 36px; --nc-btn-icon: 18px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn.nc-btn--icon .nc-icon { width: 18px; height: 18px; }
}

@container nccard (max-width: 170px) {
	/* Very narrow: icon-only cart text button, smaller options. */
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn:not(.nc-btn--icon) .nc-icon { display: none; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-swatch { width: 15px; height: 15px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-size { min-width: 22px; height: 22px; font-size: 10px; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-btn.nc-btn--icon { width: 32px; min-width: 32px; height: 32px; min-height: 32px; }
}

/* Button shares its row with the wishlist (Card 3) on small cards: drop the
 * cart icon so the full "Add to Cart" text fits. */
@container nccard (max-width: 240px) {
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-actions:has(.nc-wishlist--actions) .nc-btn:not(.nc-btn--icon) { padding-left: 6px; padding-right: 6px; gap: 4px; font-size: clamp(12px, 6.4cqi, 14px); }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-actions:has(.nc-wishlist--actions) .nc-btn:not(.nc-btn--icon) .nc-icon,
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-actions:has(.nc-wishlist--actions) .nc-btn:not(.nc-btn--icon) .nc-icon-wrap { display: none; }
	body .nc-sc .nc-sc-design.nc-preset .nedclan-cards .nc-card.nc-card .nc-wishlist--actions { flex: 0 0 36px; width: 36px; height: 36px; }
}

/* Settings → Card Designs → Product title: full title / first words */
html body .nedclan-cards .nc-card .nc-title.nc-title--full,
html body .nc-sc-design .nedclan-cards .nc-card .nc-title.nc-title--full { display: block !important; -webkit-line-clamp: unset !important; line-clamp: none !important; overflow: visible !important; text-overflow: clip; white-space: normal; }
