/**
 * JuiceIN v3.4.8: PRODUCT MODAL ONLY.
 * Intentionally does not style any page, hero tile, product card or page typography.
 */

/* The shared product popup — desktop information visible at a glance. */
body.juicein-v2 [data-jx-product-modal] {
  position: fixed !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  padding: clamp(8px,1.25vw,16px) !important;
  display: none !important;
  place-items: center !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: minmax(0,1fr) !important;
  overflow: hidden !important;
  transform: none !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 {
  position: relative !important;
  grid-area: 1/1 !important;
  place-self: center !important;
  box-sizing: border-box !important;
  inset: auto !important;
  width: min(1320px,100%) !important;
  max-width: 100% !important;
  height: min(840px,calc(100dvh - 24px)) !important;
  max-height: calc(100dvh - 24px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transform: none !important;
  background: #fffdf8 !important;
  box-shadow: 0 25px 75px rgba(6,38,28,.26) !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
  display: grid !important;
  grid-template-columns: minmax(0,32%) minmax(0,68%) !important;
  grid-template-rows: minmax(100%,auto) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: auto !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: sticky !important;
  top: 0 !important;
  box-sizing: border-box !important;
  align-self: start !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: min(840px,calc(100dvh - 24px)) !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  background: linear-gradient(145deg,#f1f5eb,#f7f9f1) !important;
  border: 0 !important;
  border-right: 1px solid rgba(15,80,51,.09) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.juicein-v2 [data-jx-product-modal] figure[data-jx-modal-media] > img[data-jx-modal-image]:not([hidden]),
body.juicein-v2 [data-jx-product-modal] figure[data-jx-modal-media] > video:not([hidden]) {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  clip-path: 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: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: clamp(13px,1.6vw,20px) clamp(18px,2.2vw,28px) 16px !important;
  overflow: visible !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content .jx-v2-eyebrow {
  margin: 0 0 2px !important;
  color: #47785e !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
  line-height: 1.2 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content h2 {
  margin: 0 54px 3px 0 !important;
  padding: 0 !important;
  font-size: clamp(26px,2.8vw,36px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: break-word !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__badges { gap: 5px !important; margin: 0 0 3px !important; }
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__badges span {
  min-height: 22px !important;
  padding: 3px 9px !important;
  font-size: 10px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__price {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 0 5px !important;
  text-decoration: none !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__price strong {
  font-size: 28px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content > p[data-jx-modal-desc] {
  margin: 0 0 7px !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 6px !important;
  margin: 0 0 8px !important;
  min-width: 0 !important;
  width: 100% !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__fact {
  box-sizing: border-box !important;
  grid-column: auto !important;
  min-width: 0 !important;
  padding: 7px 9px !important;
  border: 1px solid rgba(20,80,52,.10) !important;
  border-radius: 10px !important;
  background: #f8faf6 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__fact[data-jx-modal-serving-wrap] { grid-column: auto !important; }
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__fact h3 {
  margin: 0 0 3px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__fact :is(p,li,small) {
  font-size: 11.5px !important;
  line-height: 1.32 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 5px 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 6px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config fieldset {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config fieldset[data-jx-modifier-field],
body.juicein-v2 [data-jx-product-modal] .jx-v2-config-note { grid-column: 1/-1 !important; }
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config legend {
  margin: 0 0 5px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 5px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-choice span {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 43px !important;
  padding: 5px 6px !important;
  border-radius: 9px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-choice :is(strong,small) {
  font-size: 10px !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-config-note {
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__info {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 4px 10px !important;
  margin: 0 0 6px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__info p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 10.5px !important;
  line-height: 1.3 !important;
}
body.juicein-v2 [data-jx-product-modal] [data-jx-modal-add] {
  display: block !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  border-radius: 11px !important;
  font-size: 14px !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__close {
  position: absolute !important;
  inset: 9px 9px auto auto !important;
  z-index: 40 !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.96) !important;
  color: #0c4633 !important;
  box-shadow: 0 5px 20px rgba(4,37,26,.15) !important;
}
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__close:focus-visible,
body.juicein-v2 [data-jx-product-modal] [data-jx-modal-add]:focus-visible {
  outline: 3px solid #91b52a !important;
  outline-offset: 2px !important;
}
body.juicein-v2 [data-jx-product-modal] [hidden] { display: none !important; }

/* On phones and smaller tablets we preserve readable sizes and scroll access:
   a complete long menu cannot simultaneously fit into a 320px screen. */
@media (max-width: 900px) {
  body.juicein-v2 [data-jx-product-modal] { padding: 7px !important; }
  body.juicein-v2 [data-jx-product-modal] > .jx-v2-product-modal__panel {
    width: min(650px,100%) !important;
    height: calc(100dvh - 14px) !important;
    max-height: calc(100dvh - 14px) !important;
    border-radius: 16px !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    overflow-x: hidden !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;
    top: auto !important;
    display: grid !important;
    width: 100% !important;
    height: clamp(155px,28dvh,250px) !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 8px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(15,80,51,.1) !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > .jx-v2-product-modal__content {
    display: flex !important;
    width: 100% !important;
    padding: 14px 15px 22px !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content h2 { font-size: clamp(26px,5.2vw,33px) !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-modal__fact[data-jx-modal-serving-wrap] { grid-column: 1/-1 !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-config { grid-template-columns: 1fr !important; gap: 9px !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-config-note { grid-column: 1 !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-choice span { min-height: 48px !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-choice :is(strong,small) { font-size: 11px !important; }
}
@media (max-width: 480px) {
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__product-info,
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__info { grid-template-columns: 1fr !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__content { padding-inline: 12px !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-choice-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 355px) {
  body.juicein-v2 [data-jx-product-modal] .jx-v2-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] { height: clamp(140px,25dvh,200px) !important; }
}

/* v3.4.5 visual QA correction — content-sized desktop panel, never a tall blank sheet. */
@media (min-width: 901px) {
  body.juicein-v2 [data-jx-product-modal] > .jx-v2-product-modal__panel {
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    grid-template-rows: minmax(0,auto) !important;
  }
  body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll > figure[data-jx-modal-media] {
    height: clamp(400px,56dvh,600px) !important;
  }
}
/* ============================================================
   v3.4.6 | Product Details popup motion and focus stability
   Prevent underlying smooth-scroll motion while an overlay is
   open, keep scrollbar allocation stable, and avoid animations
   of the overlay geometry. Product layout and controls unchanged.
   ============================================================ */
html:has(body.jx-v2-lock) {
  scrollbar-gutter: stable !important;
  scroll-behavior: auto !important;
}
body.juicein-v2.jx-v2-lock {
  overscroll-behavior: none !important;
}
body.juicein-v2 [data-jx-product-modal].is-open,
body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__panel,
body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__backdrop {
  animation: none !important;
  transition: none !important;
}
body.juicein-v2 [data-jx-product-modal].is-open .jx-v2-product-modal__scroll {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

/* ================================================================
   v3.4.7 - View Details no-shift scroll lock
   Fixed BODY preserves the background viewport at the captured Y.
   No additional transitions or new popup geometry are introduced.
   ================================================================ */
html:has(body.jx-v2-lock) { scrollbar-gutter: stable !important; }
body.juicein-v2.jx-v2-lock {
  position: fixed !important;
  top: var(--jx-frozen-page-top, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding-right: 0 !important;
  overscroll-behavior: none !important;
}
body.juicein-v2 [data-jx-product-modal],
body.juicein-v2 [data-jx-product-modal] > .jx-v2-product-modal__panel,
body.juicein-v2 [data-jx-product-modal] .jx-v2-product-modal__scroll {
  scroll-behavior: auto !important;
  overflow-anchor: none !important;
}
body.juicein-v2 [data-jx-product-modal].is-open,
body.juicein-v2 [data-jx-product-modal].is-open > .jx-v2-product-modal__panel {
  animation: none !important;
  transition: none !important;
  transform: none !important;
}
