/** Shopify CDN: Minification failed

Line 24:8 Unexpected "{"
Line 24:17 Expected ":"
Line 32:10 Unexpected "{"
Line 32:19 Expected ":"
Line 36:12 Unexpected "{"
Line 36:21 Expected ":"
Line 41:8 Unexpected "{"
Line 41:17 Expected ":"
Line 48:8 Unexpected "{"
Line 48:17 Expected ":"
... and 24 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:custom-gallery-collection (INDEX:12) */
/* ============================
   Scoped + unique classes
   ============================ */
#cgcol-{{ section.id }} .cgcol-grid {
  display: grid !important;
  gap: 3px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* 2 per row on mobile */
@media screen and (max-width: 767px) {
  #cgcol-{{ section.id }} .cgcol-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

    #cgcol-{{ section.id }} .cgcol-meta {
        margin-bottom: 5px;
    }
}

#cgcol-{{ section.id }} .cgcol-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#cgcol-{{ section.id }} .cgcol-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border: 1px solid transparent;
}

#cgcol-{{ section.id }} .cgcol-card:hover .cgcol-img {
  border: 1px solid #557ef8;
}

#cgcol-{{ section.id }} .cgcol-meta {
  display: flex;
  justify-content: space-between;
  padding: 0 5px;
  margin-bottom: 10px;
}

#cgcol-{{ section.id }} .cgcol-price {
  color: #000;
  font-size: 10px;
  padding: 0;
  font-weight: 400;
  white-space: nowrap;
}

#cgcol-{{ section.id }} .cgcol-oos {
  font-size: 10px;
  text-transform: uppercase;
  color: #D08E8E;
}

#cgcol-{{ section.id }} .cgcol-title {
  font-size: 10px;
}

#cgcol-{{ section.id }} .cgcol-titlelink {
  text-decoration: none;
  color: #000;
  font-weight: 400;
  font-size: 10px;
}

#cgcol-{{ section.id }} .cgcol-subtitle {
  font-size: 10px;
  color: #000;
  line-height: normal;
  font-weight: 200;
  text-transform: uppercase;
}

/* Pagination */
#cgcol-{{ section.id }} .cgcol-pagination {
  margin-top: 20px;
}

#cgcol-{{ section.id }} .cgcol-pagination__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#cgcol-{{ section.id }} .cgcol-pagination__link {
  font-size: 12px;
  text-decoration: none;
  color: #000;
  font-weight: 400;
}

#cgcol-{{ section.id }} .cgcol-disabled {
  opacity: 0.35;
  pointer-events: none;
}

#cgcol-{{ section.id }} .cgcol-pagination__count {
  font-size: 12px;
  font-weight: 400;
}
/* END_SECTION:custom-gallery-collection */

/* START_SECTION:homepage-custom-section (INDEX:23) */
.custom-gallery {
  display: flex;
  flex-wrap: nowrap;
  gap: 3px;
}

.custom-gallery__block {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/*
  Hover stroke.

  History:
  1. Originally `border: 1px solid` on the <img>. Block widths are fractional
     (flex-basis: calc(100% / var(--block-count))), so the right and bottom
     borders landed on a half device-pixel and got clipped by the block's
     overflow: hidden. Result: only two sides rendered.
  2. Then `outline` with a negative offset. All four sides drew, but the
     transition on outline-color left repaint residue: a ghost sliver of blue
     stayed behind after the cursor left.
  3. Now: a pseudo-element on a wrapper. Absolutely positioned at inset: 0,
     so its border box is snapped to the wrapper's own box and all four sides
     paint. No transition, so nothing is left mid-interpolation to repaint.
     This is deterministic regardless of fractional widths.
*/
.custom-gallery__media {
  position: relative;
  display: block;
  line-height: 0;
}

.custom-gallery__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  pointer-events: none;
}

.custom-gallery__block:hover .custom-gallery__media::after {
  border-color: #557ef8;
}

.custom-gallery__block img {
  border: 0;
  outline: 0;
}

.custom-gallery__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.title-price-wrap {
  display: flex;
  justify-content: space-between;
  padding: 0 5px;
}

.custom-gallery__text,
.custom-gallery__price {
  color: #000;
  font-size: 10px;
  font-weight: 200;
  text-align: right;
  padding: 0 5px;
}

.custom-gallery__price {
  font-size: 10px;
  padding: 0;
  font-weight: 400;
}

.custom-gallery__price.out-of-stock {
  font-size: 10px;
  text-transform: uppercase;
  color: #D08E8E;
}

.custom-gallery__title {
  font-size: 10px;
}

.custom-gallery__title a {
  text-decoration: none;
  color: #000;
  font-weight: 400;
  font-size: 10px;
}

.custom-gallery__title a:hover,
.custom-gallery__block:hover .custom-gallery__title a {
  color: #557ef8;
}

.custom-gallery__subtitle {
  font-size: 10px;
  color: #000;
  line-height: normal;
  font-weight: 200;
  text-transform: uppercase;
}

/* ======================
   DESKTOP
====================== */
@media screen and (min-width: 768px) {

  .custom-gallery__block.hide-desktop {
    display: none !important;
  }

  .custom-gallery__block {
    flex: 1 1 0;
  }

  .custom-gallery[data-blocks="1"] .custom-gallery__block {
    flex-basis: 100%;
  }

  .custom-gallery[data-blocks="2"] .custom-gallery__block:first-child {
    flex-basis: 66.33%;
  }

  .custom-gallery[data-blocks="2"] .custom-gallery__block:last-child {
    flex-basis: 33%;
  }

  .custom-gallery[data-blocks="3"] .custom-gallery__block,
  .custom-gallery[data-blocks="4"] .custom-gallery__block,
  .custom-gallery[data-blocks="5"] .custom-gallery__block {
    flex-basis: calc(100% / var(--block-count));
  }
}

/* ======================
   MOBILE
====================== */
@media screen and (max-width: 767px) {

  .custom-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
  }

  .custom-gallery.mobile-first-fullwidth
  .custom-gallery__block:first-child {
    grid-column: 1 / -1;
  }

  .custom-gallery__block.hide-mobile {
    display: none !important;
  }

  .custom-gallery__block.full-width-mobile {
    grid-column: 1 / -1;
  }

  .custom-gallery__media {
    height: 100%;
  }

  .custom-gallery__image {
    height: 100%;
  }
}
/* END_SECTION:homepage-custom-section */

/* START_SECTION:kap-global-styles (INDEX:27) */
:root {
  --kap-hover: #557ef8;
  --kap-grid-max: 1400px;
  --kap-grid-gap: 8px;
}

@media screen and (max-width: 749px) {
  :root {
    --kap-grid-gap: 4px;
  }
}

/* ==========================================================
   Header alignment: "menu" sits on the left edge of the 3rd grid
   column, cart pinned right. Pure CSS, correct from first paint,
   so there is nothing for load-time JS to move.

   Geometry (measured live 2026-07-15): the header and the product
   grid share the same content box (.page-width, 6px side padding,
   inside the 1400px left-aligned body). So inside .header, 100%
   IS the grid's inner width. One column is (100% - 2 gaps) / 3 and
   the left track ends exactly on the 3rd column line:
     left track = 2 * column + 2 * gap   (927.3px when inner = 1388px)

   The earlier calc used min(100%, 1400px) - 12px, which subtracted
   the 12px page padding twice (100% already excludes it) and landed
   the line 8px short at 1400, drifting more at narrower widths.
   Do not reintroduce the subtraction.

   Positioning mechanism: Dawn makes .header__icons justify-self: end
   and shrink-to-fit, so the menu's x depended on element widths
   (the static 385px .menu-btn-wrap, later overwritten by JS). Here
   .header__icons is stretched across its cell with space-between:
   the first flex item pins to the cell's left line (the 3rd column
   line) and the cart pins to the right edge. Element widths,
   including the JS-set .menu-btn-wrap width and the growing cart
   count, no longer affect the resting position at all.

   Dawn renders an empty <nav class="header__inline-menu"> as the
   first flex item in .header__icons; hidden here so .menu-btn-wrap
   is first and takes the line.

   The width JS in header.liquid still runs and still sizes the
   open-menu panel; it is deliberately left untouched. Its writes to
   .menu-btn-wrap no longer move anything at rest.

   Applies from 769px up: the gallery keeps 3 columns down to 769px
   (the theme swaps to the popup Menu link below 992px, but that link
   lives in the same .menu-btn-wrap, so it pins to the same line).
   Below 769px the phone header takes over, untouched.
   ========================================================== */
@media screen and (min-width: 769px) {
  .header {
    --kap-col: calc((100% - 2 * var(--kap-grid-gap)) / 3);
    grid-template-columns: calc(var(--kap-col) * 2 + var(--kap-grid-gap) * 2) 1fr !important;
  }

  .header .header__inline-menu {
    display: none;
  }

  .header .header__icons {
    width: 100%;
    justify-self: stretch;
    justify-content: space-between !important;
  }
}

/* Reserve the scrollbar gutter so pages with and without a scrollbar
   (and the first paint before the scrollbar appears) share the same
   layout width. Without this, the whole grid shifts about 10px when
   the scrollbar arrives, which reads as the header jumping on load
   and between pages. */
html {
  scrollbar-gutter: stable;
}

/* ----------------------------------------------------------
   Cart as true right-aligned text.

   Two things stood between the cart and "right-aligned text that
   fills leftward":
   1. Dawn's .header__icon is a fixed 4.4rem flex box with centered
      content, so the short word "cart" floated ~12px inside its own
      right edge. The cart anchors (targeted by id so the menu link,
      which reuses the same class, is untouched) get width: auto and
      justify-content: flex-end, so the last glyph ends on the edge.
   2. header.liquid nudged the count with position: relative
      (left: 5px desktop, 1px phone), painting "(n)" past the edge.
      A margin makes that gap real layout instead.
   With both, the rightmost glyph always ends exactly on the grid
   edge and the button grows leftward as the count widens.
   ---------------------------------------------------------- */
#cart-icon-bubble,
#custom-cart-link {
  width: auto;
  min-width: 4.4rem;
  justify-content: flex-end;
}

.header__icon--cart .cart-count-bubble {
  left: 0;
  margin-left: 5px;
}

@media screen and (max-width: 768px) {
  .header__icon--cart .cart-count-bubble {
    margin-left: 1px;
  }
}

/* ----------------------------------------------------------
   Modal close control as lowercase text instead of Dawn's circled X
   (the word lives in snippets/product-media-modal.liquid). The modal
   itself is no longer used for product zoom, which is now the inline
   panel below, but the styling stays for anything else that opens it.
   Two-class selectors so these outrank base.css regardless of
   stylesheet order.
   ---------------------------------------------------------- */
.product-media-modal .product-media-modal__toggle {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  width: auto;
  height: auto;
  padding: 8px;
  color: #000;
  font-size: 10px;
  font-weight: 400;
  text-transform: lowercase;
  line-height: normal;
}

.product-media-modal .product-media-modal__toggle:hover {
  color: var(--kap-hover);
  background: transparent;
}

/* ----------------------------------------------------------
   Inline product zoom. Tapping a gallery image opens the full image
   set, stacked large with 9px gaps, in a panel covering the left
   media column. The open sequence is fully synchronous: populate
   sources, open, force layout by reading offsets, then land via
   scrollIntoView with a scroll margin equal to the column's natural
   top offset, so the tapped image sits exactly on the line where
   the media column starts, under the header with its padding,
   top-aligned with the gallery tile on the right; tapping the first
   image causes no movement at all. scrollIntoView is used
   deliberately, window.scrollTo does not move this page reliably.
   While open, the media column grows (via a JS-set min-height) to
   fit the whole stacked set, so the panel always runs full height
   even on products whose column is short, and the page scroll
   carries through every image. On close the column returns to its
   natural height. Each stacked image carries an explicit
   aspect-ratio from its dimensions, so its box holds space in
   loading and error states and offsets stay correct. "close" is
   pinned outside the scroller so it stays put. While open, the
   gallery images hide so their tiles show as plain #f0f0f0 boxes.

   The close text sits 9px in from the panel's top and right edges:
   the button is offset 1px and carries 8px padding, so the glyphs
   land at 9px while the tap target stays comfortable.
   ---------------------------------------------------------- */
.product__media-wrapper {
  position: relative;
}

.kap-zoom-panel {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 12;
  background: #fff;
}

.kap-zoom-panel.open {
  display: block;
}

@media screen and (max-width: 768px) {
  .kap-zoom-panel,
  .kap-zoom-panel.open {
    display: none !important;
  }
}

.kap-zoom-scroll {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.kap-zoom-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
}

.kap-zoom-scroll img {
  display: block;
  width: 100%;
  height: auto;
  background: #f0f0f0;
  cursor: zoom-out;
}

.kap-zoom-scroll img + img {
  margin-top: var(--kap-grid-gap);
}

.kap-zoom-panel .kap-zoom-close {
  position: absolute;
  top: 1px;
  right: 1px;
  z-index: 2;
  border: 0;
  background: transparent;
  padding: 8px;
  color: #000;
  font-size: 10px;
  font-weight: 400;
  text-transform: lowercase;
  line-height: normal;
  cursor: pointer;
}

.kap-zoom-panel .kap-zoom-close:hover {
  color: var(--kap-hover);
}

.custom-media-wrapper.kap-zoom-open .nd-product-media-item img,
.custom-media-wrapper.kap-zoom-open .nd-product-media-item video,
.custom-media-wrapper.kap-zoom-open .nd-product-media-item iframe {
  visibility: hidden;
}

.custom-media-wrapper.kap-zoom-open .snap-gallery-arrow,
.custom-media-wrapper.kap-zoom-open .snap-gallery-dots {
  visibility: hidden;
}

/* ----------------------------------------------------------
   Link hover colour, site-wide. Colour only; underlines keep position.
   ---------------------------------------------------------- */
a:hover,
a:focus-visible,
.link:hover,
.link:focus-visible,
button.link:hover,
button.link:focus-visible,
summary:hover,
.footer-block__details-content a:hover,
.footer__content-bottom a:hover,
.article-card__title a:hover,
.card__heading a:hover,
.breadcrumbs a:hover,
.customer a:hover {
  color: var(--kap-hover);
}

.menu-btn-wrap a:hover,
.menu-btn-wrap .inner-menu-wrap .menu-list a:hover,
.menu-btn-wrap .inner-menu-wrap .submenu-column a:hover,
.menu-btn-wrap .inner-menu-wrap .menu-list .submenu-item a:hover {
  color: var(--kap-hover);
}

.header__icon--cart:hover > span,
.header__icon--cart:hover .cart-count-bubble,
.header__icon--cart:hover .cart-count-bubble span {
  color: var(--kap-hover);
}

.mobile-menu-popup-main .mobile-menu-wrap .menu-list .menu-list-item a:hover,
.mobile-menu-popup-main .mobile-menu-wrap .menu-list .menu-list-item .submenu .submenu-item a:hover,
.mobile-menu-popup-main .mobile-logo-wrap a:hover {
  color: var(--kap-hover);
}

a:hover .svg-wrapper svg,
.header__icon:hover .svg-wrapper svg {
  color: var(--kap-hover);
}

.header__heading-link:hover .header__heading-logo {
  filter: brightness(0) saturate(100%) invert(48%) sepia(51%) saturate(3746%)
    hue-rotate(215deg) brightness(101%) contrast(94%);
}

.header__heading-link:hover .header__heading-logo-wrapper p {
  color: var(--kap-hover);
}

.custom-gallery__title a:hover,
.custom-gallery__block:hover .custom-gallery__title a {
  color: var(--kap-hover);
}
/* END_SECTION:kap-global-styles */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:main-product-grid-text-only (INDEX:126) */
.text-grid-wrap .custom-grid .grid-text {
    font-size: 10px;
    color: #000;
    font-weight: 400;
    text-align: justify;
    line-height: normal;
}

.text-grid-wrap .custom-grid .grid-image-wrapper img {
    max-width: 100%;
    width: 100%;
    display: block;
}

.text-grid-wrap .custom-grid .grid-row {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-row .grid-col {
    flex-basis: 50%;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .image-text {line-height: 1em;}

.text-grid-wrap {
    margin-top: 22.5px;
    border-top: 0.5px solid #000;
    padding-top: 9px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .main-image {
    height: 100%;
}

.text-grid-wrap .custom-grid .main-image-wrap .main-image img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

.text-grid-wrap .custom-grid .grid-inner-wrap {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    align-items: stretch;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text {
    line-height: 1em;
}

.text-grid-wrap .custom-grid.alt-layout .grid-inner-wrap {
    gap: 16px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .row-inner {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-grid.alt-layout {
    border-top: 0.5px solid #000;
    padding-top: 10px;
}

@media (max-width: 768px) {
    .text-grid-wrap .custom-grid .grid-text-2, 
    .text-grid-wrap .custom-grid .grid-text-3, 
    .text-grid-wrap .custom-grid .grid-text-4 {
        padding-top: 0 !important;
    }

    .text-grid-wrap .custom-grid .grid-text-2 p, 
    .text-grid-wrap .custom-grid .grid-text-3 p, 
    .text-grid-wrap .custom-grid .grid-text-4 p {
        margin-top: 0;
    }
}
/* END_SNIPPET:main-product-grid-text-only */

/* START_SNIPPET:product-grid-dual-image-text (INDEX:136) */
.text-grid-wrap .custom-grid .grid-text {
    font-size: 10px;
    color: #000;
    font-weight: 400;
    text-align: justify;
    line-height: normal;
}

.text-grid-wrap .custom-grid .grid-image-wrapper img {
    max-width: 100%;
    width: 100%;
    display: block;
}

.text-grid-wrap .custom-grid .grid-row {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-row .grid-col {
    flex-basis: 50%;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .image-text {line-height: 1em;}

.text-grid-wrap {
    margin-top: 22.5px;
    border-top: 0.5px solid #000;
    padding-top: 9px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .main-image {
    height: 100%;
}

.text-grid-wrap .custom-grid .main-image-wrap .main-image img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

.text-grid-wrap .custom-grid .grid-inner-wrap {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    align-items: stretch;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text {
    line-height: 1em;
}

.text-grid-wrap .custom-grid.alt-layout .grid-inner-wrap {
    gap: 16px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .row-inner {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-grid.alt-layout {
    border-top: 0.5px solid #000;
    padding-top: 10px;
}

.middle-image-wrap.mobile-only {
    display: none;
}

.img-row .grid-wrapper-2 {
    display: none;
}

@media (max-width: 768px) {
    .middle-image-wrap.mobile-only {
        display: block;
    }
    .top-image-wrap.dual .custom-section:nth-of-type(2) {
        display: none;
    }

    .middle-image-wrap.mobile-only {
        margin-bottom: 0;
        padding-bottom: 15px;
        border-bottom: none;
        margin-top: 0;
    }
    .img-row .grid-wrapper-2 {
        display: block;
    }
    .text-grid-wrap .custom-grid .grid-row .grid-col.col-2 .grid-wrapper-2.grid-image-wrapper {
        display: none;
    }
}
/* END_SNIPPET:product-grid-dual-image-text */

/* START_SNIPPET:product-grid-image-only (INDEX:137) */
.text-grid-wrap .custom-grid .grid-row.mobile {
    display: none;
}

.text-grid-wrap .custom-grid .grid-text {
    font-size: 10px;
    color: #000;
    font-weight: 400;
    text-align: justify;
    line-height: normal;
}

.text-grid-wrap .custom-grid .grid-image-wrapper img {
    max-width: 100%;
    width: 100%;
    display: block;
}

.text-grid-wrap .custom-grid .grid-row {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-row .grid-col {
    flex-basis: 50%;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .image-text {line-height: 1em;}

.text-grid-wrap {
    margin-top: 22.5px;
    border-top: 0.5px solid #000;
    padding-top: 9px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .main-image {
    height: 100%;
}

.text-grid-wrap .custom-grid .main-image-wrap .main-image img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

.text-grid-wrap .custom-grid .grid-inner-wrap {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    align-items: stretch;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text {
    line-height: 1em;
}

.text-grid-wrap .custom-grid.alt-layout .grid-inner-wrap {
    gap: 16px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .row-inner {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-grid.alt-layout {
    border-top: 0.5px solid #000;
    padding-top: 10px;
}

@media (max-width: 768px) {
    .text-grid-wrap .custom-grid .grid-row.mobile {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .text-grid-wrap .custom-grid .grid-row.desktop {
        display: none;
    }
    .text-grid-wrap .custom-grid .grid-inner-wrap {
        flex-direction: column;
    }

    .text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
        padding-top: 9px;
        border-top: 0.5px solid #000;
        margin-top: 0;
    }

    .text-grid-wrap .custom-grid .grid-row .grid-col {
        flex-basis: 100%;
    }

    .img-row {
        display: flex;
        gap: 3px;
        padding-bottom: 10px;
    }

    .img-row .grid-image-wrapper {
        flex-basis: 50%;
    }

    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-2,
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-3,
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-4 {
        padding-top: 0;
    }
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-3 p {
        margin-top: 0;
    }

    .text-grid-wrap {
        margin-top: 10px !important;
        border-top: none !important;
    }

    .text-grid-wrap .custom-grid .grid-inner-wrap {
        gap: 15px  !important;
    }
}
/* END_SNIPPET:product-grid-image-only */

/* START_SNIPPET:product-grid-text-only (INDEX:138) */
.text-grid-wrap .custom-grid .grid-text {
    font-size: 10px;
    color: #000;
    font-weight: 400;
    text-align: justify;
    line-height: normal;
}

.text-grid-wrap .custom-grid .grid-image-wrapper img {
    max-width: 100%;
    width: 100%;
    display: block;
}

.text-grid-wrap .custom-grid .grid-row {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-row .grid-col {
    flex-basis: 50%;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .image-text {line-height: 1em;}

.text-grid-wrap {
    margin-top: 22.5px;
    border-top: 0.5px solid #000;
    padding-top: 9px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .main-image {
    height: 100%;
}

.text-grid-wrap .custom-grid .main-image-wrap .main-image img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

.text-grid-wrap .custom-grid .grid-inner-wrap {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    align-items: stretch;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text {
    line-height: 1em;
}

.text-grid-wrap .custom-grid.alt-layout .grid-inner-wrap {
    gap: 16px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .row-inner {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-grid.alt-layout {
    border-top: 0.5px solid #000;
    padding-top: 10px;
}

@media (max-width: 768px) {
    .text-grid-wrap .custom-grid .grid-row {
        flex-direction: column;
        gap: 0 !important;
    }

    .text-grid-wrap .custom-grid .grid-text-3 {
        padding-top: 0 !important;
    }

    .text-grid-wrap .custom-grid .grid-text-3 p {
        margin-top: 0;
    }
}
/* END_SNIPPET:product-grid-text-only */

/* START_SNIPPET:product-grid-text (INDEX:139) */
.text-grid-wrap .custom-grid .grid-row.mobile {
    display: none;
}

.text-grid-wrap .custom-grid .grid-text {
    font-size: 10px;
    color: #000;
    font-weight: 400;
    text-align: justify;
    line-height: normal;
}

.text-grid-wrap .custom-grid .grid-image-wrapper img {
    max-width: 100%;
    width: 100%;
    display: block;
}

.text-grid-wrap .custom-grid .grid-row {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-row .grid-col {
    flex-basis: 50%;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-image-wrapper .image-text {line-height: 1em;}

.text-grid-wrap {
    margin-top: 22.5px;
    border-top: 0.5px solid #000;
    padding-top: 9px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .main-image {
    height: 100%;
}

.text-grid-wrap .custom-grid .main-image-wrap .main-image img {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;
}

.text-grid-wrap .custom-grid .grid-inner-wrap {
    display: flex;
    justify-content: space-between;
    gap: 6px;
    align-items: stretch;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
    flex-basis: 50%;
    flex-grow: 1;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text .metafield-string {
    text-align: right;
    display: inline-block;
    width: 100%;
    font-size: 10px;
    font-weight: 200;
    color: #000;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .image-text {
    line-height: 1em;
}

.text-grid-wrap .custom-grid.alt-layout .grid-inner-wrap {
    gap: 16px;
}

.text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap .row-inner {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: flex-start;
}

.custom-grid.alt-layout {
    border-top: 0.5px solid #000;
    padding-top: 10px;
}

@media (max-width: 768px) {
    .text-grid-wrap .custom-grid .grid-row.mobile {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
    .text-grid-wrap .custom-grid .grid-row.desktop {
        display: none;
    }
    .text-grid-wrap .custom-grid .grid-inner-wrap {
        flex-direction: column;
    }

    .text-grid-wrap .custom-grid .grid-inner-wrap .main-image-wrap {
        padding-top: 9px;
        border-top: 0.5px solid #000;
        margin-top: 0;
    }

    .text-grid-wrap .custom-grid .grid-row .grid-col {
        flex-basis: 100%;
    }

    .img-row {
        display: flex;
        gap: 3px;
        padding-bottom: 10px;
    }

    .img-row .grid-image-wrapper {
        flex-basis: 50%;
    }

    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-2,
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-3,
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-4 {
        padding-top: 0;
    }
    .text-grid-wrap .custom-grid .grid-row.mobile .grid-text-3 p {
        margin-top: 0;
    }
}
/* END_SNIPPET:product-grid-text */