/* JNSA Mart — shared chrome, store pages and theme overrides */

:root {
	--jn-navy: #012D68;
	--jn-navy-900: #012D68;
	--jn-gold: #F97A00;
	--jn-gold-600: #D96A02;
	--jn-gold-50: #FFF5EC;
	--jn-ink: #111827;
	--jn-text: #374151;
	--jn-muted: #6B7280;
	--jn-line: #E7EAF0;
	--jn-soft: #F7F8FA;
	--jn-radius: 12px;
	--jn-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--jn-serif: "Playfair Display", Georgia, "Times New Roman", serif;
}

body.jnsa-site {
	font-family: var(--jn-font);
	color: var(--jn-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

.jnsa-site h1, .jnsa-site h2, .jnsa-site h3, .jnsa-site h4, .jnsa-site h5, .jnsa-site h6 {
	font-family: var(--jn-font);
	letter-spacing: -0.01em;
}

.jnsa-site .jnsa-serif, .jnsa-site .jnsa-serif * {
	font-family: var(--jn-serif) !important;
	letter-spacing: 0;
}

.jnsa-icon { display: inline-block; vertical-align: middle; flex-shrink: 0; }

.jnsa-site .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.jnsa-wrap {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: 24px;
	box-sizing: border-box;
}

.jnsa-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; padding: 0; margin: 0;
	background: transparent; border: 0; border-radius: 10px;
	color: var(--jn-navy); cursor: pointer;
}
.jnsa-icon-btn:hover { background: var(--jn-soft); }

/* ---------------------------------------------------------------- Header */

.jnsa-header { position: relative; z-index: 50; background: #fff; }
.jnsa-header a { text-decoration: none; }

.jnsa-topbar { background: var(--jn-navy); color: rgba(255, 255, 255, .88); font-size: 13px; }
.jnsa-topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
.jnsa-topbar-note { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; color: #fff; }
.jnsa-topbar-note .jnsa-icon { color: var(--jn-gold); }
.jnsa-topbar-links { display: flex; gap: 22px; }
.jnsa-topbar-links a { color: rgba(255, 255, 255, .82); font-weight: 500; transition: color .15s; }
.jnsa-topbar-links a:hover { color: var(--jn-gold); }

.jnsa-mainbar { border-bottom: 1px solid var(--jn-line); }
.jnsa-mainbar-in {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 40px;
	padding-block: 16px;
}
.jnsa-burger { display: none; }
.jnsa-logo { display: inline-flex; align-items: center; }
.jnsa-logo-img { display: block; height: 50px; width: auto; max-width: 240px; object-fit: contain; }

.jnsa-search {
	display: flex; align-items: stretch;
	width: 100%; max-width: 640px; margin: 0 auto;
	height: 46px;
	background: var(--jn-soft);
	border: 1px solid var(--jn-line);
	border-radius: 10px;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.jnsa-search:focus-within { background: #fff; border-color: var(--jn-navy); box-shadow: 0 0 0 3px rgba(1, 45, 104, .08); }
.jnsa-search input[type="search"] {
	flex: 1; min-width: 0; height: auto; margin: 0; padding: 0 16px;
	background: transparent; border: 0; box-shadow: none; outline: none;
	font-family: var(--jn-font); font-size: 14px; color: var(--jn-ink);
}
.jnsa-search input[type="search"]::placeholder { color: #9CA3AF; }
.jnsa-search button {
	display: flex; align-items: center; justify-content: center;
	width: 54px; margin: 0; padding: 0; border: 0; border-radius: 0;
	background: var(--jn-gold); color: var(--jn-navy); cursor: pointer;
	transition: background .15s;
}
.jnsa-search button:hover { background: var(--jn-gold-600); color: #fff; }

.jnsa-actions { display: flex; align-items: center; gap: 26px; }
.jnsa-action { display: inline-flex; align-items: center; gap: 8px; color: var(--jn-navy); font-size: 14px; font-weight: 600; transition: color .15s; }
.jnsa-action:hover { color: var(--jn-gold-600); }
.jnsa-bag { position: relative; display: inline-flex; }
.jnsa-cart-count {
	position: absolute; top: -7px; right: -9px;
	min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box;
	border-radius: 9px; background: var(--jn-gold); color: var(--jn-navy);
	font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.jnsa-cart-count.is-empty { display: none; }

.jnsa-navbar { border-bottom: 1px solid var(--jn-line); }
.jnsa-navbar-in { display: flex; align-items: center; gap: 40px; min-height: 54px; }

.jnsa-cats { position: relative; }
.jnsa-cats > summary {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 9px 16px; border-radius: 8px;
	background: var(--jn-navy); color: #fff;
	font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; user-select: none;
}
.jnsa-cats > summary::-webkit-details-marker { display: none; }
.jnsa-cats > summary .jnsa-icon-chevron-down { transition: transform .2s; opacity: .8; }
.jnsa-cats[open] > summary .jnsa-icon-chevron-down { transform: rotate(180deg); }
.jnsa-cats-list {
	position: absolute; top: calc(100% + 8px); left: 0; z-index: 60;
	min-width: 240px; margin: 0; padding: 8px; list-style: none;
	background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius);
	box-shadow: 0 16px 40px rgba(17, 24, 39, .10);
}
.jnsa-cats-list li { margin: 0; }
.jnsa-cats-list a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--jn-ink); font-size: 14px; font-weight: 500; }
.jnsa-cats-list a:hover { background: var(--jn-soft); color: var(--jn-navy); }
.jnsa-cats-list li:last-child { margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--jn-line); }
.jnsa-cats-list li:last-child a { color: var(--jn-gold-600); font-weight: 600; }

.jnsa-nav { flex: 1; }
.jnsa-nav-list { display: flex; justify-content: center; gap: 36px; margin: 0; padding: 0; list-style: none; }
.jnsa-nav-list li { margin: 0; }
.jnsa-nav-list a {
	position: relative; display: block; padding: 17px 0;
	color: var(--jn-ink); font-size: 15px; font-weight: 600; transition: color .15s;
}
.jnsa-nav-list a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 2px;
	background: var(--jn-gold); transform: scaleX(0); transition: transform .2s;
}
.jnsa-nav-list a:hover, .jnsa-nav-list .current-menu-item > a { color: var(--jn-navy); }
.jnsa-nav-list a:hover::after, .jnsa-nav-list .current-menu-item > a::after { transform: scaleX(1); }

/* Drawer (mobile menu) */
.jnsa-drawer { position: fixed; inset: 0; z-index: 99999; }
.jnsa-drawer[hidden] { display: none !important; }
.jnsa-drawer-backdrop { position: absolute; inset: 0; background: rgba(1, 45, 104, .45); }
.jnsa-drawer-panel {
	position: absolute; top: 0; bottom: 0; left: 0;
	width: min(86vw, 340px); padding: 16px 20px 32px; box-sizing: border-box;
	background: #fff; overflow-y: auto;
	box-shadow: 12px 0 40px rgba(17, 24, 39, .15);
}
.jnsa-drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1px solid var(--jn-line); }
.jnsa-drawer-head .jnsa-logo-img { height: 40px; }
.jnsa-drawer-list { margin: 0; padding: 0; list-style: none; }
.jnsa-drawer-list li { margin: 0; }
.jnsa-drawer-list a { display: block; padding: 12px 0; color: var(--jn-ink); font-size: 16px; font-weight: 600; border-bottom: 1px solid var(--jn-soft); text-decoration: none; }
.jnsa-drawer-list-sm a { font-size: 14px; font-weight: 500; color: var(--jn-text); }
.jnsa-drawer-title { margin: 24px 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--jn-muted); }
html.jnsa-lock { overflow: hidden; }

/* ---------------------------------------------------------------- Footer */

.jnsa-footer { background: var(--jn-navy-900); color: rgba(255, 255, 255, .7); font-size: 14px; }
.jnsa-footer a { text-decoration: none; }
.jnsa-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 48px;
	padding-block: 64px 48px;
}
.jnsa-footer-logo { display: inline-flex; padding: 10px 14px; background: #fff; border-radius: 10px; }
.jnsa-footer-logo-img { display: block; height: 40px; width: auto; }
.jnsa-footer-brand p { max-width: 320px; margin: 18px 0 20px; line-height: 1.7; }
.jnsa-social { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.jnsa-social li { margin: 0; }
.jnsa-social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .18); color: #fff;
	transition: background .15s, border-color .15s, color .15s;
}
.jnsa-social a:hover { background: var(--jn-gold); border-color: var(--jn-gold); color: var(--jn-navy); }
.jnsa-footer-h { margin: 6px 0 18px; color: #fff; font-size: 15px; font-weight: 700; }
.jnsa-footer-links, .jnsa-footer-trust { margin: 0; padding: 0; list-style: none; }
.jnsa-footer-links li { margin: 0 0 12px; }
.jnsa-footer-links a { color: rgba(255, 255, 255, .7); transition: color .15s; }
.jnsa-footer-links a:hover { color: var(--jn-gold); }
.jnsa-footer-trust li { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.jnsa-footer-trust .jnsa-icon { color: var(--jn-gold); }
.jnsa-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.jnsa-footer-bottom-in { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-block: 20px; font-size: 13px; }
.jnsa-footer-bottom p { margin: 0; }
.jnsa-footer-tag { color: #fff; font-weight: 600; }

/* ------------------------------------------------------ Store page shell */

.jnsa-page { background: #fff; }
.jnsa-page-head { background: var(--jn-soft); border-bottom: 1px solid var(--jn-line); padding-block: 32px 28px; }
.jnsa-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--jn-muted); }
.jnsa-crumbs a { color: var(--jn-muted); text-decoration: none; }
.jnsa-crumbs a:hover { color: var(--jn-navy); }
.jnsa-page-title { margin: 8px 0 0; color: var(--jn-navy); font-size: 32px; font-weight: 700; line-height: 1.2; }
.jnsa-page-body { padding-block: 40px 80px; }

.jnsa-page-body h1, .jnsa-page-body h2, .jnsa-page-body h3, .jnsa-page-body h4 {
	color: var(--jn-ink); text-transform: none; letter-spacing: -0.01em;
}

/* Buttons */
.jnsa-page .button,
.jnsa-page button.button,
.jnsa-page a.button,
.jnsa-page input.button,
.jnsa-page input[type="submit"],
.jnsa-page button[type="submit"],
.jnsa-page #place_order,
.jnsa-page .checkout-button,
.jnsa-page .wc-proceed-to-checkout .button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px; padding: 0 24px !important;
	background: var(--jn-navy) !important; color: #fff !important;
	border: 0 !important; border-radius: 8px !important;
	font-family: var(--jn-font) !important; font-size: 15px !important; font-weight: 600 !important;
	text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: none !important; transition: background .15s;
}
.jnsa-page .button:hover,
.jnsa-page input[type="submit"]:hover,
.jnsa-page button[type="submit"]:hover,
.jnsa-page #place_order:hover { background: var(--jn-gold) !important; color: var(--jn-navy) !important; }
.jnsa-page .checkout-button, .jnsa-page #place_order { width: 100%; min-height: 52px; font-size: 16px !important; }

/* Fields */
.jnsa-page input.input-text,
.jnsa-page input[type="text"],
.jnsa-page input[type="email"],
.jnsa-page input[type="tel"],
.jnsa-page input[type="password"],
.jnsa-page input[type="number"],
.jnsa-page select,
.jnsa-page textarea,
.jnsa-page .select2-container .select2-selection--single {
	min-height: 46px; padding: 0 14px;
	background: #fff; border: 1px solid var(--jn-line) !important; border-radius: 8px !important;
	font-family: var(--jn-font); font-size: 14px; color: var(--jn-ink); box-shadow: none;
}
.jnsa-page textarea { padding: 12px 14px; min-height: 110px; }
.jnsa-page input:focus, .jnsa-page select:focus, .jnsa-page textarea:focus { border-color: var(--jn-navy) !important; outline: none; box-shadow: 0 0 0 3px rgba(1, 45, 104, .08); }
.jnsa-page label { color: var(--jn-ink); font-size: 14px; font-weight: 500; text-transform: none; letter-spacing: 0; }

/* Notices */
.jnsa-page .woocommerce-message,
.jnsa-page .woocommerce-info,
.jnsa-page .woocommerce-error,
.jnsa-page .woocommerce-notice {
	margin: 0 0 24px; padding: 14px 18px !important;
	background: var(--jn-soft) !important; color: var(--jn-text) !important;
	border: 1px solid var(--jn-line) !important; border-left: 3px solid var(--jn-gold) !important; border-radius: 8px;
	font-size: 14px; list-style: none;
}
.jnsa-page .woocommerce-error { border-left-color: #E2501B !important; }
.jnsa-page .woocommerce-message::before, .jnsa-page .woocommerce-info::before, .jnsa-page .woocommerce-error::before { display: none; }

/* Tables and totals */
.jnsa-page table.shop_table { border: 1px solid var(--jn-line); border-radius: var(--jn-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.jnsa-page table.shop_table th { background: var(--jn-soft); color: var(--jn-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.jnsa-page table.shop_table th, .jnsa-page table.shop_table td { padding: 14px 16px; border-color: var(--jn-line); }
.jnsa-page .cart_totals, .jnsa-page .woocommerce-checkout-review-order {
	padding: 24px; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); background: #fff;
}
.jnsa-page .amount { color: var(--jn-navy); font-weight: 700; }

/* Empty cart and steps from the theme templates */
.jnsa-page .cart-empty, .jnsa-page .empty-cart-block, .jnsa-page .woocommerce-cart-form + .cart-collaterals { text-transform: none; }
.jnsa-page [class*="cart-checkout-nav"], .jnsa-page .cart-checkout-nav { margin-bottom: 32px; }
.jnsa-page [class*="cart-checkout-nav"] a, .jnsa-page [class*="cart-checkout-nav"] span { text-transform: none; letter-spacing: 0; font-family: var(--jn-font); }

/* Account */
.jnsa-page .woocommerce-form-login,
.jnsa-page .woocommerce-form-register,
.jnsa-page .woocommerce-ResetPassword {
	max-width: 460px; margin: 0 auto; padding: 32px !important;
	background: #fff; border: 1px solid var(--jn-line) !important; border-radius: var(--jn-radius) !important;
}
.jnsa-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; list-style: none; border: 1px solid var(--jn-line); border-radius: var(--jn-radius); }
.jnsa-page .woocommerce-MyAccount-navigation li { margin: 0; }
.jnsa-page .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 8px; color: var(--jn-text); font-weight: 500; text-decoration: none; text-transform: none; }
.jnsa-page .woocommerce-MyAccount-navigation .is-active a, .jnsa-page .woocommerce-MyAccount-navigation a:hover { background: var(--jn-soft); color: var(--jn-navy); }

/* ---------------------------------------- Shop, category, product pages */

.jnsa-site .sh {
	--accent: #012D68 !important;
	--ink: #012D68 !important;
	--soft: #F7F8FA !important;
	--wash: #F1F3F7 !important;
	--line: #E7EAF0 !important;
	--band: #012D68 !important;
	--band-soft: #012D68 !important;
	--font-body: "Plus Jakarta Sans", system-ui, sans-serif !important;
	--font-display: "Plus Jakarta Sans", system-ui, sans-serif !important;
	--font-mono: "Plus Jakarta Sans", system-ui, sans-serif !important;
}
.jnsa-site .sh .shop-h1, .jnsa-site .sh h1 { font-weight: 700; letter-spacing: -0.02em; }

/* ---------------------------------------------------- Homepage refinements */

.jnsa-site.page-id-7295 .shudhta-announce { display: none !important; }
.jnsa-site .jnsa-home-icon { color: var(--jn-gold-600); }
.jnsa-site .jnsa-home-icon svg { width: 100%; height: 100%; }

/* ---------------------------------------------------------------- Mobile */

@media (max-width: 1024px) {
	.jnsa-mainbar-in { gap: 24px; }
	.jnsa-nav-list { gap: 24px; }
	.jnsa-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}

@media (max-width: 860px) {
	.jnsa-wrap { padding-inline: 16px; }
	.jnsa-topbar-in { justify-content: center; min-height: 34px; }
	.jnsa-topbar-links { display: none; }
	.jnsa-mainbar-in {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "burger logo actions" "search search search";
		gap: 12px 8px;
		padding-block: 10px 12px;
	}
	.jnsa-burger { display: inline-flex; grid-area: burger; }
	.jnsa-mainbar .jnsa-logo { grid-area: logo; justify-self: center; }
	.jnsa-logo-img { height: 40px; max-width: 180px; }
	.jnsa-search { grid-area: search; max-width: none; height: 44px; }
	.jnsa-actions { grid-area: actions; gap: 4px; }
	.jnsa-action { width: 42px; height: 42px; justify-content: center; }
	.jnsa-action-label { display: none; }
	.jnsa-navbar { display: none; }
	.jnsa-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding-block: 48px 32px; }
	.jnsa-footer-brand { grid-column: 1 / -1; }
	.jnsa-footer-bottom-in { flex-direction: column; text-align: center; }
	.jnsa-page-head { padding-block: 22px 20px; }
	.jnsa-page-title { font-size: 26px; }
	.jnsa-page-body { padding-block: 28px 56px; }
	.jnsa-page .woocommerce-form-login, .jnsa-page .woocommerce-form-register { padding: 22px !important; }
}

@media (max-width: 480px) {
	.jnsa-footer-grid { grid-template-columns: 1fr; }
}

/* JNSA polish */
.jnsa-search button { align-self: stretch; height: auto !important; min-height: 0 !important; line-height: 1 !important; }

.jnsa-page-body *:not(th) { text-transform: none !important; letter-spacing: normal; }
.jnsa-page-body h2 { font-size: 22px; font-weight: 700; margin: 0 0 16px; }
.jnsa-page .btn,
.jnsa-page a.btn.black {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px; padding: 0 24px !important;
	background: var(--jn-navy) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
	font-family: var(--jn-font) !important; font-size: 15px !important; font-weight: 600 !important;
}
.jnsa-page .btn:hover { background: var(--jn-gold) !important; color: var(--jn-navy) !important; }
.jnsa-page .cart-empty, .jnsa-page .empty-cart-block, .jnsa-page [class*="empty"] h1, .jnsa-page [class*="empty"] h2, .jnsa-page [class*="empty"] h3 { font-size: 22px; font-weight: 700; color: var(--jn-ink); }

.jnsa-page .jnsa-lead { max-width: 640px; font-size: 16px; line-height: 1.7; color: var(--jn-text); margin: 0 0 28px; }
.jnsa-page .wpcf7 { max-width: 640px; }
.jnsa-page .wpcf7 p { margin: 0 0 18px; }
.jnsa-page .wpcf7 input:not([type=submit]), .jnsa-page .wpcf7 textarea { width: 100%; box-sizing: border-box; }
.jnsa-page .wpcf7-response-output { margin: 16px 0 0 !important; border-radius: 8px; font-size: 14px; }

.jnsa-site .sh { --near-black: #012D68 !important; }
.jnsa-site .sh .sh-btn, .jnsa-site .shop-apply, .jnsa-site .shc .shc-action { border-radius: 8px !important; letter-spacing: 0.04em !important; font-weight: 600; }
.jnsa-site .sh .sh-btn--primary, .jnsa-site .shop-apply { background: var(--jn-navy) !important; border-color: var(--jn-navy) !important; color: #fff !important; }
.jnsa-site .sh .sh-btn--primary:hover, .jnsa-site .shop .shop-apply:hover { background: var(--jn-gold) !important; border-color: var(--jn-gold) !important; color: var(--jn-navy) !important; }
.jnsa-site .sh .sh-btn--ghost { border-color: var(--jn-navy) !important; color: var(--jn-navy) !important; }
.jnsa-site .shc .shc-action:hover { background: var(--jn-navy) !important; border-color: var(--jn-navy) !important; color: #fff !important; }

.jnsa-site .back-top {
	width: 42px !important; height: 42px !important; right: 20px !important; bottom: 20px !important;
	background: #fff !important; border: 1px solid var(--jn-line) !important; border-radius: 50% !important;
	box-shadow: 0 6px 20px rgba(17, 24, 39, .08) !important; color: var(--jn-navy) !important;
}

.jnsa-site .e-s2-ftext strong { color: var(--jn-ink); font-weight: 600; }
/* end JNSA polish */

/* JNSA line icons in Elementor */
.jnsa-site .e-s2-fsvg svg, .jnsa-site .e-s2-why-svg svg, .jnsa-site .e-s2-app-svg svg { display: block; width: 100%; height: 100%; }
.jnsa-site .e-s2-fsvg svg, .jnsa-site .e-s2-fsvg svg *,
.jnsa-site .e-s2-why-svg svg, .jnsa-site .e-s2-why-svg svg *,
.jnsa-site .e-s2-app-svg svg, .jnsa-site .e-s2-app-svg svg * {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.7px;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.jnsa-site .e-s2-stars svg { display: block; width: 100%; height: 100%; fill: currentColor; }
/* end JNSA line icons in Elementor */

/* JNSA homepage v2 */
.jnsa-site .jnsa-line-icon svg { display: block; width: 100%; height: 100%; }
.jnsa-site .jnsa-line-icon svg, .jnsa-site .jnsa-line-icon svg * {
	fill: none !important; stroke: currentColor !important;
	stroke-width: 1.6px; stroke-linecap: round; stroke-linejoin: round;
}

.elementor-page-7295 .jnsa-grid-4 .row.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.elementor-page-7295 .jnsa-grid-auto .row.products { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important; }
.elementor-page-7295 .jnsa-deals .content-product { transition: box-shadow .2s ease, transform .2s ease; }
.elementor-page-7295 .jnsa-deals .content-product:hover { box-shadow: 0 12px 28px rgba(17, 24, 39, .08); transform: translateY(-2px); }
.elementor-page-7295 .elementor-widget-shortcode .woocommerce { width: 100%; }

.jnsa-site .jnsa-faq .e-n-accordion-item,
.jnsa-site .jnsa-faq .elementor-accordion-item {
	border: 1px solid var(--jn-line) !important; border-radius: 10px; background: #fff; margin-bottom: 12px; overflow: hidden;
}
.jnsa-site .jnsa-faq .e-n-accordion-item-title,
.jnsa-site .jnsa-faq .elementor-tab-title {
	padding: 18px 22px !important; border: 0 !important; cursor: pointer;
	font-family: var(--jn-font) !important; font-size: 16px !important; font-weight: 600 !important; color: var(--jn-ink) !important;
}
.jnsa-site .jnsa-faq .e-n-accordion-item-title-text { font-size: 16px !important; font-weight: 600 !important; color: var(--jn-ink) !important; }
.jnsa-site .jnsa-faq .elementor-tab-content,
.jnsa-site .jnsa-faq .e-n-accordion-item > [role="region"] {
	padding: 0 22px 20px !important; border: 0 !important; color: var(--jn-text); font-size: 15px; line-height: 1.7;
}
.jnsa-site .jnsa-faq .elementor-accordion-icon, .jnsa-site .jnsa-faq .e-n-accordion-item-title-icon { color: var(--jn-gold-600) !important; }

@media (max-width: 1024px) {
	.elementor-page-7295 .jnsa-grid-4 .row.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
	.elementor-page-7295 .jnsa-grid-4 .row.products,
	.elementor-page-7295 .jnsa-grid-auto .row.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
}
/* end JNSA homepage v2 */

/* JNSA section heads */
.jnsa-site .e-s3-head, .jnsa-site .e-s4-head, .jnsa-site .e-s7-head {
	flex-wrap: nowrap !important; justify-content: space-between !important; align-items: flex-end !important;
}
.jnsa-site .e-s3-headtext, .jnsa-site .e-s4-headtext, .jnsa-site .e-s7-headtext { width: auto !important; flex: 1 1 auto; min-width: 0; }
.jnsa-site .e-s3-link, .jnsa-site .e-s4-link, .jnsa-site .e-s7-link { flex: 0 0 auto; white-space: nowrap; }
/* end JNSA section heads */

/* JNSA faq colours */
.jnsa-site .jnsa-faq .elementor-tab-title,
.jnsa-site .jnsa-faq .elementor-tab-title a,
.jnsa-site .jnsa-faq .elementor-accordion-title {
	color: var(--jn-ink) !important; font-family: var(--jn-font) !important;
	font-size: 16px !important; font-weight: 600 !important; text-decoration: none !important;
}
.jnsa-site .jnsa-faq .elementor-tab-title.elementor-active,
.jnsa-site .jnsa-faq .elementor-tab-title.elementor-active a,
.jnsa-site .jnsa-faq .elementor-tab-title.elementor-active .elementor-accordion-title { color: var(--jn-navy) !important; }
.jnsa-site .jnsa-faq .elementor-accordion-icon,
.jnsa-site .jnsa-faq .elementor-accordion-icon i,
.jnsa-site .jnsa-faq .elementor-accordion-icon svg { color: var(--jn-gold-600) !important; fill: var(--jn-gold-600) !important; }
.jnsa-site .jnsa-faq .elementor-tab-content a { color: var(--jn-navy); font-weight: 600; }
@media (max-width: 767px) {
	.jnsa-site .jnsa-faq .elementor-tab-title, .jnsa-site .jnsa-faq .elementor-accordion-title { font-size: 15px !important; }
}
/* end JNSA faq colours */

/* JNSA category cards */
.jnsa-site .e-c-card { position: relative; text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease; box-shadow: 0 6px 18px rgba(17, 24, 39, .06); }
.jnsa-site .e-c-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(17, 24, 39, .12); }
.jnsa-site .e-c-img, .jnsa-site img.e-c-img, .jnsa-site .e-c-img img {
	display: block; width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: contain;
	mix-blend-mode: multiply; transition: transform .35s ease;
}
.jnsa-site .e-c-card:hover .e-c-img, .jnsa-site .e-c-card:hover img.e-c-img { transform: scale(1.04); }
.jnsa-site .e-c-card .e-c-arrow { transition: transform .2s ease; }
.jnsa-site .e-c-card:hover .e-c-arrow { transform: translateX(4px); }
.jnsa-site .e-c-card .e-c-title, .jnsa-site .e-c-card .e-c-title * { letter-spacing: -0.01em; }

@media (max-width: 767px) {
	.jnsa-site .e-c-row {
		flex-wrap: nowrap !important; justify-content: flex-start !important;
		overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
		padding: 4px 2px 14px !important; scrollbar-width: none;
	}
	.jnsa-site .e-c-row::-webkit-scrollbar { display: none; }
	.jnsa-site .e-c-card { flex: 0 0 74% !important; max-width: 74% !important; scroll-snap-align: start; }
	.jnsa-site .e-c-card:hover { transform: none; }
}
/* end JNSA category cards */

/* JNSA category cards polish */
.jnsa-site .e-c-card .e-c-btn {
	align-self: flex-start !important; width: auto !important; flex: 0 0 auto !important;
	margin-top: auto !important; display: inline-flex !important;
}
.jnsa-site .e-c-card .e-c-sub { margin-bottom: 18px !important; }
.jnsa-site .e-c-card .e-c-img, .jnsa-site .e-c-card img.e-c-img {
	filter: brightness(1.06) contrast(1.03);
	-webkit-mask-image: radial-gradient(ellipse 72% 72% at 50% 50%, #000 62%, transparent 100%);
	mask-image: radial-gradient(ellipse 72% 72% at 50% 50%, #000 62%, transparent 100%);
}
/* end JNSA category cards polish */