/* Nafasam premium product cards · Rose Atelier */
ul.products li.product {
	--c-rose: #F3DCD8; --c-line: #EAD3CF; --c-wine: #6E1A36; --c-wine-d: #561329; --c-plum: #2B1419; --c-mauve: #6F555B; --c-green: #1F7A4D;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease !important;
}
@media (hover: hover) {
	ul.products li.product:hover { transform: translateY(-4px); }
}

/* Media frame: arch top like the rest of the site */
ul.products li.product .nsc-media {
	position: relative; display: block; overflow: hidden; margin-bottom: 16px;
	border-radius: 50% 50% 18px 18px / 34% 34% 18px 18px; background: var(--c-rose);
	-webkit-mask-image: -webkit-radial-gradient(white, black); /* keeps the radius while children scale */
}
ul.products li.product .nsc-media img {
	display: block; width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important;
	border-radius: 0 !important; box-shadow: none !important;
	transition: transform .7s cubic-bezier(.2, .8, .2, 1), opacity .45s ease;
}
ul.products li.product .nsc-media .nsc-alt { position: absolute; inset: 0; height: 100%; opacity: 0; }
@media (hover: hover) {
	ul.products li.product:hover .nsc-media img { transform: scale(1.045); }
	ul.products li.product:hover .nsc-media .nsc-alt { opacity: 1; }
}

/* Badges sit on the flat bottom edge of the arch */
ul.products li.product .nsc-badges { position: absolute; left: 10px; bottom: 10px; right: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
ul.products li.product .nsc-badge {
	display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border-radius: 999px;
	font: 600 12px/1 'Figtree', system-ui, sans-serif; letter-spacing: 0; white-space: nowrap;
	box-shadow: 0 6px 14px -8px rgba(43, 20, 25, .5);
}
ul.products li.product .nsc-badge.is-off { background: var(--c-wine); color: #fff; }
ul.products li.product .nsc-badge.is-low { background: #fff; color: var(--c-wine); }
ul.products li.product .nsc-badge.is-tag { background: rgba(255, 255, 255, .94); color: var(--c-plum); }
ul.products li.product .nsc-badge.is-bestseller::before { content: '★'; margin-right: 5px; color: var(--c-wine); }
ul.products li.product .nsc-badge.is-out { background: var(--c-plum); color: #fff; }
ul.products li.product.outofstock .nsc-media img { filter: grayscale(.35); opacity: .78; }

/* Scent family + size */
ul.products li.product .nsc-meta-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 2px 0 10px; }
ul.products li.product .nsc-fam { font: 500 13.5px/1.3 'Figtree', system-ui, sans-serif; color: var(--c-mauve); }
ul.products li.product .nsc-size { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border: 1px solid var(--c-line); border-radius: 999px; font: 600 11.5px/1 'Figtree', system-ui, sans-serif; color: var(--c-plum); }

/* Price: sale first, MRP, saving */
ul.products li.product .price { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
ul.products li.product .price ins { text-decoration: none !important; color: var(--c-wine) !important; font-weight: 600 !important; font-size: 18px !important; background: none !important; }
ul.products li.product .price del { color: var(--c-mauve) !important; font-size: 14px !important; font-weight: 400 !important; opacity: 1 !important; }
ul.products li.product .nsc-save { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; background: #E3F4EA; color: var(--c-green); font: 600 11.5px/1 'Figtree', system-ui, sans-serif; }

/* Add to bag: quiet outline that fills when you show interest */
ul.products li.product .woocommerce-loop-product__buttons { width: 100%; }
ul.products li.product a.button.add_to_cart_button,
ul.products li.product a.button.product_type_simple,
ul.products li.product a.button {
	width: 100% !important; justify-content: center; background: #fff !important; color: var(--c-wine) !important;
	border: 1.5px solid var(--c-wine) !important; box-shadow: none !important; transition: background .25s, color .25s, box-shadow .25s !important;
}
@media (hover: hover) {
	ul.products li.product:hover a.button, ul.products li.product a.button:focus-visible {
		background: var(--c-wine) !important; color: #fff !important; box-shadow: 0 12px 24px -14px rgba(110, 26, 54, .8) !important;
	}
}
@media (hover: none) {
	ul.products li.product a.button.add_to_cart_button { background: var(--c-wine) !important; color: #fff !important; }
}
ul.products li.product a.button.is-added { background: var(--c-green) !important; border-color: var(--c-green) !important; color: #fff !important; }
ul.products li.product a.button.loading { opacity: .75; }

@media (max-width: 640px) {
	ul.products li.product .nsc-media { margin-bottom: 12px; border-radius: 50% 50% 14px 14px / 30% 30% 14px 14px; }
	ul.products li.product .nsc-badges { left: 6px; bottom: 6px; gap: 4px; }
	ul.products li.product .nsc-badge { height: 22px; padding: 0 8px; font-size: 11px; }
	ul.products li.product .nsc-badge.is-tag { display: none; } /* keep small cards calm: discount + stock only */
	ul.products li.product .nsc-fam { font-size: 12.5px; }
	ul.products li.product .price ins { font-size: 16px !important; }
	ul.products li.product .nsc-save { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	ul.products li.product, ul.products li.product .nsc-media img { transition: none !important; }
	ul.products li.product:hover { transform: none; }
}

/* Products marked "Coming soon" by the store's own snippet */
body ul.products li.product .cs-coming-soon {
	display: inline-flex !important; align-items: center; width: auto !important; height: 26px; margin: 2px 0 10px !important; padding: 0 12px !important;
	border-radius: 999px !important; background: #F3DCD8 !important; color: #6E1A36 !important; font: 600 12.5px/1 'Figtree', system-ui, sans-serif !important; text-align: left !important;
}
body .cs-coming-soon { background: #F3DCD8 !important; color: #6E1A36 !important; border-radius: 999px !important; font-family: 'Figtree', system-ui, sans-serif !important; }
@media (max-width: 640px) {
	ul.products li.product a.button { padding-left: 10px !important; padding-right: 10px !important; font-size: 13px !important; white-space: nowrap; }
}

/* Product grids placed with the [products] shortcode (e.g. the Diwali page) get the same card shell as the shop. */
.ncp-grid ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; margin: 0 !important; padding: 0 !important; }
.ncp-grid ul.products::before, .ncp-grid ul.products::after { display: none !important; }
.ncp-grid ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 14px 14px 22px !important; display: flex; flex-direction: column;
	background: #fff; border-radius: 28px; box-shadow: 0 18px 40px -30px rgba(110, 26, 54, .35); }
.ncp-grid ul.products li.product:hover { box-shadow: 0 34px 64px -28px rgba(110, 26, 54, .55); }
.ncp-grid ul.products li.product .woocommerce-loop-product__title { margin: 0 0 6px !important; padding: 0 !important; font: 400 21px/1.2 'Bodoni Moda', Georgia, serif !important; color: #2B1419 !important; }
.ncp-grid ul.products li.product .woocommerce-LoopProduct-link { flex: 1; text-decoration: none !important; }
.ncp-grid ul.products li.product .price { margin: 0 0 16px !important; font-family: 'Figtree', system-ui, sans-serif; }
.ncp-grid ul.products li.product a.button { margin-top: auto !important; border-radius: 999px !important; height: 48px; display: inline-flex !important; align-items: center; font: 500 15px/1 'Figtree', system-ui, sans-serif !important; text-transform: none !important; }
@media (max-width: 1024px) { .ncp-grid ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.ncp-grid ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
	.ncp-grid ul.products li.product { padding: 10px 10px 16px !important; border-radius: 20px; }
	.ncp-grid ul.products li.product .woocommerce-loop-product__title { font-size: 17px !important; }
}
