/* JNSA Mart — product cards, carousels and section accents */

.jnsa-plist {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(var(--jnsa-cols, 4), minmax(0, 1fr));
	width: 100%;
}

.jnsa-plist--carousel {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--jnsa-cols, 4) - 1) * 20px) / var(--jnsa-cols, 4));
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 6px 4px 16px;
	margin: -6px -4px -16px;
}
.jnsa-plist--carousel::-webkit-scrollbar { display: none; }
.jnsa-plist--carousel > .jnsa-card { scroll-snap-align: start; }

/* Card */
.jnsa-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 12px;
	background: #fff;
	border: 1px solid #EEF0F4;
	border-radius: 18px;
	box-shadow: 0 4px 18px rgba(17, 24, 39, .05);
	transition: box-shadow .25s ease, transform .25s ease;
}
.jnsa-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(17, 24, 39, .10); }

.jnsa-card-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	border-radius: 14px;
	background: #F5F2ED;
}
.jnsa-card-imglink { display: block; height: 100%; }
.jnsa-site .jnsa-card-img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform .45s ease;
}
.jnsa-card:hover .jnsa-card-img { transform: scale(1.05); }

.jnsa-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 5px 11px;
	border-radius: 7px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .01em;
}
.jnsa-badge--sale { background: #E2501B; }
.jnsa-badge--best, .jnsa-badge--new { background: #012D68; }

.jnsa-site .jnsa-card .jnsa-card-heart {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .95);
	color: #111827;
	box-shadow: 0 2px 8px rgba(17, 24, 39, .10);
	text-decoration: none;
	transition: transform .2s ease, color .2s ease;
}
.jnsa-site .jnsa-card .jnsa-card-heart:hover { transform: scale(1.08); color: #E2501B; }
.jnsa-site .jnsa-card .jnsa-card-heart .et-icon { display: flex; line-height: 0; }
.jnsa-site .jnsa-card .jnsa-card-heart .button-text,
.jnsa-site .jnsa-card .jnsa-card-heart > span:not(.et-icon) { display: none !important; }
.jnsa-site .jnsa-card .jnsa-card-heart[data-action="remove"] { color: #E2501B; }
.jnsa-site .jnsa-card .jnsa-card-heart[data-action="remove"] svg { fill: currentColor; }

.jnsa-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 14px 6px 4px;
}
.jnsa-site .jnsa-card-title {
	margin: 0;
	color: #111827;
	font-family: var(--jn-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
}
.jnsa-site .jnsa-card-title a { color: inherit; text-decoration: none; }
.jnsa-site .jnsa-card-title a:hover { color: #012D68; }
.jnsa-card-tag {
	margin: 6px 0 0;
	color: #6B7280;
	font-size: 13px;
	line-height: 1.45;
}

.jnsa-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 16px;
}
.jnsa-card-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-width: 0; }
.jnsa-site .jnsa-card-now, .jnsa-site .jnsa-card-now .amount {
	color: #012D68 !important;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
}
.jnsa-site .jnsa-card-was, .jnsa-site .jnsa-card-was .amount {
	color: #9CA3AF !important;
	font-size: 14px;
	font-weight: 500;
}

.jnsa-site .jnsa-card .jnsa-card-cart {
	display: inline-flex !important;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #F1F3F6 !important;
	color: #111827 !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.jnsa-site .jnsa-card .jnsa-card-cart svg { width: 20px; height: 20px; }
.jnsa-site .jnsa-card .jnsa-card-cart:hover { background: #012D68 !important; color: #fff !important; transform: scale(1.05); }
.jnsa-site .jnsa-card .jnsa-card-cart.loading { opacity: .55; pointer-events: none; }
.jnsa-site .jnsa-card .jnsa-card-cart.added { background: #012D68 !important; color: #fff !important; }
.jnsa-site .jnsa-card .jnsa-card-cart::after, .jnsa-site .jnsa-card .jnsa-card-cart::before { display: none !important; }
.jnsa-site .jnsa-card .added_to_cart { display: none !important; }

.jnsa-site .jnsa-tint-1 .jnsa-card-cart { background: #DCE6F5 !important; }
.jnsa-site .jnsa-tint-2 .jnsa-card-cart { background: #FBDECB !important; }
.jnsa-site .jnsa-tint-3 .jnsa-card-cart { background: #FDE6CE !important; }
.jnsa-tint-1 .jnsa-card-media { background: #EAF0F8; }
.jnsa-tint-2 .jnsa-card-media { background: #FDF0E6; }
.jnsa-tint-3 .jnsa-card-media { background: #FFF4E8; }

/* Carousel arrows */
.jnsa-cnav { display: flex; gap: 12px; }
.jnsa-site .jnsa-cnav-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 1px solid #E5E7EB;
	border-radius: 50%;
	background: #fff;
	color: #111827;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
}
.jnsa-site .jnsa-cnav-btn:hover:not(:disabled) { border-color: #012D68; background: #012D68; color: #fff; }
.jnsa-site .jnsa-cnav-btn:disabled { opacity: .4; cursor: default; }

/* Section accents */
.jnsa-site .jnsa-kicker {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #012D68;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.jnsa-site .jnsa-kicker--after::after,
.jnsa-site .jnsa-kicker--before::before,
.jnsa-site .jnsa-kicker--both::before,
.jnsa-site .jnsa-kicker--both::after {
	content: "";
	display: block;
	width: 64px;
	height: 1px;
	background: #F97A00;
}
.jnsa-site .jnsa-kicker--muted { color: #6B7280; }
.jnsa-site .jnsa-script, .jnsa-site .jnsa-script * {
	font-family: "Great Vibes", "Brush Script MT", cursive !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}
.jnsa-site .jnsa-gold { color: #D96A02; }

@media (max-width: 1024px) {
	.jnsa-plist { grid-template-columns: repeat(min(var(--jnsa-cols, 4), 3), minmax(0, 1fr)); }
	.jnsa-plist--carousel { grid-template-columns: none; grid-auto-columns: calc((100% - 40px) / 3); }
}

@media (max-width: 767px) {
	.jnsa-plist { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jnsa-plist--carousel { grid-template-columns: none; grid-auto-columns: 70%; gap: 12px; }
	.jnsa-card { padding: 8px; border-radius: 14px; }
	.jnsa-card:hover { transform: none; }
	.jnsa-card-body { padding: 10px 4px 2px; }
	.jnsa-site .jnsa-card-title { font-size: 14px; }
	.jnsa-card-tag { font-size: 12px; }
	.jnsa-site .jnsa-card-now, .jnsa-site .jnsa-card-now .amount { font-size: 18px; }
	.jnsa-site .jnsa-card .jnsa-card-cart { width: 40px; height: 40px; }
	.jnsa-badge { top: 8px; left: 8px; padding: 4px 8px; font-size: 11px; }
	.jnsa-site .jnsa-card .jnsa-card-heart { top: 6px; right: 6px; width: 32px; height: 32px; }
	.jnsa-site .jnsa-kicker { font-size: 11px; letter-spacing: .16em; }
	.jnsa-site .jnsa-kicker--after::after, .jnsa-site .jnsa-kicker--before::before,
	.jnsa-site .jnsa-kicker--both::before, .jnsa-site .jnsa-kicker--both::after { width: 36px; }
	.jnsa-site .jnsa-cnav { display: none; }
}

/* JNSA section layout fixes */
.jnsa-site .e-v-head, .jnsa-site .e-d-head { flex-wrap: nowrap !important; }
.jnsa-site .e-v-headtext, .jnsa-site .e-d-headtext { width: auto !important; flex: 1 1 auto !important; min-width: 0; }
.jnsa-site .e-v-actions { width: auto !important; flex: 0 0 auto !important; }
.jnsa-site .e-v-viewall, .jnsa-site .e-d-viewall { width: auto !important; flex: 0 0 auto !important; align-self: center !important; }
.jnsa-site .e-v-viewall-t, .jnsa-site .e-d-viewall-t { white-space: nowrap; }

.jnsa-site .e-v-promo { position: relative; background-size: auto 64% !important; background-position: right bottom !important; }
.jnsa-site .e-v-promo::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(253,240,228,.96) 0%, rgba(253,240,228,.9) 46%, rgba(253,240,228,0) 70%);
}
.jnsa-site .e-v-promo > * { position: relative; z-index: 1; }
.jnsa-site .e-v-promo-btn { align-self: flex-start !important; width: auto !important; flex: 0 0 auto !important; }
.jnsa-site .e-v-label { width: auto !important; }
.jnsa-site .e-v-feats {
	flex-wrap: nowrap !important; width: auto !important; gap: 14px !important;
	padding: 10px 12px; margin-left: -12px; border-radius: 12px; background: rgba(255,255,255,.72); backdrop-filter: blur(4px);
}
.jnsa-site .e-v-feat { width: auto !important; flex: 0 0 auto !important; }

@media (max-width: 767px) {
	.jnsa-site .e-v-head, .jnsa-site .e-d-head { flex-wrap: wrap !important; }
	.jnsa-site .e-v-headtext, .jnsa-site .e-d-headtext { flex: 1 1 100% !important; }
	.jnsa-site .e-v-promo { background-size: auto 55% !important; }
	.jnsa-site .e-v-feats { gap: 10px !important; }
}
/* end JNSA section layout fixes */

/* JNSA herbal & price layout */
.jnsa-site .e-h-head { flex-wrap: nowrap !important; }
.jnsa-site .e-h-headtext { width: auto !important; flex: 1 1 auto !important; min-width: 0; }
.jnsa-site .e-h-actions, .jnsa-site .e-h-viewall, .jnsa-site .e-h-btn { width: auto !important; flex: 0 0 auto !important; }
.jnsa-site .e-h-btn { align-self: flex-start !important; }
.jnsa-site .e-h-viewall-t, .jnsa-site .e-h-btn-t { white-space: nowrap; }
.jnsa-site .e-h-spot { position: relative; }
.jnsa-site .e-h-spot::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(228,238,250,.94) 0%, rgba(228,238,250,.82) 42%, rgba(228,238,250,0) 66%);
}
.jnsa-site .e-h-spot > * { position: relative; z-index: 1; }
.jnsa-site .e-h-spot-top { flex-wrap: nowrap !important; }
.jnsa-site .e-h-spot-text { width: auto !important; flex: 1 1 auto !important; }
.jnsa-site .e-h-stamp svg { display: block; width: 100%; height: 100%; }
.jnsa-site .e-h-sign { width: auto !important; align-self: flex-end !important; }

.jnsa-site .e-p-tile { position: relative; transition: transform .25s ease, box-shadow .25s ease; }
.jnsa-site .e-p-tile:hover { transform: translateY(-4px); }
.jnsa-site .e-p-tile > * { position: relative; z-index: 1; }
.jnsa-site .e-p-cta { width: auto !important; }
.jnsa-site .e-p-circle { transition: transform .2s ease; }
.jnsa-site .e-p-tile:hover .e-p-circle { transform: translateX(4px); }
.jnsa-site .e-p-foot { width: auto !important; }

@media (max-width: 767px) {
	.jnsa-site .e-h-head { flex-wrap: wrap !important; }
	.jnsa-site .e-h-headtext { flex: 1 1 100% !important; }
	.jnsa-site .e-h-sign { align-self: center !important; }
	.jnsa-site .e-p-foot-t { letter-spacing: .1em !important; }
	.jnsa-site .e-p-foot-t::before, .jnsa-site .e-p-foot-t::after { display: none !important; }
}
/* end JNSA herbal & price layout */

/* JNSA price tiles readability */
.jnsa-site .e-p-bg-399, .jnsa-site .e-p-bg-599, .jnsa-site .e-p-bg-999 {
	background-size: auto 100% !important;
	background-position: right center !important;
}
.jnsa-site .e-p-bg-399::before, .jnsa-site .e-p-bg-599::before, .jnsa-site .e-p-bg-999::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.jnsa-site .e-p-bg-399::before { background: linear-gradient(90deg, #EAF0F8 0%, rgba(234,240,248,.92) 42%, rgba(234,240,248,0) 72%); }
.jnsa-site .e-p-bg-599::before { background: linear-gradient(90deg, #FDEDE0 0%, rgba(253,237,224,.92) 42%, rgba(253,237,224,0) 72%); }
.jnsa-site .e-p-bg-999::before { background: linear-gradient(90deg, #FFF4EA 0%, rgba(255,244,234,.92) 42%, rgba(255,244,234,0) 72%); }
.jnsa-site .e-p-cta-t { white-space: nowrap; }
@media (max-width: 1100px) and (min-width: 768px) {
	.jnsa-site .e-p-tile { flex-basis: 40% !important; }
}
/* end JNSA price tiles readability */

/* JNSA herbal details */
.jnsa-site .e-h-stamp svg, .jnsa-site .e-h-stamp svg circle, .jnsa-site .e-h-stamp svg g, .jnsa-site .e-h-stamp svg g * {
	fill: none !important; stroke: currentColor;
}
.jnsa-site .e-h-stamp svg text, .jnsa-site .e-h-stamp svg textPath { fill: currentColor !important; stroke: none !important; }
.jnsa-site .e-h-rule, .jnsa-site .e-h-sign-line {
	min-height: 0 !important; padding: 0 !important; flex: 0 0 auto !important;
}
.jnsa-site .e-h-rule { height: 2px !important; }
.jnsa-site .e-h-sign-line { height: 1px !important; }
.jnsa-site .e-h-spot::before {
	background: linear-gradient(180deg, rgba(228,238,250,.96) 0%, rgba(228,238,250,.88) 50%, rgba(228,238,250,0) 74%) !important;
}
.jnsa-site .jnsa-card-foot { align-items: flex-end; }
.jnsa-site .jnsa-plist--carousel .jnsa-card-now, .jnsa-site .jnsa-plist--carousel .jnsa-card-now .amount { font-size: 20px; }
.jnsa-site .jnsa-plist--carousel .jnsa-card-was, .jnsa-site .jnsa-plist--carousel .jnsa-card-was .amount { font-size: 13px; }
/* end JNSA herbal details */

/* JNSA price tiles desktop fit */
@media (min-width: 768px) {
	.jnsa-site .e-p-bg-399, .jnsa-site .e-p-bg-599, .jnsa-site .e-p-bg-999 {
		background-size: auto 78% !important;
		background-position: right -30px bottom !important;
	}
	.jnsa-site .e-p-bg-399::before, .jnsa-site .e-p-bg-599::before, .jnsa-site .e-p-bg-999::before {
		background-size: 100% 100%;
	}
}
/* end JNSA price tiles desktop fit */