/* The original Wix desktop layout remains in its captured stylesheets.
   These overrides let the same content reflow without the Wix runtime. */
.local-mobile-nav { display: none; }

@media (max-width: 980px) {
  :root { --site-width: 100%; --sticky-offset: 0px; }

  html, body, #SITE_CONTAINER, #main_MF, #site-root, #masterPage,
  #PAGES_CONTAINER, #SITE_PAGES, #SITE_PAGES_TRANSITION_GROUP {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }

  html { scroll-padding-top: 12px !important; }
  body { margin: 0; }
  #masterPage { display: block !important; }
  #SITE_HEADER { position: relative !important; top: 0 !important; }

  /* Wix positions desktop components in overlapping grid cells at 980px.
     Restore their document order, including nested groups and form fields. */
  #masterPage [data-mesh-id$="inlineContent"] {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  #masterPage [data-mesh-id$="inlineContent-gridContainer"] {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
    box-sizing: border-box;
  }

  #masterPage [data-mesh-id$="inlineContent-gridContainer"] > [id],
  #masterPage [data-mesh-id$="inlineContent-gridContainer"] > interact-element > [id] {
    position: relative !important;
    inset: auto !important;
    margin: 0 !important;
    grid-area: auto !important;
    justify-self: stretch !important;
    align-self: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  #masterPage [data-mesh-id$="inlineContent-gridContainer"] > [id]:not(.wixui-vector-image):not([data-semantic-classname="button"]):not(.w4DepW),
  #masterPage [data-mesh-id$="inlineContent-gridContainer"] > interact-element > [id]:not(.wixui-vector-image):not([data-semantic-classname="button"]):not(.w4DepW) {
    width: 100% !important;
  }

  #masterPage .wixui-section,
  #masterPage .wixui-column-strip,
  #masterPage .wixui-column-strip__column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    flex: none !important;
  }

  #masterPage [data-mesh-id^="Container"][data-mesh-id$="gridContainer"] { gap: 0; }
  #masterPage .wixui-section > [data-testid="inline-content"] > [data-testid="mesh-container-content"] {
    padding: 36px 20px !important;
  }
  #masterPage .wixui-rich-text {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    --min-height: 0px;
    overflow-wrap: anywhere;
  }
  #masterPage .wixui-rich-text p { line-height: 1.5 !important; }
  #masterPage .wixui-rich-text h1,
  #masterPage .wixui-rich-text h1 span { font-size: 30px !important; line-height: 1.2 !important; }
  #masterPage .wixui-rich-text h2,
  #masterPage .wixui-rich-text h2 span { font-size: 28px !important; line-height: 1.25 !important; }

  #masterPage .wixui-image {
    width: 100% !important;
    height: auto !important;
    --width: 100%;
    --height: auto;
  }
  #masterPage .wixui-image > [data-testid="linkElement"] { height: auto !important; }
  #masterPage .wixui-image img {
    display: block;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain !important;
  }
  #masterPage .wixui-vector-image { align-self: center !important; }
  #masterPage [data-semantic-classname="button"] { align-self: center !important; }
  #masterPage .wixui-button { max-width: 100%; }

  /* Keep the original contact header, with each contact readable on phones. */
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) 26px !important;
    grid-template-rows: auto auto auto !important;
    align-items: center;
    gap: 10px;
    padding: 14px 20px !important;
  }
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-m0faxv6l {
    grid-area: 1 / 1 / 2 / 4 !important;
    width: 130px !important;
    height: 51px !important;
    justify-self: center !important;
  }
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-lzuhg3xr { grid-area: 2 / 1 / 3 / 2 !important; }
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-lzuh02cj { grid-area: 2 / 2 / 3 / 4 !important; }
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-lzuhpv7d { grid-area: 3 / 1 / 4 / 3 !important; }
  #masterPage [data-mesh-id="SITE_HEADERinlineContent-gridContainer"] > #comp-lzuhozj4 { grid-area: 3 / 3 / 4 / 4 !important; }
  #masterPage [data-mesh-id="comp-lzuhpv7dinlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center;
    gap: 10px;
  }
  #masterPage [data-mesh-id="comp-lzuhpv7dinlineContent-gridContainer"] > #comp-lzuhmlfy { grid-area: 1 / 1 / 2 / 2 !important; }
  #masterPage [data-mesh-id="comp-lzuhpv7dinlineContent-gridContainer"] > #comp-lzuhirlg { grid-area: 1 / 2 / 2 / 3 !important; }
  #comp-lzuh02cj h5, #comp-lzuhirlg h5 { line-height: 1.4 !important; }

  .local-mobile-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px 8px;
    padding: 10px 12px;
    background: #236a10;
    color: white;
    font: 14px/1.4 Arial, sans-serif;
  }
  .local-mobile-nav a { padding: 9px 8px; color: inherit; text-decoration: none; }
  .local-mobile-nav a:focus-visible { outline: 2px solid #fac577; outline-offset: -2px; }
  #comp-lzue4x0s { display: none !important; }

  /* Hero: retain its logo, machine and the three original water pictures. */
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto auto auto auto !important;
    justify-items: center;
    gap: 24px 10px;
  }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > [id] { grid-column: 1 / -1 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzufhnnv {
    grid-area: 1 / 1 / 2 / 4 !important;
    width: 180px !important;
    height: 70px !important;
    justify-self: center !important;
  }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzufu5fs { grid-area: 2 / 1 / 3 / 4 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzufo35n { grid-area: 3 / 1 / 4 / 4 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzuikpeg { grid-area: 4 / 1 / 5 / 2 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzuilir0 { grid-area: 4 / 2 / 5 / 3 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzuiiygc { grid-area: 4 / 3 / 5 / 4 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzujw16v { grid-area: 5 / 1 / 6 / 4 !important; }
  #masterPage [data-mesh-id="comp-lvl0zgy2inlineContent-gridContainer"] > #comp-lzuk7km4 { grid-area: 6 / 1 / 7 / 4 !important; }
  #masterPage #comp-lzuikpeg img, #masterPage #comp-lzuilir0 img, #masterPage #comp-lzuiiygc img { height: 150px !important; }
  #masterPage #comp-lzufu5fs h1, #masterPage #comp-lzufu5fs h1 span { font-size: clamp(26px, 6.8vw, 38px) !important; }

  /* Catalog cards expose their links without relying on hover. */
  #masterPage #comp-lzvcpwcl { width: 100% !important; }
  #comp-lzvcpwcl > [role="list"] { margin: 0 !important; }
  #comp-lzvcpwcl .TmK0x {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    margin: 0 !important;
  }
  #comp-lzvcpwcl [role="listitem"] { width: 100% !important; margin: 0 !important; }
  #masterPage #comp-lzvcpwcl .wixui-repeater__item {
    width: 100% !important;
    max-width: 380px !important;
    margin: 0 auto !important;
  }
  #masterPage [data-mesh-id^="comp-lzvcpwej__"][data-mesh-id$="gridContainer"] { gap: 12px; padding: 0 16px 24px !important; }
  #masterPage [data-mesh-id^="comp-lzvcpwej__"] > [id^="comp-lzvcpwfk__"] { width: calc(100% + 32px) !important; max-width: none !important; margin: 0 -16px !important; }
  #masterPage #comp-lzvcpwcl [id] { transform: none !important; transition: none !important; }
  #masterPage #comp-lzvcpwcl [id^="comp-lzvcpwgg__"] { opacity: 1 !important; visibility: visible !important; align-self: center !important; }
  #masterPage #comp-lzvcpwcl [id^="comp-m0mujr1j__"] { text-align: center; }

  /* About cards, original form and footer keep their captured backgrounds. */
  #masterPage #comp-lzudya42 .gpDCD5 > [data-testid="inline-content"] > [data-testid="mesh-container-content"] { padding: 24px 20px !important; }
  #masterPage #comp-lzvej493, #masterPage #comp-lzvej4a5,
  #masterPage #comp-m0e9mzaw, #masterPage #comp-m0f8pcz2 { height: auto !important; }
  #masterPage [data-mesh-id="comp-lzvej4a5inlineContent-gridContainer"] { gap: 20px; padding: 28px 20px !important; }
  #masterPage #comp-lzvej4ai, #masterPage #comp-lzvej4aw1, #masterPage #comp-lzvej4b3 { width: 100% !important; }
  #comp-lzvej4a5 input, #comp-lzvej4a5 textarea { font-size: 16px !important; }
  #masterPage #comp-lzvej4bt { display: none; }
  #masterPage [data-mesh-id="SITE_FOOTERinlineContent-gridContainer"] { gap: 22px; padding: 36px 24px !important; }
  #masterPage #SITE_FOOTER .wixui-vertical-menu { width: 100% !important; height: auto !important; }
  #masterPage #SITE_FOOTER .wixui-vector-image { align-self: flex-start !important; }
  #masterPage #SITE_FOOTER #comp-m0ffukvf, #masterPage #SITE_FOOTER #comp-m0ffukup { display: none; }
  #masterPage #comp-m0my1rk5 { margin-top: 10px !important; }

  .local-gallery { width: 100%; height: auto !important; box-sizing: border-box; }
  .local-gallery-viewport { width: 100% !important; max-width: 100%; margin: 0 !important; }
  .local-gallery-item { flex: 0 0 100% !important; width: 100% !important; max-width: 100%; height: auto !important; }
  .local-gallery-item img { width: 100%; height: auto !important; object-fit: contain; }
  .local-gallery-prev, .local-gallery-next { position: static !important; }

  /* Product details: stack the original image column above its information. */
  #masterPage .wixui-column-strip { display: block !important; }
  #masterPage .wixui-column-strip > [data-testid="columns"] { display: flex !important; flex-direction: column; width: 100% !important; gap: 28px; }
  body[data-local-page="product"] #masterPage .gpDCD5 > [data-testid="inline-content"] > [data-testid="mesh-container-content"] { padding: 28px 20px !important; }
  body[data-local-page="product"] #masterPage [data-semantic-classname="button"] { height: auto !important; min-height: 28px; max-width: 100%; align-self: flex-start !important; }
  body[data-local-page="product"] #masterPage [data-semantic-classname="button"] .wixui-button { min-height: inherit; }
  body[data-local-page="product"] #masterPage [data-semantic-classname="button"] .wixui-button__label { white-space: normal; }
  body[data-local-page="product"] #masterPage [data-testid="mesh-container-content"] > [id]:has([id^="gallery-wrapper-"]) { height: auto !important; }

  body[data-local-page="product"] [id^="gallery-wrapper-"],
  body[data-local-page="product"] .pro-gallery-parent-container { width: 100% !important; height: auto !important; }
  body[data-local-page="product"] [id^="pro-gallery-container-"] { left: 0 !important; width: 100% !important; height: auto !important; }
  body[data-local-page="product"] [data-hook="gallery-column"] { width: 100% !important; height: auto !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory; }
  body[data-local-page="product"] .gallery-horizontal-scroll-inner { display: flex !important; position: relative; width: 100% !important; height: auto !important; }
  body[data-local-page="product"] [data-hook="group-view"] { position: relative !important; inset: auto !important; flex: 0 0 100%; width: 100% !important; height: auto !important; transform: none !important; --group-left: 0px; --group-width: 100%; scroll-snap-align: start; }
  body[data-local-page="product"] .gallery-item-container,
  body[data-local-page="product"] .gallery-item-wrapper,
  body[data-local-page="product"] [data-hook="image-item"] { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; margin: 0 !important; }
  body[data-local-page="product"] [data-hook="gallery-item-image-img"] { display: block; position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; max-height: 420px; object-fit: contain; }
  body[data-local-page="product"] .nav-arrows-container { right: 8px !important; left: auto !important; z-index: 5; }
  body[data-local-page="product"] [data-hook="nav-arrow-prev"] { left: 8px !important; right: auto !important; }
  body[data-local-page="product"] [data-hook="gallery-thumbnails"] { width: 100% !important; height: 96px !important; overflow-x: auto !important; }
  body[data-local-page="product"] [data-hook="gallery-thumbnails-column"] { display: flex !important; gap: 10px; width: max-content !important; height: 96px !important; }
  body[data-local-page="product"] .thumbnailItem { position: relative !important; inset: auto !important; flex: 0 0 80px; width: 80px !important; height: 80px !important; margin: 8px 0 !important; background-size: contain !important; background-position: center !important; background-repeat: no-repeat !important; }
}

@media (min-width: 600px) and (max-width: 980px) {
  #comp-lzvcpwcl .TmK0x { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #masterPage .wixui-section > [data-testid="inline-content"] > [data-testid="mesh-container-content"] { padding-right: 32px !important; padding-left: 32px !important; }
  #masterPage #comp-lzuikpeg img, #masterPage #comp-lzuilir0 img, #masterPage #comp-lzuiiygc img { height: 220px !important; }
}
