/* JTS v4.2 — Unified Hero Layout System */
.jts-v42-hero{
  box-sizing:border-box;
  position:relative;
  transition:width .2s ease,border-radius .2s ease;
}
.jts-v42-hero--full{
  width:100%;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
  border-radius:0;
}
.jts-v42-hero--wide{
  width:min(var(--jts-v42-wide,1680px),calc(100% - (var(--jts-v42-gap,24px) * 2)));
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:var(--jts-v42-radius,28px);
  overflow:hidden;
}
.jts-v42-hero--boxed{
  width:min(var(--jts-v42-boxed,1380px),calc(100% - (var(--jts-v42-gap,24px) * 2)));
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:var(--jts-v42-radius,28px);
  overflow:hidden;
}

/* Give framed heroes breathing space without disturbing the surrounding sections. */
.jts-v42-hero--wide,
.jts-v42-hero--boxed{
  margin-top:var(--jts-v42-gap,24px)!important;
  margin-bottom:var(--jts-v42-gap,24px)!important;
  box-shadow:0 18px 54px rgba(31,61,46,.08);
}

/* Homepage */
.jts-hero.jts-v42-hero--boxed,
.jts-hero.jts-v42-hero--wide{
  isolation:isolate;
}
.jts-hero.jts-v42-hero--boxed .jts-wrap,
.jts-hero.jts-v42-hero--wide .jts-wrap{
  width:calc(100% - 40px);
}

/* Shop / About / FAQ image heroes */
.jts-shop-hero.jts-v42-hero--boxed,
.jts-shop-hero.jts-v42-hero--wide,
.jts-about-hero.jts-v42-hero--boxed,
.jts-about-hero.jts-v42-hero--wide,
.jts-faq-hero.jts-v42-hero--boxed,
.jts-faq-hero.jts-v42-hero--wide{
  isolation:isolate;
}

/* Product category hero improvements */
.jts-category-hero{
  --jts-v42-cat-min:430px;
  --jts-v42-cat-mobile-min:360px;
  --jts-v42-cat-overlay:.52;
  --jts-v42-cat-position:center center;
}
.jts-category-hero.jts-category-hero--image{
  min-height:var(--jts-v42-cat-min);
  display:flex;
  align-items:center;
  overflow:hidden;
}
.jts-category-hero.jts-category-hero--image:before{
  background-image:
    linear-gradient(rgba(15,38,28,var(--jts-v42-cat-overlay)),rgba(15,38,28,var(--jts-v42-cat-overlay))),
    var(--jts-category-image)!important;
  background-position:var(--jts-v42-cat-position)!important;
}
.jts-category-hero.jts-v42-hero--boxed,
.jts-category-hero.jts-v42-hero--wide{
  isolation:isolate;
}

/* Journal */
.jts-journal-hero.jts-v42-hero--boxed,
.jts-journal-hero.jts-v42-hero--wide,
.jts-journal-archive-hero.jts-v42-hero--boxed,
.jts-journal-archive-hero.jts-v42-hero--wide{
  overflow:hidden;
}
.jts-journal-hero.jts-v42-hero--boxed,
.jts-journal-archive-hero.jts-v42-hero--boxed{
  padding-left:0;
  padding-right:0;
}

/* Treat Box already had its own dedicated full/contained control in v4.1.
   v4.2 deliberately preserves that system and styling unchanged. */

@media(max-width:760px){
  .jts-v42-hero{
    --jts-v42-gap:10px;
    --jts-v42-radius:18px;
  }

  .jts-v42-hero-mobile--full{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .jts-v42-hero-mobile--boxed{
    width:calc(100% - (var(--jts-v42-gap,10px) * 2))!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:var(--jts-v42-radius,18px)!important;
    overflow:hidden!important;
  }

  .jts-category-hero.jts-category-hero--image{
    min-height:var(--jts-v42-cat-mobile-min);
  }

  .jts-hero.jts-v42-hero--boxed .jts-wrap,
  .jts-hero.jts-v42-hero--wide .jts-wrap{
    width:calc(100% - 24px);
  }
}


/* v4.2.1 — Premium homepage slideshow width modes */
.jts-hero-slider.jts-v42-hero--wide,
.jts-hero-slider.jts-v42-hero--boxed{
  isolation:isolate;
}
.jts-hero-slider.jts-v42-hero--wide .jts-hero-slider__track,
.jts-hero-slider.jts-v42-hero--boxed .jts-hero-slider__track{
  border-radius:inherit;
  overflow:hidden;
}
.jts-hero-slider.jts-v42-hero--wide .jts-hero-slide,
.jts-hero-slider.jts-v42-hero--boxed .jts-hero-slide{
  border-radius:inherit;
  overflow:hidden;
}
.jts-hero-slider.jts-v42-hero--wide .jts-wrap,
.jts-hero-slider.jts-v42-hero--boxed .jts-wrap{
  width:calc(100% - 48px);
  max-width:1280px;
}
.jts-hero-slider.jts-v42-hero--wide .jts-hero-slider__arrow--prev,
.jts-hero-slider.jts-v42-hero--boxed .jts-hero-slider__arrow--prev{
  left:18px;
}
.jts-hero-slider.jts-v42-hero--wide .jts-hero-slider__arrow--next,
.jts-hero-slider.jts-v42-hero--boxed .jts-hero-slider__arrow--next{
  right:18px;
}
@media(max-width:760px){
  .jts-hero-slider.jts-v42-hero-mobile--full .jts-wrap{
    width:calc(100% - 28px);
  }
  .jts-hero-slider.jts-v42-hero-mobile--boxed{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }
  .jts-hero-slider.jts-v42-hero-mobile--boxed .jts-wrap{
    width:calc(100% - 24px);
  }
  .jts-hero-slider.jts-v42-hero-mobile--boxed .jts-hero-slider__arrow--prev{
    left:8px;
  }
  .jts-hero-slider.jts-v42-hero-mobile--boxed .jts-hero-slider__arrow--next{
    right:8px;
  }
}
