/* =========================================================================
   Jara Mama — main.css
   Desktop (≥1024px) mirrors the Figma WEB UI frames at 1440px.
   Mobile  (≤767px)  mirrors the Figma MOBILE UI frames at 390px.
   ========================================================================= */

/* ---------- 1. Tokens (overridable from Customizer via :root inline CSS) ---------- */
:root {
	--jm-green: #0e2a1f;
	--jm-green-mobile: #1b4332;
	--jm-gold: #c89d38;
	--jm-gold-mobile: #d4a017;
	--jm-navy: #0e172a;
	--jm-cream: #f2e9d6;
	--jm-cream-light: #faf8f5;
	--jm-cream-m: #fdf8e7;
	--jm-mint: #e8f1ec;
	--jm-sand: #e6dbc3;
	--jm-red: #dc2626;
	--jm-emerald: #10b981;
	--jm-white: #ffffff;
	--jm-bg-m: #f9faf9;
	--jm-g50: #f9fafb;
	--jm-g100: #f3f4f6;
	--jm-g200: #e5e7eb;
	--jm-g400: #9ca3af;
	--jm-g500: #6b7280;
	--jm-g600: #4b5563;
	--jm-g900: #111827;

	--jm-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--jm-font-m: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--jm-container: 1280px;
	--jm-gutter: 80px;
	--jm-r-sm: 6px;
	--jm-r: 8px;
	--jm-r-md: 12px;
	--jm-r-lg: 16px;
	--jm-shadow-card: 0 2px 4px rgba(0, 0, 0, .05);
	--jm-shadow-float: 0 10px 15px rgba(0, 0, 0, .06);
	--jm-tabbar: 72px;
}

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	font-family: var(--jm-font);
	font-size: 14px;
	line-height: normal;
	color: var(--jm-navy);
	background: var(--jm-white);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; }
h1, h2, h3, h4, p { margin: 0; }
hr { border: 0; border-top: 1px solid var(--jm-g200); margin: 0; }
.jm-icon { flex: none; display: inline-block; vertical-align: middle; }
.jm-skip { position: absolute; left: -999px; top: 0; background: var(--jm-green); color: #fff; padding: 8px 12px; z-index: 999; }
.jm-skip:focus { left: 8px; top: 8px; }
:focus-visible { outline: 2px solid var(--jm-gold); outline-offset: 2px; }
.jm-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.jm-container { width: 100%; max-width: calc(var(--jm-container) + var(--jm-gutter) * 2); margin: 0 auto; padding: 0 var(--jm-gutter); }
.jm-container--narrow { max-width: 880px; }
.jm-center { text-align: center; }
.jm-only-mobile { display: none !important; }

/* Buttons */
.jm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; font-size: 14px; line-height: normal; border-radius: var(--jm-r); padding: 10px 16px; white-space: nowrap; transition: filter .15s; }
.jm-btn:hover { filter: brightness(1.05); }
.jm-btn--gold { background: var(--jm-gold); color: #fff; }
.jm-btn--green { background: var(--jm-green); color: #fff; }
.jm-btn--outline { border: 2px solid var(--jm-green); color: var(--jm-green); background: transparent; }
.jm-btn--outline-sm { border: 1.5px solid var(--jm-green); color: var(--jm-green); font-size: 13px; padding: 8px 16px; border-radius: var(--jm-r-sm); gap: 8px; }
.jm-btn--lg { padding: 14px 28px; }
.jm-btn--sm { font-size: 12px; padding: 8px 16px; border-radius: var(--jm-r-sm); }
.jm-btn--block { width: 100%; }
.jm-btn--gold-m { background: var(--jm-gold-mobile); color: #fff; font-family: var(--jm-font-m); }
.jm-btn--green-m { background: var(--jm-green-mobile); color: #fff; font-family: var(--jm-font-m); }

/* Tags */
.jm-tag { display: inline-block; font-weight: 700; font-size: 11px; padding: 4px 10px; border-radius: 4px; text-transform: uppercase; }
.jm-tag--dark { background: var(--jm-green); color: #fff; }
.jm-tag--stock { background: rgba(16, 185, 129, .12); color: var(--jm-emerald); }

/* ---------- 3. Header — utility bar (Figma 20:1138) ---------- */
.jm-utility { background: var(--jm-green); color: #fff; height: 40px; }
.jm-utility__inner { height: 40px; display: flex; align-items: center; justify-content: space-between; font-size: 12px; }
.jm-utility__location { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 500; }
.jm-utility__location b { color: var(--jm-gold); font-weight: 700; }
.jm-utility__announce { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.jm-utility__links { display: flex; align-items: center; gap: 16px; }
.jm-utility__links a { position: relative; font-weight: 400; }
.jm-utility__links a + a::before { content: ""; position: absolute; left: -8px; top: 50%; width: 1px; height: 12px; transform: translateY(-50%); background: rgba(255, 255, 255, .5); }
.jm-utility__links a.is-strong, .jm-utility__links a:last-child { font-weight: 600; }

/* ---------- Header — main bar (Figma 17:373) ---------- */
.jm-mainbar { background: #fff; border-bottom: 1px solid var(--jm-g200); }
.jm-mainbar__inner { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.jm-brand { display: flex; align-items: center; gap: 11px; flex: none; }
.jm-burger { width: 24px; height: 24px; display: inline-flex; color: var(--jm-navy); }
.jm-logo { display: inline-flex; align-items: center; gap: 8px; height: 32px; }
.jm-logo img { height: 32px; width: auto; max-width: 191px; object-fit: contain; }
.jm-logo__text { font-weight: 700; letter-spacing: .12em; font-size: 20px; color: var(--jm-green); text-transform: uppercase; }
.jm-logo__dots { width: 28px; height: 28px; border-radius: 50%; background: radial-gradient(circle, var(--jm-gold) 2px, transparent 2.5px) 0 0/8px 8px; }
.jm-logo__dots--light { background: radial-gradient(circle, #fff 2px, transparent 2.5px) 0 0/8px 8px; }
.jm-search { display: flex; width: 600px; max-width: 100%; height: 44px; border: 1.5px solid var(--jm-green); border-radius: var(--jm-r); overflow: hidden; background: #fff; }
.jm-search__input { flex: 1; min-width: 0; border: 0; padding: 0 16px; font-size: 14px; color: var(--jm-navy); outline: none; background: transparent; }
.jm-search__input::placeholder { color: var(--jm-g400); }
.jm-search__submit { width: 56px; background: var(--jm-gold); color: #fff; display: flex; align-items: center; justify-content: center; }
.jm-actions { display: flex; align-items: center; gap: 28px; flex: none; }
.jm-action { display: inline-flex; align-items: center; gap: 8px; color: var(--jm-green); }
.jm-action span { display: flex; flex-direction: column; line-height: normal; }
.jm-action small { font-size: 11px; color: var(--jm-g600); }
.jm-action b { font-size: 13px; font-weight: 700; }
.jm-action--cart { gap: 10px; }
.jm-action--cart > b { font-size: 14px; }
.jm-cart-icon { position: relative; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.jm-cart-badge { position: absolute; top: -2px; right: -2px; width: 18px; height: 18px; border-radius: 9px; background: var(--jm-red); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.jm-cart-badge.is-empty { display: none; }

/* ---------- Header — category nav (Figma 8:68) ---------- */
.jm-catnav { background: #fff; border-bottom: 1px solid var(--jm-g200); }
.jm-catnav__inner { height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.jm-catnav__all { display: inline-flex; align-items: center; gap: 8px; background: var(--jm-green); color: #fff; padding: 10px 16px; border-radius: var(--jm-r-sm); font-weight: 700; font-size: 13px; flex: none; }
.jm-catnav__links { display: flex; align-items: center; gap: 24px; font-weight: 600; font-size: 13px; color: var(--jm-navy); overflow: hidden; }
.jm-catnav__links a { white-space: nowrap; }
.jm-catnav__links a.is-current { color: var(--jm-gold); }
.jm-catnav__deals { display: inline-flex; align-items: center; gap: 6px; color: var(--jm-red); font-weight: 700; font-size: 13px; flex: none; }

/* Drawer */
.jm-drawer { position: fixed; inset: 0; z-index: 1000; }
.jm-drawer[hidden] { display: none; }
.jm-drawer__backdrop { position: absolute; inset: 0; background: rgba(14, 42, 31, .5); }
.jm-drawer__panel { position: absolute; left: 0; top: 0; bottom: 0; width: 320px; max-width: 85vw; background: #fff; z-index: 1; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.jm-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px; background: var(--jm-green); color: #fff; font-size: 16px; }
.jm-drawer__links { display: flex; flex-direction: column; overflow: auto; padding: 8px 0; }
.jm-drawer__links a { padding: 12px 20px; font-weight: 600; font-size: 14px; color: var(--jm-navy); border-bottom: 1px solid var(--jm-g100); }
.jm-drawer__links a.is-current { color: var(--jm-gold); }

/* Mobile header: hidden on desktop */
.jm-mheader { display: none; }
.jm-tabbar { display: none; }

/* ---------- 4. Home — hero (Figma 8:87) ---------- */
.jm-hero { position: relative; overflow: hidden; background: linear-gradient(90deg, var(--jm-cream) 0%, #fff 100%); }
.jm-hero::after { content: ""; position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .2; pointer-events: none; }
.jm-hero__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 64px; padding-top: 48px; padding-bottom: 48px; }
.jm-hero__left { width: 723px; max-width: 100%; display: flex; flex-direction: column; gap: 24px; }
.jm-hero__title { display: flex; flex-direction: column; gap: 2px; font-weight: 600; font-size: 56px; line-height: 1.1; }
.jm-hero__l1 { color: var(--jm-green); }
.jm-hero__l2 { color: var(--jm-gold); }
.jm-hero__l3 { color: var(--jm-navy); }
.jm-hero__sub { font-size: 16px; color: var(--jm-g600); }
.jm-hero__btns { display: flex; gap: 16px; }
.jm-hero__badges { display: flex; gap: 12px; padding-top: 16px; }
.jm-badge { display: flex; align-items: center; gap: 8px; }
.jm-badge--hero { flex: 1 1 0; min-width: 0; }
.jm-badge__icon { flex: none; width: 36px; height: 36px; border-radius: 18px; background: rgba(200, 157, 56, .1); color: var(--jm-gold); display: inline-flex; align-items: center; justify-content: center; }
.jm-badge__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jm-badge__text b { font-size: 12px; color: var(--jm-green); font-weight: 700; }
.jm-badge__text small { font-size: 10px; color: var(--jm-g600); }
.jm-hero__card { flex: none; width: 272px; height: 351px; background: #fff; border: 1.5px solid var(--jm-sand); border-radius: var(--jm-r-lg); padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: var(--jm-shadow-float); }
.jm-hero__card > div { display: flex; flex-direction: column; gap: 4px; }
.jm-hero__card b { font-size: 16px; color: var(--jm-green); }
.jm-hero__card p { font-size: 12px; color: var(--jm-g600); }
.jm-hero__addr { display: flex; align-items: center; gap: 8px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 12px; color: var(--jm-gold); }
.jm-hero__addr input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 13px; color: var(--jm-navy); background: transparent; }
.jm-hero__addr input::placeholder { color: var(--jm-g400); }
.jm-hero__card .jm-btn { padding: 12px; font-size: 13px; }
.jm-hero__gps { display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: var(--jm-gold); font-weight: 700; font-size: 12px; }

/* Mobile hero — hidden on desktop */
.jm-mhero, .jm-mpicks { display: none; }

/* ---------- Home — section shell ---------- */
.jm-section { padding: 48px 0; }
.jm-section__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.jm-section__head h2 { font-weight: 800; font-size: 24px; color: var(--jm-green); text-transform: uppercase; }
.jm-viewall { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--jm-gold); }

/* Shop by category (Figma 8:145) */
.jm-cats__wrap { display: flex; align-items: center; gap: 20px; }
.jm-cats__track { flex: 1; min-width: 0; display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.jm-cats__track::-webkit-scrollbar { display: none; }
.jm-cat { flex: none; width: 130px; display: flex; flex-direction: column; align-items: center; gap: 12px; scroll-snap-align: start; }
.jm-cat__img { width: 100px; height: 100px; border-radius: 50px; border: 2px solid var(--jm-sand); overflow: hidden; display: block; }
.jm-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.jm-cat__name { font-weight: 600; font-size: 13px; color: var(--jm-green); text-align: center; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jm-cats__arrow { flex: none; width: 40px; height: 40px; border-radius: 20px; background: #fff; border: 1px solid var(--jm-g200); box-shadow: 0 2px 4px rgba(0,0,0,.04); display: inline-flex; align-items: center; justify-content: center; color: var(--jm-navy); }

/* Promo cards (Figma 8:189) */
.jm-promos { padding: 24px 0; }
.jm-promos__inner { display: flex; gap: 24px; }
.jm-promo { flex: 1 1 0; min-width: 0; height: 220px; border-radius: var(--jm-r-lg); padding: 24px; display: flex; align-items: center; justify-content: space-between; overflow: hidden; }
.jm-promo__left { width: 180px; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; }
.jm-promo__tag { font-weight: 700; font-size: 11px; padding: 4px 10px; border-radius: 4px; text-transform: uppercase; }
.jm-promo__title { font-weight: 600; font-size: 20px; }
.jm-promo__btn { font-weight: 700; font-size: 12px; padding: 8px 16px; border-radius: var(--jm-r-sm); }
.jm-promo__img { width: 150px; height: 170px; border-radius: var(--jm-r); overflow: hidden; flex: none; }
.jm-promo__img img { width: 100%; height: 100%; object-fit: cover; }
.jm-promo__img--empty { background: rgba(255,255,255,.12); }
.jm-promo--dark { background: var(--jm-green); color: #fff; }
.jm-promo--dark .jm-promo__tag { background: var(--jm-red); color: #fff; }
.jm-promo--dark .jm-promo__btn { background: var(--jm-gold); color: #fff; }
.jm-promo--cream { background: var(--jm-cream); color: var(--jm-navy); }
.jm-promo--cream .jm-promo__tag { background: #fff; color: var(--jm-green); }
.jm-promo--cream .jm-promo__btn { background: var(--jm-green); color: #fff; }
.jm-promo--cream .jm-promo__img--empty { background: rgba(14,42,31,.06); }
.jm-promo--outline { background: #fff; border: 1.5px solid var(--jm-sand); color: var(--jm-green); }
.jm-promo--outline .jm-promo__tag { background: rgba(200,157,56,.13); color: var(--jm-gold); }
.jm-promo--outline .jm-promo__btn { border: 1.5px solid var(--jm-gold); color: var(--jm-gold); }
.jm-promo__brands { width: 140px; height: 160px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 1fr); gap: 6px; align-items: start; justify-items: start; }
.jm-promo__brands span { background: var(--jm-cream); color: var(--jm-green); font-weight: 700; font-size: 9px; padding: 4px; border-radius: var(--jm-r-sm); }

/* ---------- 5. Product card (Figma 8:234 grid / 8:746 compact / 48:1553 mobile) ---------- */
.jm-grid { display: grid; gap: 20px; }
.jm-grid--picks { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jm-grid--shop { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 16px; }
.jm-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); overflow: hidden; }
.jm-card__top { position: relative; }
.jm-card__media { display: block; height: 180px; background: var(--jm-g50); overflow: hidden; }
.jm-card__media img { width: 100%; height: 100%; object-fit: cover; }
.jm-card__info { display: flex; flex-direction: column; gap: 6px; padding: 16px; }
.jm-card__brand { font-weight: 600; font-size: 11px; color: var(--jm-gold); text-transform: uppercase; }
.jm-card__title { font-weight: 600; font-size: 14px; color: var(--jm-green); height: 40px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.jm-card__footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; padding: 0 16px 16px; }
.jm-card__price { font-weight: 700; font-size: 18px; color: var(--jm-navy); }
.jm-card__price del { color: var(--jm-g400); font-weight: 400; font-size: .72em; margin-right: 6px; }
.jm-card__price ins { text-decoration: none; }
.jm-btn-add { display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--jm-gold); color: #fff; font-weight: 700; font-size: 12px; border-radius: var(--jm-r); }
.jm-btn-add--text { padding: 8px 12px; }
.jm-btn-add--icon { width: 32px; height: 32px; padding: 8px; }
.jm-btn-add.loading { opacity: .6; }
.jm-btn-add.added::after { content: "✓"; font-size: 12px; }
.jm-rating-badge { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 4px; background: rgba(14, 23, 42, .9); color: #fff; padding: 4px 8px; border-radius: var(--jm-r-sm); font-size: 11px; }
.jm-rating-badge .jm-icon--star-filled { color: var(--jm-gold); }
.jm-rating-badge b { font-weight: 700; }
.jm-rating-badge span { font-size: 10px; color: var(--jm-g400); }
.jm-rating-badge--sm { font-size: 10px; }
.jm-rating-badge--sm span { font-size: 9px; }
.jm-wish { position: absolute; right: 12px; top: 12px; width: 32px; height: 32px; border-radius: 16px; background: rgba(255,255,255,.8); box-shadow: var(--jm-shadow-card); display: inline-flex; align-items: center; justify-content: center; color: var(--jm-navy); }
.jm-wish.is-active { color: var(--jm-red); }
.jm-wish.is-active svg { fill: currentColor; }
/* compact (category grid 155w) */
.jm-card--compact .jm-card__media { height: 160px; }
.jm-card--compact .jm-card__info { padding: 12px; gap: 4px; }
.jm-card--compact .jm-card__brand { font-size: 10px; }
.jm-card--compact .jm-card__title { font-size: 13px; height: 36px; }
.jm-card--compact .jm-card__footer { padding: 0 12px 12px; }
.jm-card--compact .jm-card__price { font-size: 16px; }

/* ---------- 6. Shop / category page (Figma 8:446) ---------- */
.jm-shop-intro { background: var(--jm-cream-light); }
.jm-shop-intro__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 24px; padding-bottom: 24px; }
.jm-shop-intro__left { display: flex; flex-direction: column; gap: 8px; max-width: 682px; }
.jm-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: var(--jm-g500); }
.jm-breadcrumbs a { color: var(--jm-g500); }
.jm-breadcrumbs > :last-child { color: var(--jm-gold); font-weight: 600; }
.jm-crumb-sep { color: var(--jm-g500); }
.jm-shop-intro__title { font-weight: 800; font-size: 32px; color: var(--jm-green); }
.jm-shop-intro__count { font-weight: 500; font-size: 14px; color: var(--jm-g500); margin-top: 8px; }
.jm-shop-intro__desc { font-size: 14px; color: var(--jm-g500); }
.jm-shop-intro__promo { flex: none; display: flex; align-items: center; gap: 16px; background: var(--jm-green); color: #fff; border-radius: var(--jm-r-md); padding: 16px; }
.jm-shop-intro__promo > div { width: 234px; display: flex; flex-direction: column; gap: 4px; }
.jm-shop-intro__tag { display: inline-flex; align-items: center; gap: 6px; color: var(--jm-gold); font-weight: 700; font-size: 12px; }
.jm-shop-intro__promo b { font-size: 13px; }
.jm-shop-intro__promo img, .jm-shop-intro__img-empty { width: 80px; height: 80px; border-radius: var(--jm-r); object-fit: cover; flex: none; background: rgba(255,255,255,.1); }

.jm-filterbar { background: #fff; border-top: 1px solid var(--jm-g200); border-bottom: 1px solid var(--jm-g200); }
.jm-filterbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 12px; padding-bottom: 12px; }
.jm-filterbar__left { display: flex; align-items: center; gap: 12px; }
.jm-filterbar__count { display: none; }
.jm-chip { position: relative; }
.jm-chip summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); padding: 8px 16px; font-size: 13px; color: var(--jm-g900); cursor: pointer; }
.jm-chip summary::-webkit-details-marker { display: none; }
.jm-chip__menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 20; min-width: 180px; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); box-shadow: var(--jm-shadow-float); padding: 6px 0; display: flex; flex-direction: column; }
.jm-chip__menu a { padding: 8px 14px; font-size: 13px; }
.jm-chip__menu a:hover { background: var(--jm-cream); }
.jm-filterbar__right { display: flex; align-items: center; gap: 16px; }
.jm-filterbar__sep { width: 1px; height: 16px; background: var(--jm-g200); }
.woocommerce-ordering { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--jm-g500); margin: 0; }
.woocommerce-ordering::before { content: "Sort by:"; }
.woocommerce-ordering select { appearance: none; -webkit-appearance: none; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); padding: 8px 30px 8px 12px; font-weight: 600; font-size: 13px; color: var(--jm-g900); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%230e172a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; }
.jm-view { display: flex; gap: 8px; }
.jm-view button { width: 26px; height: 26px; padding: 6px; border-radius: 4px; border: 1px solid var(--jm-g200); display: inline-flex; color: var(--jm-navy); }
.jm-view button.is-active { background: var(--jm-cream); border-color: var(--jm-cream); }

.jm-shop { display: flex; gap: 20px; padding-top: 32px; padding-bottom: 32px; }
.jm-shop__sidebar { flex: none; width: 250px; padding-right: 16px; }
.jm-shop__main { flex: 1; min-width: 0; }
.jm-filters__head { display: none; }
.jm-filter-block { padding: 24px 0; border-bottom: 1px solid var(--jm-g200); }
.jm-filter-block:first-child { padding-top: 0; }
.jm-filter-block:last-child { border-bottom: 0; }
.jm-filter-title { font-weight: 700; font-size: 14px; color: var(--jm-green); text-transform: uppercase; margin-bottom: 12px; }
.jm-filter-cats { display: flex; flex-direction: column; gap: 8px; }
.jm-filter-cats a { font-size: 14px; color: var(--jm-g900); line-height: 20px; }
.jm-filter-cats a.is-current { color: var(--jm-gold); font-weight: 600; }
.jm-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--jm-g900); line-height: 20px; cursor: pointer; }
.jm-check input { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; margin: 0; border: 1px solid var(--jm-g200); border-radius: 3px; background: #fff; display: inline-grid; place-content: center; }
.jm-check input:checked { background: var(--jm-gold); border-color: var(--jm-gold); }
.jm-check input:checked::after { content: ""; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
.jm-check input:checked + span { font-weight: 700; }
.jm-check .count { margin-left: auto; font-size: 13px; color: var(--jm-g500); }
.jm-filter-more { display: inline-block; margin-top: 8px; font-weight: 700; font-size: 13px; color: var(--jm-gold); }
.jm-brand-search { display: flex; align-items: center; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); height: 34px; padding: 0 12px; margin-bottom: 12px; }
.jm-brand-search input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 13px; }
.jm-brand-search input::placeholder { color: var(--jm-g400); }
/* WC price filter restyled to gold slider (Figma filter-price) */
.jm-filter-block .widget_price_filter h2, .jm-filter-block .widget_rating_filter h2 { display: none; }
.price_slider_wrapper .ui-slider { position: relative; height: 6px; background: var(--jm-g200); border-radius: 3px; margin: 8px 8px 24px; }
.price_slider_wrapper .ui-slider-range { position: absolute; height: 6px; background: var(--jm-gold); border-radius: 3px; }
.price_slider_wrapper .ui-slider-handle { position: absolute; top: -5px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--jm-gold); border: 0; cursor: grab; }
.price_slider_amount { display: flex; align-items: center; justify-content: space-between; font-weight: 700; font-size: 13px; color: var(--jm-navy); }
.price_slider_amount .button { order: 3; width: 100%; margin-top: 12px; }
.price_slider_amount .price_label { order: 1; }
.widget_rating_filter ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.widget_rating_filter .star-rating { color: var(--jm-gold); }
.jm-shop .button, .jm-shop button.button { background: var(--jm-green); color: #fff; border: 0; border-radius: var(--jm-r-sm); padding: 8px 16px; font-weight: 700; font-size: 12px; cursor: pointer; }

.jm-pagination-row { display: flex; align-items: center; justify-content: space-between; padding-top: 24px; margin-top: 32px; }
.jm-pagination { display: flex; align-items: center; gap: 8px; }
.jm-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 14px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); font-weight: 700; font-size: 13px; color: var(--jm-navy); }
.jm-pagination .page-numbers.current { background: var(--jm-gold); border-color: var(--jm-gold); color: #fff; }
.jm-pagination .page-numbers.dots { border: 0; min-width: 0; padding: 0 4px; font-weight: 400; color: var(--jm-g500); }
.jm-pagination .prev, .jm-pagination .next { width: 34px; height: 34px; min-width: 34px; padding: 0; }
.jm-pagination .next { background: var(--jm-green); border-color: var(--jm-green); color: #fff; }
.jm-perpage { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--jm-g500); }
.jm-select { position: relative; display: inline-flex; align-items: center; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); padding: 0 12px; height: 36px; color: var(--jm-navy); }
.jm-select select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; font-weight: 700; font-size: 13px; padding-right: 18px; color: var(--jm-navy); outline: 0; }
.jm-select .jm-icon { position: absolute; right: 12px; pointer-events: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; margin: 0 0 16px; padding: 12px 16px; border-radius: var(--jm-r); background: var(--jm-cream); font-size: 13px; }
.woocommerce-error { background: rgba(220,38,38,.08); color: var(--jm-red); }

/* ---------- 7. Product page (Figma 8:1055) ---------- */
.jm-pdp-crumbs { padding-top: 20px; padding-bottom: 10px; }
.jm-pdp-crumbs .jm-breadcrumbs { font-size: 13px; }
.jm-pdp__inner { display: flex; gap: 24px; padding-top: 20px; padding-bottom: 40px; }
.jm-pdp__gallery { display: flex; gap: 24px; flex: none; }
.jm-pdp__thumbs { width: 80px; display: flex; flex-direction: column; gap: 12px; }
.jm-pdp__thumb { width: 72px; height: 72px; border-radius: var(--jm-r); border: 1px solid var(--jm-g200); background: var(--jm-g50); overflow: hidden; padding: 0; }
.jm-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.jm-pdp__thumb.is-active { border: 2px solid var(--jm-gold); }
.jm-pdp__thumb:nth-child(n+5) { display: none; }
.jm-pdp__thumbs.is-expanded .jm-pdp__thumb { display: block; }
.jm-pdp__thumbs-more { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; font-size: 12px; color: var(--jm-green); }
.jm-pdp__stage { position: relative; width: 420px; height: 460px; border-radius: var(--jm-r-md); border: 1px solid var(--jm-g200); background: var(--jm-g50); overflow: hidden; }
.jm-pdp__slides { width: 100%; height: 100%; }
.jm-pdp__slide { margin: 0; position: absolute; inset: 0; display: none; align-items: center; justify-content: center; padding: 20px; }
.jm-pdp__slide.is-active { display: flex; }
.jm-pdp__slide img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.jm-pdp__stage .jm-wish { right: 16px; top: 16px; width: 36px; height: 36px; background: #fff; border: 1px solid var(--jm-g200); }
.jm-pdp__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 1px solid var(--jm-g200); display: inline-flex; align-items: center; justify-content: center; color: var(--jm-navy); }
.jm-pdp__nav--prev { left: 12px; }
.jm-pdp__nav--next { right: 12px; }

.jm-pdp__info { flex: 1; min-width: 0; max-width: 400px; display: flex; flex-direction: column; gap: 20px; }
.jm-pdp__badges { display: flex; gap: 8px; }
.jm-pdp__badges:empty { display: none; }
.jm-pdp__titleblock { display: flex; flex-direction: column; gap: 4px; }
.jm-pdp__brand { font-weight: 700; font-size: 14px; color: var(--jm-gold); text-transform: uppercase; }
.jm-pdp__title { font-weight: 800; font-size: 28px; color: var(--jm-green); }
.jm-pdp__meta { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.jm-pdp__rating { display: inline-flex; align-items: center; gap: 4px; color: var(--jm-gold); }
.jm-pdp__rating b { color: var(--jm-navy); }
.jm-pdp__rating span { color: var(--jm-g400); }
.jm-pdp__sep { width: 1px; height: 14px; background: var(--jm-g200); }
.jm-pdp__sold { font-weight: 600; color: var(--jm-green); }
.jm-pdp__price { display: flex; flex-direction: column; gap: 2px; }
.jm-pdp__priceline { display: flex; align-items: baseline; gap: 8px; font-weight: 800; font-size: 32px; color: var(--jm-navy); }
.jm-pdp__priceline del { order: 2; font-weight: 400; font-size: 13px; color: var(--jm-g400); }
.jm-pdp__priceline ins { text-decoration: none; }
.jm-pdp__price small { font-size: 12px; color: var(--jm-g600); }
.jm-pdp__desc { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.jm-pdp__desc-text { color: var(--jm-g600); line-height: 1.5; max-height: 60px; overflow: hidden; }
.jm-pdp__desc-text p { margin: 0; }
.jm-pdp__desc.is-open .jm-pdp__desc-text { max-height: none; }
.jm-pdp__readmore { align-self: flex-start; font-weight: 700; font-size: 13px; color: var(--jm-gold); text-decoration: underline; }
.jm-pdp__rule { margin: 0; }
.jm-pdp__buy form.cart { display: flex; flex-direction: column; gap: 20px; margin: 0; }
.jm-pdp__buy .variations { border-collapse: collapse; width: 100%; }
.jm-pdp__buy .variations td, .jm-pdp__buy .variations th { display: block; padding: 0; text-align: left; }
.jm-pdp__buy .variations tr { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.jm-pdp__buy .variations label { font-weight: 700; font-size: 12px; color: var(--jm-green); text-transform: uppercase; }
.jm-pdp__buy .variations label::after { content: ":"; }
.jm-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.jm-pill { border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); padding: 8px 16px; font-weight: 600; font-size: 13px; color: var(--jm-g600); background: #fff; }
.jm-pill.is-selected { background: var(--jm-cream); border: 2px solid var(--jm-gold); color: var(--jm-green); font-weight: 700; padding: 7px 15px; }
.jm-pdp__buy .reset_variations { font-size: 12px; color: var(--jm-g500); }
.jm-pdp__buy .single_variation_wrap .woocommerce-variation-price { display: none; }
.jm-pdp__buy .woocommerce-variation-availability { font-size: 13px; }
.jm-pdp__buy .quantity { display: inline-flex; align-items: stretch; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); overflow: hidden; }
.jm-pdp__buy .quantity .jm-qty-btn { width: 33px; background: var(--jm-g50); font-weight: 700; font-size: 14px; color: var(--jm-g600); display: inline-flex; align-items: center; justify-content: center; }
.jm-pdp__buy .quantity input.qty { width: 38px; border: 0; text-align: center; font-weight: 700; font-size: 14px; color: var(--jm-green); outline: 0; -moz-appearance: textfield; }
.jm-pdp__buy .quantity input::-webkit-outer-spin-button, .jm-pdp__buy .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.jm-pdp__buy .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.jm-pdp__qtyrow { display: flex; align-items: center; gap: 20px; }
.jm-pdp__stock { font-weight: 700; font-size: 14px; color: var(--jm-emerald); }
.jm-pdp__buy .single_add_to_cart_button { width: 100%; margin: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--jm-gold); color: #fff; border: 0; border-radius: var(--jm-r); padding: 14px 24px; font-weight: 700; font-size: 14px; cursor: pointer; }
.jm-pdp__buy .single_add_to_cart_button::after { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center/contain no-repeat; }
.jm-pdp__buy .single_add_to_cart_button.disabled { opacity: .5; }
.jm-pdp__buynow { width: 100%; background: #fff; border: 2px solid var(--jm-green); color: var(--jm-green); border-radius: var(--jm-r); padding: 12px 24px; font-weight: 700; font-size: 14px; display: inline-flex; justify-content: center; }
.jm-pdp__actions { display: flex; flex-direction: column; gap: 12px; }
.jm-pdp__express { display: flex; align-items: center; gap: 10px; background: rgba(16,185,129,.06); border-radius: var(--jm-r); padding: 12px; font-weight: 600; font-size: 13px; color: var(--jm-green); }
.jm-pdp__express .jm-icon { color: var(--jm-emerald); }
.jm-pdp__mdelivery { display: none; }

.jm-pdp__side { flex: none; width: 298px; margin-left: auto; display: flex; flex-direction: column; gap: 20px; }
.jm-pdp__delivery { border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 16px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.jm-pdp__delivery-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.jm-pdp__delivery-head b { display: inline-flex; align-items: center; gap: 6px; color: var(--jm-green); font-size: 13px; }
.jm-pdp__delivery-head .jm-icon { color: var(--jm-gold); }
.jm-pdp__delivery-head button { font-weight: 700; font-size: 12px; color: var(--jm-gold); }
.jm-pdp__delivery small { font-size: 12px; color: var(--jm-g500); }
.jm-pdp__delivery strong { font-size: 14px; color: var(--jm-green); }
.jm-pdp__delivery em { font-style: normal; font-size: 11px; color: var(--jm-red); }
.jm-pdp__delivery hr { margin: 12px 0; }
.jm-pdp__delivery p { font-size: 12px; color: var(--jm-g600); }
.jm-pdp__delivery p strong { font-size: 12px; color: var(--jm-green); }
.jm-pdp__trust { background: var(--jm-cream); border-radius: var(--jm-r-md); padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.jm-pdp__trust p { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 12px; color: var(--jm-green); }
.jm-pdp__related { display: flex; flex-direction: column; gap: 10px; }
.jm-pdp__related-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; }
.jm-pdp__related-head h4 { font-weight: 700; font-size: 14px; color: var(--jm-green); text-transform: uppercase; }
.jm-pdp__related-head a { color: var(--jm-gold); }
.jm-rec { display: flex; align-items: center; gap: 10px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 10px; }
.jm-rec img { width: 48px; height: 48px; border-radius: var(--jm-r-sm); object-fit: cover; flex: none; background: var(--jm-g50); }
.jm-rec span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.jm-rec b { font-size: 12px; color: var(--jm-green); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jm-rec small { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: var(--jm-g500); }
.jm-rec small .jm-icon { color: var(--jm-gold); }
.jm-rec strong { font-size: 13px; color: var(--jm-navy); }
.jm-pdp__mactions { display: none; }

/* Frequently bought together (Figma 8:1319) */
.jm-fbt { border-top: 1px solid var(--jm-g200); padding: 40px 0; }
.jm-fbt h2 { font-weight: 800; font-size: 20px; color: var(--jm-green); text-transform: uppercase; margin-bottom: 24px; }
.jm-fbt__box { border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.jm-fbt__items { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.jm-fbt__plus { font-size: 24px; color: var(--jm-g400); font-weight: 600; flex: none; }
.jm-fbt__item { display: flex; align-items: center; gap: 12px; width: 272px; }
.jm-fbt__item img { width: 80px; height: 80px; border-radius: var(--jm-r); object-fit: cover; border: 1px solid var(--jm-g200); background: var(--jm-g50); flex: none; }
.jm-fbt__item span { display: flex; flex-direction: column; gap: 4px; }
.jm-fbt__item b { font-size: 14px; color: var(--jm-green); }
.jm-fbt__item strong { font-size: 14px; color: var(--jm-navy); }
.jm-fbt__actions { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.jm-fbt__total { display: flex; align-items: baseline; gap: 8px; font-size: 14px; color: var(--jm-g600); }
.jm-fbt__total b { font-weight: 800; font-size: 22px; color: var(--jm-navy); }
.jm-fbt__save { font-weight: 600; font-size: 12px; color: var(--jm-gold); }
.jm-fbt .jm-btn { padding: 12px 24px; font-size: 13px; }
.jm-pdp__tabs { padding-bottom: 48px; }
.jm-pdp__fulldesc { margin-bottom: 32px; }
.jm-pdp__fulldesc h2 { font-size: 20px; font-weight: 800; color: var(--jm-green); margin-bottom: 12px; }
#reviews .woocommerce-Reviews-title { font-size: 20px; font-weight: 800; color: var(--jm-green); margin-bottom: 16px; }
.commentlist { list-style: none; padding: 0; margin: 0 0 24px; }
.commentlist .comment_container { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--jm-g200); }
.commentlist .avatar { width: 40px; height: 40px; border-radius: 50%; }
.commentlist .star-rating, .star-rating { color: var(--jm-gold); }
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; font-size: 12px; line-height: 1; letter-spacing: .1em; overflow: hidden; }
.star-rating::before { content: "\2606\2606\2606\2606\2606"; position: absolute; left: 0; top: 0; color: var(--jm-g200); }
.star-rating span { position: absolute; left: 0; top: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "\2605\2605\2605\2605\2605"; position: absolute; left: 0; top: 0; }
.comment-form label { display: block; font-weight: 600; font-size: 13px; margin: 12px 0 6px; }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email] { width: 100%; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 10px 12px; font-size: 13px; }
.comment-form .submit { background: var(--jm-gold); color: #fff; border: 0; border-radius: var(--jm-r); padding: 12px 24px; font-weight: 700; font-size: 13px; margin-top: 12px; cursor: pointer; }
.comment-form-rating .stars a { color: var(--jm-gold); }

/* ---------- 8. Cart / Checkout / Thank-you (Figma 22:75, 22:372) ---------- */
.jm-page { background: var(--jm-cream-light); }
.jm-page__title { font-weight: 800; font-size: 32px; color: var(--jm-green); margin-bottom: 24px; }
.jm-card-box { background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 24px; }
.jm-stepper { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px 0; margin-bottom: 24px; }
.jm-step { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--jm-g600); }
.jm-step i { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-style: normal; font-weight: 700; font-size: 12px; background: var(--jm-g200); color: var(--jm-g600); }
.jm-step.is-done i, .jm-step.is-current i { background: var(--jm-green); color: #fff; }
.jm-step.is-current { color: var(--jm-navy); font-weight: 700; }
.jm-step + .jm-step::before { content: ""; width: 64px; height: 1px; background: var(--jm-green); margin-right: 16px; }
.jm-step.is-todo::before { background: var(--jm-g200); }
.jm-step.is-current::before { border-top: 1px dashed var(--jm-g400); background: none; }
.woocommerce-checkout .woocommerce { display: block; }
form.checkout .woocommerce-billing-fields > h3 { font-weight: 700; font-size: 18px; color: var(--jm-navy); margin-bottom: 16px; padding-left: 28px; position: relative; }
form.checkout .woocommerce-billing-fields > h3::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e2a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat; }
form.checkout .form-row { margin: 0 0 12px; }
form.checkout label { display: block; font-size: 13px; font-weight: 600; color: var(--jm-g600); margin-bottom: 6px; }
form.checkout .required { color: var(--jm-red); text-decoration: none; }
.jm-input, form.checkout .input-text, form.checkout select, .select2-container .select2-selection--single { width: 100%; height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; font-size: 14px; background: #fff; }
form.checkout textarea.input-text { height: auto; padding: 10px 12px; }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 0; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
form.checkout .form-row-first, form.checkout .form-row-last { width: calc(50% - 6px); display: inline-block; }
form.checkout .form-row-last { float: right; }
#order_review_heading { display: none; }
.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.shop_table thead { display: none; }
.shop_table td, .shop_table th { padding: 10px 0; text-align: left; vertical-align: middle; }
.shop_table .product-total, .shop_table td:last-child, .shop_table th + td { text-align: right; }
.shop_table .cart_item td.product-name { font-weight: 700; color: var(--jm-navy); }
.shop_table .cart_item .product-quantity { font-weight: 400; color: var(--jm-g500); font-size: 13px; }
.shop_table tfoot th { font-weight: 400; color: var(--jm-g600); }
.shop_table tfoot tr { border-top: 1px solid var(--jm-g200); }
.shop_table tfoot .order-total th, .shop_table tfoot .order-total td { font-weight: 700; font-size: 18px; color: var(--jm-navy); padding-top: 16px; }
.shop_table tfoot .order-total td .amount { font-size: 24px; font-weight: 800; }
.shop_table .cart-discount { color: var(--jm-emerald); }
#shipping_method { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
#shipping_method li { border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
#shipping_method li:has(input:checked) { border: 2px solid var(--jm-green); }
#shipping_method label { display: inline; font-weight: 700; color: var(--jm-navy); }
#payment { background: transparent; }
#payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
#payment ul.payment_methods li { border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 14px 16px; }
#payment ul.payment_methods li:has(input:checked) { border: 2px solid var(--jm-green); }
#payment ul.payment_methods label { display: inline; font-weight: 700; font-size: 14px; color: var(--jm-navy); margin-left: 8px; }
#payment .payment_box { background: var(--jm-g50); border-radius: var(--jm-r-sm); padding: 12px; margin-top: 10px; font-size: 13px; color: var(--jm-g600); }
#payment .payment_box p { margin: 0; }
#place_order, .jm-place-order { width: 100%; background: var(--jm-gold); color: #fff; border: 0; border-radius: var(--jm-r); padding: 16px 24px; font-weight: 700; font-size: 16px; cursor: pointer; }
.woocommerce-terms-and-conditions-wrapper { font-size: 12px; color: var(--jm-g500); text-align: center; margin-top: 12px; }
.woocommerce-terms-and-conditions-wrapper a { color: var(--jm-gold); text-decoration: underline; }
input[type=radio], input[type=checkbox] { accent-color: var(--jm-green); width: 18px; height: 18px; vertical-align: middle; }
.jm-ck-badges { display: flex; gap: 24px; padding: 40px 0 0; }
.jm-badge--checkout { flex: 1; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 20px; gap: 16px; }
.jm-badge--checkout .jm-badge__icon { width: 48px; height: 48px; border-radius: 12px; }
.jm-badge--checkout .jm-badge__text b { font-size: 16px; color: var(--jm-navy); }
.jm-badge--checkout .jm-badge__text small { font-size: 12px; }
/* cart table */
.woocommerce-cart-form .shop_table { background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); overflow: hidden; }
.woocommerce-cart-form .shop_table thead { display: table-header-group; }
.woocommerce-cart-form .shop_table th, .woocommerce-cart-form .shop_table td { padding: 14px 16px; border-bottom: 1px solid var(--jm-g200); text-align: left; }
.woocommerce-cart-form .product-thumbnail img { width: 64px; border-radius: var(--jm-r-sm); }
.woocommerce-cart-form .quantity { display: inline-flex; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); overflow: hidden; }
.woocommerce-cart-form .quantity input { width: 60px; border: 0; text-align: center; font-weight: 700; }
.woocommerce-cart-form .button, .wc-proceed-to-checkout .button, .return-to-shop .button { display: inline-block; background: var(--jm-green); color: #fff; border: 0; border-radius: var(--jm-r); padding: 12px 24px; font-weight: 700; font-size: 13px; cursor: pointer; }
.wc-proceed-to-checkout .button { background: var(--jm-gold); width: 100%; text-align: center; font-size: 15px; padding: 16px; }
.cart-collaterals { margin-top: 24px; }
.cart_totals { background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 24px; max-width: 448px; margin-left: auto; }
.cart_totals h2 { font-size: 20px; font-weight: 700; margin-bottom: 16px; }
.cart_totals .shop_table th { width: 50%; }
.coupon { display: flex; gap: 8px; }
.coupon .input-text { height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; }
/* thank-you */
.jm-ty { padding-top: 24px; padding-bottom: 40px; }
.jm-ty__cols { display: flex; gap: 32px; align-items: flex-start; }
.jm-ty__main { flex: 1; min-width: 0; padding: 40px; text-align: center; position: relative; overflow: hidden; }
.jm-ty__confetti { display: flex; justify-content: center; gap: 10px; margin-bottom: 20px; }
.jm-ty__confetti i { width: 14px; height: 14px; border-radius: 3px; background: var(--jm-gold); transform: rotate(25deg); }
.jm-ty__confetti i:nth-child(2n) { background: var(--jm-green); transform: rotate(-15deg); }
.jm-ty__confetti i:nth-child(3n) { background: var(--jm-red); }
.jm-ty__check { width: 80px; height: 80px; margin: 0 auto 32px; border-radius: 50%; background: rgba(16,185,129,.12); display: flex; align-items: center; justify-content: center; }
.jm-ty__check span { width: 56px; height: 56px; border-radius: 50%; background: var(--jm-emerald); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.jm-ty__main h1 { font-weight: 800; font-size: 28px; color: var(--jm-green); margin-bottom: 8px; }
.jm-ty__sub { font-size: 16px; color: var(--jm-g600); margin-bottom: 8px; }
.jm-ty__email { font-size: 14px; color: var(--jm-g500); }
.jm-ty__main hr { margin: 32px 0; }
.jm-ty__boxes { display: flex; gap: 16px; text-align: left; }
.jm-ty__box { flex: 1; background: var(--jm-cream-light); border-radius: var(--jm-r); padding: 16px; display: flex; gap: 12px; }
.jm-ty__box-icon { flex: none; width: 34px; height: 34px; border-radius: 8px; background: #fff; color: var(--jm-gold); display: inline-flex; align-items: center; justify-content: center; }
.jm-ty__box > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.jm-ty__box small { font-size: 12px; color: var(--jm-g500); }
.jm-ty__box b { font-size: 14px; color: var(--jm-navy); }
.jm-ty__box em { font-style: normal; font-size: 12px; color: var(--jm-g600); }
.jm-ty__track { margin-top: 32px; background: var(--jm-green); color: #fff; border-radius: var(--jm-r-md); padding: 20px; display: flex; align-items: center; justify-content: space-between; text-align: left; }
.jm-ty__track b { display: block; font-size: 16px; margin-bottom: 8px; }
.jm-ty__track p { font-size: 13px; color: var(--jm-sand); margin-bottom: 16px; max-width: 540px; }
.jm-ty__track-art { width: 120px; height: 100px; display: inline-flex; align-items: center; justify-content: center; color: var(--jm-gold); background: rgba(255,255,255,.06); border-radius: var(--jm-r); }
.jm-ty__main > .jm-btn--green { margin-top: 32px; padding: 16px; font-size: 16px; }
.jm-ty__side { flex: none; width: 448px; display: flex; flex-direction: column; gap: 24px; }
.jm-summary h3 { font-weight: 700; font-size: 20px; color: var(--jm-navy); margin-bottom: 20px; }
.jm-summary__item { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
.jm-summary__thumb { width: 52px; height: 52px; border-radius: var(--jm-r); border: 1px solid var(--jm-g200); background: var(--jm-g50); overflow: hidden; flex: none; }
.jm-summary__thumb img { width: 100%; height: 100%; object-fit: cover; }
.jm-summary__name { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.jm-summary__name b { font-size: 14px; color: var(--jm-navy); }
.jm-summary__name small { font-size: 12px; color: var(--jm-g500); }
.jm-summary__price { font-weight: 700; font-size: 14px; color: var(--jm-navy); }
.jm-summary hr { margin: 16px 0; }
.jm-summary__row { display: flex; justify-content: space-between; font-size: 14px; color: var(--jm-g600); padding: 5px 0; }
.jm-summary__row.is-discount { color: var(--jm-emerald); }
.jm-summary__total { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; font-size: 16px; color: var(--jm-navy); }
.jm-summary__total > span:last-child { font-size: 24px; font-weight: 800; }
.jm-summary__saved { margin: 20px -24px -24px; padding: 16px 24px; background: rgba(16,185,129,.08); color: var(--jm-emerald); font-weight: 600; font-size: 13px; display: flex; align-items: center; gap: 8px; border-radius: 0 0 var(--jm-r-md) var(--jm-r-md); }
.jm-help { padding: 20px; }
.jm-help h3 { font-weight: 700; font-size: 16px; color: var(--jm-navy); margin-bottom: 12px; }
.jm-help p { font-size: 13px; color: var(--jm-g600); margin-bottom: 16px; }
.jm-help a { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--jm-green); font-weight: 600; padding: 4px 0; }
.jm-help a .jm-icon { color: var(--jm-gold); }
/* My account */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--jm-r-sm); font-weight: 600; font-size: 14px; color: var(--jm-navy); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--jm-cream); color: var(--jm-green); }
.woocommerce-account .woocommerce { display: flex; gap: 32px; align-items: flex-start; }
.woocommerce-MyAccount-navigation { flex: none; width: 250px; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 12px; }
.woocommerce-MyAccount-content { flex: 1; min-width: 0; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 24px; }
.woocommerce-form-login, .woocommerce-form-register { max-width: 448px; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 24px; }
.woocommerce-form-login .input-text, .woocommerce-form-register .input-text { width: 100%; height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; }
.woocommerce-form-login label, .woocommerce-form-register label { display: block; font-size: 13px; font-weight: 600; margin: 12px 0 6px; }
.woocommerce-form-login .button, .woocommerce-form-register .button, .woocommerce-MyAccount-content .button { background: var(--jm-gold); color: #fff; border: 0; border-radius: var(--jm-r); padding: 12px 24px; font-weight: 700; font-size: 13px; cursor: pointer; }

/* ---------- 9. Prose / posts ---------- */
.jm-prose { font-size: 15px; line-height: 1.6; color: var(--jm-g600); }
.jm-prose h1, .jm-prose h2, .jm-prose h3 { color: var(--jm-green); font-weight: 800; margin: 0 0 16px; }
.jm-prose h1 { font-size: 32px; }
.jm-prose h2 { font-size: 24px; margin-top: 32px; }
.jm-prose p { margin: 0 0 16px; }
.jm-prose a { color: var(--jm-gold); text-decoration: underline; }
.jm-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.jm-post img { border-radius: var(--jm-r-md); margin-bottom: 12px; }
.jm-post h2 { font-size: 18px; margin: 0 0 8px; }

/* ---------- 10. Footer (Figma 20:808) ---------- */
.jm-footer { background: var(--jm-green); color: var(--jm-sand); padding: 64px 0 32px; }
.jm-footer__cols { display: flex; gap: 40px; margin-bottom: 48px; }
.jm-footer__col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.jm-footer__col h4 { font-weight: 700; font-size: 16px; color: #fff; }
.jm-footer__col > a { font-size: 14px; color: var(--jm-sand); white-space: nowrap; }
.jm-footer__col > a:hover { color: #fff; }
.jm-footer__logo { display: inline-flex; align-items: center; gap: 8px; height: 45px; }
.jm-footer__logo img { height: 45px; width: auto; object-fit: contain; }
.jm-footer__logo .jm-logo__text { color: #fff; }
.jm-footer__col--brand p { font-size: 14px; line-height: 1.5; color: var(--jm-sand); }
.jm-social { display: flex; gap: 12px; }
.jm-social a { width: 34px; height: 34px; padding: 8px; border-radius: var(--jm-r-sm); background: rgba(255,255,255,.08); color: #fff; display: inline-flex; }
.jm-store-badges { display: flex; flex-direction: column; gap: 8px; }
.jm-store { width: 160px; display: flex; align-items: center; gap: 8px; background: #000; color: #fff; padding: 8px 16px; border-radius: var(--jm-r-sm); }
.jm-store span { display: flex; flex-direction: column; }
.jm-store small { font-size: 9px; }
.jm-store b { font-size: 12px; }
.jm-footer__line { height: 1px; background: rgba(255,255,255,.12); margin-bottom: 48px; }
.jm-footer__bottom { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--jm-sand); }

/* =========================================================================
   11. Tablet (768–1023px): fluid version of desktop
   ========================================================================= */
@media (max-width: 1279px) {
	:root { --jm-gutter: 40px; }
	.jm-hero__title { font-size: 44px; }
	.jm-hero__left { width: auto; flex: 1; }
	.jm-grid--picks { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.jm-grid--shop { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.jm-pdp__inner { flex-wrap: wrap; }
	.jm-pdp__side { width: 100%; flex-direction: row; }
	.jm-pdp__side > * { flex: 1; }
	.jm-promos__inner { flex-wrap: wrap; }
	.jm-promo { flex: 1 1 calc(50% - 12px); }
	.jm-search { width: 420px; }
	.jm-footer__cols { flex-wrap: wrap; }
	.jm-footer__col { flex: 1 1 40%; }
	.jm-footer__col--brand { flex-basis: 100%; }
	.jm-fbt__box, .jm-ty__cols, form.checkout { flex-direction: column; }
	.jm-ty__side { width: 100%; position: static; }
}
@media (max-width: 1023px) {
	.jm-utility__announce { display: none; }
	.jm-actions .jm-action span small { display: none; }
	.jm-catnav__links { display: none; }
	.jm-hero__inner { flex-direction: column; align-items: stretch; }
	.jm-hero__card { width: 100%; height: auto; }
	.jm-hero__badges { flex-wrap: wrap; }
	.jm-badge--hero { flex: 1 1 45%; }
	.jm-grid--picks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.jm-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.jm-shop-intro__inner { flex-direction: column; align-items: stretch; }
	.jm-shop-intro__promo > div { width: auto; flex: 1; }
	.jm-pdp__gallery { width: 100%; }
	.jm-pdp__stage { flex: 1; width: auto; }
	.jm-pdp__info { max-width: none; }
	.jm-ck-badges { flex-wrap: wrap; }
	.jm-badge--checkout { flex: 1 1 45%; }
	.jm-posts { grid-template-columns: 1fr 1fr; }
}

/* =========================================================================
   12. Mobile (≤767px): Figma MOBILE UI frames (390px)
   ========================================================================= */
@media (max-width: 767px) {
	:root { --jm-gutter: 16px; }
	body { font-family: var(--jm-font-m); background: var(--jm-bg-m); padding-bottom: calc(var(--jm-tabbar) + env(safe-area-inset-bottom, 0px)); }
	.jm-only-mobile { display: block !important; }
	.jm-btn { font-family: var(--jm-font-m); }

	/* hide desktop header chrome */
	.jm-utility, .jm-mainbar, .jm-catnav { display: none; }

	/* Mobile header: Header-Logo (50h, logo 173×42) + Location-Bar + Search-Container */
	.jm-mheader { display: block; background: var(--jm-bg-m); padding-top: env(safe-area-inset-top, 0px); }
	.jm-mheader__top { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px 8px; height: 58px; }
	.jm-logo--mobile { height: 42px; }
	.jm-logo--mobile img { height: 42px; max-width: 173px; }
	.jm-logo--mobile .jm-logo__text { font-size: 18px; }
	.jm-mheader__bell { width: 24px; height: 24px; margin-right: 14px; color: var(--jm-navy); display: inline-flex; }
	.jm-mlocation { width: 100%; display: flex; align-items: center; gap: 6px; padding: 8px 16px; font-size: 13px; font-weight: 500; color: var(--jm-g600); text-align: left; }
	.jm-mlocation span { flex: 1; }
	.jm-mlocation b { color: var(--jm-green-mobile); font-weight: 700; }
	.jm-mlocation .jm-icon { color: var(--jm-navy); }
	.jm-msearch { margin: 6px 16px 16px; height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 16px; background: #fff; border: 1px solid var(--jm-g200); border-radius: 22px; color: var(--jm-g600); }
	.jm-msearch input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 14px; color: var(--jm-navy); }
	.jm-msearch input::placeholder { color: var(--jm-g600); }
	/* Header-Listing / Header-Details (48h) */
	.jm-mheader__bar { height: 48px; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--jm-g200); }
	.jm-mheader__back { width: 24px; height: 24px; display: inline-flex; color: var(--jm-navy); }
	.jm-mheader__title { flex: 1; font-weight: 700; font-size: 18px; color: var(--jm-navy); margin: 0 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.single-product .jm-mheader__title { text-align: center; font-size: 16px; }
	.jm-mheader__right { display: flex; align-items: center; gap: 16px; }
	.jm-mheader__right button, .jm-mheader__right .jm-wish { position: static; width: 22px; height: 22px; background: none; box-shadow: none; display: inline-flex; color: var(--jm-navy); }
	.jm-drawer__panel { width: 85vw; }

	/* Home: hide desktop hero/cats/picks/promo-3, show mobile hero & 2-col picks */
	.jm-hero, .jm-cats, .jm-picks, .jm-promo--3 { display: none; }
	.jm-mhero { display: block; }
	.jm-mhero__card { margin: 0 16px 16px; background: var(--jm-green-mobile); border-radius: var(--jm-r-lg); padding: 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
	.jm-mhero__eyebrow { font-weight: 700; font-size: 12px; color: var(--jm-gold-mobile); text-transform: uppercase; }
	.jm-mhero__title { font-weight: 800; font-size: 22px; color: #fff; margin-top: -10px; }
	.jm-mhero__card .jm-btn { padding: 10px 16px; font-size: 14px; }
	.jm-mbadges { display: flex; justify-content: space-between; padding: 0 16px 20px; }
	.jm-badge--mobile { width: 80px; flex-direction: column; gap: 4px; text-align: center; }
	.jm-badge--mobile .jm-badge__icon { width: 32px; height: 32px; border-radius: 16px; background: var(--jm-cream-m); color: var(--jm-gold-mobile); }
	.jm-badge--mobile .jm-badge__text { align-items: center; gap: 4px; }
	.jm-badge--mobile .jm-badge__text b { font-size: 10px; color: var(--jm-g900); }
	.jm-badge--mobile .jm-badge__text small { font-size: 8px; }
	.jm-mpicks { display: block; padding: 0 13px 14px; }
	.jm-grid--mobile { grid-template-columns: 1fr 1fr; gap: 14px 16px; }
	.jm-card { font-family: var(--jm-font); } /* product cards keep Poppins in the mobile Figma */
	.jm-card--compact .jm-card__title { -webkit-line-clamp: 2; }
	.jm-promos { padding: 0 0 8px; }
	.jm-promos__inner { flex-direction: column; gap: 16px; }
	/* Deal-Of-The-Day (152h, #fdf8e7) + Free-Delivery (140h, #e8f1ec) */
	.jm-promo { height: auto; padding: 0; font-family: var(--jm-font-m); }
	.jm-promo__left { width: auto; flex: 1; padding: 20px; gap: 12px; justify-content: flex-start; }
	.jm-promo__tag { padding: 0; border-radius: 0; background: none !important; font-size: 11px; }
	.jm-promo__title { font-size: 18px; font-weight: 800; color: var(--jm-green-mobile); }
	.jm-promo__btn { border-radius: var(--jm-r); }
	.jm-promo__img { width: 140px; height: auto; align-self: stretch; border-radius: 0; min-height: 140px; }
	.jm-promo--1 { background: var(--jm-cream-m); min-height: 152px; }
	.jm-promo--1 .jm-promo__tag { color: var(--jm-gold-mobile); }
	.jm-promo--1 .jm-promo__btn { background: var(--jm-green-mobile); color: #fff; }
	.jm-promo--2 { background: var(--jm-mint); min-height: 140px; }
	.jm-promo--2 .jm-promo__tag { color: var(--jm-green-mobile); }
	.jm-promo--2 .jm-promo__btn { background: var(--jm-gold-mobile); color: #fff; }
	.jm-promo--2 .jm-promo__img--empty, .jm-promo--1 .jm-promo__img--empty { background: rgba(27,67,50,.06); }
	.jm-section { padding: 24px 0; }

	/* Shop page → categories-screen */
	.jm-shop-intro { display: none; }
	.jm-filterbar { border-top: 0; }
	.jm-filterbar__inner { padding: 16px 0; }
	.jm-filterbar__left { display: none; }
	.jm-filterbar__count { display: block; font-size: 14px; font-weight: 500; color: var(--jm-navy); }
	.jm-filterbar__sep, .jm-view { display: none; }
	.woocommerce-ordering { color: var(--jm-g600); font-size: 14px; }
	.woocommerce-ordering select { border: 0; padding: 0 20px 0 0; font-size: 14px; font-weight: 700; color: var(--jm-navy); background-position: right 2px center; }
	.jm-shop { padding-top: 0; gap: 0; }
	.jm-shop__sidebar { position: fixed; inset: 0; z-index: 1000; width: 100%; background: #fff; padding: 16px; overflow: auto; transform: translateX(100%); transition: transform .25s; }
	.jm-shop__sidebar.is-open { transform: none; }
	.jm-filters__head { display: flex; align-items: center; justify-content: space-between; font-size: 18px; margin-bottom: 8px; }
	/* Product-Row: 104h, image 80, add btn 36 */
	.jm-grid--shop { grid-template-columns: 1fr; gap: 12px; }
	.jm-grid--shop .jm-card { flex-direction: row; align-items: center; height: 104px; padding: 12px; gap: 16px; }
	.jm-grid--shop .jm-card__top { flex: none; }
	.jm-grid--shop .jm-card__media { width: 80px; height: 80px; border-radius: var(--jm-r); }
	.jm-grid--shop .jm-wish { display: none; }
	/* Product-Info column: brand(13) name(17) price(19) rating(15), x=108 */
	.jm-grid--shop .jm-rating-badge { left: 108px; top: 73px; background: none; padding: 0; color: var(--jm-g600); font-size: 11px; }
	.jm-grid--shop .jm-rating-badge b { color: var(--jm-navy); }
	.jm-grid--shop .jm-card__info { flex: 1; min-width: 0; padding: 0 0 38px; gap: 4px; align-self: flex-start; margin-top: 2px; }
	.jm-grid--shop .jm-card__title { height: auto; -webkit-line-clamp: 1; }
	.jm-grid--shop .jm-card__footer { display: contents; }
	.jm-grid--shop .jm-card__price { position: absolute; left: 108px; top: 50px; font-size: 14px; }
	.jm-grid--shop .jm-btn-add--icon { width: 36px; height: 36px; border-radius: 18px; background: var(--jm-green-mobile); flex: none; }
	.jm-pagination-row { flex-direction: column; gap: 16px; }
	.jm-perpage { display: none; }

	/* Product page → product-details-screen */
	.jm-pdp-crumbs { display: none; }
	.jm-pdp__inner { flex-direction: column; gap: 0; padding: 0 0 100px; }
	.jm-pdp__gallery { flex-direction: column; gap: 0; background: var(--jm-cream-light); height: 300px; }
	.jm-pdp__thumbs { display: none; }
	.jm-pdp__stage { width: 260px; height: 260px; margin: 20px auto; border: 0; background: transparent; }
	.jm-pdp__stage .jm-wish { display: none; }
	.jm-pdp__nav { display: none; }
	.jm-pdp__info { max-width: none; background: #fff; padding: 20px; gap: 16px; font-family: var(--jm-font-m); }
	.jm-pdp__badges { display: flex; }
	.jm-pdp__brand { display: none; }
	.jm-pdp__title { font-size: 24px; color: var(--jm-navy); }
	.jm-pdp__price { gap: 2px; }
	.jm-pdp__priceline { font-size: 28px; }
	.jm-pdp__desc h4 { font-weight: 700; font-size: 14px; color: var(--jm-navy); }
	.jm-pdp__desc-text { max-height: 66px; }
	.jm-pdp__rule { display: none; }
	.jm-pdp__buy .variations label { color: var(--jm-navy); text-transform: none; font-size: 14px; }
	.jm-pdp__buy .variations label::after { content: ""; }
	.jm-pill { padding: 8px 16px; }
	.jm-pdp__buy .single_add_to_cart_button, .jm-pdp__buynow { display: none; } /* mobile uses sticky Actions-Footer */
	.jm-pdp__qtyrow::before { content: "Quantity"; font-weight: 600; font-size: 14px; color: var(--jm-navy); }
	.jm-pdp__qtyrow .jm-pdp__stock { display: none; }
	.jm-pdp__express { display: none; }
	.jm-pdp__mdelivery { display: flex; flex-direction: column; gap: 12px; margin: 4px -20px -20px; padding: 20px; background: var(--jm-cream-light); }
	.jm-pdp__mdelivery p { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--jm-g600); }
	.jm-pdp__mdelivery .jm-icon { color: var(--jm-green-mobile); }
	.jm-pdp__side { width: 100%; padding: 16px; gap: 16px; }
	.jm-pdp__delivery, .jm-pdp__related { display: none; }
	.jm-pdp__mactions { display: flex; position: fixed; left: 0; right: 0; bottom: calc(var(--jm-tabbar) + env(safe-area-inset-bottom, 0px)); z-index: 90; height: 80px; padding: 16px; gap: 12px; background: #fff; border-top: 1px solid var(--jm-g200); }
	.jm-btn--half { flex: 1; height: 48px; font-size: 14px; }
	.jm-fbt { padding: 24px 0; }
	.jm-fbt h2 { font-size: 16px; }
	.jm-fbt__items { flex-direction: column; align-items: stretch; }
	.jm-fbt__item { width: 100%; }
	.jm-fbt__actions { align-items: stretch; width: 100%; }
	.jm-fbt__total { justify-content: space-between; }

	/* Checkout / thank-you */
	.jm-stepper { gap: 8px; flex-wrap: wrap; padding: 16px 0; }
	.jm-step + .jm-step::before { width: 16px; margin-right: 6px; }
	.jm-step { font-size: 12px; }
	form.checkout, .jm-ty__cols, .woocommerce-account .woocommerce { flex-direction: column; }
	.jm-ty__side, .woocommerce-MyAccount-navigation { width: 100%; position: static; }
	form.checkout .form-row-first, form.checkout .form-row-last { width: 100%; float: none; display: block; }
	.jm-ck-badges { flex-direction: column; gap: 12px; padding-top: 24px; }
	.jm-ty__main { padding: 24px 16px; }
	.jm-ty__boxes { flex-direction: column; }
	.jm-ty__track { flex-direction: column; align-items: stretch; }
	.jm-ty__track-art { width: 100%; }
	.cart_totals { max-width: none; }
	.woocommerce-cart-form .shop_table thead { display: none; }
	.woocommerce-cart-form .shop_table tr { display: grid; grid-template-columns: 64px 1fr auto; gap: 8px 12px; padding: 12px 16px; border-bottom: 1px solid var(--jm-g200); }
	.woocommerce-cart-form .shop_table td { padding: 0; border: 0; }
	.woocommerce-cart-form .product-remove { grid-column: 3; grid-row: 1; text-align: right; }
	.woocommerce-cart-form .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-cart-form .product-name { grid-column: 2; grid-row: 1; font-weight: 700; }
	.woocommerce-cart-form .product-price { grid-column: 2; grid-row: 2; }
	.woocommerce-cart-form .product-quantity { grid-column: 2; grid-row: 3; }
	.woocommerce-cart-form .product-subtotal { grid-column: 3; grid-row: 3; font-weight: 700; }
	.woocommerce-cart-form .actions { display: flex; flex-direction: column; gap: 12px; }

	/* Footer → compact; Bottom-Tab-Bar (72h) */
	.jm-footer { padding: 40px 0 24px; }
	.jm-footer__cols { flex-direction: column; gap: 28px; margin-bottom: 28px; }
	.jm-footer__line { margin-bottom: 20px; }
	.jm-footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 12px; }
	.jm-tabbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; height: calc(var(--jm-tabbar) + env(safe-area-inset-bottom, 0px)); padding: 0 16px env(safe-area-inset-bottom, 0px); background: #fff; border-top: 1px solid var(--jm-g200); align-items: center; justify-content: space-between; }
	.jm-tab { width: 64px; display: flex; flex-direction: column; align-items: center; gap: 4px; font-weight: 600; font-size: 11px; color: var(--jm-g600); }
	.jm-tab.is-active { color: var(--jm-gold-mobile); }
	.jm-posts { grid-template-columns: 1fr; }
	.jm-prose h1 { font-size: 24px; }
	.jm-page__title { font-size: 24px; }
}

/* =========================================================================
   13. Print
   ========================================================================= */
@media print { .jm-header, .jm-footer, .jm-tabbar, .jm-pdp__mactions { display: none !important; } }

/* =========================================================================
   14. Inner pages: cart, checkout cards, account, wishlist, deals, brands, help
   ========================================================================= */
.jm-page { background: var(--jm-cream-light); }
.jm-page--wc { background: var(--jm-cream-light); }
.jm-page-hero .jm-shop-intro__promo { align-self: center; }
.jm-box-title { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 18px; color: var(--jm-navy); margin-bottom: 20px; }
.jm-box-title .jm-icon { color: var(--jm-green); }
.jm-box-title a { margin-left: auto; font-weight: 700; font-size: 14px; color: var(--jm-gold); }
.jm-two-col { display: flex; gap: 32px; align-items: flex-start; }
.jm-two-col > :first-child { flex: 1; min-width: 0; }
.jm-two-col > aside { flex: none; width: 448px; }
.jm-empty { text-align: center; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 64px 24px; max-width: 640px; margin: 0 auto; }
.jm-empty__icon { width: 80px; height: 80px; margin: 0 auto 24px; border-radius: 50%; background: var(--jm-cream); color: var(--jm-gold); display: flex; align-items: center; justify-content: center; }
.jm-empty h2 { font-weight: 800; font-size: 24px; color: var(--jm-green); margin-bottom: 8px; }
.jm-empty p { color: var(--jm-g600); margin-bottom: 24px; }

/* Cart */
.jm-cart__cols { display: flex; gap: 32px; align-items: flex-start; }
.jm-cart__main { flex: 1; min-width: 0; }
.jm-cart__side { flex: none; width: 448px; position: sticky; top: 24px; }
.jm-cart__row { display: grid; grid-template-columns: 80px 1fr 110px 90px 24px; gap: 16px; align-items: center; padding: 16px 0; border-top: 1px solid var(--jm-g200); }
.jm-cart__thumb { width: 80px; height: 80px; border-radius: var(--jm-r); border: 1px solid var(--jm-g200); background: var(--jm-g50); overflow: hidden; }
.jm-cart__thumb img { width: 100%; height: 100%; object-fit: cover; }
.jm-cart__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.jm-cart__name { font-weight: 700; font-size: 14px; color: var(--jm-green); }
.jm-cart__unit { font-size: 12px; color: var(--jm-g500); }
.jm-cart__info .variation { margin: 0; font-size: 12px; color: var(--jm-g500); display: flex; gap: 4px; }
.jm-cart__info .variation p { margin: 0; }
.jm-cart__qty .quantity { display: inline-flex; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); overflow: hidden; }
.jm-cart__qty input.qty { width: 56px; height: 36px; border: 0; text-align: center; font-weight: 700; font-size: 14px; color: var(--jm-green); }
.jm-cart__subtotal { font-weight: 700; font-size: 16px; color: var(--jm-navy); text-align: right; }
.jm-cart__remove { width: 24px; height: 24px; border-radius: 50%; background: var(--jm-g100); color: var(--jm-g600); display: inline-flex; align-items: center; justify-content: center; font-size: 16px; line-height: 1; }
.jm-cart__remove:hover { background: rgba(220,38,38,.1); color: var(--jm-red); }
.jm-cart__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--jm-g200); }
.jm-coupon { display: flex; gap: 8px; }
.jm-coupon .input-text { height: 40px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-sm); padding: 0 12px; width: 200px; font-size: 13px; }
.jm-continue { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-weight: 700; font-size: 13px; color: var(--jm-gold); }
.jm-summary__shipping ul { list-style: none; padding: 0; margin: 0; }
.jm-summary__shipping li { display: flex; align-items: center; gap: 10px; font-size: 13px; padding: 6px 0; }
.jm-summary__shipping li label { flex: 1; color: var(--jm-g600); }
.jm-summary__shipping .amount { font-weight: 700; color: var(--jm-navy); }
.jm-summary__shipping p { font-size: 13px; color: var(--jm-g600); margin: 4px 0; }
.jm-summary__shipping .shipping-calculator-button { font-size: 12px; color: var(--jm-gold); }
.cart_totals .checkout-button, .wc-proceed-to-checkout .button { display: block; width: 100%; text-align: center; background: var(--jm-gold); color: #fff; border-radius: var(--jm-r); padding: 16px; font-weight: 700; font-size: 16px; margin-top: 20px; }
.jm-summary h3 { display: flex; align-items: center; justify-content: space-between; }
.jm-summary h3 a { font-size: 14px; color: var(--jm-gold); }

/* Checkout (cards) */
.jm-checkout { display: flex; gap: 32px; align-items: flex-start; }
.jm-checkout__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.jm-checkout__side { flex: none; width: 448px; position: sticky; top: 24px; }
.jm-checkout #customer_details { display: contents; }
.jm-checkout .col-1, .jm-checkout .col-2 { background: none; border: 0; padding: 0; }
.jm-checkout .woocommerce-billing-fields > h3 { display: none; }
.jm-ck-card--ship:empty, .jm-ck-card--ship:not(:has(.woocommerce-shipping-fields)) { display: none; }
.jm-ck-card--ship h3 { font-weight: 700; font-size: 16px; padding: 0; }
.jm-ck-card--ship h3::before { display: none; }
.jm-ck-card--ship h3 label { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; }
.jm-checkout .woocommerce-additional-fields > h3 { font-size: 16px; padding: 0; margin-top: 16px; }
.jm-checkout .woocommerce-additional-fields > h3::before { display: none; }
.jm-checkout .form-row { margin-bottom: 14px; }
.jm-checkout .form-row-first, .jm-checkout .form-row-last { width: calc(50% - 8px); display: inline-block; vertical-align: top; }
.jm-checkout .form-row-last { float: right; }
.jm-checkout .form-row-wide { clear: both; }
.jm-ck-shipping ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.jm-ck-shipping li { position: relative; display: flex; align-items: center; gap: 12px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 16px; }
.jm-ck-shipping li:has(input:checked) { border: 2px solid var(--jm-green); padding: 15px; }
.jm-ck-shipping li label { flex: 1; display: flex; justify-content: space-between; font-weight: 700; font-size: 14px; color: var(--jm-navy); cursor: pointer; }
.jm-ck-shipping li label .amount { font-weight: 700; }
.jm-ck-shipping p { font-size: 13px; color: var(--jm-g600); }
.jm-checkout #payment { background: none; border: 0; }
.jm-checkout #payment ul.payment_methods { margin: 0; }
.jm-checkout #payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px; }
.jm-checkout #payment ul.payment_methods li:has(input:checked) { border: 2px solid var(--jm-green); padding: 15px; }
.jm-checkout #payment ul.payment_methods label { margin: 0; flex: 1; cursor: pointer; }
.jm-checkout #payment ul.payment_methods label img { height: 20px; margin-left: 6px; vertical-align: middle; }
.jm-checkout #payment .payment_box { flex-basis: 100%; }
.jm-place-order-slot .place-order { margin-top: 20px; }
.jm-place-order-slot .place-order .form-row { margin: 0; }
.jm-checkout .woocommerce-privacy-policy-text { font-size: 12px; color: var(--jm-g500); }
.jm-checkout .woocommerce-privacy-policy-text a { color: var(--jm-gold); }
.jm-checkout .woocommerce-NoticeGroup, .woocommerce-notices-wrapper { flex-basis: 100%; }
.jm-summary__list .jm-summary__item { border: 0; }

/* Auth */
.jm-auth { display: flex; gap: 32px; align-items: flex-start; max-width: 960px; margin: 0 auto; }
.jm-auth__card { flex: 1; min-width: 0; padding: 32px; }
.jm-auth__card h2 { font-weight: 800; font-size: 24px; color: var(--jm-green); margin-bottom: 6px; }
.jm-auth__sub { font-size: 14px; color: var(--jm-g600); margin-bottom: 20px; }
.jm-auth__card .form-row { margin: 0 0 14px; }
.jm-auth__card label { display: block; font-size: 13px; font-weight: 600; color: var(--jm-g600); margin-bottom: 6px; }
.jm-auth__card .input-text { width: 100%; height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; font-size: 14px; }
.jm-auth__row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; font-size: 13px; }
.jm-auth__forgot { font-weight: 700; color: var(--jm-gold); }
.jm-auth__note { font-size: 12px; color: var(--jm-g500); margin-bottom: 16px; }
.jm-auth__card .jm-btn { margin-top: 4px; }

/* Account */
.woocommerce-account .jm-page__wc > .woocommerce { display: flex; gap: 32px; align-items: flex-start; }
.jm-acct__hello { font-weight: 800; font-size: 24px; color: var(--jm-green); }
.jm-acct__sub { font-size: 13px; color: var(--jm-g500); margin: 6px 0 24px; }
.jm-acct__sub a { color: var(--jm-gold); font-weight: 700; }
.jm-acct__tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.jm-acct__tile, .jm-help-tile { display: flex; flex-direction: column; gap: 6px; padding: 20px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); background: var(--jm-cream-light); }
.jm-acct__tile b, .jm-help-tile b { font-size: 15px; color: var(--jm-navy); }
.jm-acct__tile small, .jm-help-tile small { font-size: 12px; color: var(--jm-g500); }
.jm-acct__tile .jm-badge__icon, .jm-help-tile .jm-badge__icon { margin-bottom: 8px; background: #fff; }
.woocommerce-orders-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.woocommerce-orders-table th { text-align: left; font-size: 12px; text-transform: uppercase; color: var(--jm-g500); padding: 10px 8px; border-bottom: 1px solid var(--jm-g200); }
.woocommerce-orders-table td { padding: 14px 8px; border-bottom: 1px solid var(--jm-g200); }
.woocommerce-orders-table .button { background: var(--jm-green); color: #fff; border-radius: var(--jm-r-sm); padding: 8px 14px; font-weight: 700; font-size: 12px; margin-right: 6px; }
.woocommerce-MyAccount-content .woocommerce-Address { background: var(--jm-cream-light); border-radius: var(--jm-r); padding: 16px; }
.woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size: 16px; }
.woocommerce-MyAccount-content .woocommerce-Address-title .edit { color: var(--jm-gold); font-weight: 700; font-size: 13px; }
.woocommerce-MyAccount-content fieldset { border: 0; padding: 0; margin: 16px 0; }
.woocommerce-MyAccount-content legend { font-weight: 700; color: var(--jm-green); margin-bottom: 12px; }
.woocommerce-MyAccount-content .form-row label { display: block; font-size: 13px; font-weight: 600; color: var(--jm-g600); margin-bottom: 6px; }
.woocommerce-MyAccount-content .input-text, .woocommerce-MyAccount-content select { width: 100%; height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; font-size: 14px; }
.woocommerce-MyAccount-content .form-row { margin: 0 0 14px; }
.woocommerce-MyAccount-content .form-row-first, .woocommerce-MyAccount-content .form-row-last { width: calc(50% - 8px); display: inline-block; }
.woocommerce-MyAccount-content .form-row-last { float: right; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 24px; }
.woocommerce-order-details__title, .woocommerce-column__title { font-weight: 700; font-size: 18px; color: var(--jm-green); margin-bottom: 12px; }
.woocommerce-table--order-details { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 10px 0; border-bottom: 1px solid var(--jm-g200); text-align: left; }
.woocommerce-table--order-details tfoot th { color: var(--jm-g600); font-weight: 400; }
.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-table--order-details tfoot tr:last-child td { font-weight: 800; font-size: 16px; color: var(--jm-navy); }

/* Track order */
.jm-track .form-row { margin: 0 0 14px; }
.jm-track label { display: block; font-size: 13px; font-weight: 600; color: var(--jm-g600); margin-bottom: 6px; }
.jm-track .input-text { width: 100%; height: 44px; border: 1px solid var(--jm-g200); border-radius: var(--jm-r); padding: 0 12px; font-size: 14px; }
.jm-track + .woocommerce-order-details { margin-top: 24px; }

/* All categories / brands / help tiles */
.jm-catgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.jm-catgrid__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; background: #fff; border: 1px solid var(--jm-g200); border-radius: var(--jm-r-md); padding: 24px 16px; }
.jm-catgrid__item .jm-cat__img { margin-bottom: 8px; }
.jm-catgrid__item b { font-weight: 700; font-size: 15px; color: var(--jm-green); }
.jm-catgrid__item small { font-size: 12px; color: var(--jm-g500); }
.jm-catgrid__kids { font-size: 11px; color: var(--jm-g400); }
.jm-brandgrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.jm-brandgrid__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 96px; background: var(--jm-cream); border-radius: var(--jm-r-md); text-align: center; padding: 16px; }
.jm-brandgrid__item b { font-weight: 700; font-size: 14px; color: var(--jm-green); }
.jm-brandgrid__item small { font-size: 11px; color: var(--jm-g500); }
.jm-help-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
.jm-help-tile { background: #fff; }

@media (max-width: 1023px) {
	.jm-two-col, .jm-cart__cols, .jm-checkout, .jm-auth { flex-direction: column; }
	.jm-two-col > aside, .jm-cart__side, .jm-checkout__side, .jm-auth__card { width: 100%; position: static; }
	.jm-catgrid, .jm-help-tiles { grid-template-columns: repeat(2, 1fr); }
	.jm-brandgrid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
	.jm-page-hero { display: block; }
	.jm-page-hero .jm-shop-intro__promo { display: none; }
	.jm-page-hero .jm-shop-intro__title { font-size: 24px; }
	.jm-cart__row { grid-template-columns: 64px 1fr 24px; grid-template-areas: "thumb info remove" "thumb qty subtotal"; }
	.jm-cart__thumb { grid-area: thumb; width: 64px; height: 64px; }
	.jm-cart__info { grid-area: info; }
	.jm-cart__qty { grid-area: qty; }
	.jm-cart__subtotal { grid-area: subtotal; }
	.jm-cart__remove { grid-area: remove; }
	.jm-cart__actions { flex-direction: column; align-items: stretch; }
	.jm-coupon .input-text { width: auto; flex: 1; }
	.jm-checkout .form-row-first, .jm-checkout .form-row-last, .woocommerce-MyAccount-content .form-row-first, .woocommerce-MyAccount-content .form-row-last { width: 100%; float: none; display: block; }
	.jm-card-box { padding: 16px; }
	.jm-auth__card { padding: 20px; }
	.jm-acct__tiles, .jm-catgrid, .jm-help-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
	.jm-brandgrid { grid-template-columns: 1fr 1fr; }
	.woocommerce-account .jm-page__wc > .woocommerce { flex-direction: column; }
	.woocommerce-MyAccount-navigation { width: 100%; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; }
	.woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--jm-g200); }
	.woocommerce-orders-table td { display: flex; justify-content: space-between; border: 0; padding: 4px 0; }
	.woocommerce-orders-table td::before { content: attr(data-title); color: var(--jm-g500); font-size: 12px; }
	.jm-empty { padding: 40px 16px; }
}
