/* =======================================================================
   7of9 JUICEIN v3.5.8 — COORDINATED LAUNCH AUTHORITY
   Applies across all 17 approved Elementor pages and the shared theme modal.
   One scoped correction layer. Does not change media files, labels, products,
   checkout, Elementor HTML or Site Media saved configurations.
   ======================================================================= */
:root {
  --j9-final-forest:#073c2d;
  --j9-final-leaf:#47735a;
  --j9-final-line:rgba(15,67,48,.12);
  --j9-final-cream:#fffdf7;
  --j9-final-lime:#eaf45b;
}

/* Shared Product Details: compact, viewport-safe, no positional shifting.
   The panel remains content-sized for simple juices; additional options scroll
   inside the same panel. Only one scroll container exists. */
body.juicein-v2 [data-jx-product-modal] {
  inset:0 !important;
  display:none !important;
  box-sizing:border-box !important;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)) !important;
  place-items:center !important;
  overflow:hidden !important;
}
body.juicein-v2 [data-jx-product-modal].is-open {display:grid !important;}
body.juicein-v2 [data-jx-product-modal]:not(.is-open){display:none !important;}
body.juicein-v2 [data-jx-product-modal] > .jx-v2-product-modal__panel,
body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__panel {
  position:relative !important;
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  inset:auto !important;
  left:auto !important;
  top:auto !important;
  grid-area:1/1 !important;
  align-self:center !important;
  justify-self:center !important;
  width:min(1250px,100%) !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:min(700px,calc(100dvh - 32px)) !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--j9-final-line) !important;
  border-radius:clamp(14px,1.5vw,20px) !important;
  background:var(--j9-final-cream) !important;
  overflow:hidden !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
  opacity:1 !important;
  box-shadow:0 24px 72px rgba(4,40,28,.23) !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
  display:grid !important;
  grid-template-columns:minmax(0,37%) minmax(0,63%) !important;
  grid-template-rows:minmax(0,auto) !important;
  align-items:stretch !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:min(700px,calc(100dvh - 32px)) !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable !important;
  overscroll-behavior:contain !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] {
  position:sticky !important;
  top:0 !important;
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:stretch !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:min(700px,calc(100dvh - 32px)) !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-right:1px solid var(--j9-final-line) !important;
  overflow:hidden !important;
  background:#f3f6f0 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] > :is(img[data-jx-modal-image],video[data-jx-modal-video-v284]):not([hidden]) {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:none !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > .jx-v2-product-modal__content {
  grid-column:2 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:start !important;
  justify-content:flex-start !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:485px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:clamp(15px,1.5vw,20px) clamp(18px,2vw,26px) 18px !important;
  overflow:visible !important;
  background:#fffdf8 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content h2 {
  margin:0 54px 1px 0 !important;
  font-size:clamp(27px,2.65vw,39px) !important;
  line-height:1.07 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance !important;
  color:var(--j9-final-forest) !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content > p[data-jx-modal-desc] {
  margin:0 0 2px !important;
  line-height:1.43 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__badges,
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__price,
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info,
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config,
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__info {margin-top:0 !important;margin-bottom:0 !important;}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info {gap:7px !important;}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__fact {padding:8px 10px !important;}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config {gap:7px 10px !important;}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__info {gap:4px 10px !important;}
body.juicein-v2 [data-jx-product-modal] [data-jx-modal-add] {
  min-height:48px !important;
  flex:none !important;
  margin:10px 0 0 !important;
  padding:10px 14px !important;
  border-radius:11px !important;
  font-weight:750 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__close {
  position:absolute !important;
  z-index:80 !important;
  inset:10px 10px auto auto !important;
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--j9-final-forest) !important;
  box-shadow:0 5px 18px rgba(0,0,0,.13) !important;
  transform:none !important;
}
body.juicein-v2 [data-jx-product-modal] :is(.jx-v2-product-modal__close,[data-jx-modal-add]):focus-visible {
  outline:3px solid #b6cf39 !important;
  outline-offset:2px !important;
}
body.juicein-v2 [data-jx-product-modal] [hidden]{display:none !important;}

/* Tablets and narrow windows — maintain generous tap targets, sensible scroller. */
@media(max-width:940px){
  body.juicein-v2 [data-jx-product-modal] {padding:max(9px,env(safe-area-inset-top)) 9px max(9px,env(safe-area-inset-bottom)) !important;}
  body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__panel {
    width:min(680px,100%) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 18px) !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:calc(100dvh - 18px) !important;
    overflow-y:auto !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] {
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:clamp(170px,28dvh,235px) !important;
    min-height:0 !important;
    max-height:none !important;
    border:0 !important;
    border-bottom:1px solid var(--j9-final-line) !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] > :is(img[data-jx-modal-image],video[data-jx-modal-video-v284]):not([hidden]) {
    object-fit:contain !important; /* full label/cap on small screens */
    background:#f3f6f0 !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > .jx-v2-product-modal__content {
    display:flex !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:14px 16px 22px !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config {grid-template-columns:1fr !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config fieldset {grid-column:1/-1 !important;}
}
@media(max-width:600px){
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info {grid-template-columns:1fr !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content h2 {font-size:clamp(25px,6vw,33px) !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media]{height:clamp(150px,26dvh,208px) !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__close {inset:8px 8px auto auto !important;width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > .jx-v2-product-modal__content {padding:13px 13px 20px !important;}
}
@media(max-height:560px) and (min-width:941px){
  body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__panel {max-height:calc(100dvh - 20px) !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {max-height:calc(100dvh - 20px) !important;}
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > .jx-v2-product-modal__content {min-height:0 !important;}
}

/* Pure Cane Classic advert: intentional compact portrait, rather than a
   full-column, excessively tall slab. Source image remains unmodified. */
body.juicein-v2 #j9-home-v365[data-j9-release-version="2.9.5"] .j9h-cane__grid {align-items:center !important;gap:clamp(20px,3vw,36px) !important;}
body.juicein-v2 #j9-home-v365[data-j9-release-version="2.9.5"] .j9h-cane__media {
  justify-self:center !important;
  align-self:center !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:445px !important;
  height:auto !important;
  max-height:570px !important;
  min-height:0 !important;
  aspect-ratio:clamp(.72,var(--j9-source-ratio,.78),.86) !important;
  padding:0 !important;
  margin-inline:auto !important;
  overflow:hidden !important;
}
body.juicein-v2 #j9-home-v365[data-j9-release-version="2.9.5"] .j9h-cane__media > .j9h-cane__media-button {
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
body.juicein-v2 #j9-home-v365[data-j9-release-version="2.9.5"] .j9h-cane__media-button > img[data-j9-cane-image]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-position:center center !important;
}

/* Editorial images and video: remove *frame* gutters, including Media gallery
   overlays. Respect per-slot inline !important fit/position from Site Media. */
body.juicein-v2 :is(
  #j9-home-v365 .j9h-hero__media,
  #j9-home-v365 .j9h-occasion__media,
  #j9-home-v365 .j9h-standard__media,
  #j9-drinks-v201 .j9d-bigger__media,
  #j9-bulk-v200 .j9b-hero__media,
  #j9-bulk-v200 .j9b-range-card > figure,
  #juicein-services-v2 .ji-sv-v2__service-media,
  #juicein-popup-page .ji-popup-hero-media,
  #juicein-about-page-v4 .ji-about-hero-media-v4,
  #juicein-about-page-v4 .ji-about-story-media-v48,
  #j9-smoothies-v201 .j9s-signature__media,
  #j9-pairings-v200 .j9p-signature__media
){padding:0 !important;overflow:hidden !important;}
body.juicein-v2 .juicein-sm-stage,
body.juicein-v2 .juicein-sm-slide {margin:0 !important;padding:0 !important;overflow:hidden !important;}
body.juicein-v2 .juicein-sm-slide-media {max-width:none !important;max-height:none !important;width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;}

/* Harmonise cards/typography without changing the text, products, ratings or
   purchase/order actions. */
body.juicein-v2 :is(#j9-home-v365,#j9-drinks-v201,#j9-juices-v202,#j9-smoothies-v201,#j9-shots-v200,#j9-pairings-v200,#j9-bulk-v200,#juicein-services-v2,#juicein-popup-page,#juicein-about-page-v4) :is(h1,h2,h3){text-wrap:balance;}
body.juicein-v2 :is(#j9-home-v365,#j9-drinks-v201,#j9-juices-v202,#j9-smoothies-v201,#j9-shots-v200,#j9-pairings-v200,#j9-bulk-v200,#juicein-services-v2,#juicein-popup-page,#juicein-about-page-v4) :is(p,li){overflow-wrap:break-word;}
body.juicein-v2 :is(#j9-drinks-v201 .j9d-product__body,#j9-juices-v202 .j9j-card__body,#j9-smoothies-v201 .j9s-card__body,#j9-shots-v200 .j9w-card__body,#j9-pairings-v200 .j9p-card__body){min-width:0 !important;}
body.juicein-v2 :is(#j9-drinks-v201 .j9d-product__body h3,#j9-juices-v202 .j9j-card__body h3,#j9-smoothies-v201 .j9s-card__body h3,#j9-shots-v200 .j9w-card__body h3,#j9-pairings-v200 .j9p-card__body h3){line-height:1.14 !important;letter-spacing:-.025em !important;}
@media(max-width:768px){
  body.juicein-v2 #j9-home-v365[data-j9-release-version="2.9.5"] .j9h-cane__media{max-width:min(100%,410px) !important;max-height:540px !important;}
}
@media(prefers-reduced-motion:reduce){
  body.juicein-v2 [data-jx-product-modal],body.juicein-v2 [data-jx-product-modal] *,body.juicein-v2 .juicein-sm-slide{animation:none !important;transition:none !important;}
}
/* END v3.5.8 */
