:root{
  --jk-bg:#FDF4E3;
  --jk-surface:#FFFFFF;
  --jk-ink:#2A151E;
  --jk-muted:#6B5058;
  --jk-line:#E9D9C4;
  --jk-accent:#8C1039;
  --jk-accent-deep:#6B0A2A;
  --jk-saffron:#F58220;
  --jk-leaf:#00A651;
  --jk-cocoa:#5E0A24;
  --jk-gold:#F5B324;
  --jk-gold-pale:#F3DE72;

  --jk-xs:6px; --jk-sm:12px; --jk-md:24px; --jk-lg:48px; --jk-xl:88px;
  --jk-r-sm:6px; --jk-r-md:14px; --jk-r-pill:999px;
  --jk-shadow:0 10px 30px rgba(94,10,36,.10);
  --jk-wrap:1240px;
}

*,*::before,*::after{box-sizing:border-box}

body{
  background:var(--jk-bg);
  color:var(--jk-ink);
  font-family:'Poppins',sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6,.jk-display{
  font-family:'Poppins',sans-serif;
  color:var(--jk-ink);
  margin:0 0 var(--jk-sm);
  text-wrap:balance;
}
h1,.jk-display{font-weight:700;line-height:1.05;letter-spacing:-.02em;font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-weight:600;line-height:1.15;letter-spacing:-.015em;font-size:clamp(1.6rem,3.4vw,2.5rem)}
h3{font-weight:600;line-height:1.2;font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 var(--jk-md);max-width:66ch}
a{color:inherit}

.jk-wrap{max-width:var(--jk-wrap);margin-inline:auto;padding-inline:var(--jk-md)}
.jk-section{padding-block:var(--jk-xl)}
.jk-lede{color:var(--jk-muted);font-size:1.05rem}

/* ---------- Buttons ---------- */
.jk-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--jk-accent);color:#fff;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;line-height:1;
  padding:14px 28px;border:0;border-radius:var(--jk-r-pill);
  text-decoration:none;cursor:pointer;box-shadow:none;
  transition:background .18s ease,transform .12s ease;
}
.jk-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{background:var(--jk-accent-deep);color:#fff}
.jk-cta:active{transform:translateY(1px)}

.jk-btn--ghost{background:transparent;color:var(--jk-ink);border:1.5px solid var(--jk-ink)}
.jk-btn--ghost:hover{background:var(--jk-ink);color:var(--jk-bg)}
.jk-btn--onDark{background:#fff;color:var(--jk-cocoa)}
.jk-btn--onDark:hover{background:var(--jk-bg);color:var(--jk-cocoa)}

/* ---------- Badges ---------- */
.jk-badge{
  display:inline-block;border-radius:var(--jk-r-pill);
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 11px;line-height:1;color:#fff;margin-bottom:8px;
}
.jk-badge--fresh{background:var(--jk-leaf)}
.jk-badge--best{background:var(--jk-saffron)}

/* ---------- Delivery zone switch ---------- */
.jk-zone{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.jk-zone__label{
  font-size:12px;font-weight:500;color:var(--jk-muted);
  margin-right:2px;white-space:nowrap;
}
.jk-zone__btn{
  font-size:13px;font-weight:600;line-height:1;
  padding:9px 18px;border-radius:var(--jk-r-pill);
  border:1.5px solid var(--jk-line);background:var(--jk-surface);
  color:var(--jk-ink);text-decoration:none;white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.jk-zone__btn:hover{border-color:var(--jk-accent);color:var(--jk-accent)}
.jk-zone__btn.is-active{
  background:var(--jk-accent);border-color:var(--jk-accent);color:#fff;
}
.jk-zone__btn.is-active:hover{background:var(--jk-accent-deep);color:#fff}

/* ---------- First-visit zone chooser ---------- */
.jk-zone-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(42,21,30,.62);
  display:flex;align-items:center;justify-content:center;padding:var(--jk-md);
}
.jk-zone-modal__box{
  background:var(--jk-surface);border-radius:var(--jk-r-md);
  max-width:460px;width:100%;padding:40px 36px;text-align:center;
  box-shadow:var(--jk-shadow);
}
.jk-zone-modal__box h2{font-size:1.5rem;margin-bottom:10px}
.jk-zone-modal__box p{color:var(--jk-muted);font-size:.95rem;margin:0 auto var(--jk-md);max-width:38ch}
.jk-zone-modal__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.jk-zone-modal__btn{
  flex:1 1 150px;
  background:var(--jk-accent);color:#fff;
  font-weight:600;font-size:.95rem;line-height:1;
  padding:15px 20px;border-radius:var(--jk-r-pill);text-decoration:none;
  transition:background .18s ease;
}
.jk-zone-modal__btn:hover{background:var(--jk-accent-deep);color:#fff}
.jk-zone-modal__btn:last-child{background:var(--jk-ink)}
.jk-zone-modal__btn:last-child:hover{background:var(--jk-cocoa)}

/* ---------- Header ---------- */
.jk-topbar{
  background:var(--jk-cocoa);color:#FBEEDA;
  font-size:12.5px;letter-spacing:.02em;
}
.jk-topbar .jk-wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--jk-md);padding-block:9px;flex-wrap:wrap;
}
.jk-topbar a{color:#fff;text-decoration:none;font-weight:500}
.jk-topbar a:hover{text-decoration:underline}

.site-header,.jk-header{background:var(--jk-surface);border-bottom:1px solid var(--jk-line)}
.jk-header .jk-wrap{
  display:flex;align-items:center;gap:var(--jk-md);
  padding-block:14px;justify-content:space-between;
}
.jk-header__logo img,.custom-logo{max-height:56px;width:auto;display:block}

.jk-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center}
.jk-nav a{
  text-decoration:none;font-weight:500;font-size:15px;color:var(--jk-ink);
  padding-block:6px;position:relative;white-space:nowrap;
}
.jk-nav a::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--jk-accent);transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.jk-nav a:hover::after,.jk-nav .current-menu-item>a::after{transform:scaleX(1)}

/* ---------- Product cards ---------- */
.woocommerce ul.products li.product,
.jk-card{
  background:var(--jk-surface);
  border:1px solid var(--jk-line);
  border-radius:var(--jk-r-md);
  overflow:hidden;padding:0 0 18px;text-align:left;
  transition:border-color .2s ease;
}
.woocommerce ul.products li.product:hover{border-color:#E0CBAE}
.woocommerce ul.products li.product a img{
  margin:0 0 14px;border-radius:0;
  transition:transform .35s ease;
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)}
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  display:block;overflow:hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem!important;font-weight:600;line-height:1.3;
  padding:0 16px;margin:0 0 4px;
}
.woocommerce ul.products li.product .price{
  color:var(--jk-accent)!important;font-weight:600;font-size:1.05rem;
  padding:0 16px;display:block;font-variant-numeric:tabular-nums;
}
.woocommerce ul.products li.product .price del{color:var(--jk-muted);font-weight:400;opacity:.7}
.woocommerce ul.products li.product .jk-badge{margin:0 16px 8px}
.woocommerce ul.products li.product .button{margin:14px 16px 0;width:calc(100% - 32px)}
.woocommerce span.onsale{
  background:var(--jk-saffron);color:#fff;border-radius:var(--jk-r-pill);
  font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  min-height:0;min-width:0;padding:6px 13px;line-height:1;top:12px;left:12px;margin:0;
}

/* ---------- Dark contrast band ---------- */
.jk-band{background:var(--jk-cocoa);color:#FBEEDA}
.jk-band h2,.jk-band h3{color:#fff}
.jk-band p{color:#E8D2B4}

/* ---------- Reels strip ---------- */
.jk-reels{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--jk-md)}
.jk-reel{
  aspect-ratio:9/16;border-radius:var(--jk-r-md);overflow:hidden;
  background:linear-gradient(150deg,#F58220 0%,#8C1039 55%,#6B0A2A 100%);
  position:relative;display:block;
}
.jk-reel iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Placeholder art (swapped for real photography) ---------- */
.jk-ph{
  background:
    radial-gradient(circle at 28% 26%,rgba(255,255,255,.4) 0,transparent 46%),
    linear-gradient(145deg,var(--jk-saffron) 0%,var(--jk-accent) 62%,var(--jk-accent-deep) 100%);
  border-radius:var(--jk-r-md);
  display:flex;align-items:flex-end;padding:var(--jk-md);
  color:#fff;font-weight:600;letter-spacing:.02em;min-height:220px;
}
.jk-ph--leaf{background:linear-gradient(145deg,var(--jk-leaf) 0%,var(--jk-cocoa) 100%)}
.jk-ph--cocoa{background:linear-gradient(145deg,var(--jk-accent-deep) 0%,var(--jk-cocoa) 100%)}

/* ---------- Footer ---------- */
.jk-footer{background:var(--jk-cocoa);color:#E8D2B4;padding-block:var(--jk-xl) var(--jk-lg)}
.jk-footer a{color:#FBEEDA;text-decoration:none}
.jk-footer a:hover{color:#fff;text-decoration:underline}
.jk-footer h3{color:#fff;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--jk-sm)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .jk-reels{grid-template-columns:repeat(2,1fr)}
  :root{--jk-xl:64px}
}
@media (max-width:768px){
  body{font-size:15px}
  :root{--jk-xl:52px;--jk-lg:36px}
  .jk-header .jk-wrap{flex-wrap:wrap;row-gap:10px}
  .jk-nav ul{gap:16px;overflow-x:auto;padding-bottom:4px}
  .jk-zone__label{display:none}
  .jk-zone-modal__box{padding:30px 22px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.92rem!important}
}
@media (max-width:520px){
  .jk-reels{grid-template-columns:repeat(2,1fr);gap:var(--jk-sm)}
}

@media (prefers-reduced-motion:reduce){
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .woocommerce ul.products li.product:hover a img{transform:none}
}

/* ---------- Header actions ---------- */
.jk-header__actions{display:flex;align-items:center;gap:var(--jk-sm);flex-wrap:wrap;justify-content:flex-end}
.jk-cart{padding:11px 22px;font-size:.9rem}

/* ---------- Footer layout ---------- */
.jk-footer__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  gap:var(--jk-lg);align-items:start;
}
.jk-footer__brand img,.jk-footer__brand .custom-logo{max-height:52px;width:auto;margin-bottom:var(--jk-sm)}
.jk-footer__brand p{font-size:.92rem;line-height:1.7;max-width:34ch;color:#E8D2B4}
.jk-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.jk-footer__list a{font-size:.93rem}
.jk-footer p{margin-bottom:8px;font-size:.93rem}
.jk-footer__base{
  display:flex;justify-content:space-between;gap:var(--jk-md);flex-wrap:wrap;
  margin-top:var(--jk-xl);padding-top:var(--jk-md);
  border-top:1px solid rgba(251,238,218,.18);
  font-size:.82rem;color:#C9A98A;
}

/* ---------- Home sections ---------- */
.jk-hero{position:relative;overflow:hidden;padding-block:var(--jk-xl)}
.jk-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--jk-lg);align-items:center}
.jk-hero__eyebrow{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--jk-accent);margin-bottom:var(--jk-sm);
}
.jk-hero h1{margin-bottom:var(--jk-sm)}
.jk-hero__actions{display:flex;gap:var(--jk-sm);flex-wrap:wrap;margin-top:var(--jk-md)}
.jk-hero__art{
  position:relative;min-height:440px;border-radius:var(--jk-r-md) 0 0 var(--jk-r-md);
  margin-right:calc(50% - 50vw);
}

.jk-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--jk-md)}
.jk-rail__item{
  display:block;text-decoration:none;border-radius:var(--jk-r-md);
  overflow:hidden;border:1px solid var(--jk-line);background:var(--jk-surface);
  transition:border-color .2s ease;
}
.jk-rail__item:hover{border-color:var(--jk-accent)}
.jk-rail__art{min-height:170px}
.jk-rail__label{padding:14px 16px;font-weight:600;font-size:1rem;display:flex;justify-content:space-between;gap:8px;align-items:center}
.jk-rail__count{font-size:.8rem;font-weight:400;color:var(--jk-muted)}

.jk-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--jk-lg);align-items:center}
.jk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--jk-md);margin-top:var(--jk-lg)}
.jk-stat__n{font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1;color:var(--jk-saffron)}
.jk-stat__l{font-size:.85rem;color:#E8D2B4;margin-top:6px}

.jk-occ{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--jk-md)}
.jk-occ__item{
  display:flex;align-items:flex-end;min-height:190px;padding:var(--jk-md);
  border-radius:var(--jk-r-md);text-decoration:none;color:#fff;font-weight:600;
  transition:transform .2s ease;
}
.jk-occ__item:hover{transform:translateY(-3px)}

.jk-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--jk-md);margin-bottom:var(--jk-lg);flex-wrap:wrap}
.jk-sechead p{margin:6px 0 0}

.jk-reels__note{font-size:.85rem;color:var(--jk-muted);margin-top:var(--jk-md)}

@media (max-width:900px){
  .jk-footer__grid{grid-template-columns:1fr 1fr}
  .jk-hero__grid,.jk-split{grid-template-columns:1fr}
  .jk-hero__art{margin-right:0;min-height:280px;border-radius:var(--jk-r-md)}
  .jk-rail,.jk-occ{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .jk-footer__grid{grid-template-columns:1fr;gap:var(--jk-md)}
  .jk-stats{grid-template-columns:1fr;gap:var(--jk-sm)}
  /* removed: this dated from when the zone switcher sat inside the header
     actions. With only Search and Cart left it forced them onto their own
     full-width row on phones. */
}
/* ============ HEADER v2 ============ */
.jk-topbar{background:var(--jk-cocoa);color:#E8D2B4;font-size:12.5px}
.jk-topbar .jk-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--jk-md);padding-block:10px;flex-wrap:wrap}
.jk-topbar__left,.jk-topbar__right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.jk-topbar a{color:#FBEEDA;text-decoration:none;font-weight:500}
.jk-topbar a:hover{color:#fff;text-decoration:underline}
.jk-topbar__note{color:#C9A98A}
.jk-topbar__tel{font-weight:600!important}
.jk-social{display:flex;gap:8px}
.jk-social a{
  width:26px;height:26px;border-radius:var(--jk-r-pill);
  border:1px solid rgba(251,238,218,.32);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:600;letter-spacing:.02em;text-decoration:none!important;
}
.jk-social a:hover{background:var(--jk-accent);border-color:var(--jk-accent);color:#fff}

.jk-header{
  background:var(--jk-surface);border-bottom:1px solid var(--jk-line);
  position:sticky;top:0;z-index:800;transition:box-shadow .2s ease;
}
.jk-header.is-stuck{box-shadow:0 6px 22px rgba(94,10,36,.10)}
.jk-header__row{display:flex;align-items:center;gap:var(--jk-md);padding-block:12px}
.jk-header__logo{flex:0 0 auto}
.jk-header__logo img,.jk-header__logo .custom-logo{max-height:52px;width:auto;display:block}
.jk-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--jk-sm)}

/* --- nav --- */
.jk-nav__list{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.jk-nav__item{position:relative}
.jk-nav__item>a{
  display:inline-block;text-decoration:none;color:var(--jk-ink);
  font-weight:500;font-size:15px;padding-block:22px;position:relative;white-space:nowrap;
}
.jk-nav__item>a::after{
  content:'';position:absolute;left:0;right:0;bottom:14px;height:2px;
  background:var(--jk-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.jk-nav__item:hover>a::after,.jk-nav__item.current-menu-item>a::after{transform:scaleX(1)}
.jk-nav__item--mega>a::before,.jk-nav__item--drop>a::before{
  content:'';display:inline-block;width:5px;height:5px;margin-right:7px;vertical-align:middle;
  border-right:1.5px solid var(--jk-muted);border-bottom:1.5px solid var(--jk-muted);
  transform:rotate(45deg) translateY(-2px);
}

/* --- mega panel --- */
.jk-mega__wrap{
  position:absolute;left:0;right:0;top:100%;
  background:var(--jk-surface);border-top:1px solid var(--jk-line);
  box-shadow:0 18px 40px rgba(94,10,36,.13);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:820;
}
.jk-nav__item--mega{position:static}
.jk-nav__item--mega:hover .jk-mega__wrap,
.jk-nav__item--mega:focus-within .jk-mega__wrap{opacity:1;visibility:visible;transform:translateY(0)}

.jk-mega{display:grid;grid-template-columns:300px 1fr;gap:var(--jk-lg);padding-block:var(--jk-lg)}
.jk-mega__promo{display:block;text-decoration:none;color:var(--jk-ink)}
.jk-mega__promo-img{
  display:block;border-radius:var(--jk-r-md);overflow:hidden;
  height:180px;margin-bottom:var(--jk-sm);
}
.jk-mega__promo-img img{width:100%;height:180px;object-fit:cover;display:block}
.jk-mega__promo-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--jk-accent)}
.jk-mega__promo-title{display:block;font-size:1.25rem;font-weight:700;line-height:1.15;margin-top:4px}
.jk-mega__promo-cta{display:inline-block;margin-top:8px;font-size:.9rem;font-weight:600;color:var(--jk-accent)}
.jk-mega__promo:hover .jk-mega__promo-cta{text-decoration:underline}

.jk-mega__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--jk-lg)}
.jk-mega__col h4{
  font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--jk-muted);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--jk-line);
}
.jk-mega__col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.jk-mega__col a{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  text-decoration:none;color:var(--jk-ink);font-size:.94rem;font-weight:500;
}
.jk-mega__col a:hover{color:var(--jk-accent)}
.jk-mega__col em{
  font-style:normal;font-size:11px;font-weight:600;color:var(--jk-muted);
  background:var(--jk-bg);border-radius:var(--jk-r-pill);padding:2px 8px;
}

/* --- simple dropdown --- */
.jk-drop{
  position:absolute;left:-16px;top:100%;min-width:220px;
  background:var(--jk-surface);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  box-shadow:0 16px 34px rgba(94,10,36,.13);padding:12px 0;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:820;
}
.jk-nav__item--drop:hover .jk-drop,.jk-nav__item--drop:focus-within .jk-drop{opacity:1;visibility:visible;transform:translateY(0)}
.jk-drop ul{list-style:none;margin:0;padding:0}
.jk-drop a{display:block;padding:9px 20px;text-decoration:none;color:var(--jk-ink);font-size:.93rem}
.jk-drop a:hover{background:var(--jk-bg);color:var(--jk-accent)}

/* --- cart --- */
.jk-cart{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:var(--jk-accent);color:#fff;font-weight:600;font-size:.9rem;
  padding:11px 20px;border-radius:var(--jk-r-pill);transition:background .18s ease;
}
.jk-cart:hover{background:var(--jk-accent-deep);color:#fff}
.jk-cart__n{
  background:rgba(255,255,255,.24);border-radius:var(--jk-r-pill);
  min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;padding:0 6px;
}

/* --- burger --- */
.jk-burger{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:8px 4px}
.jk-burger span{display:block;width:22px;height:2px;background:var(--jk-ink);border-radius:2px}

/* ============ ZONE MODAL v2 ============ */
.jk-zone-modal{
  position:fixed;inset:0;z-index:9999;
  background:rgba(42,21,30,.66);
  display:flex;align-items:center;justify-content:center;padding:var(--jk-md);
}
.jk-zone-modal__box{
  position:relative;background:var(--jk-surface);border-radius:var(--jk-r-md);
  width:100%;max-width:720px;overflow:hidden;
  display:grid;grid-template-columns:250px 1fr;
  box-shadow:0 26px 60px rgba(94,10,36,.32);
}
.jk-zone-modal__close{
  position:absolute;top:12px;right:14px;z-index:2;
  width:34px;height:34px;border-radius:var(--jk-r-pill);
  display:flex;align-items:center;justify-content:center;
  background:var(--jk-bg);color:var(--jk-ink);text-decoration:none;
  font-size:22px;line-height:1;font-weight:400;
  border:1px solid var(--jk-line);transition:background .16s ease,color .16s ease;
}
.jk-zone-modal__close:hover{background:var(--jk-accent);border-color:var(--jk-accent);color:#fff}

.jk-zone-modal__art{
  background:linear-gradient(150deg,var(--jk-saffron) 0%,var(--jk-accent) 60%,var(--jk-accent-deep) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:var(--jk-md);
}
.jk-zone-modal__logo{max-width:170px;height:auto;display:block}
.jk-zone-modal__since{
  color:#fff;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.45);padding-top:10px;
}

.jk-zone-modal__body{padding:44px 40px 36px;text-align:left}
.jk-zone-modal__body h2{font-size:1.6rem;line-height:1.15;margin-bottom:10px}
.jk-zone-modal__body p{color:var(--jk-muted);font-size:.95rem;line-height:1.6;margin:0 0 var(--jk-md);max-width:40ch}
.jk-zone-modal__actions{display:flex;gap:10px;flex-wrap:wrap}
.jk-zone-modal__btn{
  flex:1 1 150px;text-align:center;
  background:var(--jk-accent);color:#fff;font-weight:600;font-size:.95rem;line-height:1;
  padding:15px 20px;border-radius:var(--jk-r-pill);text-decoration:none;transition:background .18s ease;
}
.jk-zone-modal__btn:hover{background:var(--jk-accent-deep);color:#fff}
.jk-zone-modal__btn:last-child{background:var(--jk-ink)}
.jk-zone-modal__btn:last-child:hover{background:var(--jk-cocoa)}
.jk-zone-modal__note{font-size:.8rem!important;color:var(--jk-muted);margin:var(--jk-sm) 0 0!important}

/* ============ HEADER RESPONSIVE ============ */
@media (max-width:1100px){
  .jk-nav__list{gap:18px}
  .jk-nav__item>a{font-size:14px}
  .jk-mega{grid-template-columns:240px 1fr;gap:var(--jk-md)}
  .jk-mega__cols{gap:var(--jk-md)}
}
@media (max-width:960px){
  .jk-burger{display:flex;order:-1}
  .jk-header__row{flex-wrap:wrap;row-gap:10px}
  .jk-nav{order:5;flex-basis:100%;display:none}
  .jk-nav.is-open{display:block}
  .jk-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .jk-nav__item>a{padding-block:13px;display:block;border-bottom:1px solid var(--jk-line)}
  .jk-nav__item>a::after{display:none}
  .jk-mega__wrap,.jk-drop{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;padding:0;background:var(--jk-bg);
  }
  .jk-mega{grid-template-columns:1fr;padding:var(--jk-md)}
  .jk-mega__promo-img{height:140px}
  .jk-mega__promo-img img{height:140px}
  .jk-mega__cols{grid-template-columns:1fr;gap:var(--jk-md)}
  .jk-drop a{padding-left:var(--jk-md)}
  .jk-header__actions{margin-left:auto}
  .jk-topbar__note{display:none}
}
@media (max-width:680px){
  .jk-zone-modal__box{grid-template-columns:1fr;max-width:420px}
  .jk-zone-modal__art{flex-direction:row;justify-content:flex-start;gap:16px;padding:18px 20px}
  .jk-zone-modal__logo{max-width:120px}
  .jk-zone-modal__since{border-top:0;border-left:1px solid rgba(255,255,255,.45);padding:0 0 0 14px}
  .jk-zone-modal__body{padding:26px 22px 24px}
  .jk-zone-modal__body h2{font-size:1.35rem}
  .jk-topbar__left a,.jk-topbar__right .jk-social{display:none}
  .jk-header__logo img,.jk-header__logo .custom-logo{max-height:40px}
  .jk-cart__ico{display:none}
  .jk-cart{padding:10px 14px}
}
/* ============ PRODUCT CARD BUTTONS ============ */
.jk-weight{
  display:block;padding:0 16px;margin:0 0 6px;
  font-size:.8rem;color:var(--jk-muted);font-weight:500;
}
.jk-cardbtns{display:flex;gap:8px;padding:14px 16px 0}
.woocommerce ul.products li.product .jk-cardbtns .button,
.woocommerce ul.products li.product .jk-cardbtns .jk-buynow{
  margin:0;width:auto;flex:1 1 0;min-width:0;
  padding:11px 10px;font-size:.82rem;font-weight:600;line-height:1;
  border-radius:var(--jk-r-pill);text-align:center;white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;
}
.woocommerce ul.products li.product .jk-cardbtns .button{
  background:transparent;color:var(--jk-ink);border:1.5px solid var(--jk-ink);
}
.woocommerce ul.products li.product .jk-cardbtns .button:hover{background:var(--jk-ink);color:var(--jk-bg)}
.jk-buynow{
  background:var(--jk-accent);color:#fff;text-decoration:none;border:1.5px solid var(--jk-accent);
  transition:background .18s ease,border-color .18s ease;cursor:pointer;font-family:inherit;
}
.jk-buynow:hover{background:var(--jk-accent-deep);border-color:var(--jk-accent-deep);color:#fff}
.jk-buynow--single{
  padding:14px 30px;font-size:.95rem;border-radius:var(--jk-r-pill);
  margin-left:10px;font-weight:600;
}
.woocommerce ul.products li.product .added_to_cart{display:none}
.woocommerce ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product .jk-cardbtns{margin-top:auto}

/* ============ TRUST STRIP ============ */
.jk-trust{background:var(--jk-surface);border-block:1px solid var(--jk-line)}
.jk-trust__row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.jk-trust__item{
  padding:22px var(--jk-md);border-left:1px solid var(--jk-line);
  display:flex;flex-direction:column;gap:3px;
}
.jk-trust__item:first-child{border-left:0;padding-left:0}
.jk-trust__item strong{font-size:.95rem;font-weight:600;color:var(--jk-ink)}
.jk-trust__item span{font-size:.83rem;color:var(--jk-muted)}

/* ============ SHOP BY BUDGET ============ */
.jk-budget{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--jk-md)}
.jk-budget__item{
  display:flex;flex-direction:column;justify-content:space-between;gap:var(--jk-lg);
  min-height:150px;padding:var(--jk-md);text-decoration:none;
  border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  background:var(--jk-surface);color:var(--jk-ink);
  transition:border-color .2s ease,background .2s ease;
}
.jk-budget__item:hover{border-color:var(--jk-accent);background:var(--jk-bg)}
.jk-budget__label{font-size:1.15rem;font-weight:600;line-height:1.2}
.jk-budget__cta{font-size:.85rem;font-weight:600;color:var(--jk-accent)}

/* ============ HAMPER FEATURE ============ */
.jk-hamper{background:var(--jk-surface);border-block:1px solid var(--jk-line)}
.jk-hamper__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--jk-lg);align-items:center}
.jk-hamper__art{min-height:420px;border-radius:0 var(--jk-r-md) var(--jk-r-md) 0;margin-left:calc(50% - 50vw)}
.jk-ticks{list-style:none;margin:0 0 var(--jk-md);padding:0;display:grid;gap:10px}
.jk-ticks li{position:relative;padding-left:26px;font-size:.95rem;color:var(--jk-ink)}
.jk-ticks li::before{
  content:'';position:absolute;left:0;top:7px;width:7px;height:12px;
  border-right:2px solid var(--jk-leaf);border-bottom:2px solid var(--jk-leaf);
  transform:rotate(42deg);
}

/* ============ REVIEWS ============ */
.jk-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--jk-md)}
.jk-quote{
  margin:0;padding:var(--jk-md);background:var(--jk-surface);
  border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  border-top:3px solid var(--jk-saffron);
}
.jk-quote p{font-size:.97rem;line-height:1.65;margin:0 0 var(--jk-sm);color:var(--jk-ink)}
.jk-quote cite{font-style:normal;font-size:.82rem;font-weight:600;color:var(--jk-muted)}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .jk-trust__row{grid-template-columns:repeat(2,1fr)}
  .jk-trust__item:nth-child(3){border-left:0;padding-left:0}
  .jk-budget{grid-template-columns:repeat(2,1fr)}
  .jk-quotes{grid-template-columns:1fr;gap:var(--jk-sm)}
  .jk-hamper__grid{grid-template-columns:1fr}
  .jk-hamper__art{margin-left:0;min-height:260px;border-radius:var(--jk-r-md)}
}
@media (max-width:768px){
  .jk-cardbtns{flex-direction:column;gap:6px}
  .woocommerce ul.products li.product .jk-cardbtns .button,
  .woocommerce ul.products li.product .jk-cardbtns .jk-buynow{width:100%;flex:none}
  .jk-buynow--single{margin:10px 0 0;width:100%}
}
@media (max-width:560px){
  .jk-trust__row{grid-template-columns:1fr}
  .jk-trust__item{border-left:0;padding-left:0;padding-block:14px;border-top:1px solid var(--jk-line)}
  .jk-trust__item:first-child{border-top:0}
  .jk-budget{grid-template-columns:1fr}
  .jk-budget__item{min-height:0;gap:var(--jk-md)}
}
/* ============ PRODUCT DETAIL PAGE ============ */
.jk-pdp{padding-block:var(--jk-md) var(--jk-xl)}
.jk-crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.83rem;color:var(--jk-muted);margin-bottom:var(--jk-md)}
.jk-crumbs a{color:var(--jk-muted);text-decoration:none}
.jk-crumbs a:hover{color:var(--jk-accent)}
.jk-crumbs__now{color:var(--jk-ink);font-weight:500}

.jk-pdp__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--jk-xl);align-items:start}
.jk-pdp__media{position:relative}
.jk-pdp__flag{position:absolute;top:14px;left:14px;z-index:3;margin:0}
.jk-pdp__media img{border-radius:var(--jk-r-md);display:block;width:100%;height:auto}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images .flex-control-thumbs{margin-top:12px;display:flex;gap:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:88px;margin:0;float:none}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:var(--jk-r-sm);border:1px solid var(--jk-line)}

.jk-pdp__title{font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.1;margin:0 0 10px}
.jk-pdp__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--jk-muted);margin-bottom:var(--jk-sm)}
.jk-veg{
  width:15px;height:15px;border:1.5px solid var(--jk-leaf);border-radius:2px;
  display:inline-flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto;
}
.jk-veg::after{content:'';width:7px;height:7px;border-radius:50%;background:var(--jk-leaf)}
.jk-dot{width:3px;height:3px;border-radius:50%;background:var(--jk-line)}

.jk-pdp__price{margin-bottom:var(--jk-sm)}
.jk-pdp__price .price,.jk-pdp__price bdi{
  font-size:1.7rem!important;font-weight:700;color:var(--jk-accent)!important;
  font-variant-numeric:tabular-nums;
}
.jk-pdp__price del{font-size:1.05rem;color:var(--jk-muted);font-weight:400;opacity:.7;margin-right:8px}
.jk-pdp__short{color:var(--jk-muted);font-size:.95rem;line-height:1.65;margin-bottom:var(--jk-md)}

/* variation selector as pills */
.woocommerce div.product form.cart .variations{margin:0 0 var(--jk-md);display:block}
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td{display:block;width:100%;padding:0;border:0}
.woocommerce div.product form.cart .variations .label{margin-bottom:8px}
.woocommerce div.product form.cart .variations label{
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--jk-muted);
}
.woocommerce div.product form.cart .variations select{
  width:100%;max-width:320px;padding:13px 16px;font-family:inherit;font-size:.95rem;font-weight:500;
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);background:var(--jk-surface);color:var(--jk-ink);
}
.woocommerce div.product form.cart .variations select:focus{outline:0;border-color:var(--jk-accent)}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:var(--jk-sm)}
.woocommerce div.product .woocommerce-variation-price .price{font-size:1.45rem!important;color:var(--jk-accent)!important;font-weight:700}
.woocommerce a.reset_variations{font-size:.8rem;color:var(--jk-muted);display:inline-block;margin-bottom:8px}

/* qty + buttons */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:var(--jk-md)}
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .woocommerce-variation{flex:1 1 100%}
.woocommerce div.product form.cart div.quantity{margin:0;flex:0 0 auto}
.woocommerce .quantity .qty{
  width:78px;padding:14px 8px;text-align:center;font-family:inherit;font-size:.95rem;font-weight:600;
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);background:var(--jk-surface);color:var(--jk-ink);
}
.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1 1 160px;padding:14px 26px;font-size:.95rem;font-weight:600;
  background:transparent;color:var(--jk-ink);border:1.5px solid var(--jk-ink);border-radius:var(--jk-r-pill);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--jk-ink);color:var(--jk-bg)}
.jk-buynow--single{flex:1 1 160px}

/* pincode */
.jk-pincode{
  background:var(--jk-bg);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  padding:18px 20px;margin-bottom:var(--jk-md);
}
.jk-pincode label{
  display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--jk-muted);margin-bottom:10px;
}
.jk-pincode__row{display:flex;gap:8px}
.jk-pincode input{
  flex:1 1 auto;min-width:0;padding:12px 16px;font-family:inherit;font-size:.93rem;
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);background:var(--jk-surface);color:var(--jk-ink);
}
.jk-pincode input:focus{outline:0;border-color:var(--jk-accent)}
.jk-pincode button{
  flex:0 0 auto;padding:12px 24px;font-family:inherit;font-size:.9rem;font-weight:600;
  background:var(--jk-accent);color:#fff;border:0;border-radius:var(--jk-r-pill);cursor:pointer;
}
.jk-pincode button:hover{background:var(--jk-accent-deep)}
.jk-pincode__out{font-size:.88rem;line-height:1.55;margin:10px 0 0;max-width:none}
.jk-pincode__out.is-ok{color:var(--jk-ink);padding-left:20px;position:relative}
.jk-pincode__out.is-ok::before{content:'';position:absolute;left:2px;top:5px;width:6px;height:11px;border-right:2px solid var(--jk-leaf);border-bottom:2px solid var(--jk-leaf);transform:rotate(42deg)}
.jk-pincode__out.is-no{color:var(--jk-accent-deep)}

/* facts */
.jk-pdp__facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--jk-line)}
.jk-pdp__facts li{
  display:flex;justify-content:space-between;gap:var(--jk-md);
  padding:13px 0;border-bottom:1px solid var(--jk-line);font-size:.9rem;
}
.jk-pdp__facts strong{font-weight:600;color:var(--jk-muted);font-weight:500}
.jk-pdp__facts span{text-align:right;color:var(--jk-ink);font-weight:500}

/* panels */
.jk-pdp__panels{margin-top:var(--jk-xl);max-width:820px}
.jk-panel{border-bottom:1px solid var(--jk-line)}
.jk-panel summary{
  cursor:pointer;list-style:none;padding:20px 0;font-size:1.05rem;font-weight:600;
  display:flex;justify-content:space-between;align-items:center;
}
.jk-panel summary::-webkit-details-marker{display:none}
.jk-panel summary::after{
  content:'';width:8px;height:8px;flex:0 0 auto;
  border-right:2px solid var(--jk-muted);border-bottom:2px solid var(--jk-muted);
  transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;
}
.jk-panel[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.jk-panel__body{padding:0 0 24px}
.jk-panel__body p{font-size:.95rem;line-height:1.7;color:var(--jk-ink)}
.jk-panel__note{color:var(--jk-muted);font-size:.87rem!important}

/* related */
.woocommerce .related>h2,.woocommerce .upsells>h2{
  font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;margin:var(--jk-xl) 0 var(--jk-md);
}

@media (max-width:900px){
  .jk-pdp__grid{grid-template-columns:1fr;gap:var(--jk-lg)}
}
@media (max-width:560px){
  .woocommerce div.product form.cart div.quantity{flex:1 1 100%}
  .woocommerce .quantity .qty{width:100%}
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .jk-buynow--single{flex:1 1 100%;margin-left:0}
  .jk-pincode__row{flex-direction:column}
  .jk-pincode button{width:100%}
  .jk-pdp__facts li{flex-direction:column;gap:2px}
  .jk-pdp__facts span{text-align:left}
}
/* ============ HORIZONTAL OVERFLOW FIX ============ */
/* The full-bleed art used calc(50% - 50vw). 100vw includes the vertical
   scrollbar, so it overflowed by the scrollbar width and forced a sideways
   scroll on desktop. Clip at the root (clip, not hidden, so the sticky
   header keeps working) and subtract the measured scrollbar width. */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}

.jk-hero__art{margin-right:calc(50% - 50vw + (var(--jk-sbw, 0px) / 2))}
.jk-hamper__art{margin-left:calc(50% - 50vw + (var(--jk-sbw, 0px) / 2))}

/* Nothing may exceed the viewport */
img,video,iframe,table,pre{max-width:100%}
.jk-mega__wrap{max-width:100vw}
/* ============ NAMKEEN COUNTER ============ */
.jk-namkeen{background:var(--jk-surface);border-block:1px solid var(--jk-line)}
.jk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--jk-lg)}
.jk-chip{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:var(--jk-r-pill);
  border:1.5px solid var(--jk-line);background:var(--jk-bg);
  color:var(--jk-ink);text-decoration:none;font-weight:600;font-size:.92rem;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.jk-chip:hover{border-color:var(--jk-accent);color:var(--jk-accent);background:var(--jk-surface)}
.jk-chip em{
  font-style:normal;font-size:11px;font-weight:600;color:var(--jk-muted);
  background:var(--jk-surface);border-radius:var(--jk-r-pill);padding:2px 8px;
}
.jk-chip:hover em{color:var(--jk-accent)}
.jk-namkeen .jk-sechead{margin-bottom:var(--jk-md)}

@media (max-width:560px){
  .jk-chips{gap:8px}
  .jk-chip{padding:9px 15px;font-size:.86rem}
}
/* ============ PRODUCT GRID ALIGNMENT ============ */
/* Woo ships a float based loop. Any variation in title length, badge
   presence or price range breaks the row. Force a real grid so every
   card in a row is the same height and every element lines up. */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--jk-md);
  margin:0!important;padding:0!important;list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  display:flex;flex-direction:column;min-width:0;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after{content:none!important}

/* image: one fixed ratio so every tile starts at the same line */
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  display:block;overflow:hidden;line-height:0;
}
.woocommerce ul.products li.product a img{
  width:100%!important;aspect-ratio:1/1;object-fit:cover;
  display:block;margin:0 0 14px!important;
}

/* badge row always occupies space, so titles align across the row */
.woocommerce ul.products li.product .jk-badge{
  align-self:flex-start;margin:0 16px 8px;
}

/* title clamped to two lines, fixed block height */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem!important;font-weight:600;line-height:1.32;
  padding:0 16px;margin:0 0 4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:calc(2 * 1.32em);
}

.jk-weight{display:block;padding:0 16px;margin:0 0 8px;font-size:.8rem;color:var(--jk-muted);font-weight:500;min-height:1.2em}

.woocommerce ul.products li.product .price{
  padding:0 16px;display:block;margin:0;
  color:var(--jk-accent)!important;font-weight:600;font-size:1.05rem;line-height:1.35;
  font-variant-numeric:tabular-nums;min-height:1.35em;
}
.woocommerce ul.products li.product .price del{display:inline;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none}

/* buttons pinned to the bottom of every card */
.jk-cardbtns{display:flex;gap:8px;padding:14px 16px 0;margin-top:auto}

/* ============ SECTION HEAD ALIGNMENT ============ */
.jk-sechead{align-items:flex-end}
.jk-sechead>div{min-width:0;flex:1 1 320px}
.jk-sechead>a{flex:0 0 auto;white-space:nowrap}
.jk-sechead h2{margin-bottom:0}

/* ============ RAIL AND OCCASION ALIGNMENT ============ */
.jk-rail__item{display:flex;flex-direction:column}
.jk-rail__label{margin-top:auto}
.jk-occ__item{text-align:left}

/* ============ HERO ALIGNMENT ============ */
.jk-hero__grid{align-items:center}
.jk-hero__grid>div:first-child{min-width:0}
.jk-hero h1{margin-bottom:14px}

@media (max-width:1024px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{gap:var(--jk-sm)}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.9rem!important}
}
/* ============ ELEMENTOR CONTAINER FITTING ============ */
/* The design lives in these classes; Elementor only supplies structure. */
.jk-el-hero{align-items:center;gap:var(--jk-lg)}
.jk-el-hero>.e-con{flex:1 1 0;min-width:0}
.jk-el-hero .jk-hero__eyebrow{display:inline-block;margin-bottom:var(--jk-sm)}
.jk-el-hero h1{margin-bottom:14px}
.jk-el-hero .elementor-widget-button{display:inline-block;margin:var(--jk-sm) 10px 0 0}

.jk-hamper>.e-con{flex:1 1 0;min-width:0}
.jk-band>.e-con{flex:1 1 0;min-width:0}
.jk-band .elementor-widget-button{margin-top:var(--jk-sm)}

/* Elementor wraps widgets; keep our own spacing rhythm */
.elementor-widget{margin-bottom:0}
.elementor-widget-heading+.elementor-widget-text-editor{margin-top:6px}
.elementor-widget-shortcode{margin-top:var(--jk-md)}
.elementor-widget-heading h2{margin-bottom:0}

/* buttons rendered by Elementor still read as our buttons */
.elementor-widget-button .elementor-button{
  background:var(--jk-accent);color:#fff;border-radius:var(--jk-r-pill);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;
  padding:14px 28px;border:0;line-height:1;text-decoration:none;
  transition:background .18s ease;
}
.elementor-widget-button .elementor-button:hover{background:var(--jk-accent-deep);color:#fff}
.jk-btn--ghost .elementor-button{background:transparent;color:var(--jk-ink);border:1.5px solid var(--jk-ink)}
.jk-btn--ghost .elementor-button:hover{background:var(--jk-ink);color:var(--jk-bg)}
.jk-btn--onDark .elementor-button{background:#fff;color:var(--jk-cocoa)}
.jk-btn--onDark .elementor-button:hover{background:var(--jk-bg);color:var(--jk-cocoa)}

/* dark band inverts text */
.jk-band,.jk-band .elementor-widget-text-editor{color:var(--jk-mutedOnDark,#E8D2B4)}
.jk-band h2,.jk-band h3{color:#fff}
.jk-band p{color:#E8D2B4}

@media (max-width:900px){
  .jk-el-hero,.jk-hamper,.jk-band{flex-direction:column!important}
  .jk-el-hero>.e-con,.jk-hamper>.e-con,.jk-band>.e-con{flex:1 1 100%;width:100%}
}
/* ==== BUYBOX ==== */
.jk-buybox{margin-top:12px;display:flex;flex-direction:column;gap:9px}

.jk-sizes{display:flex;gap:6px;flex-wrap:wrap}

.jk-size{
  font-family:'Poppins',sans-serif;font-weight:600;font-size:11px;line-height:1;
  letter-spacing:.02em;padding:8px 12px;
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  background:transparent;color:var(--jk-muted);cursor:pointer;
}
.jk-size:hover{border-color:var(--jk-accent);color:var(--jk-accent)}
.jk-size.is-on{background:var(--jk-accent);border-color:var(--jk-accent);color:#fff}

.jk-cardbtns{display:flex;gap:8px;align-items:stretch}

.jk-cardbtns .jk-addcart{
  flex:1 1 0;text-align:center;padding:12px 14px;font-size:.85rem;
  margin:0;white-space:nowrap;
}

.jk-buynow{
  flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;white-space:nowrap;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;line-height:1;
  color:var(--jk-ink);text-decoration:none;
  border:1.5px solid var(--jk-ink);border-radius:var(--jk-r-pill);background:transparent;
}
.jk-buynow:hover{background:var(--jk-ink);color:var(--jk-bg)}
.jk-buynow:active{transform:translateY(1px)}

.jk-buynow--single{
  margin-left:10px;cursor:pointer;
  font-family:'Poppins',sans-serif;font-weight:600;
}

@media(max-width:480px){
  .jk-cardbtns{flex-direction:column}
  .jk-size{padding:7px 10px}
}
/* ==== CARD BUYBOX FINAL ==== */
/* The buybox is a direct child of the card, so it carries the same 16px
   side padding as the title and price and everything lines up on one axis. */
.woocommerce ul.products li.product .jk-buybox{
  padding:0 16px;margin:12px 0 0;
  display:flex;flex-direction:column;gap:10px;
}

/* Pin the whole buybox to the bottom so every card in a row ends level,
   whatever the title length. */
.woocommerce ul.products li.product .jk-buybox{margin-top:auto}
.woocommerce ul.products li.product .jk-cardbtns{margin-top:0}

.woocommerce ul.products li.product .jk-sizes{
  display:flex;gap:6px;flex-wrap:wrap;margin:0;
}

/* Add to cart is the primary action: solid accent. */
.woocommerce ul.products li.product .jk-cardbtns .button,
.woocommerce ul.products li.product .jk-cardbtns a.jk-addcart{
  background:var(--jk-accent);color:#fff;
  border:1.5px solid var(--jk-accent);
}
.woocommerce ul.products li.product .jk-cardbtns .button:hover,
.woocommerce ul.products li.product .jk-cardbtns a.jk-addcart:hover{
  background:var(--jk-accent-deep);border-color:var(--jk-accent-deep);color:#fff;
}

/* Buy now is secondary: ink outline. */
.woocommerce ul.products li.product .jk-cardbtns .jk-buynow{
  background:transparent;color:var(--jk-ink);
  border:1.5px solid var(--jk-ink);
}
.woocommerce ul.products li.product .jk-cardbtns .jk-buynow:hover{
  background:var(--jk-ink);color:var(--jk-bg);
}

/* Two lines of title on every card keeps price and pills on the same line
   across a row. Product names here run from "Sev" to "Sp. Khambhati Papad
   Chavana", so without this the grid stair-steps. */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
  min-height:2.6em;
}

/* Square image well, so real photography of mixed ratios cannot break a row. */
.woocommerce ul.products li.product a img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;
}

/* Price sits directly under the title with no stray gap. */
.woocommerce ul.products li.product .price{margin:0 0 2px}

@media(max-width:600px){
  .woocommerce ul.products li.product .jk-buybox{padding:0 12px;gap:8px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 12px}
  .woocommerce ul.products li.product .price{padding:0 12px}
  .woocommerce ul.products li.product .jk-size{padding:7px 9px;font-size:10.5px}
}
/* ==== HERO BANNER ==== */
.jk-hero2{position:relative;background:linear-gradient(158deg,var(--jk-accent) 0%,var(--jk-cocoa) 100%);overflow:hidden}
.jk-hero2::before,.jk-hero2::after{content:'';position:absolute;left:0;right:0;height:19px;z-index:2;pointer-events:none}
.jk-hero2::before{top:0;background:linear-gradient(var(--jk-gold),var(--jk-gold)) 0 0/100% 8px repeat-x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='11' viewBox='0 0 22 11'%3E%3Cpolygon points='0,0 22,0 11,11' fill='%23F5B324'/%3E%3C/svg%3E") 0 8px/22px 11px repeat-x}
.jk-hero2::after{bottom:0;background:linear-gradient(var(--jk-gold),var(--jk-gold)) 0 100%/100% 8px repeat-x,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='11' viewBox='0 0 22 11'%3E%3Cpolygon points='0,11 22,11 11,0' fill='%23F5B324'/%3E%3C/svg%3E") 0 0/22px 11px repeat-x}
.jk-hero2__inner{position:relative;z-index:1;max-width:var(--jk-wrap);margin-inline:auto;padding:clamp(56px,6.5vw,88px) var(--jk-md);display:grid;grid-template-columns:1.3fr .7fr;gap:var(--jk-lg);align-items:center}
.jk-hero2__inner::after{content:'';position:absolute;top:50%;right:4%;transform:translateY(-50%);width:min(560px,52vw);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(245,179,36,.20) 0%,rgba(245,179,36,0) 68%);z-index:-1;pointer-events:none}
.jk-hero2__eyebrow{display:inline-block;color:var(--jk-gold);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px}
.jk-hero2__title{color:#FBEEDA;font-weight:700;line-height:1.04;letter-spacing:-.02em;font-size:clamp(2.15rem,4.7vw,3.6rem);margin:0 0 18px;max-width:15ch}
.jk-hero2__sub{color:#E8D2B4;font-size:1.02rem;line-height:1.6;max-width:46ch;margin:0 0 30px}
.jk-hero2__cta{display:flex;gap:12px;flex-wrap:wrap}
.jk-hero2__btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 30px;border-radius:var(--jk-r-pill);font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;line-height:1;text-decoration:none;white-space:nowrap;background:var(--jk-gold);color:var(--jk-ink);border:1.5px solid var(--jk-gold)}
.jk-hero2__btn:hover{background:var(--jk-gold-pale);border-color:var(--jk-gold-pale);color:var(--jk-ink)}
.jk-hero2__btn:active{transform:translateY(1px)}
.jk-hero2__btn--ghost{background:transparent;color:#FBEEDA;border-color:rgba(251,238,218,.5)}
.jk-hero2__btn--ghost:hover{background:rgba(251,238,218,.12);border-color:#FBEEDA;color:#FBEEDA}
.jk-hero2__seal{justify-self:center;width:min(252px,100%);aspect-ratio:1/1;border-radius:50%;border:3px solid var(--jk-gold);background:rgba(94,10,36,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;gap:6px}
.jk-hero2__seal-top{color:var(--jk-gold);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.jk-hero2__seal-name{color:#FBEEDA;font-weight:700;font-size:1.72rem;line-height:1.05;letter-spacing:-.01em}
.jk-hero2__seal-sub{color:#E8D2B4;font-size:.78rem;line-height:1.3}
.jk-hero2__seal-year{color:var(--jk-gold-pale);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:4px}
@media(max-width:900px){.jk-hero2__inner{grid-template-columns:1fr;gap:30px;padding-block:clamp(52px,9vw,72px)}.jk-hero2__seal{order:-1;justify-self:start;width:150px;padding:16px;border-width:2px;gap:3px}.jk-hero2__seal-name{font-size:1.05rem}.jk-hero2__seal-sub{font-size:.62rem}.jk-hero2__seal-top{font-size:8px;letter-spacing:.18em}.jk-hero2__seal-year{font-size:8px}.jk-hero2__title{max-width:none}}
@media(max-width:480px){.jk-hero2__cta{flex-direction:column;align-items:stretch}.jk-hero2__btn{width:100%}}

/* ==== REELS STRIP FINAL ==== */
/* Every card is locked to 9:16 so the row aligns no matter what the
   source video's exact dimensions are. */
.jk-reels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--jk-md);align-items:start;margin:0;padding:0;list-style:none}
.jk-reel{position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:var(--jk-r-md);overflow:hidden;background:linear-gradient(150deg,var(--jk-accent) 0%,var(--jk-cocoa) 100%);border:1px solid var(--jk-line);cursor:pointer;margin:0;padding:0}
.jk-reel__v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:var(--jk-cocoa)}
.jk-reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* play control */
.jk-reel__btn{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:0;background:linear-gradient(180deg,rgba(42,21,30,0) 40%,rgba(42,21,30,.45) 100%);cursor:pointer;padding:0}
.jk-reel__btn::before{content:'';width:60px;height:60px;border-radius:50%;background:var(--jk-gold);position:absolute;box-shadow:0 6px 20px rgba(94,10,36,.32)}
.jk-reel__tri{position:relative;z-index:1;width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--jk-ink);margin-left:5px}
.jk-reel:hover .jk-reel__btn::before{background:var(--jk-gold-pale)}

/* sound toggle, only while playing */
.jk-reel__mute{position:absolute;right:10px;bottom:10px;z-index:2;padding:7px 13px;border-radius:var(--jk-r-pill);border:1.5px solid rgba(251,238,218,.55);background:rgba(42,21,30,.55);color:#FBEEDA;font-family:'Poppins',sans-serif;font-weight:600;font-size:11px;line-height:1;cursor:pointer}
.jk-reel__mute:hover{background:rgba(42,21,30,.78);border-color:#FBEEDA}
.jk-reel__mute[hidden]{display:none}

.jk-reel--empty{border-style:dashed;border-color:var(--jk-line);background:linear-gradient(150deg,var(--jk-accent) 0%,var(--jk-cocoa) 100%);opacity:.45;cursor:default}
.jk-reels__note{font-size:.85rem;color:var(--jk-muted);margin-top:var(--jk-md)}

/* Below 900px a 9:16 card in a two-up grid becomes very tall, so the
   strip turns into a snap-scrolling rail the way reels are actually browsed. */
@media(max-width:900px){
  .jk-reels{display:flex;gap:var(--jk-sm);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:none}
  .jk-reels::-webkit-scrollbar{display:none}
  .jk-reel{flex:0 0 58%;max-width:260px;scroll-snap-align:start}
  .jk-reel__btn::before{width:52px;height:52px}
}
@media(max-width:520px){
  .jk-reel{flex-basis:68%}
}

.jk-reel--empty{display:flex;align-items:center;justify-content:center;opacity:1;background:linear-gradient(150deg,rgba(140,16,57,.30) 0%,rgba(94,10,36,.30) 100%);border:1.5px dashed var(--jk-line)}
.jk-reel--empty span{font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--jk-muted)}

/* ==== PACK SIZE PILL STATES ==== */
.woocommerce ul.products li.product .jk-size,.jk-size{
  background:transparent;background-image:none;color:var(--jk-muted);
  border:1.5px solid var(--jk-line);
  -webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;
}
.woocommerce ul.products li.product .jk-size:hover,.jk-size:hover,
.woocommerce ul.products li.product .jk-size:focus-visible,.jk-size:focus-visible{
  background:var(--jk-bg)!important;background-image:none!important;
  border-color:var(--jk-accent)!important;color:var(--jk-accent)!important;
}
.woocommerce ul.products li.product .jk-size.is-on,.jk-size.is-on,
.woocommerce ul.products li.product .jk-size.is-on:hover,.jk-size.is-on:hover{
  background:var(--jk-accent)!important;background-image:none!important;
  border-color:var(--jk-accent)!important;color:#fff!important;
}
.jk-size:focus{outline:none}
.jk-size:focus-visible{outline:2px solid var(--jk-accent);outline-offset:2px}

/* ==== DYNAMIC BANNER ==== */
/* Full bleed banner. A fixed band height with object-fit cover means any
   image the client uploads fills the width cleanly instead of stretching. */
.jk-banner{display:block;width:100%;line-height:0;background:var(--jk-cocoa);position:relative;overflow:hidden}
.jk-banner__img{width:100%;height:clamp(200px,32vw,500px);object-fit:cover;object-position:center;display:block;margin:0}
.jk-banner picture,.jk-banner span{display:block;line-height:0}
/* thin gold rule ties the banner to the catalogue without covering the art */
.jk-banner::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--jk-gold);z-index:2}
.jk-banner--split .jk-banner__mob{display:none}
@media(max-width:700px){
  .jk-banner__img{height:clamp(180px,52vw,320px)}
  .jk-banner--split .jk-banner__desk{display:none}
  .jk-banner--split .jk-banner__mob{display:block}
}

.jk-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ==== PDP BUY BOX V2 ==== */
/* WooCommerce renders the variation picker as a table and paints the
   disabled add-to-cart in its own lavender. Both are overridden here. */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 var(--jk-md)}

/* strip the default table chrome off the variation rows */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td{
  display:block;width:100%;background:transparent!important;border:0!important;padding:0!important;margin:0}
.woocommerce div.product form.cart table.variations{margin:0 0 18px!important}
.woocommerce div.product form.cart .variations .label label{
  font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--jk-muted);display:block;margin:0 0 9px}

/* pack-size pills, matching the catalog cards */
.jk-varpills{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.jk-varpill{
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;line-height:1;letter-spacing:.02em;
  padding:12px 20px;border-radius:var(--jk-r-pill);cursor:pointer;
  border:1.5px solid var(--jk-line);background:transparent;color:var(--jk-muted);
  -webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none}
.jk-varpill:hover{background:var(--jk-bg);border-color:var(--jk-accent);color:var(--jk-accent)}
.jk-varpill.is-on{background:var(--jk-accent);border-color:var(--jk-accent);color:#fff}
.jk-varpill:focus-visible{outline:2px solid var(--jk-accent);outline-offset:2px}
/* the real select stays for WooCommerce, hidden but reachable */
.jk-haspills .variations select{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none}
.jk-haspills a.reset_variations{display:none!important}

/* selected variation price and stock line */
.woocommerce div.product form.cart .woocommerce-variation{width:100%;margin:0 0 4px}
.woocommerce div.product .woocommerce-variation-price{margin:0 0 12px}
.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price bdi{
  font-size:1.5rem!important;font-weight:700;color:var(--jk-accent)!important;font-variant-numeric:tabular-nums}
.woocommerce div.product .woocommerce-variation-availability{font-size:.85rem;color:var(--jk-muted)}

/* quantity stepper */
.woocommerce div.product form.cart div.quantity{margin:0;flex:0 0 auto;display:flex}
.jk-qty{display:inline-flex;align-items:stretch;border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);background:var(--jk-surface);overflow:hidden}
.jk-qty__b{width:42px;border:0;background:transparent;color:var(--jk-ink);font-size:1.15rem;font-weight:600;line-height:1;cursor:pointer;padding:0}
.jk-qty__b:hover{background:var(--jk-bg);color:var(--jk-accent)}
.woocommerce .quantity .qty{
  width:44px!important;height:50px;padding:0!important;text-align:center;
  border:0!important;border-radius:0!important;background:transparent!important;
  font-family:inherit;font-size:.95rem;font-weight:600;color:var(--jk-ink);
  -moz-appearance:textfield}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce .quantity .qty:focus{outline:none}

/* Add to cart is primary, Buy now is secondary, matching the cards */
.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1 1 170px;min-height:50px;padding:15px 28px;font-size:.95rem;font-weight:600;
  background:var(--jk-accent)!important;color:#fff!important;
  border:1.5px solid var(--jk-accent)!important;border-radius:var(--jk-r-pill);margin:0}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  background:var(--jk-accent-deep)!important;border-color:var(--jk-accent-deep)!important;color:#fff!important}
/* kill the stock lavender on the not-yet-chosen state */
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled{
  background:var(--jk-accent)!important;border-color:var(--jk-accent)!important;color:#fff!important;
  opacity:.38;cursor:not-allowed}
.jk-buynow--single{
  flex:0 0 auto;min-height:50px;padding:15px 26px;margin:0;
  background:transparent;color:var(--jk-ink);border:1.5px solid var(--jk-ink);
  border-radius:var(--jk-r-pill);font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;cursor:pointer}
.jk-buynow--single:hover{background:var(--jk-ink);color:var(--jk-bg)}

/* gallery */
.woocommerce div.product div.images{margin:0}
.jk-pdp__media .woocommerce-product-gallery__wrapper{margin:0}
.jk-pdp__media img{
  background:var(--jk-surface);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  aspect-ratio:1/1;object-fit:cover;width:100%;height:auto;display:block}
.woocommerce-product-gallery__trigger{
  position:absolute!important;top:14px;right:14px;left:auto!important;z-index:4;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--jk-surface);border:1px solid var(--jk-line);
  font-size:0;text-indent:0;text-decoration:none;box-shadow:0 4px 14px rgba(94,10,36,.10)}
.woocommerce-product-gallery__trigger::before{content:'';width:13px;height:13px;border:2px solid var(--jk-ink);border-radius:50%}
.woocommerce-product-gallery__trigger::after{content:'';width:2px;height:7px;background:var(--jk-ink);transform:rotate(-45deg);margin:11px 0 0 -4px;border-radius:2px}
.woocommerce-product-gallery__trigger img{display:none}

@media(max-width:560px){
  .woocommerce div.product form.cart div.quantity{flex:1 1 100%}
  .jk-qty{width:100%;justify-content:space-between}
  .woocommerce .quantity .qty{flex:1 1 auto;width:auto!important}
  .woocommerce div.product form.cart .single_add_to_cart_button,.jk-buynow--single{flex:1 1 100%}
  .jk-varpill{flex:1 1 auto;text-align:center}
}

/* ==== PDP LABEL ALIGN ==== */
/* th defaults to centred text, which threw the Weight label off axis */
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations .label{text-align:left!important}
.woocommerce div.product form.cart table.variations .label label{text-align:left!important}

/* once a pack size is chosen its exact price shows, so the range above
   is redundant and reads as two conflicting prices */
.jk-pdp:has(.woocommerce-variation-price .price) .jk-pdp__price{display:none}

/* keep the buy column from drifting wider than comfortable reading */
.jk-pdp__buy{max-width:560px}
.jk-pdp__short{max-width:52ch}

/* ==== STICKY HEADER V2 ==== */
/* The row was allowed to wrap, so the zone switch and cart dropped onto
   their own lines and the stuck header became several rows tall. */
html{scroll-padding-top:96px}

.jk-header{
  position:sticky;top:0;z-index:900;
  background:var(--jk-surface);border-bottom:1px solid var(--jk-line);
  transition:box-shadow .22s ease;
}
.jk-header.is-stuck{box-shadow:0 6px 22px rgba(94,10,36,.13)}

.jk-header__row{
  display:flex;align-items:center;gap:var(--jk-md);
  flex-wrap:nowrap;min-height:72px;padding-block:10px;
  transition:min-height .22s ease,padding-block .22s ease;
}
/* compact once it sticks, so it eats less of the viewport */
.jk-header.is-stuck .jk-header__row{min-height:58px;padding-block:4px}
.jk-header.is-stuck .jk-header__logo img,
.jk-header.is-stuck .jk-header__logo .custom-logo{max-height:40px}
/* removed: this inflated every nav link (and the Contact Us pill) in the
   stuck header. The compact sizing now lives in the final header block. */

/* nav takes the slack, never pushes the actions to a new line */
.jk-header__logo{flex:0 0 auto;min-width:0}
.jk-nav{flex:1 1 auto;min-width:0}
.jk-nav__list{flex-wrap:nowrap}
.jk-header__actions{flex:0 0 auto;margin-left:auto;flex-wrap:nowrap;white-space:nowrap}

/* wordmark shown when the logo image cannot be used */
.jk-wordmark{
  display:inline-flex;flex-direction:column;line-height:1;text-decoration:none;gap:3px;
}
.jk-wordmark__a{font-weight:700;font-size:1.22rem;letter-spacing:-.01em;color:var(--jk-accent)}
.jk-wordmark__b{font-size:9.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--jk-muted)}
.jk-header.is-stuck .jk-wordmark__a{font-size:1.06rem}

/* mega panel hangs off the stuck header, so it must sit above the page */
.jk-mega__wrap{z-index:899}

@media(max-width:1100px){
  .jk-header__row{flex-wrap:wrap;row-gap:8px;min-height:0;padding-block:10px}
  .jk-header.is-stuck .jk-header__row{min-height:0;padding-block:8px}
  .jk-nav{flex-basis:100%;order:5}
  .jk-header__actions{margin-left:auto}
  /* an open menu must scroll rather than run off a pinned header */
  .jk-nav.is-open .jk-nav__list{max-height:calc(100vh - 150px);overflow-y:auto}
}

/* ==== HEADER BREAKPOINT FIX ==== */
/* The burger appeared at 960px but the nav was forced onto its own row
   at 1100px, so between the two the header ran to two rows with no menu
   button. Measured out, logo + seven nav items + zone switch + cart need
   about 1240px, so everything collapses together at 1200px instead. */

/* full inline nav only where it genuinely fits */
@media(min-width:1201px){
  .jk-header__row{flex-wrap:nowrap;min-height:72px}
  .jk-header.is-stuck .jk-header__row{min-height:58px}
  .jk-burger{display:none}
  .jk-nav{display:block;flex:1 1 auto;min-width:0}
  .jk-nav__list{flex-wrap:nowrap;gap:22px}
}

/* below that, collapse to the burger menu */
@media(max-width:1200px){
  .jk-burger{display:flex;order:-1}
  .jk-header__row{flex-wrap:wrap;row-gap:10px;min-height:0;padding-block:10px}
  .jk-header.is-stuck .jk-header__row{min-height:0;padding-block:8px}
  .jk-nav{order:5;flex-basis:100%;display:none}
  .jk-nav.is-open{display:block}
  .jk-nav__list{flex-direction:column;align-items:stretch;gap:0;flex-wrap:wrap}
  .jk-nav__item>a{padding-block:13px;display:block;border-bottom:1px solid var(--jk-line)}
  .jk-header.is-stuck .jk-nav__item>a{padding-block:13px}
  .jk-nav__item>a::after{display:none}
  /* mega panels become plain stacked lists in the drawer */
  .jk-mega__wrap,.jk-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;background:var(--jk-bg)}
  .jk-mega{grid-template-columns:1fr;padding:var(--jk-md)}
  .jk-mega__cols{grid-template-columns:1fr;gap:var(--jk-md)}
  .jk-nav.is-open .jk-nav__list{max-height:calc(100vh - 160px);overflow-y:auto}
  /* buy back width in the top row */
  .jk-zone__label{display:none}
  .jk-header__actions{margin-left:auto}
}

/* the burger must never be the thing that overflows */
.jk-burger{flex:0 0 auto}

/* ==== LOGO SIZING ==== */
/* The lockup is 2.9:1, so height drives it. Width is capped so a wide
   logo can never squeeze the nav and force a second row. */
.jk-header__logo a{display:block;line-height:0}
.jk-header__logo img,.jk-header__logo .custom-logo{
  height:54px;width:auto;max-width:200px;object-fit:contain;display:block;
  transition:height .22s ease;
}
.jk-header.is-stuck .jk-header__logo img,
.jk-header.is-stuck .jk-header__logo .custom-logo{height:42px}
@media(max-width:1200px){
  .jk-header__logo img,.jk-header__logo .custom-logo{height:44px;max-width:170px}
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:40px}
}
@media(max-width:520px){
  .jk-header__logo img,.jk-header__logo .custom-logo{height:38px;max-width:145px}
}
/* the footer and zone dialog use the same mark on dark or coloured grounds */
.jk-footer__brand img,.jk-footer__brand .custom-logo{height:52px;width:auto;max-width:210px;object-fit:contain}

/* ============================================================
   HEADER + ZONE DIALOG — FINAL FIX
   1. Nav was overflowing its track above 1200px and printing
      underneath .jk-header__actions, so "Contact Us" collided
      with the zone pills. The inline nav now only appears at a
      width where it actually fits, and the actions block is
      opaque so nothing can ever show through it.
   2. The zone dialog is now always in the DOM and hidden with
      [hidden], so it needs an explicit display:none.
   ============================================================ */

/* ---- the actions block owns its space, always ---- */
.jk-header__actions{
  position:relative;z-index:3;
  flex:0 0 auto;margin-left:auto;
  display:flex;align-items:center;gap:10px;
  flex-wrap:nowrap;white-space:nowrap;
  background:var(--jk-surface);
  padding-left:12px;
}
.jk-header__logo{flex:0 0 auto;min-width:0;position:relative;z-index:3;background:var(--jk-surface)}
.jk-nav{min-width:0}
.jk-nav__item>a{white-space:nowrap}

/* ---- "Deliver to" now lives in its own centred bar under the header ---- */
.jk-zonebar{
  background:var(--jk-bg);
  border-bottom:1px solid var(--jk-line);
}
.jk-zonebar .jk-wrap{
  display:flex;align-items:center;justify-content:center;
  padding-block:9px;
}
.jk-zonebar .jk-zone{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;flex-wrap:wrap;
}
.jk-zonebar .jk-zone__label{
  display:inline;
  color:var(--jk-muted);font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  margin-right:2px;
}
.jk-zonebar .jk-zone__btn{padding:8px 18px;font-size:13px}
@media(max-width:520px){
  .jk-zonebar .jk-wrap{padding-block:8px}
  .jk-zonebar .jk-zone{gap:6px}
  .jk-zonebar .jk-zone__label{font-size:11px;letter-spacing:.06em}
  .jk-zonebar .jk-zone__btn{padding:7px 13px;font-size:12.5px}
}
@media(max-width:360px){
  .jk-zonebar .jk-zone__label{display:none}
}

/* ---- inline nav only where it genuinely fits ---- */
/* With the zone switch moved out of the top row there is a lot more room,
   so the full menu — including Contact Us — stays inline from 1024px up. */
@media(min-width:1024px){
  .jk-burger{display:none}
  .jk-header__row{flex-wrap:nowrap;min-height:72px;padding-block:10px;gap:14px}
  .jk-header.is-stuck .jk-header__row{min-height:58px;padding-block:4px}
  .jk-nav{display:block;flex:1 1 auto;min-width:0;background:none}
  .jk-nav__list{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px}
  .jk-nav__item>a{font-size:14px;padding-block:0;border-bottom:0;display:inline-block}
  .jk-nav__item>a::after{display:block}
  .jk-nav.is-open .jk-nav__list{max-height:none;overflow:visible}
  .jk-header__logo img,.jk-header__logo .custom-logo{height:44px;max-width:165px}
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:38px}
  .jk-cart{padding:9px 15px;font-size:13.5px}

  /* restore the hover panels, which the drawer rules had flattened */
  .jk-mega__wrap{
    position:absolute;left:0;right:0;top:100%;
    background:var(--jk-surface);border-top:1px solid var(--jk-line);
    box-shadow:0 18px 40px rgba(94,10,36,.13);
    opacity:0;visibility:hidden;transform:translateY(-6px);padding:0;z-index:899;
  }
  .jk-nav__item--mega:hover .jk-mega__wrap,
  .jk-nav__item--mega:focus-within .jk-mega__wrap{opacity:1;visibility:visible;transform:translateY(0)}
  .jk-mega{grid-template-columns:260px 1fr;gap:var(--jk-lg);padding-block:var(--jk-lg);padding-inline:0}
  .jk-mega__cols{grid-template-columns:repeat(3,1fr);gap:var(--jk-md)}
  .jk-drop{
    position:absolute;left:-16px;top:100%;min-width:220px;
    background:var(--jk-surface);border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
    box-shadow:0 16px 34px rgba(94,10,36,.13);padding:12px 0;
    opacity:0;visibility:hidden;transform:translateY(-6px);z-index:820;
  }
  .jk-nav__item--drop:hover .jk-drop,
  .jk-nav__item--drop:focus-within .jk-drop{opacity:1;visibility:visible;transform:translateY(0)}
}

/* roomier once there is space to spare */
@media(min-width:1280px){
  .jk-header__row{gap:18px}
  .jk-nav__list{gap:18px}
  .jk-nav__item>a{font-size:14.5px}
  .jk-header__logo img,.jk-header__logo .custom-logo{height:48px;max-width:180px}
  .jk-mega__cols{gap:var(--jk-lg)}
  .jk-cart{padding:11px 18px;font-size:.9rem}
}
@media(min-width:1440px){
  .jk-header__row{gap:20px}
  .jk-nav__list{gap:22px}
  .jk-nav__item>a{font-size:15px}
  .jk-header__logo img,.jk-header__logo .custom-logo{height:54px;max-width:200px}
  .jk-mega{grid-template-columns:300px 1fr}
}

/* ---- Contact Us reads as a button, not just another link ---- */
@media(min-width:1024px){
  .jk-nav__item:last-child>a{
    border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
    padding:8px 16px;font-weight:600;
    transition:border-color .16s ease,color .16s ease,background .16s ease;
  }
  .jk-nav__item:last-child>a::after{display:none}
  .jk-nav__item:last-child>a:hover{
    border-color:var(--jk-accent);background:var(--jk-accent);color:#fff;
  }
}

/* ---- below that, the burger drawer ---- */
@media(max-width:1023.98px){
  .jk-burger{display:flex;order:-1;flex:0 0 auto}
  .jk-header__row{flex-wrap:nowrap;row-gap:10px;min-height:0;padding-block:10px}
  .jk-header.is-stuck .jk-header__row{min-height:0;padding-block:8px}
  .jk-nav{order:5;flex-basis:100%;display:none;background:var(--jk-surface)}
  .jk-nav.is-open{display:block}
  .jk-nav__list{flex-direction:column;align-items:stretch;gap:0;flex-wrap:wrap}
  .jk-nav__item>a{padding-block:13px;display:block;border-bottom:1px solid var(--jk-line);font-size:15px}
  .jk-header.is-stuck .jk-nav__item>a{padding-block:13px}
  .jk-nav__item>a::after{display:none}
  .jk-mega__wrap,.jk-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;background:var(--jk-bg)}
  .jk-mega{grid-template-columns:1fr;padding:var(--jk-md)}
  .jk-mega__cols{grid-template-columns:1fr;gap:var(--jk-md)}
  .jk-nav.is-open .jk-nav__list{max-height:calc(100vh - 160px);overflow-y:auto}
  .jk-header__row{flex-wrap:wrap}
  .jk-header__actions{margin-left:auto;padding-left:8px}
}

/* ---- small screens: keep the top row to one line ---- */
@media(max-width:560px){
  .jk-header__row{gap:8px}
  .jk-header__actions{gap:6px;padding-left:4px}
  .jk-zone{gap:4px}
  .jk-zone__btn{padding:8px 12px;font-size:12.5px}
  .jk-cart{padding:9px 13px}
  .jk-cart__ico{display:none}
}
@media(max-width:400px){
  .jk-zone__btn{padding:7px 10px;font-size:12px}
}

/* ---- sticky must not be defeated by an ancestor ---- */
html,body{overflow-y:visible}
.jk-header{position:sticky;top:0;z-index:900}

/* ============ ZONE DIALOG STATES ============ */
/* display:flex on .jk-zone-modal beats the [hidden] default, so say it here */
.jk-zone-modal[hidden]{display:none!important}
.jk-zone-modal.is-open{display:flex}

.jk-zone-modal__close{
  appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;padding:0;
}

/* explicit, so adding Cancel does not steal the dark treatment from
   "Rest of India" through :last-child */
.jk-zone-modal__btn{border:0;cursor:pointer;font-family:inherit;flex:1 1 150px}
.jk-zone-modal__btn[data-jk-zone="ahmedabad"]{background:var(--jk-accent);color:#fff}
.jk-zone-modal__btn[data-jk-zone="ahmedabad"]:hover{background:var(--jk-accent-deep)}
.jk-zone-modal__btn[data-jk-zone="india"]{background:var(--jk-ink);color:#fff}
.jk-zone-modal__btn[data-jk-zone="india"]:hover{background:var(--jk-cocoa)}
.jk-zone-modal__btn:last-child{background:var(--jk-accent)}
.jk-zone-modal__btn[data-jk-zone="india"]:last-child{background:var(--jk-ink)}

.jk-zone-modal__cancel{
  flex:0 0 auto;cursor:pointer;font-family:inherit;
  background:none;border:1.5px solid var(--jk-line);color:var(--jk-muted);
  font-weight:600;font-size:.95rem;line-height:1;
  padding:15px 22px;border-radius:var(--jk-r-pill);
  transition:border-color .16s ease,color .16s ease;
}
.jk-zone-modal__cancel:hover{border-color:var(--jk-accent);color:var(--jk-accent)}

@media(max-width:560px){
  .jk-zone-modal__actions{flex-direction:column}
  .jk-zone-modal__btn,.jk-zone-modal__cancel{flex:1 1 auto;width:100%}
}

/* ============================================================
   SCROLLED (STUCK) HEADER — AUTHORITATIVE SIZING
   Older blocks set .jk-header.is-stuck .jk-nav__item>a{padding-block:17px},
   which out-specified the plain .jk-nav__item>a rules and blew every link
   (and the Contact Us pill) up to ~54px tall in the scrolled header.
   These rules carry the same .is-stuck specificity so the compact state
   actually wins, and the pinned bar stays one clean line.
   ============================================================ */

.jk-header{overflow:visible}
.jk-header__row{align-items:center}

@media(min-width:1024px){
  .jk-header.is-stuck .jk-header__row{
    min-height:60px;padding-block:6px;flex-wrap:nowrap;align-items:center;
  }
  .jk-header.is-stuck .jk-nav__item>a{padding-block:0;border-bottom:0;display:inline-block}
  .jk-header.is-stuck .jk-nav__item:last-child>a{padding:8px 16px}
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:38px;max-height:none;max-width:150px}
  .jk-header.is-stuck .jk-cart{padding:8px 14px}
}

@media(min-width:1280px){
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:40px;max-width:165px}
}

/* below the burger breakpoint the pinned bar is logo + burger + cart only,
   so it can be tighter still */
@media(max-width:1023.98px){
  .jk-header.is-stuck .jk-header__row{min-height:0;padding-block:7px}
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:36px;max-height:none}
  .jk-header.is-stuck .jk-nav__item>a{padding-block:13px}
}

/* anchors must clear the pinned bar */
html{scroll-padding-top:80px}

/* ============================================================
   STICKY HEADER vs THE WORDPRESS ADMIN BAR
   #wpadminbar is position:fixed and 32px tall, so a header pinned at
   top:0 slides underneath it and only its bottom sliver stays visible.
   Logged-out visitors never see this, which is why it only showed up
   in a screen recording taken while logged in as admin.
   ============================================================ */
.admin-bar .jk-header{top:32px}
.admin-bar{scroll-padding-top:112px}

/* the admin bar grows to 46px on narrow screens */
@media screen and (max-width:782px){
  .admin-bar .jk-header{top:46px}
  .admin-bar{scroll-padding-top:126px}
}

/* under 600px WordPress makes the admin bar position:absolute, so it
   scrolls away and the header should pin to the very top again */
@media screen and (max-width:600px){
  .admin-bar .jk-header{top:0}
  .admin-bar{scroll-padding-top:80px}
}

/* ============================================================
   OCCASIONS DROPDOWN
   .jk-nav ul{display:flex} (set for the top-level menu) also matched
   .jk-drop ul, so the Occasions list laid itself out in one long
   horizontal row that ran off the screen. The mega panels escaped it
   only because .jk-mega__col ul sets display:grid explicitly.
   This gives the drop its own two-column panel, styled to match the
   mega menu.
   ============================================================ */
@media(min-width:1024px){
  .jk-drop{
    left:-20px;min-width:440px;padding:20px 24px 18px;
  }
  .jk-drop h4{
    font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
    color:var(--jk-muted);margin:0 0 12px;padding-bottom:10px;
    border-bottom:1px solid var(--jk-line);
  }
  .jk-drop ul{
    display:grid;grid-template-columns:1fr 1fr;
    column-gap:var(--jk-md);row-gap:2px;
    list-style:none;margin:0;padding:0;align-items:start;
  }
  .jk-drop li{margin:0}
  .jk-drop a{
    display:block;padding:8px 10px;border-radius:8px;
    text-decoration:none;color:var(--jk-ink);font-size:.94rem;font-weight:500;
    white-space:nowrap;
  }
  .jk-drop a:hover{background:var(--jk-bg);color:var(--jk-accent)}

  .jk-drop__all{
    display:inline-block;margin-top:14px;padding-top:12px;
    border-top:1px solid var(--jk-line);width:100%;
    font-size:.9rem;font-weight:600;color:var(--jk-accent);text-decoration:none;
  }
  .jk-drop__all:hover{text-decoration:underline;color:var(--jk-accent-deep)}
}

/* in the burger drawer it becomes a plain stacked list */
@media(max-width:1023.98px){
  .jk-drop h4{
    font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
    color:var(--jk-muted);margin:0;padding:14px var(--jk-md) 6px;
  }
  .jk-drop ul{display:block;list-style:none;margin:0;padding:0}
  .jk-drop a{display:block;padding:11px var(--jk-md);text-decoration:none;color:var(--jk-ink);font-size:.95rem}
  .jk-drop__all{
    display:block;padding:12px var(--jk-md) 14px;
    font-size:.92rem;font-weight:600;color:var(--jk-accent);text-decoration:none;
    border-top:1px solid var(--jk-line);
  }
}

/* ============================================================
   HEADER SEARCH
   Icon in the header opens a panel. With an empty box the panel shows
   the popular picks; typing swaps them for live results.
   ============================================================ */
.jk-searchbtn{
  display:inline-flex;align-items:center;gap:7px;
  background:none;border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  color:var(--jk-ink);font-family:inherit;font-weight:600;font-size:13.5px;
  padding:9px 15px;cursor:pointer;flex:0 0 auto;
  transition:border-color .16s ease,color .16s ease;
}
.jk-searchbtn svg{width:17px;height:17px;flex:0 0 auto}
.jk-searchbtn:hover{border-color:var(--jk-accent);color:var(--jk-accent)}
@media(max-width:1200px){ .jk-searchbtn__label{display:none} }
@media(max-width:1200px){ .jk-searchbtn{padding:9px 11px} }

/* ---- panel ---- */
.jk-search[hidden]{display:none!important}
.jk-search{
  position:fixed;inset:0;z-index:10000;
  background:rgba(42,21,30,.55);
  display:flex;align-items:flex-start;justify-content:center;
  padding:min(9vh,90px) var(--jk-md) var(--jk-md);
}
.jk-search__panel{
  width:100%;max-width:640px;background:var(--jk-surface);
  border-radius:var(--jk-r-md);overflow:hidden;
  box-shadow:0 26px 60px rgba(94,10,36,.32);
  display:flex;flex-direction:column;max-height:82vh;
}
.jk-search__bar{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;border-bottom:1px solid var(--jk-line);flex:0 0 auto;
}
.jk-search__ico{width:20px;height:20px;color:var(--jk-muted);flex:0 0 auto}
.jk-search__input{
  flex:1 1 auto;min-width:0;border:0;background:none;outline:none;
  font-family:inherit;font-size:1rem;color:var(--jk-ink);padding:6px 0;
}
.jk-search__input::placeholder{color:var(--jk-muted)}
.jk-search__input::-webkit-search-cancel-button{display:none}
.jk-search__close{
  flex:0 0 auto;width:32px;height:32px;border-radius:var(--jk-r-pill);
  display:flex;align-items:center;justify-content:center;
  background:var(--jk-bg);border:1px solid var(--jk-line);color:var(--jk-ink);
  font-size:20px;line-height:1;cursor:pointer;font-family:inherit;
  transition:background .16s ease,color .16s ease;
}
.jk-search__close:hover{background:var(--jk-accent);border-color:var(--jk-accent);color:#fff}

.jk-search__body{padding:14px 16px 16px;overflow-y:auto;flex:1 1 auto}
.jk-search__heading{
  font-size:11px!important;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--jk-muted);margin:0 0 10px!important;
}
.jk-search__results{display:grid;gap:2px}

.jk-sresult{
  display:flex;align-items:center;gap:12px;
  padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--jk-ink);
  transition:background .14s ease;
}
.jk-sresult:hover{background:var(--jk-bg)}
.jk-sresult__thumb{
  flex:0 0 auto;width:46px;height:46px;border-radius:8px;overflow:hidden;
  background:var(--jk-bg);border:1px solid var(--jk-line);
  display:flex;align-items:center;justify-content:center;
}
.jk-sresult__img,.jk-sresult__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.jk-sresult__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.jk-sresult__name{font-weight:600;font-size:.94rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jk-sresult__meta{font-size:11.5px;color:var(--jk-muted);letter-spacing:.03em}
.jk-sresult__price{flex:0 0 auto;font-weight:700;font-size:.9rem;color:var(--jk-accent);white-space:nowrap}
.jk-sresult__price del{opacity:.5;font-weight:500;margin-right:4px}
.jk-sresult__price ins{text-decoration:none}

.jk-search__empty{font-size:.92rem!important;color:var(--jk-muted);margin:8px 10px!important}
.jk-search__all{
  display:block;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--jk-line);
  font-size:.9rem;font-weight:600;color:var(--jk-accent);text-decoration:none;
}
.jk-search__all:hover{text-decoration:underline;color:var(--jk-accent-deep)}

@media(max-width:560px){
  .jk-search{padding:0}
  .jk-search__panel{max-width:none;max-height:100vh;height:100%;border-radius:0}
  .jk-sresult__thumb{width:42px;height:42px}
  .jk-sresult__price{font-size:.85rem}
}

/* WooCommerce variable products emit a screen-reader-only "Price range:"
   string inside get_price_html(); hide it so it cannot print in the
   search results row. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ============================================================
   OCCASION TILES WITH ARTWORK
   ============================================================ */
.jk-occ--img{
  display:grid;
  grid-template-columns:repeat(var(--jk-occ-cols,5),1fr);
  gap:var(--jk-md);
}
.jk-occ--img .jk-occ__item{
  position:relative;display:block;overflow:hidden;
  border-radius:var(--jk-r-md);
  aspect-ratio:6/5;
  text-decoration:none;
  box-shadow:var(--jk-shadow);
  transition:transform .18s ease,box-shadow .18s ease;
  background:var(--jk-cocoa);
}
.jk-occ--img .jk-occ__item:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(94,10,36,.22);
}
.jk-occ__img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.jk-occ--img .jk-occ__item:hover .jk-occ__img{transform:scale(1.05)}

/* scrim so the name stays readable on any artwork or photo */
.jk-occ--img .jk-occ__item::after{
  content:"";position:absolute;inset:auto 0 0 0;height:62%;
  background:linear-gradient(to top,rgba(42,21,30,.88),rgba(42,21,30,.55) 42%,transparent);
  pointer-events:none;
}
.jk-occ__label{
  position:absolute;left:16px;right:16px;bottom:14px;z-index:2;
  color:#fff;font-weight:700;font-size:1rem;line-height:1.2;
  text-decoration:none;
}

@media(max-width:1023.98px){
  .jk-occ--img{grid-template-columns:repeat(3,1fr);gap:var(--jk-sm)}
  .jk-occ__label{font-size:.92rem;left:12px;right:12px;bottom:11px}
}
@media(max-width:640px){
  .jk-occ--img{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:380px){
  .jk-occ__label{font-size:.86rem}
}

@media (prefers-reduced-motion:reduce){
  .jk-occ--img .jk-occ__item,
  .jk-occ__img{transition:none}
  .jk-occ--img .jk-occ__item:hover{transform:none}
  .jk-occ--img .jk-occ__item:hover .jk-occ__img{transform:none}
}

/* ============================================================
   SHOP FILTERS
   Sidebar beside the grid on desktop, drawer on mobile.
   ============================================================ */
.jk-shop{padding-block:var(--jk-lg)}
.jk-shop__head{margin-bottom:var(--jk-md)}
.jk-shop__title{margin:0 0 6px}

.jk-shop__cols{
  display:grid;grid-template-columns:262px minmax(0,1fr);
  gap:var(--jk-lg);align-items:start;
}
.jk-shop__main{min-width:0}

/* ---- toolbar ---- */
.jkf-bar{
  display:flex;align-items:center;gap:var(--jk-sm);
  padding:10px 0 14px;margin-bottom:var(--jk-md);
  border-bottom:1px solid var(--jk-line);
}
.jkf-bar__toggle{
  display:none;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
  background:none;border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  padding:9px 16px;font-weight:600;font-size:14px;color:var(--jk-ink);
}
.jkf-bar__toggle svg{width:17px;height:17px}
.jkf-bar__toggle:hover{border-color:var(--jk-accent);color:var(--jk-accent)}
.jkf-bar__count{color:var(--jk-muted);font-size:14px;font-weight:600}
.jkf-bar__sort{margin-left:auto;display:flex;align-items:center;gap:8px}
.jkf-bar__sort label{font-size:13px;color:var(--jk-muted);font-weight:600}
.jkf-bar__sort select{
  font-family:inherit;font-size:14px;color:var(--jk-ink);
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  padding:8px 14px;background:var(--jk-surface);cursor:pointer;
}
.jkf-bar__sort select:focus-visible{outline:2px solid var(--jk-accent);outline-offset:2px}

/* the theme already prints a sort dropdown; ours replaces it */
.jk-shop .woocommerce-ordering,
.jk-shop .woocommerce-result-count{display:none}

/* ---- sidebar ---- */
.jkf{
  background:var(--jk-surface);border:1px solid var(--jk-line);
  border-radius:var(--jk-r-md);padding:var(--jk-md);
  position:sticky;top:96px;
  max-height:calc(100vh - 120px);overflow-y:auto;
}
.jkf__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.jkf__head h2{margin:0;font-size:1.05rem}
.jkf__close{display:none}

.jkf__group{padding-top:16px;margin-top:16px;border-top:1px solid var(--jk-line)}
.jkf__group:first-of-type{border-top:0;margin-top:0;padding-top:0}
.jkf__group h3{
  margin:0 0 10px;font-size:11px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--jk-muted);
}
.jkf__list{list-style:none;margin:0;padding:0}
.jkf__list li{margin:0}
.jkf__link{
  display:flex;align-items:center;gap:8px;
  padding:7px 9px;border-radius:8px;
  text-decoration:none;color:var(--jk-ink);font-size:.93rem;
  transition:background .14s ease,color .14s ease;
}
.jkf__link em{
  margin-left:auto;font-style:normal;font-size:11.5px;
  color:var(--jk-muted);font-variant-numeric:tabular-nums;
}
.jkf__link:hover{background:var(--jk-bg);color:var(--jk-accent)}
.jkf__link.is-on{background:var(--jk-accent);color:#fff;font-weight:600}
.jkf__link.is-on em{color:rgba(255,255,255,.8)}
.jkf__sub{list-style:none;margin:2px 0 6px;padding-left:12px;border-left:1px solid var(--jk-line)}
.jkf__sub .jkf__link{font-size:.88rem;padding:6px 9px}

/* ---- active chips ---- */
.jkf__active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.jkf__chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--jk-bg);border:1px solid var(--jk-line);
  border-radius:var(--jk-r-pill);padding:5px 11px;
  font-size:12.5px;font-weight:600;color:var(--jk-ink);text-decoration:none;
}
.jkf__chip:hover{border-color:var(--jk-accent);color:var(--jk-accent)}
.jkf__chip span{font-size:14px;line-height:1}
.jkf__clear{
  font-size:12.5px;font-weight:600;color:var(--jk-accent);
  text-decoration:underline;align-self:center;padding:5px 4px;
}

.jkf__done{display:none}

/* ---- empty state ---- */
.jk-shop__empty{
  text-align:center;padding:var(--jk-xl) var(--jk-md);
  background:var(--jk-bg);border-radius:var(--jk-r-md);
}
.jk-shop__empty h2{margin:0 0 8px}
.jk-shop__empty p{color:var(--jk-muted);margin:0 0 var(--jk-md)}
.jk-shop__emptybtn{
  display:inline-block;background:var(--jk-accent);color:#fff;
  padding:12px 24px;border-radius:var(--jk-r-pill);
  font-weight:600;text-decoration:none;
}
.jk-shop__emptybtn:hover{background:var(--jk-accent-deep)}

/* ---- drawer below 1024 ---- */
@media(max-width:1023.98px){
  .jk-shop__cols{grid-template-columns:1fr;gap:0}
  .jkf-bar__toggle{display:inline-flex}
  .jkf-bar__sort label{display:none}

  .jkf{
    position:fixed;inset:0 auto 0 0;z-index:10001;
    width:min(88vw,340px);max-height:none;height:100%;
    border-radius:0;border:0;
    transform:translateX(-100%);
    transition:transform .24s ease;
    box-shadow:0 0 40px rgba(94,10,36,.28);
    padding-bottom:88px;
  }
  .jkf.is-open{transform:translateX(0)}
  .jkf__close{
    display:flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:var(--jk-r-pill);
    background:var(--jk-bg);border:1px solid var(--jk-line);
    color:var(--jk-ink);font-size:20px;line-height:1;cursor:pointer;font-family:inherit;
  }
  .jkf__done{
    display:block;position:absolute;left:var(--jk-md);right:var(--jk-md);bottom:var(--jk-md);
    background:var(--jk-accent);color:#fff;text-align:center;
    padding:13px;border-radius:var(--jk-r-pill);
    font-weight:600;text-decoration:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .jkf{transition:none}
}

/* ============================================================
   SHOP GRID ALIGNMENT INSIDE THE FILTER LAYOUT
   The base grid is repeat(4,1fr) and switches to 3 only below a
   1024px VIEWPORT. With a 262px sidebar taking part of the row, the
   grid column itself is far narrower than the viewport, so between
   1024px and ~1400px four cards were being squeezed into ~660-900px.
   Sizing on the container instead of the viewport keeps the cards a
   sane width and the rows aligned at every screen size.
   ============================================================ */
.jk-shop__main ul.products,
.woocommerce .jk-shop__main ul.products{align-items:stretch}


/* every card the same height, buttons on a common baseline */
.jk-shop__main ul.products li.product{height:100%}

/* Hello Elementor wraps the archive in #primary > #main, each with its
   own padding. .jk-wrap already sets the page width, so the extra
   padding pushed the shop off-centre against every other page. */
.woocommerce-shop #primary,
.woocommerce-shop #main,
.tax-product_cat #primary,
.tax-product_cat #main,
.tax-occasion #primary,
.tax-occasion #main{
  padding:0!important;margin:0!important;max-width:none!important;width:auto!important;
}
.jk-shop .woocommerce-breadcrumb{margin-bottom:0}
.woocommerce-shop .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb{
  max-width:var(--jk-wrap);margin-inline:auto;
  padding-inline:var(--jk-md);padding-top:var(--jk-md);
  font-size:13px;color:var(--jk-muted);
}

/* ---- pagination ---- */
.jk-shop__main .woocommerce-pagination{margin-top:var(--jk-lg);display:flex;justify-content:center}
.jk-shop__main .woocommerce-pagination ul{
  display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;border:0!important;
}
.jk-shop__main .woocommerce-pagination ul li{border:0!important;margin:0!important;overflow:visible}
.jk-shop__main .woocommerce-pagination .page-numbers{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  background:var(--jk-surface);color:var(--jk-ink);
  font-weight:600;font-size:14px;text-decoration:none;
  transition:border-color .14s ease,background .14s ease,color .14s ease;
}
.jk-shop__main .woocommerce-pagination .page-numbers:hover{
  border-color:var(--jk-accent);color:var(--jk-accent);
}
.jk-shop__main .woocommerce-pagination .page-numbers.current{
  background:var(--jk-accent);border-color:var(--jk-accent);color:#fff;
}
.jk-shop__main .woocommerce-pagination .page-numbers.dots{border-color:transparent;background:none}

/* ============================================================
   CATEGORY PAGE v2 - banner, toolbar, sidebar, grid
   ============================================================ */

/* ---- title banner ---- */
.jk-cathero{
  background:var(--jk-cocoa);
  padding-block:var(--jk-lg);
  text-align:center;
  margin-bottom:var(--jk-md);
}
.jk-cathero__title{
  margin:0;color:#fff;font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.1;
}
.jk-cathero__sub{
  margin:10px auto 0;max-width:60ch;color:rgba(255,255,255,.82);font-size:.98rem;
}

/* ---- toolbar ---- */
.jk-tools{
  display:flex;align-items:center;flex-wrap:wrap;gap:14px;
  padding-bottom:16px;margin-bottom:var(--jk-md);
  border-bottom:1px solid var(--jk-line);
}
.jk-tools__crumb{font-size:13.5px;color:var(--jk-muted);margin-right:auto}
.jk-tools__crumb a{color:var(--jk-muted);text-decoration:none}
.jk-tools__crumb a:hover{color:var(--jk-accent)}
.jk-tools__sep{padding:0 7px;opacity:.5}
.jk-tools .woocommerce-breadcrumb{margin:0;padding:0;font-size:inherit;color:inherit}

.jk-tools__show{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--jk-muted)}
.jk-tools__show span{font-weight:600}
.jk-tools__show i{font-style:normal;opacity:.4}
.jk-tools__n{color:var(--jk-muted);text-decoration:none;font-weight:600;padding:2px 1px}
.jk-tools__n:hover{color:var(--jk-accent)}
.jk-tools__n.is-on{color:var(--jk-accent);text-decoration:underline;text-underline-offset:3px}

.jk-tools__density{display:flex;align-items:center;gap:8px}
.jk-tools__d{
  display:flex;gap:2px;align-items:center;
  padding:7px;border-radius:7px;border:1.5px solid transparent;
  transition:border-color .14s ease,background .14s ease;
}
.jk-tools__d i{
  display:block;width:4px;height:15px;border-radius:1px;
  background:var(--jk-muted);opacity:.55;
}
.jk-tools__d:hover{background:var(--jk-bg)}
.jk-tools__d.is-on{border-color:var(--jk-line);background:var(--jk-bg)}
.jk-tools__d.is-on i{background:var(--jk-accent);opacity:1}

.jk-tools__sort select{
  font-family:inherit;font-size:13.5px;color:var(--jk-ink);
  border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
  padding:8px 14px;background:var(--jk-surface);cursor:pointer;
}
.jk-tools__count{font-size:13px;color:var(--jk-muted);font-weight:600}
.jk-tools__filter{display:none}

/* ---- grid density ---- */
.jk-shop__main.is-cols-2 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.jk-shop__main.is-cols-3 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.jk-shop__main.is-cols-4 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1180px){
  .jk-shop__main.is-cols-4 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .jk-shop__main.is-cols-3 ul.products,
  .jk-shop__main.is-cols-4 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .jk-shop__main ul.products{grid-template-columns:1fr!important}
}

/* ---- price slider ---- */
.jkf__price{padding-bottom:4px}
.jkf__slider{position:relative;height:34px;margin:6px 4px 2px}
.jkf__track{
  position:absolute;top:15px;left:0;right:0;height:3px;
  background:var(--jk-line);border-radius:3px;
}
.jkf__fill{position:absolute;top:0;bottom:0;background:var(--jk-accent);border-radius:3px}
.jkf__slider input[type=range]{
  position:absolute;top:6px;left:0;width:100%;
  margin:0;background:none;pointer-events:none;
  -webkit-appearance:none;appearance:none;height:22px;
}
.jkf__slider input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;pointer-events:auto;cursor:grab;
  width:17px;height:17px;border-radius:50%;
  background:var(--jk-surface);border:3px solid var(--jk-accent);
  box-shadow:0 1px 4px rgba(94,10,36,.3);
}
.jkf__slider input[type=range]::-moz-range-thumb{
  pointer-events:auto;cursor:grab;
  width:17px;height:17px;border-radius:50%;
  background:var(--jk-surface);border:3px solid var(--jk-accent);
}
.jkf__slider input[type=range]::-moz-range-track{background:none}
.jkf__slider input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--jk-ink);outline-offset:2px}

.jkf__pricerow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.jkf__pricetext{font-size:13px;color:var(--jk-muted)}
.jkf__pricetext b{color:var(--jk-ink);font-weight:700}
.jkf__apply{
  background:var(--jk-accent);color:#fff;text-decoration:none;
  padding:9px 20px;border-radius:var(--jk-r-pill);
  font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
.jkf__apply:hover{background:var(--jk-accent-deep)}

/* ---- occasions with nothing tagged yet ---- */
.jkf__link.is-empty{
  display:flex;align-items:center;gap:8px;padding:7px 9px;
  color:var(--jk-muted);opacity:.5;cursor:default;font-size:.93rem;
}
.jkf__link.is-empty em{margin-left:auto;font-style:normal;font-size:11.5px}

/* ---- popular products list ---- */
.jkf__pop{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.jkf__pop a{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--jk-ink)}
.jkf__popimg{
  flex:0 0 auto;width:56px;height:56px;border-radius:8px;overflow:hidden;
  background:var(--jk-bg);border:1px solid var(--jk-line);
}
.jkf__popimg img{width:100%;height:100%;object-fit:cover;display:block}
.jkf__poptext{display:flex;flex-direction:column;gap:3px;min-width:0}
.jkf__popname{font-size:.88rem;font-weight:600;line-height:1.25}
.jkf__pop a:hover .jkf__popname{color:var(--jk-accent)}
.jkf__popprice{font-size:.82rem;color:var(--jk-accent);font-weight:700}
.jkf__popprice del{opacity:.5;font-weight:500;margin-right:4px}
.jkf__popprice ins{text-decoration:none}

/* ---- mobile ---- */
@media(max-width:1023.98px){
  .jk-tools__filter{
    display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:inherit;
    background:none;border:1.5px solid var(--jk-line);border-radius:var(--jk-r-pill);
    padding:9px 16px;font-weight:600;font-size:14px;color:var(--jk-ink);
  }
  .jk-tools__filter svg{width:17px;height:17px}
  .jk-tools__show,.jk-tools__density{display:none}
  .jk-tools__crumb{flex-basis:100%;margin-right:0}
  .jk-cathero{padding-block:var(--jk-md)}
}
@media(max-width:520px){
  .jk-tools__count{display:none}
  .jk-tools__sort select{padding:8px 10px;font-size:13px}
}

/* ============================================================
   MOBILE HEADER - AUTHORITATIVE
   One row: burger | logo | search + cart. The nav drawer takes its
   own full-width row underneath when opened.
   Several older blocks (max-width 960 / 768 / 680 / 560) still set
   header properties, so these rules sit last and state the layout
   explicitly rather than relying on which block happens to win.
   ============================================================ */
@media(max-width:1023.98px){
  .jk-header__row{
    display:flex;align-items:center;flex-wrap:wrap;
    gap:10px;row-gap:10px;padding-block:10px;min-height:0;
  }

  .jk-burger{display:flex;order:-1;flex:0 0 auto;margin:0}

  .jk-header__logo{
    flex:0 1 auto;min-width:0;margin-right:auto;
    display:flex;align-items:center;
  }
  .jk-header__logo img,
  .jk-header__logo .custom-logo{
    height:40px;max-height:none;max-width:150px;width:auto;
  }

  /* the block that follows resets the stale full-width rule outright */
  .jk-header__actions{
    width:auto;flex:0 0 auto;
    justify-content:flex-end;
    margin-left:0;padding-left:0;
    gap:8px;flex-wrap:nowrap;
  }

  .jk-searchbtn{padding:9px 11px}
  .jk-searchbtn__label{display:none}
  .jk-cart{padding:9px 14px;font-size:13.5px}

  /* drawer keeps its own row */
  .jk-nav{order:5;flex-basis:100%;width:100%}
}

@media(max-width:420px){
  .jk-header__row{gap:8px;padding-block:8px}
  .jk-header__logo img,
  .jk-header__logo .custom-logo{height:36px;max-width:124px}
  .jk-header__actions{gap:6px}
  .jk-searchbtn{padding:8px 10px}
  .jk-searchbtn svg{width:16px;height:16px}
  .jk-cart{padding:8px 12px;font-size:13px}
  .jk-cart__ico{display:none}
}

@media(max-width:340px){
  .jk-header__logo img,
  .jk-header__logo .custom-logo{max-width:100px;height:32px}
  .jk-cart{padding:8px 10px;font-size:12.5px}
}

/* stuck state on phones: same row, just tighter */
@media(max-width:1023.98px){
  .jk-header.is-stuck .jk-header__row{padding-block:7px;min-height:0}
  .jk-header.is-stuck .jk-header__logo img,
  .jk-header.is-stuck .jk-header__logo .custom-logo{height:34px;max-height:none}
}

/* ============================================================
   MOBILE MENU v3 - slide-in drawer with drill-down submenus
   Header on phones reads: [burger + Menu] | logo | [Search] [Cart],
   each tool an icon with a small label under it.
   ============================================================ */

.jk-navveil{display:none}
.jk-navbar{display:none}
.jk-nav__back{display:none}

@media(max-width:1023.98px){

  /* ---- header row: three columns, logo centred ---- */
  .jk-header__row{
    display:flex;align-items:center;flex-wrap:nowrap;
    gap:8px;padding-block:8px;min-height:0;
  }
  .jk-header__logo{
    order:0;flex:1 1 auto;min-width:0;
    display:flex;align-items:center;justify-content:center;margin:0;
  }
  .jk-header__logo img,
  .jk-header__logo .custom-logo{height:42px;max-height:none;max-width:150px;width:auto}

  /* tools: icon above, small label under */
  .jk-burger{
    order:-1;flex:0 0 auto;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;width:52px;padding:4px 0;background:none;border:0;cursor:pointer;
  }
  .jk-burger span{
    display:block;width:20px;height:2px;border-radius:2px;
    background:var(--jk-ink);
  }
  .jk-burger span + span{margin-top:-1px}
  .jk-burger::after{
    content:"Menu";font-size:9.5px;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;color:var(--jk-muted);margin-top:2px;
  }

  .jk-header__actions{
    order:1;width:auto;flex:0 0 auto;
    justify-content:flex-end;margin:0;padding:0;gap:2px;flex-wrap:nowrap;
  }
  .jk-searchbtn{
    flex-direction:column;gap:3px;
    border:0;background:none;padding:4px 6px;width:52px;
  }
  .jk-searchbtn svg{width:19px;height:19px}
  .jk-searchbtn__label{
    display:block;font-size:9.5px;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;color:var(--jk-muted);
  }
  .jk-searchbtn:hover{color:var(--jk-accent)}

  .jk-cart{
    position:relative;
    display:flex;flex-direction:column;align-items:center;gap:3px;
    background:none;color:var(--jk-ink);border:0;
    padding:4px 6px;width:54px;font-size:9.5px;
  }
  .jk-cart__ico{
    font-size:9.5px;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;color:var(--jk-muted);order:2;
  }
  .jk-cart__n{
    order:1;
    min-width:21px;height:21px;padding:0 5px;
    display:flex;align-items:center;justify-content:center;
    background:var(--jk-accent);color:#fff;
    border-radius:var(--jk-r-pill);font-size:11px;font-weight:700;
  }
  .jk-cart:hover{background:none;color:var(--jk-accent)}

  /* ---- the drawer ---- */
  .jk-navveil{
    display:block;position:fixed;inset:0;z-index:10001;
    background:rgba(42,21,30,.5);
  }
  .jk-navveil[hidden]{display:none}

  .jk-nav{
    display:block!important;
    position:fixed;top:0;bottom:0;left:0;
    width:min(86vw,360px);
    background:var(--jk-surface);
    z-index:10002;
    transform:translateX(-100%);
    transition:transform .28s ease;
    box-shadow:0 0 40px rgba(94,10,36,.28);
    overflow:hidden;
    order:0;flex-basis:auto;
  }
  .jk-nav.is-open{transform:translateX(0)}
  .admin-bar .jk-nav{top:46px}

  .jk-navbar{
    display:flex;align-items:center;justify-content:space-between;
    height:56px;padding:0 var(--jk-md);
    border-bottom:1px solid var(--jk-line);
    background:var(--jk-surface);position:relative;z-index:3;
  }
  .jk-navbar__title{font-weight:700;font-size:1rem}
  .jk-navbar__close{
    width:32px;height:32px;border-radius:var(--jk-r-pill);
    display:flex;align-items:center;justify-content:center;
    background:var(--jk-bg);border:1px solid var(--jk-line);
    color:var(--jk-ink);font-size:20px;line-height:1;cursor:pointer;font-family:inherit;
  }

  /* level 1 */
  .jk-nav__list{
    position:absolute;top:56px;bottom:0;left:0;width:100%;
    display:block;margin:0;padding:0;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    background:var(--jk-surface);
    transition:transform .28s ease;
  }
  .jk-nav.is-drilled .jk-nav__list{transform:translateX(-30%)}
  .jk-nav__item{position:relative;margin:0}
  .jk-nav__item > a{
    display:block;padding:14px var(--jk-md);
    border-bottom:1px solid var(--jk-line);
    font-size:.98rem;font-weight:500;color:var(--jk-ink);text-decoration:none;
  }
  .jk-nav__item--mega > a,
  .jk-nav__item--drop > a{padding-right:58px}
  .jk-nav__item > a::after{display:none}

  .jk-nav__toggle{
    display:flex;align-items:center;justify-content:center;
    position:absolute;right:0;top:0;width:58px;height:50px;
    background:none;border:0;padding:0;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .jk-nav__toggle span{
    display:block;width:9px;height:9px;
    border-right:2px solid var(--jk-muted);
    border-top:2px solid var(--jk-muted);
    transform:rotate(45deg);
  }
  .jk-nav__toggle:focus-visible{outline:2px solid var(--jk-accent);outline-offset:-3px}

  /* level 2 slides in from the right */
  .jk-nav__item--mega > .jk-mega__wrap,
  .jk-nav__item--drop > .jk-drop{
    display:block;
    position:fixed;top:56px;bottom:0;left:0;
    width:min(86vw,360px);
    background:var(--jk-surface);
    transform:translateX(100%);
    transition:transform .28s ease;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    z-index:2;padding:0;border:0;box-shadow:none;
    opacity:1;visibility:visible;
  }
  .admin-bar .jk-nav__item--mega > .jk-mega__wrap,
  .admin-bar .jk-nav__item--drop > .jk-drop{top:102px}
  .jk-nav__item.is-active > .jk-mega__wrap,
  .jk-nav__item.is-active > .jk-drop{transform:translateX(0)}

  .jk-nav__back{
    display:flex;align-items:center;gap:9px;width:100%;
    padding:13px var(--jk-md);
    background:var(--jk-bg);border:0;border-bottom:1px solid var(--jk-line);
    font-family:inherit;font-size:.88rem;font-weight:600;
    letter-spacing:.04em;text-transform:uppercase;color:var(--jk-muted);
    cursor:pointer;
  }
  .jk-nav__back span{
    width:8px;height:8px;
    border-left:2px solid var(--jk-accent);
    border-bottom:2px solid var(--jk-accent);
    transform:rotate(45deg);
  }

  /* panel contents as a plain list */
  .jk-mega__promo{display:none}
  .jk-mega__wrap .jk-wrap{padding:0;max-width:none}
  .jk-mega{display:block;padding:0;grid-template-columns:none}
  .jk-mega__cols{display:block;gap:0}
  .jk-mega__col{padding:0}
  .jk-mega__col h4,
  .jk-drop h4{
    margin:0;padding:16px var(--jk-md) 6px;
    font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--jk-muted);
  }
  .jk-mega__col ul,
  .jk-drop ul{display:block;margin:0;padding:0;list-style:none}
  .jk-mega__col ul li,
  .jk-drop ul li{margin:0}
  .jk-mega__col ul a,
  .jk-drop ul a{
    display:flex;align-items:center;gap:10px;
    padding:13px var(--jk-md);
    font-size:.94rem;color:var(--jk-ink);text-decoration:none;
    border-bottom:1px solid var(--jk-line);border-radius:0;
  }
  .jk-mega__col ul a em,
  .jk-drop ul a em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--jk-muted)}
  .jk-drop__all{padding:14px var(--jk-md) 18px;border-top:0;width:auto}
}

@media(max-width:400px){
  .jk-header__logo img,
  .jk-header__logo .custom-logo{height:38px;max-width:118px}
  .jk-burger,.jk-searchbtn{width:46px}
  .jk-cart{width:48px}
}

@media (prefers-reduced-motion:reduce){
  .jk-nav,.jk-nav__list,
  .jk-nav__item--mega > .jk-mega__wrap,
  .jk-nav__item--drop > .jk-drop{transition:none}
}

/* ============================================================
   MOBILE HEADER TOOLS - final corrections
   The burger showed a filled box on tap because it is a <button> and
   picked up a background from the global button styles on hover/focus.
   The CART label stayed hidden because older 560px and 680px blocks set
   .jk-cart__ico{display:none} and the v3 block never restated display.
   ============================================================ */
@media(max-width:1023.98px){
  .jk-burger,
  .jk-burger:hover,
  .jk-burger:focus,
  .jk-burger:active,
  .jk-burger:focus-visible{
    background:none!important;
    border:0!important;
    box-shadow:none!important;
    color:var(--jk-ink);
    -webkit-tap-highlight-color:transparent;
  }
  .jk-burger:focus-visible{outline:2px solid var(--jk-accent);outline-offset:2px;border-radius:8px}

  .jk-searchbtn,
  .jk-searchbtn:hover,
  .jk-searchbtn:focus,
  .jk-searchbtn:active{
    background:none!important;border:0!important;box-shadow:none!important;
    -webkit-tap-highlight-color:transparent;
  }

  .jk-cart,
  .jk-cart:hover,
  .jk-cart:focus,
  .jk-cart:active{
    background:none!important;border:0!important;box-shadow:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  /* restore the label the older blocks hid */
  .jk-cart__ico{display:block!important}

  /* open state: turn the bars into a cross */
  .jk-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .jk-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .jk-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .jk-burger span{transition:transform .2s ease,opacity .2s ease}
}

@media(max-width:400px){
  .jk-cart__ico{display:block!important}
}

@media (prefers-reduced-motion:reduce){
  .jk-burger span{transition:none}
}

/* ============================================================
   MOBILE MENU - specificity and stacking corrections

   1. .jk-header carries position:sticky and z-index:900, which opens a
      stacking context. The drawer lives inside it, so its z-index:10002
      is capped at 900 and the body-level backdrop (10001) painted over
      it - the panel looked washed out. The backdrop now sits below the
      header instead.
   2. .jk-nav ul is (0,1,1) and was beating .jk-nav__list (0,1,0), so its
      align-items:center kept centring the rows. These selectors match
      that weight.
   3. The mega/drop caret is a ::before and was never hidden on mobile.
   ============================================================ */

@media(max-width:1023.98px){

  .jk-navveil{z-index:890}

  /* full-width rows, left aligned */
  .jk-nav ul.jk-nav__list{
    display:block;align-items:stretch;gap:0;
    text-align:left;
  }
  .jk-nav ul.jk-nav__list > li{display:block;width:100%;margin:0}

  .jk-nav .jk-nav__item > a{
    display:block;width:100%;
    padding:15px var(--jk-md);
    text-align:left;font-size:.98rem;font-weight:500;
    border-bottom:1px solid var(--jk-line);
    white-space:normal;
  }
  .jk-nav .jk-nav__item > a::after{display:none!important}
  .jk-nav .jk-nav__item--mega > a::before,
  .jk-nav .jk-nav__item--drop > a::before{display:none!important}

  .jk-nav .jk-nav__item--mega > a,
  .jk-nav .jk-nav__item--drop > a{padding-right:58px}

  .jk-nav .jk-nav__toggle{height:52px}

  /* panel lists, same treatment */
  .jk-nav .jk-mega__col ul,
  .jk-nav .jk-drop ul{display:block;text-align:left;gap:0}
  .jk-nav .jk-mega__col ul li,
  .jk-nav .jk-drop ul li{display:block;width:100%}
  .jk-nav .jk-mega__col ul a,
  .jk-nav .jk-drop ul a{
    display:flex;width:100%;text-align:left;
    padding:14px var(--jk-md);
    border-bottom:1px solid var(--jk-line);
  }

  /* active row highlight, as on the reference */
  .jk-nav .jk-nav__item > a:active,
  .jk-nav .jk-mega__col ul a:active,
  .jk-nav .jk-drop ul a:active{background:var(--jk-bg)}
}

/* ============================================================
   MOBILE SUBMENU AS A DROPDOWN
   Replaces the slide-in second level. The panels sit in normal flow
   and simply open under their parent, so the drawer scrolls as one
   list and nothing can be clipped by the drawer's own transform.
   ============================================================ */
@media(max-width:1023.98px){

  /* drawer scrolls as a whole; the title bar stays put */
  .jk-nav{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .jk-navbar{position:sticky;top:0;z-index:4}

  .jk-nav ul.jk-nav__list{
    position:static;top:auto;bottom:auto;
    height:auto;max-height:none;overflow:visible;
    transform:none;
  }
  .jk-nav.is-drilled ul.jk-nav__list{transform:none}

  /* panels: in flow, closed by default */
  .jk-nav .jk-nav__item--mega > .jk-mega__wrap,
  .jk-nav .jk-nav__item--drop > .jk-drop{
    position:static;top:auto;bottom:auto;left:auto;
    width:auto;height:auto;max-height:none;
    transform:none;transition:none;
    display:none;overflow:visible;
    background:var(--jk-bg);
    border:0;border-bottom:1px solid var(--jk-line);
    box-shadow:none;padding:0;z-index:auto;
    opacity:1;visibility:visible;
  }
  .jk-nav .jk-nav__item.is-expanded > .jk-mega__wrap,
  .jk-nav .jk-nav__item.is-expanded > .jk-drop{display:block}

  /* the Back bar belonged to the slide-in version */
  .jk-nav__back{display:none!important}

  /* arrow points down once open */
  .jk-nav .jk-nav__toggle span{
    transform:rotate(45deg);
    transition:transform .2s ease,border-color .2s ease;
  }
  .jk-nav .jk-nav__item.is-expanded > .jk-nav__toggle span{
    transform:rotate(135deg);
    border-color:var(--jk-accent);
  }

  /* sub-items sit one step in, so the level reads clearly */
  .jk-nav .jk-mega__col h4,
  .jk-nav .jk-drop h4{
    margin:0;padding:14px var(--jk-md) 4px;
    font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--jk-muted);background:var(--jk-bg);
  }
  .jk-nav .jk-mega__col ul a,
  .jk-nav .jk-drop ul a{
    padding:12px var(--jk-md) 12px calc(var(--jk-md) + 14px);
    font-size:.92rem;
    border-bottom:1px solid rgba(233,217,196,.6);
    background:var(--jk-bg);
  }
  .jk-nav .jk-mega__col ul li:last-child a,
  .jk-nav .jk-drop ul li:last-child a{border-bottom:0}
  .jk-nav .jk-drop__all{
    display:block;padding:12px var(--jk-md) 16px calc(var(--jk-md) + 14px);
    background:var(--jk-bg);border-top:1px solid rgba(233,217,196,.6);
    font-size:.9rem;font-weight:600;color:var(--jk-accent);
  }
}

@media (prefers-reduced-motion:reduce){
  .jk-nav .jk-nav__toggle span{transition:none}
}

/* ============================================================
   MENU ARROW AND CLOSE BUTTON - brand colours, all states
   These are <button> elements and were still picking up the browser's
   default control background on tap, which read as a pink block.
   Every state is stated here in the site's own palette.
   ============================================================ */
@media(max-width:1023.98px){

  .jk-nav .jk-nav__toggle,
  .jk-nav .jk-nav__toggle:hover,
  .jk-nav .jk-nav__toggle:focus,
  .jk-nav .jk-nav__toggle:active,
  .jk-nav .jk-nav__toggle:focus-visible{
    -webkit-appearance:none;appearance:none;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:var(--jk-accent);
    -webkit-tap-highlight-color:transparent;
  }

  /* pressed and open states use the cream tint, not a browser default */
  .jk-nav .jk-nav__toggle:active{background:var(--jk-bg)!important}
  .jk-nav .jk-nav__item.is-expanded > .jk-nav__toggle{background:var(--jk-bg)!important}

  .jk-nav .jk-nav__toggle:focus-visible{
    outline:2px solid var(--jk-accent);outline-offset:-3px;border-radius:8px;
  }

  /* chevron itself in the brand maroon */
  .jk-nav .jk-nav__toggle span{
    border-right:2px solid var(--jk-accent);
    border-top:2px solid var(--jk-accent);
    border-left:0;border-bottom:0;
  }
  .jk-nav .jk-nav__item.is-expanded > .jk-nav__toggle span{
    border-right-color:var(--jk-accent-deep);
    border-top-color:var(--jk-accent-deep);
  }

  /* the drawer close button, same treatment */
  .jk-navbar__close,
  .jk-navbar__close:hover,
  .jk-navbar__close:focus,
  .jk-navbar__close:active{
    -webkit-appearance:none;appearance:none;
    background:var(--jk-bg)!important;
    border:1px solid var(--jk-line)!important;
    color:var(--jk-ink)!important;
    box-shadow:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .jk-navbar__close:active{
    background:var(--jk-accent)!important;
    border-color:var(--jk-accent)!important;
    color:#fff!important;
  }
  .jk-navbar__close:focus-visible{outline:2px solid var(--jk-accent);outline-offset:2px}
}

/* ============================================================
   DESKTOP: hide the mobile-only menu furniture
   The drawer script builds the arrow toggles, the drawer title bar and
   the backdrop at every screen size. Only the mobile rules ever styled
   them, so on desktop the toggles rendered as empty bordered buttons
   next to each parent item.
   ============================================================ */
@media(min-width:1024px){
  .jk-nav__toggle,
  .jk-navbar,
  .jk-navveil,
  .jk-nav__back{display:none!important}
}

/* ============================================================
   CONTACT PAGE
   Built on the saved design: cream page, white hairline cards,
   maroon as the only accent, gold used strictly as a ground behind
   a heading and sized to the text.
   ============================================================ */

/* the catalogue's gold section bar */
.jk-goldbar{margin:0 0 var(--jk-sm);font-size:1.15rem;line-height:1.2}
.jk-goldbar span{
  display:inline-block;
  background:var(--jk-gold);color:var(--jk-ink);
  padding:4px 12px;border-radius:var(--jk-r-sm);
}

.jk-contactgrid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:var(--jk-lg);align-items:start;
}
@media(max-width:900px){
  .jk-contactgrid{grid-template-columns:1fr;gap:var(--jk-md)}
}

.jk-panel{
  background:var(--jk-surface);
  border:1px solid var(--jk-line);
  border-radius:var(--jk-r-md);
  padding:var(--jk-md);
}

/* ---- contact details ---- */
.jk-contactcard__row{
  padding:14px 0;border-top:1px solid var(--jk-line);
  display:flex;flex-direction:column;gap:3px;
}
.jk-contactcard__row:first-of-type{border-top:0;padding-top:6px}
.jk-contactcard__k{
  font-size:10.5px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--jk-muted);
}
.jk-contactcard__v{font-size:.98rem;line-height:1.55;color:var(--jk-ink)}
.jk-contactcard__v a{color:var(--jk-ink);text-decoration:none;font-weight:600}
.jk-contactcard__v a:hover{color:var(--jk-accent)}
.jk-contactcard__link{
  margin-top:6px;font-size:.9rem;font-weight:600;
  color:var(--jk-accent);text-decoration:none;
}
.jk-contactcard__link:hover{text-decoration:underline;color:var(--jk-accent-deep)}

/* ---- hours ---- */
.jk-hours{margin-top:var(--jk-md)}
.jk-hours__status{
  display:inline-flex;align-items:center;gap:8px;
  margin:0 0 var(--jk-sm)!important;
  padding:7px 14px;border-radius:var(--jk-r-pill);
  font-size:.9rem!important;font-weight:600;
  background:var(--jk-bg);color:var(--jk-muted);
  border:1px solid var(--jk-line);
}
.jk-hours__dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--jk-muted);flex:0 0 auto;
}
.jk-hours__status.is-open{
  background:var(--jk-gold);color:var(--jk-ink);border-color:var(--jk-gold);
}
.jk-hours__status.is-open .jk-hours__dot{background:var(--jk-ink)}
.jk-hours__status.is-shut{background:var(--jk-bg);color:var(--jk-muted)}

.jk-hours__list{list-style:none;margin:0;padding:0}
.jk-hours__row{
  display:flex;align-items:center;justify-content:space-between;gap:var(--jk-sm);
  padding:9px 0;border-top:1px solid var(--jk-line);
  font-size:.94rem;
}
.jk-hours__row:first-child{border-top:0}
.jk-hours__day{color:var(--jk-muted);font-weight:600}
.jk-hours__time{color:var(--jk-ink);font-variant-numeric:tabular-nums}
.jk-hours__row.is-today .jk-hours__day,
.jk-hours__row.is-today .jk-hours__time{color:var(--jk-accent);font-weight:700}

/* ---- map ---- */
.jk-mapwrap{
  border:1px solid var(--jk-line);border-radius:var(--jk-r-md);
  overflow:hidden;line-height:0;background:var(--jk-bg);
}
.jk-mapwrap iframe{width:100%;height:340px;border:0;display:block}
@media(max-width:900px){.jk-mapwrap iframe{height:260px}}

/* ============================================================
   CONTACT PAGE LAYOUT AND FORM - v2
   Elementor 4.2.2 is not writing _css_classes onto containers here,
   so the layout hangs off the container's own element id and every
   card style is attached to the widget output instead. That way the
   panels survive even if the containers are rebuilt.
   ============================================================ */

/* two columns, collapsing to one */
.page-id-20 .elementor-element-e10d934 > .e-con-inner{
  display:grid;
  grid-template-columns:minmax(0,0.88fr) minmax(0,1.12fr);
  gap:var(--jk-lg);
  align-items:start;
}
@media(max-width:900px){
  .page-id-20 .elementor-element-e10d934 > .e-con-inner{
    grid-template-columns:1fr;gap:var(--jk-md);
  }
}
.page-id-20 .elementor-element-e10d934 > .e-con-inner > .e-con{width:100%;max-width:none}

/* each block is its own hairline card, per the catalogue design */
.page-id-20 .jk-contactcard,
.page-id-20 .jk-hours,
.page-id-20 .wpforms-container{
  background:var(--jk-surface);
  border:1px solid var(--jk-line);
  border-radius:var(--jk-r-md);
  padding:var(--jk-md);
}
.page-id-20 .jk-hours{margin-top:var(--jk-md)}
.page-id-20 .elementor-widget-shortcode{width:100%}

/* ---- WPForms 2.0 modern render, styled through its own variables ---- */
.wpforms-container{
  --wpforms-field-border-radius:6px;
  --wpforms-field-border-size:1.5px;
  --wpforms-field-background-color:#FFFFFF;
  --wpforms-field-border-color:#E9D9C4;
  --wpforms-field-text-color:#2A151E;
  --wpforms-field-menu-color:#FFFFFF;

  --wpforms-label-color:#6B5058;
  --wpforms-label-sublabel-color:#6B5058;
  --wpforms-label-error-color:#8C1039;

  --wpforms-button-border-radius:999px;
  --wpforms-button-border-size:0px;
  --wpforms-button-background-color:#8C1039;
  --wpforms-button-text-color:#FDF4E3;

  --wpforms-page-break-color:#8C1039;

  --wpforms-field-size-input-height:48px;
  --wpforms-field-size-input-spacing:16px;
  --wpforms-field-size-font-size:15px;
  --wpforms-field-size-line-height:22px;
  --wpforms-field-size-padding-h:14px;
  --wpforms-field-size-sublabel-spacing:6px;

  --wpforms-label-size-font-size:11px;
  --wpforms-label-size-line-height:16px;
  --wpforms-label-size-sublabel-font-size:13px;
  --wpforms-label-size-sublabel-line-height:18px;

  --wpforms-button-size-font-size:15px;
  --wpforms-button-size-height:50px;
  --wpforms-button-size-padding-h:30px;
  --wpforms-button-size-margin-top:8px;

  margin:0;
}

.wpforms-form{font-family:'Poppins',sans-serif}
.wpforms-form .wpforms-field{padding:0 0 18px}
.wpforms-form .wpforms-field-label{
  font-family:'Poppins',sans-serif;
  font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  margin-bottom:7px;color:var(--jk-muted);
}
.wpforms-form .wpforms-required-label{color:var(--jk-accent);margin-left:2px}

.wpforms-form input[type=text],
.wpforms-form input[type=email],
.wpforms-form input[type=tel],
.wpforms-form select,
.wpforms-form textarea{
  width:100%;max-width:100%;
  font-family:'Poppins',sans-serif;
  box-shadow:none;
  transition:border-color .16s ease;
}
.wpforms-form textarea{min-height:132px;height:auto;resize:vertical;padding-block:12px}
.wpforms-form input:focus,
.wpforms-form select:focus,
.wpforms-form textarea:focus{border-color:var(--jk-accent);outline:none;box-shadow:none}

.wpforms-form select{
  appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:linear-gradient(45deg,transparent 50%,#6B5058 50%),
                   linear-gradient(135deg,#6B5058 50%,transparent 50%);
  background-position:calc(100% - 19px) 21px,calc(100% - 13px) 21px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}

.wpforms-form .wpforms-submit-container{padding-top:4px}
.wpforms-form button[type=submit]{
  font-family:'Poppins',sans-serif;font-weight:600;
  box-shadow:none;cursor:pointer;
  transition:background .18s ease,transform .12s ease;
}
.wpforms-form button[type=submit]:hover{background:var(--jk-accent-deep)}
.wpforms-form button[type=submit]:active{transform:translateY(1px)}

.wpforms-form label.wpforms-error{color:var(--jk-accent);font-size:.83rem;margin-top:5px}
.wpforms-form input.wpforms-error,
.wpforms-form textarea.wpforms-error,
.wpforms-form select.wpforms-error{border-color:var(--jk-accent)}

div[class*="wpforms-confirmation-container"]{
  background:var(--jk-bg)!important;border:1px solid var(--jk-line)!important;
  border-radius:var(--jk-r-md)!important;color:var(--jk-ink)!important;
  padding:var(--jk-md)!important;margin:0!important;
}

/* The spam honeypot hides itself with a JS injected style. If a cache
   defers that script the field can flash on screen, so it is hidden in
   CSS as well. */
.wpforms-form .wpforms-field-hp,
.wpforms-form div[id$="-field_5-container"]{
  position:absolute!important;overflow:hidden!important;
  height:1px!important;width:1px!important;
  padding:0!important;margin:-1px!important;
  clip:rect(0 0 0 0)!important;z-index:-1000!important;
}

/* ============================================================
   THANK YOU PAGE
   ============================================================ */
.jk-thanks{max-width:60ch}
.jk-thanks__h{
  margin:var(--jk-sm) 0 var(--jk-sm);
  font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.12;
}
.jk-thanks__p{
  margin:0 0 var(--jk-md);
  color:var(--jk-muted);font-size:1.02rem;line-height:1.6;
}
.jk-thanks__cta{display:flex;flex-wrap:wrap;gap:var(--jk-sm)}

.jk-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--jk-accent);color:var(--jk-bg);
  font-weight:600;font-size:.95rem;line-height:1;
  padding:14px 28px;border-radius:var(--jk-r-pill);
  text-decoration:none;border:0;
  transition:background .18s ease,transform .12s ease;
}
.jk-cta:hover{background:var(--jk-accent-deep);color:var(--jk-bg)}
.jk-cta:active{transform:translateY(1px)}
.jk-cta--ghost{
  background:transparent;color:var(--jk-ink);
  border:1.5px solid var(--jk-ink);padding:12.5px 26px;
}
.jk-cta--ghost:hover{background:var(--jk-ink);color:var(--jk-bg)}

/* the steps really are a sequence, so they are numbered */
.jk-next{
  background:var(--jk-surface);
  border:1px solid var(--jk-line);
  border-radius:var(--jk-r-md);
  padding:var(--jk-md);
}
.jk-next__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--jk-sm)}
.jk-next__list li{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 0;border-top:1px solid var(--jk-line);
}
.jk-next__list li:first-child{border-top:0;padding-top:4px}
.jk-next__list li > span{
  flex:0 0 auto;width:28px;height:28px;border-radius:var(--jk-r-pill);
  display:flex;align-items:center;justify-content:center;
  background:var(--jk-gold);color:var(--jk-ink);
  font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;
}
.jk-next__list strong{display:block;font-size:1rem;margin-bottom:2px}
.jk-next__list p{margin:0;color:var(--jk-muted);font-size:.94rem;line-height:1.55}

@media(max-width:560px){
  .jk-thanks__cta{flex-direction:column;align-items:stretch}
  .jk-cta{width:100%}
}

/* ============================================================
   MITHAI AND GIFTING SECTION
   Real photography in a hairline frame, and the two buttons on one
   row instead of stretching the full column.
   ============================================================ */

/* photograph frame, used anywhere a real shot replaces a placeholder */
.jk-shot img{
  display:block;width:100%;height:100%;
  object-fit:cover;
  border-radius:var(--jk-r-md);
  border:1px solid var(--jk-line);
}
.jk-shot{line-height:0}

@media(min-width:901px){
  .jk-hamper .jk-shot img{min-height:440px}
}

/* the copy column */
.jk-mithai__body{justify-content:center}

/* buttons share a row and size to their text */
.jk-btnrow.elementor-widget-button{
  display:inline-block;width:auto;
  margin-right:var(--jk-sm);
}
.jk-btnrow .elementor-button-wrapper{display:inline-block}
.jk-btnrow .elementor-button{
  background:var(--jk-accent);color:var(--jk-bg);
  border:0;padding:14px 28px;border-radius:var(--jk-r-pill);
  font-weight:600;font-size:.95rem;line-height:1;
}
.jk-btnrow .elementor-button:hover{background:var(--jk-accent-deep);color:var(--jk-bg)}
.jk-btnrow.jk-btn--ghost .elementor-button{
  background:transparent;color:var(--jk-ink);
  border:1.5px solid var(--jk-ink);padding:12.5px 26px;
}
.jk-btnrow.jk-btn--ghost .elementor-button:hover{
  background:var(--jk-ink);color:var(--jk-bg);
}

@media(max-width:560px){
  .jk-btnrow.elementor-widget-button{display:block;width:100%;margin-right:0}
  .jk-btnrow .elementor-button-wrapper{display:block}
  .jk-btnrow .elementor-button{width:100%;justify-content:center}
}

/* the section stacks under 900px, photo first */
@media(max-width:900px){
  .jk-hamper.e-con{flex-direction:column}
  .jk-hamper .jk-shot img{min-height:280px}
}

/* ============================================================
   PHOTO CLUSTER
   Four real photographs, staggered so the group reads as an
   assortment rather than one hero shot. This is the section's own
   layout family, so it does not repeat the hero or the dark band.
   ============================================================ */
.jk-cluster{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  gap:var(--jk-sm);
}
.jk-cluster__cell{
  position:relative;margin:0;overflow:hidden;
  border-radius:var(--jk-r-md);
  border:1px solid var(--jk-line);
  background:var(--jk-bg);
  aspect-ratio:1/1;
}
.jk-cluster__cell img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.jk-cluster__cell:hover img{transform:scale(1.04)}

/* the stagger: first and last sit lower, so the block is not a flat grid */
.jk-cluster__cell--1{margin-top:26px}
.jk-cluster__cell--4{margin-top:-26px}

.jk-cluster__cell figcaption{
  position:absolute;left:10px;right:10px;bottom:10px;
  color:#fff;font-size:12px;font-weight:600;
  letter-spacing:.03em;line-height:1.2;
  text-shadow:0 1px 6px rgba(42,21,30,.7);
}
.jk-cluster__cell::after{
  content:"";position:absolute;inset:auto 0 0 0;height:46%;
  background:linear-gradient(to top,rgba(42,21,30,.72),transparent);
  pointer-events:none;
}
.jk-cluster__cell:not(:has(figcaption))::after{display:none}

.jk-cluster__note{
  margin:var(--jk-sm) 0 0!important;
  font-size:.86rem;color:var(--jk-muted);
}

@media(max-width:900px){
  .jk-cluster__cell--1,
  .jk-cluster__cell--4{margin-top:0}
}
@media(max-width:420px){
  .jk-cluster{gap:8px}
  .jk-cluster__cell figcaption{font-size:11px;left:8px;right:8px;bottom:8px}
}

@media (prefers-reduced-motion:reduce){
  .jk-cluster__cell img{transition:none}
  .jk-cluster__cell:hover img{transform:none}
}

/* this section keeps the cream ground and a hairline top rule only */
.jk-hamper{background:var(--jk-bg);border-block:0;border-top:1px solid var(--jk-line)}
.jk-hamper .jk-shot img{min-height:0}

/* ============================================================
   GIFTING SECTION - corrections
   1. Captions moved out from over the photograph. White text on pale
      sweets was unreadable whatever the scrim.
   2. Ticks were leaf green; the design reserves that colour for
      freshness and veg marks, so they use the accent instead.
   3. .jk-btn--ghost was on the button WIDGET, so line 71 drew a border
      round the whole wrapper and line 913 drew another round the link.
      The row uses its own modifier now.
   4. Elementor 4.2.2 does not print _css_classes on containers, so the
      copy column is centred by its element id.
   ============================================================ */

/* ---- cluster: caption under the picture ---- */
.jk-cluster__cell{
  aspect-ratio:auto;border:0;background:none;overflow:visible;border-radius:0;
}
.jk-cluster__pic{
  display:block;overflow:hidden;
  border-radius:var(--jk-r-md);
  border:1px solid var(--jk-line);
  background:var(--jk-surface);
  aspect-ratio:1/1;
}
.jk-cluster__pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.jk-cluster__cell:hover .jk-cluster__pic img{transform:scale(1.04)}
.jk-cluster__cell::after{display:none}

.jk-cluster__cell figcaption{
  position:static;display:block;
  padding:9px 2px 0;text-shadow:none;color:var(--jk-ink);
  left:auto;right:auto;bottom:auto;
}
.jk-cluster__cat{
  display:block;font-size:10px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--jk-muted);
  margin-bottom:2px;
}
.jk-cluster__name{display:block;font-size:.92rem;font-weight:600;line-height:1.25;color:var(--jk-ink)}

.jk-cluster{gap:var(--jk-md) var(--jk-sm)}
.jk-cluster__cell--1{margin-top:0}
.jk-cluster__cell--4{margin-top:0}
@media(min-width:901px){
  .jk-cluster__cell--2,
  .jk-cluster__cell--4{margin-top:30px}
}

/* ---- ticks in the accent, not leaf green ---- */
.jk-ticks li::before{
  border-right-color:var(--jk-accent);
  border-bottom-color:var(--jk-accent);
}
.jk-ticks li{color:var(--jk-ink);font-size:.96rem}
.jk-ticks{margin-bottom:var(--jk-md)}

/* ---- buttons: two pills on one row, no stray boxes ---- */
.jk-btnrow.elementor-widget-button,
.jk-btnrow.elementor-widget-button.jk-btnrow--ghost{
  display:inline-block;width:auto;
  background:none;border:0;box-shadow:none;
  margin:0 10px 10px 0;padding:0;
}
.jk-btnrow .elementor-button-wrapper{display:inline-block}
.jk-btnrow .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--jk-accent);color:var(--jk-bg);
  border:0;padding:14px 28px;border-radius:var(--jk-r-pill);
  font-weight:600;font-size:.95rem;line-height:1;
  transition:background .18s ease,transform .12s ease;
}
.jk-btnrow .elementor-button:hover{background:var(--jk-accent-deep);color:var(--jk-bg)}
.jk-btnrow .elementor-button:active{transform:translateY(1px)}

.jk-btnrow--ghost .elementor-button{
  background:transparent;color:var(--jk-ink);
  border:1.5px solid var(--jk-ink);padding:12.5px 26px;
}
.jk-btnrow--ghost .elementor-button:hover{background:var(--jk-ink);color:var(--jk-bg)}

@media(max-width:560px){
  .jk-btnrow.elementor-widget-button{display:block;width:100%;margin-right:0}
  .jk-btnrow .elementor-button-wrapper{display:block}
  .jk-btnrow .elementor-button{width:100%}
}

/* ---- copy column: centred against the photographs, tighter heading ---- */
.elementor-element-d1ef71f{justify-content:center}
.elementor-element-d1ef71f .elementor-heading-title{
  font-size:clamp(1.7rem,2.9vw,2.35rem);line-height:1.14;
}
.elementor-element-d1ef71f .jk-hero__eyebrow .elementor-heading-title{
  font-size:11px;letter-spacing:.11em;
}
.elementor-element-d1ef71f .jk-lede p{max-width:46ch}

/* ============================================================
   GIFT BOXES AND HAMPERS
   The one dark panel on the home page: the catalogue cover put
   on screen. Copy holds the left of the maroon ground, and the
   contents of the box play through a showcase on the right that
   a visitor can steer with the thumbnails. Ground, marker and
   text are the catalogue's own cocoa, gold and cream.
   Scoped by element id because Elementor 4.2.2 does not print
   custom classes on containers.
   ============================================================ */

.elementor-element-cf6c63c{
  background:var(--jk-cocoa);
  border-top:0;border-bottom:0;
  overflow:hidden;
}
.elementor-element-cf6c63c>.e-con-inner{
  align-items:center!important;
  gap:clamp(30px,4.5vw,68px);
}
.elementor-element-cf6c63c .elementor-element-34bb378{
  flex:1 1 0;width:auto;min-width:0;margin-left:0;
}
.elementor-element-cf6c63c .elementor-element-d1ef71f{
  display:block;order:-1;
  flex:0 0 clamp(320px,40%,470px);
  width:auto;min-width:0;
}

/* ---- copy on the maroon ground ---- */
.elementor-element-cf6c63c .jk-hero__eyebrow{display:inline-block;margin:0 0 18px}
.elementor-element-cf6c63c .jk-hero__eyebrow .elementor-heading-title{
  display:inline-block;
  background:var(--jk-gold);color:var(--jk-ink);
  padding:6px 13px;border-radius:var(--jk-r-sm);
  font-size:11px;font-weight:600;line-height:1.2;
  letter-spacing:.09em;text-transform:uppercase;
}
.elementor-element-cf6c63c .elementor-element-8746da3 .elementor-heading-title{
  color:#FBEEDA;
  font-size:clamp(1.95rem,3.4vw,2.85rem);
  line-height:1.05;letter-spacing:-.02em;
  margin:0 0 16px;
}
.elementor-element-cf6c63c .jk-lede p{
  color:#E8D2B4;max-width:42ch;
  font-size:1.02rem;margin-bottom:26px;
}

/* the three promises, ruled like the panel on a box */
.elementor-element-cf6c63c .jk-ticks{
  display:block;margin:0 0 30px;padding:0;
  border-top:1px solid rgba(251,238,218,.18);
}
.elementor-element-cf6c63c .jk-ticks li{
  position:relative;padding:12px 0 12px 26px;
  border-bottom:1px solid rgba(251,238,218,.18);
  font-size:.95rem;line-height:1.45;color:#FBEEDA;
}
.elementor-element-cf6c63c .jk-ticks li::before{
  content:'';position:absolute;left:0;top:19px;
  width:7px;height:12px;
  border-right:2px solid var(--jk-gold);
  border-bottom:2px solid var(--jk-gold);
  transform:rotate(42deg);
}

/* on a maroon ground the primary flips to gold */
.elementor-element-cf6c63c .jk-btnrow.elementor-widget-button{
  display:inline-block;width:auto;margin:0 10px 12px 0;
}
.elementor-element-cf6c63c .jk-btnrow .elementor-button{
  background:var(--jk-gold);color:var(--jk-ink);border:0;
}
.elementor-element-cf6c63c .jk-btnrow .elementor-button:hover{
  background:var(--jk-gold-pale);color:var(--jk-ink);
}
.elementor-element-cf6c63c .jk-btnrow--ghost .elementor-button{
  background:transparent;color:#FBEEDA;
  border:1.5px solid rgba(251,238,218,.5);
}
.elementor-element-cf6c63c .jk-btnrow--ghost .elementor-button:hover{
  background:#FBEEDA;color:var(--jk-cocoa);border-color:#FBEEDA;
}

/* ---- the showcase ---- */
.jk-gift{display:block}

.jk-gift__stage{
  position:relative;
  aspect-ratio:4 / 3;
  border-radius:var(--jk-r-md);
  overflow:hidden;
  background:rgba(251,238,218,.06);
  border:1px solid rgba(251,238,218,.16);
}
.jk-gift__slide{
  position:absolute;inset:0;margin:0;
  opacity:0;transform:scale(1.04);
  transition:opacity .65s ease,transform 1.4s ease;
}
.jk-gift__slide.is-active{opacity:1;transform:scale(1)}
.jk-gift__slide img{width:100%;height:100%;object-fit:cover;display:block}

.jk-gift__bar{
  position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2;
  background:rgba(251,238,218,.16);
}
.jk-gift__bar i{
  display:block;height:100%;
  background:var(--jk-gold);
  transform:scaleX(0);transform-origin:left center;
}
@keyframes jkGiftBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.jk-gift__meta{
  margin:16px 0 0!important;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  min-height:28px;
}
.jk-gift__cat{
  font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:#C9A98A;
}
.jk-gift__name{
  font-size:1.05rem;font-weight:600;color:#FBEEDA;line-height:1.2;
}

.jk-gift__thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:10px;margin-top:14px;
}
.jk-gift__thumb{
  padding:0;border:0;background:none;cursor:pointer;
  aspect-ratio:1 / 1;line-height:0;overflow:hidden;
  border-radius:var(--jk-r-sm);
  box-shadow:0 0 0 1px rgba(251,238,218,.22) inset;
  opacity:.5;
  transition:opacity .25s ease,box-shadow .25s ease;
}
.jk-gift__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.jk-gift__thumb:hover{opacity:.85}
.jk-gift__thumb.is-active{opacity:1;box-shadow:0 0 0 2px var(--jk-gold) inset}
.jk-gift__thumb:focus-visible{outline:2px solid var(--jk-gold);outline-offset:2px}

.jk-gift__note{
  margin:16px 0 0!important;max-width:46ch;
  font-size:.86rem;color:#C9A98A;
}

/* ---- stacked ---- */
@media(max-width:900px){
  .elementor-element-cf6c63c>.e-con-inner{
    flex-direction:column!important;flex-wrap:wrap;
    align-items:stretch!important;gap:var(--jk-lg);
  }
  .elementor-element-cf6c63c>.e-con-inner>.e-con{width:100%!important}
  .elementor-element-cf6c63c .elementor-element-34bb378,
  .elementor-element-cf6c63c .elementor-element-d1ef71f{flex:1 1 auto;max-width:none}
  .jk-gift__stage{aspect-ratio:5 / 4}
}
@media(max-width:560px){
  .elementor-element-cf6c63c .jk-btnrow.elementor-widget-button{
    display:block;width:100%;margin:0 0 10px;
  }
  .jk-gift__thumbs{gap:8px}
  .jk-gift__stage{aspect-ratio:1 / 1}
}

@media (prefers-reduced-motion:reduce){
  .jk-gift__slide{transition:none;transform:none}
  .jk-gift__bar{display:none}
  .jk-gift__thumb{transition:none}
}

/* ============================================================
   GIFT HAMPERS PAGE
   Cream through the page with one cocoa band holding the box
   builder. Every rule is prefixed with .elementor-1889 so it
   outranks the Elementor kit, which is still set to Roboto and
   would otherwise pull the headings off the Poppins palette.
   ============================================================ */

/* ---- hold the page on Poppins ---- */
.elementor-1889 .elementor-widget-heading .elementor-heading-title,
.elementor-1889 .elementor-widget-text-editor,
.elementor-1889 .elementor-widget-text-editor p,
.elementor-1889 .elementor-widget-text-editor li,
.elementor-1889 .elementor-widget-button .elementor-button{
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---- hero ---- */
.elementor-1889 .elementor-element-ghhero1 .jk-hero__eyebrow{display:inline-block;margin-bottom:18px}
.elementor-1889 .elementor-element-ghhero1 .jk-hero__eyebrow .elementor-heading-title{
  display:inline-block;
  background:var(--jk-gold);
  color:var(--jk-ink);
  padding:6px 13px;
  border-radius:var(--jk-r-sm);
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.elementor-1889 .elementor-element-ghwa002 .elementor-heading-title{
  color:var(--jk-accent);
  font-weight:700;
  font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 16px;
}
.elementor-1889 .elementor-element-ghhero1 .jk-lede,
.elementor-1889 .elementor-element-ghhero1 .jk-lede p{
  color:var(--jk-muted);
  font-size:1.05rem;
  line-height:1.65;
  max-width:52ch;
  margin:0;
}

/* ---- the cocoa band ---- */
.elementor-1889 .elementor-element-ghbuild{background:var(--jk-cocoa);overflow:hidden}

/* ---- section headings ---- */
.elementor-1889 .elementor-element-ghwc001 .elementor-heading-title,
.elementor-1889 .elementor-element-ghwd001 .elementor-heading-title{
  color:var(--jk-accent);
  font-weight:600;
  font-size:clamp(1.5rem,2.6vw,2.05rem);
  line-height:1.1;
  letter-spacing:-.015em;
  margin:0 0 20px;
}

/* ---- how it works ---- */
.elementor-1889 .elementor-element-ghsteps .elementor-widget-text-editor{color:var(--jk-muted)}
.elementor-1889 .elementor-element-ghsteps ol{
  margin:0;padding:0;list-style:none;counter-reset:gh;max-width:62ch;
}
.elementor-1889 .elementor-element-ghsteps ol li{
  counter-increment:gh;
  position:relative;
  padding:15px 0 15px 46px;
  border-bottom:1px solid var(--jk-line);
  font-size:15px;
  line-height:1.55;
  color:var(--jk-muted);
  max-width:none;
}
.elementor-1889 .elementor-element-ghsteps ol li:first-child{border-top:1px solid var(--jk-line)}
.elementor-1889 .elementor-element-ghsteps ol li strong{color:var(--jk-ink);font-weight:600}
.elementor-1889 .elementor-element-ghsteps ol li::before{
  content:counter(gh);
  position:absolute;left:0;top:15px;
  width:27px;height:27px;border-radius:50%;
  background:var(--jk-gold);color:var(--jk-ink);
  font-size:12px;font-weight:700;line-height:27px;text-align:center;
}

/* ---- what travels ---- */
.elementor-1889 .elementor-element-ghships .elementor-widget-text-editor{color:var(--jk-muted)}
.elementor-1889 .elementor-element-ghships p{
  color:var(--jk-muted);
  font-size:15px;
  line-height:1.7;
  max-width:64ch;
  margin:0 0 16px;
  padding-left:17px;
  border-left:3px solid var(--jk-line);
}
.elementor-1889 .elementor-element-ghships p:first-of-type{border-left-color:var(--jk-leaf)}
.elementor-1889 .elementor-element-ghships p:last-of-type{border-left-color:var(--jk-gold);margin-bottom:0}
