:root {
  /* Jewel Habibi v1.6 semantic design tokens — Umino-inspired neutral hierarchy. */
  --jh-brand: var(--theme-palette-color-1, #eb6384);
  --jh-brand-hover: var(--theme-palette-color-2, #d94f70);
  --jh-text: var(--theme-palette-color-3, #555555);
  --jh-heading: var(--theme-palette-color-4, #111111);
  --jh-border: var(--theme-palette-color-5, #e5e5e5);
  --jh-brand-soft: var(--theme-palette-color-6, #fff1f5);
  --jh-surface-alt: var(--theme-palette-color-7, #f7f7f7);
  --jh-bg: var(--theme-palette-color-8, #ffffff);
  --jh-surface: var(--theme-palette-color-8, #ffffff);
  --jh-muted: #777777;

  /* Backwards-compatible aliases used by existing templates. */
  --jh-green: var(--jh-brand);
  --jh-green-dark: var(--jh-heading);
  --jh-green-soft: var(--jh-brand-soft);
  --jh-pink: var(--jh-brand);
  --jh-pink-soft: var(--jh-brand-soft);
  --jh-cream: var(--jh-bg);
  --jh-blush: var(--jh-brand-soft);
  --jh-tan: #e5b080;
  --jh-ink: var(--jh-heading);
  --jh-line: var(--jh-border);
  --jh-soft: var(--jh-surface-alt);

  --jh-body-size: 14px;
  --jh-body-weight: 400;
  --jh-body-lh: 1.6;
  --jh-heading-weight: 600;
  --jh-heading-lh: 1.15;
  --jh-h1-size: 54px;
  --jh-h2-size: 40px;
  --jh-menu-size: 14px;
  --jh-menu-weight: 500;
  --jh-button-size: 12px;
  --jh-button-weight: 600;
  --jh-product-title-size: 14px;
  --jh-product-title-weight: 500;

  --jh-radius-xs: 4px;
  --jh-radius-sm: 6px;
  --jh-radius: 10px;
  --jh-radius-lg: 16px;
  --jh-shadow-xs: 0 1px 2px rgba(17,17,17,.04);
  --jh-shadow-sm: 0 8px 24px rgba(17,17,17,.06);
  --jh-shadow: 0 16px 40px rgba(17,17,17,.08);
  --jh-container: 1320px;
  --jh-gutter: clamp(18px, 3vw, 36px);
  --jh-serif: "Jost", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --jh-sans: "Jost", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.jh-site {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--jh-ink);
  background: var(--jh-cream);
  font-family: var(--jh-sans);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.jh-no-scroll { overflow: hidden; }
body.jh-site img { max-width: 100%; height: auto; }
body.jh-site a { color: inherit; text-decoration: none; }
body.jh-site button, body.jh-site input, body.jh-site select, body.jh-site textarea { font: inherit; }
body.jh-site h1, body.jh-site h2, body.jh-site h3, body.jh-site h4 { margin: 0; color: var(--jh-ink); font-family: var(--jh-serif); font-weight: 600; line-height: 1.16; }
body.jh-site p { margin: 0 0 1em; }
body.jh-site .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
body.jh-site .jh-skip-link:focus { clip: auto !important; width: auto !important; height: auto !important; padding: 10px 14px !important; margin: 8px !important; z-index: 999999; background: #fff; color: #111; border-radius: 6px; }
.jh-container { width: min(calc(100% - (var(--jh-gutter) * 2)), var(--jh-container)); margin-inline: auto; }
.jh-main { min-height: 50vh; overflow: clip; }
body.jh-site > .jh-main { width: 100%; flex: 1 0 auto; }
body.jh-site > .jh-footer, body.jh-site > .jh-support { flex-shrink: 0; }
.home .jh-header, .home .jh-main { background: transparent; }
.home .jh-main { display: flex; flex-direction: column; }
.jh-topbar { position: relative; z-index: 90; min-height: 31px; display: flex; align-items: center; background: var(--jh-topbar-bg, var(--jh-green-dark)); color: var(--jh-topbar-text, #fff); font-size: 9px; font-weight: 600; letter-spacing: .2em; text-align: center; text-transform: uppercase; }
.jh-topbar .jh-container { width: 100%; }
.jh-kicker { display: inline-block; color: var(--jh-pink); font-family: var(--jh-sans); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.jh-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 22px; border: 0; border-radius: 999px; font-family: var(--jh-sans); font-size: 13px; font-weight: 700; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.jh-button:hover { transform: translateY(-1px); }
.jh-button-dark { background: var(--jh-pink); color: #fff !important; }
.jh-button-dark:hover { background: var(--jh-green-dark); }
.jh-button-light { background: #fff; color: var(--jh-ink) !important; }
.jh-button-pink { background: var(--jh-pink); color: #fff !important; }
.jh-button-pink:hover { background: #bd4865; }

/* Header */
.jh-header { position: relative; z-index: 80; background: var(--jh-cream); border-bottom: 1px solid var(--jh-line); }
.jh-header-row { min-height: 78px; display: grid; grid-template-columns: auto minmax(240px, 1fr) minmax(240px, 360px) auto; align-items: center; gap: clamp(18px, 2.4vw, 32px); }
.jh-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--jh-green-dark) !important; white-space: nowrap; font-family: var(--jh-serif); font-size: 23px; font-weight: 700; }
.jh-brand-mark { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; color: var(--jh-pink); font-family: Georgia, serif; font-size: 20px; }
.jh-custom-logo img { width: auto; max-width: 180px; max-height: 42px; object-fit: contain; }
.jh-desktop-nav ul, .jh-mobile-nav ul { margin: 0; padding: 0; list-style: none; }
.jh-desktop-nav > ul { display: flex; align-items: center; gap: clamp(16px, 2vw, 25px); }
.jh-desktop-nav a { display: inline-flex; align-items: center; min-height: 38px; color: #252925 !important; font-size: 12px; font-weight: 500; white-space: nowrap; }
.jh-desktop-nav a:hover, .jh-desktop-nav a:focus-visible { color: var(--jh-green) !important; }
.jh-desktop-nav li { position: relative; }
.jh-desktop-nav .sub-menu { position: absolute; top: calc(100% + 14px); left: -16px; min-width: 190px; display: none; padding: 10px; background: #fff; border: 1px solid var(--jh-line); border-radius: 12px; box-shadow: var(--jh-shadow); }
.jh-desktop-nav li:hover > .sub-menu, .jh-desktop-nav li:focus-within > .sub-menu { display: grid; }
.jh-desktop-nav .sub-menu a { display: block; padding: 8px 10px; border-radius: 8px; }
.jh-desktop-nav .sub-menu a:hover { background: var(--jh-soft); }
.jh-header-search { width: 100%; height: 44px; display: flex; align-items: center; border: 1px solid transparent; border-radius: 999px; background: #f4f5f4; overflow: hidden; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.jh-header-search:focus-within { border-color: rgba(15,95,70,.28); background: #fff; box-shadow: 0 0 0 4px rgba(15,95,70,.07); }
.jh-header-search input { width: 100%; min-width: 0; padding: 0 18px; border: 0 !important; outline: 0; background: transparent !important; color: var(--jh-ink); box-shadow: none !important; font-size: 12px; }
.jh-header-search button, .jh-mobile-search button { width: 46px; height: 100%; flex: 0 0 46px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; color: #555; }
.jh-header svg, .jh-benefit svg, .jh-delivery-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.jh-header-actions { display: flex; align-items: center; gap: 10px; }
.jh-header-actions > a, .jh-cart-trigger { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 8px; border: 0; border-radius: 999px; background: transparent; color: #202420; font-size: 12px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.jh-header-actions > a:hover, .jh-header-actions > a:focus-visible, .jh-cart-trigger:hover, .jh-cart-trigger:focus-visible { background: var(--jh-green-soft); color: var(--jh-green-dark); }
.jh-header-actions > a span:not(.screen-reader-text):not([data-wishlist-count]), .jh-action-label { display: none; }
.jh-wishlist-trigger b, .jh-cart-count { position: absolute; top: -4px; right: -3px; min-width: 18px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; background: var(--jh-pink); color: #fff; font-size: 9px; font-weight: 700; line-height: 1; }
.jh-wishlist-trigger svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jh-wishlist-page { padding-block: 64px 100px; }
.jh-wishlist-page .jh-centered-heading { margin-bottom: 36px; }
.jh-wishlist-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.jh-cart-count { background: var(--jh-pink); }
.jh-cart-count[data-count="0"] { display: none; }
.jh-mobile-menu-toggle, .jh-mobile-search, .jh-mobile-nav { display: none; }

/* Cart drawer */
.jh-cart-overlay, .jh-filter-overlay { position: fixed; inset: 0; z-index: 800; background: rgba(10,20,15,.42); backdrop-filter: blur(2px); }
.jh-cart-drawer { position: fixed; z-index: 810; top: 0; right: 0; width: min(440px, 100vw); max-width: 100vw; height: 100dvh; display: flex; flex-direction: column; overflow: hidden; background: #fff; transform: translateX(105%); transition: transform .28s ease; box-shadow: -20px 0 60px rgba(15,35,27,.16); outline: 0; }
.jh-cart-open .jh-cart-drawer { transform: translateX(0); }
.jh-cart-drawer-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px; border-bottom: 1px solid var(--jh-line); }
.jh-cart-drawer-head h2 { min-width: 0; font-size: 29px; }
.jh-cart-drawer-head button, .jh-filter-mobile-head button { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--jh-soft); cursor: pointer; }
.jh-cart-drawer-head button svg, .jh-filter-mobile-head button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.jh-cart-drawer-body { min-height: 0; min-width: 0; flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.jh-cart-drawer-scroll { min-height: 0; min-width: 0; flex: 1; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.jh-cart-lines { padding: 14px 20px; min-width: 0; }
.jh-cart-line { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--jh-line); min-width: 0; }
.jh-cart-line-image { aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: var(--jh-soft); }
.jh-cart-line-image img { width: 100%; height: 100%; object-fit: cover; }
.jh-cart-line-copy { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.jh-cart-line-copy strong { font-family: var(--jh-serif); font-size: 17px; line-height: 1.1; }
.jh-cart-line-copy span { color: var(--jh-muted); font-size: 11px; }
.jh-cart-line-copy b { font-size: 13px; }
.jh-cart-remove { position: absolute; top: 14px; right: 0; color: #777 !important; font-size: 21px; }

body.jh-site .jh-cart-lines {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
  padding: 16px 16px 8px;
}

body.jh-site .jh-cart-line {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 20px;
  gap: 12px;
  align-items: start;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
}

body.jh-site .jh-cart-line-image {
  width: 72px;
  max-width: 72px;
  height: 72px;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: 4px;
  background: #f6f6f6;
}

body.jh-site .jh-cart-line-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.jh-site .jh-cart-line-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding-top: 1px;
}

body.jh-site .jh-cart-line-copy > a {
  color: var(--jh-heading) !important;
  text-decoration: none;
}

body.jh-site .jh-cart-line-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--jh-heading);
  font-family: var(--jh-sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.jh-site .jh-cart-line-meta,
body.jh-site .jh-cart-line-meta p,
body.jh-site .jh-cart-line-meta dl,
body.jh-site .jh-cart-line-meta dd,
body.jh-site .jh-cart-line-meta dt {
  margin: 0 !important;
  padding: 0 !important;
  color: #555;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}

body.jh-site .jh-cart-line-meta dl,
body.jh-site .jh-cart-line-meta dt,
body.jh-site .jh-cart-line-meta dd {
  display: inline;
}

body.jh-site .jh-cart-line-meta dt {
  font-weight: 400;
}

body.jh-site .jh-cart-line-meta dt::after {
  content: " ";
}

body.jh-site .jh-cart-line-price {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-height: 15px;
}

body.jh-site .jh-cart-line-price b,
body.jh-site .jh-cart-line-price .amount {
  color: var(--jh-brand);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

body.jh-site .jh-cart-line-price del,
body.jh-site .jh-cart-line-price del .amount {
  color: #777;
  font-size: 10px;
  font-weight: 400;
}

body.jh-site .jh-cart-line-qty {
  width: 82px;
  height: 28px;
  display: grid;
  grid-template-columns: 24px 1fr 24px;
  align-items: center;
  justify-items: center;
  margin-top: 5px;
  border: 1px solid #dedede;
  border-radius: 3px;
  background: #f7f7f7;
  color: var(--jh-heading);
  font-size: 11px;
  line-height: 1;
}

body.jh-site .jh-cart-line-qty strong {
  overflow: visible;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  white-space: normal;
}

body.jh-site .jh-cart-line-qty span,
body.jh-site .jh-cart-line-qty button {
  color: #777;
  font-size: 13px;
}

body.jh-site .jh-cart-line-qty button {
  display: grid;
  place-items: center;
  width: 24px;
  height: 26px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 1;
  cursor: pointer;
}

body.jh-site .jh-cart-line-qty button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

body.jh-site .jh-cart-line-actions {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding-top: 2px;
}

body.jh-site .jh-cart-line-actions a,
body.jh-site .jh-cart-remove,
body.jh-site .jh-cart-edit {
  position: static;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #9a9a9a !important;
  font-size: 0;
}

body.jh-site .jh-cart-line-actions .jh-cart-action-icon,
body.jh-site .jh-cart-line-actions svg {
  width: 13px;
  height: 13px;
  max-width: 13px;
  max-height: 13px;
}

body.jh-site .jh-cart-line-actions .jh-cart-action-icon {
  display: grid;
  place-items: center;
  overflow: hidden;
  line-height: 0;
}

body.jh-site .jh-cart-line-actions .jh-cart-action-icon svg {
  display: block !important;
  flex: 0 0 13px !important;
  min-width: 13px !important;
  min-height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

body.jh-site .jh-cart-line-actions a:hover {
  color: var(--jh-brand) !important;
}
.jh-cart-drawer .jh-cart-summary { flex: 0 0 auto; min-width: 0; max-width: 100%; margin-top: 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--jh-line); background: #fff; box-shadow: 0 -10px 28px rgba(17,17,17,.06); }
.jh-cart-summary { margin-top: auto; padding: 22px; border-top: 1px solid var(--jh-line); background: #fff; }
.jh-cart-drawer .jh-cart-summary > div,
.jh-cart-summary > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; min-width: 0; margin-bottom: 5px; font-size: 16px; }
.jh-cart-drawer .jh-cart-summary > div span,
.jh-cart-drawer .jh-cart-summary > div strong { min-width: 0; overflow-wrap: anywhere; }
.jh-cart-summary p { color: var(--jh-muted); font-size: 11px; }
.jh-cart-summary .jh-button { width: 100%; }
.jh-cart-link { display: block; margin-top: 12px; text-align: center; text-decoration: underline !important; font-size: 12px; }
.jh-cart-empty { margin: auto; max-width: 300px; padding: 40px 20px; text-align: center; pointer-events: auto; }
.jh-cart-empty > span { color: var(--jh-pink); font-size: 30px; }
.jh-cart-empty h3 { margin: 8px 0; font-size: 30px; }
.jh-cart-empty p { color: var(--jh-muted); }
.jh-cart-empty .jh-button { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 160px; pointer-events: auto; }

/* Homepage hero */
.jh-hero { display: grid; grid-template-columns: minmax(0, 2.05fr) minmax(280px, .95fr); gap: 18px; padding-block: 22px 12px; }
.jh-hero-card { position: relative; min-height: 410px; overflow: hidden; border-radius: 24px; background: #f3f3f1; }
.jh-hero-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jh-hero-main > img { object-position: center; }
.jh-hero-main::after { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(243,243,241,.96) 0%, rgba(243,243,241,.88) 39%, rgba(243,243,241,.18) 68%, rgba(243,243,241,0) 100%); content: ''; }
.jh-hero-promo { background: var(--jh-tan); }
.jh-hero-promo > img { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: normal; opacity: .9; }
.jh-hero-promo::after { position: absolute; inset: 0; z-index: 1; background: rgba(28,18,15,.16); content: ''; }
.jh-hero-copy { position: relative; z-index: 2; width: min(58%, 620px); min-height: inherit; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(28px, 4.2vw, 58px); }
.jh-hero-copy h1 { max-width: 760px; margin: 9px 0 26px; font-size: clamp(44px, 4.4vw, 66px); line-height: 1.16; letter-spacing: 0; }
.jh-hero-copy h2 { margin: 10px 0 20px; color: #fff; font-family: var(--jh-serif); font-size: clamp(31px, 3vw, 48px); line-height: 1.16; letter-spacing: 0; }
.jh-hero-copy p { max-width: 440px; margin-bottom: 22px; color: #555d58; font-size: 14px; line-height: 1.6; }
.jh-hero-promo .jh-hero-copy { width: 78%; min-height: inherit; justify-content: center; padding: clamp(30px, 4vw, 56px); }
.jh-hero-promo .jh-kicker, .jh-hero-promo p { color: #fff; }
.jh-hero-promo .jh-hero-copy h2 { max-width: 390px; }

/* Benefits row */
.jh-benefits-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 5vw, 70px); padding-top: var(--jh-benefits-row-top, 18px); padding-bottom: var(--jh-benefits-row-bottom, 18px); }
.jh-benefits-row-item { display: flex; align-items: center; justify-content: center; gap: 13px; min-width: 0; color: var(--jh-ink); }
.jh-benefits-row-item svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: var(--jh-pink); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.jh-benefits-row-item strong { min-width: 0; overflow: hidden; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 13px; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }

/* Promo strip */
.jh-benefits { width: 100%; height: var(--jh-promo-strip-height, 32px); margin: 20px 0 18px; overflow: hidden; background: var(--jh-pink); color: #fff; }
.jh-benefits-track { display: flex; width: max-content; height: 100%; animation: jh-promo-strip var(--jh-promo-strip-speed, 28s) linear infinite; }
.jh-benefits:hover .jh-benefits-track { animation-play-state: paused; }
.jh-benefits-group { display: flex; align-items: center; flex: 0 0 auto; min-width: max-content; height: 100%; }
.jh-benefit { display: inline-flex; align-items: center; height: 100%; gap: clamp(24px, 4vw, 54px); padding: 0 clamp(16px, 3.6vw, 48px); color: #fff; white-space: nowrap; }
.jh-benefit strong { font-family: var(--jh-serif); font-size: min(var(--jh-promo-strip-font-size, 24px), calc(var(--jh-promo-strip-height, 32px) * .72)); font-style: italic; font-weight: var(--jh-promo-strip-font-weight, 700); line-height: 1; }
.jh-benefit-separator { color: #ffe7a4; font-family: var(--jh-sans); font-size: min(clamp(28px, 2.7vw, 42px), calc(var(--jh-promo-strip-height, 32px) * .9)); font-weight: 900; line-height: .7; }
@keyframes jh-promo-strip {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .jh-benefits-track { animation: none; }
}

/* Homepage wide banner */
.jh-wide-banner { position: relative; min-height: clamp(210px, 21vw, 286px); display: flex; align-items: center; margin-block: 30px 26px; overflow: hidden; border-radius: 8px; background: var(--jh-soft) var(--jh-wide-banner-image) right center/cover no-repeat; }
.jh-wide-banner::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,247,248,.92) 0%, rgba(255,247,248,.78) 35%, rgba(255,247,248,.22) 60%, rgba(255,247,248,0) 100%); content: ''; }
.jh-wide-banner-copy { position: relative; z-index: 1; width: min(460px, 48%); padding: clamp(28px, 4.2vw, 56px); color: var(--jh-ink); }
.jh-wide-banner .jh-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--jh-wide-banner-eyebrow-color, var(--jh-pink)); font-family: var(--jh-sans); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.jh-wide-banner .jh-kicker::before { color: #ffe7a4; content: '*'; font-size: 16px; line-height: 1; }
.jh-wide-banner h2 { max-width: 430px; margin: 10px 0 22px; color: var(--jh-wide-banner-heading-color, var(--jh-ink)); font-family: var(--jh-serif); font-size: clamp(34px, 3.3vw, 52px); font-weight: 600; line-height: 1.18; letter-spacing: 0; }
.jh-wide-banner p { max-width: 410px; margin: 0 0 22px; color: var(--jh-wide-banner-text-color, var(--jh-green-dark)); font-size: 15px; font-weight: 600; line-height: 1.55; }
.jh-wide-banner .jh-button { min-height: 40px; padding: 0 24px; border: 1px solid rgba(255,255,255,.6); border-radius: 4px; background: var(--jh-wide-banner-button-bg, #fff); color: var(--jh-wide-banner-button-text-color, var(--jh-ink)) !important; font-size: 12px; font-weight: 800; }
.jh-wide-banner .jh-button:hover, .jh-wide-banner .jh-button:focus-visible { border-color: var(--jh-pink); background: var(--jh-pink); color: #fff !important; }

/* Product cards and home sections */
.jh-product-section { padding-block: 38px 70px; }
.jh-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 20px; }
.jh-section-head > div { display: flex; align-items: baseline; gap: 10px; }
.jh-section-head h2 { font-family: var(--jh-sans); font-size: clamp(20px, 2vw, 28px); font-weight: 700; }
.jh-section-head > a { color: var(--jh-green) !important; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jh-slider-shell { position: relative; }
.jh-product-slider { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 23.5%); gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px; }
.jh-product-slider::-webkit-scrollbar { display: none; }
.jh-product-slide { scroll-snap-align: start; }
.jh-slider-arrow { position: absolute; z-index: 8; top: 42%; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--jh-line); border-radius: 50%; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.08); font-size: 24px; cursor: pointer; }
.jh-slider-arrow.prev { left: -17px; }
.jh-slider-arrow.next { right: -17px; }
.jh-slider-arrow[hidden] { display: none; }
.jh-product-card { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; list-style: none; overflow: visible; transition: transform .2s ease; }
.jh-product-card:hover, .jh-product-card:focus-within { transform: translateY(-2px); }
.jh-product-media { position: relative; aspect-ratio: 1; overflow: hidden; border: 0; border-radius: 12px; background: #f3f3f1; }
.jh-product-media > a:first-child { display: block; width: 100%; height: 100%; }
.jh-product-media img { width: 100%; height: 100%; padding: 0; object-fit: cover; transition: opacity .28s ease, transform .35s ease; }
.jh-product-media .jh-product-image-secondary { position: absolute; inset: 0; z-index: 1; padding: 0; object-fit: cover; opacity: 0; }
.jh-product-card.has-secondary-image:hover .jh-product-media > a:first-child > img:first-child, .jh-product-card.has-secondary-image:focus-within .jh-product-media > a:first-child > img:first-child { opacity: 0; }
.jh-product-card.has-secondary-image:hover .jh-product-media .jh-product-image-secondary, .jh-product-card.has-secondary-image:focus-within .jh-product-media .jh-product-image-secondary { opacity: 1; }
.jh-product-card:hover .jh-product-media img { transform: scale(1.035); }
.jh-card-badges { position: absolute; top: 14px; left: 14px; z-index: 3; display: flex; gap: 5px; pointer-events: none; }
.jh-card-badges span { min-height: 24px; display: inline-flex; align-items: center; padding: 0 11px; border: 0; border-radius: 999px; background: var(--jh-pink); color: #fff; box-shadow: none; font-size: 10px; font-weight: 800; letter-spacing: 0; text-transform: none; }

/* Homepage category discovery. */
.jh-category-section { padding-block: 48px 22px; overflow: hidden; }
.jh-category-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.jh-category-section-head h2 { margin-top: 6px; font-size: clamp(30px, 3.4vw, 48px); letter-spacing: -.025em; }
.jh-category-section-head > a { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--jh-green); color: var(--jh-green) !important; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jh-category-section-head > a:hover { color: var(--jh-pink) !important; border-color: var(--jh-pink); }
.jh-category-slider-shell { position: relative; }
.jh-category-grid { display: flex; gap: 18px; margin-inline: calc(var(--jh-gutter) * -1); padding: 2px var(--jh-gutter) 18px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
.jh-category-grid::-webkit-scrollbar { display: none; }
.jh-category-arrow { top: 38%; }
.jh-category-card { position: relative; flex: 0 0 clamp(210px, 18vw, 260px); min-width: 210px; display: flex; flex-direction: column; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(234,223,225,.85); border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgba(42,21,24,.055); isolation: isolate; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.jh-category-card::after { position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45); pointer-events: none; content: ''; }
.jh-category-card img { width: 100%; aspect-ratio: 1.06; object-fit: cover; background: #f4eded; transition: transform .4s ease, filter .4s ease; }
.jh-category-card:hover, .jh-category-card:focus-visible { border-color: rgba(235,99,132,.35); box-shadow: 0 18px 42px rgba(42,21,24,.1); transform: translateY(-3px); }
.jh-category-card:hover img, .jh-category-card:focus-visible img { filter: saturate(1.04) contrast(1.02); transform: scale(1.04); }
.jh-category-card-copy { position: relative; z-index: 1; min-height: 92px; display: grid; align-content: center; gap: 8px; padding: 14px 16px 15px; border-top: 1px solid rgba(234,223,225,.85); background: linear-gradient(180deg, #fff 0%, #fff9fa 100%); color: var(--jh-ink); }
.jh-category-card-copy strong { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--jh-ink); font-family: var(--jh-serif); font-size: 22px; font-weight: 600; line-height: 1.03; }
.jh-category-card-copy small { width: max-content; display: inline-flex; align-items: center; gap: 7px; color: var(--jh-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jh-category-card-copy small span { width: 18px; height: 18px; display: inline-grid; place-items: center; border-radius: 50%; background: rgba(235,99,132,.11); color: var(--jh-pink); font-size: 12px; line-height: 1; transition: background .2s ease, color .2s ease, transform .2s ease; }
.jh-category-card:hover .jh-category-card-copy small span, .jh-category-card:focus-visible .jh-category-card-copy small span { background: var(--jh-pink); color: #fff; transform: translateX(2px); }
.jh-permanent-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; margin-block: 42px 72px; padding: 0; background: transparent; }
.jh-permanent-media { position: relative; height: var(--jh-permanent-media-height, auto); min-height: 0; overflow: hidden; border-radius: 10px; background: #d6b9ad; }
.jh-permanent-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42,21,24,0) 42%, rgba(42,21,24,.62) 100%); content: ''; }
.jh-permanent-media img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; }
.jh-permanent-media-copy { position: absolute; inset: auto 28px 28px; z-index: 1; color: #fff; text-align: center; }
.jh-permanent-media-copy span { display: inline-flex; min-height: 30px; align-items: center; margin-bottom: 14px; padding: 0 18px; border-radius: 999px; background: var(--jh-pink); color: #fff; font-family: var(--jh-sans); font-size: 10px; font-weight: 800; letter-spacing: .02em; }
.jh-permanent-media-copy h3 { color: #fff; font-family: var(--jh-sans); font-size: clamp(24px, 2.5vw, 34px); font-weight: 800; line-height: 1.12; }
.jh-permanent-media-copy p { max-width: 410px; margin: 12px auto 0; color: rgba(255,255,255,.88); font-size: 12px; font-weight: 700; line-height: 1.5; }
.jh-permanent-copy { display: flex; flex-direction: column; justify-content: flex-start; padding: clamp(28px, 3.2vw, 40px); border-radius: 0; background: var(--jh-pink-soft); }
.jh-permanent-copy h2 { max-width: 520px; margin: 10px 0 16px; font-family: var(--jh-sans); font-size: clamp(30px, 2.7vw, 39px); font-weight: 800; line-height: 1.18; letter-spacing: 0; }
.jh-permanent-copy p { max-width: 540px; margin-bottom: 18px; color: #5f6560; font-size: 12px; line-height: 1.6; }
.jh-permanent-copy ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0 0 24px; padding: 0; list-style: none; color: #514a4a; font-size: 11px; }
.jh-permanent-copy li { display: flex; align-items: center; gap: 9px; min-width: 0; }
.jh-permanent-copy li > span { width: 16px; height: 16px; flex: 0 0 16px; display: grid; place-items: center; border: 1px solid var(--jh-pink); border-radius: 50%; color: var(--jh-pink); font-size: 10px; font-weight: 800; line-height: 1; }
.jh-permanent-copy .jh-button { width: 100%; min-height: 42px; margin-bottom: 18px; border: 1px solid var(--jh-pink); background: transparent; color: var(--jh-pink) !important; box-shadow: none; font-size: 10px; text-transform: uppercase; }
.jh-permanent-copy .jh-button:hover, .jh-permanent-copy .jh-button:focus-visible { background: var(--jh-pink); color: #fff !important; }
.jh-permanent-story { margin: 0 0 18px; color: var(--jh-text, #555); font-family: var(--jh-sans); font-size: 15px; font-style: normal; font-weight: 400; line-height: 1.72; letter-spacing: 0; }
.jh-permanent-story p { margin: 0 0 14px; color: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }
.jh-permanent-story p:last-child { margin-bottom: 0; }
.jh-permanent-faq { border-bottom: 1px solid rgba(42,21,24,.32); }
.jh-permanent-faqs button { width: 100%; min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0; border: 0; background: transparent; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 11px; font-weight: 700; text-align: left; cursor: pointer; }
.jh-permanent-faqs button span { font-size: 18px; font-weight: 500; transition: transform .2s ease; }
.jh-permanent-faqs button[aria-expanded="true"] span { transform: rotate(45deg); }
.jh-permanent-faq-answer { padding: 0 28px 16px 0; color: #5f6560; }
.jh-permanent-faq-answer p { margin: 0; color: inherit; font-size: 11px; line-height: 1.65; }
.jh-card-wishlist { position: absolute; top: 14px; right: 14px; z-index: 4; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(42,21,24,.1); border-radius: 50%; background: #fff; color: var(--jh-ink); box-shadow: 0 8px 22px rgba(42,21,24,.08); cursor: pointer; opacity: 0; transform: translateY(-6px); transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease; }
.jh-card-wishlist svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jh-card-wishlist:hover, .jh-card-wishlist:focus-visible, .jh-card-wishlist.is-active { border-color: var(--jh-pink); background: var(--jh-pink); color: #fff; transform: translateY(-1px); }
.jh-card-wishlist.is-active svg { fill: currentColor; }
.jh-card-add { min-height: 40px !important; width: 100%; display: inline-flex !important; align-items: center; justify-content: center; margin-top: 2px !important; padding: 0 14px !important; border: 1px solid var(--jh-pink) !important; border-radius: 999px !important; background: transparent !important; color: var(--jh-pink) !important; box-shadow: none !important; font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease !important; }
.jh-card-add:hover, .jh-card-add:focus-visible { background: var(--jh-pink) !important; color: #fff !important; }
.jh-product-card:hover .jh-card-wishlist, .jh-product-card:focus-within .jh-card-wishlist, .jh-card-wishlist:focus-visible { opacity: 1; transform: translateY(0); }
.jh-product-copy { display: grid; gap: 5px; padding: 0; }
.jh-product-copy small { display: none; }
.jh-product-copy h3 { min-height: 38px; margin: 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #080808; font-family: var(--jh-sans); font-size: 14px; font-weight: 800; line-height: 1.25; }
.jh-card-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; margin-top: 1px; color: var(--jh-pink); font-family: var(--jh-sans); font-size: 14px; font-weight: 800; }
.jh-card-price .amount { color: var(--jh-pink); font-size: inherit; font-weight: inherit; }
.jh-card-price del { color: #9b9e9b; font-size: 11px; font-weight: 500; opacity: 1; }
.jh-card-price ins { color: var(--jh-pink); text-decoration: none; }
.jh-card-rating { min-height: 14px; line-height: 1; }
.jh-card-rating .star-rating { float: none; width: 5.4em; margin: 0; color: #f6ad00; font-size: 10px; }
.jh-home-grid-section { padding-block: 52px 86px; }
.jh-centered-heading { max-width: 700px; margin: 0 auto 23px; text-align: center; }
.jh-centered-heading h2 { font-size: clamp(34px, 4vw, 55px); line-height: 1.16; letter-spacing: 0; }
.jh-centered-heading p { margin-top: 14px; color: var(--jh-muted); font-size: 12px; line-height: 1.5; }
.jh-category-chips { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; margin: 0 auto 30px; }
.jh-category-chips button { min-height: 32px; display: inline-flex; align-items: center; padding: 0 15px; border: 1px solid #dcdedc; border-radius: 999px; background: #fff; color: var(--jh-ink); font: inherit; font-size: 9px; font-weight: 500; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
.jh-category-chips button:hover, .jh-category-chips button:focus-visible { border-color: var(--jh-pink); color: var(--jh-pink); transform: translateY(-1px); }
.jh-category-chips .is-active { background: var(--jh-pink); color: #fff !important; border-color: var(--jh-pink); }
.jh-home-product-grid.is-loading { opacity: .45; pointer-events: none; transition: opacity .2s ease; }
.jh-home-products-empty { grid-column: 1 / -1; padding: 50px 20px; color: var(--jh-muted); text-align: center; }
.jh-home-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 18px; }

/* Testimonials */
.jh-testimonials { padding: 74px 0 90px; background: var(--jh-cream); border-block: 1px solid var(--jh-line); }
.jh-testimonial-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 31.5%); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; padding: 3px; }
.jh-testimonial-track::-webkit-scrollbar { display: none; }
.jh-testimonial { min-height: 300px; display: flex; flex-direction: column; scroll-snap-align: start; padding: 28px; border: 1px solid #dde3df; border-radius: 16px; background: #fff; }
.jh-stars { color: var(--jh-pink); font-size: 10px; letter-spacing: .12em; }
.jh-testimonial > small { margin-top: 8px; color: #565c58; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.jh-testimonial > p { margin: 24px 0; color: #4c534e; font-family: var(--jh-serif); font-size: 17px; line-height: 1.55; }
.jh-testimonial footer { display: flex; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--jh-line); font-size: 9px; }
.jh-testimonial footer time { color: var(--jh-muted); }
.jh-testimonial-controls { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
.jh-testimonial-controls button { width: 42px; height: 42px; border: 1px solid var(--jh-line); border-radius: 50%; background: #fff; cursor: pointer; }

/* Support and footer */
.jh-support { padding: 82px 0 78px; text-align: center; background: #fff; }
.jh-support .jh-kicker { color: var(--jh-pink); }
.jh-support h2 { margin: 12px auto 48px; max-width: 900px; font-family: var(--jh-serif); font-size: clamp(36px, 4.2vw, 58px); font-weight: 600; line-height: 1.16; letter-spacing: 0; }
.jh-support-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1180px; margin: 0 auto; }
.jh-support-actions a { min-height: 70px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: center; padding: 12px 28px; border: 1px solid #dde3df; border-radius: 999px; background: #fff; color: var(--jh-ink) !important; text-align: left; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.jh-support-actions a:hover, .jh-support-actions a:focus-visible { border-color: rgba(235,99,132,.42); box-shadow: 0 16px 36px rgba(42,21,24,.08); transform: translateY(-2px); }
.jh-support-icon { position: relative; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--jh-green-dark); }
.jh-support-icon::after { position: absolute; top: 1px; right: 0; width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: var(--jh-pink); content: ''; }
.jh-support-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jh-support-copy { display: grid; gap: 4px; min-width: 0; }
.jh-support-actions b { color: var(--jh-ink); font-size: 12px; font-weight: 800; }
.jh-support-actions small { overflow: hidden; color: var(--jh-muted); font-size: 10px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.jh-footer { background: var(--jh-ink); color: rgba(255,255,255,.86); }
.jh-footer-inner { display: grid; grid-template-columns: minmax(260px, 1.2fr) minmax(320px, 1.55fr) minmax(280px, 1fr); gap: clamp(34px, 5vw, 76px); padding-block: clamp(54px, 7vw, 92px); }
.jh-footer .jh-brand { color: #fff !important; font-size: 18px; }
.jh-footer p { color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.7; }
.jh-footer h3 { margin-bottom: 26px; color: #fff; font-family: var(--jh-sans); font-size: clamp(28px, 3vw, 44px); font-weight: 500; line-height: 1.12; letter-spacing: 0; text-transform: none; }
.jh-footer ul { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.jh-footer li, .jh-footer a { color: rgba(255,255,255,.9) !important; font-size: 16px; line-height: 1.35; }
.jh-footer a:hover, .jh-footer a:focus-visible { color: #fff !important; }
.jh-footer-brand p { max-width: 620px; margin-top: 28px; }
.jh-footer-brand .jh-footer-extra-text { margin-top: 26px; color: rgba(255,255,255,.68); font-size: 13px; }
.jh-footer-socials { display: flex; gap: 16px; margin-top: 22px; }
.jh-footer-socials a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #fff; color: var(--jh-ink) !important; }
.jh-footer-socials svg { width: 22px; height: 22px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.jh-footer-menus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(34px, 5vw, 70px); }
.jh-footer-newsletter p { margin-bottom: 22px; }
.jh-newsletter { display: flex; width: 100%; max-width: 520px; min-height: 72px; padding: 8px; background: #fff; }
.jh-newsletter input { min-width: 0; flex: 1; padding: 0 22px; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; color: var(--jh-ink); font-size: 19px; }
.jh-newsletter button { min-width: 124px; padding: 0 22px; border: 0; border-radius: 0; background: #090909; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }

/* Shop / categories */
.jh-shop-hero { padding: 68px 0 55px; background: #f4f7f5; text-align: center; }
.jh-shop-hero h1 { margin: 7px 0 8px; font-size: clamp(46px, 5vw, 72px); }
.jh-shop-hero .term-description, .jh-shop-hero .page-description { max-width: 680px; margin: 0 auto; color: var(--jh-muted); font-size: 12px; }
.jh-catalog-wrap { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); padding-block: 48px 90px; }
.jh-catalog-sidebar { align-self: start; position: sticky; top: 20px; }
.jh-filter-mobile-head, .jh-filter-mobile-button { display: none; }
.jh-filter-group { margin: 0; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--jh-line); }
.jh-filter-group + .jh-filter-group { padding-top: 22px; }
.jh-filter-group legend { width: 100%; margin-bottom: 13px; font-family: var(--jh-sans); font-size: 12px; font-weight: 700; }
.jh-filter-options { display: grid; gap: 8px; }
.jh-filter-options label { display: grid; grid-template-columns: 16px 1fr auto; align-items: center; gap: 8px; color: #505651; cursor: pointer; font-size: 10px; }
.jh-filter-options input { width: 13px; height: 13px; margin: 0; accent-color: var(--jh-green); }
.jh-filter-options small { color: #a0a3a0; font-size: 9px; }
.jh-price-inputs { display: grid; grid-template-columns: 1fr auto 1fr; gap: 7px; align-items: center; }
.jh-price-inputs input { width: 100%; min-width: 0; height: 34px; padding: 0 8px; border: 1px solid #dfe2df; border-radius: 7px; background: #fff; font-size: 10px; }
.jh-filter-actions { display: grid; gap: 10px; padding: 22px 0; }
.jh-filter-actions .jh-button { width: 100%; min-height: 38px; font-size: 10px; }
.jh-filter-actions > a { text-align: center; text-decoration: underline !important; color: var(--jh-muted) !important; font-size: 9px; }
.jh-filter-featured { margin-top: 10px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.jh-filter-featured h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 32px; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 16px; font-weight: 800; letter-spacing: 0; }
.jh-filter-featured h3::after { width: 14px; height: 2px; display: block; border-radius: 999px; background: var(--jh-muted); content: ''; }
.jh-filter-featured-list { display: grid; gap: 22px; padding-top: 4px; }
.jh-filter-featured-list > a { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 12px; align-items: start; padding: 0; border: 0; border-radius: 0; background: transparent; transition: transform .2s ease; }
.jh-filter-featured-list > a:hover, .jh-filter-featured-list > a:focus-visible { transform: translateY(-1px); }
.jh-filter-featured img { width: 62px; height: 62px; padding: 0; object-fit: cover; border-radius: 5px; background: var(--jh-soft); }
.jh-filter-featured-list > a > span { display: grid; gap: 5px; min-width: 0; font-size: 10px; line-height: 1.2; }
.jh-filter-featured strong { display: -webkit-box; overflow: hidden; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 12px; font-weight: 800; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.jh-filter-featured-rating { display: block; min-height: 12px; line-height: 1; }
.jh-filter-featured-rating .star-rating { float: none; width: 5.4em; margin: 0; color: #f6ad00; font-size: 10px; }
.jh-filter-featured-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; color: var(--jh-pink); font-family: var(--jh-sans); font-size: 13px; font-weight: 800; }
.jh-filter-featured-price .amount { color: var(--jh-pink); font-size: inherit; font-weight: inherit; }
.jh-filter-featured-price del { color: #9b9e9b; font-size: 10px; font-weight: 500; opacity: 1; }
.jh-filter-featured-price ins { color: var(--jh-pink); text-decoration: none; }
.jh-catalog-products { min-width: 0; }
.jh-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.jh-catalog-toolbar .woocommerce-result-count { margin: 0; color: var(--jh-muted); font-size: 10px; }
.jh-catalog-toolbar .woocommerce-ordering { margin: 0; }
.jh-catalog-toolbar select { min-height: 38px; padding: 0 34px 0 13px; border: 1px solid var(--jh-line); border-radius: 8px; background-color: #fff; font-size: 10px; }
body.jh-site .jh-catalog-products ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 36px 18px !important; margin: 0 !important; padding: 0 !important; }
body.jh-site .jh-catalog-products ul.products::before, body.jh-site .jh-catalog-products ul.products::after { display: none !important; }
body.jh-site .jh-catalog-products ul.products > li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
body.jh-site .jh-catalog-products ul.products > li.product.jh-product-card { padding: 0 !important; }
body.jh-site nav.woocommerce-pagination { margin-top: 46px; }
body.jh-site nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 6px; border: 0; }
body.jh-site nav.woocommerce-pagination ul li { border: 0; }
body.jh-site nav.woocommerce-pagination a, body.jh-site nav.woocommerce-pagination span { min-width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--jh-line); border-radius: 50%; color: var(--jh-ink); font-size: 10px; }
body.jh-site nav.woocommerce-pagination .current { background: var(--jh-green); color: #fff; border-color: var(--jh-green); }

/* Single product: keep native Woo gallery functionality but redesign the layout. */
.jh-product-breadcrumb { padding-top: 22px; color: #8a8e8b; font-size: 9px; }
.jh-product-breadcrumb .woocommerce-breadcrumb { margin: 0; }
.jh-product-breadcrumb .woocommerce-breadcrumb span { padding-inline: 8px; color: #b2b7b3; }
.jh-product-breadcrumb a:hover { color: var(--jh-green); }
.jh-product-native { padding-block: 30px 100px; }
body.jh-site.single-product div.product { display: flow-root; }
body.jh-site.single-product div.product { position: relative; }
body.jh-site.single-product div.product .summary { position: relative; }
body.jh-site.single-product .jh-wishlist-button { z-index: 15; width: 48px; height: 48px; display: grid; place-items: center; margin: 0 !important; padding: 0; border: 1px solid var(--jh-line); border-radius: 50%; background: #fff; color: #141414; box-shadow: none; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }
body.jh-site.single-product .jh-wishlist-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.jh-site.single-product .jh-wishlist-button:hover, body.jh-site.single-product .jh-wishlist-button:focus-visible { border-color: var(--jh-pink); color: var(--jh-pink); transform: translateY(-1px); }
body.jh-site.single-product .jh-wishlist-button.is-active { border-color: var(--jh-pink); background: var(--jh-pink); color: #fff; }
body.jh-site.single-product .jh-wishlist-button.is-active svg { fill: currentColor; }
body.jh-site.single-product div.product .woocommerce-product-gallery { width: 49% !important; max-width: 590px; margin: 0 5% 0 0 !important; float: left !important; }
body.jh-site.single-product div.product .summary { width: 42% !important; margin: 0 !important; padding: 6px 0 0 30px; border-left: 1px solid var(--jh-line); float: right !important; }
body.jh-site.single-product .woocommerce-product-gallery { position: relative; padding-left: 67px; padding-right: 0; }
body.jh-site.single-product .woocommerce-product-gallery .flex-viewport, body.jh-site.single-product .woocommerce-product-gallery__wrapper { overflow: hidden; border: 0; border-radius: 5px; background: #f3f3f1; box-shadow: none; }
body.jh-site.single-product .woocommerce-product-gallery__image a { display: block; }
body.jh-site.single-product .woocommerce-product-gallery__image img { width: 100% !important; aspect-ratio: 1; object-fit: cover; background: transparent; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs { position: absolute; top: 0; left: 0; width: 50px; display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 50px !important; float: none !important; margin: 0 !important; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img { width: 50px; height: 50px; padding: 0; object-fit: cover; border: 1px solid transparent; border-radius: 4px; background: #f8faf8; opacity: 1 !important; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: rgba(15,95,70,.5); }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border: 1px solid var(--jh-ink); }
body.jh-site.single-product .woocommerce-product-gallery__trigger { top: 14px !important; right: 14px !important; z-index: 12 !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; background: rgba(255,255,255,.92) !important; box-shadow: 0 4px 20px rgba(0,0,0,.08); }
body.jh-site.single-product .jh-single-sale-badge { min-height: 25px; display: inline-flex; align-items: center; width: max-content; margin-bottom: 8px; padding: 0 12px; border-radius: 999px; background: var(--jh-pink); color: #fff; font-size: 11px; font-weight: 800; }
body.jh-site.single-product .summary .product_title { margin: 0 0 12px !important; color: var(--jh-ink); font-family: var(--jh-serif); font-size: clamp(34px, 3.4vw, 52px) !important; font-weight: 600; line-height: .98; letter-spacing: -.025em; }
body.jh-site.single-product .summary .woocommerce-product-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; color: #565656; font-size: 10px; }
body.jh-site.single-product .summary .star-rating { color: #f6ad00; font-size: 11px; }
body.jh-site.single-product .summary .woocommerce-review-link { color: #565656 !important; font-size: 10px; }
body.jh-site.single-product .summary .woocommerce-review-link::after { display: none; content: ''; }
body.jh-site.single-product .summary > .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin: 12px 0 18px !important; color: var(--jh-pink) !important; font-family: var(--jh-sans); font-size: 29px !important; font-weight: 800 !important; line-height: 1; }
body.jh-site.single-product .summary > .price del { color: #9c9c9c; font-size: 17px; font-weight: 500; opacity: 1; }
body.jh-site.single-product .summary > .price ins { color: var(--jh-pink); text-decoration: none; }
body.jh-site.single-product .summary .woocommerce-product-details__short-description { max-width: 560px; margin: 0 0 18px; color: #5f5f5f; font-size: 12px; line-height: 1.65; }
.jh-finance-note { display: none; }
body.jh-site.single-product form.cart { position: relative; display: grid !important; grid-template-columns: 112px minmax(170px, 1fr) 48px; gap: 14px; align-items: center; margin: 0 !important; padding: 0; border-top: 0; }
body.jh-site.single-product form.cart .variations { grid-column: 1 / -1; width: 100%; margin: 0 0 6px; }
body.jh-site.single-product form.cart .variations tr { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: center; padding: 0 0 8px; }
body.jh-site.single-product form.cart .variations th, body.jh-site.single-product form.cart .variations td { display: block; padding: 0; }
body.jh-site.single-product form.cart .variations label { color: #343434; font-size: 12px; font-weight: 600; text-transform: capitalize; }
body.jh-site.single-product form.cart .variations select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.jh-variation-badges { display: flex; flex-wrap: wrap; gap: 9px; }
.jh-variation-badge { min-width: 66px; min-height: 31px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid #dfe2e6; border-radius: 3px; background: #fff; color: #525252; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.jh-variation-badge:hover, .jh-variation-badge:focus-visible { border-color: var(--jh-pink); color: var(--jh-pink); transform: translateY(-1px); }
.jh-variation-badge.is-active { border-color: var(--jh-pink); background: var(--jh-pink); color: #fff; }
body.jh-site.single-product form.cart .reset_variations { display: none !important; }
body.jh-site.single-product form.cart .single_variation_wrap { display: contents; }
body.jh-site.single-product form.cart .woocommerce-variation { grid-column: 1 / -1; min-height: 0; margin: 0; }
body.jh-site.single-product form.cart .woocommerce-variation:empty { display: none; }
body.jh-site.single-product form.cart .woocommerce-variation-price { display: none !important; }
body.jh-site.single-product form.cart .woocommerce-variation-description, body.jh-site.single-product form.cart .woocommerce-variation-availability { display: none !important; }
body.jh-site.single-product form.cart .quantity { width: 112px; margin: 0 !important; }
body.jh-site.single-product form.cart .jh-quantity-control { display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px; align-items: center; width: 112px; min-height: 48px; border: 1px solid var(--jh-line); border-radius: 999px; background: #f8f9fb; overflow: hidden; }
body.jh-site.single-product form.cart .jh-quantity-control button { width: 30px; height: 46px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--jh-pink); font-size: 0; line-height: 1; cursor: pointer; }
body.jh-site.single-product form.cart .jh-quantity-control button::before, body.jh-site.single-product form.cart .jh-quantity-control button::after { display: none !important; content: none !important; }
body.jh-site.single-product form.cart .jh-quantity-control button span { display: block; font-size: 17px; line-height: 1; }
body.jh-site.single-product form.cart .jh-quantity-control button:hover { background: var(--jh-pink-soft); }
body.jh-site.single-product form.cart .quantity input.qty { width: 100% !important; height: 46px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 12px; font-weight: 600; text-align: center; }
body.jh-site.single-product form.cart .single_add_to_cart_button, body.jh-site.single-product form.cart .jh-buy-now { min-height: 48px !important; width: 100%; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important; font-size: 10px !important; font-weight: 700 !important; text-transform: none !important; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
body.jh-site.single-product form.cart .single_add_to_cart_button:hover, body.jh-site.single-product form.cart .jh-buy-now:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(20, 37, 29, .14) !important; }
body.jh-site.single-product form.cart .single_add_to_cart_button { grid-column: 2; grid-row: 1; background: var(--jh-pink) !important; color: #fff !important; }
body.jh-site.single-product form.cart .jh-wishlist-button { grid-column: 3; grid-row: 1; }
body.jh-site.single-product form.cart .jh-buy-now { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; width: 100%; background: var(--jh-green) !important; color: #fff !important; }
body.jh-site.single-product form.cart .single_add_to_cart_button.loading { opacity: .65; cursor: wait; }
body.jh-site.single-product .stock { color: var(--jh-green) !important; font-size: 10px; font-weight: 600; }
body.jh-site.single-product .product_meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--jh-line); color: #68706b; font-size: 10px; }
body.jh-site.single-product .product_meta a { color: var(--jh-green) !important; font-weight: 600; }
.jh-delivery-cards { display: grid; grid-template-columns: 1fr; margin-top: 22px; border: 1px solid var(--jh-line); border-radius: 12px; overflow: hidden; background: #fff; }
.jh-delivery-card { display: grid; grid-template-columns: 35px 1fr; gap: 10px; align-items: center; padding: 13px 15px; }
.jh-delivery-card + .jh-delivery-card { border-top: 1px solid var(--jh-line); }
.jh-delivery-icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--jh-pink); border-radius: 8px; background: var(--jh-pink-soft); }
.jh-delivery-icon svg { width: 18px; height: 18px; }
.jh-delivery-card > span:last-child { display: grid; gap: 2px; }
.jh-delivery-card strong { font-size: 9px; }
.jh-delivery-card small { color: var(--jh-muted); font-size: 8px; }
body.jh-site.single-product .woocommerce-tabs { clear: both; padding-top: 88px; }
body.jh-site.single-product .woocommerce-tabs ul.tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0 0 36px !important; padding: 0 !important; border: 0 !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs::before, body.jh-site.single-product .woocommerce-tabs ul.tabs li::before, body.jh-site.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 1px solid var(--jh-line) !important; border-radius: 999px !important; background: #fff !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li.active { border-color: var(--jh-green) !important; background: var(--jh-green) !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 9px 17px !important; color: #4a514c !important; font-size: 9px !important; font-weight: 600 !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.jh-site.single-product .woocommerce-Tabs-panel { max-width: 980px; margin: 0 auto !important; padding: 0 0 75px !important; color: #5f6560; font-size: 12px; line-height: 1.75; }
body.jh-site.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }
body.jh-site.single-product #reviews #comments { margin-bottom: 28px; }
body.jh-site.single-product #reviews #comments h2 { margin-bottom: 12px; font-family: var(--jh-sans); font-size: 13px; font-weight: 700; }
body.jh-site.single-product #review_form_wrapper { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--jh-line); }
body.jh-site.single-product #review_form_wrapper h3 { margin-bottom: 16px; font-family: var(--jh-sans); font-size: 15px; font-weight: 700; }
body.jh-site.single-product #review_form label { display: block; margin-bottom: 6px; color: #4e5751; font-size: 10px; font-weight: 600; }
body.jh-site.single-product #review_form input, body.jh-site.single-product #review_form textarea { width: 100%; border: 1px solid var(--jh-line); border-radius: 8px; background: #fff; box-shadow: none; font-size: 11px; }
body.jh-site.single-product #review_form input { min-height: 42px; padding: 0 12px; }
body.jh-site.single-product #review_form textarea { min-height: 130px; padding: 12px; resize: vertical; }
body.jh-site.single-product #review_form .form-submit input { width: auto; min-width: 150px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--jh-green); color: #fff; font-weight: 700; cursor: pointer; }
body.jh-site.single-product section.related { clear: both; padding: 64px 0 110px; border-top: 1px solid var(--jh-line); }
body.jh-site.single-product section.related > h2 { margin-bottom: 28px; text-align: center; font-size: clamp(36px, 4vw, 52px); }
body.jh-site.single-product section.related ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; margin: 0 !important; padding: 0 !important; }
body.jh-site.single-product section.related ul.products::before, body.jh-site.single-product section.related ul.products::after { display: none !important; }
body.jh-site.single-product section.related ul.products > li.product { float: none !important; width: auto !important; margin: 0 !important; }
body.jh-site.single-product .jh-related-products ul.products:empty { display: none !important; }

/* Woo notices, cart, checkout and account inherit parent functionality with branded surfaces. */
body.jh-site .woocommerce-message, body.jh-site .woocommerce-info, body.jh-site .woocommerce-error { border: 1px solid var(--jh-line); border-top: 3px solid var(--jh-green); border-radius: 10px; background: #fff; color: var(--jh-ink); box-shadow: 0 10px 30px rgba(0,0,0,.05); }
body.jh-site .woocommerce-message::before, body.jh-site .woocommerce-info::before { color: var(--jh-green); }
body.jh-site .woocommerce-error { border-top-color: #b63333; }
body.jh-site.woocommerce-cart .site-main, body.jh-site.woocommerce-checkout .site-main, body.jh-site.woocommerce-account .site-main { width: min(calc(100% - (var(--jh-gutter) * 2)), 1180px); margin-inline: auto; padding-block: 55px 90px; }
body.jh-site .woocommerce a.button, body.jh-site .woocommerce button.button, body.jh-site .woocommerce input.button { border-radius: 999px; }

/* WooCommerce cart: match the jewelry storefront surfaces and actions. */
body.jh-site.woocommerce-cart .jh-content-shell { padding-block: 52px 92px; }
body.jh-site.woocommerce-cart .jh-entry-content { color: var(--jh-ink); }
body.jh-site.woocommerce-cart .woocommerce { font-size: 12px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form { width: 62%; float: left; }
body.jh-site.woocommerce-cart .woocommerce-cart-form table.shop_table { width: 100%; margin: 0; border: 1px solid var(--jh-line); border-radius: 14px; border-spacing: 0; border-collapse: separate; overflow: hidden; background: #fff; }
body.jh-site.woocommerce-cart .woocommerce-cart-form thead th { padding: 14px 16px; border: 0; background: var(--jh-soft); color: #545d57; font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
body.jh-site.woocommerce-cart .woocommerce-cart-form tbody td { padding: 16px; border: 0; border-top: 1px solid var(--jh-line); vertical-align: middle; font-size: 11px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-thumbnail { width: 86px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img { width: 68px; height: 76px; object-fit: contain; border-radius: 9px; background: var(--jh-soft); }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-name a { color: var(--jh-ink) !important; font-family: var(--jh-serif); font-size: 18px; font-weight: 600; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-price, body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-subtotal { color: var(--jh-pink); font-weight: 700; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-quantity .quantity { width: 72px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-quantity input.qty { width: 72px !important; height: 38px; padding: 0 8px; border: 1px solid var(--jh-line) !important; border-radius: 999px !important; background: #fff !important; font-size: 11px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove { color: var(--jh-pink) !important; font-size: 20px; font-weight: 400; }
body.jh-site.woocommerce-cart .woocommerce-cart-form .actions { padding: 18px 0 0; border: 0; background: transparent; }
body.jh-site.woocommerce-cart .woocommerce-cart-form .coupon { display: flex; align-items: center; gap: 8px; float: left; }
body.jh-site.woocommerce-cart .woocommerce-cart-form .coupon input.input-text { width: 165px; height: 40px; padding: 0 12px; border: 1px solid var(--jh-line); border-radius: 8px; font-size: 10px; }
body.jh-site.woocommerce-cart .woocommerce-cart-form .coupon button, body.jh-site.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--jh-pink) !important; color: #fff !important; font-size: 10px; font-weight: 700; }
body.jh-site.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] { float: right; background: var(--jh-green) !important; }
body.jh-site.woocommerce-cart .cart-collaterals { width: 34%; float: right; }
body.jh-site.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; padding: 22px; border: 1px solid var(--jh-line); border-radius: 14px; background: var(--jh-soft); }
body.jh-site.woocommerce-cart .cart-collaterals .cart_totals h2 { margin: 0 0 18px; font-family: var(--jh-serif); font-size: 27px; }
body.jh-site.woocommerce-cart .cart_totals table.shop_table { width: 100%; margin: 0 0 18px; border: 0; border-spacing: 0; }
body.jh-site.woocommerce-cart .cart_totals table.shop_table th, body.jh-site.woocommerce-cart .cart_totals table.shop_table td { padding: 12px 0; border: 0; border-bottom: 1px solid var(--jh-line); font-size: 11px; }
body.jh-site.woocommerce-cart .cart_totals table.shop_table th { color: #4f5952; font-weight: 600; text-align: left; }
body.jh-site.woocommerce-cart .cart_totals table.shop_table td { color: var(--jh-pink); font-weight: 700; text-align: right; }
body.jh-site.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 0; }
body.jh-site.woocommerce-cart .cart_totals .checkout-button { width: 100%; min-height: 46px; margin: 0; padding: 0 18px; border-radius: 999px !important; background: var(--jh-green) !important; color: #fff !important; font-size: 10px; font-weight: 700; text-align: center; }
body.jh-site.woocommerce-cart .cart_totals .checkout-button:hover { background: var(--jh-green-dark) !important; }
body.jh-site.woocommerce-cart .woocommerce-message, body.jh-site.woocommerce-cart .woocommerce-info, body.jh-site.woocommerce-cart .woocommerce-error { margin-bottom: 22px; }
body.jh-site.woocommerce-cart .cart-empty { padding: 70px 20px; border: 1px solid var(--jh-line); border-radius: 14px; text-align: center; }

/* WooCommerce account dashboard: give account tools the same calm storefront system. */
body.jh-site.woocommerce-account .jh-content-shell { padding-block: 48px 100px; }
body.jh-site.woocommerce-account .jh-entry-content { color: var(--jh-ink); }
body.jh-site.woocommerce-account .woocommerce { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(28px, 5vw, 70px); align-items: start; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border: 1px solid var(--jh-line); border-radius: 14px; overflow: hidden; list-style: none; background: #fff; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--jh-line); }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding: 0 17px; color: #4e5751 !important; font-size: 10px; font-weight: 600; transition: background .2s ease, color .2s ease, padding .2s ease; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation a::before { position: static !important; flex: 0 0 20px; width: 20px; margin-inline-end: 11px; line-height: 1; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation a:hover { padding-left: 21px; background: var(--jh-pink-soft); color: var(--jh-pink) !important; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--jh-green); color: #fff !important; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; min-width: 0; padding: 26px 28px; border: 1px solid rgba(234,223,225,.9); border-radius: 16px; background: rgba(255,253,253,.72); box-shadow: 0 14px 36px rgba(42,21,24,.05); color: #5d665f; font-size: 12px; line-height: 1.7; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin: 0 0 18px; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content strong { color: var(--jh-ink); }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content a { color: var(--jh-green) !important; font-weight: 600; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info, body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 24px; padding: 13px 14px 13px 48px; border: 1px solid #dcece5; border-top: 2px solid var(--jh-green); border-radius: 10px; background: #fff; box-shadow: 0 8px 25px rgba(20,37,24,.05); font-size: 11px; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before, body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before { color: var(--jh-green); }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content .button { min-height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--jh-pink) !important; color: #fff !important; font-size: 10px; font-weight: 700; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content h2, body.jh-site.woocommerce-account .woocommerce-MyAccount-content h3 { margin: 24px 0 14px; font-family: var(--jh-serif); font-size: 29px; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table { width: 100%; border: 1px solid var(--jh-line); border-radius: 12px; border-spacing: 0; border-collapse: separate; overflow: hidden; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { padding: 13px 14px; background: var(--jh-soft); color: #525c55; font-size: 9px; text-align: left; text-transform: uppercase; }
body.jh-site.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 14px; border-top: 1px solid var(--jh-line); font-size: 10px; }
body.jh-site.woocommerce-account .woocommerce form .form-row { margin: 0 0 15px; padding: 0; }
body.jh-site.woocommerce-account .woocommerce form .form-row label { display: block; margin-bottom: 6px; color: #4d574f; font-size: 10px; font-weight: 600; }
body.jh-site.woocommerce-account .woocommerce form .form-row input, body.jh-site.woocommerce-account .woocommerce form .form-row select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid var(--jh-line); border-radius: 8px; background: #fff; box-shadow: none; font-size: 11px; }
body.jh-site.woocommerce-account .woocommerce form .button { min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--jh-green) !important; color: #fff !important; font-size: 10px; font-weight: 700; }

@media (max-width: 1120px) {
  .jh-header-row { grid-template-columns: auto auto 1fr auto; gap: 16px; }
  .jh-desktop-nav { display: none; }
  .jh-mobile-menu-toggle { display: grid; width: 40px; height: 40px; place-items: center; border: 0; background: transparent; color: #252925; cursor: pointer; }
  .jh-header-search { grid-column: 3; }
  .jh-mobile-nav { position: absolute; top: 78px; left: var(--jh-gutter); right: var(--jh-gutter); z-index: 90; padding: 12px; border: 1px solid var(--jh-line); border-radius: 14px; background: #fff; box-shadow: var(--jh-shadow); }
  .jh-mobile-nav:not([hidden]) { display: block; }
  .jh-mobile-nav a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 12px; }
  .jh-mobile-nav .sub-menu { padding-left: 16px; }
  .jh-home-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .jh-product-slider { grid-auto-columns: 29%; }
  .jh-catalog-wrap { grid-template-columns: 210px minmax(0,1fr); gap: 30px; }
}

@media (max-width: 900px) {
  :root { --jh-gutter: 20px; }
  .jh-header-row { min-height: 64px; grid-template-columns: auto 1fr auto; }
  .jh-brand { font-size: 21px; }
  .jh-header-search { display: none; }
  .jh-header-actions > a span, .jh-action-label { display: none; }
  .jh-mobile-search { display: block; padding-bottom: 11px; }
  .jh-mobile-search form { height: 42px; display: flex; overflow: hidden; border-radius: 999px; background: #f4f5f4; }
  .jh-mobile-search input { min-width: 0; flex: 1; padding: 0 16px; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; font-size: 11px; }
  .jh-mobile-nav { top: 116px; }
  .jh-hero { grid-template-columns: 1fr; }
  .jh-hero-card { min-height: 440px; }
  .jh-hero-promo { min-height: 340px; }
  .jh-product-slider { grid-auto-columns: 39%; }
  .jh-home-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jh-testimonial-track { grid-auto-columns: 48%; }
  .jh-support-actions { grid-template-columns: 1fr; max-width: 620px; margin: 0 auto; }
  .jh-footer-inner { grid-template-columns: 1fr; }
  .jh-footer-menus { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .jh-catalog-wrap { display: block; padding-top: 24px; }
  body.jh-site.woocommerce-cart .woocommerce-cart-form, body.jh-site.woocommerce-cart .cart-collaterals { width: 100%; float: none; }
  body.jh-site.woocommerce-cart .cart-collaterals { margin-top: 28px; }
  body.jh-site.woocommerce-cart .woocommerce-cart-form .coupon { float: none; flex-wrap: wrap; }
  body.jh-site.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] { float: none; margin-top: 10px; }
  body.jh-site.woocommerce-account .jh-content-shell { padding-block: 30px 70px; }
  body.jh-site.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 24px; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-content { padding: 20px 18px; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; border-radius: 10px; scrollbar-width: none; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; border-right: 1px solid var(--jh-line); border-bottom: 0; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 42px; padding: 0 14px; }
  body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info, body.jh-site.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message { align-items: flex-start; flex-direction: column; gap: 10px; }
  .jh-filter-mobile-button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin-bottom: 20px; padding: 0 18px; border: 1px solid var(--jh-line); border-radius: 999px; background: #fff; font-size: 10px; font-weight: 700; }
  .jh-catalog-sidebar { position: fixed; z-index: 910; top: 0; left: 0; width: min(360px, 92vw); height: 100dvh; overflow-y: auto; padding: 0 22px 30px; background: #fff; transform: translateX(-105%); transition: transform .28s ease; }
  .jh-catalog-sidebar.is-open { transform: translateX(0); }
  .jh-filter-overlay { z-index: 900; }
  .jh-filter-mobile-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; min-height: 68px; margin-inline: -22px; margin-bottom: 12px; padding: 0 22px; border-bottom: 1px solid var(--jh-line); background: #fff; }
  .jh-filter-mobile-head strong { font-family: var(--jh-serif); font-size: 27px; }

  body.jh-site.single-product div.product .woocommerce-product-gallery, body.jh-site.single-product div.product .summary { width: 100% !important; float: none !important; margin: 0 !important; }
  body.jh-site.single-product div.product .summary { padding: 34px 0 0; border-left: 0; }
  body.jh-site.single-product .woocommerce-product-gallery { padding-left: 0; padding-right: 0; padding-bottom: 86px; }
  body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs { top: auto; bottom: 0; width: 100%; display: flex; gap: 9px; overflow-x: auto; }
  body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 68px !important; flex: 0 0 68px; }
  body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img { width: 68px; height: 68px; }
  body.jh-site.single-product section.related ul.products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 700px) {
  :root { --jh-gutter: 16px; }
  body.jh-site { font-size: 14px; }
  .jh-header-row { gap: 8px; }
  .jh-brand-mark { width: 22px; height: 22px; }
  .jh-header-actions { gap: 14px; }
  .jh-header-actions svg, .jh-cart-trigger svg { width: 19px; height: 19px; }
  .jh-wishlist-trigger b { min-width: 16px; height: 16px; font-size: 8px; }

  .jh-hero { width: 100%; padding: 0; gap: 10px; }
  .jh-hero-card { min-height: 350px; border-radius: 0; }
  .jh-hero-main { display: block; }
  .jh-hero-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .jh-hero-main::after { background: linear-gradient(90deg, rgba(243,243,241,.96) 0%, rgba(243,243,241,.84) 58%, rgba(243,243,241,.18) 100%); }
  .jh-hero-copy { position: relative; width: min(72%, 360px); min-height: inherit; padding: 24px 18px 22px 28px; }
  .jh-hero-copy h1 { margin: 7px 0 18px; font-size: 34px; line-height: 1.18; }
  .jh-hero-copy p { margin-bottom: 15px; font-size: 10px; line-height: 1.45; }
  .jh-hero-copy .jh-button { min-height: 36px; padding: 0 15px; font-size: 9px; }
  .jh-hero-promo { min-height: 300px; }
  .jh-hero-promo > img { position: absolute; inset: 0; width: 100%; height: 100%; margin-left: 0; object-fit: cover; opacity: .86; }
  .jh-hero-promo .jh-hero-copy { width: 78%; padding: 28px 24px; }
  .jh-hero-copy h2 { margin-bottom: 16px; font-size: 27px; line-height: 1.18; }

  .jh-benefits-row { grid-template-columns: 1fr; gap: 10px; }
  .jh-benefits-row-item { justify-content: flex-start; }
  .jh-benefits-row-item strong { font-size: 11px; white-space: normal; }

  .jh-benefits { margin: 12px 0 14px; }
  .jh-benefit { gap: 22px; padding: 0 20px; }
  .jh-benefit strong { font-size: min(var(--jh-promo-strip-font-size, 24px), calc(var(--jh-promo-strip-height, 32px) * .72)); font-weight: var(--jh-promo-strip-font-weight, 700); }
  .jh-benefit-separator { font-size: min(30px, calc(var(--jh-promo-strip-height, 32px) * .9)); }

  .jh-wide-banner { width: 100%; min-height: 260px; margin-block: 20px 12px; border-radius: 0; background-position: 62% center; }
  .jh-wide-banner::after { background: linear-gradient(90deg, rgba(255,247,248,.94) 0%, rgba(255,247,248,.76) 62%, rgba(255,247,248,.16) 100%); }
  .jh-wide-banner-copy { width: min(78%, 340px); padding: 28px; }
  .jh-wide-banner h2 { margin-bottom: 18px; font-size: 32px; line-height: 1.2; }
  .jh-wide-banner p { max-width: 280px; font-size: 12px; line-height: 1.5; }

  .jh-product-section { padding-block: 28px 48px; }
  .jh-section-head { align-items: center; margin-bottom: 16px; }
  .jh-section-head > div { display: block; }
  .jh-section-head h2 { margin-top: 2px; font-size: 17px; }
  .jh-section-head > a { font-size: 8px; }
  .jh-product-slider { grid-auto-columns: 47%; gap: 12px; }
  .jh-slider-arrow { width: 30px; height: 30px; font-size: 19px; }
  .jh-slider-arrow.prev { left: -7px; }
  .jh-slider-arrow.next { right: -7px; }
  .jh-product-card { gap: 9px; padding: 0; border-radius: 0; }
  body.jh-site .jh-catalog-products ul.products > li.product.jh-product-card { padding: 0 !important; }
  .jh-product-media { aspect-ratio: 1; border-radius: 10px; }
  .jh-product-media img { padding: 0; }
  .jh-product-copy { gap: 4px; padding: 0; }
  .jh-product-copy h3 { min-height: 34px; font-size: 12px; }
  .jh-card-price { font-size: 11px; }
  .jh-card-add { min-height: 34px !important; padding: 0 12px !important; font-size: 8px !important; }
  .jh-card-wishlist { top: 8px; right: 8px; width: 32px; height: 32px; }
  .jh-card-badges { top: 8px; left: 8px; }
  .jh-card-badges span { min-height: 19px; padding: 0 8px; font-size: 8px; }

  .jh-home-grid-section { padding-block: 44px 64px; }
  .jh-wishlist-page { padding-block: 44px 70px; }
  .jh-wishlist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; }
  .jh-category-section { padding-block: 34px 12px; }
  .jh-category-section-head { align-items: center; margin-bottom: 16px; }
  .jh-category-section-head h2 { font-size: 31px; }
  .jh-category-section-head > a { font-size: 8px; }
  .jh-category-grid { gap: 10px; padding-bottom: 6px; scrollbar-width: none; }
  .jh-category-grid::-webkit-scrollbar { display: none; }
  .jh-category-arrow { top: 42%; }
  .jh-category-card { flex: 0 0 68%; min-width: 220px; border-radius: 14px; }
  .jh-category-card img { aspect-ratio: 1.02; }
  .jh-category-card-copy { min-height: 86px; padding: 12px 14px; }
  .jh-category-card-copy strong { font-size: 20px; }
  .jh-permanent-section { grid-template-columns: 1fr; gap: 16px; margin-block: 34px 58px; padding: 0 16px; }
  .jh-permanent-media { min-height: 360px; border-radius: 10px; }
  .jh-permanent-media-copy { inset-inline: 22px; bottom: 24px; }
  .jh-permanent-media-copy h3 { font-size: 25px; }
  .jh-permanent-copy { padding: 26px 22px; border-radius: 10px; }
  .jh-permanent-copy h2 { margin: 7px 0 14px; font-size: 28px; }
  .jh-permanent-copy p { font-size: 11px; }
  .jh-permanent-copy ul { grid-template-columns: 1fr; gap: 10px; font-size: 11px; }
  .jh-centered-heading { margin-bottom: 18px; }
  .jh-centered-heading h2 { font-size: 31px; line-height: 1.18; }
  .jh-centered-heading p { margin-top: 10px; font-size: 10px; line-height: 1.45; }
  .jh-category-chips { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; margin-inline: -1px; margin-bottom: 20px; scrollbar-width: none; }
  .jh-category-chips::-webkit-scrollbar { display: none; }
  .jh-category-chips button { flex: 0 0 auto; min-height: 28px; padding: 0 12px; font-size: 7px; }
  .jh-home-product-grid { gap: 24px 10px; }

  .jh-testimonials { padding: 52px 0 64px; }
  .jh-testimonial-track { grid-auto-columns: 86%; gap: 11px; }
  .jh-testimonial { min-height: 280px; padding: 20px; border-radius: 11px; }
  .jh-testimonial > p { font-size: 16px; }

  .jh-support { padding: 58px 0; }
  .jh-support h2 { margin-bottom: 34px; font-size: 34px; line-height: 1.18; }
  .jh-support-actions { gap: 11px; }
  .jh-support-actions a { min-height: 64px; grid-template-columns: 38px 1fr; gap: 12px; padding: 10px 18px; }
  .jh-support-icon { width: 32px; height: 32px; }
  .jh-support-icon svg { width: 23px; height: 23px; }
  .jh-footer-inner { gap: 34px; padding-block: 46px; }
  .jh-footer h3 { margin-bottom: 18px; font-size: 34px; }
  .jh-footer p { font-size: 14px; }
  .jh-footer li, .jh-footer a { font-size: 15px; }
  .jh-footer-menus { grid-template-columns: 1fr; gap: 34px; }
  .jh-newsletter { min-height: 58px; }
  .jh-newsletter input { padding: 0 16px; font-size: 16px; }
  .jh-newsletter button { min-width: 104px; font-size: 13px; }

  .jh-shop-hero { padding: 46px 0 38px; }
  .jh-shop-hero h1 { font-size: 45px; }
  .jh-catalog-toolbar { align-items: center; }
  .jh-catalog-toolbar .woocommerce-result-count { max-width: 55%; line-height: 1.35; }
  .jh-catalog-toolbar select { max-width: 150px; }
  body.jh-site .jh-catalog-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 10px !important; }

  .jh-product-breadcrumb { padding-top: 12px; }
  .jh-product-native { padding-top: 17px; padding-bottom: 64px; }
  body.jh-site.single-product .woocommerce-product-gallery__image img { aspect-ratio: 1; }
  body.jh-site.single-product div.product .summary { padding-top: 28px; }
  body.jh-site.single-product .summary .product_title { font-size: 34px !important; line-height: 1.05; }
  body.jh-site.single-product .summary > .price { font-size: 21px !important; }
  body.jh-site.single-product .summary .woocommerce-product-details__short-description { font-size: 11px; }
  body.jh-site.single-product form.cart { grid-template-columns: 105px minmax(0, 1fr) 46px; gap: 10px; padding-top: 18px; }
  body.jh-site.single-product form.cart .variations { grid-column: 1 / -1; }
  body.jh-site.single-product form.cart .variations tr { grid-template-columns: 1fr; gap: 4px; padding-bottom: 6px; }
  body.jh-site.single-product form.cart .quantity { width: 105px; grid-column: 1; }
  body.jh-site.single-product form.cart .single_add_to_cart_button { grid-column: 2; grid-row: 1; }
  body.jh-site.single-product form.cart .jh-wishlist-button { grid-column: 3; grid-row: 1; width: 46px; height: 46px; }
  body.jh-site.single-product form.cart .jh-buy-now { grid-column: 1 / -1; grid-row: 2; }
  body.jh-site.single-product form.cart .single_add_to_cart_button, body.jh-site.single-product form.cart .jh-buy-now { min-height: 46px !important; }
  .jh-delivery-cards { margin-top: 20px; }
  body.jh-site.single-product .woocommerce-tabs { padding-top: 52px; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--jh-gutter) * -1) !important; padding-inline: var(--jh-gutter) !important; scrollbar-width: none; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
  body.jh-site.single-product .woocommerce-Tabs-panel { padding-bottom: 48px !important; }
  body.jh-site.single-product section.related { padding: 50px 0 80px; }
  body.jh-site.single-product section.related > h2 { margin-bottom: 22px; font-size: 35px; }
  body.jh-site.single-product section.related ul.products { gap: 24px 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.jh-filter-category-links { padding-bottom: 22px; border-bottom: 1px solid var(--jh-line); }
.jh-filter-category-links h3 { margin-bottom: 13px; font-family: var(--jh-sans); font-size: 12px; font-weight: 700; }
.jh-category-filter-links { display: grid; gap: 8px; }
.jh-category-filter-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #505651 !important; font-size: 10px; }
.jh-category-filter-links a small { color: #a0a3a0; font-size: 9px; }
.jh-category-filter-links a.is-current { color: var(--jh-green) !important; font-weight: 700; }
body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart { grid-column: 1 / -1; display: grid !important; grid-template-columns: 112px minmax(170px, 1fr) 48px; gap: 14px; align-items: center; margin-top: 4px; }
body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .quantity { grid-column: 1; }
body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { grid-column: 2; grid-row: 1; }
body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .jh-wishlist-button { grid-column: 3; grid-row: 1; }
body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .jh-buy-now { grid-column: 1 / -1; grid-row: 2; }
@media (max-width:700px) {
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart { grid-template-columns: 105px minmax(0,1fr) 46px; gap: 10px; margin-top: 2px; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .quantity { grid-column: 1; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { grid-column: 2; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .jh-wishlist-button { grid-column: 3; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .jh-buy-now { grid-column: 1 / -1; }
}
.jh-custom-logo { display: flex; align-items: center; }
.jh-custom-logo .custom-logo-link { display: inline-flex; align-items: center; }
.jh-custom-logo img { width: auto; max-width: 180px; max-height: 42px; object-fit: contain; }
.jh-newsletter-link { max-width: 320px; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 0 15px; border-radius: 999px; background: #fff; color: var(--jh-green-dark) !important; }
.jh-newsletter-link span { font-size: 10px; }
.jh-newsletter-link b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--jh-pink); color: #fff; }
@media (max-width:700px) { .jh-custom-logo img { max-width: 150px; max-height: 34px; } }

/* Generic content pages / journal */
.jh-content-page { background: transparent; }
.jh-content-shell { padding-block: 68px 95px; }
.jh-article-shell { max-width: 900px; padding-block: 58px 95px; }
.jh-content-header { max-width: 840px; margin: 0 auto 42px; text-align: center; }
.jh-content-header h1 { margin-top: 7px; font-size: clamp(45px, 6vw, 74px); letter-spacing: -.03em; }
.jh-archive-copy { margin-top: 14px; color: var(--jh-muted); font-size: 13px; }
.jh-entry-content { color: #525954; font-size: 14px; line-height: 1.8; }
.jh-entry-content > * { max-width: 820px; margin-left: auto; margin-right: auto; }
.jh-entry-content > .alignwide { max-width: 1100px; }
.jh-entry-content > .alignfull { max-width: none; }
.jh-entry-content h2, .jh-entry-content h3 { margin-top: 1.6em; margin-bottom: .55em; }
.jh-post-hero { margin: 0 0 38px; overflow: hidden; border-radius: 18px; }
.jh-post-hero img { width: 100%; max-height: 620px; object-fit: cover; }
.jh-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 34px 20px; }
.jh-post-card { overflow: hidden; border: 1px solid var(--jh-line); border-radius: 14px; background: #fff; }
.jh-post-card > a { display: block; }
.jh-post-card img { width: 100%; aspect-ratio: 1.35; object-fit: cover; background: var(--jh-soft); }
.jh-post-card > a > div { padding: 18px; }
.jh-post-card small { color: var(--jh-pink); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.jh-post-card h2 { margin: 6px 0 8px; font-size: 26px; }
.jh-post-card p { color: var(--jh-muted); font-size: 11px; line-height: 1.55; }
.jh-empty-results, .jh-not-found { padding-block: 72px 96px; text-align: center; }
.jh-empty-results h2, .jh-not-found h1 { margin-bottom: 14px; font-size: clamp(32px, 5vw, 52px); }
.jh-404-main { background: linear-gradient(180deg, #fff 0%, var(--jh-pink-soft, #fff1f5) 100%); }
.jh-404-main .jh-not-found {
  display: block;
  padding-top: clamp(86px, 11vh, 126px);
  padding-bottom: clamp(64px, 8vh, 92px);
  text-align: center;
}
.jh-not-found-panel {
  position: relative;
  display: grid;
  gap: 24px;
  max-width: 880px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 62px);
  justify-items: center;
  text-align: center;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.jh-not-found-media {
  position: relative;
  z-index: 1;
  width: min(100%, 320px);
  overflow: hidden;
  border-radius: 10px;
  background: #f7f7f7;
  box-shadow: 0 14px 34px rgba(17,17,17,.08);
}
.jh-not-found-media img { display: block; width: 100%; height: auto; }
.jh-not-found-copy { position: relative; z-index: 1; width: 100%; text-align: center; }
.jh-not-found .jh-kicker {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  margin-bottom: 16px;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--jh-pink-soft, #fff1f5);
  color: var(--jh-pink, #eb6384);
  font-size: 11px;
  letter-spacing: .08em;
}
.jh-not-found h1 { max-width: 16ch; margin: 0 auto 16px; line-height: 1.04; letter-spacing: 0; }
.jh-not-found p { max-width: 560px; margin: 0 auto 26px; color: var(--jh-muted); font-size: 16px; line-height: 1.7; }
.jh-not-found-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  width: min(100%, 560px);
  margin: 0 auto 24px;
}
.jh-not-found-search input[type="search"] {
  width: 100%;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid var(--jh-border, #e5e5e5);
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  box-shadow: 0 8px 22px rgba(17,17,17,.04);
}
.jh-not-found-search input[type="search"]:focus { border-color: var(--jh-pink); outline: 3px solid rgba(235,99,132,.14); }
.jh-not-found-search .jh-button { min-height: 54px; border-radius: 8px; }
.jh-not-found-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.jh-button-ghost {
  border: 1px solid var(--jh-border, #e5e5e5) !important;
  background: #fff !important;
  color: var(--jh-heading, #111) !important;
}
.jh-button-ghost:hover { border-color: var(--jh-heading, #111) !important; }
.jh-not-found-products { margin-top: clamp(58px, 8vh, 82px); padding-top: 38px; border-top: 1px solid var(--jh-border, #e5e5e5); text-align: left; }
.jh-not-found-products h2 { margin: 0 0 26px; text-align: center; font-size: clamp(24px, 3vw, 36px); }
.jh-not-found-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 900px) {
  .jh-not-found-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .jh-404-main .jh-not-found { padding-block: 58px 62px; }
  .jh-not-found-panel { padding: 0 18px; border-radius: 0; }
  .jh-not-found h1 { font-size: clamp(38px, 12vw, 52px); }
  .jh-not-found p { font-size: 14px; }
  .jh-not-found-search { grid-template-columns: 1fr; }
  .jh-not-found-search .jh-button { width: 100%; }
  .jh-not-found-products { margin-top: 44px; padding-top: 30px; }
}
body.jh-site.woocommerce-cart .jh-content-shell, body.jh-site.woocommerce-checkout .jh-content-shell, body.jh-site.woocommerce-account .jh-content-shell { width: min(calc(100% - (var(--jh-gutter) * 2)), 1180px); padding-block: 55px 90px; }
@media (max-width:800px) { .jh-post-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:600px) { .jh-content-shell, .jh-article-shell { padding-block: 42px 70px; } .jh-content-header { margin-bottom: 28px; } .jh-content-header h1 { font-size: 40px; } .jh-post-grid { grid-template-columns: 1fr; } }
@media (max-width:700px) {
  body.jh-site.single-product form.cart { grid-template-columns: 105px minmax(0, 1fr) 46px; gap: 10px; }
  body.jh-site.single-product form.cart > .quantity { grid-row: 1; }
  body.jh-site.single-product form.cart > .quantity { grid-column: 1; }
  body.jh-site.single-product form.cart > .jh-buy-now { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-self: stretch; }
  body.jh-site.single-product form.cart > .single_add_to_cart_button { grid-column: 2; grid-row: 1; }
  body.jh-site.single-product form.cart > .jh-wishlist-button { grid-column: 3; grid-row: 1; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .quantity { grid-row: 1; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .jh-buy-now { grid-row: 2; }
  body.jh-site.single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { grid-row: 1; }
}

/* ==========================================================
   Jewel Habibi — Modern UI polish (v1.5.0)
   ========================================================== */
:root {
  --jh-radius-xs: 8px;
  --jh-radius-sm: 12px;
  --jh-radius: 18px;
  --jh-radius-lg: 28px;
  --jh-ease: cubic-bezier(.22, 1, .36, 1);
  --jh-shadow-sm: 0 8px 24px rgba(42, 21, 24, .055);
  --jh-shadow-md: 0 18px 48px rgba(42, 21, 24, .09);
  --jh-shadow-lg: 0 26px 70px rgba(42, 21, 24, .13);
}

body.jh-site {
  background:
    radial-gradient(circle at 8% 0%, rgba(235, 99, 132, .055), transparent 26rem),
    var(--jh-cream);
}

body.jh-site :focus-visible {
  outline: 2px solid var(--jh-pink);
  outline-offset: 3px;
}

.jh-header {
  border-bottom-color: rgba(234, 223, 225, .78);
  background: color-mix(in srgb, var(--jh-cream) 88%, transparent);
  -webkit-backdrop-filter: saturate(130%) blur(14px);
  backdrop-filter: saturate(130%) blur(14px);
}

.jh-button {
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(42, 21, 24, .06);
  transition: transform .28s var(--jh-ease), background .28s ease, color .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.jh-button:hover { transform: translateY(-2px); box-shadow: var(--jh-shadow-sm); }
.jh-button:active { transform: translateY(0) scale(.985); }

.jh-hero-main,
.jh-hero-promo,
.jh-wide-banner {
  box-shadow: var(--jh-shadow-sm);
}
.jh-hero-main img,
.jh-hero-promo > img,
.jh-wide-banner {
  transition: transform .8s var(--jh-ease), filter .5s ease;
}
.jh-hero-main:hover img,
.jh-hero-promo:hover > img { transform: scale(1.015); }

/* Product cards: cleaner hierarchy, calmer lift, premium media treatment. */
.jh-product-card {
  gap: 13px;
  transition: transform .34s var(--jh-ease);
}
.jh-product-card:hover,
.jh-product-card:focus-within { transform: translateY(-5px); }
.jh-product-media {
  border: 1px solid rgba(234, 223, 225, .72);
  border-radius: var(--jh-radius);
  background: linear-gradient(145deg, #f7f2f2, #fbf8f7);
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
  transition: border-color .3s ease, box-shadow .35s var(--jh-ease);
}
.jh-product-card:hover .jh-product-media,
.jh-product-card:focus-within .jh-product-media {
  border-color: rgba(235, 99, 132, .24);
  box-shadow: var(--jh-shadow-md);
}
.jh-product-media img { transition: opacity .35s ease, transform .65s var(--jh-ease); }
.jh-product-card:hover .jh-product-media img { transform: scale(1.045); }
.jh-card-wishlist {
  top: 12px;
  right: 12px;
  border-color: rgba(42,21,24,.08);
  background: rgba(255,255,255,.88);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(42,21,24,.1);
  transition: opacity .28s ease, transform .34s var(--jh-ease), background .25s ease, color .25s ease;
}
.jh-card-wishlist:hover { transform: translateY(0) scale(1.06) !important; }
.jh-card-add {
  min-height: 42px !important;
  transition: background .28s ease, color .28s ease, transform .28s var(--jh-ease), box-shadow .28s ease !important;
}
.jh-card-add:hover { box-shadow: 0 10px 24px rgba(235,99,132,.18) !important; transform: translateY(-1px); }

/* Permanent jewelry / FAQ: stable image + independent smooth accordion. */
.jh-permanent-section {
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(22px, 3vw, 40px);
  align-items: start;
  margin-block: 54px 82px;
}
.jh-permanent-media {
  position: sticky;
  top: 28px;
  width: 100%;
  height: auto !important;
  min-height: clamp(520px, 58vw, 690px);
  aspect-ratio: .88;
  overflow: hidden;
  border: 1px solid rgba(234,223,225,.75);
  border-radius: var(--jh-radius-lg);
  background: #d6b9ad;
  box-shadow: var(--jh-shadow-md);
  isolation: isolate;
}
.jh-permanent-media::after {
  background: linear-gradient(180deg, rgba(42,21,24,.02) 30%, rgba(42,21,24,.72) 100%);
}
.jh-permanent-media img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform .9s var(--jh-ease), filter .5s ease;
}
.jh-permanent-media:hover img { transform: scale(1.025); }
.jh-permanent-media-copy { inset: auto clamp(22px, 4vw, 38px) clamp(24px, 4vw, 38px); }
.jh-permanent-copy {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(234,223,225,.7);
  border-radius: var(--jh-radius-lg);
  background: linear-gradient(145deg, rgba(255,240,244,.92), rgba(255,253,253,.98));
  box-shadow: var(--jh-shadow-sm);
}
.jh-permanent-copy h2 { letter-spacing: -.025em; }
.jh-permanent-copy .jh-button { border-radius: 999px; }
.jh-permanent-faqs { border-top: 1px solid rgba(42,21,24,.16); }
.jh-permanent-faq { border-bottom-color: rgba(42,21,24,.16); }
.jh-permanent-faqs button {
  min-height: 54px;
  padding: 5px 2px;
  font-size: 12px;
  line-height: 1.35;
  transition: color .25s ease;
}
.jh-permanent-faqs button:hover,
.jh-permanent-faqs button[aria-expanded="true"] { color: var(--jh-pink); }
.jh-permanent-faqs button span {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(235,99,132,.09);
  color: var(--jh-pink);
  font-size: 18px;
  line-height: 1;
  transition: transform .38s var(--jh-ease), background .25s ease, color .25s ease;
}
.jh-permanent-faqs button[aria-expanded="true"] span {
  transform: rotate(45deg);
  background: var(--jh-pink);
  color: #fff;
}
.jh-permanent-faq-answer {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  padding: 0 42px 0 2px;
  transition: height .38s var(--jh-ease), opacity .24s ease, padding .38s var(--jh-ease);
  will-change: height;
}
.jh-permanent-faq-answer[aria-hidden="false"] { padding-bottom: 18px; }
.jh-permanent-faq-answer p { font-size: 12px; line-height: 1.75; }

/* Gentle reveal motion; JS only adds these classes when motion is allowed. */
.jh-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s var(--jh-ease) var(--jh-reveal-delay, 0ms), transform .7s var(--jh-ease) var(--jh-reveal-delay, 0ms);
}
.jh-reveal.is-visible { opacity: 1; transform: translateY(0); }

.jh-cart-overlay,
.jh-filter-overlay { -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.jh-cart-drawer { box-shadow: -28px 0 80px rgba(42,21,24,.18); transition: transform .4s var(--jh-ease); }

@media (max-width: 900px) {
  .jh-permanent-media { position: relative; top: auto; min-height: 500px; aspect-ratio: 1 / 1.05; }
}

@media (max-width: 700px) {
  .jh-permanent-section { gap: 18px; margin-block: 38px 62px; padding-inline: 16px; }
  .jh-permanent-media { min-height: 390px; aspect-ratio: .9; border-radius: 20px; }
  .jh-permanent-copy { padding: 26px 22px; border-radius: 20px; }
  .jh-permanent-faqs button { min-height: 52px; font-size: 11.5px; }
  .jh-permanent-faq-answer { padding-right: 34px; }
  .jh-card-wishlist { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .jh-reveal { opacity: 1 !important; transform: none !important; }
}

/* ==========================================================
   v1.5.1 — Support + Permanent section refinement
   ========================================================== */

/* Support: compact, premium utility block instead of an oversized hero. */
.jh-support {
  padding: clamp(46px, 5vw, 64px) 0 clamp(50px, 5.5vw, 70px);
  border-top: 1px solid rgba(234, 223, 225, .85);
  border-bottom: 1px solid rgba(234, 223, 225, .85);
  background: linear-gradient(180deg, #fff 0%, var(--jh-surface) 100%);
  text-align: center;
}
.jh-support .jh-container { max-width: 1180px; }
.jh-support .jh-kicker {
  margin-bottom: 8px;
  color: var(--jh-pink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}
.jh-support h2 {
  max-width: 760px;
  margin: 0 auto clamp(26px, 3vw, 34px);
  font-family: var(--jh-serif);
  font-size: clamp(34px, 3.7vw, 50px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.025em;
}
.jh-support-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 1100px;
  margin: 0 auto;
}
.jh-support-actions a {
  min-height: 72px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 12px 20px;
  border: 1px solid var(--jh-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 24px rgba(42, 21, 24, .035);
  color: var(--jh-ink) !important;
  text-align: left;
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease, background .24s ease;
}
.jh-support-actions a:hover,
.jh-support-actions a:focus-visible {
  border-color: rgba(235, 99, 132, .42);
  background: #fff;
  box-shadow: 0 14px 34px rgba(42, 21, 24, .075);
  transform: translateY(-2px);
}
.jh-support-icon {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: var(--jh-pink-soft);
  color: var(--jh-green-dark);
  transition: background .24s ease, color .24s ease, transform .24s ease;
}
.jh-support-actions a:hover .jh-support-icon,
.jh-support-actions a:focus-visible .jh-support-icon {
  background: var(--jh-pink);
  color: #fff;
  transform: scale(1.03);
}
.jh-support-icon::after {
  top: 5px;
  right: 5px;
  width: 6px;
  height: 6px;
  border: 1.5px solid #fff;
}
.jh-support-icon svg { width: 21px; height: 21px; }
.jh-support-copy { gap: 2px; }
.jh-support-actions b {
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}
.jh-support-actions small {
  overflow: visible;
  color: var(--jh-muted);
  font-size: 10px;
  line-height: 1.45;
  text-overflow: initial;
  white-space: normal;
}

/* Permanent jewelry: reference-inspired split editorial layout. */
.jh-permanent-section {
  width: min(calc(100% - (var(--jh-gutter) * 2)), var(--jh-container));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, 2.2vw, 28px);
  margin: clamp(48px, 6vw, 78px) auto clamp(60px, 7vw, 94px);
  padding: 0;
}
.jh-permanent-media {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0;
  aspect-ratio: .96 / 1;
  overflow: hidden;
  border-radius: 18px;
  background: #d9c1b8;
  box-shadow: 0 18px 48px rgba(42, 21, 24, .09);
  isolation: isolate;
}
.jh-permanent-media::after {
  z-index: 1;
  background: linear-gradient(180deg, rgba(42, 21, 24, 0) 38%, rgba(42, 21, 24, .58) 100%);
}
.jh-permanent-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.jh-permanent-media:hover img { transform: scale(1.025); filter: saturate(1.02); }
.jh-permanent-media-copy {
  inset: auto clamp(22px, 3vw, 36px) clamp(24px, 3vw, 34px);
  z-index: 2;
  text-align: left;
}
.jh-permanent-media-copy span {
  min-height: 29px;
  margin-bottom: 13px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .25);
  background: var(--jh-pink);
  box-shadow: 0 8px 20px rgba(42, 21, 24, .12);
  font-size: 9px;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.jh-permanent-media-copy h3 {
  max-width: 480px;
  color: #fff;
  font-family: var(--jh-serif);
  font-size: clamp(30px, 3vw, 43px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-shadow: 0 2px 22px rgba(42, 21, 24, .16);
}
.jh-permanent-media-copy p {
  max-width: 430px;
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
}
.jh-permanent-copy {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: clamp(30px, 4vw, 52px);
  border: 1px solid rgba(234, 223, 225, .75);
  border-radius: 18px;
  background: linear-gradient(145deg, var(--jh-pink-soft) 0%, var(--jh-soft) 100%);
  box-shadow: 0 18px 48px rgba(42, 21, 24, .055);
}
.jh-permanent-copy .jh-kicker {
  margin: 0 0 9px;
  color: var(--jh-pink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}
.jh-permanent-copy h2 {
  max-width: 560px;
  margin: 0 0 15px;
  font-family: var(--jh-serif);
  font-size: clamp(36px, 3.8vw, 54px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.03em;
}
.jh-permanent-copy > p {
  max-width: 600px;
  margin: 0 0 21px;
  color: var(--jh-muted);
  font-size: 12px;
  line-height: 1.7;
}
.jh-permanent-story {
  color: var(--jh-text);
  font-family: var(--jh-sans);
  font-size: clamp(14px, 1.15vw, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
}
.jh-permanent-story p {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
.jh-permanent-copy ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
  color: var(--jh-ink);
  font-size: 11px;
}
.jh-permanent-copy li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  line-height: 1.35;
}
.jh-permanent-copy li > span {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border: 1.25px solid var(--jh-pink);
  background: rgba(255, 255, 255, .55);
  color: var(--jh-pink);
  font-size: 9px;
}
.jh-permanent-copy .jh-button {
  width: 100%;
  min-height: 46px;
  margin: 0 0 21px;
  border: 1.25px solid var(--jh-pink);
  border-radius: 999px;
  background: rgba(255, 255, 255, .45);
  color: var(--jh-pink) !important;
  box-shadow: none;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.jh-permanent-copy .jh-button:hover,
.jh-permanent-copy .jh-button:focus-visible {
  background: var(--jh-pink);
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(235, 99, 132, .2);
  transform: translateY(-1px);
}
.jh-permanent-faqs {
  display: grid;
  margin-top: auto;
  border-top: 1px solid rgba(42, 21, 24, .22);
}
.jh-permanent-faq {
  border-bottom: 1px solid rgba(42, 21, 24, .22);
}
.jh-permanent-faqs button {
  min-height: 52px;
  padding: 0 2px;
  gap: 18px;
  color: var(--jh-ink);
  font-family: var(--jh-sans);
  font-size: 11px;
  font-weight: 550;
  line-height: 1.35;
  transition: color .2s ease;
}
.jh-permanent-faqs button:hover,
.jh-permanent-faqs button:focus-visible { color: var(--jh-pink); }
.jh-permanent-faqs button span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--jh-ink);
  font-size: 20px;
  font-weight: 350;
  line-height: 1;
  transition: color .2s ease, background .2s ease, transform .28s cubic-bezier(.2,.7,.2,1);
}
.jh-permanent-faqs button:hover span,
.jh-permanent-faqs button:focus-visible span {
  background: rgba(235, 99, 132, .09);
  color: var(--jh-pink);
}
.jh-permanent-faqs button[aria-expanded="true"] { color: var(--jh-pink); }
.jh-permanent-faqs button[aria-expanded="true"] span {
  background: var(--jh-pink);
  color: #fff;
  transform: rotate(45deg);
}
.jh-permanent-faq-answer {
  padding: 0 42px 16px 2px;
  color: var(--jh-muted);
}
.jh-permanent-faq-answer p {
  margin: 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .jh-support-actions { grid-template-columns: 1fr; max-width: 620px; }
  .jh-support-actions a { min-height: 66px; }

  .jh-permanent-section {
    grid-template-columns: 1fr;
    width: min(calc(100% - (var(--jh-gutter) * 2)), 760px);
    gap: 16px;
  }
  .jh-permanent-media { aspect-ratio: 1.2 / 1; }
  .jh-permanent-copy { min-height: 0; }
}

@media (max-width: 700px) {
  .jh-support { padding: 40px 0 46px; }
  .jh-support h2 { margin-bottom: 24px; font-size: clamp(32px, 11vw, 42px); }
  .jh-support-actions { gap: 10px; }
  .jh-support-actions a {
    min-height: 64px;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 15px;
    border-radius: 15px;
  }
  .jh-support-icon { width: 38px; height: 38px; border-radius: 12px; }

  .jh-permanent-section {
    width: calc(100% - 32px);
    margin: 34px auto 58px;
    padding: 0;
  }
  .jh-permanent-media {
    min-height: 0;
    aspect-ratio: .92 / 1;
    border-radius: 15px;
  }
  .jh-permanent-media-copy { inset: auto 20px 22px; }
  .jh-permanent-media-copy h3 { font-size: clamp(29px, 9vw, 38px); }
  .jh-permanent-copy {
    padding: 27px 21px 24px;
    border-radius: 15px;
  }
  .jh-permanent-copy h2 { font-size: clamp(34px, 10vw, 44px); }
  .jh-permanent-copy > p { font-size: 11px; }
  .jh-permanent-story { font-size: 14px; line-height: 1.68; }
  .jh-permanent-copy ul { grid-template-columns: 1fr; gap: 10px; margin-bottom: 22px; }
  .jh-permanent-faqs button { min-height: 50px; font-size: 11px; }
  .jh-permanent-faq-answer { padding-right: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .jh-permanent-media img,
  .jh-support-actions a,
  .jh-support-icon,
  .jh-permanent-faqs button span { transition: none !important; }
}

/* ========================================================================== 
   Header & footer refinement — v1.5.2
   ========================================================================== */

/* Announcement bar */
.jh-topbar {
  min-height: 34px;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 9px;
  letter-spacing: .18em;
}
.jh-topbar-inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.jh-topbar-dot {
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  border-radius: 50%;
  background: var(--jh-pink);
  box-shadow: 0 0 0 4px rgba(235,99,132,.12);
}

/* Sticky, calm, premium header */
.jh-header {
  position: sticky;
  top: 0;
  z-index: 780;
  border-bottom: 1px solid rgba(234,223,225,.78);
  background: rgba(255,253,253,.92);
  -webkit-backdrop-filter: saturate(145%) blur(18px);
  backdrop-filter: saturate(145%) blur(18px);
  transition: box-shadow .3s var(--jh-ease), background .3s ease, border-color .3s ease;
}
.jh-header.is-scrolled {
  border-bottom-color: rgba(234,223,225,.92);
  background: rgba(255,253,253,.97);
  box-shadow: 0 12px 34px rgba(42,21,24,.075);
}
.jh-header-row {
  min-height: 76px;
  grid-template-columns: auto minmax(310px, 1fr) minmax(250px, 340px) auto;
  gap: clamp(18px, 2.2vw, 30px);
  transition: min-height .3s var(--jh-ease);
}
.jh-header.is-scrolled .jh-header-row { min-height: 68px; }
.jh-header-brand-wrap { min-width: 0; display: flex; align-items: center; }
.jh-brand {
  gap: 9px;
  font-size: 24px;
  letter-spacing: -.025em;
  transition: opacity .2s ease, transform .25s var(--jh-ease);
}
.jh-brand:hover { opacity: .86; transform: translateY(-1px); }
.jh-brand-mark {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(235,99,132,.2);
  border-radius: 50%;
  background: rgba(255,240,244,.76);
  font-size: 17px;
}
.jh-custom-logo img { max-width: 190px; max-height: 44px; transition: transform .28s var(--jh-ease); }
.jh-custom-logo a:hover img { transform: scale(1.015); }

.jh-desktop-nav > ul { gap: clamp(18px, 1.8vw, 29px); }
.jh-desktop-nav > ul > li > a {
  position: relative;
  min-height: 44px;
  padding-inline: 1px;
  color: var(--jh-ink) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
}
.jh-desktop-nav > ul > li > a::after {
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1.5px;
  border-radius: 999px;
  background: var(--jh-pink);
  content: '';
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .28s var(--jh-ease);
}
.jh-desktop-nav > ul > li:hover > a::after,
.jh-desktop-nav > ul > li:focus-within > a::after,
.jh-desktop-nav > ul > .current-menu-item > a::after,
.jh-desktop-nav > ul > .current-menu-ancestor > a::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.jh-desktop-nav .sub-menu {
  top: calc(100% + 9px);
  min-width: 220px;
  display: grid;
  gap: 2px;
  padding: 10px;
  visibility: hidden;
  opacity: 0;
  border: 1px solid rgba(234,223,225,.86);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 50px rgba(42,21,24,.11);
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .2s ease, transform .28s var(--jh-ease), visibility .2s ease;
}
.jh-desktop-nav li:hover > .sub-menu,
.jh-desktop-nav li:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.jh-desktop-nav .sub-menu a {
  min-height: 38px;
  padding: 9px 11px;
  border-radius: 10px;
  font-size: 11px;
  transition: background .2s ease, color .2s ease, padding-left .2s ease;
}
.jh-desktop-nav .sub-menu a:hover,
.jh-desktop-nav .sub-menu a:focus-visible {
  padding-left: 14px;
  background: var(--jh-pink-soft);
  color: var(--jh-ink) !important;
}

/* Search */
.jh-header-search {
  height: 46px;
  gap: 6px;
  padding: 0 6px 0 15px;
  border: 1px solid rgba(234,223,225,.9);
  background: rgba(255,255,255,.72);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}
.jh-header-search:hover { border-color: rgba(235,99,132,.24); background: #fff; }
.jh-header-search:focus-within {
  border-color: rgba(235,99,132,.48);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(235,99,132,.08), 0 10px 26px rgba(42,21,24,.05);
}
.jh-search-leading {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  flex: 0 0 19px;
  color: var(--jh-muted);
}
.jh-search-leading svg { width: 17px !important; height: 17px !important; }
.jh-header-search input { padding: 0 4px; font-size: 11px; }
.jh-header-search input::placeholder { color: #918488; }
.jh-header-search > button {
  width: auto;
  min-width: 62px;
  height: 34px;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 999px;
  background: var(--jh-ink);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: background .22s ease, transform .22s var(--jh-ease), box-shadow .22s ease;
}
.jh-header-search > button:hover { background: var(--jh-pink); transform: translateY(-1px); box-shadow: 0 7px 16px rgba(235,99,132,.2); }

/* Header actions */
.jh-header-actions { gap: 5px; }
.jh-header-actions > .jh-header-action {
  position: relative;
  width: 42px;
  height: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--jh-ink);
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .25s var(--jh-ease), box-shadow .22s ease;
}
.jh-header-actions > .jh-header-action:hover,
.jh-header-actions > .jh-header-action:focus-visible {
  border-color: rgba(235,99,132,.17);
  background: var(--jh-pink-soft);
  color: var(--jh-pink);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(42,21,24,.055);
}
.jh-header-actions > .jh-header-action svg { width: 19px; height: 19px; }
.jh-header-actions > .jh-header-action::after {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  z-index: 12;
  padding: 5px 8px;
  visibility: hidden;
  opacity: 0;
  border-radius: 7px;
  background: var(--jh-ink);
  color: #fff;
  content: attr(data-jh-label);
  font-size: 8px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transform: translate(-50%, -3px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.jh-header-actions > .jh-header-action:hover::after,
.jh-header-actions > .jh-header-action:focus-visible::after {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}
.jh-wishlist-trigger b,
.jh-cart-count {
  top: -2px;
  right: -2px;
  min-width: 17px;
  height: 17px;
  padding-inline: 4px;
  border: 2px solid var(--jh-surface);
  font-size: 8px;
}

/* Mobile navigation */
.jh-mobile-menu-toggle {
  border: 1px solid rgba(234,223,225,.85) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.68) !important;
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s var(--jh-ease);
}
.jh-mobile-menu-toggle:hover { border-color: rgba(235,99,132,.22) !important; background: var(--jh-pink-soft) !important; color: var(--jh-pink) !important; }
.jh-mobile-menu-toggle[aria-expanded="true"] { background: var(--jh-pink-soft) !important; color: var(--jh-pink); transform: rotate(2deg); }
.jh-mobile-nav-layer {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: block;
  visibility: hidden;
  opacity: 0;
  background: rgba(42,21,24,.28);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: opacity .25s ease, visibility .25s ease;
}
.jh-mobile-nav-layer[hidden] { display: none !important; }
.jh-mobile-nav-layer.is-open { visibility: visible; opacity: 1; }
.jh-mobile-nav {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(390px, 92vw);
  height: 100dvh;
  display: flex !important;
  flex-direction: column;
  padding: 0 22px 24px !important;
  overflow-y: auto;
  border: 0 !important;
  border-radius: 22px 0 0 22px !important;
  background: var(--jh-surface) !important;
  box-shadow: -24px 0 60px rgba(42,21,24,.14) !important;
  transform: translateX(104%);
  transition: transform .38s var(--jh-ease);
}
.jh-mobile-nav-layer.is-open .jh-mobile-nav { transform: translateX(0); }
.jh-mobile-nav-head {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--jh-line);
}
.jh-mobile-nav-head > span { font-family: var(--jh-serif); font-size: 28px; font-weight: 600; }
.jh-mobile-nav-head button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--jh-line);
  border-radius: 50%;
  background: var(--jh-soft);
  color: var(--jh-ink);
  cursor: pointer;
}
.jh-mobile-nav-head svg { width: 17px; height: 17px; }
.jh-mobile-nav > ul { padding: 15px 0 20px; }
.jh-mobile-nav > ul > li { border-bottom: 1px solid rgba(234,223,225,.75); }
.jh-mobile-nav > ul > li > a {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 2px;
  color: var(--jh-ink) !important;
  font-family: var(--jh-serif);
  font-size: 22px;
  font-weight: 600;
}
.jh-mobile-nav .sub-menu {
  display: grid;
  gap: 2px;
  padding: 0 0 12px 10px;
}
.jh-mobile-nav .sub-menu a {
  display: block;
  padding: 7px 8px;
  border-radius: 8px;
  color: var(--jh-muted) !important;
  font-family: var(--jh-sans);
  font-size: 11px;
}
.jh-mobile-nav .sub-menu a:hover { background: var(--jh-pink-soft); color: var(--jh-ink) !important; }
.jh-mobile-nav-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: auto;
  padding-top: 18px;
}
.jh-mobile-nav-actions a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--jh-line);
  border-radius: 999px;
  background: #fff;
  color: var(--jh-ink) !important;
  font-size: 10px;
  font-weight: 700;
}
.jh-mobile-nav-actions svg { width: 17px; height: 17px; }

.jh-mobile-search form {
  align-items: center;
  gap: 8px;
  padding: 0 5px 0 14px;
  border: 1px solid rgba(234,223,225,.9);
  background: rgba(255,255,255,.82) !important;
}
.jh-mobile-search form > span { width: 17px; height: 17px; color: var(--jh-muted); }
.jh-mobile-search form > span svg { width: 17px; height: 17px; }
.jh-mobile-search input { padding-inline: 0 !important; }
.jh-mobile-search button {
  width: auto;
  min-width: 60px;
  height: 32px !important;
  flex: 0 0 auto;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--jh-ink) !important;
  color: #fff !important;
  font-size: 9px;
  font-weight: 700;
}

/* Footer */
.jh-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(235,99,132,.12), transparent 30rem),
    linear-gradient(145deg, #241316 0%, var(--jh-ink) 58%, #1b1012 100%);
  color: rgba(255,255,255,.78);
}
.jh-footer::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(235,99,132,.42), transparent);
  content: '';
}
.jh-footer-inner {
  position: relative;
  grid-template-columns: minmax(240px, 1.08fr) minmax(280px, 1fr) minmax(310px, 1.12fr);
  gap: clamp(42px, 5vw, 82px);
  padding-block: clamp(66px, 7vw, 96px) clamp(54px, 6vw, 78px);
}
.jh-footer-logo .custom-logo-link { display: inline-flex; }
.jh-footer-logo .custom-logo { width: auto; max-width: 180px; max-height: 48px; object-fit: contain; filter: brightness(0) invert(1); }
.jh-footer .jh-brand-footer { display: inline-flex; color: #fff !important; font-size: 25px; }
.jh-footer .jh-brand-footer .jh-brand-mark { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.06); }
.jh-footer .jh-footer-intro {
  max-width: 390px;
  margin: 25px 0 0;
  color: rgba(255,255,255,.69);
  font-size: 12px;
  line-height: 1.8;
}
.jh-footer-brand .jh-footer-extra-text {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.48);
  font-size: 10px;
  line-height: 1.8;
}
.jh-footer-socials { gap: 9px; margin-top: 21px; }
.jh-footer-socials a {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff !important;
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .25s var(--jh-ease);
}
.jh-footer-socials a:hover,
.jh-footer-socials a:focus-visible {
  border-color: rgba(235,99,132,.35);
  background: var(--jh-pink);
  color: #fff !important;
  transform: translateY(-2px);
}
.jh-footer-socials svg { width: 18px; height: 18px; }

.jh-footer-menus { gap: clamp(28px, 4vw, 58px); }
.jh-footer h3 {
  margin-bottom: 20px;
  color: #fff;
  font-family: var(--jh-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.jh-footer-menu-group h3::after {
  width: 24px;
  height: 1px;
  display: block;
  margin-top: 10px;
  border-radius: 999px;
  background: var(--jh-pink);
  content: '';
}
.jh-footer ul { gap: 12px; }
.jh-footer li,
.jh-footer li a {
  color: rgba(255,255,255,.66) !important;
  font-size: 11px;
  line-height: 1.5;
}
.jh-footer li a {
  position: relative;
  display: inline-flex;
  padding-block: 2px;
  transition: color .2s ease, transform .22s var(--jh-ease);
}
.jh-footer li a:hover,
.jh-footer li a:focus-visible { color: #fff !important; transform: translateX(3px); }

.jh-footer-newsletter {
  align-self: start;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 50px rgba(0,0,0,.09);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.jh-footer-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--jh-pink);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.jh-footer-newsletter h3 {
  margin-bottom: 11px;
  font-family: var(--jh-serif);
  font-size: clamp(26px, 2.6vw, 36px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.015em;
  text-transform: none;
}
.jh-footer-newsletter p {
  max-width: 420px;
  margin: 0 0 19px;
  color: rgba(255,255,255,.63);
  font-size: 11px;
  line-height: 1.7;
}
.jh-newsletter {
  min-height: 54px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.97);
  transition: box-shadow .22s ease, border-color .22s ease;
}
.jh-newsletter:focus-within { border-color: rgba(235,99,132,.45); box-shadow: 0 0 0 4px rgba(235,99,132,.12); }
.jh-newsletter input {
  padding: 0 16px;
  color: var(--jh-ink);
  font-size: 11px;
}
.jh-newsletter input::placeholder { color: #96898c; }
.jh-newsletter button {
  min-width: 86px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 17px;
  border-radius: 999px;
  background: var(--jh-ink);
  font-size: 9px;
  font-weight: 700;
  transition: background .22s ease, transform .22s var(--jh-ease);
}
.jh-newsletter button:hover { background: var(--jh-pink); transform: translateX(1px); }
.jh-newsletter button span { font-size: 14px; line-height: 1; }
.jh-newsletter-note {
  display: block;
  margin-top: 10px;
  color: rgba(255,255,255,.38);
  font-size: 8px;
  line-height: 1.5;
}

.jh-footer-bottom { border-top: 1px solid rgba(255,255,255,.085); }
.jh-footer-bottom-inner {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.jh-footer-bottom p {
  margin: 0;
  color: rgba(255,255,255,.4);
  font-size: 9px;
  line-height: 1.4;
}
.jh-footer-copyright {
  display: grid;
  gap: 3px;
}
.jh-footer-copyright span {
  display: block;
}
.jh-footer-legal { display: flex; align-items: center; gap: 18px; }
.jh-footer-legal a {
  color: rgba(255,255,255,.48) !important;
  font-size: 9px;
  transition: color .2s ease;
}
.jh-footer-legal a:hover { color: #fff !important; }

@media (max-width: 1260px) {
  .jh-header-row { grid-template-columns: auto minmax(250px, 1fr) minmax(220px, 300px) auto; gap: 16px; }
  .jh-desktop-nav > ul { gap: 16px; }
  .jh-desktop-nav > ul > li > a { font-size: 10px; }
  .jh-header-search > button { min-width: 54px; padding-inline: 11px; }
}

@media (max-width: 1120px) {
  .jh-header-row { grid-template-columns: auto auto minmax(0,1fr) auto; }
  .jh-mobile-nav { display: flex !important; }
  .jh-mobile-nav-layer:not([hidden]) { display: block !important; }
  .jh-header-search { grid-column: 3; }
  .jh-footer-inner { grid-template-columns: minmax(220px,.9fr) minmax(260px,1fr) minmax(300px,1.15fr); gap: 34px; }
}

@media (max-width: 900px) {
  .jh-header { top: 0; }
  .jh-header-row,
  .jh-header.is-scrolled .jh-header-row { min-height: 64px; grid-template-columns: auto 1fr auto; }
  .jh-header-brand-wrap { justify-content: center; }
  .jh-brand { font-size: 21px; }
  .jh-custom-logo img { max-width: 150px; max-height: 38px; }
  .jh-header-actions { gap: 2px; }
  .jh-header-actions > .jh-header-action { width: 38px; height: 38px; min-height: 38px; }
  .jh-header-actions > .jh-header-action:first-child { display: none; }
  .jh-header-actions > .jh-header-action::after { display: none; }
  .jh-mobile-search { padding-bottom: 10px; }
  .jh-mobile-search form { height: 42px; border-radius: 999px; }
  .jh-footer-inner { grid-template-columns: 1fr; gap: 40px; padding-block: 58px 48px; }
  .jh-footer-brand { max-width: 560px; }
  .jh-footer-menus { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
  .jh-footer-newsletter { max-width: 620px; }
}

@media (max-width: 600px) {
  .jh-topbar { min-height: 30px; font-size: 7px; letter-spacing: .13em; }
  .jh-topbar-inner { min-height: 30px; gap: 8px; padding-inline: 7px; }
  .jh-topbar-dot { width: 3px; height: 3px; flex-basis: 3px; box-shadow: 0 0 0 3px rgba(235,99,132,.1); }
  .jh-header-row { gap: 7px; }
  .jh-mobile-menu-toggle { width: 38px !important; height: 38px !important; }
  .jh-header-actions > .jh-header-action { width: 36px; height: 36px; min-height: 36px; }
  .jh-header-actions > .jh-header-action svg { width: 18px; height: 18px; }
  .jh-header-actions .jh-wishlist-trigger { display: none; }
  .jh-mobile-nav { width: min(360px, 94vw); border-radius: 18px 0 0 18px !important; padding-inline: 18px !important; }
  .jh-mobile-nav-head { min-height: 68px; }
  .jh-mobile-nav > ul > li > a { min-height: 49px; font-size: 20px; }
  .jh-mobile-nav-actions { grid-template-columns: 1fr; }
  .jh-footer-inner { padding-block: 48px 40px; }
  .jh-footer-menus { grid-template-columns: 1fr; gap: 30px; }
  .jh-footer-newsletter { padding: 22px 18px; border-radius: 16px; }
  .jh-footer-newsletter h3 { font-size: 29px; }
  .jh-newsletter { min-height: 50px; }
  .jh-newsletter input { min-width: 0; padding-inline: 13px; font-size: 10px; }
  .jh-newsletter button { min-width: 72px; height: 38px; padding-inline: 13px; }
  .jh-footer-bottom-inner { min-height: 70px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; padding-block: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .jh-header,
  .jh-header-row,
  .jh-desktop-nav .sub-menu,
  .jh-mobile-nav-layer,
  .jh-mobile-nav,
  .jh-header-actions > .jh-header-action,
  .jh-footer-socials a,
  .jh-footer li a,
  .jh-newsletter button { transition: none !important; }
}

/* ========================================================================== 
   Reference-style header, announcement & footer — v1.5.4
   ========================================================================== */
.jh-topbar-v154 {
  min-height: 32px;
  border: 0;
  background: var(--jh-topbar-bg);
  color: var(--jh-topbar-text);
  font-family: var(--jh-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: none;
}
.jh-topbar-v154 .jh-topbar-inner { min-height: 32px; gap: 12px; }
.jh-topbar-v154 a { display:inline-flex; align-items:center; gap:5px; color:inherit !important; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.jh-header-v154 {
  --jh-header-border: color-mix(in srgb, var(--jh-header-text) 10%, transparent);
  position: sticky;
  top: 0;
  z-index: 780;
  border-bottom: 1px solid var(--jh-header-border);
  background: color-mix(in srgb, var(--jh-header-bg) 96%, transparent);
  color: var(--jh-header-text);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.jh-header-v154.is-scrolled { box-shadow: 0 10px 30px rgba(42,21,24,.07); }
.jh-header-v154 .jh-header-row {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
}
.jh-header-v154.is-scrolled .jh-header-row { min-height: 64px; }
.jh-header-v154 .jh-header-brand-wrap { justify-self:start; }
.jh-header-v154 .jh-brand { color:var(--jh-header-text)!important; font-family:var(--jh-sans); font-size:clamp(22px,2vw,30px); font-weight:800; letter-spacing:-.055em; text-transform:uppercase; }
.jh-header-v154 .jh-custom-logo img { max-width:185px; max-height:46px; }
.jh-header-v154 .jh-desktop-nav { display:flex; align-items:center; justify-content:center; gap:clamp(16px,2vw,30px); }
.jh-header-v154 .jh-desktop-nav > ul { display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.2vw,36px); }
.jh-header-v154 .jh-desktop-nav > ul > li > a { min-height:72px; display:inline-flex; align-items:center; color:var(--jh-header-text)!important; font-family:var(--jh-sans); font-size:13px; font-weight:600; letter-spacing:0; }
.jh-header-v154.is-scrolled .jh-desktop-nav > ul > li > a { min-height:64px; }
.jh-header-v154 .jh-desktop-nav > ul > li > a::after { bottom:15px; height:2px; background:var(--jh-header-accent); }
.jh-header-v154 .jh-desktop-nav .sub-menu { top:calc(100% + 2px); }
.jh-header-promo { color:var(--jh-header-accent)!important; font-size:13px; font-weight:700; white-space:nowrap; transition:opacity .2s ease,transform .2s ease; }
.jh-header-promo:hover { opacity:.75; transform:translateY(-1px); }
.jh-header-v154 .jh-header-actions { justify-self:end; gap:4px; }
.jh-header-v154 .jh-header-actions > .jh-header-action { width:40px; height:40px; min-height:40px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:var(--jh-header-text)!important; }
.jh-header-v154 .jh-header-actions > .jh-header-action:hover,.jh-header-v154 .jh-header-actions > .jh-header-action:focus-visible { background:color-mix(in srgb,var(--jh-header-accent) 10%,transparent); color:var(--jh-header-accent)!important; }
.jh-header-v154 .jh-header-actions > .jh-header-action::after { display:none; }
.jh-header-v154 .jh-header-actions svg { width:20px; height:20px; }
.jh-header-v154 .jh-wishlist-trigger b,.jh-header-v154 .jh-cart-count { top:-1px; right:-1px; min-width:17px; height:17px; padding:0 4px; background:var(--jh-header-accent); font-size:8px; }

.jh-header-search-panel { border-top:1px solid var(--jh-header-border); background:var(--jh-header-bg); box-shadow:0 16px 30px rgba(42,21,24,.06); }
.jh-header-search-panel[hidden] { display:none!important; }
.jh-header-search-panel .jh-container { padding-block:14px; }
.jh-header-search-panel form { max-width:760px; height:48px; display:flex; align-items:center; gap:10px; margin-inline:auto; padding:0 6px 0 16px; border:1px solid color-mix(in srgb,var(--jh-header-text) 14%,transparent); border-radius:999px; background:#fff; }
.jh-header-search-panel svg { width:18px; height:18px; color:var(--jh-header-text); }
.jh-header-search-panel input { flex:1; min-width:0; border:0!important; outline:0; background:transparent!important; box-shadow:none!important; font-size:12px; color:var(--jh-header-text); }
.jh-header-search-panel button { min-width:84px; height:36px; border:0; border-radius:999px; background:var(--jh-header-accent); color:#fff; font-size:10px; font-weight:700; cursor:pointer; }
.jh-mobile-promo { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding:14px 12px; border-radius:12px; background:var(--jh-pink-soft); color:var(--jh-pink)!important; font-weight:700; }

/* Light editorial footer based on the supplied reference. */
.jh-footer-v154 {
  background:var(--jh-footer-bg)!important;
  color:var(--jh-footer-text)!important;
  background-image:none!important;
  border-top:1px solid color-mix(in srgb,var(--jh-footer-heading) 9%,transparent);
}
.jh-footer-v154::before { display:none; }
.jh-footer-v154 .jh-footer-inner {
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) minmax(150px,.6fr) minmax(150px,.6fr) minmax(310px,1.35fr);
  gap:clamp(34px,5vw,82px);
  padding-block:clamp(48px,6vw,76px);
}
.jh-footer-v154 h3 { margin:0 0 20px; color:var(--jh-footer-heading); font-family:var(--jh-sans); font-size:13px; font-weight:700; letter-spacing:0; text-transform:none; }
.jh-footer-v154 .jh-footer-menu-group h3::after { display:none; }
.jh-footer-v154 p { color:var(--jh-footer-text)!important; font-size:12px; line-height:1.8; }
.jh-footer-v154 .jh-footer-about > p { max-width:390px; margin:0; }
.jh-footer-v154 .jh-footer-extra-text { margin-top:16px; padding-top:14px; border-top:1px solid color-mix(in srgb,var(--jh-footer-heading) 8%,transparent); font-size:10px; }
.jh-footer-v154 ul { gap:12px; }
.jh-footer-v154 li,.jh-footer-v154 li a { color:var(--jh-footer-text)!important; font-size:12px; line-height:1.5; }
.jh-footer-v154 li a:hover,.jh-footer-v154 li a:focus-visible { color:var(--jh-footer-accent)!important; transform:none; }
.jh-footer-v154 .jh-footer-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.jh-footer-v154 .jh-footer-socials a { width:34px; height:34px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--jh-footer-heading) 38%,transparent); border-radius:50%; background:transparent; color:var(--jh-footer-heading)!important; }
.jh-footer-v154 .jh-footer-socials a:hover,.jh-footer-v154 .jh-footer-socials a:focus-visible { border-color:var(--jh-footer-accent); background:var(--jh-footer-accent); color:#fff!important; transform:translateY(-2px); }
.jh-footer-v154 .jh-footer-socials svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; }
.jh-footer-v154 .jh-footer-newsletter { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.jh-footer-v154 .jh-footer-newsletter h3 { margin-bottom:18px; }
.jh-footer-v154 .jh-footer-newsletter p { max-width:430px; margin:0 0 20px; }
.jh-footer-v154 .jh-newsletter { min-height:46px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:0; overflow:visible; border:0; border-radius:0; background:transparent; }
.jh-footer-v154 .jh-newsletter:focus-within { box-shadow:none; }
.jh-footer-v154 .jh-newsletter input { min-width:0; height:46px; padding:0 16px; border:1px solid color-mix(in srgb,var(--jh-footer-heading) 12%,transparent)!important; border-radius:999px; background:#fff!important; color:var(--jh-footer-heading); font-size:10px; box-shadow:none!important; }
.jh-footer-v154 .jh-newsletter input:focus { border-color:color-mix(in srgb,var(--jh-footer-accent) 50%,transparent)!important; outline:3px solid color-mix(in srgb,var(--jh-footer-accent) 12%,transparent); }
.jh-footer-v154 .jh-newsletter button { min-width:138px; height:46px; padding:0 24px; border:0; border-radius:999px; background:var(--jh-footer-accent); color:#fff; font-size:10px; font-weight:800; text-transform:uppercase; cursor:pointer; }
.jh-footer-v154 .jh-newsletter button:hover { filter:brightness(.93); transform:translateY(-1px); }
.jh-newsletter-message { margin-bottom:12px; padding:10px 13px; border-radius:10px; font-size:10px; }
.jh-newsletter-message.is-success { background:color-mix(in srgb,var(--jh-footer-accent) 10%,#fff); color:var(--jh-footer-heading); }
.jh-newsletter-message.is-error { background:#fff0f0; color:#8c2d2d; }
.jh-footer-v154 .jh-footer-bottom { border-top:1px solid color-mix(in srgb,var(--jh-footer-heading) 8%,transparent); }
.jh-footer-v154 .jh-footer-bottom-inner { min-height:54px; }
.jh-footer-v154 .jh-footer-bottom p,.jh-footer-v154 .jh-footer-legal a { color:var(--jh-footer-text)!important; font-size:9px; }
.jh-footer-v154 .jh-footer-legal a:hover { color:var(--jh-footer-accent)!important; }

@media (max-width:1120px) {
  .jh-header-v154 .jh-header-row { grid-template-columns:auto 1fr auto; gap:16px; }
  .jh-header-v154 .jh-desktop-nav { display:none; }
  .jh-header-v154 .jh-header-brand-wrap { justify-self:center; }
  .jh-header-v154 .jh-mobile-menu-toggle { display:grid; }
  .jh-footer-v154 .jh-footer-inner { grid-template-columns:1.2fr .7fr .7fr; }
  .jh-footer-v154 .jh-footer-newsletter { grid-column:1 / -1; max-width:680px; }
}
@media (min-width:1121px) { .jh-header-v154 .jh-mobile-menu-toggle { display:none!important; } }
@media (max-width:760px) {
  .jh-topbar-v154 .jh-topbar-inner { flex-wrap:wrap; padding-block:7px; line-height:1.35; }
  .jh-header-v154 .jh-header-row,.jh-header-v154.is-scrolled .jh-header-row { min-height:60px; }
  .jh-header-v154 .jh-brand { font-size:20px; }
  .jh-header-v154 .jh-header-actions > .jh-header-action { width:36px; height:36px; min-height:36px; }
  .jh-header-v154 .jh-header-actions > .jh-header-action:nth-child(2),.jh-header-v154 .jh-header-actions .jh-wishlist-trigger { display:none; }
  .jh-header-search-panel form { height:44px; }
  .jh-header-search-panel button { min-width:70px; }
  .jh-footer-v154 .jh-footer-inner { grid-template-columns:1fr 1fr; gap:34px 24px; padding-block:46px; }
  .jh-footer-v154 .jh-footer-about,.jh-footer-v154 .jh-footer-newsletter { grid-column:1 / -1; }
  .jh-footer-v154 .jh-newsletter { grid-template-columns:1fr; }
  .jh-footer-v154 .jh-newsletter button { width:100%; }
}
@media (max-width:480px) {
  .jh-footer-v154 .jh-footer-inner { grid-template-columns:1fr; }
  .jh-footer-v154 .jh-footer-about,.jh-footer-v154 .jh-footer-newsletter { grid-column:auto; }
  .jh-footer-v154 .jh-footer-bottom-inner { align-items:flex-start; }
}

/* ================================================================
   Catalog experience v1.5.5 — shop, categories, tags and search
   ================================================================ */
body.jh-site.jh-catalog-context .jh-main { background: linear-gradient(180deg, var(--jh-soft) 0, var(--jh-cream) 520px, var(--jh-cream) 100%); }
body.jh-site.jh-catalog-context .jh-shop-hero { padding: clamp(34px, 5vw, 62px) 0 clamp(30px, 4vw, 50px); border-bottom: 1px solid color-mix(in srgb, var(--jh-line) 80%, transparent); background: linear-gradient(135deg, color-mix(in srgb, var(--jh-pink-soft) 76%, #fff) 0%, #fff 52%, color-mix(in srgb, var(--jh-cream) 86%, #fff) 100%); text-align: left; }
body.jh-site.jh-catalog-context .jh-shop-hero .jh-container { max-width: var(--jh-container); }
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb { margin-bottom: 22px; }
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb .woocommerce-breadcrumb { margin: 0; color: var(--jh-muted); font-size: 11px; line-height: 1.4; }
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb a { color: var(--jh-ink); transition: color .2s ease; }
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb a:hover { color: var(--jh-pink); }
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb span { display: inline-block; margin: 0 8px; opacity: .45; }
body.jh-site.jh-catalog-context .jh-shop-hero .jh-kicker { margin-bottom: 9px; color: var(--jh-pink); }
body.jh-site.jh-catalog-context .jh-shop-hero h1 { max-width: 920px; margin: 0; font-size: clamp(38px, 5vw, 66px); line-height: .98; letter-spacing: -.025em; }
body.jh-site.jh-catalog-context .jh-shop-description { max-width: 720px; margin-top: 15px; color: var(--jh-muted); font-size: 13px; line-height: 1.75; }
body.jh-site.jh-catalog-context .jh-shop-description:empty { display: none; }
body.jh-site.jh-catalog-context .jh-shop-description p:last-child { margin-bottom: 0; }

body.jh-site.jh-catalog-context .jh-catalog-wrap { display: grid; grid-template-columns: minmax(250px, 278px) minmax(0, 1fr); gap: clamp(28px, 3.5vw, 52px); padding-top: clamp(32px, 4vw, 50px); padding-bottom: clamp(70px, 8vw, 120px); }
body.jh-site.jh-catalog-context .jh-catalog-products { min-width: 0; }

/* Filter panel */
body.jh-site.jh-catalog-context .jh-catalog-sidebar { position: sticky; top: 112px; align-self: start; max-height: calc(100vh - 136px); overflow: auto; padding: 20px 20px 22px; border: 1px solid color-mix(in srgb, var(--jh-line) 84%, transparent); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 16px 50px rgba(42,21,24,.055); scrollbar-width: thin; scrollbar-color: var(--jh-line) transparent; backdrop-filter: blur(12px); }
body.jh-site.jh-catalog-context .jh-filter-panel-head { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 2px 2px 18px; border-bottom: 1px solid var(--jh-line); }
body.jh-site.jh-catalog-context .jh-filter-panel-head > div { display: grid; gap: 3px; }
body.jh-site.jh-catalog-context .jh-filter-eyebrow { color: var(--jh-muted); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
body.jh-site.jh-catalog-context .jh-filter-panel-head strong { display: flex; align-items: center; gap: 8px; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 18px; font-weight: 700; }
body.jh-site.jh-catalog-context .jh-filter-panel-head strong b { min-width: 22px; height: 22px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--jh-pink-soft); color: var(--jh-pink); font-size: 10px; }
body.jh-site.jh-catalog-context .jh-filter-clear-top { color: var(--jh-muted) !important; font-size: 10px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
body.jh-site.jh-catalog-context .jh-filter-clear-top:hover { color: var(--jh-pink) !important; }
body.jh-site.jh-catalog-context .jh-filter-close { display: none; }
body.jh-site.jh-catalog-context .jh-catalog-filter-form { display: block; }
body.jh-site.jh-catalog-context .jh-filter-group { margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--jh-line); }
body.jh-site.jh-catalog-context .jh-filter-group + .jh-filter-group { padding-top: 0; }
body.jh-site.jh-catalog-context .jh-filter-group-toggle { width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0; border: 0; background: transparent; color: var(--jh-ink); font-family: var(--jh-sans); font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; }
body.jh-site.jh-catalog-context .jh-filter-toggle-icon { position: relative; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; transition: background .2s ease; }
body.jh-site.jh-catalog-context .jh-filter-toggle-icon::before,
body.jh-site.jh-catalog-context .jh-filter-toggle-icon::after { position: absolute; top: 50%; left: 50%; width: 9px; height: 1px; background: currentColor; content: ''; transform: translate(-50%,-50%); transition: transform .25s ease, opacity .25s ease; }
body.jh-site.jh-catalog-context .jh-filter-toggle-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
body.jh-site.jh-catalog-context .jh-filter-group.is-open .jh-filter-toggle-icon::after { opacity: 0; transform: translate(-50%,-50%) rotate(0); }
body.jh-site.jh-catalog-context .jh-filter-group-toggle:hover .jh-filter-toggle-icon { background: var(--jh-pink-soft); color: var(--jh-pink); }
body.jh-site.jh-catalog-context .jh-filter-group-body { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .3s cubic-bezier(.2,.7,.2,1), opacity .22s ease; }
body.jh-site.jh-catalog-context .jh-filter-group-body > * { min-height: 0; overflow: hidden; }
body.jh-site.jh-catalog-context .jh-filter-group.is-open .jh-filter-group-body { grid-template-rows: 1fr; opacity: 1; }
body.jh-site.jh-catalog-context .jh-filter-options,
body.jh-site.jh-catalog-context .jh-category-filter-links { display: grid; gap: 4px; padding: 0 0 18px; }
body.jh-site.jh-catalog-context .jh-filter-option { position: relative; min-height: 36px; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 9px; color: var(--jh-muted); cursor: pointer; transition: background .2s ease, color .2s ease; }
body.jh-site.jh-catalog-context .jh-filter-option:hover { background: var(--jh-soft); color: var(--jh-ink); }
body.jh-site.jh-catalog-context .jh-filter-option input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
body.jh-site.jh-catalog-context .jh-filter-check { width: 17px; height: 17px; display: grid; place-items: center; border: 1px solid #cfc6c8; border-radius: 5px; background: #fff; box-shadow: inset 0 0 0 2px #fff; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
body.jh-site.jh-catalog-context .jh-filter-check::after { width: 5px; height: 8px; border: solid #fff; border-width: 0 1.7px 1.7px 0; content: ''; opacity: 0; transform: translateY(-1px) rotate(45deg) scale(.65); transition: opacity .15s ease, transform .18s ease; }
body.jh-site.jh-catalog-context .jh-filter-option input:checked + .jh-filter-check { border-color: var(--jh-pink); background: var(--jh-pink); box-shadow: inset 0 0 0 1px var(--jh-pink); }
body.jh-site.jh-catalog-context .jh-filter-option input:checked + .jh-filter-check::after { opacity: 1; transform: translateY(-1px) rotate(45deg) scale(1); }
body.jh-site.jh-catalog-context .jh-filter-option input:focus-visible + .jh-filter-check { outline: 3px solid color-mix(in srgb, var(--jh-pink) 18%, transparent); outline-offset: 2px; }
body.jh-site.jh-catalog-context .jh-filter-option-label { min-width: 0; overflow: hidden; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
body.jh-site.jh-catalog-context .jh-filter-option small,
body.jh-site.jh-catalog-context .jh-category-filter-links small { min-width: 24px; padding: 3px 6px; border-radius: 999px; background: #f6f2f3; color: var(--jh-muted); font-size: 9px; text-align: center; }
body.jh-site.jh-catalog-context .jh-category-filter-links a { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-radius: 9px; color: var(--jh-muted) !important; font-size: 11px; font-weight: 500; transition: background .2s ease, color .2s ease, padding .2s ease; }
body.jh-site.jh-catalog-context .jh-category-filter-links a:hover { padding-left: 11px; background: var(--jh-soft); color: var(--jh-ink) !important; }
body.jh-site.jh-catalog-context .jh-category-filter-links a.is-current { background: var(--jh-pink-soft); color: var(--jh-pink) !important; font-weight: 700; }
body.jh-site.jh-catalog-context .jh-category-filter-links a.is-current small { background: #fff; color: var(--jh-pink); }

body.jh-site.jh-catalog-context .jh-price-inputs { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 7px; align-items: center; padding: 0 0 20px; }
body.jh-site.jh-catalog-context .jh-price-inputs label { min-width: 0; height: 42px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 5px; padding: 0 10px; border: 1px solid var(--jh-line); border-radius: 10px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
body.jh-site.jh-catalog-context .jh-price-inputs label:focus-within { border-color: color-mix(in srgb, var(--jh-pink) 55%, var(--jh-line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jh-pink) 10%, transparent); }
body.jh-site.jh-catalog-context .jh-price-inputs label > span { color: var(--jh-muted); font-size: 10px; }
body.jh-site.jh-catalog-context .jh-price-inputs input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; color: var(--jh-ink); font-size: 10px; }
body.jh-site.jh-catalog-context .jh-price-separator { color: #a99da0; font-size: 11px; }
body.jh-site.jh-catalog-context .jh-filter-actions { position: sticky; bottom: -22px; z-index: 2; display: grid; gap: 9px; margin-inline: -20px; padding: 16px 20px 20px; border-top: 1px solid color-mix(in srgb, var(--jh-line) 70%, transparent); background: linear-gradient(180deg, rgba(255,255,255,.94), #fff 34%); }
body.jh-site.jh-catalog-context .jh-filter-actions .jh-button { min-height: 44px; border-radius: 11px; box-shadow: 0 9px 22px rgba(235,99,132,.16); font-size: 10px; letter-spacing: .03em; }
body.jh-site.jh-catalog-context .jh-filter-actions > a { color: var(--jh-muted) !important; font-size: 9px; font-weight: 600; text-align: center; text-decoration: none !important; }
body.jh-site.jh-catalog-context .jh-filter-actions > a:hover { color: var(--jh-pink) !important; }

/* Optional featured products inside the filters */
body.jh-site.jh-catalog-context .jh-filter-featured { margin-top: 22px; padding: 18px 2px 0; border-top: 1px solid var(--jh-line); }
body.jh-site.jh-catalog-context .jh-filter-featured h3 { margin-bottom: 18px; font-size: 12px; }
body.jh-site.jh-catalog-context .jh-filter-featured-list { gap: 14px; }
body.jh-site.jh-catalog-context .jh-filter-featured-list > a { grid-template-columns: 54px minmax(0,1fr); gap: 10px; align-items: center; padding: 7px; border-radius: 11px; transition: background .2s ease, transform .2s ease; }
body.jh-site.jh-catalog-context .jh-filter-featured-list > a:hover { background: var(--jh-soft); transform: translateX(2px); }
body.jh-site.jh-catalog-context .jh-filter-featured img { width: 54px; height: 54px; border-radius: 9px; }
body.jh-site.jh-catalog-context .jh-filter-featured strong { font-size: 10px; }
body.jh-site.jh-catalog-context .jh-filter-featured-price { font-size: 11px; }

/* Toolbar */
body.jh-site.jh-catalog-context .jh-catalog-toolbar { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; padding: 10px 12px 10px 16px; border: 1px solid color-mix(in srgb, var(--jh-line) 85%, transparent); border-radius: 14px; background: rgba(255,255,255,.9); box-shadow: 0 8px 26px rgba(42,21,24,.035); }
body.jh-site.jh-catalog-context .jh-catalog-toolbar-start,
body.jh-site.jh-catalog-context .jh-catalog-toolbar-end { display: flex; align-items: center; gap: 12px; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar .woocommerce-result-count { margin: 0; color: var(--jh-muted); font-size: 10px; font-weight: 500; }
body.jh-site.jh-catalog-context .jh-sort-label { color: var(--jh-muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar .woocommerce-ordering { margin: 0; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar select { min-width: 172px; min-height: 40px; padding: 0 38px 0 13px; border: 1px solid var(--jh-line); border-radius: 10px; outline: 0; background-color: #fff; color: var(--jh-ink); font-size: 10px; font-weight: 600; transition: border-color .2s ease, box-shadow .2s ease; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar select:focus { border-color: color-mix(in srgb, var(--jh-pink) 50%, var(--jh-line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--jh-pink) 9%, transparent); }
body.jh-site.jh-catalog-context .jh-filter-mobile-button { display: none; }

/* Active filters */
body.jh-site.jh-catalog-context .jh-active-filters { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 22px; }
body.jh-site.jh-catalog-context .jh-active-filters-label { padding-top: 8px; color: var(--jh-muted); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.jh-site.jh-catalog-context .jh-active-filter-list { display: flex; flex-wrap: wrap; gap: 7px; }
body.jh-site.jh-catalog-context .jh-active-filter-list > a { min-height: 32px; display: inline-flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--jh-line); border-radius: 999px; background: #fff; color: var(--jh-ink) !important; font-size: 9px; font-weight: 600; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
body.jh-site.jh-catalog-context .jh-active-filter-list > a:hover { border-color: color-mix(in srgb, var(--jh-pink) 45%, var(--jh-line)); color: var(--jh-pink) !important; transform: translateY(-1px); }
body.jh-site.jh-catalog-context .jh-active-filter-list b { font-size: 14px; font-weight: 400; line-height: 1; }
body.jh-site.jh-catalog-context .jh-active-filter-list .jh-active-filter-clear { border-color: transparent; background: transparent; color: var(--jh-muted) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* Product grid and cards */
body.jh-site.jh-catalog-context .jh-catalog-products ul.products { gap: clamp(26px, 3vw, 38px) clamp(13px, 2vw, 22px) !important; }
body.jh-site.jh-catalog-context .jh-product-card { display: flex; flex-direction: column; min-width: 0; }
body.jh-site.jh-catalog-context .jh-product-card .jh-product-media { position: relative; overflow: hidden; border: 1px solid color-mix(in srgb, var(--jh-line) 68%, transparent); border-radius: 16px; background: #f6f7f6; box-shadow: 0 8px 26px rgba(42,21,24,.028); transition: border-color .3s ease, box-shadow .3s ease, transform .3s cubic-bezier(.2,.75,.2,1); }
body.jh-site.jh-catalog-context .jh-product-card:hover .jh-product-media { border-color: color-mix(in srgb, var(--jh-pink) 32%, var(--jh-line)); box-shadow: 0 18px 44px rgba(42,21,24,.08); transform: translateY(-3px); }
body.jh-site.jh-catalog-context .jh-product-card .jh-product-media > a { display: block; }
body.jh-site.jh-catalog-context .jh-product-card .jh-product-media img { width: 100%; aspect-ratio: 1 / 1.04; object-fit: cover; transition: transform .55s cubic-bezier(.2,.75,.2,1), opacity .35s ease; }
body.jh-site.jh-catalog-context .jh-product-card:hover .jh-product-media > a > img:first-child { transform: scale(1.035); }
body.jh-site.jh-catalog-context .jh-card-badges { top: 12px; left: 12px; }
body.jh-site.jh-catalog-context .jh-card-badges span { min-height: 26px; display: inline-flex; align-items: center; padding: 0 9px; border-radius: 999px; box-shadow: 0 6px 16px rgba(235,99,132,.18); font-size: 9px; }
body.jh-site.jh-catalog-context .jh-card-wishlist { top: 12px; right: 12px; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.75); background: rgba(255,255,255,.92); box-shadow: 0 6px 18px rgba(42,21,24,.08); backdrop-filter: blur(8px); }
body.jh-site.jh-catalog-context .jh-product-copy { display: grid; gap: 7px; padding: 14px 2px 0; }
body.jh-site.jh-catalog-context .jh-product-copy h3 { min-height: 2.5em; display: -webkit-box; overflow: hidden; font-family: var(--jh-serif); font-size: clamp(15px, 1.2vw, 18px); font-weight: 600; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.jh-site.jh-catalog-context .jh-card-rating { min-height: 13px; }
body.jh-site.jh-catalog-context .jh-card-rating .star-rating { float: none; margin: 0; color: #ee9e4e; font-size: 11px; }
body.jh-site.jh-catalog-context .jh-card-price { min-height: 22px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; color: var(--jh-pink); font-size: 12px; font-weight: 700; }
body.jh-site.jh-catalog-context .jh-card-price del { color: #a69b9e; font-size: 10px; font-weight: 500; opacity: 1; }
body.jh-site.jh-catalog-context .jh-card-price ins { color: var(--jh-pink); text-decoration: none; }
body.jh-site.jh-catalog-context .jh-card-add { width: 100%; min-height: 42px; display: inline-flex !important; align-items: center; justify-content: center; margin-top: 12px; border: 1px solid color-mix(in srgb, var(--jh-pink) 65%, var(--jh-line)) !important; border-radius: 11px !important; background: transparent !important; color: var(--jh-pink) !important; font-size: 9px !important; font-weight: 700 !important; letter-spacing: .04em; text-transform: uppercase; opacity: 1; transform: none; transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
body.jh-site.jh-catalog-context .jh-card-add:hover { background: var(--jh-pink) !important; color: #fff !important; box-shadow: 0 10px 22px rgba(235,99,132,.18); transform: translateY(-1px); }

/* Notices / pagination / empty state */
body.jh-site.jh-catalog-context .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 18px; }
body.jh-site.jh-catalog-context .woocommerce-message,
body.jh-site.jh-catalog-context .woocommerce-info,
body.jh-site.jh-catalog-context .woocommerce-error { border: 1px solid var(--jh-line); border-top: 0; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(42,21,24,.04); }
body.jh-site.jh-catalog-context nav.woocommerce-pagination { margin-top: 58px; }
body.jh-site.jh-catalog-context nav.woocommerce-pagination ul { gap: 8px; }
body.jh-site.jh-catalog-context nav.woocommerce-pagination a,
body.jh-site.jh-catalog-context nav.woocommerce-pagination span { min-width: 40px; height: 40px; border-radius: 11px; background: #fff; font-size: 10px; font-weight: 600; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
body.jh-site.jh-catalog-context nav.woocommerce-pagination a:hover { border-color: var(--jh-pink); color: var(--jh-pink); transform: translateY(-1px); }
body.jh-site.jh-catalog-context nav.woocommerce-pagination .current { border-color: var(--jh-pink); background: var(--jh-pink); box-shadow: 0 8px 20px rgba(235,99,132,.17); color: #fff; }
body.jh-site.jh-catalog-context .jh-catalog-empty { min-height: 420px; display: grid; place-items: center; align-content: center; gap: 12px; padding: 50px 24px; border: 1px dashed color-mix(in srgb, var(--jh-line) 88%, transparent); border-radius: 18px; background: rgba(255,255,255,.7); text-align: center; }
body.jh-site.jh-catalog-context .jh-catalog-empty-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 4px; border-radius: 50%; background: var(--jh-pink-soft); color: var(--jh-pink); font-family: var(--jh-serif); font-size: 30px; }
body.jh-site.jh-catalog-context .jh-catalog-empty h2 { font-size: 34px; }
body.jh-site.jh-catalog-context .jh-catalog-empty p { max-width: 460px; margin: 0 0 8px; color: var(--jh-muted); font-size: 12px; }

@media (max-width: 1100px) {
  body.jh-site.jh-catalog-context .jh-catalog-wrap { grid-template-columns: 220px minmax(0,1fr); gap: 28px; }
  body.jh-site.jh-catalog-context .jh-catalog-sidebar { padding-inline: 16px; }
  body.jh-site.jh-catalog-context .jh-filter-actions { margin-inline: -16px; padding-inline: 16px; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar { padding-left: 12px; }
  body.jh-site.jh-catalog-context .jh-sort-label { display: none; }
}

@media (max-width: 900px) {
  body.jh-site.jh-catalog-context .jh-shop-hero { padding-block: 34px 30px; }
  body.jh-site.jh-catalog-context .jh-shop-hero h1 { font-size: clamp(34px, 7vw, 50px); }
  body.jh-site.jh-catalog-context .jh-catalog-wrap { display: block; padding-top: 26px; }
  body.jh-site.jh-catalog-context .jh-catalog-sidebar { position: fixed !important; z-index: 1010; top: 0 !important; left: 0; width: min(390px, 92vw); height: 100dvh; max-height: none; overflow-y: auto; padding: 0 20px 24px; border: 0; border-radius: 0 20px 20px 0; background: #fff; box-shadow: 30px 0 70px rgba(42,21,24,.16); transform: translateX(-105%); transition: transform .32s cubic-bezier(.2,.75,.2,1); backdrop-filter: none; }
  body.jh-site.jh-catalog-context .jh-catalog-sidebar.is-open { transform: translateX(0); }
  body.jh-site.jh-catalog-context .jh-filter-panel-head { position: sticky; top: 0; z-index: 6; grid-template-columns: 1fr auto auto; margin-inline: -20px; padding: 18px 20px; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); }
  body.jh-site.jh-catalog-context .jh-filter-clear-top { display: block; }
  body.jh-site.jh-catalog-context .jh-filter-close { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid var(--jh-line); border-radius: 50%; background: #fff; color: var(--jh-ink); cursor: pointer; }
  body.jh-site.jh-catalog-context .jh-filter-close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  body.jh-site.jh-catalog-context .jh-filter-actions { bottom: -24px; margin-inline: -20px; padding-inline: 20px; }
  body.jh-site.jh-catalog-context .jh-filter-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(32,20,23,.42); backdrop-filter: blur(3px); }
  body.jh-site.jh-catalog-context .jh-filter-mobile-button { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--jh-line); border-radius: 10px; background: #fff; color: var(--jh-ink); font-size: 10px; font-weight: 700; cursor: pointer; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-button b { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 999px; background: var(--jh-pink); color: #fff; font-size: 9px; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-icon { width: 16px; display: grid; gap: 3px; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-icon i { height: 1px; display: block; background: currentColor; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-icon i:nth-child(1) { width: 16px; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-icon i:nth-child(2) { width: 11px; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-icon i:nth-child(3) { width: 7px; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar-start { gap: 10px; }
}

@media (max-width: 700px) {
  body.jh-site.jh-catalog-context .jh-catalog-breadcrumb { margin-bottom: 16px; }
  body.jh-site.jh-catalog-context .jh-shop-description { font-size: 11px; }
  body.jh-site.jh-catalog-context .jh-catalog-wrap { padding-bottom: 72px; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar { min-height: auto; align-items: stretch; gap: 9px; padding: 9px; border-radius: 12px; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar-start { flex: 1 1 auto; min-width: 0; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar .woocommerce-result-count { display: none; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar-end { flex: 0 1 48%; min-width: 126px; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar .woocommerce-ordering { width: 100%; }
  body.jh-site.jh-catalog-context .jh-catalog-toolbar select { width: 100%; min-width: 0; max-width: none; min-height: 40px; }
  body.jh-site.jh-catalog-context .jh-filter-mobile-button { width: 100%; justify-content: center; }
  body.jh-site.jh-catalog-context .jh-active-filters { display: block; overflow: hidden; margin-bottom: 18px; }
  body.jh-site.jh-catalog-context .jh-active-filters-label { display: block; margin-bottom: 8px; padding-top: 0; }
  body.jh-site.jh-catalog-context .jh-active-filter-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  body.jh-site.jh-catalog-context .jh-active-filter-list::-webkit-scrollbar { display: none; }
  body.jh-site.jh-catalog-context .jh-active-filter-list > a { flex: 0 0 auto; }
  body.jh-site.jh-catalog-context .jh-catalog-products ul.products { gap: 26px 11px !important; }
  body.jh-site.jh-catalog-context .jh-product-card .jh-product-media { border-radius: 13px; }
  body.jh-site.jh-catalog-context .jh-product-card .jh-product-copy { padding-top: 10px; gap: 5px; }
  body.jh-site.jh-catalog-context .jh-product-copy h3 { min-height: 2.45em; font-size: 14px; }
  body.jh-site.jh-catalog-context .jh-card-add { min-height: 38px; margin-top: 9px; font-size: 8px !important; }
  body.jh-site.jh-catalog-context nav.woocommerce-pagination { margin-top: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  body.jh-site.jh-catalog-context .jh-filter-group-body,
  body.jh-site.jh-catalog-context .jh-catalog-sidebar,
  body.jh-site.jh-catalog-context .jh-product-card .jh-product-media,
  body.jh-site.jh-catalog-context .jh-product-card .jh-product-media img { transition: none !important; }
}

/* Jost typography polish */
body.jh-site {
  font-family: var(--jh-sans);
  font-size: 14px;
  line-height: 1.6;
}

body.jh-site h1,
body.jh-site h2,
body.jh-site h3,
body.jh-site h4,
.jh-brand,
.jh-cart-line-copy strong,
.jh-category-card-copy strong,
.jh-testimonial > p,
.jh-shop-hero h1,
.jh-mobile-nav-head > span,
.jh-filter-mobile-head strong,
body.jh-site.single-product .summary .product_title,
body.jh-site.woocommerce-cart .woocommerce-cart-form td.product-name a,
body.jh-site.woocommerce-cart .cart-collaterals .cart_totals h2,
body.jh-site.woocommerce-account .woocommerce-MyAccount-content h2,
body.jh-site.woocommerce-account .woocommerce-MyAccount-content h3,
body.jh-site.jh-catalog-context .jh-product-copy h3 {
  font-family: var(--jh-sans) !important;
  letter-spacing: 0 !important;
}

body.jh-site h1,
body.jh-site h2,
.jh-wide-banner h2,
.jh-centered-heading h2,
.jh-support h2,
.jh-category-section-head h2,
.jh-shop-hero h1,
.jh-content-header h1,
.jh-empty-results h2,
.jh-not-found h1,
body.jh-site.single-product section.related > h2,
body.jh-site.jh-catalog-context .jh-shop-hero h1 {
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.jh-kicker,
.jh-section-head > a,
.jh-category-section-head > a {
  color: var(--jh-pink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}

.jh-hero-copy h1 {
  max-width: 610px;
  margin-bottom: 18px;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 800 !important;
  line-height: 1.06 !important;
}

.jh-hero-copy p {
  max-width: 500px;
  font-size: 15px;
  line-height: 1.6;
}

.jh-hero-copy h2 {
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 800 !important;
  line-height: 1.08 !important;
}

.jh-wide-banner h2 {
  font-size: clamp(30px, 3vw, 44px);
}

.jh-centered-heading h2,
.jh-support h2 {
  font-size: clamp(30px, 3.2vw, 44px);
}

.jh-category-section-head h2 {
  font-size: clamp(28px, 3vw, 42px);
}

.jh-centered-heading p,
.jh-support-actions small,
.jh-footer p,
.jh-permanent-copy > p,
.jh-wide-banner p,
body.jh-site.single-product .summary .woocommerce-product-details__short-description {
  font-size: 13px;
  line-height: 1.65;
}

.jh-product-copy h3,
body.jh-site.jh-catalog-context .jh-product-copy h3 {
  font-size: 15px;
  font-weight: 800 !important;
  line-height: 1.28;
}

.jh-category-card-copy strong {
  font-size: 18px;
  font-weight: 700 !important;
  line-height: 1.2;
}

body.jh-site.single-product .summary .product_title {
  font-size: clamp(30px, 3.2vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.jh-footer h3,
.jh-footer-v154 h3 {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 800;
}

.jh-footer li,
.jh-footer a {
  font-size: 14px;
}

@media (max-width: 700px) {
  .jh-hero-copy h1 {
    font-size: clamp(34px, 10vw, 48px);
    line-height: 1.08 !important;
  }

  .jh-hero-copy h2,
  .jh-wide-banner h2,
  .jh-centered-heading h2,
  .jh-support h2 {
    font-size: clamp(28px, 8vw, 38px);
    line-height: 1.12 !important;
  }

  body.jh-site.single-product .summary .product_title {
    font-size: clamp(28px, 9vw, 38px) !important;
  }
}


/* ================================================================
   Jewel Habibi Design System v1.6.0
   Neutral Umino-inspired hierarchy + pink brand accents
   ================================================================ */
body.jh-site {
  color: var(--jh-text);
  background: var(--jh-bg);
  font-family: var(--jh-sans);
  font-size: var(--jh-body-size);
  font-weight: var(--jh-body-weight);
  line-height: var(--jh-body-lh);
  letter-spacing: 0;
}
body.jh-site h1,
body.jh-site h2,
body.jh-site h3,
body.jh-site h4,
body.jh-site h5,
body.jh-site h6 {
  color: var(--jh-heading);
  font-family: var(--jh-serif) !important;
  font-weight: var(--jh-heading-weight) !important;
  line-height: var(--jh-heading-lh) !important;
  letter-spacing: -.015em !important;
}
body.jh-site h1 { font-size: clamp(36px, 4.2vw, var(--jh-h1-size)); }
body.jh-site h2 { font-size: clamp(28px, 3vw, var(--jh-h2-size)); }
body.jh-site h3 { font-size: clamp(18px, 2vw, 24px); }
body.jh-site p, body.jh-site li { color: var(--jh-text); }
body.jh-site small, body.jh-site .jh-muted { color: var(--jh-muted); }
body.jh-site a { transition: color .2s ease, opacity .2s ease, border-color .2s ease, background-color .2s ease; }
body.jh-site a:hover { color: var(--jh-brand); }
body.jh-site ::selection { background: var(--jh-brand); color: #fff; }

/* Brand color is intentionally reserved for interactive emphasis. */
.jh-kicker,
.jh-section-head > a,
.jh-category-section-head > a,
.jh-shop-hero .jh-kicker,
.jh-card-price,
.jh-single-sale-badge,
.jh-header-promo,
.woocommerce .star-rating,
.woocommerce p.stars a,
.jh-filter-featured-price { color: var(--jh-brand) !important; }

/* Umino-like button hierarchy: compact, confident and not overly rounded. */
.jh-button,
body.jh-site .button,
body.jh-site button.button,
body.jh-site input.button,
body.jh-site .woocommerce a.button {
  min-height: 44px;
  padding-inline: 24px;
  border-radius: var(--jh-radius-sm);
  font-family: var(--jh-sans);
  font-size: var(--jh-button-size) !important;
  font-weight: var(--jh-button-weight) !important;
  line-height: 1;
  letter-spacing: .025em;
  text-transform: none;
}
.jh-button-dark,
.jh-button-pink,
body.jh-site .button.alt,
body.jh-site button.button.alt,
body.jh-site .single_add_to_cart_button,
body.jh-site .checkout-button {
  background: var(--jh-brand) !important;
  border-color: var(--jh-brand) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.jh-button-dark:hover,
.jh-button-pink:hover,
body.jh-site .button.alt:hover,
body.jh-site button.button.alt:hover,
body.jh-site .single_add_to_cart_button:hover,
body.jh-site .checkout-button:hover { background: var(--jh-brand-hover) !important; border-color: var(--jh-brand-hover) !important; }

/* Forms use white surfaces, subtle gray borders, pink only for focus/active state. */
body.jh-site input:not([type="checkbox"]):not([type="radio"]),
body.jh-site select,
body.jh-site textarea {
  border-color: var(--jh-border) !important;
  border-radius: var(--jh-radius-sm);
  background: var(--jh-surface) !important;
  color: var(--jh-heading);
  box-shadow: none !important;
}
body.jh-site input:focus,
body.jh-site select:focus,
body.jh-site textarea:focus {
  border-color: var(--jh-brand) !important;
  outline: 3px solid color-mix(in srgb, var(--jh-brand) 10%, transparent);
  outline-offset: 0;
}

/* Header: white, black navigation, subtle divider; pink for promo/active cues only. */
.jh-topbar-v154 { min-height: 34px; font-size: 10px; font-weight: 500; letter-spacing: .04em; text-transform: none; }
.jh-topbar-v154 .jh-topbar-inner { justify-content: center; gap: 16px; }
.jh-topbar-v154 a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.jh-header-v154 { background: var(--jh-header-bg, var(--jh-bg)) !important; border-bottom: 1px solid var(--jh-border); box-shadow: none; }
.jh-header-v154 .jh-header-row { min-height: 72px; }
.jh-header-v154 .jh-brand { color: var(--jh-heading) !important; font-size: 25px; font-weight: 700 !important; letter-spacing: -.035em !important; }
.jh-header-v154 .jh-desktop-nav > ul { gap: clamp(24px, 2.5vw, 38px); }
.jh-header-v154 .jh-desktop-nav a {
  color: var(--jh-header-text, var(--jh-heading)) !important;
  font-size: var(--jh-menu-size);
  font-weight: var(--jh-menu-weight);
  line-height: 1.4;
}
.jh-header-v154 .jh-desktop-nav > ul > li > a::after { height: 1px; background: var(--jh-brand); }
.jh-header-v154 .jh-desktop-nav a:hover,
.jh-header-v154 .jh-desktop-nav .current-menu-item > a,
.jh-header-v154 .jh-desktop-nav .current-menu-ancestor > a { color: var(--jh-brand) !important; }
.jh-header-v154 .jh-desktop-nav .sub-menu { border: 1px solid var(--jh-border); border-radius: var(--jh-radius); background: var(--jh-surface); box-shadow: var(--jh-shadow-sm); }
.jh-header-v154 .jh-desktop-nav .sub-menu a { font-size: 13px; font-weight: 400; }
.jh-header-v154 .jh-header-action { color: var(--jh-heading); }
.jh-header-v154 .jh-header-action:hover { background: var(--jh-surface-alt); color: var(--jh-brand); }
.jh-header-v154 .jh-wishlist-trigger b,
.jh-header-v154 .jh-cart-count { background: var(--jh-brand); }
.jh-header-search-panel { border-top: 1px solid var(--jh-border); background: var(--jh-bg); }
.jh-header-search-panel form { border-color: var(--jh-border); border-radius: var(--jh-radius-sm); background: var(--jh-surface-alt); }
.jh-header-search-panel button { border-radius: var(--jh-radius-sm); background: var(--jh-brand); }

/* Sections: white first; light gray or very soft pink only where hierarchy needs it. */
.home .jh-main,
.jh-product-section,
.jh-home-grid-section,
.jh-category-section,
.jh-support { background: var(--jh-bg); }
.jh-benefits-row,
.jh-testimonials { background: var(--jh-surface-alt); }
.jh-permanent-copy { background: var(--jh-surface-alt); }
.jh-permanent-copy .jh-kicker { color: var(--jh-brand); }
.jh-support-actions > a,
.jh-benefit,
.jh-category-card,
.jh-product-card { border-color: var(--jh-border); }

/* Product cards follow the reference theme: quiet copy, pink sale/action accents. */
.jh-product-card .jh-product-media { border-radius: var(--jh-radius); background: var(--jh-surface-alt); }
.jh-product-copy h3,
body.jh-site.jh-catalog-context .jh-product-copy h3 {
  color: var(--jh-heading) !important;
  font-size: var(--jh-product-title-size) !important;
  font-weight: var(--jh-product-title-weight) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}
.jh-product-copy h3:hover { color: var(--jh-brand) !important; }
.jh-card-price { font-size: 14px; font-weight: 600; }
.jh-card-price del { color: var(--jh-muted); font-weight: 400; }
.jh-card-price ins { color: var(--jh-brand); text-decoration: none; }
.jh-card-badges span { background: var(--jh-brand); color: #fff; }
.jh-card-wishlist { border-color: var(--jh-border); background: rgba(255,255,255,.94); color: var(--jh-heading); }
.jh-card-wishlist:hover,
.jh-card-wishlist.is-active { background: var(--jh-brand); border-color: var(--jh-brand); color: #fff; }
.jh-card-add { border-radius: var(--jh-radius-sm) !important; border-color: var(--jh-brand) !important; color: var(--jh-brand) !important; }
.jh-card-add:hover { background: var(--jh-brand) !important; color: #fff !important; }

/* Catalog/search: remove the previous pink wash and use a crisp neutral storefront. */
body.jh-site.jh-catalog-context .jh-main { background: var(--jh-bg) !important; }
body.jh-site.jh-catalog-context .jh-shop-hero {
  border-bottom: 1px solid var(--jh-border);
  background: var(--jh-surface-alt) !important;
}
body.jh-site.jh-catalog-context .jh-shop-hero h1 { color: var(--jh-heading); font-weight: var(--jh-heading-weight) !important; }
body.jh-site.jh-catalog-context .jh-shop-description,
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb .woocommerce-breadcrumb { color: var(--jh-muted); }
body.jh-site.jh-catalog-context .jh-catalog-sidebar {
  border-color: var(--jh-border);
  border-radius: var(--jh-radius);
  background: var(--jh-surface);
  box-shadow: none;
  backdrop-filter: none;
}
body.jh-site.jh-catalog-context .jh-filter-panel-head,
body.jh-site.jh-catalog-context .jh-filter-group { border-color: var(--jh-border); }
body.jh-site.jh-catalog-context .jh-filter-panel-head strong,
body.jh-site.jh-catalog-context .jh-filter-toggle,
body.jh-site.jh-catalog-context .jh-filter-options label span,
body.jh-site.jh-catalog-context .jh-category-filter-links a { color: var(--jh-heading); }
body.jh-site.jh-catalog-context .jh-filter-options label:hover span,
body.jh-site.jh-catalog-context .jh-category-filter-links a:hover,
body.jh-site.jh-catalog-context .jh-category-filter-links a.is-current { color: var(--jh-brand); }
body.jh-site.jh-catalog-context .jh-filter-options input[type="checkbox"]:checked { border-color: var(--jh-brand); background: var(--jh-brand); }
body.jh-site.jh-catalog-context .jh-catalog-toolbar { border-color: var(--jh-border); background: var(--jh-surface); box-shadow: none; }
body.jh-site.jh-catalog-context .jh-active-filter-list > a { border-color: var(--jh-border); background: var(--jh-surface-alt); color: var(--jh-heading); }
body.jh-site.jh-catalog-context .jh-active-filter-list > a:hover { border-color: var(--jh-brand); color: var(--jh-brand); }

/* Product page / WooCommerce account/cart use the same neutral system. */
body.jh-site.single-product .summary .product_title { color: var(--jh-heading); font-weight: var(--jh-heading-weight) !important; }
body.jh-site.single-product .summary .price { color: var(--jh-brand); }
.jh-delivery-card,
.jh-finance-note,
body.jh-site .woocommerce-tabs,
body.jh-site.woocommerce-cart .cart-collaterals .cart_totals,
body.jh-site.woocommerce-account .woocommerce-MyAccount-content { border-color: var(--jh-border); background: var(--jh-surface); box-shadow: none; }

/* Footer mirrors the reference: white background, dark headings, gray copy, pink interaction. */
.jh-footer-v154 { background: var(--jh-footer-bg, var(--jh-bg)) !important; border-top: 1px solid var(--jh-border); }
.jh-footer-v154 h3 { color: var(--jh-footer-heading, var(--jh-heading)); font-size: 14px; font-weight: 600; line-height: 1.4; }
.jh-footer-v154 p,
.jh-footer-v154 li,
.jh-footer-v154 li a { color: var(--jh-footer-text, var(--jh-text)) !important; font-size: 13px; line-height: 1.7; }
.jh-footer-v154 li a:hover { color: var(--jh-footer-accent, var(--jh-brand)) !important; }
.jh-footer-v154 .jh-footer-socials a { border-color: var(--jh-border); color: var(--jh-heading) !important; }
.jh-footer-v154 .jh-footer-socials a:hover { background: var(--jh-brand); border-color: var(--jh-brand); color: #fff !important; }
.jh-footer-v154 .jh-newsletter input { border-color: var(--jh-border) !important; border-radius: var(--jh-radius-sm); }
.jh-footer-v154 .jh-newsletter button { border-radius: var(--jh-radius-sm); background: var(--jh-brand); font-size: var(--jh-button-size); font-weight: var(--jh-button-weight); }
.jh-footer-v154 .jh-footer-bottom { border-color: var(--jh-border); }

@media (max-width: 700px) {
  body.jh-site { font-size: var(--jh-body-size); }
  body.jh-site h1 { font-size: clamp(32px, 9vw, 44px); }
  body.jh-site h2 { font-size: clamp(26px, 7vw, 34px); }
  .jh-header-v154 .jh-header-row { min-height: 62px; }
  .jh-product-copy h3,
  body.jh-site.jh-catalog-context .jh-product-copy h3 { min-height: 0; }
}

/* ================================================================
   Jewel Babe v1.6.1 — Umino parity & spacing repair
   Keeps the pink brand system while matching Umino's clean rhythm.
   ================================================================ */

/* ---------- Global vertical rhythm / collision repair ---------- */
:root {
  --jh-section-title-gap: 8px;
  --jh-section-head-gap: 30px;
  --jh-control-height: 46px;
}

body.jh-site h1,
body.jh-site h2,
body.jh-site h3,
body.jh-site h4 {
  text-wrap: balance;
}

body.jh-site .jh-centered-heading,
body.jh-site .jh-section-heading {
  display: grid;
  justify-items: center;
  gap: var(--jh-section-title-gap);
  max-width: 760px;
  margin: 0 auto var(--jh-section-head-gap);
  text-align: center;
}

body.jh-site .jh-centered-heading h1,
body.jh-site .jh-centered-heading h2,
body.jh-site .jh-centered-heading h3,
body.jh-site .jh-section-heading h1,
body.jh-site .jh-section-heading h2,
body.jh-site .jh-section-heading h3 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.18 !important;
}

body.jh-site .jh-centered-heading p,
body.jh-site .jh-section-heading p {
  max-width: 620px;
  margin: 0 !important;
  color: var(--jh-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* Homepage titles: Umino-like compact but never colliding. */
body.jh-site .jh-hero-copy {
  gap: 0;
}
body.jh-site .jh-hero-copy .jh-kicker { margin: 0 0 10px; }
body.jh-site .jh-hero-copy h1,
body.jh-site .jh-hero-copy h2 {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
body.jh-site .jh-hero-copy p {
  margin: 0 0 24px !important;
  color: var(--jh-text);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}
body.jh-site .jh-hero-main .jh-hero-copy h1 { font-size: clamp(42px, 4.25vw, 62px); }
body.jh-site .jh-hero-promo .jh-hero-copy h2 { font-size: clamp(30px, 3vw, 46px); }

body.jh-site .jh-wide-banner-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.jh-site .jh-wide-banner .jh-kicker { margin: 0 0 9px; color: var(--jh-wide-banner-eyebrow-color, var(--jh-pink)) !important; }
body.jh-site .jh-wide-banner h2 {
  margin: 0 0 10px !important;
  color: var(--jh-wide-banner-heading-color, var(--jh-ink)) !important;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 600 !important;
  line-height: 1.1 !important;
}
body.jh-site .jh-wide-banner p {
  margin: 0 0 22px !important;
  color: var(--jh-wide-banner-text-color, var(--jh-text)) !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

body.jh-site .jh-category-section-head,
body.jh-site .jh-section-head {
  align-items: end;
  margin-bottom: 28px;
}
body.jh-site .jh-category-section-head > div,
body.jh-site .jh-section-head > div {
  display: grid;
  gap: 7px;
}
body.jh-site .jh-category-section-head h2,
body.jh-site .jh-section-head h2 {
  margin: 0 !important;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 600 !important;
  line-height: 1.16 !important;
}

/* ---------- Online support: centered title + Umino utility-card rhythm ---------- */
body.jh-site .jh-support,
body.jh-site .jh-support .jh-container {
  text-align: center !important;
}
body.jh-site .jh-support .jh-kicker {
  display: block;
  width: 100%;
  margin: 0 0 9px;
  text-align: center !important;
}
body.jh-site .jh-support h2 {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto 30px !important;
  padding: 0;
  text-align: center !important;
  font-size: clamp(32px, 3.1vw, 44px);
  font-weight: 600 !important;
  line-height: 1.16 !important;
}
body.jh-site .jh-support-actions {
  gap: 14px;
  max-width: 1320px;
}
body.jh-site .jh-support-actions a {
  min-height: 72px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 20px;
  border: 1px solid var(--jh-border);
  border-radius: 10px;
  background: var(--jh-surface);
  box-shadow: none;
}
body.jh-site .jh-support-actions a:hover,
body.jh-site .jh-support-actions a:focus-visible {
  border-color: color-mix(in srgb, var(--jh-brand) 55%, var(--jh-border));
  box-shadow: 0 10px 28px rgba(17,17,17,.055);
  transform: translateY(-2px);
}
body.jh-site .jh-support-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--jh-brand-soft);
  color: var(--jh-heading);
}
body.jh-site .jh-support-icon svg { width: 21px; height: 21px; }
body.jh-site .jh-support-copy { gap: 3px; text-align: left; }
body.jh-site .jh-support-actions b { font-size: 13px; font-weight: 600; }
body.jh-site .jh-support-actions small { font-size: 12px; line-height: 1.45; }

/* ---------- Header: Umino-style single row ---------- */
body.jh-site .jh-header-v154 {
  position: sticky;
  top: 0;
  z-index: 790;
  border-bottom: 1px solid var(--jh-border);
  background: var(--jh-header-bg, #fff) !important;
}
body.admin-bar.jh-site .jh-header-v154 { top: 32px; }
body.jh-site .jh-header-v154 .jh-header-row,
body.jh-site .jh-header-v154.is-scrolled .jh-header-row {
  min-height: 72px;
  grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
  gap: 24px;
}
body.jh-site .jh-header-v154.is-scrolled { box-shadow: 0 8px 26px rgba(17,17,17,.045); }
body.jh-site .jh-header-v154 .jh-header-brand-wrap { justify-self: start; }
body.jh-site .jh-header-v154 .jh-brand {
  color: var(--jh-heading) !important;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  text-transform: none;
}
body.jh-site .jh-header-v154 .jh-desktop-nav { justify-self: center; }
body.jh-site .jh-header-v154 .jh-desktop-nav > ul { gap: clamp(22px, 2.2vw, 34px); }
body.jh-site .jh-header-v154 .jh-desktop-nav > ul > li > a {
  min-height: 72px;
  color: var(--jh-header-text, var(--jh-heading)) !important;
  font-size: var(--jh-menu-size);
  font-weight: var(--jh-menu-weight);
}
body.jh-site .jh-header-v154 .jh-desktop-nav > ul > li > a::after {
  bottom: 19px;
  height: 1px;
}
body.jh-site .jh-header-v154 .jh-header-promo {
  color: var(--jh-brand) !important;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
body.jh-site .jh-header-v154 .jh-header-actions { justify-self: end; gap: 2px; }
body.jh-site .jh-header-v154 .jh-header-actions > .jh-header-action {
  width: 40px;
  height: 40px;
  min-height: 40px;
  border-radius: 50%;
}
body.jh-site .jh-header-v154 .jh-header-actions > .jh-header-action:hover {
  background: transparent;
  color: var(--jh-brand) !important;
}
body.jh-site .jh-header-v154 .jh-header-actions svg { width: 21px; height: 21px; }

body.jh-site .jh-topbar-v154 {
  min-height: 32px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0;
}
body.jh-site .jh-topbar-v154 .jh-topbar-inner { min-height: 32px; justify-content: center; }
body.jh-site .jh-topbar-v154 a { font-weight: 600; text-decoration: none; }

/* ---------- Product cards ---------- */
body.jh-site .jh-product-card { min-width: 0; }
body.jh-site .jh-product-card .jh-product-media {
  border: 0;
  border-radius: 10px;
  background: #f6f6f6;
  box-shadow: none;
}
body.jh-site .jh-product-card .jh-product-media img { transition: transform .5s cubic-bezier(.2,.7,.2,1), opacity .3s ease; }
body.jh-site .jh-product-card:hover .jh-product-media img:first-child { transform: scale(1.025); }
body.jh-site .jh-product-copy { padding-top: 13px; }
body.jh-site .jh-product-copy h3,
body.jh-site.jh-catalog-context .jh-product-copy h3 {
  margin: 0 0 7px !important;
  color: var(--jh-heading) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
body.jh-site .jh-card-rating { min-height: 14px; margin-bottom: 6px; }
body.jh-site .jh-card-rating .star-rating { color: #f7a54a !important; font-size: 12px; }
body.jh-site .jh-card-price { color: var(--jh-heading) !important; font-size: 14px; font-weight: 600; }
body.jh-site .jh-card-price ins { color: var(--jh-brand) !important; }
body.jh-site .jh-card-badges { top: 12px; left: 12px; }
body.jh-site .jh-card-badges span {
  min-height: 25px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
}
body.jh-site .jh-card-wishlist {
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .22s ease, transform .22s ease, color .2s ease, background .2s ease;
}
body.jh-site .jh-product-card:hover .jh-card-wishlist,
body.jh-site .jh-card-wishlist:focus-visible,
body.jh-site .jh-card-wishlist.is-active { opacity: 1; transform: none; }
body.jh-site .jh-card-add {
  min-height: 42px;
  margin-top: 12px;
  border: 1px solid var(--jh-border) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--jh-heading) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
body.jh-site .jh-card-add:hover {
  border-color: var(--jh-brand) !important;
  background: var(--jh-brand) !important;
  color: #fff !important;
}

/* ---------- Shop/category/search + left filters ---------- */
body.jh-site.jh-catalog-context .jh-shop-hero {
  padding: 42px 0 36px;
  border-bottom: 1px solid var(--jh-border);
  background: #fafafa !important;
  text-align: center;
}
body.jh-site.jh-catalog-context .jh-catalog-breadcrumb { justify-content: center; }
body.jh-site.jh-catalog-context .jh-shop-hero .jh-kicker { margin-bottom: 8px; }
body.jh-site.jh-catalog-context .jh-shop-hero h1 {
  max-width: 900px;
  margin: 0 auto !important;
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 600 !important;
  line-height: 1.14 !important;
  text-align: center;
}
body.jh-site.jh-catalog-context .jh-shop-description {
  max-width: 680px;
  margin: 10px auto 0;
  text-align: center;
}
body.jh-site.jh-catalog-context .jh-catalog-wrap {
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(34px, 4vw, 58px);
  padding-top: 44px;
}
body.jh-site.jh-catalog-context .jh-catalog-sidebar {
  position: sticky;
  top: 96px;
  align-self: start;
  max-height: calc(100vh - 112px);
  overflow: auto;
  padding: 0 2px 20px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scrollbar-width: thin;
}
body.jh-site.jh-catalog-context .jh-filter-panel-head {
  min-height: auto;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--jh-border);
}
body.jh-site.jh-catalog-context .jh-filter-panel-head strong { font-size: 16px; font-weight: 600; }
body.jh-site.jh-catalog-context .jh-filter-group { padding: 20px 0; border-bottom: 1px solid var(--jh-border); }
body.jh-site.jh-catalog-context .jh-filter-group-toggle,
body.jh-site.jh-catalog-context .jh-filter-category-links > h3,
body.jh-site.jh-catalog-context .jh-filter-group legend {
  min-height: auto;
  margin: 0 0 14px;
  padding: 0;
  color: var(--jh-heading);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
body.jh-site.jh-catalog-context .jh-filter-options { gap: 11px; }
body.jh-site.jh-catalog-context .jh-filter-options label,
body.jh-site.jh-catalog-context .jh-category-filter-links a {
  min-height: 24px;
  color: var(--jh-text) !important;
  font-size: 13px;
  font-weight: 400;
}
body.jh-site.jh-catalog-context .jh-filter-options input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1px solid #cfcfcf;
  border-radius: 3px;
}
body.jh-site.jh-catalog-context .jh-filter-options input[type="checkbox"]:checked {
  border-color: var(--jh-brand);
  background-color: var(--jh-brand);
}
body.jh-site.jh-catalog-context .jh-price-inputs { gap: 8px; }
body.jh-site.jh-catalog-context .jh-price-inputs input {
  height: 42px;
  padding: 0 12px;
  border-color: var(--jh-border) !important;
  border-radius: 6px;
  font-size: 12px;
}
body.jh-site.jh-catalog-context .jh-filter-actions { position: sticky; bottom: -20px; z-index: 3; padding: 18px 0 4px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 26%); }
body.jh-site.jh-catalog-context .jh-filter-actions .jh-button { min-height: 44px; border-radius: 6px; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar {
  min-height: 54px;
  margin-bottom: 28px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 1px solid var(--jh-border);
  border-radius: 0;
  background: transparent;
}
body.jh-site.jh-catalog-context .jh-catalog-toolbar .woocommerce-result-count { font-size: 13px; }
body.jh-site.jh-catalog-context .jh-catalog-toolbar select {
  min-height: 42px;
  border-radius: 6px;
  font-size: 12px;
}
body.jh-site.jh-catalog-context .jh-active-filter-list > a {
  min-height: 34px;
  border-radius: 6px;
  background: #fafafa;
  font-size: 11px;
}
body.jh-site .jh-catalog-products ul.products { gap: 42px 20px !important; }
body.jh-site nav.woocommerce-pagination { margin-top: 54px; }
body.jh-site nav.woocommerce-pagination a,
body.jh-site nav.woocommerce-pagination span {
  min-width: 38px;
  height: 38px;
  border-radius: 6px;
  font-size: 12px;
}
body.jh-site nav.woocommerce-pagination .current { background: var(--jh-heading); border-color: var(--jh-heading); }

/* ---------- Single product: Umino-like 2-column detail layout ---------- */
body.jh-site.single-product .jh-product-native { padding-block: 28px 90px; }
body.jh-site.single-product div.product .woocommerce-product-gallery {
  width: 54% !important;
  max-width: none;
  margin: 0 5% 0 0 !important;
}
body.jh-site.single-product div.product .summary {
  width: 41% !important;
  padding: 4px 0 0;
  border-left: 0;
}
body.jh-site.single-product .woocommerce-product-gallery { padding-left: 78px; }
body.jh-site.single-product .woocommerce-product-gallery .flex-viewport,
body.jh-site.single-product .woocommerce-product-gallery__wrapper {
  border-radius: 8px;
  background: #f7f7f7;
}
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs { width: 60px; gap: 10px; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 60px !important; }
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  width: 60px;
  height: 70px;
  border-radius: 6px;
}
body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--jh-heading); }
body.jh-site.single-product .summary .product_title {
  margin: 0 0 10px !important;
  color: var(--jh-heading) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}
body.jh-site.single-product .summary .woocommerce-product-rating {
  gap: 10px;
  margin-bottom: 14px;
  font-size: 12px;
}
body.jh-site.single-product .summary > .price {
  margin: 0 0 18px !important;
  color: var(--jh-heading) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
}
body.jh-site.single-product .summary > .price ins { color: var(--jh-brand) !important; }
body.jh-site.single-product .summary .woocommerce-product-details__short-description {
  margin: 0 0 24px;
  color: var(--jh-text);
  font-size: 14px;
  line-height: 1.65;
}
body.jh-site.single-product form.cart {
  grid-template-columns: 118px minmax(190px, 1fr) 46px;
  gap: 10px;
}
body.jh-site.single-product form.cart .variations { margin-bottom: 8px; }
body.jh-site.single-product form.cart .variations label { font-size: 13px; font-weight: 500; }
body.jh-site.single-product .jh-variation-badge {
  min-height: 38px;
  min-width: 58px;
  border-radius: 5px;
  color: var(--jh-heading);
  font-size: 12px;
  font-weight: 500;
}
body.jh-site.single-product form.cart .jh-quantity-control {
  width: 118px;
  min-height: 48px;
  border-radius: 6px;
  background: #fff;
}
body.jh-site.single-product form.cart .single_add_to_cart_button,
body.jh-site.single-product form.cart .jh-buy-now {
  min-height: 48px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
body.jh-site.single-product form.cart .jh-buy-now {
  border: 1px solid var(--jh-heading) !important;
  background: var(--jh-heading) !important;
  color: #fff !important;
}
body.jh-site.single-product form.cart .jh-buy-now:hover { border-color: var(--jh-brand) !important; background: var(--jh-brand) !important; }
body.jh-site.single-product .jh-wishlist-button {
  width: 46px;
  height: 46px;
  border-radius: 6px;
}
body.jh-site.single-product .product_meta {
  gap: 9px 18px;
  margin-top: 24px;
  padding-top: 18px;
  color: var(--jh-muted);
  font-size: 12px;
}
body.jh-site.single-product .product_meta a { color: var(--jh-heading) !important; font-weight: 500; }
body.jh-site.single-product .jh-delivery-cards {
  margin-top: 22px;
  border-radius: 8px;
}
body.jh-site.single-product .jh-delivery-card { padding: 15px 16px; }
body.jh-site.single-product .jh-delivery-card strong { font-size: 12px; font-weight: 600; }
body.jh-site.single-product .jh-delivery-card small { font-size: 11px; line-height: 1.45; }

/* Tabs become the clean vertical detail navigation used by Umino product pages. */
body.jh-site.single-product .woocommerce-tabs {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  padding-top: 80px;
  border-top: 1px solid var(--jh-border);
}
body.jh-site.single-product .woocommerce-tabs ul.tabs {
  grid-column: 1;
  display: grid;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  border-right: 1px solid var(--jh-border) !important;
}
body.jh-site.single-product .woocommerce-tabs ul.tabs li {
  border: 0 !important;
  border-bottom: 1px solid var(--jh-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.jh-site.single-product .woocommerce-tabs ul.tabs li:first-child { border-top: 1px solid var(--jh-border) !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li a {
  padding: 14px 18px 14px 0 !important;
  color: var(--jh-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
body.jh-site.single-product .woocommerce-tabs ul.tabs li.active { background: transparent !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--jh-heading) !important; font-weight: 600 !important; }
body.jh-site.single-product .woocommerce-tabs ul.tabs li.active a::after {
  content: '→';
  float: right;
  color: var(--jh-brand);
}
body.jh-site.single-product .woocommerce-Tabs-panel {
  grid-column: 2;
  grid-row: 1;
  max-width: 860px;
  margin: 0 !important;
  padding: 0 0 70px !important;
  color: var(--jh-text);
  font-size: 14px;
  line-height: 1.75;
}
body.jh-site.single-product .woocommerce-Tabs-panel h2,
body.jh-site.single-product .woocommerce-Tabs-panel h3 {
  margin: 0 0 18px;
  font-size: 24px;
  font-weight: 600 !important;
}
body.jh-site.single-product section.related { padding: 68px 0 100px; }
body.jh-site.single-product section.related > h2 {
  margin-bottom: 34px;
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 600 !important;
}

/* ---------- WooCommerce account/login ---------- */
body.jh-site.woocommerce-account:not(.logged-in) .jh-main,
body.jh-site.woocommerce-account:not(.logged-in) main {
  background: #fff;
}
body.jh-site.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  width: min(calc(100% - (var(--jh-gutter) * 2)), 1040px) !important;
  max-width: 1040px;
  margin: 0 auto;
  padding: clamp(48px, 6vw, 80px) 0 clamp(64px, 8vw, 100px);
  float: none !important;
}
body.jh-site .jh-account-auth-head {
  display: grid;
  justify-items: center;
  gap: 8px;
  max-width: 620px;
  margin: 0 auto 36px;
  text-align: center;
}
body.jh-site .jh-account-auth-head h1 {
  margin: 0 !important;
  font-size: clamp(36px, 4vw, 50px);
  font-weight: 600 !important;
  line-height: 1.12 !important;
}
body.jh-site .jh-account-auth-head p { max-width: 520px; margin: 0; color: var(--jh-muted); font-size: 14px; }
body.jh-site .jh-account-auth-grid {
  width: min(100%, 540px);
  margin: 0 auto;
}
body.jh-site .jh-account-auth-grid.has-register {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
body.jh-site .jh-account-auth-card {
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid var(--jh-border);
  border-radius: 10px;
  background: #fff;
}
body.jh-site .jh-account-auth-card h2 {
  margin: 0 0 24px !important;
  max-width: none !important;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
body.jh-site .jh-account-auth-card form { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.jh-site .jh-account-auth-card .form-row { margin: 0 0 18px; padding: 0; }
body.jh-site .jh-account-auth-card label {
  display: block;
  margin: 0 0 7px;
  color: var(--jh-heading);
  font-size: 13px;
  font-weight: 500;
}
body.jh-site .jh-account-auth-card input[type="text"],
body.jh-site .jh-account-auth-card input[type="email"],
body.jh-site .jh-account-auth-card input[type="password"] {
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid var(--jh-border) !important;
  border-radius: 5px;
  background: #fff !important;
  color: var(--jh-heading);
  font-size: 14px;
}
body.jh-site .jh-account-auth-card .password-input {
  position: relative;
  display: block;
  width: 100%;
}
body.jh-site .jh-account-auth-card .password-input input {
  padding-right: 48px !important;
}
body.jh-site .jh-account-auth-card .show-password-input,
body.jh-site .jh-account-auth-card .password-input .show-password-input {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  left: auto !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
  cursor: pointer;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: .7;
}
body.jh-site .jh-account-auth-card .show-password-input::before,
body.jh-site .jh-account-auth-card .show-password-input::after {
  display: none !important;
  content: none !important;
}
body.jh-site .jh-account-auth-card .show-password-input {
  background: center / 18px 18px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23555' stroke-width='1.7' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
}
body.jh-site .jh-account-login-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: -2px 0 22px;
}
body.jh-site .jh-account-login-meta label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--jh-text);
  font-weight: 400;
}
body.jh-site .jh-account-login-meta input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--jh-brand); }
body.jh-site .jh-account-login-meta a { color: var(--jh-heading) !important; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
body.jh-site .jh-account-login-meta a:hover { color: var(--jh-brand) !important; }
body.jh-site .jh-account-submit { margin: 0 !important; }
body.jh-site .jh-account-submit .button {
  width: 100%;
  min-height: 50px;
  border-radius: 5px !important;
  background: var(--jh-heading) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
body.jh-site .jh-account-submit .button:hover { background: var(--jh-brand) !important; }
body.jh-site .jh-account-register-card { background: #fafafa; }
body.jh-site .jh-account-card-kicker { display: block; margin-bottom: 8px; color: var(--jh-brand); font-size: 11px; font-weight: 600; text-transform: uppercase; }
body.jh-site .jh-account-register-card > p { margin: -12px 0 24px; color: var(--jh-muted); font-size: 13px; line-height: 1.65; }
body.jh-site .jh-account-password-note { color: var(--jh-muted); font-size: 12px; line-height: 1.6; }

/* Logged-in account navigation/content: simpler Umino-like panels. */
body.jh-site.woocommerce-account.logged-in .woocommerce {
  width: min(calc(100% - (var(--jh-gutter) * 2)), var(--jh-container));
  margin: 0 auto;
  padding: 58px 0 90px;
}
body.jh-site.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
  border-radius: 8px;
  background: #fff;
}
body.jh-site.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
  min-height: 48px;
  color: var(--jh-text) !important;
  font-size: 13px;
  font-weight: 500;
}
body.jh-site.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a {
  background: var(--jh-heading);
  color: #fff !important;
}
body.jh-site.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  padding: 30px 34px;
  border-radius: 8px;
  font-size: 14px;
}

/* ---------- Checkout block: Umino-inspired two-column flow ---------- */
body.jh-site.woocommerce-checkout .jh-content-page {
  background: #fff;
}

body.jh-site.woocommerce-checkout .jh-content-shell {
  width: min(calc(100% - 48px), 1060px);
  max-width: 1060px;
  padding-block: clamp(58px, 8vw, 96px) 84px;
}

body.jh-site.woocommerce-checkout .jh-page-article,
body.jh-site.woocommerce-checkout .wc-block-checkout {
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: clamp(36px, 5vw, 64px) !important;
  align-items: start !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-main {
  width: 100% !important;
  padding: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-checkout__form {
  display: grid !important;
  gap: 28px !important;
  max-width: 540px;
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-step {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  margin: 0 0 12px !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.jh-site.woocommerce-checkout .wc-block-components-checkout-step__title {
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-step__title {
  color: var(--jh-heading);
  font-family: var(--jh-heading-font, var(--jh-sans));
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.jh-site.woocommerce-checkout #contact-fields .wc-block-components-checkout-step__title::after {
  content: "";
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-step__content {
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-address-form-wrapper {
  display: block !important;
}

body.jh-site.woocommerce-checkout #contact,
body.jh-site.woocommerce-checkout #billing .wc-block-components-address-form__country,
body.jh-site.woocommerce-checkout #billing .wc-block-components-address-form__address_1,
body.jh-site.woocommerce-checkout #billing .wc-block-components-address-form__address_2-toggle,
body.jh-site.woocommerce-checkout #billing .wc-block-components-address-form__address_2,
body.jh-site.woocommerce-checkout #billing .wc-block-components-address-form__address_2-hidden-input {
  grid-column: 1 / -1 !important;
}

body.jh-site.woocommerce-checkout #contact .wc-block-components-address-form__email {
  grid-column: 1 / -1 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-text-input,
body.jh-site.woocommerce-checkout .wc-block-components-country-input,
body.jh-site.woocommerce-checkout .wc-block-components-state-input,
body.jh-site.woocommerce-checkout .wc-blocks-components-select {
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-text-input input,
body.jh-site.woocommerce-checkout .wc-block-components-textarea,
body.jh-site.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  min-height: 46px !important;
  height: 46px !important;
  padding: 18px 14px 6px !important;
  border: 1px solid #dedede !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--jh-heading) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-text-input input:focus,
body.jh-site.woocommerce-checkout .wc-block-components-textarea:focus,
body.jh-site.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--jh-brand) !important;
  box-shadow: 0 0 0 2px rgba(235, 99, 132, .12) !important;
  outline: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-text-input label,
body.jh-site.woocommerce-checkout .wc-blocks-components-select__label {
  top: 6px !important;
  left: 14px !important;
  transform: none !important;
  color: #9a9a9a !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-address-card-wrapper {
  display: none !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  min-height: 28px;
  display: flex !important;
  align-items: center;
  color: #666 !important;
  font-size: 12px !important;
  cursor: pointer;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkbox {
  margin: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkbox label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--jh-heading) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkbox__input {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  margin: 0 !important;
  accent-color: var(--jh-heading);
}

body.jh-site.woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
  margin: 8px 0 0 !important;
  color: #777 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.jh-site.woocommerce-checkout .wc-block-checkout__payment-method,
body.jh-site.woocommerce-checkout .wc-block-checkout__order-notes,
body.jh-site.woocommerce-checkout .wc-block-checkout__terms,
body.jh-site.woocommerce-checkout .wc-block-checkout__actions {
  max-width: 540px;
}

body.jh-site.woocommerce-checkout .wc-block-components-notice-banner {
  margin: 0 !important;
  padding: 13px 14px !important;
  border: 1px solid #f0b6c3 !important;
  border-radius: 7px !important;
  background: #fff5f7 !important;
  color: #8f263d !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body.jh-site.woocommerce-checkout .wc-block-checkout__terms {
  margin-top: 2px !important;
  padding-top: 4px !important;
  border: 0 !important;
  color: #666 !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
}

body.jh-site.woocommerce-checkout .wc-block-checkout__terms a {
  color: var(--jh-heading) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.jh-site.woocommerce-checkout .wc-block-checkout__actions_row {
  display: block !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: var(--jh-heading) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--jh-brand) !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-sidebar {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: sticky !important;
  top: calc(24px + var(--admin-bar, 0px)) !important;
}

body.jh-site.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  padding: 22px 20px 20px !important;
  border: 1px solid #ead7dc !important;
  border-radius: 7px !important;
  background: #fff !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  margin: 0 !important;
  color: #777 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
  color: var(--jh-heading) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon {
  display: none !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary__content {
  display: grid !important;
  gap: 18px !important;
  max-height: none !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #eee !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative !important;
  width: 54px !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 54px !important;
  height: 54px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  background: #f6f6f6 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  min-width: 18px !important;
  height: 18px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: var(--jh-brand) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-product-name {
  margin: 0 0 4px !important;
  color: var(--jh-heading) !important;
  font-family: var(--jh-heading-font, var(--jh-sans));
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.jh-site.woocommerce-checkout .wc-block-cart-item__prices,
body.jh-site.woocommerce-checkout .wc-block-components-product-metadata,
body.jh-site.woocommerce-checkout .wc-block-components-product-details {
  color: #777 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-product-metadata__description {
  display: none !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  color: var(--jh-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: right !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-sale-badge {
  display: inline-flex !important;
  min-height: 18px !important;
  margin-top: 5px !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: #f6f6f6 !important;
  color: #777 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-totals-wrapper {
  padding: 13px 0 !important;
  border-top: 1px solid #eee !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  color: var(--jh-heading) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-totals-footer-item {
  align-items: baseline !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 17px !important;
}

body.jh-site.woocommerce-checkout .wc-block-components-panel__button,
body.jh-site.woocommerce-checkout .wc-block-components-panel__button:hover {
  padding: 0 !important;
  color: var(--jh-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 980px) {
  body.jh-site.woocommerce-checkout .jh-content-shell {
    width: min(calc(100% - 32px), 720px);
    padding-block: 34px 64px;
  }
  body.jh-site.woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.jh-site.woocommerce-checkout .wc-block-components-main {
    grid-row: 2 !important;
  }
  body.jh-site.woocommerce-checkout .wc-block-components-sidebar {
    position: static !important;
    grid-row: 1 !important;
  }
  body.jh-site.woocommerce-checkout .wc-block-checkout__form {
    max-width: none;
  }
}

@media (max-width: 560px) {
  body.jh-site.woocommerce-checkout .jh-content-shell {
    width: min(calc(100% - 24px), 100%);
  }
  body.jh-site.woocommerce-checkout .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }
  body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }
  body.jh-site.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    grid-column: 2;
    text-align: left !important;
  }
}

/* ---------- Footer: Umino white editorial footer ---------- */
body.jh-site .jh-footer-v154 .jh-footer-inner {
  grid-template-columns: 1.15fr .72fr .72fr 1.2fr;
  gap: clamp(38px, 5vw, 76px);
  padding-block: clamp(52px, 6vw, 78px);
}
body.jh-site .jh-footer-v154 .jh-footer-inner:not(:has(.jh-footer-newsletter)) {
  grid-template-columns: 1.15fr .72fr .72fr;
}
body.jh-site .jh-footer-v154 .jh-footer-inner.has-no-newsletter {
  grid-template-columns: 1.15fr .72fr .72fr;
}
body.jh-site .jh-footer-v154 h3 {
  margin: 0 0 18px;
  color: var(--jh-footer-heading, var(--jh-heading));
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
body.jh-site .jh-footer-v154 p,
body.jh-site .jh-footer-v154 li,
body.jh-site .jh-footer-v154 li a {
  color: var(--jh-footer-text, var(--jh-text)) !important;
  font-size: 13px;
  line-height: 1.7;
}
body.jh-site .jh-footer-v154 ul { gap: 13px; }
body.jh-site .jh-footer-v154 .jh-footer-newsletter p { max-width: 410px; margin-bottom: 20px; }
body.jh-site .jh-footer-v154 .jh-newsletter { gap: 8px; }
body.jh-site .jh-footer-v154 .jh-newsletter input,
body.jh-site .jh-footer-v154 .jh-newsletter button {
  height: 46px;
  border-radius: 6px;
}
body.jh-site .jh-footer-v154 .jh-newsletter button { min-width: 134px; }

/* ---------- Responsive parity ---------- */
@media (max-width: 1120px) {
  body.jh-site .jh-header-v154 .jh-header-row,
  body.jh-site .jh-header-v154.is-scrolled .jh-header-row { grid-template-columns: auto 1fr auto; }
  body.jh-site .jh-catalog-wrap { grid-template-columns: 220px minmax(0, 1fr); gap: 30px; }
  body.jh-site .jh-footer-v154 .jh-footer-inner { grid-template-columns: 1.2fr .8fr .8fr; }
  body.jh-site .jh-footer-v154 .jh-footer-newsletter { grid-column: 1 / -1; max-width: 720px; }
}

@media (max-width: 900px) {
  body.jh-site.single-product div.product .woocommerce-product-gallery,
  body.jh-site.single-product div.product .summary { width: 100% !important; float: none !important; margin: 0 !important; }
  body.jh-site.single-product div.product .summary { padding-top: 34px; }
  body.jh-site.single-product .woocommerce-tabs { grid-template-columns: 1fr; gap: 24px; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs {
    grid-column: 1;
    grid-row: auto;
    display: flex;
    overflow-x: auto;
    border-right: 0 !important;
    border-bottom: 1px solid var(--jh-border) !important;
    scrollbar-width: none;
  }
  body.jh-site.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; border: 0 !important; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs li:first-child { border: 0 !important; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs li a { padding: 12px 18px 12px 0 !important; white-space: nowrap; }
  body.jh-site.single-product .woocommerce-tabs ul.tabs li.active a::after { display: none; }
  body.jh-site.single-product .woocommerce-Tabs-panel { grid-column: 1; grid-row: auto; }
  body.jh-site .jh-account-auth-grid.has-register { grid-template-columns: 1fr; max-width: 620px; margin-inline: auto; }
}

@media (max-width: 700px) {
  body.admin-bar.jh-site .jh-header-v154 { top: 46px; }
  body.jh-site .jh-hero-main .jh-hero-copy h1 { font-size: clamp(34px, 10vw, 46px); }
  body.jh-site .jh-hero-copy h1,
  body.jh-site .jh-hero-copy h2 { margin-bottom: 10px !important; line-height: 1.1 !important; }
  body.jh-site .jh-hero-copy p { margin-bottom: 20px !important; font-size: 13px; }
  body.jh-site .jh-centered-heading { margin-bottom: 24px; }
  body.jh-site .jh-centered-heading h2 { font-size: clamp(28px, 8vw, 36px); }
  body.jh-site .jh-centered-heading p { font-size: 13px; }
  body.jh-site .jh-support h2 { margin-bottom: 24px !important; font-size: clamp(30px, 8vw, 38px); }
  body.jh-site .jh-support-actions { gap: 10px; }
  body.jh-site .jh-support-actions a { min-height: 68px; }
  body.jh-site .jh-card-wishlist { opacity: 1; transform: none; }
  body.jh-site.jh-catalog-context .jh-shop-hero { padding: 30px 0 26px; }
  body.jh-site.jh-catalog-context .jh-catalog-wrap { display: block; padding-top: 24px; }
  body.jh-site.jh-catalog-context .jh-catalog-sidebar {
    position: fixed;
    top: 0;
    max-height: none;
    padding: 0 20px 24px;
    border-right: 1px solid var(--jh-border);
    background: #fff;
  }
  body.jh-site.jh-catalog-context .jh-filter-mobile-head { margin-inline: -20px; padding-inline: 20px; }
  body.jh-site.single-product .woocommerce-product-gallery { padding-left: 0; padding-bottom: 82px; }
  body.jh-site.single-product .woocommerce-product-gallery .flex-control-thumbs { width: 100%; }
  body.jh-site.single-product form.cart { grid-template-columns: 104px minmax(0, 1fr) 46px; }
  body.jh-site.single-product form.cart .jh-quantity-control { width: 104px; }
  body.jh-site.single-product .woocommerce-tabs { padding-top: 54px; }
  body.jh-site .jh-account-auth-head { margin-bottom: 26px; }
  body.jh-site .jh-account-auth-card { padding: 24px 20px; }
  body.jh-site .jh-account-login-meta { align-items: flex-start; flex-direction: column; gap: 10px; }
  body.jh-site .jh-footer-v154 .jh-footer-inner { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  body.jh-site .jh-footer-v154 .jh-footer-about,
  body.jh-site .jh-footer-v154 .jh-footer-newsletter { grid-column: 1 / -1; }
  body.jh-site .jh-footer-v154 .jh-newsletter { grid-template-columns: 1fr; }
  body.jh-site .jh-footer-v154 .jh-newsletter button { width: 100%; }
}

@media (max-width: 480px) {
  body.jh-site .jh-footer-v154 .jh-footer-inner { grid-template-columns: 1fr; }
  body.jh-site .jh-footer-v154 .jh-footer-about,
  body.jh-site .jh-footer-v154 .jh-footer-newsletter { grid-column: auto; }
  body.jh-site.single-product form.cart { grid-template-columns: 1fr 46px; }
  body.jh-site.single-product form.cart .quantity { grid-column: 1; width: 100%; }
  body.jh-site.single-product form.cart .jh-quantity-control { width: 100%; }
  body.jh-site.single-product form.cart .single_add_to_cart_button { grid-column: 1 / -1; grid-row: auto; }
  body.jh-site.single-product form.cart .jh-wishlist-button { grid-column: 2; grid-row: 1; }
  body.jh-site.single-product form.cart .jh-buy-now { grid-column: 1 / -1; grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  body.jh-site .jh-product-card .jh-product-media img,
  body.jh-site .jh-card-wishlist { transition: none !important; }
}

/* Single product top row: gallery left, details right. */
body.jh-site.single-product .jh-product-native {
  max-width: 1320px;
}

body.jh-site.single-product .jh-umino-product {
  display: block !important;
}

body.jh-site.single-product .jh-umino-product::before,
body.jh-site.single-product .jh-umino-product::after,
body.jh-site.single-product .jh-product-top::before,
body.jh-site.single-product .jh-product-top::after {
  display: none !important;
  content: none !important;
}

body.jh-site.single-product .jh-product-top {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
  gap: clamp(42px, 5vw, 72px);
  align-items: start !important;
}

body.jh-site.single-product .jh-product-gallery-column,
body.jh-site.single-product .jh-product-summary-column {
  min-width: 0;
  align-self: start;
}

body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery,
body.jh-site.single-product .jh-product-summary-column.summary {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}

body.jh-site.single-product .jh-product-summary-column.summary {
  padding: 8px 0 0 !important;
  border-left: 0 !important;
}

body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery {
  padding-left: 72px;
  padding-right: 0;
}

body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery .flex-viewport,
body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery__wrapper {
  width: 100%;
  overflow: hidden;
}

body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery .flex-control-thumbs {
  top: 0;
  left: 0;
}

body.jh-site.single-product .jh-product-lower {
  clear: both;
}

@media (max-width: 1180px) {
  body.jh-site.single-product .jh-product-top {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
    gap: 34px;
  }

  body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery {
    padding-left: 60px;
  }
}

@media (max-width: 900px) {
  body.jh-site.single-product .jh-product-top {
    display: block !important;
  }

  body.jh-site.single-product .jh-product-gallery-column .woocommerce-product-gallery {
    padding-left: 0;
  }

  body.jh-site.single-product .jh-product-summary-column.summary {
    padding-top: 34px !important;
  }
}

/* ---------- Classic checkout fallback ----------
 * Used automatically when the Checkout page lost its WooCommerce Checkout
 * block/shortcode. Kept scoped to classic checkout so block styles above are
 * unchanged when the block exists.
 */
body.jh-site.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr);
  gap: 42px;
  align-items: start;
  width: 100%;
}
body.jh-site.woocommerce-checkout form.checkout .col2-set,
body.jh-site.woocommerce-checkout form.checkout #order_review_heading,
body.jh-site.woocommerce-checkout form.checkout #order_review { width: 100%; float: none; }
body.jh-site.woocommerce-checkout form.checkout .col2-set { grid-column: 1; }
body.jh-site.woocommerce-checkout form.checkout #order_review_heading,
body.jh-site.woocommerce-checkout form.checkout #order_review { grid-column: 2; }
body.jh-site.woocommerce-checkout form.checkout #order_review_heading { margin: 0 0 -22px; font-size: 26px; }
body.jh-site.woocommerce-checkout form.checkout .col-1,
body.jh-site.woocommerce-checkout form.checkout .col-2 { width: 100%; float: none; }
body.jh-site.woocommerce-checkout form.checkout .col-2 { margin-top: 30px; }
body.jh-site.woocommerce-checkout form.checkout h3 { margin: 0 0 22px; font-size: 28px; }
body.jh-site.woocommerce-checkout form.checkout .form-row { margin: 0 0 16px; padding: 0; }
body.jh-site.woocommerce-checkout form.checkout .form-row label { display: block; margin: 0 0 7px; color: var(--jh-heading); font-size: 13px; font-weight: 500; }
body.jh-site.woocommerce-checkout form.checkout input.input-text,
body.jh-site.woocommerce-checkout form.checkout textarea,
body.jh-site.woocommerce-checkout form.checkout select,
body.jh-site.woocommerce-checkout form.checkout .select2-selection { min-height: 50px; border: 1px solid var(--jh-border); border-radius: 5px; background: #fff; box-shadow: none; }
body.jh-site.woocommerce-checkout form.checkout input.input-text,
body.jh-site.woocommerce-checkout form.checkout textarea { width: 100%; padding: 12px 14px; }
body.jh-site.woocommerce-checkout form.checkout .select2-container .select2-selection--single { height: 50px; }
body.jh-site.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding-left: 14px; }
body.jh-site.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
body.jh-site.woocommerce-checkout form.checkout #order_review { padding: 26px; border: 1px solid var(--jh-border); border-radius: 8px; background: #fafafa; }
body.jh-site.woocommerce-checkout form.checkout table.shop_table { margin: 0 0 24px; border: 0; border-collapse: collapse; }
body.jh-site.woocommerce-checkout form.checkout table.shop_table th,
body.jh-site.woocommerce-checkout form.checkout table.shop_table td { padding: 13px 0; border-bottom: 1px solid var(--jh-border); }
body.jh-site.woocommerce-checkout form.checkout #payment { background: transparent; }
body.jh-site.woocommerce-checkout form.checkout #payment ul.payment_methods { padding: 0 0 18px; border-bottom: 1px solid var(--jh-border); }
body.jh-site.woocommerce-checkout form.checkout #payment div.form-row { padding: 18px 0 0; }
body.jh-site.woocommerce-checkout form.checkout #place_order { width: 100%; min-height: 52px; border-radius: 5px; background: var(--jh-heading) !important; color: #fff !important; font-weight: 600; }
body.jh-site.woocommerce-checkout form.checkout #place_order:hover { background: var(--jh-brand) !important; }
@media (max-width: 900px) {
  body.jh-site.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; gap: 30px; }
  body.jh-site.woocommerce-checkout form.checkout .col2-set,
  body.jh-site.woocommerce-checkout form.checkout #order_review_heading,
  body.jh-site.woocommerce-checkout form.checkout #order_review { grid-column: 1; }
}

/* Floating WhatsApp contact button */
.jh-whatsapp-float {
  position: fixed;
  right: var(--jh-wa-right, 24px);
  bottom: calc(var(--jh-wa-bottom, 24px) + env(safe-area-inset-bottom, 0px));
  z-index: 790;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: var(--jh-wa-size, 58px);
  height: var(--jh-wa-size, 58px);
  min-height: var(--jh-wa-size, 58px);
  border: 0;
  border-radius: 999px;
  background: var(--jh-wa-bg, #25D366);
  color: var(--jh-wa-color, #fff) !important;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(18, 140, 126, .28);
  transition: transform .22s ease, opacity .22s ease, visibility .22s ease, box-shadow .22s ease, filter .22s ease;
  -webkit-tap-highlight-color: transparent;
}
.jh-whatsapp-float:not(.has-label) {
  width: var(--jh-wa-size, 58px);
  padding: 0;
}
.jh-whatsapp-float.has-label {
  padding: 0 18px;
}
.jh-whatsapp-float-icon {
  display: grid;
  place-items: center;
  width: calc(var(--jh-wa-size, 58px) * .5);
  height: calc(var(--jh-wa-size, 58px) * .5);
  flex: 0 0 auto;
}
.jh-whatsapp-float svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor !important;
  stroke: none !important;
}
.jh-whatsapp-float-label {
  color: currentColor;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  white-space: nowrap;
}
.jh-whatsapp-float:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--jh-wa-bg, #25D366) 35%, #fff);
  outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
  .jh-whatsapp-float:hover {
    transform: translateY(-2px);
    filter: brightness(.98);
    box-shadow: 0 18px 42px rgba(18, 140, 126, .34);
  }
}
body.jh-site.jh-cart-open .jh-whatsapp-float[data-hide-cart="1"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(.94);
}
@media (max-width: 700px) {
  .jh-whatsapp-float {
    right: min(var(--jh-wa-right, 18px), 24px);
    bottom: calc(min(var(--jh-wa-bottom, 18px), 28px) + env(safe-area-inset-bottom, 0px));
  }
  .jh-whatsapp-float.has-label {
    padding-inline: 14px;
  }
  .jh-whatsapp-float-label {
    font-size: 12px;
  }
}


/* v2.6.7: Ensure the wide banner Premium Collection color customizer wins over global kicker/brand rules. */
body.jh-site .jh-wide-banner .jh-kicker,
body.jh-site.home .jh-wide-banner .jh-kicker,
body.jh-site .jh-wide-banner-copy .jh-kicker {
  color: var(--jh-wide-banner-eyebrow-color, var(--jh-pink)) !important;
}
