/* Desktop wholesale homepage (version B). Every section here is desktop-only (hidden-mobile). */
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) {
  --jb-ink: #171717;
  --jb-muted: #6b665e;
  --jb-line: #e5e2dd;
  --jb-cream: #f5eadb;
  --jb-lavender: #eeeaff;
  --jb-purple: #7661d5;
  --jb-grey: #f6f5f3;
  --jb-white: #ffffff;
  --jb-green: #1f7a4d;
  --jb-max: 1440px;
  --jb-gutter: clamp(24px, 3.33vw, 48px);
  box-sizing: border-box;
}
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) *,
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) *::before,
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) *::after { box-sizing: border-box; }

.jb-wide {
  width: 100%;
  max-width: calc(var(--jb-max) + var(--jb-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--jb-gutter);
}

/* Shared type */
.jb-eyebrow { margin: 0 0 8px; color: var(--jb-purple); font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.jb-h2 { margin: 0; font-size: 28px; line-height: 1.15; text-wrap: balance; }
.jb-h3 { margin: 0; font-size: 20px; line-height: 1.2; }
.jb-h4 { margin: 18px 0 0; font-size: 16px; line-height: 1.3; }
.jb-sub { margin: 4px 0 0; color: var(--jb-muted); font-size: 12.5px; line-height: 1.6; }
.jb-sub--tight { margin-top: 10px; }
.jb-link { color: inherit; font-size: 12.5px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; cursor: pointer; }
.jb-link:hover { color: var(--jb-purple); }
.jb-btn { width: auto; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.jb-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) :is(a, button, summary, input):focus-visible { outline: 2px solid var(--jb-purple); outline-offset: 2px; }

.jb-sec { display: block; padding-block: 44px 0; color: rgb(var(--color-text)); background: rgb(var(--color-background)); }
.jb-sec__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.jb-box { min-width: 0; padding: 22px 24px; border: 1px solid var(--jb-line); border-radius: 10px; background: var(--jb-white); }
.jb-box > .jb-link { display: inline-block; margin-top: 14px; }

.jb-table { width: 100%; margin-top: 14px; border-collapse: collapse; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.jb-table :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--jb-line); text-align: left; }
.jb-table th { color: var(--jb-muted); font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.jb-table tr.is-on td { background: var(--jb-lavender); font-weight: 600; }

/* Utility bar */
.jb-util { background: rgb(var(--jb-util-background)); color: rgb(var(--jb-util-text)); font-size: 11.5px; }
.jb-util__inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 34px; }
.jb-util__points, .jb-util__links { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.jb-util__points { min-width: 0; overflow: hidden; }
.jb-util__points li::before { content: "✓"; margin-right: 6px; color: rgb(var(--jb-util-accent)); }
.jb-util a { color: inherit; }
.jb-util a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Hero hub */
.jb-hub { display: block; padding-block: 16px 0; color: rgb(var(--color-text)); background: rgb(var(--color-background)); }
.jb-hub__grid { display: grid; grid-template-columns: 236px minmax(0, 1fr) 286px; gap: 16px; align-items: stretch; }
.jb-hub__side { min-width: 0; padding: 6px 0; border: 1px solid var(--jb-line); border-radius: 10px; background: var(--jb-white); font-size: 12.5px; }
.jb-hub__side ul { margin: 0; padding: 0; list-style: none; }
.jb-hub__side-title { margin: 0; padding: 10px 16px 4px; color: var(--jb-muted); font-size: 10px; font-weight: 600; letter-spacing: .14em; }
.jb-hub__side a { display: flex; justify-content: space-between; gap: 8px; padding: 7px 16px; color: inherit; }
.jb-hub__side a:hover { background: var(--jb-lavender); }
.jb-hub__side small { color: var(--jb-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.jb-hub__banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 400px; overflow: hidden; border-radius: 10px; background: var(--jb-cream); color: var(--jb-ink); }
.jb-hub__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 14px; padding: 34px; min-width: 0; }
.jb-hub__copy .jb-eyebrow { color: var(--jb-ink); }
.jb-hub__heading { margin: 0; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
.jb-hub__description { margin: 0; max-width: 320px; font-size: 13.5px; line-height: 1.75; }
.jb-hub__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.jb-hub__media { position: relative; min-width: 0; }
.jb-hub__media :is(img, .jb-cover) { position: absolute; inset: 0; object-position: 50% var(--jb-hub-position, 60%); }
.jb-hub__panel { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.jb-hub__card { display: block; padding: 14px; border: 1px solid var(--jb-line); border-radius: 10px; background: var(--jb-white); }
.jb-hub__card-title { margin: 0; font-size: 13.5px; font-weight: 600; }
.jb-hub__card-text { margin: 2px 0 0; color: var(--jb-muted); font-size: 11.5px; line-height: 1.5; }
.jb-hub__two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.jb-hub__two a { padding: 8px; border: 1px solid var(--jb-ink); border-radius: 6px; color: var(--jb-ink); font-size: 12px; font-weight: 500; text-align: center; }
.jb-hub__two a.jb-hub__solid { background: var(--jb-ink); color: var(--jb-white); }
.jb-hub__goal-picker summary { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; font-weight: 600; cursor: pointer; list-style: none; }
.jb-hub__goal-picker summary::-webkit-details-marker { display: none; }
.jb-hub__goal-change { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.jb-hub__goal-options [data-goal-options] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.jb-hub__goal-options [data-goal-tier-id] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px; border: 1px solid var(--jb-line); border-radius: 6px; background: var(--jb-white); font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.jb-hub__goal-options [data-goal-tier-id] i { display: none; }
.jb-hub__goal-options [data-goal-tier-id] strong { font-size: 14px; }
.jb-hub__goal-options [data-goal-tier-id].is-selected { border-color: var(--jb-purple); background: var(--jb-lavender); }
.jb-hub__goal-options [data-goal-clear] { margin-top: 8px; font-size: 11.5px; }
.jb-hub__progress { position: relative; height: 6px; margin: 10px 0 6px; overflow: hidden; border-radius: 4px; background: #ece8e1; }
.jb-hub__progress span { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: 4px; background: var(--jb-purple); transition: width .3s ease; }
.jb-hub__goal-status { margin: 0; color: var(--jb-muted); font-size: 11.5px; line-height: 1.5; }
.jb-hub__tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.jb-hub__tools a { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 10px; border-radius: 8px; background: var(--jb-grey); color: var(--jb-ink); font-size: 12px; }
.jb-hub__tools a:hover { background: var(--jb-lavender); }
.jb-hub__tools small { color: var(--jb-muted); font-size: 10.5px; }

/* Stats bar (inside the hero hub) */
.jb-stats { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin-block: 16px 0; margin-inline: auto; }
.jb-stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 2px; padding: 14px 20px; border-block: 1px solid var(--jb-line); }
.jb-stats > [hidden] { display: none; }
.jb-stats > div:first-child { border-left: 1px solid var(--jb-line); border-radius: 10px 0 0 10px; }
.jb-stats > div:last-child { border-right: 1px solid var(--jb-line); border-radius: 0 10px 10px 0; }
.jb-stats > div + div { border-left: 1px solid var(--jb-line); }
.jb-stats dt { color: var(--jb-muted); font-size: 11.5px; }
.jb-stats dd { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.jb-hub .jb-stats { width: calc(100% - var(--jb-gutter) * 2); max-width: var(--jb-max); padding-inline: 0; }

/* Price tiles */
.jb-prices__grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.jb-prices__tile a { display: grid; grid-template-columns: minmax(0, 1fr) 96px; align-items: center; gap: 12px; height: 100%; padding: 16px 16px 16px 20px; border-radius: 10px; color: var(--jb-ink); }
.jb-prices__tile--cream a { background: #f8edde; }
.jb-prices__tile--lavender a { background: var(--jb-lavender); }
.jb-prices__tile--sage a { background: #e8f1ea; }
.jb-prices__tile--rose a { background: #f2e7ee; }
.jb-prices__copy { display: flex; flex-direction: column; min-width: 0; }
.jb-prices__copy small { color: var(--jb-muted); font-size: 11px; }
.jb-prices__copy b { font-size: 30px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.jb-prices__copy span { margin-top: 2px; font-size: 11.5px; font-weight: 500; }
.jb-prices__media { width: 96px; height: 96px; overflow: hidden; border-radius: 8px; }
.jb-prices__tile a:hover .jb-prices__copy span { text-decoration: underline; text-underline-offset: 3px; }

/* Ranking + pricing */
.jb-rankprice__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.jb-rank { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; margin: 12px 0 0; padding: 0; list-style: none; }
.jb-rank a { display: grid; grid-template-columns: 22px 46px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--jb-line); color: inherit; font-size: 12px; }
.jb-rank a:hover .jb-rank__title { text-decoration: underline; }
.jb-rank em { color: var(--jb-muted); font-size: 16px; font-style: normal; font-weight: 700; text-align: center; }
.jb-rank li:nth-child(-n+3) em { color: var(--jb-purple); }
.jb-rank__img { width: 46px; height: 46px; overflow: hidden; border-radius: 6px; background: var(--jb-grey); }
.jb-rank__title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.jb-rank b { font-size: 12.5px; font-variant-numeric: tabular-nums; }

/* Buyer types */
.jb-buyers__grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 18px; margin: 18px 0 0; padding: 0; list-style: none; }
.jb-buyers__card { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 10px; background: var(--jb-grey); }
.jb-buyers__card h3 { margin: 0; font-size: 17px; }
.jb-buyers__card p { margin: 0; color: var(--jb-muted); font-size: 12.5px; line-height: 1.6; }
.jb-buyers__card ul { display: grid; gap: 3px; margin: 2px 0 0; padding-left: 16px; font-size: 12px; }
.jb-buyers__card .jb-link { margin-top: auto; padding-top: 6px; }

/* Services */
.jb-services__row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin-block: 0; list-style: none; }
.jb-services__item { display: flex; flex-direction: column; gap: 6px; padding: 22px 18px; border-block: 1px solid var(--jb-line); }
.jb-services__item + .jb-services__item { border-left: 1px solid var(--jb-line); }
.jb-services__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--jb-lavender); color: var(--jb-purple); }
.jb-services__icon svg { width: 18px; height: 18px; }
.jb-services__item b { font-size: 13.5px; }
.jb-services__item a { color: inherit; }
.jb-services__item p { margin: 0; color: var(--jb-muted); font-size: 11.5px; line-height: 1.55; }

/* Shipping + payment */
.jb-shippay__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; align-items: start; }
.jb-shippay__icons { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 4px; }
.jb-shippay__icons svg { width: 38px; height: 24px; }

/* FAQ + contact */
.jb-sec.jb-faqc { padding-bottom: 48px; }
.jb-faqc__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 340px; gap: 0 32px; align-items: start; }
.jb-faqc__col .jb-h3 { margin-bottom: 6px; }
.jb-faqc__item { border-bottom: 1px solid var(--jb-line); }
.jb-faqc__item summary { display: flex; justify-content: space-between; gap: 16px; padding: 15px 0; font-size: 14px; font-weight: 500; cursor: pointer; list-style: none; }
.jb-faqc__item summary::-webkit-details-marker { display: none; }
.jb-faqc__item summary span::before { content: "+"; font-size: 18px; line-height: 1; }
.jb-faqc__item[open] summary span::before { content: "−"; }
.jb-faqc__answer { padding-bottom: 14px; color: var(--jb-muted); font-size: 13px; line-height: 1.65; }
.jb-faqc__contact { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 10px; background: var(--jb-cream); color: var(--jb-ink); }
.jb-faqc__contact dl { display: grid; gap: 8px; margin: 4px 0; }
.jb-faqc__contact dl > div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(0, 0, 0, .08); font-size: 12px; }
.jb-faqc__contact dt { color: var(--jb-muted); }
.jb-faqc__contact dd { margin: 0; font-weight: 600; text-align: right; user-select: all; }
.jb-faqc__contact .jb-btn { width: 100%; }

/* Desktop footer */
.jb-foot { background: var(--jb-ink); color: #cfcbd8; }
.jb-foot__news { background: #bfb7ff; color: var(--jb-ink); }
.jb-foot__news-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 22px; }
.jb-foot__news p { margin: 2px 0 0; font-size: 12.5px; }
.jb-foot__form { display: flex; gap: 8px; }
.jb-foot__form input { width: 300px; padding: 10px 14px; border: 0; border-radius: 8px; background: var(--jb-white); font: inherit; font-size: 13px; }
.jb-foot__msg { margin: 6px 0 0; font-size: 12px; }
.jb-foot__cols { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; padding-block: 40px 8px; }
.jb-foot__col h2 { margin: 0 0 12px; color: var(--jb-white); font-size: 12px; letter-spacing: .1em; }
.jb-foot__col ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 12.5px; }
.jb-foot__col a { color: inherit; }
.jb-foot__col a:hover { color: var(--jb-white); text-decoration: underline; }

@media (min-width: 960px) and (max-width: 1199px) {
  .jb-hub__grid { grid-template-columns: 200px minmax(0, 1fr) 248px; }
  .jb-hub__copy { padding: 24px; }
  .jb-faqc__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 32px; }
  .jb-faqc__contact { grid-column: 1 / -1; }
  .jb-rank { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .jb-hub__progress span { transition: none; }
}
.jb-prices__copy b.jb-prices__title { font-size: 18px; line-height: 1.3; }
.jb-perks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.jb-perks li { display: flex; flex-direction: column; gap: 2px; padding: 10px 8px; border: 1px dashed #cec4b7; border-radius: 8px; text-align: center; font-size: 11.5px; }
.jb-perks b { font-size: 16px; font-variant-numeric: tabular-nums; }

/* ---- Fixes after live review (2026-10-05) ---- */
/* Hidden stats (e.g. stock before the API answers) must not leave an empty cell. */
.jb-stats > div[hidden] { display: none; }

/* Buttons: dark primary / outlined secondary, independent of the section color scheme. */
:is(.jb-hub, .jb-sec, .jb-foot) .button.jb-btn {
  --color-button-background: 23, 23, 23;
  --color-button-text: 255, 255, 255;
  --button-background-opacity: 1;
  --alpha-button-background: 1;
  min-height: 42px;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  border-radius: 8px;
}
:is(.jb-hub, .jb-sec, .jb-foot) .button.jb-btn.button--secondary {
  --color-button-secondary-background: 255, 255, 255;
  --color-button-secondary-text: 23, 23, 23;
  --color-button-secondary-border: 23, 23, 23;
  --button-border-opacity: 1;
}
:is(.jb-hub, .jb-sec, .jb-foot) .button.jb-btn::after { border-radius: 8px; }
.jb-foot__form .button.jb-btn { min-height: 0; }

/* Buyer-type points keep their bullets. */
.jb-buyers__card ul { list-style: disc; }
.jb-buyers__card ul li::marker { color: var(--jb-purple); }

/* Footer: the desktop columns sit directly on the existing black footer. */
.jb-foot { background: #000; }
.jb-foot__cols { padding-block-end: 24px; border-bottom: 1px solid #2a2a2a; }
.jb-foot__about p { margin: 0 0 6px; font-size: 12.5px; line-height: 1.6; }
@media (min-width: 960px) {
  /* Company info now lives in the desktop "About us" column; hide the duplicate block. */
  body:has(.jb-foot__about) .footer .footer__custom-text { display: none; }
}

/* ---- Typography pass (2026-10-05) ----
   Three heading levels: section titles in the display font at one size, card titles in Poppins 600,
   body copy no smaller than 13px. Key numbers use the display font so they read as selling points. */
:is(.jb-util, .jb-hub, .jb-sec, .jb-foot) {
  --jb-muted: #57534e;
  --jb-display: var(--sort-title1-font, inherit);
}
.jb-h2 { font-size: 32px; line-height: 1.12; }
.jb-sec__head { margin-bottom: 22px; }
:is(.jb-h3, .jb-h4, .jb-buyers__card h3) { font-family: inherit; font-weight: 600; letter-spacing: -.01em; }
.jb-h3 { font-size: 19px; line-height: 1.3; }
.jb-h4 { font-size: 16px; }
.jb-sub { font-size: 14px; line-height: 1.6; }
.jb-link { font-size: 13.5px; }
.jb-eyebrow { font-size: 11.5px; }
.jb-table { font-size: 13.5px; }
.jb-table th { font-size: 11.5px; }

/* Utility bar: keep the first two selling points when the window is too narrow for all of them. */
.jb-util { font-size: 12px; }
@media (max-width: 1399px) {
  .jb-util__points li:nth-child(n+3) { display: none; }
}

/* Hero hub */
.jb-hub__side { font-size: 13.5px; }
.jb-hub__side small { font-size: 12px; }
.jb-hub__side-title { font-size: 11px; color: var(--jb-purple); }
.jb-hub__description { font-size: 14.5px; }
.jb-hub__card-title { font-size: 14.5px; }
.jb-hub__card-text, .jb-hub__goal-status { font-size: 12.5px; }
.jb-hub__goal-picker summary { font-size: 14px; }
/* Help links: one list of rows instead of a 2x2 grid with an empty cell. */
.jb-hub__tools { grid-template-columns: minmax(0, 1fr); gap: 0; overflow: hidden; border: 1px solid var(--jb-line); border-radius: 10px; background: var(--jb-white); }
.jb-hub__tools li + li { border-top: 1px solid var(--jb-line); }
.jb-hub__tools a { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 11px 14px; border-radius: 0; background: none; font-size: 14px; }
.jb-hub__tools a::after { content: "→"; grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--jb-purple); }
.jb-hub__tools small { font-size: 12.5px; }

/* Stats bar: big display-font numbers, small units, short labels. */
.jb-stats > div { gap: 4px; padding: 16px 22px; }
.jb-stats dt { font-size: 13px; }
.jb-stats dd { font-family: var(--jb-display); font-size: 32px; font-weight: 400; line-height: 1.05; }
.jb-stats dd small { margin-left: 3px; color: var(--jb-muted); font-family: var(--sort-body-font, inherit); font-size: 16px; font-weight: 500; }

/* Price tiles: "UNDER" label, large price, styles count as a pill. */
.jb-prices__tile a { padding: 18px 18px 18px 24px; }
.jb-prices__copy small { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.jb-prices__copy b { font-family: var(--jb-display); font-size: 40px; font-weight: 400; line-height: 1.05; }
.jb-prices__copy b.jb-prices__title { font-size: 24px; }
.jb-prices__copy span { align-self: flex-start; margin-top: 10px; padding: 5px 12px; border-radius: 99px; background: rgba(255, 255, 255, .75); font-size: 13px; }
.jb-prices__media { width: 112px; height: 112px; }
.jb-prices__tile a { grid-template-columns: minmax(0, 1fr) 112px; }

/* Best sellers: two-line titles with the price under them instead of cutting titles to two words. */
.jb-rank a { grid-template-columns: 22px 46px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px; font-size: 13px; }
.jb-rank em { grid-row: 1 / span 2; font-family: var(--jb-display); font-weight: 400; font-size: 18px; }
.jb-rank__img { grid-row: 1 / span 2; }
.jb-rank__title { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.35; }
.jb-rank b { font-size: 13.5px; }

/* Order perks */
.jb-perks li { font-size: 12.5px; }
.jb-perks b { font-family: var(--jb-display); font-size: 20px; font-weight: 400; }

/* Buyer types and services */
.jb-buyers__card { padding: 24px; }
.jb-buyers__card h3 { font-size: 18px; }
.jb-buyers__card p { font-size: 14px; }
.jb-buyers__card ul { gap: 5px; font-size: 13.5px; }
.jb-services__item b { font-size: 15px; }
.jb-services__item p { font-size: 13px; }

/* FAQ, contact, footer */
.jb-faqc__item summary { font-size: 15px; }
.jb-faqc__answer { font-size: 14px; }
.jb-faqc__contact dl > div { font-size: 13.5px; }
.jb-foot__news p { font-size: 14px; }
.jb-foot__col h2 { font-size: 12.5px; }
.jb-foot__col ul, .jb-foot__about p { font-size: 13.5px; }
/* About us holds the longest lines (company name, email); give it a wider first column. */
.jb-foot__cols:has(.jb-foot__about) { grid-template-columns: minmax(0, 1.5fr); }

@media (min-width: 960px) {
  /* Native homepage sections share the jb section title size and sentence case. */
  [data-jb-desktop-v2="true"][data-page-type="index"] .block-heading.title3,
  [data-jb-desktop-v2="true"][data-page-type="index"] .style-direction__heading { font-size: 32px; line-height: 1.12; }
  [data-jb-desktop-v2="true"][data-page-type="index"] .style-direction__eyebrow { color: #7661d5; font-size: 11.5px; letter-spacing: .15em; }
  [data-jb-desktop-v2="true"][data-page-type="index"] .style-direction__count { font-size: 13px; }
  [data-jb-desktop-v2="true"] .block-product-card .block-product-title { font-size: 13px; line-height: 1.45; }

  /* "View all": the theme draws a white 1px ring over the border; use the ring as the border instead. */
  [data-jb-desktop-v2="true"][data-page-type="index"] .featured-collection__view-more { border: 0; }
  [data-jb-desktop-v2="true"][data-page-type="index"] .featured-collection__view-more::after { box-shadow: 0 0 0 1px #171717; }

  /* Footer bottom: social, payment, country and policies on one centered axis; drop the empty group
     left behind by the hidden company text. */
  body:has(.jb-foot__about) .footer .footer__group:has(> .footer__custom-text):not(:has(> :not(.footer__custom-text))) { display: none; }
  .footer .footer__group:has(> .footer__payment-icons) { align-items: center; gap: 20px; padding-block: 28px; }
  .footer .footer__group > :is(.footer__payment-icons, .footer__localization-form) { width: auto; max-width: 100%; text-align: center; }
}
