/* =================================================================
   Jusa Kids — Confetti Lúdico
   CSS pixel-perfect del prototipo en /jusa-kids-ecommerce/project.
   Solo escritorio (>= 1100px); el comportamiento responsivo se
   trabajará en una iteración posterior.
   ================================================================= */

:root {
	--jk-bg: #FFF6E5;
	--jk-ink: #2D1B0F;
	--jk-cream: #FFFCF5;
	--jk-pink: #FF8FA3;
	--jk-coral: #FF9D6B;
	--jk-yellow: #FFD25C;
	--jk-blue: #7EC4E8;
	--jk-green: #9FD49C;
	--jk-lilac: #C7A8E0;
	--jk-brown: #7B5530;
	--jk-display: 'Bagel Fat One', 'Fredoka', system-ui, sans-serif;
	--jk-body: 'Quicksand', 'Nunito', system-ui, sans-serif;
	--jk-shadow-pill: 0 4px 0 rgba(45,27,15,0.85);
	--jk-shadow-soft: 0 4px 0 rgba(45,27,15,0.12);
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background: var(--jk-bg);
	color: var(--jk-ink);
	font-family: var(--jk-body);
	overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: var(--jk-body); }

/* ===== Container helper ===== */
.jk-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
}

/* ===== Reusable primitives ===== */
.jk-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	border-radius: 999px;
	background: var(--jk-coral);
	color: var(--jk-cream);
	font-size: 16px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	box-shadow: var(--jk-shadow-pill);
	letter-spacing: 0.3px;
	text-decoration: none;
}
.jk-pill--ghost {
	background: transparent;
	color: var(--jk-ink);
	border: 3px solid var(--jk-ink);
}
.jk-pill--ink { background: var(--jk-ink); color: var(--jk-cream); }
.jk-pill--cream { background: var(--jk-cream); color: var(--jk-ink); }
.jk-pill--sm { padding: 10px 18px; font-size: 13px; box-shadow: 0 3px 0 rgba(45,27,15,0.3); }
.jk-pill--lg { padding: 16px 32px; font-size: 17px; }
.jk-pill__arrow { font-size: 20px; }

.jk-eyebrow {
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--jk-coral);
	font-weight: 800;
	margin-bottom: 8px;
}
.jk-section-title {
	font-family: var(--jk-display);
	font-size: 64px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 0;
	letter-spacing: -1px;
	line-height: 1;
}
.jk-section-title em {
	color: var(--jk-coral);
	font-style: normal;
}

.jk-star, .jk-squiggle { display: inline-block; vertical-align: middle; }
.jk-blob { display: inline-block; }

/* ===== TopBar ===== */
.jk-topbar {
	background: var(--jk-ink);
	color: var(--jk-cream);
}
.jk-topbar__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 12px 40px;
	font-size: 13px;
	font-weight: 600;
}
.jk-topbar__track {
	display: flex;
	justify-content: center;
	align-items: center;
}
/* En escritorio mostramos un solo grupo, centrado, con separadores. */
.jk-topbar__group {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}
.jk-topbar__group[aria-hidden="true"] { display: none; }
.jk-topbar__item { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.jk-topbar__sep { opacity: .35; }

/* ===== Nav ===== */
.jk-nav {
	background: var(--jk-bg);
	position: relative;
	z-index: 2;
}
.jk-nav__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 20px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.jk-nav__logo img { height: 68px; width: auto; }
.jk-nav__menu {
	display: flex;
	gap: 6px;
	background: var(--jk-cream);
	padding: 6px;
	border-radius: 999px;
	box-shadow: 0 2px 0 rgba(45,27,15,0.1);
	list-style: none;
	margin: 0;
}
.jk-nav__menu a {
	padding: 12px 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	color: var(--jk-ink);
	cursor: pointer;
	display: block;
}
.jk-nav__menu .current-menu-item > a,
.jk-nav__menu .current_page_item > a,
.jk-nav__menu a.is-active {
	background: var(--jk-coral);
	color: var(--jk-cream);
}
.jk-nav__actions { display: flex; align-items: center; gap: 10px; }
.jk-nav__icon-btn {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	cursor: pointer;
	color: var(--jk-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.jk-nav__cart {
	position: relative;
	height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: none;
	background: var(--jk-ink);
	color: var(--jk-cream);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	text-decoration: none;
}

/* ===== Hero ===== */
.jk-hero {
	background: var(--jk-bg);
	position: relative;
	overflow: hidden;
	padding: 40px 0 60px;
}
.jk-hero__grid {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 60px;
	align-items: center;
	position: relative;
}
.jk-hero__content { position: relative; z-index: 1; }
.jk-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: var(--jk-cream);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	color: var(--jk-ink);
	box-shadow: var(--jk-shadow-pill);
	margin-bottom: 32px;
}
.jk-hero__title {
	font-family: var(--jk-display);
	font-size: 110px;
	line-height: 0.95;
	color: var(--jk-ink);
	margin: 0;
	font-weight: 400;
	letter-spacing: -2px;
}
.jk-hero__title em {
	color: var(--jk-coral);
	position: relative;
	display: inline-block;
	font-style: normal;
}
.jk-hero__title em .jk-squiggle { position: absolute; left: 0; bottom: -2px; }
.jk-hero__title .jk-pillbox {
	display: inline-block;
	background: var(--jk-yellow);
	padding: 4px 24px 12px;
	border-radius: 24px;
	transform: rotate(-2deg);
}
.jk-hero__lede {
	font-size: 19px;
	line-height: 1.6;
	color: var(--jk-brown);
	max-width: 480px;
	margin-top: 36px;
	font-weight: 500;
}
.jk-hero__cta { display: flex; gap: 16px; margin-top: 36px; }

.jk-hero__visual {
	position: relative;
	height: 600px;
}
.jk-hero__card {
	position: absolute;
	border-radius: 28px;
	padding: 14px;
	box-shadow: 0 10px 0 rgba(45,27,15,0.12);
	background: var(--jk-blue);
	overflow: hidden;
}
.jk-hero__card img,
.jk-hero__card .jk-illustration { width: 100%; height: 100%; object-fit: contain; }
.jk-hero__card--1 { top: 30px; left: 30px; width: 280px; height: 320px; background: var(--jk-blue); transform: rotate(-6deg); border-radius: 32px; padding: 16px; box-shadow: 0 12px 0 rgba(45,27,15,0.12); }
.jk-hero__card--2 { top: 60px; right: 50px; width: 220px; height: 260px; background: var(--jk-pink); transform: rotate(4deg); }
.jk-hero__card--3 { bottom: 50px; left: 90px; width: 250px; height: 290px; background: var(--jk-yellow); transform: rotate(3deg); }
.jk-hero__card--4 { bottom: 100px; right: 20px; width: 210px; height: 240px; background: var(--jk-green); transform: rotate(-4deg); }
.jk-hero__free {
	position: absolute;
	top: 0;
	right: 100px;
	background: var(--jk-ink);
	color: var(--jk-yellow);
	padding: 14px 18px;
	border-radius: 999px;
	font-family: var(--jk-display);
	font-size: 22px;
	transform: rotate(-8deg);
	z-index: 5;
}
.jk-hero__shape { position: absolute; }
.jk-hero__shape--1 { top: 60px; left: 80px; opacity: .9; }
.jk-hero__shape--2 { top: 380px; left: 30px; opacity: .95; }
.jk-hero__shape--3 { top: 100px; right: 60px; opacity: .85; }
.jk-hero__shape--4 { top: 250px; right: 200px; }
.jk-hero__shape--5 { top: 500px; left: 200px; }

/* ===== Benefits ===== */
.jk-benefits {
	background: var(--jk-bg);
	padding: 20px 40px 80px;
}
.jk-benefits__grid {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.jk-benefit {
	border-radius: 24px;
	padding: 24px 22px;
	display: flex;
	gap: 16px;
	align-items: center;
}
.jk-benefit__icon {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--jk-cream);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
	color: var(--jk-ink);
}
.jk-benefit__title { font-size: 16px; font-weight: 700; color: var(--jk-ink); }
.jk-benefit__sub   { font-size: 13px; color: var(--jk-ink); opacity: .65; margin-top: 2px; }

/* ===== Categories ===== */
.jk-cats {
	background: var(--jk-bg);
	padding: 60px 40px 100px;
	position: relative;
}
.jk-cats__inner { max-width: 1400px; margin: 0 auto; }
.jk-cats__head { text-align: center; margin-bottom: 48px; position: relative; }
.jk-cats__head .jk-star { position: absolute; }
.jk-cats__head .jk-star:first-of-type { top: 10px; left: 30%; }
.jk-cats__head .jk-star:nth-of-type(2)  { top: 30px; right: 28%; }
.jk-cats__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}
.jk-cat {
	display: block;
	cursor: pointer;
}
.jk-cat__media {
	background: var(--jk-pink);
	border-radius: 28px;
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
	padding: 14px;
	transition: transform .25s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 0 rgba(45,27,15,0.08);
}
.jk-cat:hover .jk-cat__media { transform: translateY(-4px) rotate(-1deg); }
.jk-cat__media img,
.jk-cat__media .jk-illustration,
.jk-cat__media .jk-3d-icon { max-width: 78%; max-height: 78%; object-fit: contain; }
.jk-3d-icon { display: block; width: 100%; height: 100%; max-width: 78%; max-height: 78%; filter: drop-shadow(0 6px 6px rgba(45,27,15,0.18)); }
.jk-cat__name { font-family: var(--jk-display); font-size: 22px; color: var(--jk-ink); line-height: 1; margin-top: 14px; text-align: center; }
.jk-cat__count { font-size: 12px; color: var(--jk-brown); margin-top: 4px; font-weight: 600; text-align: center; }

/* ===== Products grid ===== */
.jk-products {
	background: var(--jk-cream);
	padding: 100px 40px;
	position: relative;
}
.jk-products--bg { background: var(--jk-bg); }
.jk-products__inner { max-width: 1400px; margin: 0 auto; }
.jk-products__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 56px;
}
.jk-products__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
}

/* ===== Product card ===== */
.jk-card { font-family: var(--jk-body); cursor: pointer; }
.jk-card__media {
	background: var(--jk-pink);
	border-radius: 28px;
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
	padding: 22px;
	transition: transform .2s ease;
}
.jk-card:hover .jk-card__media { transform: translateY(-3px); }
.jk-card__media-inner {
	background: #ffffff;
	border-radius: 16px;
	height: 100%;
	width: 100%;
	padding: 18px;
	box-shadow: 0 2px 0 rgba(45,27,15,0.06) inset;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.jk-card__media-inner img,
.jk-card__media .jk-illustration { width: 100%; height: 100%; object-fit: contain; }
.jk-card__sale {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--jk-ink);
	color: var(--jk-yellow);
	font-size: 12px;
	font-weight: 800;
	padding: 6px 12px;
	border-radius: 999px;
	font-family: var(--jk-display);
	transform: rotate(-6deg);
	z-index: 2;
}
.jk-card__freeship {
	position: absolute;
	left: 14px;
	bottom: 14px;
	background: var(--jk-green);
	color: var(--jk-ink);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.2px;
	padding: 5px 11px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	box-shadow: 0 3px 0 rgba(45,27,15,0.15);
	z-index: 2;
}
.jk-card__fav {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--jk-ink);
	box-shadow: 0 2px 0 rgba(45,27,15,0.12);
}
.jk-card__body { padding: 16px 4px 0; }
.jk-card__title {
	font-size: 15px;
	color: var(--jk-ink);
	font-weight: 700;
	margin: 0;
	line-height: 1.3;
	height: 38px;
	overflow: hidden;
}
.jk-card__prices {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: 8px;
}
.jk-card__was { font-size: 13px; color: var(--jk-brown); text-decoration: line-through; }
.jk-card__price { font-family: var(--jk-display); font-size: 22px; color: var(--jk-ink); }
.jk-card__price--sale { color: var(--jk-coral); }
.jk-card__install { font-size: 12px; color: var(--jk-brown); margin-top: 2px; }
.jk-card__install strong { color: var(--jk-ink); }
.jk-card__atc {
	margin-top: 12px;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.jk-card__atc:hover {
	transform: translateY(-2px) rotate(-1deg);
	box-shadow: 0 6px 0 rgba(45,27,15,0.45);
	background: var(--jk-coral);
	color: var(--jk-cream);
}
.jk-card__atc:active {
	transform: translateY(1px);
	box-shadow: 0 1px 0 rgba(45,27,15,0.45);
}
.jk-card__atc.is-added {
	animation: jk-bounce .35s ease;
	background: var(--jk-green);
}
@keyframes jk-bounce {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.08); }
	100% { transform: scale(1); }
}

/* ===== Big banner ===== */
.jk-big {
	background: var(--jk-bg);
	padding: 60px 40px;
}
.jk-big__box {
	max-width: 1400px;
	margin: 0 auto;
	background: var(--jk-coral);
	border-radius: 40px;
	padding: 70px 70px;
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 56px;
	align-items: center;
	min-height: 460px;
}
.jk-big__copy { position: relative; z-index: 2; color: var(--jk-cream); max-width: 540px; }
.jk-big__tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--jk-yellow);
	color: var(--jk-ink);
	padding: 10px 22px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 26px;
	box-shadow: 0 4px 0 rgba(45,27,15,0.18);
}
.jk-big__title {
	font-family: var(--jk-display);
	font-size: 88px;
	color: var(--jk-cream);
	font-weight: 400;
	margin: 0;
	line-height: 1;
	letter-spacing: -2px;
}
.jk-big__title .jk-pillbox-dark {
	display: inline-block;
	background: var(--jk-ink);
	color: var(--jk-yellow);
	padding: 6px 32px 14px;
	border-radius: 28px;
	margin-top: 12px;
	box-shadow: 0 6px 0 rgba(0,0,0,0.18);
}
.jk-big__lede {
	font-size: 18px;
	line-height: 1.55;
	color: var(--jk-cream);
	opacity: .96;
	margin-top: 28px;
	max-width: 460px;
}
.jk-big__visual {
	position: relative;
	height: 100%;
	min-height: 360px;
}
.jk-big__card {
	position: absolute;
	border-radius: 28px;
	padding: 22px;
	box-shadow: 0 12px 0 rgba(45,27,15,0.18);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jk-big__card--1 {
	top: 40px;
	left: 0;
	width: 240px;
	height: 280px;
	background: var(--jk-cream);
	transform: rotate(-5deg);
	z-index: 2;
}
.jk-big__card--2 {
	bottom: 30px;
	right: 0;
	width: 230px;
	height: 270px;
	background: var(--jk-green);
	transform: rotate(7deg);
	z-index: 1;
}
.jk-big__card img,
.jk-big__card .jk-illustration { width: 100%; height: 100%; object-fit: contain; }
.jk-big__blob--1 { position: absolute; top: -80px; right: -60px; opacity: .55; z-index: 1; }
.jk-big__blob--2 { position: absolute; bottom: -50px; left: -40px; opacity: .5; z-index: 1; }
.jk-big__star    { position: absolute; top: 50px; right: 50%; z-index: 2; }

/* ===== Instagram ===== */
.jk-ig { background: var(--jk-bg); padding: 80px 40px; }
.jk-ig__inner { max-width: 1400px; margin: 0 auto; }
.jk-ig__head { text-align: center; margin-bottom: 40px; }
.jk-ig__title { font-family: var(--jk-display); font-size: 56px; color: var(--jk-ink); margin: 0; font-weight: 400; letter-spacing: -1px; }
.jk-ig__title em { color: var(--jk-coral); font-style: normal; }
.jk-ig__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.jk-ig__tile { border-radius: 20px; aspect-ratio: 1 / 1; padding: 14px; cursor: pointer; position: relative; background: var(--jk-pink); overflow: hidden; }
.jk-ig__tile img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }

/* ===== Newsletter + Footer ===== */
.jk-footer {
	background: var(--jk-ink);
	color: var(--jk-cream);
	padding: 80px 40px 30px;
	position: relative;
	overflow: hidden;
}
.jk-footer__blob--1 { position: absolute; top: -60px; right: -40px; opacity: .15; }
.jk-footer__blob--2 { position: absolute; bottom: -40px; left: 40px; opacity: .12; }
.jk-footer__inner { max-width: 1400px; margin: 0 auto; position: relative; }
.jk-newsletter {
	background: var(--jk-cream);
	color: var(--jk-ink);
	padding: 40px 50px;
	border-radius: 32px;
	margin-bottom: 60px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}
.jk-newsletter h3 {
	font-family: var(--jk-display);
	font-size: 40px;
	margin: 0;
	line-height: 1;
	letter-spacing: -1px;
}
.jk-newsletter h3 em { color: var(--jk-coral); font-style: normal; }
.jk-newsletter p { font-size: 15px; margin-top: 8px; color: var(--jk-brown); }
.jk-newsletter form { display: flex; gap: 8px; }
.jk-newsletter__msg {
	grid-column: 1 / -1;
	margin-top: 14px;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--jk-green);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	transition: opacity .35s ease, transform .35s ease;
	transform: translateY(0);
	box-shadow: 0 3px 0 rgba(45,27,15,0.15);
}
.jk-newsletter__msg--error { background: var(--jk-coral); }
.jk-newsletter__msg.is-fading { opacity: 0; transform: translateY(-6px); }
.jk-newsletter input {
	flex: 1;
	border: 2px solid var(--jk-ink);
	background: white;
	padding: 14px 20px;
	font-size: 15px;
	color: var(--jk-ink);
	font-family: var(--jk-body);
	outline: none;
	border-radius: 999px;
}
.jk-footer__cols {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 50px;
	border-bottom: 1px solid rgba(255,252,245,0.15);
}
.jk-footer__brand .jk-footer__logo-box {
	background: var(--jk-cream);
	display: inline-block;
	padding: 12px 16px;
	border-radius: 16px;
}
.jk-footer__brand img { height: 54px; }
.jk-footer__claim {
	font-family: var(--jk-display);
	font-size: 20px;
	color: var(--jk-yellow);
	margin-top: 22px;
	line-height: 1.2;
}
.jk-footer__socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.jk-footer__socials a {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: var(--jk-coral);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--jk-cream);
	text-decoration: none;
	transition: background .15s ease, transform .15s ease;
}
.jk-footer__socials a:hover { background: var(--jk-yellow); color: var(--jk-ink); transform: translateY(-2px); }
.jk-footer__socials svg { display: block; }
.jk-footer__col-title {
	font-family: var(--jk-display);
	font-size: 18px;
	color: var(--jk-yellow);
	margin-bottom: 18px;
	letter-spacing: 0.5px;
}
.jk-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.jk-footer__col li { font-size: 14px; opacity: .8; }
.jk-footer__col a { color: inherit; transition: opacity .15s; }
.jk-footer__col a:hover { opacity: 1; color: var(--jk-yellow); }
.jk-footer__col li a { opacity: 1; }

.jk-footer__bottom {
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	font-size: 13px;
	flex-wrap: wrap;
}
.jk-footer__copy { opacity: .65; }
.jk-footer__links { display: inline-flex; align-items: center; gap: 10px; opacity: .85; }
.jk-footer__links a { color: inherit; text-decoration: none; }
.jk-footer__links a:hover { color: var(--jk-yellow); }
.jk-footer__links-sep { opacity: .35; }
.jk-footer__pay { display: flex; gap: 14px; flex-wrap: wrap; opacity: .65; }

/* =================================================================
   PDP — Product Detail Page
   ================================================================= */

.jk-bc {
	background: var(--jk-bg);
	font-size: 13px;
	color: var(--jk-brown);
	padding: 20px 40px 0;
}
.jk-bc__inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; gap: 8px; }
.jk-bc__inner span.sep { opacity: .5; }
.jk-bc__current { color: var(--jk-ink); font-weight: 700; }

.jk-pdp {
	background: var(--jk-bg);
	padding: 32px 40px 80px;
}
.jk-pdp__grid {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
}

.jk-gallery { position: relative; }
.jk-gallery__main {
	background: var(--jk-pink);
	border-radius: 26px;
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
	padding: 14px;
	transition: background .25s;
}
.jk-gallery__badge {
	position: absolute;
	top: 24px;
	left: 24px;
	background: var(--jk-ink);
	color: var(--jk-yellow);
	font-family: var(--jk-display);
	font-size: 18px;
	padding: 8px 14px;
	border-radius: 999px;
	transform: rotate(-6deg);
	z-index: 2;
}
.jk-gallery__fav {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	cursor: pointer;
	color: var(--jk-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 3px 0 rgba(45,27,15,0.18);
	z-index: 2;
}
.jk-gallery__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 14px;
	background: #fff;
}
.jk-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	cursor: pointer;
	color: var(--jk-ink);
	font-size: 20px;
	font-weight: 700;
	box-shadow: 0 3px 0 rgba(45,27,15,0.18);
}
.jk-gallery__nav--prev { left: 16px; }
.jk-gallery__nav--next { right: 16px; }
.jk-gallery__thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 14px; }
.jk-gallery__thumb {
	background: var(--jk-yellow);
	border-radius: 16px;
	aspect-ratio: 1 / 1;
	padding: 10px;
	border: 3px solid transparent;
	cursor: pointer;
	transition: border-color .15s;
}
.jk-gallery__thumb.is-active { border-color: var(--jk-ink); }
.jk-gallery__thumb img { width: 100%; height: 100%; object-fit: contain; }

.jk-info h1 { font-family: var(--jk-display); font-size: 64px; color: var(--jk-ink); font-weight: 400; margin: 0; line-height: 0.95; letter-spacing: -1.5px; }
.jk-info h1 em { color: var(--jk-coral); font-style: normal; position: relative; display: inline-block; }
.jk-info__chips { display: flex; gap: 8px; margin-bottom: 16px; }
.jk-info__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--jk-cream);
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	color: var(--jk-ink);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	box-shadow: 0 2px 0 rgba(45,27,15,0.1);
}
.jk-info__chip--stock { background: var(--jk-green); box-shadow: none; }
.jk-info__rating { display: flex; align-items: center; gap: 14px; margin-top: 18px; font-size: 14px; }
.jk-info__rating .stars { display: flex; gap: 2px; }
.jk-info__rating strong { font-weight: 700; color: var(--jk-ink); }
.jk-info__rating .meta { color: var(--jk-brown); }
.jk-info__price-box {
	background: var(--jk-cream);
	border-radius: 24px;
	padding: 24px 28px;
	margin-top: 28px;
	box-shadow: 0 4px 0 rgba(45,27,15,0.08);
}
.jk-info__price { display: flex; align-items: baseline; gap: 16px; }
.jk-info__price-amount { font-family: var(--jk-display); font-size: 52px; color: var(--jk-ink); line-height: 1; }
.jk-info__price-was { font-size: 16px; color: var(--jk-brown); text-decoration: line-through; }
.jk-info__price-pct {
	background: var(--jk-coral);
	color: var(--jk-cream);
	font-family: var(--jk-display);
	font-size: 18px;
	padding: 6px 12px;
	border-radius: 999px;
	transform: rotate(-3deg);
}
.jk-info__price-install { font-size: 14px; color: var(--jk-brown); margin-top: 6px; }
.jk-info__price-install strong { color: var(--jk-ink); }
.jk-info__urgent { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--jk-coral); margin-top: 10px; font-weight: 700; }

.jk-info__label {
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--jk-brown);
	font-weight: 700;
	margin: 32px 0 14px;
}
.jk-info__label strong { color: var(--jk-ink); }
.jk-info__chips-group { display: flex; gap: 12px; flex-wrap: wrap; }
.jk-info__swatch {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px 10px 10px;
	border-radius: 999px;
	background: var(--jk-cream);
	border: 3px solid transparent;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	color: var(--jk-ink);
	box-shadow: 0 3px 0 rgba(45,27,15,0.1);
}
.jk-info__swatch.is-active { border-color: var(--jk-ink); }
.jk-info__swatch .dot { width: 28px; height: 28px; border-radius: 999px; border: 2px solid var(--jk-ink); }
.jk-info__age {
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--jk-cream);
	border: 3px solid transparent;
	cursor: pointer;
	font-size: 14px;
	font-weight: 700;
	color: var(--jk-ink);
	box-shadow: 0 3px 0 rgba(45,27,15,0.1);
}
.jk-info__age.is-active { background: var(--jk-yellow); border-color: var(--jk-ink); }

.jk-info__buy { display: flex; gap: 14px; margin-top: 36px; align-items: center; }
.jk-qty {
	display: flex;
	align-items: center;
	background: var(--jk-cream);
	border-radius: 999px;
	padding: 4px;
	box-shadow: 0 4px 0 rgba(45,27,15,0.12);
}
.jk-qty button {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: none;
	background: transparent;
	font-size: 22px;
	font-weight: 700;
	color: var(--jk-ink);
	cursor: pointer;
}
.jk-qty span { width: 40px; text-align: center; font-family: var(--jk-display); font-size: 20px; color: var(--jk-ink); }
.jk-info__atc { flex: 1; justify-content: center; }
.jk-info__buy-now {
	width: 100%;
	margin-top: 12px;
	justify-content: center;
}
.jk-info__benefits {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.jk-info__benefit {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 16px;
	background: var(--jk-cream);
	border-radius: 16px;
}
.jk-info__benefit .ico {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--jk-bg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}
.jk-info__benefit .t { font-size: 14px; font-weight: 700; color: var(--jk-ink); line-height: 1.2; }
.jk-info__benefit .d { font-size: 12px; color: var(--jk-brown); margin-top: 3px; }

/* ===== Tabs ===== */
.jk-tabs { background: var(--jk-bg); padding: 80px 40px; }
.jk-tabs__inner { max-width: 1100px; margin: 0 auto; }
.jk-tabs__nav {
	display: flex;
	gap: 8px;
	background: var(--jk-cream);
	padding: 6px;
	border-radius: 999px;
	margin-bottom: 32px;
	width: fit-content;
	box-shadow: 0 3px 0 rgba(45,27,15,0.08);
}
.jk-tabs__btn {
	padding: 12px 22px;
	border-radius: 999px;
	border: none;
	background: transparent;
	color: var(--jk-ink);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
}
.jk-tabs__btn.is-active { background: var(--jk-coral); color: var(--jk-cream); }
.jk-tabs__panel { display: none; }
.jk-tabs__panel.is-active { display: block; }

.jk-tab-desc {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 60px;
	align-items: flex-start;
}
.jk-tab-desc h3 {
	font-family: var(--jk-display);
	font-size: 36px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 0;
	line-height: 1.1;
	letter-spacing: -0.5px;
}
.jk-tab-desc h3 em { color: var(--jk-coral); font-style: normal; }
.jk-tab-desc p { font-size: 17px; line-height: 1.7; color: var(--jk-brown); margin-top: 20px; }
.jk-tab-desc ul { list-style: none; padding: 0; margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jk-tab-desc li { font-size: 15px; color: var(--jk-ink); font-weight: 600; }
.jk-tab-desc__quote {
	background: var(--jk-green);
	border-radius: 28px;
	padding: 30px;
	position: relative;
}
.jk-tab-desc__quote .q {
	font-family: var(--jk-display);
	font-size: 28px;
	color: var(--jk-ink);
	line-height: 1.1;
}
.jk-tab-desc__quote .who { margin-top: 24px; display: flex; align-items: center; gap: 12px; }
.jk-tab-desc__quote .avatar {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--jk-coral);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--jk-cream);
	font-weight: 800;
	font-family: var(--jk-display);
	font-size: 18px;
}

.jk-tab-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.jk-tab-specs__row {
	background: var(--jk-cream);
	padding: 18px 22px;
	border-radius: 16px;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.jk-tab-specs__row .k { font-size: 14px; color: var(--jk-brown); font-weight: 600; }
.jk-tab-specs__row .v { font-size: 14px; color: var(--jk-ink); font-weight: 700; text-align: right; }

.jk-tab-ship { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.jk-tab-ship__card { border-radius: 24px; padding: 28px 26px; }
.jk-tab-ship__card .ico { width: 56px; height: 56px; border-radius: 999px; background: var(--jk-cream); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 16px; }
.jk-tab-ship__card .t { font-family: var(--jk-display); font-size: 24px; color: var(--jk-ink); line-height: 1.1; }
.jk-tab-ship__card .d { font-size: 14px; color: var(--jk-ink); opacity: .75; margin-top: 10px; line-height: 1.55; }

.jk-tab-rev { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; align-items: flex-start; }
.jk-tab-rev__avg { background: var(--jk-cream); border-radius: 24px; padding: 30px; text-align: center; }
.jk-tab-rev__avg .num { font-family: var(--jk-display); font-size: 80px; color: var(--jk-coral); line-height: 1; }
.jk-tab-rev__avg .stars { display: flex; justify-content: center; gap: 4px; margin-top: 8px; }
.jk-tab-rev__list { display: flex; flex-direction: column; gap: 16px; }
.jk-rev { background: var(--jk-cream); border-radius: 20px; padding: 22px 24px; }
.jk-rev__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.jk-rev__avatar { width: 38px; height: 38px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: var(--jk-cream); font-weight: 800; font-family: var(--jk-display); font-size: 16px; background: var(--jk-coral); }
.jk-rev__name { font-size: 14px; font-weight: 700; color: var(--jk-ink); }
.jk-rev__sub  { font-size: 12px; color: var(--jk-brown); }
.jk-rev__stars { display: flex; gap: 2px; margin-left: auto; }
.jk-rev p { font-size: 14px; color: var(--jk-ink); margin: 0; line-height: 1.55; }

/* ===== Related ===== */
.jk-related {
	background: var(--jk-cream);
	padding: 100px 40px;
	position: relative;
}
.jk-related__inner { max-width: 1400px; margin: 0 auto; }
.jk-related__head { text-align: center; margin-bottom: 56px; }
.jk-related__head h2 { font-family: var(--jk-display); font-size: 56px; color: var(--jk-ink); margin: 0; font-weight: 400; letter-spacing: -1px; line-height: 1; }
.jk-related__head h2 em { color: var(--jk-coral); font-style: normal; }

/* ===== Sticky cart ===== */
.jk-sticky {
	background: var(--jk-ink);
	color: var(--jk-cream);
	padding: 14px 40px;
	border-top: 3px solid var(--jk-coral);
	position: sticky;
	bottom: 0;
	z-index: 50;
}
.jk-sticky__inner {
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 20px;
}
.jk-sticky__thumb { width: 56px; height: 56px; border-radius: 14px; background: var(--jk-pink); padding: 6px; overflow: hidden; }
.jk-sticky__thumb img { width: 100%; height: 100%; object-fit: contain; }
.jk-sticky__info { flex: 1; }
.jk-sticky__title { font-size: 15px; font-weight: 700; color: var(--jk-cream); }
.jk-sticky__meta  { font-size: 13px; color: var(--jk-yellow); margin-top: 2px; }
.jk-sticky__price { font-family: var(--jk-display); font-size: 26px; color: var(--jk-cream); line-height: 1; text-align: right; }
.jk-sticky__install { font-size: 12px; color: var(--jk-yellow); margin-top: 2px; text-align: right; }

/* =================================================================
   Modals (User account, Search)
   ================================================================= */

body.jk-modal-open { overflow: hidden; }

.jk-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(45, 27, 15, 0.55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 80px 20px 40px;
	overflow-y: auto;
	animation: jk-fade .18s ease;
}
.jk-modal[hidden] { display: none; }

.jk-modal__dialog {
	background: var(--jk-bg);
	border-radius: 32px;
	width: 100%;
	max-width: 560px;
	padding: 36px 36px 30px;
	position: relative;
	box-shadow: 0 18px 0 rgba(45,27,15,0.20);
	animation: jk-pop .25s ease;
}
.jk-modal--wide .jk-modal__dialog { max-width: 880px; }

.jk-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	font-size: 22px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 3px 0 rgba(45,27,15,0.12);
}
.jk-modal__title {
	font-family: var(--jk-display);
	font-size: 36px;
	color: var(--jk-ink);
	margin: 0 0 18px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.5px;
}
.jk-modal__title em { color: var(--jk-coral); font-style: normal; }

@keyframes jk-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes jk-pop  { from { transform: translateY(20px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }

/* User modal */
.jk-modal__tabs {
	display: flex;
	gap: 6px;
	background: var(--jk-cream);
	padding: 6px;
	border-radius: 999px;
	margin-bottom: 24px;
	width: fit-content;
}
.jk-modal__tab {
	padding: 10px 22px;
	border-radius: 999px;
	border: none;
	background: transparent;
	font-weight: 700;
	cursor: pointer;
	color: var(--jk-ink);
}
.jk-modal__tab.is-active { background: var(--jk-coral); color: var(--jk-cream); }
.jk-modal__pane { display: none; }
.jk-modal__pane.is-active { display: block; }

.jk-form p,
.jk-form .form-row { margin-bottom: 16px; }
.jk-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--jk-ink);
	margin-bottom: 6px;
}
.jk-form input[type=text],
.jk-form input[type=email],
.jk-form input[type=password],
.jk-form input[type=search] {
	width: 100%;
	border: 2px solid var(--jk-ink);
	background: #fff;
	padding: 12px 18px;
	font-family: var(--jk-body);
	font-size: 15px;
	border-radius: 999px;
	outline: none;
	color: var(--jk-ink);
}
.jk-form input:focus { box-shadow: 0 0 0 3px rgba(255,157,107,0.35); }
.jk-form button[type=submit],
.jk-form .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: 999px;
	background: var(--jk-coral);
	color: var(--jk-cream);
	font-size: 15px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	box-shadow: var(--jk-shadow-pill);
}
.jk-form .lost_password { margin-top: 8px; font-size: 13px; }
.jk-form .lost_password a { color: var(--jk-brown); text-decoration: underline; }

.jk-user-account { display: flex; flex-direction: column; gap: 8px; }
.jk-user-account__greet {
	font-family: var(--jk-display);
	font-size: 24px;
	color: var(--jk-ink);
	margin: 0 0 12px;
	line-height: 1;
}
.jk-user-account a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	background: var(--jk-cream);
	border-radius: 16px;
	font-size: 15px;
	font-weight: 700;
	color: var(--jk-ink);
	text-decoration: none;
	transition: transform .15s ease;
}
.jk-user-account a:hover { transform: translateX(2px); }
.jk-user-account a.is-logout { background: var(--jk-coral); color: var(--jk-cream); justify-content: center; margin-top: 10px; }

/* Search modal */
.jk-search-form { position: relative; }
.jk-search-form input[type=search] { padding-left: 50px; height: 56px; font-size: 17px; }
.jk-search-form .jk-search-form__icon {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--jk-brown);
}
.jk-search-form button {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	height: 44px;
}
.jk-search-featured {
	margin-top: 24px;
}
.jk-search-featured__title {
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--jk-brown);
	font-weight: 800;
	margin-bottom: 14px;
}
.jk-search-featured__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.jk-search-featured__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--jk-cream);
	padding: 10px;
	border-radius: 18px;
	text-decoration: none;
	transition: transform .15s ease;
}
.jk-search-featured__item:hover { transform: translateY(-2px); }
.jk-search-featured__media {
	border-radius: 12px;
	aspect-ratio: 1 / 1;
	background: var(--jk-pink);
	overflow: hidden;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jk-search-featured__media-inner {
	background: #fff;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jk-search-featured__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.jk-search-featured__name {
	font-size: 13px;
	font-weight: 700;
	color: var(--jk-ink);
	line-height: 1.25;
	height: 32px;
	overflow: hidden;
}
.jk-search-featured__price { font-family: var(--jk-display); font-size: 18px; color: var(--jk-ink); }

/* =================================================================
   Categorías page
   ================================================================= */
.jk-cats-page {
	background: var(--jk-bg);
	padding: 40px 40px 100px;
}
.jk-cats-page__banner {
	max-width: 1400px;
	margin: 0 auto 60px;
	background: var(--jk-coral);
	border-radius: 40px;
	padding: 70px 60px;
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
	align-items: center;
}
.jk-cats-page__banner-copy { position: relative; color: var(--jk-cream); }
.jk-cats-page__banner-tag {
	display: inline-block;
	background: var(--jk-yellow);
	color: var(--jk-ink);
	padding: 8px 18px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 24px;
}
.jk-cats-page__banner-title {
	font-family: var(--jk-display);
	font-size: 84px;
	color: var(--jk-cream);
	font-weight: 400;
	margin: 0;
	line-height: 0.92;
	letter-spacing: -2px;
}
.jk-cats-page__banner-title em { color: var(--jk-yellow); font-style: normal; }
.jk-cats-page__banner-lede {
	font-size: 19px;
	color: var(--jk-cream);
	opacity: .95;
	margin-top: 22px;
	max-width: 480px;
}
.jk-cats-page__banner-img {
	position: relative;
	min-height: 280px;
}
.jk-cats-page__banner-img img {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	max-width: 100%;
	max-height: 380px;
}

.jk-cats-page__head { max-width: 1400px; margin: 0 auto 32px; text-align: center; }
.jk-cats-page__grid {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.jk-cats-page .jk-cat__media { aspect-ratio: 16 / 11; }

/* =================================================================
   Mini cart (slide-out from the right)
   ================================================================= */
.jk-cart {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: block;
}
.jk-cart[hidden] { display: none; }
.jk-cart__overlay {
	position: absolute;
	inset: 0;
	background: rgba(45,27,15,0.45);
	opacity: 0;
	transition: opacity .25s ease;
}
.jk-cart.is-open .jk-cart__overlay { opacity: 1; }
.jk-cart__panel {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 440px;
	max-width: 95vw;
	background: var(--jk-bg);
	transform: translateX(100%);
	transition: transform .28s cubic-bezier(.22,.7,.3,1);
	display: flex;
	flex-direction: column;
	box-shadow: -18px 0 0 rgba(45,27,15,0.05);
}
.jk-cart.is-open .jk-cart__panel { transform: translateX(0); }

.jk-cart__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 26px 30px 18px;
	border-bottom: 2px dashed rgba(45,27,15,0.12);
}
.jk-cart__title {
	font-family: var(--jk-display);
	font-size: 36px;
	color: var(--jk-ink);
	margin: 0;
	font-weight: 400;
	letter-spacing: -0.5px;
	line-height: 1;
}
.jk-cart__title em { color: var(--jk-coral); font-style: normal; }
.jk-cart__close {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	font-size: 22px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 3px 0 rgba(45,27,15,0.12);
}
.jk-cart__body {
	flex: 1;
	overflow-y: auto;
	padding: 20px 30px 24px;
}

/* ====== Mini-cart — solo <div> (markup propio en inc/woocommerce.php) ====== */

.jk-cart__body .jk-mc__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
}
.jk-cart__body .jk-mc__item {
	position: relative;
	background: var(--jk-cream);
	border-radius: 18px;
	padding: 14px 50px 14px 14px;
	box-shadow: 0 2px 0 rgba(45,27,15,0.06);
}
.jk-cart__body .jk-mc__product {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--jk-ink);
}
.jk-cart__body .jk-mc__thumb {
	display: flex;
	width: 60px;
	height: 60px;
	min-width: 60px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--jk-bg);
	flex-shrink: 0;
}
.jk-cart__body .jk-mc__thumb-img {
	width: 60px;
	height: 60px;
	max-width: 60px;
	object-fit: cover;
	display: block;
	border-radius: 12px;
}
.jk-cart__body .jk-mc__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.jk-cart__body .jk-mc__name {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--jk-ink);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.jk-cart__body .jk-mc__qty {
	font-size: 13px;
	color: var(--jk-brown);
	font-weight: 600;
}
.jk-cart__body .jk-mc__amount {
	font-family: var(--jk-display);
	color: var(--jk-coral);
	font-size: 17px;
	margin-left: 4px;
}
.jk-cart__body .jk-mc__remove {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: var(--jk-coral);
	color: var(--jk-cream);
	text-decoration: none;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 0 rgba(45,27,15,0.18);
	transition: background .15s, transform .15s;
}
.jk-cart__body .jk-mc__remove:hover { background: var(--jk-ink); color: var(--jk-cream); transform: scale(1.06); }

.jk-cart__body .jk-mc__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 4px 16px;
	border-top: 2px dashed rgba(45,27,15,0.14);
	margin-top: 18px;
}
.jk-cart__body .jk-mc__total-label { font-size: 15px; font-weight: 800; color: var(--jk-ink); }
.jk-cart__body .jk-mc__total-amount {
	font-family: var(--jk-display);
	font-size: 28px;
	color: var(--jk-coral);
	font-weight: 400;
}

.jk-cart__body .jk-mc__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 14px;
}
.jk-cart__body .jk-mc__btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	font-family: var(--jk-body);
	text-decoration: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	box-shadow: 0 4px 0 rgba(45,27,15,0.15);
	transition: transform .15s, box-shadow .15s;
	box-sizing: border-box;
}
.jk-cart__body .jk-mc__btn:hover { transform: translateY(-2px); }
.jk-cart__body .jk-mc__btn--primary {
	background: var(--jk-coral);
	color: var(--jk-cream);
	box-shadow: var(--jk-shadow-pill);
}
.jk-cart__body .jk-mc__btn--primary:hover {
	background: var(--jk-coral);
	box-shadow: 0 6px 0 rgba(45,27,15,0.85);
}

.jk-cart__body .jk-mc__empty {
	text-align: center;
	padding: 50px 24px;
	background: var(--jk-cream);
	border-radius: 22px;
}
.jk-cart__body .jk-mc__empty-icon { font-size: 42px; margin-bottom: 12px; }
.jk-cart__body .jk-mc__empty-text {
	font-family: var(--jk-display);
	font-size: 24px;
	color: var(--jk-ink);
	margin: 0 0 22px;
}
.jk-cart__body .jk-mc__empty .jk-mc__btn { max-width: 240px; margin: 0 auto; }

/* =================================================================
   Cart, Checkout, My Account pages
   ================================================================= */

/* Safety: hide category sidebar panel on transactional pages */
.woocommerce-cart .jk-cats-stick,
.woocommerce-checkout .jk-cats-stick,
.woocommerce-account .jk-cats-stick { display: none !important; }

/* Newsletter — compact on cart/checkout so it doesn't dominate the fold */
.woocommerce-cart .jk-newsletter,
.woocommerce-checkout .jk-newsletter {
	padding: 28px 36px;
	margin-bottom: 0;
}

.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content {
	background: var(--jk-bg);
}
.woocommerce-cart #primary,
.woocommerce-checkout #primary,
.woocommerce-account #primary,
.archive.woocommerce #primary,
.woocommerce.woocommerce-page #primary {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px 40px 80px;
	font-family: var(--jk-body);
	position: relative;
}

/* Decorative stars in the page corners for cart/checkout */
.woocommerce-cart #primary::before,
.woocommerce-checkout #primary::before {
	content: '';
	position: absolute;
	top: 60px;
	left: 0;
	width: 60px;
	height: 60px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20 2 L25 14 L38 16 L28 25 L31 38 L20 31 L9 38 L12 25 L2 16 L15 14 Z' fill='%23FF8FA3'/></svg>") no-repeat center / contain;
	pointer-events: none;
}
.woocommerce-cart #primary::after,
.woocommerce-checkout #primary::after {
	content: '';
	position: absolute;
	top: 100px;
	right: 20px;
	width: 50px;
	height: 50px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20 2 L25 14 L38 16 L28 25 L31 38 L20 31 L9 38 L12 25 L2 16 L15 14 Z' fill='%23FFD25C'/></svg>") no-repeat center / contain;
	pointer-events: none;
}

/* Page title — display style con squiggle */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header,
.woocommerce-page header.entry-header {
	text-align: center;
	margin: 10px 0 40px;
	position: relative;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.woocommerce-page .entry-title {
	font-family: var(--jk-display);
	font-size: 64px;
	color: var(--jk-ink) !important;
	font-weight: 400;
	letter-spacing: -1.5px;
	line-height: 1;
	margin: 0;
}

/* Generic WC text */
.woocommerce-page p,
.woocommerce-page td,
.woocommerce-page th { font-family: var(--jk-body); color: var(--jk-ink); }

/* Buttons */
.woocommerce .button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 13px 26px !important;
	font-family: var(--jk-body) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	box-shadow: var(--jk-shadow-pill) !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce button.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 0 rgba(45,27,15,0.85) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: var(--jk-ink) !important;
	color: var(--jk-cream) !important;
}

/* Inputs */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	border: 2px solid rgba(45,27,15,0.18) !important;
	background: #fff !important;
	border-radius: 16px !important;
	padding: 12px 16px !important;
	font-family: var(--jk-body) !important;
	font-size: 15px !important;
	color: var(--jk-ink) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--jk-coral) !important;
	box-shadow: 0 0 0 3px rgba(255,157,107,0.25) !important;
}
.woocommerce form .form-row label {
	font-weight: 700;
	color: var(--jk-ink);
	margin-bottom: 4px;
}

/* Tables (cart + order details) */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	border: none !important;
	border-radius: 24px !important;
	background: #fff;
	overflow: hidden;
	border-spacing: 0;
	box-shadow: 0 6px 0 rgba(45,27,15,0.06);
}
.woocommerce table.shop_table th {
	background: var(--jk-cream) !important;
	color: var(--jk-ink) !important;
	font-family: var(--jk-body);
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	padding: 16px 18px !important;
	border-bottom: 2px dashed rgba(45,27,15,0.12) !important;
}
.woocommerce table.shop_table td {
	border-top: 1px dashed rgba(45,27,15,0.08) !important;
	padding: 18px !important;
	background: #fff;
}
.woocommerce table.shop_table tr:first-child td { border-top: none !important; }
.woocommerce table.shop_table .product-thumbnail img {
	width: 80px !important;
	height: 80px;
	object-fit: cover;
	border-radius: 14px;
}
.woocommerce a.remove {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	border-radius: 999px;
	width: 24px;
	height: 24px;
	font-size: 14px;
	font-weight: 700;
	line-height: 22px !important;
	text-align: center;
	display: inline-block;
}
.woocommerce a.remove:hover { color: var(--jk-cream) !important; background: var(--jk-ink) !important; }

.woocommerce .quantity .qty {
	border: 2px solid rgba(45,27,15,0.18) !important;
	border-radius: 999px !important;
	padding: 8px 12px !important;
	font-family: var(--jk-display);
	font-size: 16px;
	width: 80px;
	text-align: center;
}

/* Cart page: 2-column layout (items left, summary right) */
.woocommerce-cart .woocommerce > .cart_totals,
.woocommerce-cart .woocommerce-cart-form { position: relative; }
.woocommerce-cart .woocommerce-cart-form table.shop_table { margin-bottom: 24px; }

.woocommerce .cart-collaterals {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 12px;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-cart .cart-collaterals .cross-sells {
	background: var(--jk-cream) !important;
	border-radius: 28px !important;
	padding: 32px 34px !important;
	box-shadow: 0 6px 0 rgba(45,27,15,0.08);
	width: 100% !important;
	float: none !important;
	position: relative;
	overflow: hidden;
}
.woocommerce .cart-collaterals .cart_totals::before,
.woocommerce-checkout-review-order::before {
	content: '';
	position: absolute;
	top: -40px;
	right: -40px;
	width: 130px;
	height: 130px;
	border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%;
	background: var(--jk-yellow);
	opacity: 0.35;
	pointer-events: none;
}
.woocommerce .cart_totals h2,
.woocommerce-checkout-review-order h3,
#order_review_heading {
	font-family: var(--jk-display) !important;
	font-size: 32px !important;
	color: var(--jk-ink) !important;
	font-weight: 400 !important;
	margin: 0 0 22px !important;
	letter-spacing: -0.5px;
	position: relative;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
	background: transparent !important;
	box-shadow: none !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td {
	background: transparent !important;
	border-top: 1px dashed rgba(45,27,15,0.18) !important;
	border-bottom: none !important;
	padding: 16px 0 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals .order-total td .amount,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
	font-family: var(--jk-display) !important;
	font-size: 30px !important;
	color: var(--jk-coral) !important;
	font-weight: 400 !important;
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout {
	padding: 18px 0 0 !important;
	margin: 6px 0 0 !important;
	border-top: 2px dashed rgba(45,27,15,0.18);
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	margin: 0 !important;
}

/* Cross-sells card */
.woocommerce-cart .cart-collaterals .cross-sells h2 {
	font-family: var(--jk-display) !important;
	font-size: 24px !important;
	color: var(--jk-ink) !important;
	margin-top: 0 !important;
}

/* Cart actions row */
.woocommerce-cart .woocommerce-cart-form__contents .actions {
	background: var(--jk-cream);
	border-radius: 18px;
	padding: 16px !important;
}
.woocommerce-cart .actions .coupon {
	display: flex;
	gap: 8px;
	flex: 1;
	max-width: 480px;
	align-items: center;
}
.woocommerce-cart .actions .coupon label { display: none; }
.woocommerce-cart .actions .coupon input.input-text {
	flex: 1;
	margin: 0 !important;
}

/* Coupon (checkout) */
.woocommerce form.checkout_coupon {
	background: var(--jk-cream) !important;
	border: 2px dashed rgba(45,27,15,0.18) !important;
	border-radius: 22px !important;
	padding: 22px 24px !important;
	margin-bottom: 24px !important;
}
.woocommerce form.checkout_coupon .form-row { margin-bottom: 0; }

/* Empty cart state */
.woocommerce .cart-empty.woocommerce-info {
	text-align: center;
	font-family: var(--jk-display);
	font-size: 28px !important;
	font-weight: 400;
	color: var(--jk-ink) !important;
	background: var(--jk-cream) !important;
	border-radius: 28px !important;
	padding: 60px 30px !important;
	border-left: none !important;
}
.woocommerce .return-to-shop { text-align: center; margin-top: 16px; }
.woocommerce .return-to-shop .button { font-size: 16px !important; }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--jk-cream) !important;
	border-radius: 18px !important;
	border: none !important;
	padding: 16px 22px !important;
	color: var(--jk-ink) !important;
	font-weight: 600;
	font-family: var(--jk-body);
	margin-bottom: 22px !important;
}
.woocommerce-message { border-left: 6px solid var(--jk-green) !important; }
.woocommerce-info    { border-left: 6px solid var(--jk-blue) !important; }
.woocommerce-error   { border-left: 6px solid var(--jk-coral) !important; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* ── Cart page custom elements ──────────────────────────────── */

/* Wrapper */
.jk-cart-wrap { width: 100%; }

/* Empty state */
.jk-cart-empty {
	position: relative;
	text-align: center;
	background: var(--jk-cream);
	border-radius: 36px;
	padding: 72px 40px 64px;
	margin: 20px 0 40px;
	overflow: hidden;
	box-shadow: 0 8px 0 rgba(45,27,15,0.08);
}
.jk-cart-empty__blob {
	position: absolute;
	top: -60px;
	right: -60px;
	width: 220px;
	height: 220px;
	border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%;
	background: var(--jk-yellow);
	opacity: 0.35;
	pointer-events: none;
}
.jk-cart-empty__star {
	font-size: 56px;
	line-height: 1;
	margin-bottom: 18px;
}
.jk-cart-empty__title {
	font-family: var(--jk-display);
	font-size: 40px;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 0 0 10px;
	letter-spacing: -0.5px;
}
.jk-cart-empty__sub {
	font-size: 16px;
	color: var(--jk-ink);
	opacity: .7;
	max-width: 380px;
	margin: 0 auto 28px;
}
.jk-cart-empty .jk-btn { margin-bottom: 12px; }
.jk-cart-empty .return-to-shop { margin-top: 0; }

/* Cart table */
.jk-cart-table-wrap {
	background: #fff;
	border-radius: 28px;
	box-shadow: 0 6px 0 rgba(45,27,15,0.07);
	overflow: hidden;
	margin-bottom: 24px;
}
.jk-cart-table {
	width: 100%;
	border-collapse: collapse;
}
.jk-cart-table thead tr {
	background: var(--jk-coral);
}
.jk-cart-table thead th {
	padding: 14px 18px;
	font-family: var(--jk-body);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--jk-cream);
	border: none;
}
.jk-cart-table tbody tr {
	border-bottom: 1px solid rgba(45,27,15,0.08);
	transition: background .15s;
}
.jk-cart-table tbody tr:hover { background: #fff9f4; }
.jk-cart-table tbody tr:last-child { border-bottom: none; }
.jk-cart-table tbody td {
	padding: 16px 18px;
	vertical-align: middle;
	color: var(--jk-ink);
	font-size: 14px;
	border: none;
}

/* Thumbnail */
.jk-cart-thumb img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 14px;
	display: block;
}

/* Product name */
.jk-cart-name {
	font-weight: 700;
	color: var(--jk-ink);
	text-decoration: none;
	font-size: 15px;
}
.jk-cart-name:hover { color: var(--jk-coral); }

/* Remove button */
.jk-cart-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(45,27,15,0.07);
	color: var(--jk-ink);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.jk-cart-remove:hover { background: var(--jk-coral); color: #fff; }

/* Actions row */
.jk-cart-actions {
	background: var(--jk-cream) !important;
	border-radius: 0 0 18px 18px;
	padding: 18px !important;
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}
.jk-coupon-row {
	display: flex;
	gap: 8px;
	flex: 1;
	max-width: 440px;
	align-items: center;
}
.jk-coupon-row .jk-input {
	flex: 1;
	margin: 0 !important;
}
.jk-cart-actions .jk-update-cart { margin-left: auto; }

/* Collaterals (cross-sells + totals) */
.jk-cart-collaterals {
	width: 100%;
}

/* ── Checkout: 2 columns (details left · summary right) ──────── */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 32px;
	align-items: start;
}
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout .jk-checkout-details {
	width: 100% !important;
	float: none !important;
}
/* Summary aside (right column) */
.woocommerce-checkout form.checkout .jk-checkout-summary {
	width: 100% !important;
	float: none !important;
	background: var(--jk-cream);
	border-radius: 28px;
	padding: 28px;
	box-shadow: 0 6px 0 rgba(45,27,15,0.08);
	position: sticky;
	top: 96px;
}
.woocommerce-checkout form.checkout .jk-checkout-summary #order_review {
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout .jk-checkout-details .col-1,
.woocommerce-checkout .jk-checkout-details .col-2 {
	width: 100% !important;
	float: none !important;
	background: #fff;
	border-radius: 24px;
	padding: 26px 28px;
	box-shadow: 0 6px 0 rgba(45,27,15,0.06);
	margin-bottom: 16px;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .jk-checkout-details h3 {
	font-family: var(--jk-display);
	font-size: 28px;
	color: var(--jk-ink);
	font-weight: 400;
	letter-spacing: -0.5px;
	margin: 0 0 18px;
}

/* Payment box */
.woocommerce-checkout #payment {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 18px 0 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	margin: 0 0 18px !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff !important;
	border-radius: 16px !important;
	padding: 14px 18px !important;
	margin-bottom: 10px !important;
	list-style: none !important;
	border: 2px solid transparent;
	transition: border-color .15s;
}
.woocommerce-checkout #payment ul.payment_methods li.payment_method_selected,
.woocommerce-checkout #payment ul.payment_methods li:has(input[type=radio]:checked) {
	border-color: var(--jk-coral);
}
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 700; cursor: pointer; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--jk-bg) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	margin: 10px 0 0 !important;
	color: var(--jk-ink);
	font-size: 13px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment .place-order { padding: 18px 0 0 !important; margin: 0 !important; }
.woocommerce-checkout #payment #place_order {
	display: block !important;
	width: 100% !important;
	font-size: 17px !important;
	padding: 16px 24px !important;
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--jk-cream);
	border-radius: 24px;
	padding: 14px;
	box-shadow: 0 4px 0 rgba(45,27,15,0.08);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 14px;
	color: var(--jk-ink);
	font-weight: 700;
	text-decoration: none;
	transition: background .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: #fff5ec; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
	background: var(--jk-coral);
	color: var(--jk-cream);
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border-radius: 24px;
	padding: 28px 32px;
	box-shadow: 0 6px 0 rgba(45,27,15,0.06);
}

/* =================================================================
   Shop archive / Category archives
   ================================================================= */
.woocommerce.archive .jk-products,
.tax-product_cat.archive .jk-products {
	background: var(--jk-bg);
	padding: 30px 0;
}

/* The default <header.woocommerce-products-header> becomes just a wrapper */
.woocommerce.archive .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 28px !important;
	text-align: left;
	color: inherit;
	max-width: 1280px;
	margin: 0 auto 28px;
}
.woocommerce.archive .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title,
.woocommerce.archive .page-title { display: none !important; }

/* Custom banner (used both for shop and product category archives) */
.jk-archive-banner {
	position: relative;
	overflow: hidden;
	background: var(--jk-coral);
	color: var(--jk-cream);
	border-radius: 36px;
	padding: 56px 64px;
	margin: 0 0 28px;
	text-align: center;
	box-shadow: 0 8px 0 rgba(45,27,15,0.10);
}
.jk-archive-banner__title {
	font-family: var(--jk-display);
	font-size: 64px;
	color: var(--jk-cream);
	font-weight: 400;
	margin: 0;
	letter-spacing: -1px;
	line-height: 1;
	position: relative;
	z-index: 2;
}
.jk-archive-banner__lede {
	font-size: 16px;
	opacity: .95;
	max-width: 640px;
	margin: 16px auto 0;
	position: relative;
	z-index: 2;
}
.jk-archive-banner__blob1 {
	position: absolute;
	top: -80px;
	right: -60px;
	z-index: 1;
}
.jk-archive-banner__star {
	position: absolute;
	bottom: 30px;
	left: 50px;
	z-index: 1;
	opacity: .8;
}
.jk-archive-banner__star + .jk-archive-banner__title { /* keep title above stars */ }

/* Filter bar — solo sort + count (las categorías viven en el sticky tab) */
.jk-archive-filters {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	margin: 0 auto 32px;
	background: var(--jk-cream);
	padding: 10px 16px;
	border-radius: 999px;
	max-width: 1280px;
	box-shadow: 0 3px 0 rgba(45,27,15,0.06);
}
.jk-archive-filters__count {
	font-size: 13px;
	color: var(--jk-brown);
	font-weight: 700;
	white-space: nowrap;
}

/* =================================================================
   Sticky categorías tab — pegado al lateral izquierdo del viewport.
   IMPORTANTE: el wrapper no tiene `transform` ni `position` para que
   los hijos con `position: fixed` se rijan por el viewport y no por
   un padre transformado.
   ================================================================= */
.jk-cats-stick {
	/* logical wrapper: no positioning, no transform */
}

.jk-cats-stick__trigger {
	position: fixed;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--jk-coral);
	color: var(--jk-cream);
	padding: 14px 22px 14px 14px;
	border-radius: 0 999px 999px 0;
	border: none;
	cursor: pointer;
	font-family: var(--jk-body);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.5px;
	box-shadow: 5px 5px 0 rgba(45,27,15,0.20);
	transition: padding .18s ease, left .25s ease, box-shadow .18s ease;
	z-index: 80;
}
.jk-cats-stick__trigger:hover {
	padding-right: 28px;
	box-shadow: 7px 7px 0 rgba(45,27,15,0.22);
}
.jk-cats-stick.is-open .jk-cats-stick__trigger {
	/* Move the trigger off-screen while the drawer is open so the panel
	   takes over visually. */
	left: -160px;
	pointer-events: none;
}
.jk-cats-stick__trigger-icon {
	display: inline-flex;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: rgba(255,255,255,0.16);
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.jk-cats-stick__trigger-text { white-space: nowrap; }

/* Overlay */
.jk-cats-stick__overlay {
	position: fixed;
	inset: 0;
	background: rgba(45,27,15,0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
	z-index: 150;
}
.jk-cats-stick.is-open .jk-cats-stick__overlay {
	opacity: 1;
	pointer-events: auto;
}

/* Drawer panel (slides in from the left) */
.jk-cats-stick__panel {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	width: 400px;
	max-width: 92vw;
	background: var(--jk-bg);
	transform: translateX(-100%);
	transition: transform .32s cubic-bezier(.22,.7,.3,1), box-shadow .25s ease;
	z-index: 200;
	display: flex;
	flex-direction: column;
	padding: 24px 24px 28px;
	overflow-y: auto;
	/* Same shadow geometry both states; transparent when closed so it
	   doesn't leak past the viewport's left edge. */
	box-shadow: 18px 0 0 rgba(45,27,15,0);
}
.jk-cats-stick.is-open .jk-cats-stick__panel {
	transform: translateX(0);
	box-shadow: 18px 0 0 rgba(45,27,15,0.10);
}

.jk-cats-stick__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 2px dashed rgba(45,27,15,0.12);
}
.jk-cats-stick__title { display: flex; flex-direction: column; line-height: 1.05; }
.jk-cats-stick__eyebrow {
	font-size: 12px;
	color: var(--jk-coral);
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.jk-cats-stick__title-text {
	font-family: var(--jk-display);
	font-size: 38px;
	color: var(--jk-ink);
	font-weight: 400;
	letter-spacing: -0.5px;
}
.jk-cats-stick__close {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	font-size: 22px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 3px 0 rgba(45,27,15,0.12);
	flex-shrink: 0;
}

.jk-cats-stick__list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jk-cats-stick__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 16px 10px 10px;
	border-radius: 18px;
	background: var(--jk-cream);
	color: var(--jk-ink);
	text-decoration: none;
	font-family: var(--jk-body);
	transform: translateX(-12px);
	opacity: 0;
	transition: transform .35s ease, opacity .35s ease, background .15s ease;
}
.jk-cats-stick.is-open .jk-cats-stick__item { transform: translateX(0); opacity: 1; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(1)  { transition-delay: .04s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(2)  { transition-delay: .08s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(3)  { transition-delay: .12s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(4)  { transition-delay: .16s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(5)  { transition-delay: .20s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(6)  { transition-delay: .24s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(7)  { transition-delay: .28s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(8)  { transition-delay: .32s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(9)  { transition-delay: .36s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(10) { transition-delay: .40s; }
.jk-cats-stick.is-open .jk-cats-stick__item:nth-child(n+11) { transition-delay: .44s; }

.jk-cats-stick__item:hover {
	background: #fff5ec;
	transform: translateX(3px) !important;
}
.jk-cats-stick__item.is-active {
	background: var(--jk-coral);
	color: var(--jk-cream);
	box-shadow: 0 4px 0 rgba(45,27,15,0.18);
}
.jk-cats-stick__item.is-active .jk-cats-stick__item-count {
	background: rgba(255,255,255,0.28);
	color: var(--jk-cream);
}

.jk-cats-stick__item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	min-width: 50px;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	flex-shrink: 0;
}
.jk-cats-stick__item.is-active .jk-cats-stick__item-icon { background: rgba(255,255,255,0.92); }
.jk-cats-stick__item-icon svg { width: 92%; height: 92%; display: block; }
.jk-cats-stick__item-name {
	font-family: var(--jk-display);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: -0.3px;
	flex: 1;
	line-height: 1.05;
}
.jk-cats-stick__item-count {
	font-size: 12px;
	background: rgba(45,27,15,0.10);
	padding: 4px 12px;
	border-radius: 999px;
	font-weight: 800;
	min-width: 30px;
	text-align: center;
	flex-shrink: 0;
}
.jk-archive-filters__sort .woocommerce-ordering { margin: 0; }
.jk-archive-filters__sort select.orderby,
.woocommerce-ordering select.orderby {
	border: 2px solid rgba(45,27,15,0.18) !important;
	background: #fff !important;
	border-radius: 999px !important;
	padding: 10px 36px 10px 18px !important;
	font-family: var(--jk-body) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	color: var(--jk-ink) !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='none' stroke='%232D1B0F' stroke-width='2' stroke-linecap='round' d='M3 5l3 3 3-3'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 14px !important;
}
.jk-archive-filters__sort select.orderby:focus,
.woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: var(--jk-coral) !important;
	box-shadow: 0 0 0 3px rgba(255,157,107,0.25) !important;
}

/* Belt-and-suspenders: if a plugin/theme still renders a duplicate
   WC ordering somewhere on the archive, hide every instance EXCEPT
   the one inside our filter bar. */
.woocommerce.archive .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering { display: none !important; }
.woocommerce.archive .jk-archive-filters .woocommerce-ordering,
.tax-product_cat .jk-archive-filters .woocommerce-ordering { display: block !important; }
.woocommerce.archive .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count { display: none !important; }

.woocommerce.archive ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce.archive ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
.woocommerce.archive nav.woocommerce-pagination,
.woocommerce-pagination {
	margin: 40px auto 60px !important;
	text-align: center;
	clear: both;
}
.woocommerce.archive nav.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	gap: 4px !important;
	background: var(--jk-cream) !important;
	padding: 6px !important;
	border-radius: 999px !important;
	box-shadow: 0 3px 0 rgba(45,27,15,0.08);
	border: none !important;
	list-style: none !important;
	margin: 0 auto !important;
}
.woocommerce.archive nav.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li {
	list-style: none !important;
	list-style-type: none !important;
	border: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
}
.woocommerce.archive nav.woocommerce-pagination ul li::before,
.woocommerce.archive nav.woocommerce-pagination ul li::marker,
.woocommerce-pagination ul.page-numbers li::before,
.woocommerce-pagination ul.page-numbers li::marker {
	content: '' !important;
	display: none !important;
}
.woocommerce.archive nav.woocommerce-pagination ul li a,
.woocommerce.archive nav.woocommerce-pagination ul li span,
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 36px !important;
	height: 36px !important;
	padding: 0 14px !important;
	border-radius: 999px !important;
	font-family: var(--jk-body) !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	color: var(--jk-ink) !important;
	background: transparent !important;
	border: none !important;
	text-decoration: none !important;
}
.woocommerce.archive nav.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul.page-numbers li a:hover {
	background: rgba(255,157,107,0.18) !important;
}
.woocommerce.archive nav.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul.page-numbers li span.current {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	box-shadow: 0 3px 0 rgba(45,27,15,0.18);
}

/* =================================================================
   High-conversion post-add-to-cart modal (.jk-cm)
   ================================================================= */
.jk-cm {
	position: fixed;
	inset: 0;
	z-index: 1200;
	overflow-y: auto;
	padding: 40px 20px;
	-webkit-overflow-scrolling: touch;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jk-cm[hidden] { display: none; }

.jk-cm__overlay {
	position: fixed;
	inset: 0;
	background: rgba(45,27,15,0.55);
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 0;
}
.jk-cm.is-open .jk-cm__overlay { opacity: 1; }

.jk-cm__panel {
	position: relative;
	width: 100%;
	max-width: 720px;
	margin: auto;  /* with flex on .jk-cm this centers in both axes and still allows scroll */
	background: var(--jk-bg);
	border-radius: 36px;
	padding: 38px 40px 32px;
	box-shadow: 0 18px 0 rgba(45,27,15,0.20);
	transform: translateY(40px) scale(.96);
	opacity: 0;
	transition: transform .35s cubic-bezier(.22,.7,.3,1), opacity .25s ease;
	overflow: hidden;
	z-index: 1;
	flex-shrink: 0;
}
.jk-cm.is-open .jk-cm__panel {
	transform: none;
	opacity: 1;
}

.jk-cm__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: var(--jk-cream);
	color: var(--jk-ink);
	font-size: 22px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	box-shadow: 0 3px 0 rgba(45,27,15,0.14);
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.jk-cm__header {
	text-align: center;
	margin-bottom: 22px;
	position: relative;
	z-index: 2;
}
.jk-cm__check {
	width: 72px;
	height: 72px;
	border-radius: 999px;
	background: var(--jk-green);
	color: #fff;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 0 rgba(45,27,15,0.18);
}
.jk-cm__title {
	font-family: var(--jk-display);
	font-size: 42px;
	color: var(--jk-ink);
	margin: 0;
	line-height: 1;
	letter-spacing: -0.5px;
	font-weight: 400;
}
.jk-cm__subtitle {
	font-size: 15px;
	color: var(--jk-brown);
	margin: 10px 0 0;
	font-weight: 600;
}

.jk-cm__product {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--jk-cream);
	border-radius: 22px;
	padding: 16px 22px;
	margin-bottom: 22px;
	position: relative;
	z-index: 2;
	box-shadow: 0 3px 0 rgba(45,27,15,0.08);
}
.jk-cm__product-thumb {
	width: 80px;
	height: 80px;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.jk-cm__product-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.jk-cm__product-meta { flex: 1; min-width: 0; }
.jk-cm__product-name {
	font-weight: 700;
	color: var(--jk-ink);
	font-size: 15px;
	line-height: 1.25;
	margin-bottom: 6px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.jk-cm__product-price {
	font-family: var(--jk-display);
	font-size: 24px;
	color: var(--jk-coral);
	line-height: 1;
}

.jk-cm__ctas {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 28px;
	position: relative;
	z-index: 2;
}
.jk-cm__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 22px;
	border-radius: 999px;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
	border: none;
	font-family: var(--jk-body);
	box-shadow: 0 4px 0 rgba(45,27,15,0.15);
	transition: transform .15s ease, box-shadow .15s ease;
	box-sizing: border-box;
}
.jk-cm__cta:hover { transform: translateY(-2px); }
.jk-cm__cta--ghost { background: var(--jk-cream); color: var(--jk-ink); }
.jk-cm__cta--primary {
	background: var(--jk-coral);
	color: var(--jk-cream);
	box-shadow: var(--jk-shadow-pill);
}
.jk-cm__cta--primary:hover { box-shadow: 0 6px 0 rgba(45,27,15,0.85); }

.jk-cm__cross-title {
	font-family: var(--jk-display);
	font-size: 24px;
	color: var(--jk-ink);
	margin: 0 0 16px;
	font-weight: 400;
	text-align: center;
	letter-spacing: -0.3px;
	position: relative;
	z-index: 2;
}
.jk-cm__cross-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	position: relative;
	z-index: 2;
}

.jk-cm__card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--jk-ink);
	background: #fff;
	border-radius: 18px;
	padding: 8px 8px 14px;
	box-shadow: 0 3px 0 rgba(45,27,15,0.08);
	transition: transform .15s ease, box-shadow .15s ease;
}
.jk-cm__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 0 rgba(45,27,15,0.12);
}
.jk-cm__card-media {
	background: var(--jk-pink);
	border-radius: 14px;
	aspect-ratio: 1 / 1;
	padding: 8px;
	margin-bottom: 10px;
}
.jk-cm__card-media-inner {
	background: #fff;
	border-radius: 10px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.jk-cm__card-img { max-width: 100%; max-height: 100%; object-fit: contain; }
.jk-cm__card-body {
	text-align: center;
	padding: 0 6px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.jk-cm__card-name {
	font-size: 12px;
	font-weight: 700;
	color: var(--jk-ink);
	line-height: 1.2;
	height: 30px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.jk-cm__card-price {
	font-family: var(--jk-display);
	font-size: 18px;
	color: var(--jk-coral);
	line-height: 1;
}
.jk-cm__card-atc {
	display: block;
	width: 100%;
	background: var(--jk-ink);
	color: var(--jk-cream);
	border: none;
	padding: 8px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.3px;
	cursor: pointer;
	box-shadow: 0 2px 0 rgba(45,27,15,0.30);
	font-family: var(--jk-body);
	transition: background .15s, transform .15s, box-shadow .15s;
	margin-top: 4px;
}
.jk-cm__card-atc:hover {
	background: var(--jk-coral);
	transform: translateY(-1px);
	box-shadow: 0 3px 0 rgba(45,27,15,0.30);
}
.jk-cm__card-atc.is-added { background: var(--jk-green); }
.jk-cm__card-atc:disabled { opacity: .7; cursor: not-allowed; }

/* Toast "Agregado" dentro del cross-modal */
.jk-cm__toast {
	position: absolute;
	top: 18px;
	left: 50%;
	transform: translate(-50%, -20px);
	background: var(--jk-green);
	color: #fff;
	padding: 12px 22px;
	border-radius: 999px;
	font-family: var(--jk-body);
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.3px;
	box-shadow: 0 5px 0 rgba(45,27,15,0.20);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
	transition: transform .35s cubic-bezier(.22,.7,.3,1), opacity .25s ease;
	max-width: calc(100% - 80px);
}
.jk-cm__toast[hidden] { display: none; }
.jk-cm__toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}
.jk-cm__toast svg { flex-shrink: 0; }
.jk-cm__toast span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* =================================================================
   Página de Contacto (.jk-contact-page)
   ================================================================= */
.jk-contact-page { background: var(--jk-bg); padding: 40px 40px 100px; }

.jk-contact-hero {
	max-width: 1280px;
	margin: 0 auto 36px;
	background: var(--jk-coral);
	border-radius: 40px;
	padding: 70px 60px 80px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 0 rgba(45,27,15,0.18);
	color: var(--jk-cream);
}
.jk-contact-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.jk-contact-hero__eyebrow {
	display: inline-block;
	background: rgba(255,252,245,0.20);
	color: #fff;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: 22px;
}
.jk-contact-hero__title {
	font-family: var(--jk-display);
	font-size: 88px;
	color: #fff;
	margin: 0;
	line-height: 0.95;
	letter-spacing: -2px;
	font-weight: 400;
}
.jk-contact-hero__title em {
	color: #fff;
	font-style: normal;
	display: inline-block;
	background: var(--jk-ink);
	padding: 4px 28px 16px;
	border-radius: 28px;
	transform: rotate(-2deg);
	margin-top: 8px;
	box-shadow: 0 8px 0 rgba(0,0,0,0.18);
}
.jk-contact-hero__lede {
	font-size: 20px;
	line-height: 1.55;
	color: var(--jk-cream);
	opacity: .95;
	margin: 30px 0 0;
	max-width: 600px;
}

.jk-contact-body { max-width: 1280px; margin: 0 auto; }
.jk-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 32px;
	margin-bottom: 40px;
	align-items: flex-start;
}

/* ===== Info column ===== */
.jk-contact-info {
	background: var(--jk-cream);
	border-radius: 32px;
	padding: 32px 32px 28px;
	box-shadow: 0 8px 0 rgba(45,27,15,0.10);
}
.jk-contact-info__title {
	font-family: var(--jk-display);
	font-size: 36px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 0 0 22px;
	letter-spacing: -0.5px;
}

.jk-contact-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	color: var(--jk-ink);
	text-decoration: none;
	border-top: 1px dashed rgba(45,27,15,0.14);
	transition: transform .15s ease;
}
.jk-contact-row:first-of-type { border-top: none; padding-top: 0; }
.jk-contact-row:hover:not(.jk-contact-row--static) { transform: translateX(4px); }
.jk-contact-row__icon {
	width: 48px;
	height: 48px;
	min-width: 48px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: 0 3px 0 rgba(45,27,15,0.18);
}
.jk-contact-row__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.jk-contact-row__label {
	font-size: 11px;
	font-weight: 800;
	color: var(--jk-brown);
	letter-spacing: 1.4px;
	text-transform: uppercase;
}
.jk-contact-row__value {
	font-family: var(--jk-body);
	font-size: 17px;
	font-weight: 700;
	color: var(--jk-ink);
	line-height: 1.35;
}

/* ===== Form column ===== */
.jk-contact-form-wrap {
	background: #fff;
	border-radius: 32px;
	padding: 36px 38px 38px;
	box-shadow: 0 8px 0 rgba(45,27,15,0.10);
	position: relative;
}
.jk-contact-form__title {
	font-family: var(--jk-display);
	font-size: 40px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 0 0 6px;
	letter-spacing: -0.5px;
	line-height: 1;
}
.jk-contact-form__lede {
	font-size: 15px;
	color: var(--jk-brown);
	margin: 0 0 22px;
	font-weight: 600;
}
.jk-contact-form { display: flex; flex-direction: column; gap: 16px; }
.jk-contact-form__field { display: flex; flex-direction: column; gap: 6px; }
.jk-contact-form__field > span {
	font-size: 12px;
	font-weight: 800;
	color: var(--jk-brown);
	letter-spacing: 1px;
	text-transform: uppercase;
}
.jk-contact-form__field input,
.jk-contact-form__field textarea {
	border: 2px solid rgba(45,27,15,0.14);
	background: var(--jk-cream);
	border-radius: 16px;
	padding: 14px 18px;
	font-family: var(--jk-body);
	font-size: 15px;
	color: var(--jk-ink);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
	font-weight: 600;
}
.jk-contact-form__field input:focus,
.jk-contact-form__field textarea:focus {
	border-color: var(--jk-coral);
	box-shadow: 0 0 0 4px rgba(255,157,107,0.18);
	background: #fff;
}
.jk-contact-form__field textarea { resize: vertical; min-height: 140px; line-height: 1.55; }

.jk-contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--jk-coral);
	color: #fff;
	border: none;
	padding: 16px 30px;
	border-radius: 999px;
	font-family: var(--jk-body);
	font-weight: 800;
	font-size: 16px;
	cursor: pointer;
	box-shadow: 0 5px 0 rgba(45,27,15,0.22);
	transition: transform .15s, box-shadow .15s;
	margin-top: 4px;
	align-self: flex-start;
}
.jk-contact-form__submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 0 rgba(45,27,15,0.24);
}
.jk-contact-form__submit:disabled { opacity: .7; cursor: not-allowed; }

.jk-contact-form__msg {
	margin-top: 10px;
	padding: 14px 20px;
	border-radius: 18px;
	font-weight: 700;
	font-size: 14px;
	background: var(--jk-green);
	color: #fff;
	box-shadow: 0 3px 0 rgba(45,27,15,0.15);
	transition: opacity .35s ease;
}
.jk-contact-form__msg[hidden] { display: none; }
.jk-contact-form__msg.is-error { background: var(--jk-coral); }
.jk-contact-form__msg.is-fading { opacity: 0; }

/* ===== Map ===== */
.jk-contact-map {
	border-radius: 32px;
	overflow: hidden;
	box-shadow: 0 8px 0 rgba(45,27,15,0.10);
	background: var(--jk-cream);
}
.jk-contact-map iframe { display: block; width: 100%; height: 420px; border: none; }

/* ===== Mobile ===== */
@media (max-width: 900px) {
	.jk-contact-page { padding: 24px 18px 70px; }
	.jk-contact-hero { padding: 44px 26px 50px; border-radius: 28px; margin-bottom: 24px; }
	.jk-contact-hero__title { font-size: 56px; letter-spacing: -1px; }
	.jk-contact-hero__title em { padding: 4px 18px 12px; border-radius: 20px; }
	.jk-contact-hero__lede { font-size: 16px; margin-top: 22px; }
	.jk-contact-grid { grid-template-columns: 1fr; gap: 20px; }
	.jk-contact-info,
	.jk-contact-form-wrap { padding: 26px 24px; border-radius: 24px; }
	.jk-contact-info__title,
	.jk-contact-form__title { font-size: 30px; }
	.jk-contact-row__icon { width: 42px; height: 42px; min-width: 42px; }
	.jk-contact-row__value { font-size: 15px; }
	.jk-contact-form__submit { width: 100%; align-self: stretch; }
	.jk-contact-map iframe { height: 320px; }
}

/* =================================================================
   Block visibility helpers + decorative shape behaviour
   ================================================================= */

/* Per-device block toggles (set in Jusa Kids → Home) */
@media (min-width: 901px) {
	.jk-hide-desktop { display: none !important; }
}
@media (max-width: 900px) {
	.jk-hide-mobile { display: none !important; }
}

/* Decorative stars/blobs that are absolutely positioned should never block
   pointer events and must sit behind text. On mobile they tend to fall on
   top of headings, so we hide all of them by default. */
.jk-star, .jk-blob, .jk-squiggle { pointer-events: none; }
.jk-star[style*="absolute"],
.jk-blob[style*="absolute"],
[style*="position:absolute"].jk-star,
[style*="position:absolute"].jk-blob { z-index: 0; }

/* Make sure home/PDP section content always renders above the decorations. */
.jk-hero__grid,
.jk-cats__inner,
.jk-products__inner,
.jk-ig__inner,
.jk-big__copy,
.jk-big__visual,
.jk-related__inner,
.jk-tabs__inner { position: relative; z-index: 2; }

@media (max-width: 900px) {
	.jk-hero .jk-blob,
	.jk-hero .jk-star,
	.jk-cats > .jk-star,
	.jk-cats > .jk-blob,
	.jk-cats__head .jk-star,
	.jk-products > .jk-star,
	.jk-products > .jk-blob,
	.jk-related > .jk-star,
	.jk-related > .jk-blob,
	.jk-big__star,
	.jk-big__blob--1,
	.jk-big__blob--2,
	[style*="position:absolute"].jk-star,
	[style*="position:absolute"].jk-blob { display: none !important; }
}

/* Hide WC's default sale flash everywhere — we draw our own .jk-card__sale */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.woocommerce ul.products li.product .onsale,
ul.products li.product .onsale { display: none !important; }

/* =================================================================
   Páginas estáticas (Sobre nosotros, Contacto, etc.)
   ================================================================= */
.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) #primary,
.page:not(.woocommerce-page):not(.home) .site-content,
.single:not(.single-product) #primary,
.search #primary {
	background: var(--jk-bg);
}
.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.home) #primary,
.single:not(.single-product) #primary,
.search #primary {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 40px 100px;
	font-family: var(--jk-body);
	position: relative;
}

/* Decorative stars/blobs in the page background for non-WC pages. */
.page:not(.woocommerce-page):not(.home) #primary::before,
.single:not(.single-product) #primary::before {
	content: '';
	position: absolute;
	top: 220px;
	left: -40px;
	width: 80px;
	height: 80px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20 2 L25 14 L38 16 L28 25 L31 38 L20 31 L9 38 L12 25 L2 16 L15 14 Z' fill='%23FF8FA3'/></svg>") no-repeat center / contain;
	pointer-events: none;
	opacity: .8;
}
.page:not(.woocommerce-page):not(.home) #primary::after,
.single:not(.single-product) #primary::after {
	content: '';
	position: absolute;
	bottom: 60px;
	right: -30px;
	width: 64px;
	height: 64px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20 2 L25 14 L38 16 L28 25 L31 38 L20 31 L9 38 L12 25 L2 16 L15 14 Z' fill='%23FFD25C'/></svg>") no-repeat center / contain;
	pointer-events: none;
	opacity: .7;
}

.page:not(.woocommerce-page) article.page header.entry-header,
.single:not(.single-product) header.entry-header,
.search header.page-header {
	text-align: center;
	margin: 0 0 40px;
	padding: 60px 40px;
	background: var(--jk-coral);
	border-radius: 36px;
	color: var(--jk-cream);
	position: relative;
	overflow: hidden;
}
.page:not(.woocommerce-page) article.page header.entry-header::before,
.single:not(.single-product) header.entry-header::before,
.search header.page-header::before {
	content: '';
	position: absolute;
	top: -60px;
	right: -50px;
	width: 200px;
	height: 200px;
	border-radius: 60% 40% 55% 45% / 50% 60% 40% 50%;
	background: var(--jk-yellow);
	opacity: .35;
	pointer-events: none;
}
.page .entry-title,
.single:not(.single-product) .entry-title,
.search .page-title {
	font-family: var(--jk-display) !important;
	font-size: 72px !important;
	color: var(--jk-cream) !important;
	margin: 0 !important;
	line-height: 1 !important;
	letter-spacing: -1.5px;
	font-weight: 400 !important;
	position: relative;
}

/* Entry content typography */
.entry-content {
	font-family: var(--jk-body);
	font-size: 17px;
	line-height: 1.75;
	color: var(--jk-ink);
}
.entry-content > * { max-width: 800px; margin-left: auto; margin-right: auto; }
.entry-content .alignwide { max-width: 1000px; }
.entry-content .alignfull { max-width: none; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 {
	font-family: var(--jk-display);
	font-size: 44px;
	color: var(--jk-ink);
	margin: 56px auto 20px;
	line-height: 1.05;
	letter-spacing: -0.5px;
	font-weight: 400;
}
.entry-content h3 {
	font-family: var(--jk-display);
	font-size: 32px;
	color: var(--jk-coral);
	margin: 40px auto 14px;
	line-height: 1.1;
	font-weight: 400;
}
.entry-content h4 {
	font-family: var(--jk-body);
	font-weight: 800;
	font-size: 20px;
	margin: 28px auto 10px;
	color: var(--jk-ink);
}
.entry-content p { margin: 0 auto 20px; }
.entry-content img, .entry-content .wp-block-image img {
	max-width: 100%;
	height: auto;
	border-radius: 24px;
	box-shadow: 0 8px 0 rgba(45,27,15,0.08);
	display: block;
}
.entry-content figure, .entry-content .wp-block-image { margin: 30px auto; }
.entry-content figcaption {
	text-align: center;
	font-size: 13px;
	color: var(--jk-brown);
	margin-top: 10px;
	font-style: italic;
}
.entry-content ul:not(.jk-mc__list),
.entry-content ol { margin: 0 auto 20px; padding-left: 24px; }
.entry-content ul:not(.jk-mc__list) > li,
.entry-content ol > li { margin-bottom: 8px; }
.entry-content a {
	color: var(--jk-coral);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 700;
}
.entry-content a:hover { color: var(--jk-ink); }
.entry-content blockquote, .entry-content .wp-block-quote {
	background: var(--jk-cream);
	border-radius: 24px;
	padding: 32px 40px;
	margin: 32px auto;
	border-left: none !important;
	font-family: var(--jk-display);
	font-size: 26px;
	line-height: 1.3;
	color: var(--jk-ink);
	position: relative;
}
.entry-content blockquote::before, .entry-content .wp-block-quote::before {
	content: '"';
	position: absolute;
	top: -14px;
	left: 22px;
	font-family: var(--jk-display);
	font-size: 96px;
	color: var(--jk-coral);
	line-height: 1;
}
.entry-content blockquote p, .entry-content .wp-block-quote p { margin: 0; font-size: inherit; }
.entry-content blockquote cite, .entry-content .wp-block-quote cite {
	display: block;
	margin-top: 14px;
	font-family: var(--jk-body);
	font-size: 14px;
	color: var(--jk-brown);
	font-style: normal;
	font-weight: 700;
}
.entry-content code {
	background: var(--jk-cream);
	padding: 2px 8px;
	border-radius: 6px;
	font-family: monospace;
	font-size: 14px;
}
.entry-content pre {
	background: var(--jk-cream);
	padding: 18px 22px;
	border-radius: 16px;
	overflow-x: auto;
}
.entry-content hr {
	border: none;
	border-top: 2px dashed rgba(45,27,15,0.18);
	margin: 40px auto;
	max-width: 200px;
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 0 rgba(45,27,15,0.06);
	margin: 24px auto;
}
.entry-content table th, .entry-content table td {
	padding: 14px 18px;
	border-top: 1px dashed rgba(45,27,15,0.1);
	text-align: left;
}
.entry-content table th { background: var(--jk-cream); font-weight: 800; color: var(--jk-ink); }

/* Gutenberg buttons */
.entry-content .wp-block-button .wp-block-button__link {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 700;
	box-shadow: var(--jk-shadow-pill);
	text-decoration: none;
	font-family: var(--jk-body);
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--jk-ink) !important;
	border: 3px solid var(--jk-ink);
}

/* Columns layout */
.entry-content .wp-block-columns {
	gap: 32px;
	margin: 36px auto;
	display: grid;
	grid-template-columns: repeat(var(--cols, 2), 1fr);
}
.entry-content .wp-block-columns.has-3-columns { --cols: 3; }
.entry-content .wp-block-columns.has-4-columns { --cols: 4; }
.entry-content .wp-block-column { min-width: 0; }
.entry-content .wp-block-column > *:first-child { margin-top: 0; }

/* Group/cover blocks for "card" effects */
.entry-content .wp-block-group.has-background,
.entry-content .wp-block-cover {
	border-radius: 28px;
	padding: 32px 36px;
	margin: 30px auto;
	box-shadow: 0 6px 0 rgba(45,27,15,0.06);
}

/* Image alignment */
.entry-content .alignleft  { float: left;  margin: 0 28px 18px 0; max-width: 50%; }
.entry-content .alignright { float: right; margin: 0 0 18px 28px; max-width: 50%; }
.entry-content .aligncenter { display: block; margin: 24px auto; }

/* Featured image at top of single posts */
.single:not(.single-product) .post-thumbnail {
	margin: -8px 0 28px;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 8px 0 rgba(45,27,15,0.10);
}
.single:not(.single-product) .post-thumbnail img { width: 100%; height: auto; display: block; }

/* Contact Form 7 */
.wpcf7 form {
	background: #fff;
	border-radius: 28px;
	padding: 36px 40px;
	box-shadow: 0 8px 0 rgba(45,27,15,0.08);
	max-width: 720px;
	margin: 0 auto;
}
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-bottom: 16px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	border: 2px solid rgba(45,27,15,0.18);
	background: #fff;
	border-radius: 16px;
	padding: 13px 18px;
	font-family: var(--jk-body);
	font-size: 15px;
	color: var(--jk-ink);
	box-sizing: border-box;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus {
	outline: none;
	border-color: var(--jk-coral);
	box-shadow: 0 0 0 3px rgba(255,157,107,0.25);
}
.wpcf7 textarea { min-height: 120px; resize: vertical; }
.wpcf7 label {
	font-weight: 700;
	color: var(--jk-ink);
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
}
.wpcf7 input[type="submit"], .wpcf7-submit {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	border: none !important;
	padding: 14px 32px !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	cursor: pointer;
	box-shadow: var(--jk-shadow-pill);
	font-family: var(--jk-body);
}
.wpcf7-not-valid-tip {
	color: var(--jk-coral) !important;
	font-size: 13px !important;
	margin-top: 4px;
	font-weight: 600;
}
.wpcf7 .wpcf7-response-output {
	border-radius: 18px !important;
	padding: 14px 22px !important;
	border: none !important;
	background: var(--jk-cream) !important;
}

/* WPForms */
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field textarea,
.wpforms-container .wpforms-field select {
	border: 2px solid rgba(45,27,15,0.18) !important;
	border-radius: 16px !important;
	padding: 13px 18px !important;
	font-family: var(--jk-body) !important;
}
.wpforms-container button[type=submit].wpforms-submit {
	background: var(--jk-coral) !important;
	color: var(--jk-cream) !important;
	border-radius: 999px !important;
	padding: 14px 32px !important;
	font-weight: 700 !important;
	border: none !important;
	box-shadow: var(--jk-shadow-pill) !important;
	font-family: var(--jk-body) !important;
}

/* =================================================================
   Mobile menu drawer
   ================================================================= */
.jk-nav__hamburger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	cursor: pointer;
	flex-shrink: 0;
}
.jk-nav__hamburger:hover { background: var(--jk-yellow); }

.jk-menu {
	position: fixed;
	inset: 0;
	z-index: 1100;
}
.jk-menu[hidden] { display: none; }
.jk-menu__overlay {
	position: absolute;
	inset: 0;
	background: rgba(45,27,15,0.45);
	opacity: 0;
	transition: opacity .25s ease;
}
.jk-menu.is-open .jk-menu__overlay { opacity: 1; }
.jk-menu__panel {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 360px;
	max-width: 88vw;
	background: var(--jk-bg);
	padding: 22px 22px 26px;
	transform: translateX(-100%);
	transition: transform .28s cubic-bezier(.22,.7,.3,1);
	display: flex;
	flex-direction: column;
	box-shadow: 18px 0 0 rgba(45,27,15,0.05);
	overflow-y: auto;
}
.jk-menu.is-open .jk-menu__panel { transform: translateX(0); }

.jk-menu__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 22px;
	padding-bottom: 16px;
	border-bottom: 2px dashed rgba(45,27,15,0.12);
}
.jk-menu__logo { height: 50px; width: auto; }
.jk-menu__close {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: none;
	background: var(--jk-cream);
	color: var(--jk-ink);
	font-size: 20px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 2px 0 rgba(45,27,15,0.12);
}
.jk-menu__search {
	display: flex;
	align-items: center;
	background: var(--jk-cream);
	border-radius: 999px;
	padding: 4px 4px 4px 16px;
	margin-bottom: 22px;
}
.jk-menu__search input[type="search"] {
	flex: 1;
	background: transparent;
	border: none;
	padding: 10px 8px;
	font-family: var(--jk-body);
	font-size: 14px;
	color: var(--jk-ink);
	outline: none;
	min-width: 0;
}
.jk-menu__search button {
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--jk-coral);
	color: var(--jk-cream);
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
}
.jk-menu__list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.jk-menu__list li { list-style: none; }
.jk-menu__list a {
	display: block;
	padding: 13px 16px;
	border-radius: 14px;
	color: var(--jk-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
	transition: background .15s;
}
.jk-menu__list a:hover,
.jk-menu__list .current-menu-item > a,
.jk-menu__list .current_page_item > a {
	background: var(--jk-coral);
	color: var(--jk-cream);
}
.jk-menu__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 18px;
	border-top: 2px dashed rgba(45,27,15,0.12);
	margin-top: auto;
}
.jk-menu__actions a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 14px;
	background: var(--jk-cream);
	color: var(--jk-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
}
.jk-menu__topbar {
	padding-top: 16px;
	margin-top: 14px;
	border-top: 1px dashed rgba(45,27,15,0.1);
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 12px;
	color: var(--jk-brown);
}
.jk-menu__topbar span { display: flex; align-items: center; gap: 8px; }

/* =================================================================
   Keyframes (declared globally — not inside a @media to ensure
   universal browser support)
   ================================================================= */

@keyframes jk-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* =================================================================
   Responsive
   ================================================================= */

/* Tablet */
@media (max-width: 1100px) {
	.jk-container, .jk-hero__grid, .jk-benefits__grid,
	.jk-products__inner, .jk-cats__inner, .jk-ig__inner,
	.jk-footer__inner, .jk-topbar__inner, .jk-nav__inner {
		padding-left: 24px;
		padding-right: 24px;
	}
	.jk-hero__title { font-size: 80px; }
	.jk-section-title { font-size: 50px; }
	.jk-big__title { font-size: 72px; }
	.jk-pdp__grid { gap: 36px; }
}

/* Mobile + small tablet */
@media (max-width: 900px) {
	html, body { font-size: 15px; }

	/* Header */
	.jk-nav__hamburger { display: inline-flex; }
	.jk-nav__menu { display: none !important; }
	.jk-nav__inner {
		padding: 14px 18px;
		gap: 12px;
		flex-wrap: nowrap;
	}
	.jk-nav__logo { flex: 1; display: flex; justify-content: center; }
	.jk-nav__logo img { height: 46px; }
	.jk-nav__actions { gap: 6px; }
	.jk-nav__icon-btn { width: 38px; height: 38px; }
	.jk-nav__cart { height: 38px; padding: 0 12px; }

	/* Hide search/account icons since they live in the menu drawer */
	.jk-nav__actions .jk-nav__icon-btn[data-jk-open="search"],
	.jk-nav__actions .jk-nav__icon-btn[data-jk-open="user"] { display: none; }

	/* Topbar — marquee horizontal automático en móvil */
	.jk-topbar { overflow: hidden; }
	.jk-topbar__inner {
		max-width: none;
		margin: 0;
		padding: 8px 0;
		font-size: 12px;
		overflow: hidden;
	}
	/* La pista es más ancha que la pantalla y se anima hacia la izquierda */
	.jk-topbar__track {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		width: max-content;
		animation: jk-marquee 22s linear infinite;
	}
	/* Cada grupo ocupa exactamente la mitad de la pista.
	   padding-right crea el espacio entre el fin del grupo y
	   el inicio del siguiente (sin gap izquierdo que empuje los ítems). */
	.jk-topbar__group {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		flex-shrink: 0;
		gap: 28px;
		padding-right: 40px;
	}
	.jk-topbar__group[aria-hidden="true"] { display: flex; } /* duplicado visible para el loop */
	.jk-topbar__item { white-space: nowrap; }
	.jk-topbar__sep { display: inline-block; opacity: .5; }

	/* Hero */
	.jk-hero { padding: 20px 0 30px; }
	.jk-hero__grid {
		grid-template-columns: 1fr;
		padding: 20px;
		gap: 24px;
	}
	.jk-hero__title { font-size: 56px; line-height: 1; letter-spacing: -1px; }
	.jk-hero__title em .jk-squiggle { display: none; }
	.jk-hero__lede { font-size: 15px; margin-top: 18px; }
	.jk-hero__cta { flex-direction: column; gap: 10px; margin-top: 26px; }
	.jk-hero__cta .jk-pill { justify-content: center; width: 100%; box-sizing: border-box; }
	.jk-hero__visual { height: 380px; }
	.jk-hero__card--1 { width: 180px; height: 220px; top: 10px; left: 0; }
	.jk-hero__card--2 { width: 150px; height: 180px; top: 30px; right: 0; }
	.jk-hero__card--3 { width: 170px; height: 210px; bottom: 30px; left: 30px; }
	.jk-hero__card--4 { width: 140px; height: 170px; bottom: 70px; right: 10px; }
	.jk-hero__free { font-size: 14px; right: 20px; padding: 8px 12px; }
	.jk-hero > .jk-blob, .jk-hero > .jk-star { display: none; }

	/* Benefits */
	.jk-benefits { padding: 0 18px 36px; }
	.jk-benefits__grid { grid-template-columns: 1fr; gap: 10px; }
	.jk-benefit { padding: 18px 18px; }

	/* Categories */
	.jk-cats { padding: 36px 18px 50px; }
	.jk-cats__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.jk-cats__head { margin-bottom: 28px; }
	.jk-cats__head .jk-star { display: none; }
	.jk-cat__name { font-size: 18px; }

	/* Sections */
	.jk-section-title { font-size: 38px; }

	/* Products grid */
	.jk-products { padding: 40px 18px; }
	.jk-products__head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 28px; }
	.jk-products__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.jk-card__media { padding: 14px; border-radius: 22px; }
	.jk-card__media-inner { padding: 12px; border-radius: 12px; }
	.jk-card__title { font-size: 13px; height: 36px; line-height: 1.25; }
	.jk-card__price { font-size: 18px; }
	.jk-card__was { font-size: 11px; }
	.jk-card__install { font-size: 11px; }
	.jk-card__atc { padding: 8px 12px; font-size: 12px; }
	.jk-products .jk-pill--ghost { font-size: 13px; padding: 10px 18px; }

	/* Big banner */
	.jk-big { padding: 30px 18px; }
	.jk-big__box {
		grid-template-columns: 1fr;
		padding: 40px 28px;
		gap: 24px;
		border-radius: 28px;
		min-height: 0;
	}
	.jk-big__copy { max-width: none; }
	.jk-big__title { font-size: 56px; line-height: 1; }
	.jk-big__title .jk-pillbox-dark { padding: 4px 22px 10px; border-radius: 20px; }
	.jk-big__lede { font-size: 15px; max-width: none; }
	.jk-big__visual { height: 260px; }
	.jk-big__card--1 { width: 160px; height: 200px; padding: 14px; top: 0; left: 0; }
	.jk-big__card--2 { width: 150px; height: 190px; padding: 12px; bottom: 0; right: 0; }

	/* Instagram */
	.jk-ig { padding: 36px 18px; }
	.jk-ig__title { font-size: 36px; }
	.jk-ig__grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }

	/* Footer */
	.jk-footer { padding: 40px 18px 24px; }
	.jk-newsletter {
		grid-template-columns: 1fr;
		padding: 26px 24px;
		text-align: center;
		gap: 16px;
		border-radius: 24px;
	}
	.jk-newsletter h3 { font-size: 30px; }
	.jk-newsletter form { flex-direction: column; gap: 10px; }
	.jk-newsletter input { width: 100%; }
	.jk-newsletter button { width: 100%; justify-content: center; }

	/* Newsletter compacto en cart/checkout móvil */
	.woocommerce-cart .jk-newsletter,
	.woocommerce-checkout .jk-newsletter {
		padding: 18px 18px;
		gap: 10px;
		border-radius: 18px;
	}
	.woocommerce-cart .jk-newsletter h3,
	.woocommerce-checkout .jk-newsletter h3 { font-size: 22px; }
	.woocommerce-cart .jk-newsletter p,
	.woocommerce-checkout .jk-newsletter p { font-size: 13px; margin-top: 4px; }
	.woocommerce-cart .jk-footer,
	.woocommerce-checkout .jk-footer { padding-top: 24px; }
	.jk-footer__cols {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		padding-bottom: 28px;
	}
	.jk-footer__brand { grid-column: 1 / -1; text-align: center; }
	.jk-footer__brand .jk-footer__socials { justify-content: center; }
	.jk-footer__bottom { flex-direction: column; gap: 14px; text-align: center; padding-top: 18px; }
	.jk-footer__pay { justify-content: center; flex-wrap: wrap; }

	/* PDP */
	.jk-bc { padding: 14px 18px 0; }
	.jk-bc__inner { font-size: 11px; flex-wrap: wrap; gap: 6px; }
	.jk-pdp { padding: 20px 18px 50px; }
	.jk-pdp__grid { grid-template-columns: 1fr; gap: 28px; }
	.jk-gallery__main { border-radius: 20px; padding: 8px; }
	.jk-gallery__img { border-radius: 12px; }
	.jk-gallery__badge { top: 12px; left: 12px; font-size: 14px; padding: 5px 10px; }
	.jk-gallery__fav { top: 12px; right: 12px; width: 36px; height: 36px; }
	.jk-gallery__nav { width: 36px; height: 36px; font-size: 16px; }
	.jk-gallery__thumbs { grid-template-columns: repeat(5, 1fr); gap: 6px; }
	.jk-gallery__thumb { padding: 6px; border-radius: 12px; }
	.jk-info h1 { font-size: 38px; line-height: 1; letter-spacing: -0.5px; }
	.jk-info h1 em .jk-squiggle { display: none; }
	.jk-info__price-amount { font-size: 36px; }
	.jk-info__buy { flex-direction: column; align-items: stretch; gap: 10px; }
	.jk-qty { justify-content: center; }
	.jk-info__atc { width: 100%; }
	.jk-info__benefits { grid-template-columns: 1fr; gap: 10px; }

	.jk-tabs { padding: 36px 18px; }
	.jk-tabs__nav {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 8px;
		padding-bottom: 2px;
	}
	.jk-tabs__nav::-webkit-scrollbar { display: none; }
	.jk-tabs__btn { padding: 9px 16px; font-size: 13px; flex-shrink: 0; white-space: nowrap; }
	.jk-tab-desc { grid-template-columns: 1fr; gap: 24px; }
	.jk-tab-desc h3 { font-size: 26px; }
	.jk-tab-specs { grid-template-columns: 1fr; }
	.jk-tab-ship { grid-template-columns: 1fr; gap: 12px; }
	.jk-tab-rev { grid-template-columns: 1fr; gap: 22px; }
	.jk-tab-rev__avg .num { font-size: 60px; }

	.jk-related { padding: 40px 18px; }
	.jk-related__head h2 { font-size: 38px; }
	.jk-related .jk-products__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

	.jk-sticky {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 10px 14px;
		z-index: 60;
	}
	.jk-pdp-page { padding-bottom: 84px; } /* deja espacio para que el sticky no tape el contenido */
	.jk-sticky__inner { gap: 10px; max-width: none; }
	.jk-sticky__thumb { display: none; }
	.jk-sticky__title { font-size: 13px; line-height: 1.2; }
	.jk-sticky__meta { display: none; }
	.jk-sticky__price { font-size: 18px; }
	.jk-sticky__install { display: none; }
	.jk-sticky .jk-pill { padding: 11px 16px; font-size: 13px; white-space: nowrap; }

	/* Modals */
	.jk-modal { padding: 50px 14px 20px; }
	.jk-modal__dialog { padding: 24px 22px; border-radius: 24px; }
	.jk-modal__title { font-size: 26px; }
	.jk-search-featured__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.jk-search-featured__item:nth-child(3) { display: none; }

	/* Mini cart full-screen on mobile */
	.jk-cart__panel { width: 100%; max-width: 100vw; }
	.jk-cart__head { padding: 18px 22px 12px; }
	.jk-cart__title { font-size: 28px; }
	.jk-cart__body { padding: 16px 22px 22px; }

	/* Cart, Checkout, Account */
	.woocommerce-cart #primary,
	.woocommerce-checkout #primary,
	.woocommerce-account #primary { padding: 20px 16px 60px; }
	.woocommerce-cart .entry-title,
	.woocommerce-checkout .entry-title,
	.woocommerce-account .entry-title,
	.woocommerce-page .entry-title { font-size: 40px !important; color: var(--jk-ink) !important; }
	.woocommerce-cart #primary::before,
	.woocommerce-checkout #primary::before,
	.woocommerce-cart #primary::after,
	.woocommerce-checkout #primary::after { display: none; }
	.woocommerce-cart table.shop_table {
		display: block;
		overflow-x: auto;
		font-size: 13px;
	}
	.woocommerce-cart table.shop_table th,
	.woocommerce-cart table.shop_table td { padding: 12px !important; }
	.woocommerce-cart table.shop_table .product-thumbnail img { width: 56px !important; height: 56px; }
	.woocommerce-cart .actions { display: flex; flex-direction: column; gap: 8px; }
	.woocommerce-cart .actions .coupon { max-width: none; flex-direction: column; align-items: stretch; gap: 8px; }
	.woocommerce .cart-collaterals { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce .cart-collaterals .cart_totals { padding: 22px 22px !important; border-radius: 22px !important; }
	/* Cart page custom: stack and compact */
	.jk-cart-table-wrap { border-radius: 20px; }
	.jk-cart-empty { padding: 52px 24px 48px; border-radius: 28px; }
	.jk-cart-empty__title { font-size: 28px; }
	.jk-cart-actions { flex-direction: column; align-items: stretch; }
	.jk-coupon-row { max-width: none; flex-direction: column; gap: 8px; }
	.jk-cart-actions .jk-update-cart { margin-left: 0; }
	/* Checkout: stack to single column */
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 20px; }
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2,
	.woocommerce-checkout .jk-checkout-details .col-1,
	.woocommerce-checkout .jk-checkout-details .col-2 { padding: 22px 22px; border-radius: 22px; }
	.woocommerce-checkout form.checkout .jk-checkout-summary { padding: 22px 22px; border-radius: 22px; position: static; }

	.woocommerce-account .woocommerce { display: flex; flex-direction: column; gap: 16px; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { padding: 18px 20px; border-radius: 22px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 10px 14px; font-size: 13px; }

	/* Pages */
	.page:not(.woocommerce-page) #primary,
	.single:not(.single-product) #primary,
	.search #primary { padding: 24px 18px 60px; }
	.page:not(.woocommerce-page) article.page header.entry-header,
	.single:not(.single-product) header.entry-header,
	.search header.page-header { padding: 40px 26px; border-radius: 28px; margin-bottom: 28px; }
	.page .entry-title, .single:not(.single-product) .entry-title, .search .page-title { font-size: 44px !important; }
	.entry-content { font-size: 16px; }
	.entry-content h2 { font-size: 32px; margin-top: 36px; }
	.entry-content h3 { font-size: 24px; margin-top: 26px; }
	.entry-content blockquote, .entry-content .wp-block-quote { padding: 22px 24px; font-size: 18px; }
	.wpcf7 form { padding: 24px 22px; border-radius: 22px; }
	.entry-content .wp-block-columns { grid-template-columns: 1fr !important; }

	/* Archive (Shop) */
	.woocommerce.archive #primary { padding: 24px 16px 60px; }
	.jk-archive-banner { padding: 30px 24px; border-radius: 26px; margin-bottom: 18px; }
	.jk-archive-banner__title { font-size: 40px; }
	.jk-archive-banner__lede { font-size: 14px; margin-top: 10px; }
	.jk-archive-banner__blob1 { width: 140px !important; height: 140px !important; top: -40px; right: -30px; }
	.jk-archive-banner__star { display: none; }
	.woocommerce.archive ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 14px !important;
	}

	/* Filter bar mobile — sort + count only */
	.jk-archive-filters {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		border-radius: 999px;
		padding: 8px 14px;
		gap: 10px;
	}
	.jk-archive-filters__count { font-size: 12px; }
	.jk-archive-filters__sort select.orderby,
	.woocommerce-ordering select.orderby {
		font-size: 12px !important;
		padding: 8px 30px 8px 14px !important;
	}

	/* Cross-modal mobile */
	.jk-cm { padding: 20px 14px; }
	.jk-cm__panel { padding: 26px 22px 22px; border-radius: 28px; }
	.jk-cm__title { font-size: 30px; }
	.jk-cm__subtitle { font-size: 14px; }
	.jk-cm__check { width: 60px; height: 60px; margin-bottom: 12px; }
	.jk-cm__check svg { width: 30px; height: 30px; }
	.jk-cm__product { padding: 12px 14px; gap: 12px; border-radius: 18px; }
	.jk-cm__product-thumb { width: 64px; height: 64px; border-radius: 12px; }
	.jk-cm__product-name { font-size: 14px; }
	.jk-cm__product-price { font-size: 22px; }
	.jk-cm__ctas { grid-template-columns: 1fr; gap: 10px; margin-bottom: 22px; }
	.jk-cm__cta { padding: 14px 20px; font-size: 14px; }
	.jk-cm__cross-title { font-size: 20px; margin-bottom: 12px; }
	.jk-cm__cross-list { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.jk-cm__card { padding: 6px 6px 12px; border-radius: 14px; }
	.jk-cm__card-media { border-radius: 10px; padding: 6px; }
	.jk-cm__card-name { font-size: 11px; height: 28px; }
	.jk-cm__card-price { font-size: 15px; }
	.jk-cm__card-atc { font-size: 10px; padding: 6px 8px; }
	.jk-cm__close { width: 36px; height: 36px; top: 14px; right: 14px; }

	/* Sticky categorías — más compacto en mobile (icono + texto corto) */
	.jk-cats-stick__trigger {
		padding: 11px 16px 11px 11px;
		font-size: 12px;
		gap: 8px;
		box-shadow: 4px 4px 0 rgba(45,27,15,0.20);
	}
	.jk-cats-stick__trigger:hover { padding-right: 20px; }
	.jk-cats-stick__trigger-icon { width: 26px; height: 26px; }
	.jk-cats-stick__panel {
		width: 100%;
		max-width: 92vw;
		padding: 20px 20px 24px;
	}
	.jk-cats-stick__title-text { font-size: 30px; }
	.jk-cats-stick__item-name { font-size: 18px; }
	.jk-cats-stick__item-icon { width: 44px; height: 44px; min-width: 44px; }

	/* Categorías page */
	.jk-cats-page { padding: 24px 18px 60px; }
	.jk-cats-page__banner {
		grid-template-columns: 1fr;
		padding: 36px 28px;
		gap: 20px;
		border-radius: 28px;
		margin-bottom: 36px;
	}
	.jk-cats-page__banner-title { font-size: 50px; }
	.jk-cats-page__banner-img { min-height: 200px; }
	.jk-cats-page__banner-img img { max-height: 200px; }
	.jk-cats-page__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* Small mobile */
@media (max-width: 480px) {
	.jk-hero__title { font-size: 44px; }
	.jk-section-title { font-size: 32px; }
	.jk-big__title { font-size: 44px; }
	.jk-info h1 { font-size: 32px; }
	/* Mantener 2 columnas de productos en móvil (home, relacionados, shop) */
	.jk-products__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.jk-related .jk-products__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.jk-cats__grid { grid-template-columns: 1fr 1fr; }
	.jk-ig__grid { grid-template-columns: repeat(2, 1fr); }
	.jk-cats-page__grid { grid-template-columns: 1fr 1fr; }
	.jk-footer__cols { grid-template-columns: 1fr; }
	.woocommerce.archive ul.products { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }

	/* Tarjeta de producto compacta pero legible en 2 columnas */
	.jk-card__media { padding: 10px; border-radius: 18px; }
	.jk-card__media-inner { padding: 8px; border-radius: 10px; }
	.jk-card__sale { top: 8px; left: 8px; font-size: 10px; padding: 4px 9px; }
	.jk-card__fav { top: 8px; right: 8px; width: 30px; height: 30px; }
	.jk-card__body { padding: 12px 12px 14px; }
	.jk-card__brand { font-size: 10px; }
	.jk-card__title { font-size: 13px; height: auto; min-height: 34px; line-height: 1.25; }
	.jk-card__price { font-size: 17px; }
	.jk-card__was { font-size: 11px; }
	.jk-card__install { font-size: 11px; }
	.jk-card__atc { padding: 9px 10px; font-size: 11px; }
	.jk-card__freeship { font-size: 9px; padding: 4px 8px; left: 8px; bottom: 8px; }
	.page .entry-title, .woocommerce-cart .entry-title, .woocommerce-checkout .entry-title { font-size: 36px !important; color: var(--jk-ink) !important; }
	.jk-hero__visual { height: 320px; }
	.jk-hero__card--1 { width: 150px; height: 190px; }
	.jk-hero__card--2 { width: 130px; height: 160px; }
	.jk-hero__card--3 { width: 140px; height: 180px; }
	.jk-hero__card--4 { width: 120px; height: 150px; }
}

/* Hide Storefront's leftover layout chrome that might leak through. */
#site-header, .storefront-handheld-footer-bar, .secondary-navigation,
.storefront-product-section, .site-branding, #site-navigation,
.storefront-breadcrumb { display: none !important; }
.site-content { padding: 0 !important; }
.site-content > .col-full { max-width: none !important; padding: 0 !important; }

/* Single product: Storefront reserves ~68% width for #primary even when
   the sidebar is hidden. Force full-width so the PDP sections span the
   entire viewport. */
.single-product #primary,
.single-product .site-main {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* =================================================================
   Marcas (product brand)
   ================================================================= */

/* Chip de marca en la PDP (junto a los chips de categoría / stock) */
.jk-info__chip--brand {
	background: #fff;
	border: 2px solid rgba(45,27,15,0.10);
	box-shadow: 0 2px 0 rgba(45,27,15,0.10);
	text-decoration: none;
	transition: transform .15s, box-shadow .15s;
}
.jk-info__chip--brand img {
	border-radius: 6px;
	background: var(--jk-cream);
	padding: 1px;
	object-fit: contain;
	width: 16px;
	height: 16px;
}
.jk-info__chip--brand:hover { transform: translateY(-1px); box-shadow: 0 4px 0 rgba(45,27,15,0.14); }
/* Variante "solo imagen": chip más ancho/alto que muestra el logo entero */
.jk-info__chip--brand-img {
	padding: 4px 10px;
}
.jk-info__chip--brand-img img {
	width: auto;
	height: 22px;
	max-width: 110px;
	border-radius: 0;
	padding: 0;
	background: transparent;
}

/* Mini logo de la marca, en su propia línea entre los chips y el título */
.jk-info__brand-logo {
	display: inline-flex;
	margin: -4px 0 12px;
	padding: 6px 10px;
	background: var(--jk-cream);
	border-radius: 10px;
	border: 1px dashed rgba(45,27,15,0.14);
	text-decoration: none;
	transition: background .15s, transform .15s;
}
.jk-info__brand-logo:hover { background: #fff; transform: translateY(-1px); }
.jk-info__brand-logo img {
	display: block;
	max-height: 32px;
	max-width: 110px;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Mini chip de marca en la tarjeta del shop (eyebrow sobre el título) */
.jk-card__brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--jk-brown);
	text-decoration: none;
	margin: 0 0 4px;
	line-height: 1.2;
	transition: color .15s;
}
.jk-card__brand:hover { color: var(--jk-coral); }
.jk-card__brand img {
	display: block;
	width: 14px;
	height: 14px;
	object-fit: contain;
	border-radius: 3px;
	background: var(--jk-cream);
}
/* Variante "solo imagen" en la card del shop: logo un poco más grande, sin texto */
.jk-card__brand--img img {
	width: auto;
	height: 18px;
	max-width: 90px;
	border-radius: 0;
	background: transparent;
}

/* =================================================================
   Página 404
   ================================================================= */
.jk-404 {
	position: relative;
	overflow: hidden;
	padding: 110px 24px 90px;
	text-align: center;
	border-radius: 0;
	color: var(--jk-ink);
}
.jk-404__inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
	margin: 0 auto;
}
.jk-404__shape { position: absolute; z-index: 1; pointer-events: none; display: block; }
.jk-404__shape--blob-1 { top: -60px; left: -40px; }
.jk-404__shape--blob-2 { bottom: -50px; right: -30px; }
.jk-404__shape--star-1 { top: 60px; right: 12%; transform: rotate(-12deg); }
.jk-404__shape--star-2 { bottom: 70px; left: 8%;  transform: rotate(14deg); }
.jk-404__shape--star-3 { top: 50%; left: 4%; transform: rotate(-20deg); opacity: .7; }

.jk-404__numbers {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
}
.jk-404__digit {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 140px;
	line-height: 0.85;
	color: var(--jk-ink);
	text-shadow: 0 6px 0 rgba(45,27,15,0.18);
}
.jk-404__digit--a { transform: rotate(-6deg); }
.jk-404__digit--b { transform: rotate( 6deg); }
.jk-404__digit--zero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translateY(8px);
}
.jk-404__digit--zero svg { display: block; }

.jk-404__eyebrow {
	font-family: var(--jk-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--jk-brown);
	margin-bottom: 12px;
}

.jk-404__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 58px;
	line-height: 1.02;
	letter-spacing: -1.5px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 0 0 18px;
}
.jk-404__title em {
	color: var(--jk-coral);
	font-style: normal;
	position: relative;
	display: inline-block;
}
.jk-404__title em svg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -14px;
	width: 100%;
	height: 14px;
}

.jk-404__lede {
	font-family: var(--jk-body);
	font-size: 17px;
	line-height: 1.5;
	color: var(--jk-brown);
	max-width: 640px;
	margin: 0 auto 28px;
}

.jk-404__ctas {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

@media (max-width: 700px) {
	.jk-404 { padding: 70px 16px 60px; }
	.jk-404__digit { font-size: 90px; }
	.jk-404__digit--zero svg { width: 80px; height: 80px; }
	.jk-404__title { font-size: 38px; letter-spacing: -1px; }
	.jk-404__lede { font-size: 15px; }
	.jk-404__shape--blob-1, .jk-404__shape--blob-2 { transform: scale(.7); opacity: .5; }
}

/* =================================================================
   Páginas informativas (Envíos / Pagos / Términos / Privacidad / Blog)
   Banner compartido + variantes por bloque
   ================================================================= */
.jk-page-info { padding-bottom: 60px; }

.jk-page-banner {
	position: relative;
	overflow: hidden;
	padding: 100px 24px 80px;
	text-align: center;
	color: var(--jk-ink);
}
.jk-page-banner__inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
	margin: 0 auto;
}
.jk-page-banner__eyebrow {
	font-family: var(--jk-body);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--jk-brown);
	margin-bottom: 14px;
}
.jk-page-banner__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 60px;
	line-height: 1;
	letter-spacing: -1.5px;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 0 0 16px;
}
.jk-page-banner__title em {
	color: var(--jk-coral);
	font-style: normal;
	position: relative;
	display: inline-block;
}
.jk-about-page .jk-page-banner__title em { color: #fff; }
.jk-page-banner__title em svg {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	width: 100%;
	height: 14px;
}
.jk-page-banner__lede {
	font-family: var(--jk-body);
	font-size: 17px;
	line-height: 1.5;
	color: var(--jk-brown);
	max-width: 640px;
	margin: 0 auto;
}
.jk-page-banner__updated {
	display: inline-block;
	background: rgba(45,27,15,0.08);
	border-radius: 999px;
	padding: 6px 16px;
	font-size: 12px;
	font-weight: 700;
	color: var(--jk-brown);
	letter-spacing: 0.5px;
	margin-top: 8px;
}
.jk-page-banner--soft { padding: 80px 24px 60px; }
.jk-page-banner--soft .jk-page-banner__title { font-size: 52px; }

@media (max-width: 700px) {
	.jk-page-banner { padding: 60px 16px 50px; }
	.jk-page-banner__title { font-size: 36px; letter-spacing: -1px; }
	.jk-page-banner__lede { font-size: 15px; }
}

/* ----- Envíos ----- */
.jk-shipping { padding: 60px 24px 20px; }
.jk-shipping__inner { max-width: 1100px; margin: 0 auto; }
.jk-shipping__intro {
	font-family: var(--jk-body);
	font-size: 18px;
	color: var(--jk-brown);
	text-align: center;
	margin: 0 auto 40px;
	max-width: 720px;
	line-height: 1.5;
}
.jk-shipping__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
@media (max-width: 720px) {
	.jk-shipping__grid { grid-template-columns: 1fr; }
}
.jk-shipping-card {
	position: relative;
	background: #fff;
	border: 1px solid #e9e5dc;
	border-radius: 22px;
	padding: 26px 24px 22px;
	box-shadow: 0 5px 0 rgba(45,27,15,0.10);
	transition: transform .2s, box-shadow .2s;
}
.jk-shipping-card:hover { transform: translateY(-2px); box-shadow: 0 8px 0 rgba(45,27,15,0.14); }
.jk-shipping-card__badge {
	position: absolute;
	top: -14px;
	left: 22px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--jk-card-tone, var(--jk-coral));
	color: #fff;
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 18px;
	padding: 4px 14px 6px;
	border-radius: 999px;
	box-shadow: 0 3px 0 rgba(45,27,15,0.20);
}
.jk-shipping-card__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 8px 0 16px;
	line-height: 1.1;
}
.jk-shipping-card__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 8px 0;
	border-top: 1px dashed rgba(45,27,15,0.12);
}
.jk-shipping-card__row:last-of-type { border-bottom: 1px dashed rgba(45,27,15,0.12); margin-bottom: 14px; }
.jk-shipping-card__label {
	font-size: 11px;
	font-weight: 800;
	color: var(--jk-brown);
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
.jk-shipping-card__value { font-size: 14px; font-weight: 700; color: var(--jk-ink); text-align: right; }
.jk-shipping-card__value--strong { font-size: 16px; color: var(--jk-coral); }
.jk-shipping-card__desc {
	font-size: 14px;
	color: var(--jk-brown);
	line-height: 1.5;
	margin: 0;
}
.jk-shipping__footer {
	margin-top: 40px;
	background: var(--jk-cream);
	border-radius: 22px;
	padding: 26px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	border: 2px dashed rgba(45,27,15,0.14);
}
.jk-shipping__note {
	margin: 0;
	flex: 1;
	min-width: 240px;
	color: var(--jk-ink);
	font-weight: 700;
}

/* ----- Pagos ----- */
.jk-payments { padding: 60px 24px 20px; }
.jk-payments__inner { max-width: 1100px; margin: 0 auto; }
.jk-payments__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
	align-items: stretch;
}
@media (max-width: 820px) {
	.jk-payments__grid { grid-template-columns: 1fr; }
}
.jk-payment-card {
	position: relative;
	background: #fff;
	border: 1px solid #e9e5dc;
	border-radius: 24px;
	padding: 28px 28px 26px;
	box-shadow: 0 6px 0 rgba(45,27,15,0.10);
	display: flex;
	flex-direction: column;
}
.jk-payment-card__icon {
	display: inline-flex;
	margin-bottom: 14px;
}
.jk-payment-card__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 32px;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 0 0 4px;
	line-height: 1;
}
.jk-payment-card__tagline {
	font-size: 13px;
	font-weight: 800;
	color: var(--jk-coral);
	letter-spacing: 0.5px;
	margin: 0 0 14px;
	text-transform: uppercase;
}
.jk-payment-card__desc {
	font-size: 15px;
	color: var(--jk-brown);
	line-height: 1.55;
	margin: 0 0 14px;
}
.jk-payment-card__details {
	margin: 0 0 16px;
	background: var(--jk-cream);
	border-radius: 14px;
	padding: 14px 16px;
}
.jk-payment-card__details > div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 6px 0;
	border-bottom: 1px dashed rgba(45,27,15,0.10);
}
.jk-payment-card__details > div:last-child { border-bottom: none; }
.jk-payment-card__details dt {
	font-size: 11px;
	font-weight: 800;
	color: var(--jk-brown);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin: 0;
}
.jk-payment-card__details dd {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--jk-ink);
	text-align: right;
}
.jk-payment-card__mono { font-family: 'JetBrains Mono', 'Menlo', monospace; letter-spacing: 0.5px; }
.jk-payment-card__hl {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--jk-ink);
	color: var(--jk-yellow);
	padding: 12px 16px;
	border-radius: 14px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}
.jk-payment-card__hl-icon { font-size: 18px; }
.jk-payments__note {
	margin-top: 28px;
	background: var(--jk-cream);
	border: 2px dashed rgba(45,27,15,0.14);
	border-radius: 16px;
	padding: 14px 18px;
	color: var(--jk-brown);
	font-size: 13px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

/* ----- Páginas legales (Términos / Privacidad) ----- */
.jk-legal { padding: 40px 24px 20px; }
.jk-legal__inner { max-width: 760px; margin: 0 auto; }

.jk-prose {
	background: #fff;
	border: 1px solid #e9e5dc;
	border-radius: 22px;
	padding: 38px 42px;
	box-shadow: 0 5px 0 rgba(45,27,15,0.08);
	font-family: var(--jk-body);
	color: var(--jk-ink);
	line-height: 1.65;
	font-size: 16px;
}
.jk-prose h1, .jk-prose h2, .jk-prose h3 {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	color: var(--jk-ink);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.5px;
}
.jk-prose h2 { font-size: 26px; margin: 32px 0 10px; }
.jk-prose h2:first-child { margin-top: 0; }
.jk-prose h3 { font-size: 20px; margin: 24px 0 8px; }
.jk-prose p { margin: 0 0 14px; color: var(--jk-brown); }
.jk-prose strong { color: var(--jk-ink); font-weight: 800; }
.jk-prose a { color: var(--jk-coral); font-weight: 700; text-decoration: underline; }
.jk-prose a:hover { color: var(--jk-ink); }
.jk-prose ul, .jk-prose ol { margin: 0 0 14px; padding-left: 22px; color: var(--jk-brown); }
.jk-prose li { margin-bottom: 6px; }
.jk-prose blockquote {
	margin: 18px 0;
	padding: 14px 18px;
	background: var(--jk-cream);
	border-left: 4px solid var(--jk-coral);
	border-radius: 8px;
	color: var(--jk-ink);
	font-style: italic;
}
@media (max-width: 700px) {
	.jk-prose { padding: 24px 22px; font-size: 15px; }
	.jk-prose h2 { font-size: 22px; }
}

/* ----- Blog ----- */
.jk-blog { padding: 60px 24px; }
.jk-blog__inner { max-width: 1200px; margin: 0 auto; }
.jk-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}
@media (max-width: 980px) { .jk-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .jk-blog__grid { grid-template-columns: 1fr; } }

.jk-blog-card {
	background: #fff;
	border: 1px solid #e9e5dc;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 4px 0 rgba(45,27,15,0.10);
	transition: transform .2s, box-shadow .2s;
	display: flex;
	flex-direction: column;
}
.jk-blog-card:hover { transform: translateY(-3px); box-shadow: 0 8px 0 rgba(45,27,15,0.14); }
.jk-blog-card__media {
	display: block;
	aspect-ratio: 4/3;
	overflow: hidden;
	position: relative;
}
.jk-blog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s;
}
.jk-blog-card:hover .jk-blog-card__media img { transform: scale(1.04); }
.jk-blog-card__no-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.jk-blog-card__body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.jk-blog-card__cat {
	align-self: flex-start;
	font-size: 11px;
	font-weight: 800;
	color: var(--jk-brown);
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none;
	background: var(--jk-cream);
	padding: 4px 12px;
	border-radius: 999px;
}
.jk-blog-card__cat:hover { color: var(--jk-coral); }
.jk-blog-card__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.5px;
	margin: 0;
	color: var(--jk-ink);
}
.jk-blog-card__title a { color: inherit; text-decoration: none; }
.jk-blog-card__title a:hover { color: var(--jk-coral); }
.jk-blog-card__excerpt {
	font-size: 14px;
	color: var(--jk-brown);
	line-height: 1.5;
	margin: 0;
	flex: 1;
}
.jk-blog-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 8px;
	border-top: 1px dashed rgba(45,27,15,0.10);
}
.jk-blog-card__date { font-size: 12px; color: var(--jk-brown); font-weight: 700; }
.jk-blog-card__read {
	font-size: 13px;
	font-weight: 800;
	color: var(--jk-coral);
	text-decoration: none;
}
.jk-blog-card__read:hover { color: var(--jk-ink); }

.jk-blog__pagination {
	margin: 40px auto 0;
	display: flex;
	gap: 6px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.jk-blog__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: 999px;
	background: #fff;
	border: 2px solid rgba(45,27,15,0.12);
	color: var(--jk-ink);
	font-weight: 800;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.jk-blog__pagination .page-numbers:hover {
	background: var(--jk-cream);
	border-color: var(--jk-coral);
}
.jk-blog__pagination .page-numbers.current {
	background: var(--jk-coral);
	border-color: var(--jk-coral);
	color: #fff;
}

.jk-blog__empty {
	max-width: 540px;
	margin: 40px auto;
	text-align: center;
	padding: 50px 24px;
	background: #fff;
	border: 2px dashed rgba(45,27,15,0.14);
	border-radius: 22px;
}
.jk-blog__empty h2 {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 28px;
	margin: 14px 0 8px;
	font-weight: 400;
	color: var(--jk-ink);
}
.jk-blog__empty p { color: var(--jk-brown); margin: 0 0 20px; }

/* =================================================================
   Página Sobre Nosotros
   ================================================================= */
.jk-about-page { padding-bottom: 0; }

/* Section headings reusables */
.jk-about-section__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 40px;
}

/* Historia (texto + imagen lado a lado) */
.jk-about-history { padding: 70px 24px 30px; }
.jk-about-history__inner {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}
@media (max-width: 900px) {
	.jk-about-history__inner { grid-template-columns: 1fr; gap: 36px; }
	.jk-about-history__media { order: -1; }
}
.jk-about-history__text { padding: 8px 0; }
.jk-about-history__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 38px;
	line-height: 1.05;
	letter-spacing: -0.8px;
	color: var(--jk-ink);
	font-weight: 400;
	margin: 6px 0 20px;
}
.jk-about-history__media {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 12px 0 rgba(45,27,15,0.10);
}
.jk-about-history__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	border-radius: 28px;
	position: relative;
	z-index: 2;
}
.jk-about-history__media-blob {
	position: absolute;
	z-index: 1;
	top: -30px;
	right: -30px;
	display: block;
}

/* Valores — grid de cards con icono */
.jk-about-values {
	background: var(--jk-cream);
	padding: 80px 24px;
	position: relative;
}
.jk-about-values__inner { max-width: 1180px; margin: 0 auto; }
.jk-about-values__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) { .jk-about-values__grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 520px)  { .jk-about-values__grid { grid-template-columns: 1fr; } }

.jk-about-value {
	background: #fff;
	border-radius: 22px;
	padding: 28px 22px 26px;
	border: 1px solid #e9e5dc;
	box-shadow: 0 5px 0 rgba(45,27,15,0.10);
	text-align: center;
	transition: transform .2s, box-shadow .2s;
	border-top: 5px solid var(--jk-tone, var(--jk-coral));
}
.jk-about-value:hover { transform: translateY(-3px); box-shadow: 0 8px 0 rgba(45,27,15,0.14); }
.jk-about-value__icon {
	display: inline-flex;
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: var(--jk-tone, var(--jk-coral));
	color: #fff;
	font-size: 30px;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	box-shadow: 0 4px 0 rgba(45,27,15,0.18);
}
.jk-about-value__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 22px;
	line-height: 1.1;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 0 0 8px;
}
.jk-about-value__desc {
	font-size: 14px;
	color: var(--jk-brown);
	line-height: 1.55;
	margin: 0;
}

/* Equipo */
.jk-about-team { padding: 70px 24px 50px; }
.jk-about-team__inner { max-width: 1180px; margin: 0 auto; }
.jk-about-team__grid {
	display: grid;
	gap: 24px;
}
.jk-about-team__grid[data-cols="1"] { grid-template-columns: 320px; justify-content: center; }
.jk-about-team__grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); max-width: 720px; margin: 0 auto; }
.jk-about-team__grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.jk-about-team__grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
	.jk-about-team__grid[data-cols="3"], .jk-about-team__grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.jk-about-team__grid { grid-template-columns: 1fr !important; max-width: 360px; margin: 0 auto; }
}

.jk-about-member {
	background: #fff;
	border: 1px solid #e9e5dc;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 5px 0 rgba(45,27,15,0.10);
	transition: transform .2s, box-shadow .2s;
	display: flex;
	flex-direction: column;
}
.jk-about-member:hover { transform: translateY(-3px); box-shadow: 0 8px 0 rgba(45,27,15,0.14); }
.jk-about-member__photo {
	aspect-ratio: 1/1;
	background: var(--jk-cream);
	overflow: hidden;
	display: block;
}
.jk-about-member__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.jk-about-member__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--jk-coral);
}
.jk-about-member__body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.jk-about-member__name {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--jk-ink);
	line-height: 1.1;
	margin: 0 0 4px;
}
.jk-about-member__role {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--jk-coral);
	margin-bottom: 10px;
}
.jk-about-member__bio { font-size: 13px; color: var(--jk-brown); line-height: 1.55; margin: 0; }

/* CTA band */
.jk-about-cta {
	position: relative;
	overflow: hidden;
	padding: 70px 24px;
	text-align: center;
	color: var(--jk-ink);
}
.jk-about-cta__inner { position: relative; z-index: 2; max-width: 760px; margin: 0 auto; }
.jk-about-cta__title {
	font-family: var(--jk-display, 'Bagel Fat One', 'Fredoka', system-ui, sans-serif);
	font-size: 40px;
	line-height: 1.05;
	font-weight: 400;
	color: var(--jk-ink);
	margin: 8px 0 14px;
	letter-spacing: -0.8px;
}
.jk-about-cta__lede {
	font-family: var(--jk-body);
	font-size: 16px;
	color: var(--jk-brown);
	max-width: 580px;
	margin: 0 auto 22px;
	line-height: 1.5;
}
.jk-about-cta__buttons {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

@media (max-width: 700px) {
	.jk-about-history { padding: 50px 18px 20px; }
	.jk-about-history__title { font-size: 30px; }
	.jk-about-history__media img { min-height: 260px; }
	.jk-about-values { padding: 50px 18px; }
	.jk-about-cta__title { font-size: 30px; }
}

/* "Prose flat" — versión sin box para usar dentro de columnas (historia) */
.jk-prose--flat {
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

/* =================================================================
   Aviso de envío dinámico en la ficha de producto (plugin Envíos UY)
   ================================================================= */
.jk-info__shipping {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding: 11px 16px;
	background: var(--jk-cream);
	border: 2px dashed rgba(45,27,15,0.16);
	border-radius: 14px;
	font-size: 14px;
	font-weight: 700;
	color: var(--jk-ink);
	line-height: 1.35;
}
.jk-info__shipping.is-free {
	background: #E9F7E7;
	border-style: solid;
	border-color: #9FD49C;
}
.jk-info__shipping-icon { font-size: 18px; flex-shrink: 0; }

/* Card de envío de "tu zona" resaltado en la ficha (pestaña Envíos) */
.jk-tab-ship__card.is-active-zone {
	outline: 3px solid var(--jk-ink);
	outline-offset: 2px;
}
.jk-tab-ship__yours {
	display: inline-block;
	margin-left: 6px;
	background: var(--jk-ink);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 999px;
	vertical-align: middle;
}

/* Divider y items de marca dentro del panel sticky "Categorías" */
.jk-cats-stick__divider {
	margin: 18px 6px 8px;
	font-family: var(--jk-display);
	font-size: 18px;
	color: var(--jk-ink);
	letter-spacing: 0;
	border-top: 2px dashed rgba(45,27,15,0.14);
	padding-top: 14px;
}
.jk-cats-stick__item--brand .jk-cats-stick__item-icon {
	background: var(--jk-cream);
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	overflow: hidden;
}
.jk-cats-stick__item--brand .jk-cats-stick__item-icon img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
