/** Shopify CDN: Minification failed

Line 2103:18 Unexpected "{"
Line 2103:27 Expected ":"
Line 2106:18 Unexpected "{"
Line 2106:27 Expected ":"
Line 2110:20 Unexpected "{"
Line 2110:29 Expected ":"
Line 9102:4 Expected percentage but found "entry"
Line 9102:10 Expected "," but found "0%"

**/


/* CSS from section stylesheet tags */
@keyframes scale-item {
    0% {
      translate: -50% 0;
      z-index: 0;
      opacity: 0;
    }
    15% {
      opacity: 1;
    }
    35% {
      translate: 0 0;
      scale: 1.3;
    }
    50% {
      translate: 0 0 1em;
      scale: 1.5;
      z-index: 4;
    }
    65% {
      translate: 0 0;
      scale: 1.3;
    }
    85% {
      opacity: 1;
    }
    100% {
      translate: 50% 0;
      z-index: 0;
      opacity: 0;
    }
  }

  @keyframes dot-selected {
    0%,
    100% {
      scale: 0.75;
    }
    50% {
      scale: 1.5;
    }
  }

  .three-d-carousel {
    display: block;
    text-align: center;
    padding-block-start: 5vh;

    & h1 {
      font-size: 2em;
      font-weight: 400;
      color: var(--_carousel-accent-color, grey);
      margin-block: 0;
      padding-inline: 1em;
      text-wrap: pretty;
    }

    & p {
      font-size: 1em;
      color: white;
      margin-block: 0;
      margin-inline: auto;
      max-width: 50ch;
      padding-inline: 1em;
      text-wrap: balance;
    }

    & > a {
      padding: 0.5em 1em;
      background: var(--_carousel-accent-color, grey);
      color: black;
      border: none;
      cursor: pointer;
      transition: background 0.3s;
      font-size: 1em;
      display: inline flex;
      z-index: 5;
      position: relative;
      translate: 0 calc(-100% - 2em);

      @media (width > 1024px) {
        translate: 0 0;
        translate: 0 -5vh;

        @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
          translate: 0 -18vh;
        }
      }

      &:hover {
        background: oklch(from var(--_carousel-accent-color, grey) calc(l * 0.9) c h);
      }
    }

    & .carousel__slides {
      overflow: auto;
      scroll-snap-type: x mandatory;
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 100%;
      gap: 0;
      padding-block: 5vh 0;
      padding-inline: 5vmin;
      scrollbar-width: none;

      @media (width > 1024px) {
        & {
          grid-auto-columns: calc(100% / 5);
          padding-block: 10vh 15vh;
          overflow: hidden;
        }

        @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
          grid-auto-columns: calc(100% / 5);
          padding-inline: 0;
          margin-inline: 5vmin;
          padding-block: 15vh 20vh;
        }
      }
    }

    & .carousel__buttons {
      pointer-events: none;
      position: absolute;
      inset: 0;
      display: none;
      align-items: center;
      justify-content: center;
      gap: calc(100% / 5);
      z-index: 5;

      @media (width > 1024px) {
        @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
          display: flex;
        }
      }

      & button {
        --icon-size: 1em;
        pointer-events: all;
        color: white;
        font-size: 3em;

        & svg {
          stroke-width: 1;
        }
      }
    }

    & .carousel__dots {
      bottom: 10vh;
      inset-inline: 0;
      display: none;
      justify-content: center;
      gap: 2lh;
      padding-block-end: 5vh;
      display: flex;

      @media (width > 1024px) {
        display: none;
      }

      & .carousel__dot {
        width: 0.5em;
        height: 0.5em;
        background: var(--_carousel-accent-color, grey);
        border-radius: 50%;
        transition: scale 0.8s;

        &.active {
          scale: 1.5;
        }
      }
    }

    & .slide {
      aspect-ratio: var(--_carousel-item-aspect-ratio, 4 / 5);
      scroll-snap-align: center;
      display: inline flex;
      position: relative;
      place-items: center;
      place-content: center;
      color: var(--_carousel-accent-color, grey);
      box-shadow: inset 0 0 0 3px var(--_carousel-accent-color, grey);
      transform-style: preserve-3d;
      padding: 1rem;
      margin-inline: 0.5rem;

      @media (width > 1024px) {
        box-shadow: 0 0 0 3px var(--_carousel-accent-color, grey), 0 5px 5px rgba(0 0 0 / 0.3);
        padding: 0;
        margin-inline: 0;

        @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
          view-timeline-name: --item-in-and-out-of-view;
          view-timeline-axis: inline;

          animation: linear scale-item both;
          animation-timeline: --item-in-and-out-of-view;
        }
      }

      & :is(img, video) {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }
.shopify-section:has(.announcement-carousel__slides:empty) {
    display: none;
  }

  .announcement-bar {
    width: 100%;
    z-index: 10;
    font-family: 'MZW Sans', sans-serif;
    letter-spacing: 0.03em;
    font-size: 0.8rem;
    padding: 0.5lh;

    @media (min-width: 768px) {
      font-size: 0.875rem;
      padding-inline: 1.5rlh;
    }

    .announcement-bar__inner {
      display: flex;
      flex-direction: row;
      align-content: center;
      align-items: center;
      justify-content: space-between;
      gap: 0.5rem;
    }

    .icon.icon-map {
      width: 1em;
      height: 1em;
    }

    .announcement-carousel:not(:defined) .announcement-carousel__controls {
      display: none;
    }

    .announcement-carousel:not(:defined) .announcement-carousel__slides > *:not(:first-child) {
      display: none;
    }

    .announcement-carousel:not(:defined) .announcement-carousel__slides > * {
      display: block;
    }

    &:has(.announcement-bar-buttons) {
      @media (min-width: 768px) {
        .announcement-carousel {
          text-align: start;
          justify-content: start;
          flex-direction: row-reverse;

          .announcement-carousel__controls {
            position: static;
          }
        }
      }
    }

    .announcement-carousel {
      width: 100%;
      line-height: 1rem;
      text-align: center;
      display: flex;
      align-items: center;
      position: relative;
      justify-content: center;

      .announcement-carousel__slides {
        display: grid;
        align-items: center;
        justify-items: start;
        margin: 0;
        padding: 0;
        list-style-type: none;
        position: relative;
      }

      .announcement-bar__slide {
        grid-area: 1 / 1;
        display: block;
        width: 100%;
        transition: opacity var(--duration-short, 0.3s) var(--ease-out-cubic, ease-out);
        text-wrap: pretty;
        margin: 0;

        &[inert] {
          opacity: 0;
        }

        & > * {
          margin: 0;
        }
      }

      .announcement-carousel__controls {
        align-items: center;
        position: absolute;
        inset: 0;
        z-index: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        pointer-events: none;

        > * {
          pointer-events: all;
        }
      }
    }

    .announcement-bar-buttons {
      display: none;
      flex-shrink: 0;
      align-items: center;
      gap: 0.75rem;
      justify-self: end;
      font-size: 0.875em;
      line-height: 1rem;
      text-decoration: underline;
      text-underline-offset: 4px;

      &:empty {
        display: none;
      }

      @media (min-width: 768px) {
        display: flex;
        margin-left: auto;
      }

      :is(button, a, summary, .localization-form-select-option) {
        display: flex;
        flex-direction: row;
        align-content: center;
        align-items: center;
        gap: 0.25rem;
        white-space: nowrap;
      }
    }

    .shopify-localization-form {
      display: flex;
      align-items: center;
      gap: 0.75rem;

      .localization-form-select-option {
        display: flex;
        align-items: center;
        transform-origin: bottom right;

        select {
          background-image: none;
          background-color: transparent;
          border: none;
          appearance: none;
          padding: 0;
          max-width: var(--localization-ch-count, none);
        }
      }
    }

    .localization-form-button img {
      width: 1.5em;
      height: 1.5em;
    }
  }
#cart-drawer {
    container: cart-drawer / inline-size;
    position: fixed;
  }

  #cart-drawer .drawer__body {
    padding: 0;
  }

  #cart-drawer .drawer__footer {
    border-block-start: none;
    padding-block-start: 0;
  }

  #cart-drawer:not(:has(.cart__item)) .cart-drawer__messages {
    display: none;
  }

  #cart-drawer .cart-drawer__messages {
    font-size: 0.875rem;
    color: oklch(from var(--color-foreground) l c h / 60%);
    padding: min(1lh, 3vi) min(1lh, 3vi) 0;
  }

  #cart-drawer .cart-drawer__messages:empty,
  #cart-drawer .cart-drawer__messages:not(:has(*)) {
    display: none;
  }

  #cart-drawer .cart-items-list .cart__item-title-color .cart__item-price {
    display: none;
  }

  #cart-drawer .cart-drawer__options {
    margin-block-end: var(--mzw-space-s);
    border-block: 1px solid var(--color-border);
  }

  #cart-drawer .SPCMP_chk_lbl {
    display: none !important;
  }

  @media (width >= 768px) {
    #cart-drawer .additional-checkout-buttons {
      padding-top: var(--mzw-space-2xs);
    }

    #cart-drawer .additional-checkout-buttons ul[data-shopify-buttoncontainer] {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--size-5xs);
    }
  }

  #cart-drawer form {
    height: 100%;
    display: flex;
    flex-flow: column;
  }

  #cart-drawer [data-minicart-footer-payments-content] .cart-footer-payments-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  #cart-drawer [data-minicart-footer-payments-content] .cart-footer-payments-heading p {
    font-size: 1.125rem;
  }

  #cart-drawer [data-minicart-footer-payments-content]:has([data-shopify='dynamic-checkout-cart']:empty) {
    display: none;
  }

  #cart-drawer .simple-recommendation-island:not(:has(lazy-product-card, product-card)) h2 {
    display: none;
  }

  #cart-drawer .simple-recommendations {
    overflow-x: auto;
    display: flex;
    width: 100cqi;
    margin-top: auto;
    position: relative;
    left: calc(-50cqi + 50%);
    padding-block-end: 0.5rem;
    padding-inline: min(1lh, 3vi);
    font-size: 0.875rem;
  }

  #cart-drawer .simple-recommendations > ul {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 20ch;
    gap: 0.5rem;
  }

  #cart-drawer .simple-recommendations:not([loaded]) {
    opacity: 0;
  }

  #cart-drawer .simple-recommendations lazy-product-card {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
  }

  #cart-drawer .simple-recommendations .product-card {
    height: 100%;
  }

  #cart-drawer .simple-recommendations .product-card .product-card-media:not(:first-child),
  #cart-drawer .simple-recommendations .product-card .previous-button,
  #cart-drawer .simple-recommendations .product-card .next-button {
    display: none;
  }

  #cart-drawer .simple-recommendations :not(.product-card) img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 4 / 5;
  }

  #cart-drawer [data-error-message] {
    color: var(--color-error);
  }

  #cart-drawer [data-minicart-footer-default-content] table {
    width: 100%;
    margin-block-end: var(--mzw-space-2xs, 1rem);
  }

  #cart-drawer [data-minicart-footer-default-content] table th {
    text-align: start;
    font-weight: 500;
  }

  #cart-drawer [data-minicart-footer-default-content] table td {
    text-align: end;
  }

  #cart-drawer [data-minicart-footer-default-content] .cart-payments-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--size-5xs);
    margin-block-start: var(--mzw-space-2xs, 1rem);
  }

  #cart-drawer .cart-summary__checkout-button {
    width: 100%;
  }

  #cart-drawer .discounts {
    margin-block-end: 0.5rlh;
    font-size: 0.875rem;
  }

  #cart-drawer .discounts svg {
    width: 2ch;
    height: 2ch;
  }
details.collection-seo-details[open] svg line:first-child {
    display: none;
  }

  details.collection-seo-details summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: var(--size-4xs);
  }

  details.collection-seo-details summary > * {
    margin: 0;
  }
.default-page {
    --page-width: 100ch;

    :is(ol, ul, menu) {
      all: revert;
    }

    &:has(#pc--opt-out-form-container) {
      max-inline-size: 768px;
    }
  }
.main-footer {
    content-visibility: auto;
    contain-intrinsic-block-size: 300px;
    border-block-start: 1px solid var(--color-border);

    .main-footer-inner {
      padding: 1.5rem;

      @media (width >= 1024px) {
        padding: var(--mzw-space-m);
      }
    }

    ul {
      list-style-type: none;
    }

    .footer-link-title {
      text-transform: uppercase;
      margin-block-end: 0.25lh;
      font-weight: 400;
      color: oklch(from currentColor calc(l + 0.6) 0 h);
    }

    .main-footer-layout {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-areas:
        'content'
        'symbol';
      gap: var(--mzw-space-l);

      @media (width >= 1024px) {
        grid-template-columns: 8vi 1fr 8vi;
        grid-template-areas: 'symbol content bcorp';
      }

      @media (width >= 1500px) {
        grid-template-columns: 1fr 3.5fr 1fr;
      }
    }

    .symbol-wrapper {
      inline-size: min(120px, 100%);
      align-self: center;
      justify-self: center;
      grid-area: symbol;

      @media (width >= 1024px) {
        justify-self: start;
      }

      & svg {
        fill: #11059f;
      }
    }

    .localization-bcorp {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      justify-content: space-between;
      padding-block-start: 1rem;
    }

    .footer-email-section {
      @media (width >= 1024px) {
        grid-column-start: -2;
        grid-row: 1;
      }

      h2 {
        margin-block-end: 1rem;
      }

      p {
        font-size: 0.875em;
      }

      [data-form-error] {
        padding-block-start: 0.5rem;
        color: var(--color-red);
      }

      [data-form-success] {
        padding-block-start: 0.5rem;
        color: var(--color-green);
      }

      .input-button {
        display: flex;
        margin-block-end: 0.5rem;

        input {
          flex: 1;
          background-color: transparent;
        }
      }

      .signup-open-button {
        text-align: start;
        cursor: pointer;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        --icon-size: 1.5rem;
      }

      mailing-list-form {
        fieldset {
          display: flex;
          border-bottom: 1px solid var(--color-border);

          :is(input, button) {
            border: none;
            background-color: transparent;
            padding: 0.25rem 0;
            font-size: inherit;
            color: inherit;
          }

          button {
            white-space: nowrap;
            text-transform: capitalize;
          }
        }
      }

      .footer-bcorp-logo {
        display: inline flex;
        margin-inline-start: auto;

        @media (width >= 1024px) {
          display: none;
        }

        svg {
          inline-size: 30px;
        }
      }
    }

    .footer-detail-section {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: 1rem;
      grid-area: content;

      @media (width >= 1024px) {
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
      }

      @media (width >= 1500px) {
        gap: var(--mzw-space-2xs);
      }

      a {
        display: block;
        padding-block: 0.15lh;
      }
    }

    hr {
      margin-block: 2rem 1.5rem;
      border-color: var(--color-border);
    }

    .footer-bottom {
      font-size: 0.875em;
      padding-top: 4rem;

      @media (width >= 1024px) {
        padding-top: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
      }

      .footer-copyright {
        text-align: center;

        margin-block: 2.25rem 1.5rem;

        @media (width >= 1024px) {
          text-align: start;
          margin-block: 0;
        }

        a {
          text-decoration: none;
        }
      }
    }

    .footer-bcorp-logo {
      display: block;
      justify-self: end;
      align-self: start;
      grid-area: bcorp;
      place-self: center;
      display: none;

      @media (width >= 1024px) {
        place-self: start end;
        display: block;
      }

      svg {
        inline-size: 50px;
        height: auto;
      }
    }

    .footer-bottom-links {
      font-size: 0.875em;
      padding: 0.5rem var(--mzw-space-s);

      @media (width >= 1024px) {
        .social-links {
          margin-inline-start: auto;
        }
      }

      .footer-bottom-links-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        padding-block: 0.5rem;

        @media (width >= 1024px) {
          flex-direction: row;
        }
      }
    }
  }
@property --header-height {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }

  body {
    --header-height: 2lh;
    --header-logo-width: 150px;
  }

  @media (min-width: 768px) {
    body {
      --header-height: 3lh;
      --header-logo-width: 200px;
    }
  }

  #header-group {
    display: contents;
  }

  .header-section {
    position: sticky;
    inset-block-start: -1px;
    z-index: var(--layer-sticky);
  }

  .main-header[transparent] {
    --header-bg-color: transparent;
    --header-logo-display: none;
    --header-logo-inverse-display: block;

    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--layer-overlay);

    &[transparent='not-sticky'][data-sticky-state='active'],
    &:has(.mega-menu__list:hover),
    &:has(.menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating])),
    &:has(.menu-list__submenu:focus-within) {
      --header-bg-color: unset;
      --color-foreground: inherit;
      --color-background: inherit;
      --border-color: inherit;
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;

      .header__row {
        transition-duration: var(--animation-speed-fast);
      }
    }

    &:is([transparent]:not([data-sticky-state='active']), .header[transparent='always'][data-sticky-state='active']) {
      .header__row:not(
          :has(
              .mega-menu__list:hover,
              .menu-list__link[aria-haspopup]:is(:hover, [aria-expanded='true'], [data-animating]),
              .menu-list__submenu:focus-within
            )
        ) {
        --color-foreground: inherit;
        --border-color: inherit;
        --color-primary-button-background: inherit;
        --color-primary-button-text: inherit;
        color: var(--transparent-header-color, var(--color-foreground));
        border-block-end-color: transparent;
      }
    }

    .header__row {
      transition-property: color, background-color, border-color;
      transition-duration: var(--animation-speed-slow);
      transition-timing-function: var(--ease-out-cubic);
    }
  }

  .header__row {
    background-color: var(--header-bg-color, var(--color-background));
    border-block-end: 1px solid var(--color-border);
    block-size: var(--header-height);
  }

  @media (min-width: 1024px) {
    .header__row {
      padding-block: 0;
    }
  }

  .header__columns {
    display: grid;
    grid-template-areas: 'menu logo right';
    grid-template-columns: 1fr var(--header-logo-width, auto) 1fr;
    grid-template-rows: var(--header-height);
    gap: 0.5rlh;
    align-items: stretch;
  }

  .header__column {
    gap: 4vi;
  }

  @media (min-width: 768px) {
    .header__column {
      gap: 0.75vi;
    }
  }

  .header__column--left {
    grid-area: menu;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition-property: opacity, translate;
    transition-duration: 0.5s;
    transition-timing-function: ease;
  }

  @media (min-width: 1024px) {
    .header__column--left {
      align-items: stretch;
      gap: var(--mzw-space-s);
    }
  }

  .main-header-menu-button {
    grid-area: menu;
    justify-self: start;

    svg {
      transition: opacity 0.3s ease;
    }

    svg:last-child {
      opacity: 0;
    }
  }

  .main-header > header {
    display: grid;
    justify-items: center;
    height: var(--header-height);

    > * {
      grid-area: 1 / -1;
    }
  }

  .header-logo__link {
    position: relative;
    margin-inline: auto;
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    width: var(--header-logo-width, 150px);
    min-block-size: var(--header-height, 0px);
    z-index: var(--layer-flat);
    translate: 0px 0px 0px;

    @media (min-width: 768px) {
      width: var(--header-logo-width, 200px);
    }
  }

  @supports not (position-anchor: --mega-logo-position) {
    .main-header--mega-logo .header-logo__link {
      will-change: width, translate;
      transform-origin: center top;
      transition-property: width, translate;
      transition-duration: 0.8s;
      transition-timing-function: var(--spring, ease);
    }

    .main-header--mega-logo[transparent][data-sticky-state='inactive'] .header-logo__link {
      width: var(--mega-logo-width, 90%);
      translate: 0px var(--mega-logo-position-mobile, var(--header-height, 0px)) 0px;

      @media (min-width: 768px) {
        translate: 0px var(--mega-logo-position, var(--header-height, 0px)) 0px;
      }
    }
  }

  @supports (position-anchor: --mega-logo-position) {
    .main-header--mega-logo .header-logo__link {
      transition-property: all;
      transition-duration: 0.8s;
      transition-timing-function: var(--spring, ease);
      position: fixed;
    }

    .main-header--mega-logo[transparent] {
      anchor-name: --mega-logo-position;
    }

    .main-header--mega-logo[transparent] .header-logo__link {
      position: fixed;
      position-anchor: --mega-logo-position;
      inset-block-end: anchor(bottom);
    }

    :root:has(.main-header--mega-logo[transparent][data-sticky-state='inactive'])
      main
      .shopify-section:first-child
      :is(img, video) {
      anchor-name: --mega-logo-position;
    }

    .main-header--mega-logo[transparent][data-sticky-state='inactive'] .header-logo__link {
      width: var(--mega-logo-width, 90%);
      inset-block-end: calc(anchor(bottom) + 0.5lh);

      @media (min-width: 2000px) {
        inset-block-end: 1lh;
      }
    }
  }

  .header-logo__link :is(a, img, svg, picture) {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .header__column--right {
    grid-area: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition-property: opacity, translate;
    transition-duration: 0.5s;
    transition-timing-function: ease;
  }

  .header__column--right svg {
    stroke-width: 1;
  }

  .header__column :is(button, a, summary):has(> :where(.svg-wrapper, svg)),
  .header__column :is(.account-button, .localization-drawer-button) {
    display: inline flex;
    align-items: center;
    justify-content: center;
    position: relative;

    &::after {
      content: '';
      position: absolute;
      inset: -0.5rem;
    }
  }

  .header__column .currency-code {
    font-size: 0.875rem;
  }

  .account-logged-in-icon {
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    width: var(--icon-size);
    height: var(--icon-size);
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-size: 0.75rem;
    line-height: 0.75rem;
    border-radius: var(--style-border-radius-50);
    scale: 0.9;
  }

  .minicart-link-container {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  .minicart-link {
    display: inline flex;
    align-items: center;
    justify-content: center;
  }

  .minicart-link-container span {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    aspect-ratio: 1;
    background-color: var(--color-primary-button-background);
    color: var(--color-primary-button-text);
    border-radius: var(--style-border-radius-50);
    border: 1px solid transparent;
    width: 18px;
    height: 18px;
    font-size: 11px;
    line-height: 18px;
    top: -0.4lh;
    inset-inline-end: -0.4lh;
    font-family: system-ui, sans-serif;
    pointer-events: none;
    opacity: 0;

    .js-ajax-cart-not-empty & {
      opacity: 1;
    }
  }

  @media (min-resolution: 2x) {
    .minicart-link-container span {
      width: 16px;
      height: 16px;
      line-height: 16px;
      font-size: 10px;
    }
  }
.hero {
    position: relative;
    min-height: var(--hero-min-height);
  }

  @keyframes hero-section-media-parallax {
    from {
      translate: 0 calc(var(--parallax-distance, 0%) * -1);
    }
    to {
      translate: 0 var(--parallax-distance, 0%);
    }
  }

  @media screen and (prefers-reduced-motion: no-preference) {
    @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
      .hero--parallax .hero__media-wrapper {
        overflow: clip;

        --parallax-distance: 10%;
        --abs-parallax-distance: max(var(--parallax-distance), calc(var(--parallax-distance) * -1));
        --parallax-image-scale: calc(100% + (var(--abs-parallax-distance) * 2));

        :is(img, video) {
          inline-size: 100%;
          block-size: 100%;
          object-fit: cover;
          animation: hero-section-media-parallax linear both;
          animation-timeline: view();
          scale: var(--parallax-image-scale);
        }
      }
    }
  }

  .hero__container {
    position: relative;
    overflow: clip;
    min-height: inherit;
    align-items: var(--vertical-alignment-mobile);
    justify-content: var(--horizontal-alignment);
    z-index: var(--layer-base);

    @media screen and (width >= 750px) {
      align-items: var(--vertical-alignment);
    }
  }

  .hero__content-wrapper.page-width {
    grid-column: 2 / 3;
  }

  .hero__content-wrapper {
    position: relative;
    inset: 0;
    z-index: var(--layer-flat);
  }

  .hero__content-wrapper .group-block-content {
    position: relative;
  }

  .hero--sticky .hero__content-wrapper.layout-panel-flex--column > * {
    position: sticky;
    bottom: 0;
  }

  .hero__media-wrapper {
    grid-column: 1 / -1;
  }

  .hero-height-custom .hero__media-wrapper,
  .hero-height-auto .hero__media-wrapper {
    position: absolute;
    inset: 0;
  }

  @media only screen and (max-width: 767px) {
    .hero-height-adapt .hero__media-wrapper,
    .hero-height-adapt .hero__media-wrapper :is(img, picture, video, lazy-video) {
      aspect-ratio: var(--hero-media-aspect-ratio-mobile, auto);
    }
  }

  @media only screen and (min-width: 768px) {
    .hero-height-adapt .hero__media-wrapper,
    .hero-height-adapt .hero__media-wrapper :is(img, picture, video, lazy-video) {
      aspect-ratio: var(--hero-media-aspect-ratio-desktop, auto);
    }
  }

  .hero__link {
    position: absolute;
    inset: 0;
    grid-column: 1 / -1;
  }

  .hero__media-wrapper,
  .hero__content-wrapper {
    pointer-events: none;
    a,
    button,
    input,
    textarea,
    select {
      pointer-events: auto;
    }
  }

  .hero__image,
  .hero__video,
  .hero__video-poster {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
    position: relative;
    z-index: var(--layer-base);
  }

  .hero__video-poster {
    position: absolute;
  }

  .hero__media-wrapper :is(img, picture, video, lazy-video) {
    height: 100%;
    width: 100%;
  }

  @media only screen and (width < 768px) {
    .hero-layout-mobile--stack {
      .hero__container {
        grid-template-rows: auto auto;
      }

      .hero__media-wrapper {
        position: relative;
        grid-row: 1 / span 1;
      }

      .hero__content-wrapper {
        position: relative;
        grid-row: 2 / span 1;
        justify-content: center;
      }
    }

    .hero-layout-mobile--overlay {
      .hero__container {
        grid-template-rows: auto;
      }

      .hero__media-wrapper {
        grid-row: 1 / span 1;
      }

      .hero__content-wrapper {
        grid-row: 1 / span 1;
      }
    }
  }

  @media only screen and (width >= 768px) {
    .hero-layout-desktop--stack {
      .hero__container {
        grid-template-rows: var(--hero-min-height, auto) auto;
      }

      .hero__media-wrapper {
        position: relative;
        grid-row: 1 / span 1;
      }

      .hero__content-wrapper {
        position: relative;
        grid-row: 2 / span 1;
      }
    }

    .hero-layout-desktop--overlay {
      .hero__container {
        grid-template-rows: auto;
      }

      .hero__media-wrapper {
        grid-row: 1 / span 1;
      }

      .hero__content-wrapper {
        grid-row: 1 / span 1;
      }
    }
  }
.section-item-list {
    row-gap: var(--gap);
  }
.blog-posts {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
    --columns-gap: 36px;
    --rows-gap: 36px;
    padding-block: 2rlh;
  }

  .blog-posts-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
    column-gap: var(--columns-gap);
    row-gap: var(--rows-gap);
  }

  @media screen and (min-width: 750px) {
    .blog-posts-container {
      grid-template-columns: repeat(2, 1fr);
    }

    .blog-post-item:first-child {
      grid-column: span 2;
    }
  }

  .blog-post-item {
    display: flex;
    align-items: stretch;
  }

  .blog-pagination {
    display: flex;
    justify-content: center;
    gap: var(--size-s);
  }

  .blog-pagination,
  .blog-pagination a {
    color: var(--color-foreground);
  }

  .blog-pagination .current {
    color: var(--color-foreground);
  }

  .blog-pagination .current,
  .blog-pagination a {
    display: block;
    padding: var(--size-s) var(--size-m);
  }

  .blog-pagination .current,
  .blog-pagination a:hover {
    border-bottom: 1px solid var(--color-foreground);
  }

  .blog-tags-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--size-m);
    list-style: none;
    padding: 0;
    margin: 0 0 var(--size-4xl) 0;
  }

  .blog-tags-list a {
    display: block;
    text-decoration: none;
    white-space: nowrap;
    color: var(--color-foreground);
    border: 1px solid oklch(from currentColor l c h / 30%);
    padding: 0.5rem 0.5rem;
    line-height: 1.2;
    font-size: 0.875rem;

    &[aria-current='page'] {
      border-color: var(--color-accent);
      background-color: oklch(from var(--color-accent) l c h / 100%);
      color: #fff;
    }
  }
.cart-page {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mzw-space-l);
    container: main-cart / inline-size;

    @media (min-width: 768px) {
      grid-template-columns: 2fr 1fr;
    }
  }

  .cart-page .cart-summary {
    padding: var(--size-s);
    border: 1px solid var(--color-border);
    display: flex;
    flex-flow: column;
    gap: var(--size-xs);
    align-self: start;

    .cart-summary-subtotal-line {
      text-align: left;
    }

    .cart-summary-subtotal-line-value {
      text-align: right;
    }

    .additional-checkout-buttons {
      padding-block-start: var(--size-4xs);
    }
  }
@keyframes parallax-collection-banner {
    from {
      translate: 0 0;
    }
    to {
      translate: 0 var(--_translate);
    }
  }

  .main-collection-banner-section {
    overflow: clip;

    &:has(.main-collection-banner--media) {
      padding-block-end: 0;
      display: grid;
      grid-template-areas: 'box';

      & > * {
        grid-area: box;
      }

      & > .main-collection-banner--content-wrapper {
        position: relative;
        background-color: oklch(from var(--color-background) l c h / 80%);
        overflow: hidden;
        align-items: center;

        @media (min-width: 768px) {
          min-height: 40dvb;
          background-color: transparent;
        }
      }

      & .main-collection-banner--media {
        block-size: 100%;
        inline-size: 100%;
        object-fit: cover;
        object-position: 60% 50%;
        aspect-ratio: 3.5 / 1;
        grid-column: 1 / -1;
        position: absolute;
        inset: 0;
        overflow: hidden;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: var(--layer-section-background);

        @media (min-width: 768px) {
          max-block-size: 40vb;
        }

        @media screen and (prefers-reduced-motion: no-preference) {
          @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
            & {
              --_translate: 20vh;
              animation: parallax-collection-banner linear both;
              animation-timeline: scroll(root);
              animation-range: 0vh 80vh;
              will-change: translate;
            }
          }
        }
      }
    }

    & .main-collection-banner {
      padding-block: var(--mzw-space-s);
      display: flex;
      flex-flow: column;
      gap: var(--mzw-space-s);

      @media (min-width: 768px) {
        padding-block: var(--mzw-space-l);
      }

      :is(&, .main-collection-banner__heading-group) > * {
        text-box: trim-both cap alphabetic;
      }
    }

    .main-collection-banner__heading-group {
      display: flex;
      flex-flow: column;
      gap: 0.5rlh;
    }

    & .collection-heading-group__subheading {
      font-size: 3.7vi;

      @media (min-width: 768px) {
        font-size: var(--size-l);
      }
    }

    & h1 {
      text-wrap: balance;
      margin-block: 0;
      text-transform: uppercase;
      line-height: var(--line-height--display-tight);

      & sup {
        top: -0.8em;
        font-size: 0.5em;
      }

      & img {
        inline-size: auto;
        block-size: 1lh;

        @media (min-width: 768px) {
          block-size: 1.5lh;
        }
      }
    }

    & p {
      margin: 0;
      text-wrap: balance;
      text-wrap: pretty;
      max-inline-size: 75ch;
      padding-block-start: calc(var(--mzw-space-s) / 2);

      @media (min-width: 768px) {
        max-inline-size: 55%;
      }
    }
  }
.product-below-the-fold [role='tabpanel'] {
    min-height: var(--tab-panel-height);
  }

  .product-below-the-fold .feature-media {
    display: flex;
    justify-content: center;
    flex-flow: column;
    gap: var(--size-s);
  }

  @media (min-width: 600px) {
    .product-below-the-fold .feature-media {
      flex-flow: row;
    }
  }

  .product-below-the-fold .feature-media__item {
    inline-size: min(500px, 100%);
  }

  .product-below-the-fold .feature-media :is(img, video) {
    aspect-ratio: 1;
    object-fit: cover;
  }

  .color-comparison-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--size-s);
  }

  .color-comparison-item {
    text-align: center;
    flex: 0 1 150px;
    padding-block-start: var(--size-m);
  }

  @media (min-width: 600px) {
    .color-comparison-item {
      flex: 0 1 200px;
    }
  }

  .color-comparison-item__title {
    margin-top: 8px;
  }

  .product-size-comparison {
    display: flex;
    justify-content: center;
    flex-flow: column;
    gap: var(--size-5xl);
  }

  @media (min-width: 600px) {
    .product-size-comparison {
      flex-flow: row;
    }
  }

  .product-size-comparison .size-comparison-item {
    inline-size: min(500px, 100%);
    position: relative;
    text-align: center;

    display: grid;
    grid-template-columns: 1fr 1rlh;
    grid-template-rows: 1fr 1rlh auto;
    grid-template-areas:
      'image height'
      'width .'
      'shape .';
    align-items: center;
    justify-items: center;

    img {
      grid-area: image;
      aspect-ratio: 1;
      object-fit: cover;
      object-position: 0 25%;
    }

    .size-comparison-item__length {
      grid-area: width;
      inline-size: 80%;
      block-size: 1px;
      background-color: currentColor;
      position: relative;
      display: flex;
      align-items: start;
      justify-content: center;
      font-family: var(--font-accent--family);

      &::before {
        content: '' / 'left arrow';
        position: absolute;
        top: 50%;
        left: 0;
        height: 1ch;
        width: 1ch;
        border-left: 1px solid currentColor;
        border-top: 1px solid currentColor;
        rotate: -45deg;
        transform-origin: center;
        translate: 0 -50%;
      }

      &::after {
        content: '' / 'right arrow';
        position: absolute;
        top: 50%;
        right: 0;
        height: 1ch;
        width: 1ch;
        border-right: 1px solid currentColor;
        border-top: 1px solid currentColor;
        rotate: 45deg;
        transform-origin: center;
        translate: 0 -50%;
      }
    }

    .size-comparison-item__height {
      grid-area: height;
      inline-size: 1px;
      block-size: 80%;
      background-color: currentColor;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-flow: column;
      font-family: var(--font-accent--family);

      &::before {
        content: '' / 'top arrow';
        position: absolute;
        top: 0;
        left: 50%;
        height: 1ch;
        border-top: 1px solid currentColor;
        border-left: 1px solid currentColor;
        rotate: 45deg;
        width: 1ch;
        transform-origin: center;
        translate: -50% 0;
      }

      &::after {
        content: '' / 'bottom arrow';
        position: absolute;
        bottom: 0;
        left: 50%;
        height: 1ch;
        border-bottom: 1px solid currentColor;
        border-left: 1px solid currentColor;
        rotate: -45deg;
        width: 1ch;
        transform-origin: center;
        translate: -50% 0;
      }

      span {
        rotate: -90deg;
        transform-origin: center top;
      }
    }

    .size-comparison-item__shape {
      margin-block-start: var(--size-m);
      grid-area: shape;
    }
  }
.product-information__grid {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    align-items: start;
  }

  .product-information__media {
    grid-column: 1 / -1;
    overflow: clip;
  }

  .product-information__content {
    grid-column: 1 / -1;
  }

  @media (min-width: 768px) {
    .product-information__grid {
      grid-column: 2;
      grid-template-columns: 1fr 1fr;
    }

    .product-information__grid:has(.product-images--extend) {
      grid-column: 1 / 3;
    }

    .product-information.section--full-width .product-information__grid {
      grid-column: 1 / -1;
    }

    .product-information__media {
      grid-column: auto;
    }

    .product-information__content {
      grid-column: 2 / 3;
    }
  }

  @media (min-width: 1024px) {
    .product-information__grid {
      grid-template-columns: 2fr 1fr;
    }
  }
product-embroidery-component {
    &:not(:defined) {
      pointer-events: none;
      opacity: 0.7;
    }
  }

  .no-js .product-block--price {
    display: none;
  }

  @media (min-width: 768px) {
    product-embroidery-component {
      display: grid;
      grid-template-columns: 2fr 1fr;
      align-items: start;
    }
  }

  product-embroidery-component .customizer-image {
    color: var(--product-embroidery-color, currentColor);
    position: relative;
    text-align: center;
    container-type: inline-size;
  }

  product-embroidery-component .customizer-fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 0;
  }

  @media (min-width: 768px) {
    product-embroidery-component .customizer-fields {
      padding: 2rem;
    }
  }

  /* Fieldset Styling */
  product-embroidery-component fieldset {
    border: 1px solid var(--color-border);
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
  }

  product-embroidery-component fieldset:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }

  product-embroidery-component fieldset legend {
    padding: 0 0.5rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    font-family: var(--font-accent--family);
  }

  /* Font Size Radio Group */
  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) label {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) label:hover {
    background-color: oklch(from var(--color-foreground) l c h / 5%);
    border-color: var(--color-foreground);
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) label:has(input:checked) {
    background-color: oklch(from var(--color-foreground) l c h / 10%);
    border-color: var(--color-foreground);
    font-weight: 500;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) input[type='radio'] {
    margin-right: 0.75rem;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Font Size]']) output {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    color: oklch(from var(--color-foreground) l c h / 70%);
    font-style: italic;
  }

  /* Message Inputs */
  product-embroidery-component fieldset:has([name*='Message Line']) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  product-embroidery-component fieldset:has([name*='Message Line']) label {
    font-size: 0.875rem;
  }

  product-embroidery-component fieldset:has([name*='Message Line']) input[type='text'] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    font-size: 1rem;
    transition: all 0.2s ease;
    background-color: var(--color-background);
  }

  product-embroidery-component fieldset:has([name*='Message Line']) input[type='text']:focus {
    outline: none;
    border-color: var(--color-foreground);
    box-shadow: 0 0 0 3px oklch(from var(--color-foreground) l c h / 10%);
  }

  /* Color Picker */
  product-embroidery-component fieldset:has([name='properties[Embroidery Color]']) {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.25rem;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Color]']) label {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    box-shadow: inset 0 0 0 1px oklch(from var(--color-foreground) l c h / 20%);
    transition: all 0.2s ease;
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Color]']) label:hover {
    transform: scale(1.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Color]']) label:has(input:checked) {
    box-shadow: 0 0 0 3px var(--color-background), 0 0 0 5px var(--color-foreground);
  }

  product-embroidery-component fieldset:has([name='properties[Embroidery Color]']) input[type='radio'] {
    position: absolute;
    opacity: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
  }

  /* Preview Message Styling */
  product-embroidery-component .message {
    font-size: var(--product-embroidery-font-size);
    font-family: Courier, monospace;
    word-spacing: -0.5ch;
    text-shadow: 0 1px 0 rgba(0 0 0 / 0.3);
    color: white;
    color: var(--product-embroidery-color, black);
    margin: 0;
    transition: color var(--duration-short) var(--ease-out-cubic);
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    &[data-product-size='large'] {
      &[data-size='0.5 INCH'] {
        font-size: 4cqi;
      }

      &[data-size='2 INCHES'] {
        font-size: 12cqi;
      }
    }

    &[data-size='0.5 INCH'] {
      font-size: 3.5cqi;
    }

    &[data-size='1 INCH'] {
      font-size: 9cqi;
      line-height: 0.9;
    }

    &[data-size='2 INCHES'] {
      font-size: 14cqi;
      line-height: 0.75;
    }
  }

  product-embroidery-component .message output {
    display: block;
  }
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__content .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__content .marquee__repeated-items > * {
    align-content: center;
  }

  .marquee__content .marquee__repeated-items img {
    max-block-size: 30px;
    inline-size: auto;
    max-width: 100%;
    object-fit: contain;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      --marquee-playback-rate: 1;
      --marquee-effective-speed: calc(var(--marquee-speed) / max(var(--marquee-playback-rate), 0.001));
      animation: marquee-motion var(--marquee-effective-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
.mzw-gives-back-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 1rlh 1rem;
  }

  @media (width >= 768px) {
    .mzw-gives-back-items {
      gap: 1.5rlh 1.5rem;
    }
  }

  .mzw-gives-back-item {
    display: flex;
    flex-direction: column;
    gap: 0.5lh;
  }

  .mzw-gives-back-item img {
    object-fit: contain;
    display: block;
    aspect-ratio: 4 / 5;
  }

  .mzw-gives-back-item h3 {
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0;
  }

  .mzw-gives-back-item p {
    margin: 0;
  }

  .mzw-gives-back-item__date {
    font-size: 0.875rem;
    opacity: 0.7;
    font-family: var(--font-accent--family);
  }
#shopify-section-{{ section.id }} .mzw-media-quote-slider__media {
    width: 100%;
  }
#shopify-section-{{ section.id }} .mzw-media-with-blocks-section__container {
    container-type: inline-size;
  }

  #shopify-section-{{ section.id }} .mzw-media-with-blocks-section__content {
    container-type: inline-size;
  }
.predictive-search-results {
    display: flex;
    flex-flow: column;
    border-block-start: var(--border-width-sm) solid var(--color-border);
    padding-block-start: var(--padding-md);
  }

  :is(.predictive-search-collections, .predictive-search-pages, .predictive-search-articles) {
    padding: var(--padding-md);
  }

  :is(.predictive-search-collections, .predictive-search-pages, .predictive-search-articles) ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gap-sm);
    margin: 0;
    padding: 0;
  }

  @media screen and (width >= 750px) {
    :is(.predictive-search-collections, .predictive-search-pages, .predictive-search-articles) ul {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  :is(.predictive-search-collections, .predictive-search-pages, .predictive-search-articles) ul li {
    border: var(--border-width-sm) solid var(--color-border);
    list-style: none;
  }

  :is(.predictive-search-collections, .predictive-search-pages, .predictive-search-articles) ul li > a {
    display: flex;
    flex-flow: column;
    gap: var(--gap-2xs);
    padding: var(--padding-xs);
  }

  .predictive-search-collection-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gap-2xs);
  }

  .predictive-search-view-all-wrapper {
    padding-inline: var(--padding-sm);
    text-align: end;
  }

  .predictive-search-view-all {
    margin-inline-start: auto;
    display: inline flex;
    font-size: 0.875rem;
    align-items: center;
    gap: 0.5ch;
  }

  .predictive-search-results__wrapper-queries {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    gap: var(--gap-sm);
    white-space: nowrap;
    padding-block-end: var(--padding-sm);
    padding-inline: var(--padding-sm);
    scroll-snap-type: x mandatory;
    scroll-padding: 0 var(--padding-xl);
    scrollbar-width: none;
  }

  .predictive-search-results__wrapper-queries a {
    display: inline flex;
    align-items: center;
    gap: 0.5ch;
    background-color: oklch(from var(--color-foreground) l c h / 0.05);
    border-radius: var(--border-radius-sm);
    padding-inline: var(--padding-xs);
    padding-block: var(--padding-2xs);
    border: var(--border-width-sm) solid var(--color-border);
    color: var(--color-foreground);
    text-decoration: none;
    font-size: 0.875rem;
  }

  .predictive-search-results__wrapper-queries mark {
    background-color: transparent;
  }

  .predictive-search-results__no-results {
    text-align: center;
  }
.product-info {
    gap: var(--gap);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    position: relative;
  }

  .product-info__content {
    padding: 1lh var(--page-margin);

    &:focus-visible {
      outline: none;
    }
  }

  @media (min-width: 768px) {
    .product-info {
      grid-template-columns: minmax(0, 1fr) 30vi;
    }

    .product-info[data-equal-columns] {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-info__media-gallery {
      grid-column: 1 / span 1;
    }

    .product-info__content {
      grid-column: 2 / span 1;
      display: flex;
      flex-flow: column;
      justify-content: center;
      align-items: center;
      align-self: start;
      padding-block-start: var(--header-height, 0px);

      @media (min-height: 800px) {
        position: sticky;
        top: var(--header-height, 0px);
        align-self: stretch;
        block-size: calc(100vh - var(--header-height, 0px));

        html:has(header-component[transparent]) & {
          top: 0;
          block-size: 100vh;
          padding-block: 0;
        }
      }

      > * {
        inline-size: 100%;
        max-inline-size: min(100%, 600px);
      }
    }
  }

  .product-details:has(+ .product-info__content__sold-out) {
    display: none;
  }

  .product-info__content [id*='yotpo_product_reviews_star_rating']:not(:has(.yotpo-reviews-star-ratings-widget)) {
    min-block-size: 1.5lh;
  }

  .product-info__content [id*='wonderment_pdp_etas']:not(:has(#wonderment-pdp-eta-icon-container *)) {
    min-block-size: 2lh;
  }

  .product-info__content__sold-out {
    display: flex;
    flex-direction: column;
    gap: 0.5lh;
  }

  .product-info__content__sold-out > * {
    margin: 0;
  }

  .product-info__content__sold-out h1 {
    font-size: 1.5rem;
    font-weight: 500;
  }

  .product-info__content__sold-out h2 {
    font-size: 1rem;
    font-weight: 500;
  }

  .product-info__content__sold-out .product-recommendations-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    @media (min-width: 480px) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
.section-product-list {
    row-gap: var(--gap);
  }

  .section-product-list.section--full-width .section-product-list-header {
    padding-inline: var(--gutter-slide-width);
  }

  .section-product-list .product-card-gallery slider-slide:not(:first-child),
  .section-product-list .product-card-gallery slider-controls {
    display: none;
  }
.product-recommendations__skeleton-item {
    aspect-ratio: 4 / 5;
    background-color: oklch(from currentColor l c h / 20%);
  }

  @media screen and (max-width: 749px) {
    .product-recommendations__skeleton-item:nth-child(2n + 1) {
      display: none;
    }
  }

  product-recommendations:has([data-has-recommendations='false']) {
    display: none;
  }
.search-page-input__parent {
    display: flex;
    align-items: center;
    inline-size: min(100%, 400px);
    gap: var(--size-2xs);
    border: 1px solid var(--color-border);
    position: relative;
  }

  .search-page-input {
    flex: 1 1 auto;
    border: none;
    font-size: 1em;
    padding: var(--size-2xs) var(--size-5xl);
    outline: none;
  }

  .search-page-input__parent .search__icon {
    position: absolute;
    inset-block-start: auto;
    inset-inline-start: var(--size-s);
  }

  .search-page-input__parent .search__submit-button {
    position: absolute;
    inset-block-start: auto;
    inset-inline-end: var(--size-s);
  }
html:has(section-anchor-navigation) {
    scroll-padding-top: 0;
  }

  html:has(section-anchor-navigation) :target {
    scroll-margin-block: calc(var(--header-height, 0px) + var(--section-anchor-navigation-height, 0px));
  }

  .shopify-section:has(.section-anchor-navigation) {
    display: contents;
  }

  .section-anchor-navigation {
    z-index: var(--layer-sticky, 10);
    margin: 0 auto;
    padding: 1lh;
    position: sticky;
    display: block;
    top: calc(var(--header-height, 0) - 1px);
    background: var(--section-anchor-navigation-background, var(--color-accent, black));
    color: var(--section-anchor-navigation-color, white);
    border: var(--section-anchor-navigation-border, 0px) solid
      var(--section-anchor-navigation-border-color, transparent);
    font-size: 0.875rem;
    overflow-y: clip;
    overflow-x: auto;

    @media (min-width: 640px) {
      font-size: 1rem;
    }

    &:not(:has(a)) {
      display: none;
    }
  }

  .section-anchor-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1lh;

    @media (min-width: 640px) {
      gap: 1vi;
    }
  }

  .section-anchor-navigation a {
    text-transform: uppercase;
    padding: 0.25lh;
    border-radius: 8px;
    white-space: nowrap;
    transition: background-color 0.3s ease-out, color 0.3s ease-out;

    @media (min-width: 640px) {
      padding: 0.25lh 2vi;
      white-space: normal;
    }
  }

  .section-anchor-navigation:not(.section-anchor-navigation--with-sticker) a {
    &:is(:hover, :focus-visible, [aria-current='true']) {
      border-radius: 4px;
      color: var(--section-anchor-navigation-background, var(--color-accent, black));
      background-color: oklch(from var(--section-anchor-navigation-color, white) l c h / 0.9);
    }
  }

  .section-anchor-navigation--with-sticker a {
    position: relative;

    &::after {
      content: '';
      display: block;
      position: absolute;
      inset: -0.5lh;
      background-image: var(--section-anchor-navigation-sticker);
      background-size: 100% 100%;
      background-repeat: no-repeat;
      background-position: center;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.3s ease-out, rotate 0.3s ease-out;
      rotate: var(--section-anchor-navigation-sticker-rotation, 0deg);
      transform-origin: center;
    }

    &:is(:hover, :focus-visible, [aria-current='true']) {
      &::after {
        opacity: 1;
      }
    }
  }
.custom-section-background {
    grid-column: 1 / -1;

    * {
      position: absolute;
      inset: 0;
      overflow: hidden;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .custom-section-content {
    z-index: var(--layer-flat);
  }

/* CSS from block stylesheet tags */
.accordion {
    flex: 1;
    inline-size: 100%;
  }
.bloomreach-block {
    display: block;
    inline-size: 100%;
    block-size: auto;
  }

  .bloomreach-block:empty {
    display: none;
  }
.callout-block {
    font-size: var(--text-size, 1rem);

    & > * + * {
      margin: var(--_gap) 0 0;
    }
  }
.shopify-block-collapsible-row {
    inline-size: 100%;
    text-align: start;

    & > .details-content {
      padding-block-end: 1lh;
      padding-inline: 0.25lh;
    }

    &:not(:has(.details-content *)) {
      display: none;
    }

    & + .shopify-block-collapsible-row {
      border-block-start: 1px solid var(--color-border);
    }

    &[open] > summary path:last-child {
      rotate: 90deg;
    }

    & > summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rlh;
      position: relative;
      padding-block: 0.5lh;
      padding-inline: 0.25lh;
      cursor: pointer;
      list-style: none;
      user-select: none;
      font-weight: 500;
      text-wrap: pretty;

      & > * {
        margin: 0;
        font-size: 1em;
        font-weight: normal;
      }

      &:hover {
        text-decoration: underline;
      }

      & .svg-wrapper {
        --icon-size: 2cap;

        & path {
          transition: rotate 0.3s;
          transform-origin: center;
        }
      }
    }
  }
.cta-block {
    display: inline flex;
    align-items: center;
    justify-content: center;
    gap: 0.5ch;
    appearance: none;
    border: none;
    text-decoration: none;
    font-family: var(--font-paragraph--family);
    line-height: var(--font-paragraph--line-height);
    margin-block: 0;
    padding: 0.25lh 1lh;
    cursor: pointer;
    transition-duration: 0.2s;
    transition-property: background-color, box-shadow, color;
    transition-timing-function: ease-in-out;
    color: var(--cta-block-text-color, currentColor);
    background-color: var(--cta-block-background-color, transparent);
    border: 1px solid var(--cta-block-border-color, currentColor);
    box-shadow: none;

    @media (width >= 768px) {
      white-space: nowrap;
    }

    svg {
      width: 1.8ch;
      height: 1.8ch;
      transition: translate 0.3s ease-in-out;
    }

    &:is(a):hover,
    a:has(&):hover {
      svg {
        translate: 0.15rem;
      }
    }
  }

  .cta-block.cta-primary {
    color: white;
    color: oklch(from currentColor calc(l + 1) c h);
    background-color: black;
    background-color: oklch(from currentColor calc(l - 0.8) c h);
    border-color: black;
    border-color: oklch(from currentColor calc(l - 0.8) c h);
    font-size: 0.875rem;
  }

  .cta-block.cta-secondary {
    color: currentColor;
    border-color: currentColor;
    background-color: transparent;
    font-size: 0.875rem;
  }

  .cta-block.cta-link {
    padding: 0;
    text-decoration: underline;
    border: none;
    color: currentColor;
    background-color: transparent;
  }

  .cta-block.cta-custom {
    color: var(--color-cta-text);
    border-color: var(--color-cta-border);
    background-color: var(--color-cta-background);
    border-radius: var(--cta-block-border-radius, 0);
    font-size: var(--font-size, 0.875rem);

    @media (width >= 768px) {
      font-size: var(--font-size-desktop, var(--font-size, 0.875rem));
    }
  }
.faq-block {
    inline-size: 100%;
  }

  .faq-block .faq-item:has(+ .faq-item) {
    border-bottom: 1px solid var(--color-border);
    text-align: start;
  }

  .faq-block summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-block: 0.5rem;
  }

  .faq-block .faq-item[open] summary .svg-wrapper:not(:last-child) {
    display: none;
  }

  .faq-block .faq-item:not([open]) summary .svg-wrapper:last-child {
    display: none;
  }

  .faq-block .faq-answer__inner {
    padding-block-end: 1rem;
  }
component-filters,
  .filter-active-facets {
    .swatch {
      --swatch--size: var(--swatch-input--size, 1.5cap);
      --swatch--border-radius: var(--swatch-input--border-radius, 50%);

      display: block;
      width: var(--swatch--size);
      max-width: 100%;
      aspect-ratio: 1 / 1;
      background: var(--swatch--background);
      background-position: var(--swatch-focal-point, initial);
      background-size: cover;
      background-origin: border-box;
      border: 0.1rem solid oklch(from var(--color-foreground) l c h / 45%);
      border-radius: var(--swatch--border-radius);
    }
  }

  .filter-active-facets {
    font-size: 0.875rem;
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;

    &:has(.active-facet-remove) {
      display: flex;
    }

    &:not(:has(.active-facet-remove)) {
      display: none !important;
    }
  }

  .filters-drawer {
    .filter-active-facets {
      display: block;
      margin-block-end: 0;

      .filter-active-facets__group {
        margin-block-end: var(--size-4xs);
      }
    }

    .facet-container {
      padding-block: 0.5rlh;
    }

    details {
      border-bottom: 1px solid var(--color-border);

      &[open] {
        summary {
          path:last-child {
            rotate: 90deg;
          }
        }
      }
    }

    summary {
      path {
        transition: rotate 0.5s var(--spring);
        transform-origin: center;
      }
    }
  }

  component-filters {
    display: block;
    container: filters / inline-size;

    .clear-filters-button {
      text-decoration: underline;
      text-underline-offset: 0.25em;
    }

    .filters-type-list {
      display: flex;
      flex-flow: column;
      gap: var(--mzw-space-2xs);

      @container filters (width > 400px) {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(25ch, 1fr));
      }

      li {
        .facet-checkbox {
          margin-bottom: 0;
          text-transform: none;
          font-size: 1rem;
          display: flex;
          align-items: center;
          gap: var(--size-4xs);

          .facet-checkbox__count {
            font-family: var(--font-accent--family);
          }
        }
      }

      &:has(.visual-display) {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
        gap: var(--size-4xs);

        li {
          display: flex;
          flex-flow: column-reverse;
        }

        .visual-display {
          &.visual-display--presentation-swatch {
            overflow: hidden;
            border-radius: var(--style-border-radius-50);
          }
        }
      }
    }

    .filters-type-price {
      li {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--size-4xs);
      }

      input {
        min-inline-size: 100px;
      }

      label {
        display: block;
        margin-bottom: 0;
      }
    }

    .tag-filters {
      &:not(:has(.tag-filters__item)) {
        display: none;
      }

      .tag-filters__item {
        display: flex;
        align-items: center;
      }
    }

    details {
      &[open] {
        summary svg line:first-child {
          rotate: 90deg;
        }
      }

      summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block: var(--size-4xs);
        gap: var(--size-5xs);
        cursor: pointer;

        svg {
          --icon-size: 1em;

          line {
            transform-origin: center;
            transition: rotate 0.2s ease-out;
          }
        }
      }

      [type='checkbox'] {
        margin: 0;
      }
    }

    .swatch-input__input {
      &:is(:focus-visible, :hover) ~ .swatch-input__label {
        text-decoration: underline;
      }
    }
  }

  .collection-horizontal-filters {
    display: none;
    margin-bottom: 1rem;

    @media (min-width: 1280px) {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      align-items: center;
      font-size: 0.875rem;
    }

    @media (min-width: 1024px) {
      gap: 1rem;
    }

    details {
      position: relative;

      &[open] {
        summary svg {
          rotate: 0.5turn;
        }
      }
    }

    .filter-items {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: var(--mzw-space-2xs);

      .facet-container {
        position: absolute;
        top: calc(100% + 0.5rem);
        left: 0;
        padding-block: var(--mzw-space-s);
        padding-inline: var(--mzw-space-s);
        border: 1px solid var(--color-border);
        background-color: var(--color-background);
        z-index: var(--layer-5);
        white-space: nowrap;
      }

      summary {
        padding: 0;

        &:hover,
        &:focus-visible {
          text-decoration: underline;
        }
      }

      .facets-layout-grid--swatch {
        display: grid;
        grid-template-columns: repeat(4, minmax(3rem, 1fr));
        gap: var(--size-4xs);
        text-align: center;
      }
    }
  }

  .collection-toolbar-container {
    font-family: var(--font-accent--family);
    padding: 0.5rlh var(--page-margin);
  }

  @media (min-width: 1024px) {
    .collection-toolbar-container {
      padding: 0.75rlh 0;
    }
  }

  .collection-toolbar {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: auto;
    justify-items: center;
    justify-content: space-between;
    gap: 0 0.5rem;
    align-items: center;
    font-size: 0.75rem;
    padding-block-end: 0.5rlh;
  }

  @media (min-width: 1024px) {
    .collection-toolbar {
      display: flex;
      justify-content: flex-start;
      gap: 1rem;
    }
  }

  .collection-toolbar__separator {
    display: none;
    opacity: 0.5;
    inline-size: 1px;
    block-size: 0.5rlh;
    background-color: currentColor;
  }

  @media (min-width: 1024px) {
    .collection-toolbar__separator {
      display: inline flex;
    }

    .collection-toolbar__separator.collection-toolbar__separator--right {
      margin-inline-start: auto;
      visibility: hidden;
    }
  }

  .collection-toolbar__sort-by-select-container {
    display: none;
    grid-column: 1 / span 1;
  }

  @media (min-width: 1024px) {
    .collection-toolbar__sort-by-select-container {
      display: block;
    }
  }

  .collection-toolbar__filters-button {
    grid-column: 1 / span 1;
    display: inline flex;
    align-items: center;
    justify-content: center;
  }

  @media (width > 1440px) {
    [data-filter-type='horizontal'] .collection-toolbar__filters-button {
      display: none;
    }

    [data-filter-type='horizontal'] :has(+ .collection-toolbar__filters-button) {
      display: none;
    }
  }

  @media (min-width: 1024px) {
    .collection-toolbar__controls-dropdown {
      display: none;
    }
  }

  .collection-toolbar__controls-dropdown [region] {
    position: absolute;
    inline-size: 100%;
    top: 100%;
    inset-inline-start: 0;
    background-color: var(--color-background);
    border: 1px solid var(--color-border);
    white-space: nowrap;
    padding: var(--gutter-s);
    z-index: var(--layer-2);
    box-shadow: var(--shadow-popover);
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  @media (min-width: 1024px) {
    .collection-toolbar__controls-dropdown [region] {
      inline-size: auto;
      top: unset;
      inset-inline-start: unset;
    }
  }

  .product-grid-size-controls {
    display: none;
  }

  @media (min-width: 1024px) {
    .product-grid-size-controls {
      display: flex;
    }
  }

  .collection-toolbar__products-count {
    display: none;
  }

  @media (min-width: 1024px) {
    .collection-toolbar__products-count {
      display: inline;
    }
  }

  .component-sort-by > .svg-wrapper {
    width: auto;
    height: 0.8lh;
  }

  compare-toggle {
    display: block;
  }

  compare-toggle label {
    display: flex;
    gap: var(--gutter-2xs);
    align-items: center;
  }

  compare-toggle label > * {
    text-box: trim-both cap alphabetic;
  }

  compare-toggle label:focus-within {
    text-decoration: underline;
  }
.grid-block .grid-block__inner {
    display: grid;
    grid-template-columns: repeat(var(--grid-block-columns), minmax(0, 1fr));
    gap: var(--grid-block-gap);
    align-items: var(--grid-block-align-items);
    justify-items: var(--grid-block-justify-items);
    block-size: 100%;
  }

  @media (max-width: 767px) {
    .grid-block .grid-block__inner.grid-block__inner--mobile-scroll {
      display: flex;
      gap: var(--grid-block-gap);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      align-items: var(--grid-block-align-items);
      container-type: inline-size;

      > * {
        /* scroll-snap-align: start; */
        flex: 0 0 auto;
        inline-size: calc(100cqi / var(--grid-block-columns) - 30px);
      }

      slider-slides,
      product-card-gallery [ref='gallery'] {
        overflow: hidden;

        * {
          scroll-snap-align: unset;
        }
      }

      slider-controls,
      product-card-gallery button {
        display: none;
      }
    }
  }

  .grid-block .grid-block__inner.desktop\:hidden {
    grid-template-columns: minmax(0, 1fr);
  }

  @media (min-width: 768px) {
    .grid-block .grid-block__inner {
      display: grid;
      grid-template-columns: repeat(var(--grid-block-columns-desktop), minmax(0, 1fr));
      gap: var(--grid-block-gap-desktop);
      align-items: var(--grid-block-align-items);
      justify-items: var(--grid-block-justify-items);
      block-size: 100%;
    }
  }
[style*='--horizontal-alignment: center'] .section-block-heading {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] .section-block-heading {
    --text-align-default: end;
  }

  [style*='--horizontal-alignment: flex-start'] > .section-block-heading {
    --text-align-default: start;
  }

  [style*='--horizontal-alignment: center'] > .section-block-heading {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] > .section-block-heading {
    --text-align-default: end;
  }

  @media screen and (min-width: 768px) {
    [style*='--horizontal-alignment--desktop: center'] .section-block-heading {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment--desktop: flex-end'] .section-block-heading {
      --text-align-default: end;
    }

    [style*='--horizontal-alignment--desktop: flex-start'] > .section-block-heading {
      --text-align-default: start;
    }

    [style*='--horizontal-alignment--desktop: center'] > .section-block-heading {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment--desktop: flex-end'] > .section-block-heading {
      --text-align-default: end;
    }
  }

  .section-block-heading {
    text-wrap: pretty;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  @media screen and (min-width: 768px) {
    .section-block-heading {
      align-items: var(--horizontal-alignment--desktop, var(--horizontal-alignment));
    }
  }

  .section-block-heading > * {
    text-align: var(--text-align, var(--text-align-default));
    margin: 0;
  }

  .section-block-heading[style*='--_font-size_'] > * {
    font-size: var(--_font-size_, 2em);
  }

  .section-block-heading[style*='--_color_'] > * {
    color: var(--_color_, inherit);
  }

  @media screen and (min-width: 768px) {
    .section-block-heading[style*='--_color-desktop_'] > * {
      color: var(--_color-desktop_);
    }
    .section-block-heading[style*='--_font-size-desktop_'] > * {
      font-size: var(--_font-size-desktop_);
    }
  }
.image-block {
    display: flex;
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .image-block--height-fill img {
    height: 100%;
  }

  .image-block img {
    object-fit: cover;
  }
.jumbo-text {
    display: flex;
    container-type: inline-size;
    line-height: 1;
    text-box: trim-both cap alphabetic;
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    color: var(--color, currentColor);
    text-align: var(--text-align);

    @media (min-width: 768px) {
      color: var(--color-desktop, var(--color, inherit));
    }

    --jumbo-text-captured-length: initial;
    --support-sentinel: var(--jumbo-text-captured-length, 9999px);

    & > [aria-hidden] {
      visibility: hidden;
    }

    & > :not([aria-hidden]) {
      flex-grow: 1;
      container-type: inline-size;
      text-box: trim-both cap alphabetic;

      --jumbo-text-captured-length: 100cqi;
      --available-space: var(--jumbo-text-captured-length);

      & > * {
        --support-sentinel: inherit;
        --jumbo-text-captured-length: 100cqi;
        --ratio: tan(atan2(var(--available-space), var(--available-space) - var(--jumbo-text-captured-length)));
        --font-size: clamp(1em, 1em * var(--ratio), var(--max-font-size, infinity * 1px) - var(--support-sentinel));
        inline-size: var(--available-space);

        &:not(.jumbo-text) {
          display: block;
          font-size: var(--font-size);

          @container (inline-size > 0) {
            white-space: nowrap;
          }
        }

        /* Necessary for variable fonts that use optical sizing */
        &.jumbo-text {
          --jumbo-text-captured-length2: var(--font-size);
          font-variation-settings: 'opsz' tan(atan2(var(--jumbo-text-captured-length2), 1px));
        }
      }
    }
  }

  @property --jumbo-text-captured-length {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }

  @property --jumbo-text-captured-length2 {
    syntax: '<length>';
    initial-value: 0px;
    inherits: true;
  }
.overlay-media-block {
    display: grid;
    grid-template-areas: 'container';
    --overlay-media-block-translate: 0;
    --overlay-media-block-translate-desktop: 0;
  }

  html:not(.shopify-design-mode) .overlay-media-block__content:not(:has([href])) {
    pointer-events: none;
  }

  .overlay-media-block > * {
    grid-area: container;
  }

  .overlay-media-block__content {
    place-self: var(--overlay-media-block-content-position, center);
    translate: var(--overlay-media-block-translate, 0);
    z-index: var(--layer-flat, 1);

    @media (min-width: 768px) {
      translate: var(--overlay-media-block-translate-desktop, var(--overlay-media-block-translate, 0));
    }
  }

  .overlay-media-block__content > * {
    inline-size: 100%;
    block-size: 100%;
  }

  .overlay-media-block.overlay-media-block--sticky > .overlay-media-block__content {
    position: sticky;
    inset-block-end: 0;
  }

  @media (max-width: 767px) {
    .overlay-media-block.overlay-media-block--stack-mobile > .overlay-media-block__content {
      place-self: stretch;
      position: static;
    }
    .overlay-media-block.overlay-media-block--stack-mobile {
      display: flex;
      flex-flow: column;
    }
  }
.layout-tabs-block {
    inline-size: 100%;

    & .layout-tabs-block__title {
      font-size: 2rem;
      text-transform: uppercase;
      margin: 0;
      width: max-content;
      padding-inline: 0.5lh;
      inline-size: 100%;

      @media (min-width: 768px) {
        inline-size: auto;
      }
    }
  }
.liquid-block {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
.media-block {
    position: relative;
    overflow: hidden;
    aspect-ratio: var(--ratio);
  }

  @media screen and (width >= 768px) {
    .media-block {
      aspect-ratio: var(--ratio-desktop, var(--ratio));
    }
  }

  .media-block__link {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    display: block;
    z-index: var(--layer-flat, 1);
  }

  .media-block picture:has(source[src*='.svg']) img,
  .media-block img[src*='.svg'] {
    object-fit: contain;
  }

  .media-block :is(img, video, svg) {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    overflow: hidden;
    object-fit: cover;
  }

  .media-block--height-fill :is(img, video, svg) {
    height: 100%;
  }

  .media-block .media-block-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid currentColor;
  }

  .media-block lazy-video-buttons {
    position: absolute;
    inset-inline-end: 0;
    inset-block-end: 0;
    z-index: var(--layer-flat, 1);
  }

  @keyframes media-block-parallax {
    from {
      translate: 0 -60px 0;
    }
    to {
      translate: 0 60px 0;
    }
  }

  @media screen and (prefers-reduced-motion: no-preference) {
    @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
      .media-block.media-block--parallax {
        overflow: clip;

        & :is(img, video, svg) {
          height: calc(100% + 60px);
          inset-block-start: -30px;
          animation: media-block-parallax linear both;
          animation-timeline: view();
          animation-range: entry 0% exit 100%;
        }
      }
    }
  }

  @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .media-block.media-block--hover-effect {
      overflow: hidden;

      & :is(img, video, svg) {
        transition: scale 3s cubic-bezier(0.3, 1, 0.3, 1);
      }

      &:hover :is(img, video, svg) {
        scale: 1.03;
      }
    }
  }

  .media-block__warning {
    position: absolute;
    inset: 0;
    margin: 10%;
    background: rgba(255, 0, 0, 0.8);
    color: white;
    padding: 10px;
    font-size: 14px;
    z-index: 1;
    text-align: center;
    place-self: center;
  }
.popup-link__button {
    display: inline-flex;
    align-items: center;
    gap: 0.5ch;

    svg {
      inline-size: 1lh;
      block-size: 1lh;
      stroke-width: 1.5px;
      scale: 0.8;
    }
  }

  .popup-link .popup-popover {
    inline-size: min(var(--normal-content-width), 90vw);
    padding: var(--size-2xl);
    border: 1px solid var(--color-border);
    background-color: var(--color-background);
    box-shadow: var(--shadow-popover);

    &::backdrop {
      background-color: oklch(from var(--color-foreground) l c h / 0.2);
      opacity: 0;
      transition-property: opacity, display, overlay;
      transition-duration: 300ms;
      transition-timing-function: var(--spring, ease-out);
      transition-behavior: allow-discrete;
    }

    &:popover-open::backdrop {
      opacity: 1;

      @starting-style {
        opacity: 0;
      }
    }
  }

  .popup-link--default .popup-popover {
    max-block-size: var(--modal-max-height);
    translate: 0 1lh;
    opacity: 0;
    transition-property: translate, opacity, display, overlay;
    transition-duration: 300ms;
    transition-timing-function: var(--spring, ease-out);
    transition-behavior: allow-discrete;

    &:popover-open {
      opacity: 1;
      translate: 0 0;

      @starting-style {
        opacity: 0;
        translate: 0 1lh;
      }
    }
  }

  .popup-link--drawer .popup-popover {
    inset: unset;
    inset-inline-end: 0;
    inset-block: 0;
    block-size: 100%;
    overflow-block: auto;

    translate: 100% 0;
    transition-property: translate, display, overlay;
    transition-duration: 300ms;
    transition-timing-function: var(--spring, ease-out);
    transition-behavior: allow-discrete;

    &:popover-open {
      translate: 0 0;

      @starting-style {
        translate: 100% 0;
      }
    }
  }

  .popup-link__close-button {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    background: none;
    border: none;
    padding: var(--size-2xs);
  }
.shopify-payment-terms-form {
    text-align: center;
    font-size: 0.875rem;
    padding-block-start: 0.5lh;

    @media (min-width: 768px) {
      padding-block-start: 1lh;
    }
  }

  .add-to-cart-block {
    inline-size: 100%;
  }
lazy-product-card {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
  }
.dialog-drawer.product-details-dialog {
    --width: 700px;

    .drawer__header {
      button {
        position: absolute;
        inset-inline-end: 0.5lh;
        inset-block-start: 50%;
        translate: 0 -50%;
      }
    }

    tabs-component {
      [role='tablist'] {
        flex-wrap: wrap;
        gap: var(--mzw-space-xs);
        margin-block-end: 1lh;
      }

      [role='tab'] {
        padding-inline: 0;
      }

      [role='tabpanel'] {
        padding: 0;
      }
    }
  }
.product-details-block__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space);
  }
.product-features-slider__wrapper {
    inline-size: 100%;
  }

  .product-features-slider__slide {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
  }

  @media (min-width: 768px) {
    .product-features-slider__slide {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  }

  .product-features-slider__slide :is(img, video) {
    aspect-ratio: 1;
    object-fit: cover;
    inline-size: 100%;
    block-size: auto;
  }

  .product-features-slider__slide-content {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding-inline: var(--padding-6xl);
  }

  .product-features-slider__slide-content > * {
    margin: 0 auto;
    max-inline-size: 70ch;
  }

  .product-features-slider slider-controls {
    padding-inline: 0.5lh;
  }
.product-grid-block {
    container: product-grid-block / inline-size;
  }

  .product-grid-block__grid {
    gap: 4px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(var(--product-grid-block-columns-mobile, 2), minmax(0, 1fr));
  }

  @media (min-width: 768px) {
    .product-grid-block__grid {
      grid-template-columns: repeat(var(--product-grid-block-columns, 4), minmax(0, 1fr));
    }
  }
.other-options-grid-block {
    display: grid;
    grid-template-columns: repeat(3, minmax(15ch, 1fr));
    gap: 0.5rem;
  }
.product-recommendations-wrapper {
    width: 100%;
  }

  .product-recommendations-wrapper:has(product-recommendations[data-shopify-editor-preview]) {
    width: 100vw;
  }

  .product-recommendations {
    display: block;
  }

  .product-recommendations__skeleton-item {
    aspect-ratio: 3 / 4;
    background-color: var(--color-border);
    opacity: var(--skeleton-opacity);
    border-radius: 4px;
  }

  .block-recommendations-list {
    container-type: inline-size;
  }

  .block-recommendations-list .recommendations-list {
    display: flex;
    gap: var(--recommendations-list-column-gap-desktop, 16px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }

  .block-recommendations-list .recommendations-list__item {
    scroll-snap-align: start;
    flex: 0 0 auto;
    width: calc(
      (100% - (var(--recommendations-list-column-gap-desktop, 16px) * (var(--visible-recommendations, 4) - 1))) /
        var(--visible-recommendations, 4)
    );
  }

  .block-recommendations-list .recommendations-list__item product-card-gallery [ref='gallery'] {
    overflow: hidden;
  }
.product-swatches-metaobjects {
    summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.5ch;
      cursor: pointer;
    }

    &[open] {
      summary {
        display: none;
      }
    }

    small {
      white-space: nowrap;
    }

    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5ch;
      list-style: none;
      margin: 0;
      padding: 0;

      li {
        flex: 0 0 auto;
        overflow: hidden;
        border: 1px solid var(--color-border);
        position: relative;

        img {
          position: absolute;
          inset: 0;
          inline-size: 100%;
          block-size: 100%;
          object-fit: cover;
          object-position: center;
        }
      }
    }
  }
.responsive-block--mobile {
    display: contents;
  }
  .responsive-block--desktop {
    display: none;
  }

  @media (width >= 768px) {
    .responsive-block--mobile {
      display: none;
    }
    .responsive-block--desktop {
      display: contents;
    }
  }
.schedule-content-block {
    display: contents;
  }
.scroll-down-button {
    position: absolute;
    margin-inline: auto;
    place-self: center;
    inset-block-end: 0.5lh;
    display: block;
    z-index: var(--layer-sticky, 10);
  }

  .scroll-down-button button {
    display: flex;
    flex-flow: column;
    align-items: center;
    font-size: var(--scroll-down-button-text-size, 1em);
    color: var(--scroll-down-button-text-color, currentColor);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
  }

  .scroll-down-button button svg {
    animation: slow-bob 3s ease-in-out infinite;
  }
.scrollable-block slider-arrows button[data-bound] {
    display: inline flex;
    opacity: 0.5;
    scale: 1;
  }

  .scrollable-block slider-arrows:has(button[data-bound] ~ button[data-bound]) {
    display: none;
  }
.simple-image-overlay {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    width: 100%;
    height: 100%;
  }

  .simple-image-overlay .simple-image-overlay__link {
    display: contents;
  }

  .simple-image-overlay :is(img, svg, lazy-video, .simple-image-overlay__overlay) {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
  }

  .simple-image-overlay :is(img, svg, lazy-video, video) {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--ratio, auto);
    object-fit: cover;
  }

  .simple-image-overlay__overlay {
    padding: 0.5lh;
    zoom: var(--zoom, 100%);
    color: var(--text-color);
  }

  .simple-image-overlay__overlay--override-font {
    &,
    > * {
      font-family: var(--override-font-family);
    }
  }
/* Fill opposite direction */
  .layout-panel-flex--column > .spacer-block {
    width: 100%;
  }

  .layout-panel-flex--row > .spacer-block {
    height: 100%;
  }

  /* Flex - Percent */
  :is(.layout-panel-flex--row, .layout-panel-flex--column) > .spacer-block--size-percent {
    flex: var(--spacer-size);
  }

  /* Flex - Pixel */
  .layout-panel-flex--row > .spacer-block--size-pixel {
    width: var(--spacer-size);
  }

  .layout-panel-flex--column > .spacer-block--size-pixel {
    height: var(--spacer-size);
  }

  /* Mobile */
  @media screen and (max-width: 750px) {
    /* Percent */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-percent {
      flex: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-percent,
    .mobile-column > .spacer-block--size-percent:not(.spacer-block--size-mobile-pixel) {
      width: 100%;
      flex: var(--spacer-size-mobile);
    }

    /* Pixel */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-pixel {
      width: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-pixel,
    .mobile-column > .spacer-block--size-mobile-pixel {
      width: 100%;
      flex: 0;
      height: var(--spacer-size-mobile);
    }
  }
.sticker-block {
    position: absolute;
    top: var(--sticker-position-y);
    left: var(--sticker-position-x);
    transform: rotate(var(--sticker-rotation));
    z-index: var(--layer-overlay, 20);
    pointer-events: none;
  }
.timeline-entry {
    position: relative;
    text-align: center;
    block-size: 100%;
    display: flex;
    flex-flow: column;
  }

  .timeline-entry > * {
    padding: 0.5lh;
  }

  .timeline-entry hr {
    padding: 0;
    border-width: 4px;
    border-color: var(--color-accent);
    margin: 0;
    position: relative;

    &::after {
      content: '';
      display: block;
      position: absolute;
      width: 16px;
      height: 16px;
      background: var(--color-accent);
      border-radius: 50%;
      top: 50%;
      left: 50%;
      translate: -50% calc(-50% - 2px);
    }
  }

  .timeline-entry :is(img, svg) {
    padding: 0;
    inline-size: 60%;
    margin-inline: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  .timeline-entry__date {
    font-weight: 500;
    font-size: 1.25rem;

    &:empty {
      display: none;
    }
  }

  .timeline-entry__description {
    flex: 1;
    display: flex;
    flex-flow: column;
    justify-content: center;

    &:empty {
      display: none;
    }
  }
.video-block {
    display: flex;
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .video-block--height-fill :is(picture, img, video, lazy-video) {
    height: 100%;
  }

  .video-block :is(picture, img, video, lazy-video) {
    overflow: clip;
    aspect-ratio: var(--ratio);
    height: auto;
    object-fit: cover;
    width: 100%;
  }
.blog-post-card {
    flex-flow: column;
    block-size: 100%;
    inline-size: 100%;
    container: blog-post-card / inline-size;
  }

  .blog-post-card__inner:has(img) {
    display: grid;
    grid-template-columns: 1fr;
  }

  @media screen and (min-width: 750px) {
    .blog-post-card__inner:has(img) {
      grid-template-columns: var(--card-grid, 1fr 1fr);
      align-items: center;
    }
  }

  @container blog-post-card (width >= 700px) {
    .blog-post-card__inner:has(img) .blog-post-card__content {
      text-align: center;
      align-items: center;
    }
  }

  .blog-post-card__content {
    padding: var(--size-m);
    flex-flow: column;
    gap: var(--size-s);
    display: flex;

    @container blog-post-card (width >= 700px) {
      padding: var(--size-2xl);
    }
  }

  .blog-post-card__content-text {
    text-wrap: pretty;
  }

  .blog-post-card__image-container {
    align-self: stretch;
    display: block;
    height: 100%;
  }

  .blog-post-card__image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .blog-post-card__tags {
    font-family: var(--font-accent--family);
    font-size: 0.875rem;
  }
.blog-post-content {
    max-width: var(--wide-content-width);
    margin: 0 auto;
  }
.blog-post-featured-image {
    --width: 100%;
    --custom-width: 100%;
    display: block;
    position: relative;
    width: var(--width);
  }

  .blog-post-featured-image.size-style {
    --width: var(--size-style-width, 100%);
  }

  .blog-post-featured-image--height-fit {
    height: fit-content;
  }

  .blog-post-featured-image--height-fill {
    height: 100%;
  }

  .blog-post-featured-image__image {
    aspect-ratio: var(--ratio);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  @media screen and (max-width: 749px) {
    .blog-post-featured-image {
      --width: var(--width-mobile, var(--width));
      --custom-width: var(--custom-width-mobile, var(--custom-width));
    }

    .blog-post-featured-image.size-style {
      --width: var(--size-style-width-mobile, var(--size-style-width, 100%));
    }
  }
.blog-post-details {
    display: flex;
    gap: var(--mzw-space-s);
    font-size: 1rem;
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
    white-space: nowrap;
  }
  .blog-post-details > span {
    text-overflow: clip;
    overflow: hidden;
  }
.product-grid__item.custom-collection-block {
    grid-column: var(--column) / span var(--column-span);
    grid-row: var(--row) / span var(--row-span);

    @media (max-width: 767px) {
      grid-column: var(--mobile-column) / span var(--mobile-column-span);
      grid-row: var(--mobile-row) / span var(--mobile-row-span);

      &.custom-collection-block--mobile-full-width {
        grid-column: 1 / -1;
      }
    }

    &.custom-collection-block--full-width {
      grid-column: 1 / -1;
    }
  }
html,
  body {
    &:has(.flyout-menu:popover-open) {
      overflow: clip;

      .main-header-menu-button svg:first-child {
        opacity: 0;
      }

      .main-header-menu-button svg:last-child {
        opacity: 1;
      }
    }
  }

  .flyout-menu {
    --_menu-item-padding-x: 1ch;
    --_menu-item-padding-y: 0.5lh;
    --_transform-start: translate3d(-10%, 0, 0);
    --_duration: 0.2s;
    --icon-size: 1.25em;
    --list-spacing: 0.5rlh;
    color: var(--color-foreground);
    background-color: var(--color-background);
    inset: 0;

    [dir='rtl'] & {
      --_transform-start: translate3d(10%, 0, 0);
    }

    inset-block-start: var(--header-height, 0px);
    block-size: calc(100% - var(--header-height, 0px));
    inline-size: 100%;
    transform: var(--_transform-start);
    opacity: 0;
    filter: blur(4px);

    @media (prefers-reduced-motion: no-preference) {
      transition-property: opacity, filter, transform, display, overlay;
      transition-duration: var(--_duration);
      transition-timing-function: var(--ease-out-cubic);
      transition-behavior: allow-discrete;
    }

    .flyout-menu__inner {
      background-color: var(--color-background);
      position: relative;
      overflow: hidden auto;

      &:has([aria-expanded='true']) {
        overflow: hidden;
      }
    }

    &:focus {
      outline: none;
    }

    &::backdrop {
      background-color: transparent;
    }

    &:popover-open {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);

      @starting-style {
        opacity: 0;
        transform: var(--_transform-start);
        filter: blur(4px);
      }
    }

    &.\:popover-open {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);

      @starting-style {
        opacity: 0;
        transform: var(--_transform-start);
        filter: blur(4px);
      }
    }

    .flyout-menu__close {
      position: sticky;
      top: 0;
      width: 100%;
      justify-content: flex-start;
      padding: var(--_menu-item-padding-x);
      font-size: 0.8em;

      span {
        display: none;
      }

      &:focus-visible {
        text-decoration: underline;
        outline: none;
      }
    }

    .flyout-menu__inner {
      block-size: 100%;
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr auto auto;
      grid-template-areas:
        'main-menus'
        'sub-menus'
        'footer';
      background-color: var(--color-background);
      overflow: hidden auto;
      scrollbar-width: thin;

      &:has(.flyout-menu__panel__features) {
        grid-template-rows: 1fr auto auto auto;
        grid-template-areas:
          'main-menus'
          'sub-menus'
          'features'
          'footer';
      }
    }

    :is(.flyout-menu__panel__main-menus, .flyout-menu__panel__sub-menus, .flyout-menu__footer) {
      --icon-size: 1em;
      background-color: var(--color-background);
    }

    .flyout-menu__panel__main-menus {
      display: flex;
      flex-flow: column;
      grid-area: main-menus;
      margin-block-end: 2lh;
    }

    .flyout-menu__list-item:has([data-title='terms-of-service'], [data-title='refund-policy']) {
      display: none;
    }

    .flyout-menu__panel__sub-menus {
      margin-top: auto;
      grid-area: sub-menus;
    }

    strong {
      display: block;
      padding-block: 0.5rlh;
      padding-inline: var(--_menu-item-padding-x);
      font-size: 0.875rem;
      text-transform: uppercase;
      font-weight: normal;

      &:empty {
        display: none;
      }
    }

    :is([data-title*='sale' i], [data-title*='holiday' i], [data-title*='gifting' i]) {
      color: var(--color-dark-red, red);
    }

    .flyout-menu__link__image {
      display: block;
      width: 100%;
      aspect-ratio: 3 / 2;
      object-fit: cover;
      outline: 1px solid var(--color-border);
      outline-offset: -1px;
      border-radius: 0.25rem;
    }

    .flyout-menu__link {
      padding: var(--_menu-item-padding-y) var(--_menu-item-padding-x);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1lh;
      font-size: 0.875rem;
      width: 100%;
      cursor: pointer;
      text-underline-offset: 0.15em;

      @media (prefers-reduced-motion: no-preference) {
        transition-property: opacity, translate;
        transition-duration: 0.1s;
        transition-timing-function: var(--ease-out-cubic);
      }

      &:is(:focus-within, :focus-visible, :active, [aria-current='page'], [aria-expanded='true']) {
        text-decoration: underline;
        outline: none;
      }

      &:has(.flyout-menu__link__image) {
        display: flex;
        flex-flow: column;
        gap: 0;
        align-items: start;
        padding: 0;

        .flyout-menu__link__text {
          padding-block: 0.5em;
          line-height: 1;
        }
      }

      svg {
        stroke-width: 1.5;
      }
    }

    .flyout-menu__lists:has(.flyout-menu__list-container:nth-child(2)) {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: var(--list-spacing);
      gap: var(--list-spacing);
      --_menu-item-padding-y: 0.25lh;
      --_menu-item-padding-x: 0;

      .flyout-menu__list-container:has(.flyout-menu__list--images, .flyout-menu__list--grid) {
        grid-column: span 2;
      }
    }

    .flyout-menu__list {
      display: flex;
      flex-flow: column;
      width: 100%;
      font-size: 1rem;

      &:is(.flyout-menu__list--images, .flyout-menu__list--grid) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--list-spacing);

        &:not(:last-child) {
          border-block-end: 1px solid var(--color-border);
        }
      }

      &.flyout-menu__panel__main-menus > .flyout-menu__list-item:not(:has(.flyout-menu__list-item)) :is(img, video) {
        aspect-ratio: auto;
      }
    }

    .flyout-menu__back {
      padding: 0.25lh 0.5lh;
      gap: 1lh;
      display: grid;
      grid-template-areas: 'box';
      align-items: center;
      justify-content: unset;
      position: sticky;
      inset-block-start: 0;
      z-index: var(--layer-2);
      text-decoration: none;
      background-color: var(--color-background);
      border-block-end: 1px solid var(--color-border);

      > * {
        grid-area: box;
      }

      svg {
        rotate: none;
      }

      img {
        max-inline-size: 140px;
        height: auto;
        margin-inline: auto;
      }

      > span {
        display: inline flex;
        align-items: center;
        gap: 0.25lh;
        font-size: 0.8em;
        place-self: center start;

        span {
          translate: 0 1px;
        }
      }

      > div {
        inline-size: 100%;
        font-size: 1em;
        font-family: var(--font-heading--family);
      }
    }

    .flyout-menu__panel--nested {
      --flyout-menu__panel--nested-start: 20px 0;
      position: absolute;
      inset-block-start: 0;
      z-index: var(--layer-2);
      background-color: var(--color-background);
      -webkit-overflow-scrolling: touch;
      inset-inline-start: 0;
      inline-size: 100%;
      block-size: 100%;
      display: flex;
      flex-flow: column;
      overflow: hidden auto;
      scrollbar-width: thin;
      opacity: 0;

      @media (prefers-reduced-motion: no-preference) {
        translate: var(--flyout-menu__panel--nested-start);
        transition-property: display, overlay, opacity, translate, filter;
        transition-duration: 0.1s, 0.1s, 0.1s, 0.2s, 0.5s;
        transition-behavior: allow-discrete;
        transition-timing-function: var(--spring);
      }

      [dir='rtl'] & {
        --flyout-menu__panel--nested-start: -20px 0;
      }

      &:not([hidden]) {
        opacity: 1;
        translate: 0 0;

        .flyout-menu__link {
          opacity: 1;
          translate: 0 0;
        }
      }

      @starting-style {
        &:not([hidden]) {
          opacity: 0;

          @media (prefers-reduced-motion: no-preference) {
            translate: var(--flyout-menu__panel--nested-start);
          }

          .flyout-menu__link {
            opacity: 0;

            @media (prefers-reduced-motion: no-preference) {
              translate: var(--flyout-menu__panel--nested-start);
            }
          }
        }
      }

      .flyout-menu__list {
        padding-block-end: 1lh;
      }

      .flyout-menu__link {
        @media (prefers-reduced-motion: no-preference) {
          opacity: 0;
          translate: var(--flyout-menu__panel--nested-start);
          transition-property: opacity, translate;
          transition-duration: 0.2s, 0.1s;
          transition-timing-function: ease-out;
          transition-delay: calc(var(--link-offset, 0) * 50ms);
        }
      }

      figure {
        display: grid;
        grid-template-areas: 'box';

        > * {
          grid-area: box;
        }

        figcaption {
          place-self: stretch;
          padding: var(--_menu-item-padding-y) var(--_menu-item-padding-x);
          font-size: 1.8em;
          color: var(--color-background);
          text-shadow: 1px 1px 30px var(--color-foreground);
          text-transform: uppercase;
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: oklch(from var(--color-foreground) l c h / 20%);
        }
      }

      .navigation-feature {
        position: relative;
        padding: var(--list-spacing);
        margin-top: auto;

        & :is(img, video) {
          width: 100%;
          aspect-ratio: var(--media-aspect-ratio, auto);
          object-fit: cover;
        }
      }
    }

    .flyout-menu__panel__features {
      --icon-size: 1em;
      grid-area: features;
      display: flex;
      gap: 4px;
      overflow: hidden auto;
      scrollbar-width: none;

      > .flyout-menu__feature {
        display: flex;
        flex-flow: column;
      }

      img {
        flex: 1;
        object-fit: cover;
        height: 10lh;
        width: auto;
        max-width: none;
      }

      .flyout-menu__feature__content {
        padding: 0.25lh;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
    }

    .flyout-menu__footer {
      grid-area: footer;
      gap: 1rlh;
      align-items: center;
      font-size: 0.8rem;
      padding: var(--_menu-item-padding-y) var(--_menu-item-padding-x);
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
      border-block-start: 1px solid var(--color-border);

      .flyout-menu__footer-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.25lh;
        inline-size: 100%;
      }
    }
  }
.grid-item-block > * {
    inline-size: 100%;
    block-size: 100%;
  }

  .grid-item-block {
    grid-column: span var(--_grid-column-span) / span var(--_grid-column-span);
    z-index: var(--_layer);
    align-self: var(--_align-self);
    justify-self: var(--_justify-self);
    inline-size: 100%;

    &.explicit-start {
      grid-column-start: var(--_grid-column-start);
      grid-row: 1;
    }
  }

  @media screen and (min-width: 768px) {
    .grid-item-block {
      grid-column: span var(--_grid-column-span-desktop) / span var(--_grid-column-span-desktop);

      &.explicit-start-desktop {
        grid-column-start: var(--_grid-column-start-desktop);
        grid-row: 1;
      }
    }
  }
.header-logo__link:has(.header-logo__inverse) .header-logo__original {
    display: var(--header-logo-display, block);
  }

  .header-logo__inverse {
    display: var(--header-logo-inverse-display, none);
  }
.header-menu-list {
    --submenu-content-opacity: 0;
    --submenu-content-filter: blur(4px);
    --submenu-content-translate: 0 -0.5rlh 0;
    --submenu-animation-speed: 0.2s;
    display: flex;
    letter-spacing: 0.03em;
    margin-inline-start: -1rlh;
    font-size: 0.875rem;

    &::after {
      content: '';
      position: absolute;
      top: calc(100% - 1px);
      left: 0;
      width: 100%;
      height: var(--submenu-height);
      background-color: var(--color-background);
      box-shadow: var(--shadow-popover);
      clip-path: inset(0.5px 0 -100px 0);
      transition: height var(--submenu-animation-speed) var(--ease-out-cubic);
      z-index: calc(var(--layer-header-menu) - 1);
    }

    &[data-overflow-expanded='true'] {
      --submenu-content-opacity: 1;
      --submenu-content-filter: blur(0);
      --submenu-content-translate: 0 0;
    }

    .menu-list__link {
      display: flex;
      padding-inline: var(--mzw-space-2xs);
      align-items: center;
      transition: color var(--animation-speed) var(--animation-timing-hover);

      @media (min-width: 1024px) {
        padding-inline: 1vi;
        block-size: var(--header-height);
      }

      img {
        max-inline-size: 140px;
        height: auto;
      }

      span {
        display: block;
        position: relative;

        &::after {
          content: '';
          display: block;
          block-size: 1px;
          background-color: currentColor;
          inline-size: 100%;
          position: absolute;
          inset-block-end: 0;
          inset-inline-start: auto;
          inset-inline-end: 0;
          scale: 0 1;
          transition: scale 0.3s var(--ease-out-cubic);
          transition-behavior: allow-discrete;
          transform-origin: 100% 0;
        }
      }

      &:hover {
        color: var(--color-accent);

        span::after {
          scale: 1 1;
          transform-origin: 0;
        }
      }
    }

    .header-menu-item:has([aria-expanded='true']) > .menu-list__submenu,
    .menu-list__submenu:is(:hover, :focus-within) {
      visibility: visible;
      --submenu-content-opacity: 1;
      --submenu-content-filter: blur(0);
      --submenu-content-translate: 0 0;
    }

    .header-menu-item {
      display: flex;
    }

    :is([data-title*='sale' i], [data-title*='holiday' i], [data-title*='gifting' i]) {
      color: var(--color-dark-red, red);
    }

    .menu-list__submenu {
      background-color: transparent;
      visibility: hidden;
      position: absolute;
      inline-size: 100%;
      inset-inline: 0;
      inset-block-start: calc(100% - 1px);
      z-index: var(--layer-header-menu);
      padding: 1rlh 0;
      clip-path: rect(0 100% var(--submenu-height) 0);
      transition-property: clip-path;
      transition-duration: var(--submenu-animation-speed);
      transition-timing-function: var(--ease-out-cubic);
    }

    .menu-list__submenu__inner {
      gap: 2rlh;
      display: flex;
      opacity: var(--submenu-content-opacity);
      filter: var(--submenu-content-filter);
      translate: var(--submenu-content-translate);
      transition-property: opacity, filter, translate;
      transition-duration: var(--submenu-animation-speed);
      transition-timing-function: var(--ease-out-cubic);

      & > * {
        z-index: var(--layer-header-menu);
      }

      a {
        display: block;
        text-decoration-thickness: 1px;
        text-underline-offset: 0.15em;
        transition-property: translate, color;
        transition-duration: var(--animation-speed);
        transition-timing-function: var(--animation-timing-hover);

        &:is(:hover, :focus-within, :focus-visible, :active, [aria-expanded='true']) {
          text-decoration: underline;
          outline: none;
          color: var(--color-accent);

          &:has(img) {
            position: relative;
            background-color: transparent;
            text-decoration: underline;
            text-decoration-thickness: 1px;
            text-underline-offset: 0.15em;
            translate: 0 -0.25rlh;

            &:after {
              content: '';
              display: block;
              position: absolute;
              inset: 0 0 auto;
              block-size: calc(100% + 0.25rlh);
            }
          }
        }

        &:is([aria-current='page']) {
          text-decoration: underline;
          outline: none;
        }
      }

      a:has(img) {
        font-size: 0.875rem;
        font-weight: 500;
      }

      .mega-menu__list {
        gap: 1rlh;
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, var(--menu-images-max-width, 300px));

        a {
          display: block;
        }
      }

      strong {
        display: block;
        margin-block-end: 0.25rlh;
        padding-block: 0.25rlh;
        font-size: var(--font-size-h5);
        font-weight: 500;
        text-box: trim-both cap alphabetic;

        &:empty {
          display: none;
        }
      }

      .mega-menu__list-media {
        aspect-ratio: 4 / 5;
        object-fit: cover;
        width: 100%;
        border: 1px solid var(--color-border);
      }

      & .header-menu-item__list {
        &:not(:has(li)) {
          display: none;
        }
      }

      & .header-menu-item__list--list {
        padding-block-end: 1rlh;
        /* flex-basis: 250px; */

        ul {
          gap: 3rlh;
          display: block;
        }

        li > a {
          padding-block: 0.25rlh;
          white-space: nowrap;

          &:not(:hover):not(:has(img)) {
            color: oklch(from currentColor l c h / 0.7);
          }
        }
      }

      & .header-menu-item__list--images {
        .mega-menu__list-media {
          margin-block-end: 0.25rlh;
        }

        a {
          display: block;
        }

        ul {
          &:not(:has(img)) {
            display: block;

            a {
              padding-block: 0.25rlh;
            }
          }

          a:has(img) {
            font-size: 0.875rem;
          }
        }
      }

      & .header-menu-item__list--grid {
        ul {
          display: grid;
          grid-template-columns: repeat(var(--menu-columns, 3), minmax(0, 1fr));
          gap: 0.5rlh;
          grid-auto-flow: unset;
        }

        .mega-menu__list-media {
          aspect-ratio: 3 / 2;
          object-fit: cover;
          width: 100%;
          max-inline-size: var(--menu-images-max-width-grid, 230px);
        }
      }
    }
  }
.linked-collections {
    display: flex;
    position: relative;
    font-size: 0.875rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;

    .section & {
      @media (max-width: 767px) {
        width: 100vw;
        left: calc(-50vw + 50%);
        padding-inline: var(--page-margin);
      }
    }

    & ul {
      display: flex;
      gap: 0.5rem;
      padding-block: 2px;
    }

    & .linked-collections__link {
      background-color: var(--color-background);
      background-color: oklch(from var(--color-background) l c h / 10%);
      display: flex;
      flex-flow: column;
      font-size: 0.75rem;
      position: relative;
      border-radius: 0.25rem;
      white-space: nowrap;
      padding-block: 0.25lh;
      padding-inline: 0.5lh;
      border: 1px solid var(--color-border);
      line-height: 1.2;
      text-box: trim-both cap alphabetic;
      transition-duration: var(--duration-short);
      transition-timing-function: var(--ease-out-cubic);
      transition-property: border-color;

      @media (min-width: 768px) {
        font-size: 0.875rem;
      }

      &[aria-current='page'] {
        background-color: oklch(from var(--color-accent) l c h / 100%);
        color: white;
      }

      &:is(:focus-visible, :focus, :hover) {
        border-color: oklch(from currentColor l c h / 50%);
      }
    }
  }
.multicolumn-column {
    --text-align: start;
    position: relative;
    display: flex;
    flex-flow: column;

    & .multicolumn__block-content {
      position: relative;
      background: var(--text-background-color, transparent);
      flex: 1;
      padding: 1rem;
    }

    & .multicolumn__block-content:empty {
      display: none;
    }
  }
.product-card-info-block {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-scale-sm);
  }
.product-media-gallery {
    position: relative;
    display: block;
    overflow: clip;
  }

  @keyframes parallax-product-media-gallery {
    from {
      translate: 0 0 0;
    }
    to {
      translate: 0 30% 0;
    }
  }

  @supports (animation-timeline: scroll()) {
    @media (max-width: 767px) {
      .product-media-gallery .slider-component {
        animation: parallax-product-media-gallery linear;
        animation-fill-mode: none;
        animation-timeline: view();
        animation-range: exit 0% exit 100%;
        will-change: translate;
      }
    }
  }

  .product-media-gallery .product-media-gallery-images {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }

  .product-media-gallery[data-display='vertical-scroll'] .product-media-gallery-images {
    display: flex;
    flex-flow: column;
    gap: var(--product-images-gap);
  }

  .product-media-gallery[data-display='grid'] .product-media-gallery-images {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--product-images-gap);
  }

  .product-media-gallery .product-images-slider slider-controls {
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0;
    justify-content: center;
    padding: 0;
    flex-direction: row-reverse;
    z-index: var(--layer-flat);
  }

  .product-media-gallery .product-images-slider {
    --peek-next-slide-size: 0px;
  }

  .product-media-gallery .slider-component__arrows {
    display: none;
  }

  .product-media-gallery .product-media-container__zoom-button {
    position: absolute;
    inset: 0;
    z-index: var(--layer-flat);
    cursor: zoom-in;
    background-color: transparent;

    &:hover {
      background-color: transparent;
    }

    &:focus-visible {
      outline: 2px solid oklch(from currentColor l c h / 75%);
      outline-offset: -2px;
    }
  }

  .product-media-gallery .product-media-container :is(img, video, model-viewer, lazy-video) {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  .product-media-gallery .product-media-container {
    position: relative;
    overflow: hidden;
    block-size: 100%;
    inline-size: 100%;
    min-inline-size: 100%;
    background-color: oklch(from var(--color-foreground) l c h / 5%);
    background: linear-gradient(
      to bottom,
      rgb(241 241 241) 0%,
      rgb(242 242 242) 50%,
      rgba(227, 227, 227, 1) 65%,
      rgba(255, 255, 255, 1) 80%,
      rgb(240 240 240) 100%
    );
  }

  .product-media-gallery .product-media-container:has(.loading) {
    animation: var(--animation-blink);
  }

  .product-media-gallery .product-media-container:has(img[alt='SWATCH']) {
    display: none;
  }

  @media (min-width: 768px) {
    .product-media-gallery[data-display='vertical-scroll'][data-contain-height] .product-media-container {
      &,
      :is(img, video, model-viewer, lazy-video) {
        max-block-size: calc(100vb - var(--header-height, 70px));

        html:has(header-component[transparent]) & {
          max-block-size: 100vb;
        }
      }
    }

    .product-media-gallery[data-display='horizontal-scroll'] {
      .product-images-slider {
        --slide-width: auto;

        slider-slide {
          aspect-ratio: 4 / 5;
          block-size: calc(100vb - var(--header-height, 70px));

          html:has(header-component[transparent]) & {
            block-size: 100vb;
          }
        }

        .product-images-slider .slider-component__inner {
          position: relative;
        }

        .product-images-slider slider-controls {
          display: contents;
        }

        .product-images-slider slider-dots {
          padding-inline: 0.5lh;
          position: absolute;
          inset-inline: 0;
          inset-block-end: 0;
          inline-size: 100%;
          justify-content: start;
        }

        .product-images-slider slider-arrows {
          display: flex;
          position: static;
          justify-content: space-between;
          gap: 0.5lh;
          position: absolute;
          inset: 0;
          inline-size: 100%;
          pointer-events: none;
          padding: 1rlh;

          button {
            pointer-events: all;
            margin: 0;
            background-color: var(--color-background);
            color: var(--color-foreground);
            border: 1px solid var(--color-border);
            --icon-size: 1.8rem;

            svg {
              stroke-width: 1.5;
            }
          }
        }
      }
    }
  }
.other-colors-block {
    inline-size: 100%;
  }

  .other-colors-block ul {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    scrollbar-width: none;
  }

  .other-color-item {
    flex: 0 0 auto;
    width: calc(25% - calc(3 * 4px) / 4);
  }
.tabbed-feature {
    display: grid;
    place-items: center;
    container-type: inline-size;

    & > * {
      grid-area: 1 / 1;

      &:is(:first-child) {
        inline-size: 100%;
      }

      &:is(:last-child) {
        padding: 1rlh;
      }
    }
  }

/* CSS from snippet stylesheet tags */
.account-actions {
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: height var(--animation-values);

    &:has([data-active]) .account-actions__main-menu {
      visibility: hidden;
    }
  }

  .account-actions__header {
    padding: var(--padding-xl);
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
  }

  .account-actions__title {
    /* Ideally we set the font-size here, but specificity issues make this necessary */
    --font-h5--size: var(--font-size--lg);

    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: 500;
  }

  .account-actions__email {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
    max-width: var(--account-actions-max-width);
    word-break: break-all;
  }

  .account-actions__sign-in-text {
    display: inline;
  }

  .account-actions__fallback-text {
    display: none;
  }

  .account-actions__list:not(:has(shop-login-button)) {
    .account-actions__sign-in-text {
      display: none;
    }

    .account-actions__fallback-text {
      display: block;
    }
  }

  /* Makes the shop login button radius match the theme settings */
  .account-actions__shop-login {
    --buttons-radius: var(--style-border-radius-buttons-primary);
  }

  .account-actions__nav {
    padding: var(--padding-xl);
    padding-block-start: 0;
  }

  .account-actions__list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .account-actions__link {
    width: 100%;
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
  }

  .account-actions__icon {
    display: flex;
    width: var(--icon-size);
    height: var(--icon-size);
    margin-block: -4px;
  }
.account-button {
    color: var(--color-foreground);
    appearance: none;
    border: none;
    background: none;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    align-content: center;
    transition: color var(--animation-speed) var(--animation-easing);
    anchor-name: --account-button-trigger;
  }

  .account-button__avatar {
    --account-button-size: var(--icon-size, 1.625rem);

    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--account-button-size);
    height: var(--account-button-size);
    border-radius: var(--style-border-radius-50);
    background-color: var(--color-primary-button-background);
    font-size: var(--font-size--xs);
    font-weight: 500;
    color: var(--color-primary-button-text);
    text-transform: uppercase;
    line-height: 1;
  }

  .account-button__icon {
    color: currentColor;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  /* The shop avatar doesn't bubble the click event up to our button, so we need to prevent that or the button doesn't work */
  .account-button shop-user-avatar {
    pointer-events: none;
    zoom: 0.8;
  }
.account-drawer {
    .account-actions__header:not(:has(.account-actions__email)) {
      display: none;
    }
  }
.anchored-popover {
    --anchored-popover-min-width: 22rem;
    --anchored-popover-max-width: 22rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .anchored-popover__panel {
    margin: 0;
    inset: unset;
    inset-block-end: 0;
    inset-inline: 0;
    inline-size: 100%;
    box-shadow: var(--shadow-popover);
    border: 1px solid var(--color-border);
    background-color: var(--color-background);
    overflow-y: hidden;
    opacity: 0;
    translate: 0 20px;
    transition-property: display, opacity, translate, overlay;
    transition-duration: 0.3s;
    transition-timing-function: var(--ease-out-quad);
    transition-behavior: allow-discrete;

    &::backdrop {
      background-color: oklch(from currentColor l c h / 0.25);
    }

    @media (min-width: 768px) {
      width: max-content;
      min-width: var(--anchored-popover-min-width);
      inset: unset;
      inset-inline-end: anchor(end);
      inset-block-start: calc(anchor(bottom) + 0.5lh);

      @supports not (position-anchor: --anchored-button-trigger) {
        inset-block-start: calc(var(--anchor-top) * 1px + 1.5lh);
        inset-inline-end: calc(var(--anchor-right) * 1px);
      }

      &::backdrop {
        background-color: transparent;
      }
    }

    &:popover-open {
      opacity: 1;
      translate: 0px 0px;
    }

    @supports not selector(:popover-open) {
      &.\:popover-open {
        opacity: 1;
        translate: 0px 0px;
      }
    }
  }

  @starting-style {
    .anchored-popover__panel:popover-open {
      opacity: 0;
      translate: 0 20px;
    }
  }
@media only screen and (max-width: 767px) {
    .aspect-ratio-style,
    .aspect-ratio-style :is(img, picture, video, lazy-video) {
      aspect-ratio: var(--ratio-mobile, auto);
    }
  }

  @media only screen and (min-width: 768px) {
    .aspect-ratio-style,
    .aspect-ratio-style :is(img, picture, video, lazy-video) {
      aspect-ratio: var(--ratio-desktop, auto);
    }
  }
@media (prefers-reduced-motion: reduce) {
    video-background-component video {
      display: none;
    }
  }
.text-stack-heading-balanced {
    text-wrap: balance;
    margin: 0;
  }

  .text-stack-text-pretty {
    text-wrap: pretty;
  }
.border-style {
    border-width: var(--border-width, 0px);
    border-style: var(--border-style, none);
    border-color: var(--border-color, transparent);
    border-radius: var(--border-radius, 0px);
  }
.breadcrumbs {
    font-family: var(--font-accent--family);
    font-size: 0.75rem;

    & ul {
      list-style-type: none;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0;
    }

    & li {
      display: flex;

      &:not(:first-child):before {
        margin-inline: 0.75ch;
        display: inline-block;
        content: '/' / '';
      }

      &:last-child {
        color: oklch(from var(--color-foreground) l c h / 60%);
      }
    }

    & a {
      --icon-size: 1.2em;
      display: flex;
      align-items: center;
      gap: 0.5em;

      & svg {
        rotate: 0.5turn;

        @media (width >= 768px) {
          display: none;
        }
      }
    }
  }
[style*='--horizontal-alignment: center'] .buy-buttons-container {
    text-align: center;
  }

  [style*='--horizontal-alignment: flex-end'] .buy-buttons-container {
    text-align: end;
  }

  [style*='--horizontal-alignment: flex-start'] > .buy-buttons-container {
    text-align: start;
  }

  [style*='--horizontal-alignment: center'] > .buy-buttons-container {
    text-align: center;
  }

  [style*='--horizontal-alignment: flex-end'] > .buy-buttons-container {
    text-align: end;
  }

  .buy-buttons [data-ajax-cart-errors] {
    color: rgb(220 38 38);
    padding-top: 0.25rem;
  }

  .buy-buttons [data-ajax-cart-errors]:empty {
    display: none;
  }

  .buy-buttons-container [name='add'] {
    border-radius: 0.25rem;
  }

  .ge-hide {
    display: none;
  }
.product-card-gallery {
    display: block;
    position: relative;
    font-size: 0.75rem;

    @container product-card (width >= 30ch) {
      font-size: 0.875rem;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card-gallery--hover .product-card-gallery__body-image {
      display: block;
      opacity: 1;

      @starting-style {
        opacity: 0;
      }
    }
  }

  product-card-gallery {
    display: grid;
    grid-template-areas: 'box';
    grid-template-columns: minmax(0, 1fr);
  }

  product-card-gallery[disabled] [ref='gallery'],
  slider-component product-card-gallery [ref='gallery'] {
    overflow: hidden;

    > :not(:first-child) {
      display: none;
    }
  }

  product-card-gallery[disabled] button,
  slider-component product-card-gallery button {
    display: none;
  }

  product-card-gallery [ref='gallery'] {
    grid-area: box;
    inline-size: 100%;
    gap: 0;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-color: transparent transparent;
    scrollbar-width: none;

    @media (prefers-reduced-motion) {
      scroll-behavior: auto;
    }

    &::-webkit-scrollbar {
      width: 0;
    }

    &::-webkit-scrollbar-track {
      background: transparent;
    }

    &::-webkit-scrollbar-thumb {
      background: transparent;
      border: none;
    }
  }

  product-card-gallery:not(:has([ref='gallery'] > *:nth-child(n + 2))) button {
    display: none;
  }

  product-card-gallery button {
    grid-area: box;
    z-index: var(--layer-flat);
  }

  .product-card-gallery__arrow--previous {
    place-self: center start;
  }

  .product-card-gallery__arrow--next {
    place-self: center end;
  }

  product-card-gallery [ref='gallery'] > * {
    flex: 0 0 auto;
    inline-size: 100cqi;
    /* scroll-snap-align: center; */
  }

  @media (hover: none) and (pointer: coarse) {
    product-card-gallery button {
      display: none;
    }
  }

  .product-card-gallery__body-image {
    display: none;
    opacity: 0;
    pointer-events: none;
    z-index: var(--layer-flat);
    position: absolute;
    inset: 0;
    transition-property: opacity, display;
    transition-duration: 300ms;
    transition-timing-function: ease;
    transition-behavior: allow-discrete;
  }
cards-slider .cards-slider__list {
    overflow-x: auto;
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    column-gap: var(--cards-slider-gap, 0px);
    scroll-padding-inline: 0px;
    scrollbar-width: none;
  }

  cards-slider .cards-slider__list > * {
    scroll-snap-align: start;
    list-style: none;
    flex-shrink: 0;
    inline-size: var(
      --cards-slider-mobile-item-width,
      calc(
        (100% - (var(--cards-slider-gap, 0px) * (var(--cards-slider-mobile-columns, 2) - 1))) /
          var(--cards-slider-mobile-columns, 2)
      )
    );
  }

  @media (min-width: 1000px) {
    cards-slider .cards-slider__list > * {
      inline-size: var(
        --cards-slider-desktop-item-width,
        calc(
          (100% - (var(--cards-slider-gap, 0px) * (var(--cards-slider-desktop-columns, 4) - 1))) /
            var(--cards-slider-desktop-columns, 4)
        )
      );
    }
  }

  cards-slider.cards-slider--with-gutters .cards-slider__list {
    padding-inline: var(--gutter-slide-width, 0);
    scroll-padding-inline-start: var(--gutter-slide-width, 0);
  }

  cards-slider.cards-slider--with-gutters .cards-slider__controls {
    padding-inline: var(--gutter-slide-width, 0);
  }

  cards-slider product-card-gallery [ref='gallery'] {
    overflow: hidden;
  }

  cards-slider product-card-gallery [ref='gallery'] > :not(:first-child),
  cards-slider slider-slide:not(:first-child),
  cards-slider slider-controls {
    display: none;
  }

  cards-slider .cards-slider__controls:not(:has(button)) {
    display: none;
  }

  cards-slider .cards-slider__dots {
    display: flex;
    justify-content: center;
    gap: 1ch;
    padding-block: 0.5lh;
  }

  cards-slider .cards-slider__dots .cards-slider__dot {
    position: relative;
    inline-size: 8px;
    block-size: 8px;
    border-radius: 50%;
    background-color: var(--color-foreground-muted, #ccc);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.2s ease;

    &::before {
      content: '';
      position: absolute;
      inset: -0.5ch;
    }
  }

  cards-slider .cards-slider__dots .cards-slider__dot[aria-current='true'] {
    background-color: var(--color-foreground, #000);
  }

  cards-slider .cards-slider__dots .cards-slider__dot:hover {
    background-color: var(--color-foreground, #000);
  }
.cart-discount {
    display: flex;
    flex-flow: column;
    gap: var(--size-xs);
    padding-block: 0 var(--size-xs);
  }

  .cart-discount__label {
    text-transform: capitalize;
  }

  .cart-discount__pill {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .cart-discount__codes:not(:has(.cart-discount__pill)) {
    display: none;
  }

  .cart-discount__pill-code {
    margin: 0;
  }

  .cart-discount__pill-remove {
    pointer-events: all;
  }

  .cart-discount__error {
    display: flex;
    align-items: center;
    gap: 0.5ch;
  }

  .cart-discount [role='group'] {
    display: flex;
  }

  .cart-discount [role='group'] > input {
    flex: 1 1 auto;
    margin: 0;
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
  }

  .cart-discount [role='group'] > button {
    inline-size: auto;
    margin: 0;
    border-start-start-radius: 0;
    border-end-start-radius: 0;
  }
html.js-ajax-cart-processing .cart-items-list {
    opacity: 0.5;
    pointer-events: none;
  }

  .cart-items-list {
    display: block;
    container: cart-items-list / inline-size;
    transition: opacity 0.2s;
  }

  .cart-items-list:not(:has(.cart__item)) {
    padding: var(--size-m);
  }

  .cart-items-list .cart__item {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 1rem;
    padding: var(--size-m);
  }

  .cart-items-list .cart__item:has(+ .cart__item) {
    border-block-end: 1px solid var(--color-border);
  }

  @container cart-items-list (min-width: 500px) {
    .cart-items-list .cart__item {
      grid-template-columns: 130px 1fr;
      padding-bottom: var(--size-m);
    }
  }

  @container cart-items-list (min-width: 768px) {
    .cart-items-list .cart__item {
      border-inline: 1px solid var(--color-border);
    }

    .cart-items-list .cart__item:is(:first-child, :last-child) {
      border-block: 1px solid var(--color-border);
    }
  }

  .cart-items-list .cart__item--loading {
    opacity: 0.5;
    pointer-events: none;
  }

  .cart-items-list .cart__item dl {
    margin: 0 0 0.5em;
  }

  .cart-items-list .cart__item dl:not(:has(*)) {
    display: none;
  }

  .cart-items-list .cart__item dl .product-option {
    line-height: 1.25;
  }

  .cart-items-list .cart__item dl .product-option:not(:last-child) {
    margin-block-end: 0.5em;
  }

  .cart-items-list .cart__item dl .product-option dt {
    font-size: 0.875rem;
    color: oklch(from var(--color-foreground) l c h / 70%);
  }

  .cart-items-list .cart__item dl .product-option dd {
    padding-inline-start: 1em;
  }

  .cart-items-list .cart__item dl:empty {
    display: none;
  }

  .cart-items-list .cart__item-image :is(img, svg) {
    inline-size: 100%;
    max-inline-size: 100%;
    height: auto;
  }

  .cart-items-list .cart__item-image :is(svg) {
    border: 1px solid var(--color-border);
  }

  .cart-items-list .cart__item .product-option:empty {
    display: none;
  }

  .cart-items-list .cart__item-details {
    display: grid;
    grid-template-areas:
      'title price'
      'quantity quantity';
    grid-template-columns: 1fr auto;
    grid-template-rows: 1fr auto;
    gap: 1rem;
  }

  @container cart-items-list (min-width: 768px) {
    .cart-items-list .cart__item-details {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
  }

  .cart-items-list .cart__item-title-color {
    grid-area: title;
  }

  .cart-items-list .cart__item-title-color p {
    font-size: 0.875rem;
    color: oklch(from var(--color-foreground) l c h / 70%);
    margin: 0;
  }

  .cart-items-list .cart__item-title-color .discounts:empty {
    display: none;
  }

  .cart-items-list .cart__item-title-color .cart__item-price {
    margin: 0;
  }

  .cart-items-list .cart__item-price {
    font-size: 0.875rem;
  }

  .cart-items-list .cart__item-quantity-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    grid-area: quantity;
  }

  .cart-items-list .cart__item-price {
    margin-left: auto;
    display: block;
    grid-area: price;
  }

  .cart-items-list .cart__item__old-price {
    color: oklch(from var(--color-foreground) l c h / 60%);
    text-decoration: line-through;
  }

  .cart-items-list .cart-remove-button {
    display: inline flex;
    align-items: center;
    justify-content: center;
    text-decoration: underline;
    text-underline-offset: 0.25rem;
  }

  .cart-items-list .cart__item-nested-item {
    grid-column: span 2;
    padding-inline-start: 1.5rlh;
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rlh;

    .svg-wrapper {
      width: 2ch;
      height: 2ch;
    }

    &::before {
      content: '' / '';
      display: block;
      width: 1rlh;
      height: 1rlh;
      border-inline-start: 1px solid var(--color-border);
      border-block-end: 1px solid var(--color-border);
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none;
    }
  }

  .cart-items-list .cart__item-nested-item img {
    width: 50px;
    height: auto;
    object-fit: cover;
    border-radius: var(--radius);
  }

  .cart__item-nested-item__price {
    font-size: 0.875rem;
  }

  .cart-dust-bag-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    text-align: center;
    text-decoration: none;
    padding: 0.25rem 0;
    font-size: 0.875rem;
    gap: var(--gap-2xs);
    align-self: start;

    > span:first-child {
      text-decoration: underline;
      text-underline-offset: 0.25rem;
    }

    > span:last-child {
      display: inline-flex;
      align-items: center;
    }
  }

  .cart-items-list .cart__item:has(.cart__item-nested-item) .cart-dust-bag-button {
    display: none;
  }

  [data-ajax-cart-errors]:empty {
    display: none;
  }

  .cart-items-list [data-ajax-cart-errors] {
    color: rgb(220 38 38);
  }

  .cart-items-list .margin-end-m {
    font-size: 1.25rem;
  }
.dust-bag-popover {
    position-area: top;
    padding: 0.5rem;
    inline-size: 40ch;
    margin: 0;
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-popover);
  }
.product-grid {
    .collection-block--media {
      position: relative;
      grid-column: span var(--block-columns, 1);
      grid-row: span var(--block-rows, 1);
      padding: var(--block-padding);
    }

    @media (min-width: 768px) {
      .collection-block--media {
        grid-column: span var(--block-columns-desktop, var(--block-columns, 1));
        grid-row: span var(--block-rows-desktop, var(--block-rows, 1));
        padding: var(--block-padding-desktop, var(--block-padding, 0));
      }
    }

    .collection-block--media > a {
      display: block;
      block-size: 100%;
      inline-size: 100%;
    }

    .collection-block--media.collection-block--full {
      grid-column: 1 / -1;
    }

    .collection-block--media .collection-block__content-wrapper {
      height: 100%;
      width: 100%;
      grid-template-areas: 'box';

      > * {
        grid-area: box;
      }

      &:has(figcaption) {
        display: grid;
        grid-template-areas: 'box' 'caption';

        figcaption {
          grid-area: caption;
        }
      }
    }

    .collection-block--media .collection-block__content-wrapper:has(h3) {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr;
    }

    .collection-block--media :is(img, picture, video, lazy-video) {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }

    .collection-block--media .collection-block__caption {
      position: relative;
      font-size: 0.875rem;
      line-height: 1.25rem;
      padding-block: 0.5rem;
    }

    @media (min-width: 768px) {
      .collection-block--media .collection-block__caption {
        font-size: 1rem;
      }
    }

    .collection-block--media .collection-block__caption:not(:has(*)) {
      display: none;
    }

    .collection-block--media .collection-block__title-cta {
      display: flex;
      flex-flow: column;
      justify-content: space-between;
      gap: 0.25rem;
    }

    @media (min-width: 768px) {
      .collection-block--media .collection-block__title-cta {
        align-items: center;
        flex-flow: row;
        gap: 0.5rem;
      }
    }

    .collection-block--media .collection-block__text {
      text-wrap: pretty;
      font-size: 0.875rem;
      line-height: 1.25rem;
      padding-block-start: 0.25rem;
    }

    .collection-block__content {
      position: relative;
    }

    .collection-block__content :is(img, picture, video, lazy-video) {
      position: absolute;
      inset: 0;
    }

    .collection-block__mobile-placeholders {
      display: grid;
      grid-template-columns: repeat(var(--block-columns, 1), minmax(0, 1fr));
      grid-template-rows: repeat(var(--block-rows, 1), minmax(0, 1fr));
      gap: calc(36px + var(--product-grid-gap, 4) * 1px) calc(var(--product-grid-gap, 4) * 1px);
    }

    .collection-block__desktop-placeholders {
      display: grid;
      grid-template-columns: repeat(var(--block-columns-desktop, 1), minmax(0, 1fr));
      grid-template-rows: repeat(var(--block-rows-desktop, 1), minmax(0, 1fr));
      gap: calc(36px + var(--product-grid-gap, 4) * 1px) calc(var(--product-grid-gap, 4) * 1px);
    }

    .collection-block-placeholder {
      aspect-ratio: 4 / 5;
    }

    .collection-block__title {
      font-weight: 500;
      text-wrap: pretty;
      margin: 0;
    }
  }
.product-grid {
    .collection-block--text {
      position: relative;
      grid-column: span var(--block-columns, 1);
      grid-row: span var(--block-rows, 1);
      padding: var(--block-padding);
      font-family: var(--font-body--family);

      :is(h1, h2, h3, h4, h5, h6) {
        font-family: var(--font-heading--family);
      }

      @media (min-width: 768px) {
        padding: var(--block-padding-desktop);
      }

      .metafield-rich_text_field > :last-child {
        margin-block-end: 0;
      }
    }

    .collection-block--text.collection-block--full {
      grid-column: 1 / -1;
    }

    .collection-block--text > * {
      inline-size: 100%;
    }
  }
.color-style {
    --color-style-foreground: canvastext;
    --color-style-background: transparent;
    --color-foreground: var(--color-style-foreground);
    --color-background: var(--color-style-background);
    color: var(--color-foreground);
    background-color: var(--color-background);
  }

  @media (width >= 768px) {
    .color-style {
      --color-foreground: var(--color-style-foreground--desktop, var(--color-style-foreground));
      --color-background: var(--color-style-background--desktop, var(--color-style-background));
    }
  }
#compare-bar {
    transition-property: translate, display, overlay, opacity, filter;
    transition-duration: calc(calc(var(--speed, 0.35) * 2s) * 0.5);
    transition-behavior: allow-discrete;
    transition-timing-function: var(--spring);
    position: fixed;
    padding: 0;
    margin: unset;
    inset: unset;
    inset-block-end: 0;
    inset-inline: 0;
    inline-size: max-content;
    inline-size: min(100%, 900px);
    background: transparent;
    margin: 0 auto;
    container: compare-bar / inline-size;
    z-index: var(--layer-important);
    flex-flow: column;

    opacity: 0;
    filter: blur(4px);
    translate: 0 100%;
    box-shadow: 0 0 15px 0 oklch(from currentColor l c h / 20%);
    background: var(--color-background);
    border-radius: 5px;

    @media (width >= 768px) {
      margin: 1rlh auto;
    }

    &:focus-visible {
      box-shadow: 0 0 15px 0 oklch(from currentColor l c h / 40%);
    }

    &:popover-open {
      display: flex;
      opacity: 1;
      filter: blur(0);
      translate: 0 0;

      @starting-style {
        opacity: 0;
        filter: blur(4px);
        translate: 0 100%;
      }
    }
  }

  .compare-bar__items {
    padding: 1rlh;
    display: grid;
    grid-template-areas: 'list' 'buttons';
    grid-template-columns: 1fr;
    align-items: center;
    justify-items: start;
    gap: 0.5rlh;

    &:where(:has(details[open])) {
      grid-template-areas:
        'list list'
        'buttons buttons';
      grid-template-columns: auto 1fr;
    }

    @container compare-bar (width >= 768px) {
      gap: 0 1rlh;
      grid-template-areas: 'table table' 'list buttons';
      grid-template-columns: auto 1fr;
      grid-template-rows: 0 auto;
    }
  }

  .compare-bar__items ul {
    display: flex;
    gap: 0.5rlh;
  }

  .compare-bar__items img {
    inline-size: 100%;
    object-fit: cover;
  }

  .compare-bar__items li {
    border: 1px solid var(--color-border);
    background-color: oklch(from currentColor l c h / 5%);
    aspect-ratio: 4/5;
    flex: 1;

    @container compare-bar (width >= 768px) {
      inline-size: 8ch;
    }

    &:not(:has([data-handle])) {
      border-style: dashed;
      box-shadow: inset 0 2px 5px 0 var(--color-border);
    }
  }

  .compare-bar__table-container {
    transition-property: display, opacity, block-size;
    transition-duration: 0.5s;
    transition-behavior: allow-discrete;
    block-size: 0;
    overflow: auto;
    opacity: 0;
    border-block-end: 1px solid var(--color-border);
    display: none;
  }

  .compare-bar__table-container.compare-table--open {
    block-size: min(780px, 65vh);
    opacity: 1;
    display: block;

    @starting-style {
      block-size: 0;
      opacity: 0;
    }
  }

  .compare-bar__table-wrapper {
    padding: 1rlh;
  }

  .compare-bar__table-container td {
    padding: 1rem 0.5rem;
  }

  .compare-bar__table-container > button {
    --icon-size: 1.5rem;
    position: absolute;
    inset-block-start: 0.25rlh;
    inset-inline-end: 0.25rlh;
  }

  .compare-bar__details {
    grid-area: list;
    inline-size: 100%;
  }

  .compare-bar__buttons {
    grid-area: buttons;
    display: flex;
    gap: 0.5rlh;
    justify-content: center;
    inline-size: 100%;

    @container compare-bar (width >= 768px) {
      justify-content: end;
    }
  }

  .compare-bar__link > span {
    font-family: var(--font-accent--family);
    letter-spacing: -0.25ch;
  }

  .compare-bar__hide {
    position: absolute;
    inset-block-start: 0.25rlh;
    inset-inline-end: 0.25rlh;
  }

  .compare-bar-item {
    position: relative;
  }

  .compare-bar-item button {
    position: absolute;
    inset-block-start: 0.25rlh;
    inset-inline-end: 0.25rlh;
  }

  .compare-bar__clear {
    margin-inline-start: auto;

    @container compare-bar (width >= 768px) {
      margin-inline-start: 0;
    }
  }

  :is(.compare-bar__clear, .compare-bar__close) {
    text-transform: capitalize;
    font-size: 0.875rem;
    display: inline flex;
  }
.product-compare-checkbox {
    position: relative;
    display: grid;
    grid-template-columns: 0px 1fr;
    flex-direction: row-reverse;
    align-items: center;
    gap: 0.5ch;
    font-size: 0.875rem;
    border: 1px solid oklch(from var(--color-foreground) l c h / 20%);
    background-color: oklch(from var(--color-background) l c h / 90%);
    border-radius: 0.25rem;
    padding: 0.5ch 1ch;

    &:has(input:checked) {
      grid-template-columns: auto 1fr;
    }
  }

  .product-compare-checkbox input {
    inline-size: 1.25cap;
    block-size: 1.25cap;
    position: relative;
    border: 1px solid var(--color-foreground);
  }

  .product-compare-checkbox input::before {
    content: '';
    position: absolute;
    inset: -0.5rem;
  }

  .product-compare-checkbox label {
    font-size: 0.75rem;
  }

  .product-compare-checkbox {
    &:not(product-card &) input:not(:checked) {
      opacity: 0;
    }
  }

  product-card .product-compare-checkbox {
    flex-direction: row;
    border: none;
    background-color: transparent;
    border-radius: 0;
    padding: 0;

    label {
      position: absolute;
      inset-inline-end: calc(100% + 1ch);

      background-color: var(--color-foreground);
      color: var(--color-background);
      padding-inline: 0.5ch;
      border-radius: 3px;
      pointer-events: none;

      transition-property: opacity, translate;
      transition-duration: 0.3s;
      transition-timing-function: var(--spring, ease-in-out);
      opacity: 0;
      translate: 1cap 0;
    }

    @media (hover) {
      &:is(:hover, :focus-visible, :focus-within) {
        label {
          opacity: 1;
          translate: 0 0;
        }
      }
    }

    & input {
      inline-size: 1.75cap;
      block-size: 1.75cap;

      &:not(:checked) {
        display: inline-block;
      }

      @container product-card (width >= 25ch) {
        inline-size: 1.5cap;
        block-size: 1.5cap;
      }
    }
  }
.compare-table-container {
    display: block;
    max-inline-size: 100%;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    overflow-y: hidden;
    container: compare-table-container / inline-size;
  }

  compare-table {
    &[collapsed] {
      tbody {
        display: none;
      }

      .compare-table__toggle-button {
        span:last-child {
          display: none;
        }
        span:first-child {
          display: inline;
        }
      }
    }

    .compare-table__toggle-button {
      span:first-child {
        display: none;
      }
    }
  }

  .compare-table {
    --compare-column-width: 180px;
    --compare-cell-padding: 1rem 0.5rem;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.8rem;

    @media (min-width: 768px) {
      --compare-column-width: calc(100% / 5);
    }

    @container compare-table-container (width >= 768px) {
      --compare-cell-padding: 1.5rem 1rem;
      font-size: 1rem;
    }

    tr {
      &:first-child {
        :is(th, td) {
          &::before {
            border-block-start-width: 0;
          }
        }
      }

      &.compare-table__row--not-equal {
        & :is(th, td)::before {
          background-color: oklch(from #1d4b2e l c h / 0.05);
        }
      }

      &:not(:first-child) {
        :is(th, td):not(:first-child) {
          font-family: var(--font-accent--family);
        }
      }
    }

    :is(th, td) {
      z-index: 0;

      &:last-child {
        &::before {
          border-inline-end-width: 0;
        }
      }

      &::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        border: 0.1rem solid var(--color-border);
        border-bottom-width: 0;
        border-inline-start-width: 0;
        pointer-events: none;
      }
    }

    tbody {
      tr:not(:has(:is(th, td):not(:first-child):not(:empty))) {
        display: none;
      }

      :is(th, td) {
        &:first-child {
          font-weight: 500;
        }
      }
    }

    & :is(th, td) {
      width: var(--compare-column-width);
      text-align: start;
      vertical-align: top;
      padding: var(--compare-cell-padding, 1rem);
      position: relative;

      &:has(.compare-table__toggle-button, .compare-table__share-button) {
        text-align: center;
        vertical-align: middle;
      }
    }
  }
[dir='rtl'] .dialog-drawer,
  [dir='rtl'] .dialog-drawer-end {
    --_transform-start: -10% 0;
  }

  .dialog-drawer {
    --_cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXgiPjxwYXRoIGQ9Ik0xOCA2IDYgMTgiLz48cGF0aCBkPSJtNiA2IDEyIDEyIi8+PC9zdmc+');
    --_duration: 0.2s;
    --_drawer-inset: 0px;
    --_transform-start: 10% 0;

    & .dialog-drawer {
      inline-size: calc(min(100%, var(--width, 600px)) - 1lh);

      & .dialog-drawer {
        inline-size: calc(min(100%, var(--width, 600px)) - 2lh);
      }
    }

    container: dialog-drawer / size;

    transition-behavior: allow-discrete;
    transition-duration: var(--_duration);
    transition-timing-function: var(--spring, ease);

    background: none;
    box-shadow: none;

    inline-size: min(100%, var(--width, 600px));
    max-height: 100%;
    max-width: 100%;
    margin: 0;

    padding: 0;

    position: fixed;
    overflow: visible;
    font-weight: 400;
    z-index: var(--layer-important);

    will-change: translate;
    font-family: var(--font-body--family);
    font-size: 1rem;
    line-height: var(--base-line-height);

    background-color: var(--color-background);
    color: var(--color-foreground);
    display: flex;
    flex-flow: column;

    @media (prefers-reduced-motion: reduce) {
      transition-property: display, overlay, opacity;
      opacity: 0;
    }

    @media (prefers-reduced-motion: no-preference) {
      transition-property: display, overlay, translate, opacity;
      translate: var(--_transform-start);
      opacity: 0;
    }

    @media (width >= 768px) {
      box-shadow: var(--shadow-popover);
    }

    &[closedby='any']::backdrop {
      cursor: var(--_cursor) 16 16, auto;
    }

    &:is(&:has(.drawer__header), &:has(.drawer__footer), &:has(.drawer__body)) {
      display: grid;
      grid-template-rows: auto minmax(0, 1fr) auto;
      grid-template-columns: 1fr;
    }

    &::backdrop {
      transition-property: opacity, display, overlay;
      transition-duration: calc(var(--_duration) * 2);
      transition-timing-function: var(--spring, ease);
      transition-behavior: allow-discrete;
      opacity: 0;
      background-color: oklch(from var(--color-foreground) l c h / 40%);
    }

    &[open] {
      &,
      &::backdrop {
        opacity: 1;
        translate: 0 0;
      }
    }

    @starting-style {
      &[open],
      &[open]::backdrop {
        opacity: 0;
        translate: var(--_transform-start);
      }
    }
  }

  .dialog-drawer .drawer__header {
    padding: min(1lh, 3vi);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-block-end: 1px solid var(--color-border);
    position: sticky;
    top: 0;

    &:empty,
    &:not(:has(*)) {
      display: none;
    }

    :is(h1, h2, h3, h4, h5, h6) {
      font-size: 1.125rem;
      font-weight: normal;
      margin: 0;
    }

    button {
      --icon-size: 1.5rem;
    }
  }

  .dialog-drawer .drawer__body {
    display: flex;
    flex-flow: column;
    overflow-y: auto;
    padding: min(1lh, 3vi);
  }

  .dialog-drawer .drawer__footer {
    padding: min(1lh, 3vi);
    border-block-start: 1px solid var(--color-border);
    position: sticky;
    bottom: 0;

    &:empty,
    &:not(:has(*)) {
      display: none;
    }
  }

  .dialog-drawer,
  .dialog-drawer-end,
  .dialog-drawer-start {
    inset-block: var(--_drawer-inset);
    height: 100%;
  }

  .dialog-drawer,
  .dialog-drawer-end {
    --_transform-start: 10% 0;
    inset-inline-end: var(--_drawer-inset);
    inset-inline-start: auto;
  }

  .dialog-drawer-start {
    --_transform-start: -10% 0;
    inset-inline-start: var(--_drawer-inset);
    inset-inline-end: auto;
  }

  .dialog-drawer-top,
  .dialog-drawer-bottom {
    --width: 100%;
    inset-inline-end: var(--_drawer-inset);
    inset-inline-start: var(--_drawer-inset);
  }

  .dialog-drawer-top {
    --_transform-start: 0 -10%;
    inset-block-start: var(--_drawer-inset);
  }

  .dialog-drawer-bottom {
    --_transform-start: 0 10%;
    inset-block-end: var(--_drawer-inset);
    inset-block-start: auto;
  }
.disclosure-content {
    display: grid;
    grid-template-rows: 1fr;
    clip-path: inset(-5% -5% 0 -5%);
    opacity: 1;

    &[inert] {
      grid-template-rows: 0fr;
      opacity: 0;
    }

    & > * {
      min-height: 0;
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    .disclosure-content {
      transition-property: grid-template-rows, opacity;
      transition-duration: 0.3s;
      transition-timing-function: var(--ease-out-quad);
    }
  }
.disclosure-trigger {
    cursor: pointer;
    color: var(--color-foreground);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: var(--size-2xs);
    width: 100%;
    border: none;
    background: #0000;

    &[aria-expanded='true'] .horizontal {
      rotate: 90deg;
    }

    &:is(:hover, :focus-visible) {
      color: oklch(from currentColor l c h / 80%);
    }

    .horizontal {
      transform-box: fill-box;
      transform-origin: center;
    }

    svg {
      aspect-ratio: 1;
      width: var(--icon-size-xs);
    }
  }

  .disclosure-trigger__label {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-2xs);
    font-size: var(--size-xs);
  }

  @media (prefers-reduced-motion: no-preference) {
    .disclosure-trigger .horizontal {
      transition: rotate 0.3s var(--ease-out-quad);
    }
  }
.divider {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: var(--divider-justify-content);
  }

  .divider__line {
    border-bottom: var(--divider-border-thickness) solid var(--color-border);
    border-right: var(--divider-border-thickness) solid var(--color-border);
    border-radius: calc(var(--style-border-radius-sm) * var(--divider-border-rounded));
    flex-basis: var(--divider-flex-basis);
    min-height: var(--divider-flex-basis);
  }
.drawer-localization .drawer__body {
    padding: 0;
    overflow: hidden;
  }
.facet-remove-inline {
    display: inline-flex;
  }

  .facet-remove-link {
    padding: 0.25rem 0.5rem;
    border: 1px solid rgb(148 163 184);
    border-radius: 0.25rem;
  }

  .facet-remove-link:hover {
    border-color: rgb(100 116 139);
  }

  .facet-clear-all-link {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    border: 1px solid transparent;
  }

  .filter-group-end {
    align-self: flex-end;
  }
.glass-effect {
    opacity: 0;
    transition: opacity 0.26s ease-out;
    height: calc(var(--height) * 1px);
    width: calc(var(--width) * 1px);
    border-radius: calc(var(--radius) * 1px);
    position: fixed;
    z-index: 999999;
    background: light-dark(hsl(0 0% 100% / var(--frost, 0)), hsl(0 0% 0% / var(--frost, 0)));
    backdrop-filter: url(#filter);
    box-shadow: 0 0 2px 1px
        light-dark(color-mix(in oklch, canvasText, #0000 85%), color-mix(in oklch, canvasText, #0000 65%)) inset,
      0 0 10px 4px light-dark(color-mix(in oklch, canvasText, #0000 90%), color-mix(in oklch, canvasText, #0000 85%))
        inset,
      0px 4px 16px rgba(17, 17, 26, 0.05), 0px 8px 24px rgba(17, 17, 26, 0.05), 0px 16px 56px rgba(17, 17, 26, 0.05),
      0px 4px 16px rgba(17, 17, 26, 0.05) inset, 0px 8px 24px rgba(17, 17, 26, 0.05) inset,
      0px 16px 56px rgba(17, 17, 26, 0.05) inset;

    * {
      pointer-events: none;
    }
  }
.group-block,
  .group-block-content {
    position: relative;
  }

  .group-block__link {
    position: absolute;
    inset: 0;
  }

  .group-block:has(> video-background-component),
  .group-block:has(> .background-image-container) {
    overflow: hidden;
  }

  .group-block__link ~ :is(.group-block-content, .group-block__media-wrapper) {
    pointer-events: none;
    a,
    button,
    input,
    textarea,
    select {
      pointer-events: auto;
    }
  }

  .group-block__link ~ .group-block-content--design-mode {
    pointer-events: auto;
  }

  .group-block-content {
    height: 100%;
    width: 100%;
  }
.layout-panel-flex {
    display: flex;
    gap: var(--gap);
    height: 100%;
  }

  @media (width >= 768px) {
    .layout-panel-flex {
      flex-direction: var(--flex-direction);
    }
  }

  .layout-panel-flex--row,
  .layout-panel-flex--row-reverse {
    justify-content: var(--horizontal-alignment);
    align-items: var(--vertical-alignment);
  }

  .layout-panel-flex--row-reverse {
    flex-flow: row-reverse var(--flex-wrap);
  }

  .layout-panel-flex--row {
    flex-flow: row var(--flex-wrap);
  }

  .layout-panel-flex--column {
    flex-flow: column var(--flex-wrap);
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment);
  }

  @media screen and (width < 768px) {
    .mobile-column {
      flex-flow: column nowrap;
      align-items: var(--horizontal-alignment);
      justify-content: var(--vertical-alignment-mobile);
    }

    .layout-panel-flex--row:not(.mobile-column),
    .layout-panel-flex--row-reverse:not(.mobile-column) {
      flex-wrap: var(--flex-wrap-mobile);

      > .text-block.text-block--full-width {
        flex: 1 1 var(--max-width--display-tight);
      }

      > .image-block {
        flex: 1 1 var(--size-style-width-mobile-min);
      }

      > .button {
        flex: 0 0 fit-content;
      }
    }
  }

  @media screen and (width >= 768px) {
    .layout-panel-flex--column {
      align-items: var(--horizontal-alignment--desktop, var(--horizontal-alignment));
      justify-content: var(--vertical-alignment--desktop, var(--vertical-alignment));
    }
  }
lazy-video {
    display: grid;
    grid-template-areas: 'lazy-video';
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
  }

  lazy-video > * {
    grid-area: lazy-video;
  }

  lazy-video img {
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
  }

  lazy-video video {
    height: 100%;
    object-fit: cover;
    display: block;
  }

  lazy-video[data-playing] img {
    opacity: 0;
  }

  lazy-video-buttons {
    place-self: end end;
    display: flex;
    padding: 0.5lh;
  }

  lazy-video-buttons button {
    padding: 0.25lh;
    cursor: pointer;
    position: relative;
    display: grid;
    z-index: var(--layer-raised, 2);
    color: var(--color-foreground);
  }

  lazy-video-buttons button svg {
    stroke-width: 1;
  }

  lazy-video-buttons button.lazy-video-button--play-pause {
    &:not(.paused) svg:first-child {
      display: none;
    }

    &.paused svg:last-child {
      display: none;
    }
  }

  lazy-video-buttons button.lazy-video-button--mute {
    &:not(.has-audio) {
      display: none;
    }

    &:not(.muted) svg:first-child {
      display: none;
    }

    &.muted svg:last-child {
      display: none;
    }
  }
.swatch-input__input:not(:checked) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
.localization-button {
    display: inline-flex;
  }

  .localization-button[popovertarget] {
    anchor-name: --localization-button-trigger;
  }

  .localization-button > * {
    text-box: trim-both cap alphabetic;
  }

  .localization-button .icon-flag {
    inline-size: 0.9lh;
    block-size: 0.9lh;
    /* clip-path: circle(50%); */
    object-fit: contain;
    position: relative;
  }
localization-form-component {
    display: block;
    position: relative;
    block-size: 100%;
  }

  localization-form-component .localization-form {
    display: flex;
    flex-flow: column;
    overflow-y: auto;
    block-size: 100%;
  }

  localization-form-component .country-filter {
    position: sticky;
    top: 0;
    background-color: var(--color-background);
    border-block-end: 1px solid var(--color-border);
  }

  localization-form-component .language-selector {
    position: sticky;
    bottom: 0;
    background-color: var(--color-background);
    border-block-start: 1px solid var(--color-border);
  }

  localization-form-component .country-filter .field {
    display: flex;
    align-items: center;
    padding: var(--padding-xs);
    position: relative;
    margin: 0;
  }

  localization-form-component .country-filter .field .country-filter__search-icon {
    position: absolute;
    inset-inline-start: 1lh;
    inset-block-start: 50%;
    translate: 0 -50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  localization-form-component .country-filter .field .country-filter__reset-button {
    position: absolute;
    inset-inline-end: 1lh;
    inset-block-start: 50%;
    translate: 0 -50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  localization-form-component .country-filter .field input {
    padding-inline-start: 2.5lh;
  }

  localization-form-component .country-filter .field input:focus-visible {
    outline: none;
  }

  .localization-form__list-item:not([hidden]) {
    display: flex;
    gap: var(--size-4xs);
    align-items: center;
    padding: var(--size-6xs) var(--size-4xs);
    margin: 5px 10px;
    border-radius: var(--border-radius-s);
  }

  .localization-form__list-item:not([hidden]) .country {
    flex: 1;
  }

  .localization-form .icon-checkmark {
    visibility: hidden;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZWNrLWljb24gbHVjaWRlLWNoZWNrIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz48L3N2Zz4=');
    display: block;
    width: 1rem;
    height: 1rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

  .localization-form__list-item[aria-current='true'] .icon-checkmark {
    visibility: visible;
  }

  .localization-form__list-item[aria-current='true'] {
    background-color: var(--color-border);
    outline: none;
  }

  .language-selector {
    display: flex;
    align-items: center;
    gap: var(--size-4xs);
    padding: var(--size-4xs);
    justify-content: space-between;
  }

  .language-selector select {
    inline-size: auto;
    border: none;
  }

  .localization-form__list-item .country mark {
    font-weight: 500;
    background-color: transparent;
    color: var(--color-foreground);
  }
.localization-popover {
    --localization-popover-min-width: 12rem;
    --localization-popover-max-width: 16rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .localization-popover__summary {
    padding: 0;

    &:hover {
      color: var(--color-foreground);
    }
  }

  .localization-popover__panel {
    --localization-popover-opacity: 0;
    --localization-popover-y: 20px;
    /* position-anchor: --localization-button;
    position: fixed;
    inset: unset; */
    /* position-area: block-end center;
    position-try: block-end span-inline-start; */
    /* inset-inline-end: 0;
    inset-inline-end: calc(anchor(--localization-button end) - 0.5em);
    inset-block-start: calc(anchor(--localization-button bottom) + 0.5em); */
    position-anchor: --localization-button-trigger;
    margin: 0;
    inset-block-start: auto;
    inset-block-end: 0;
    inset-inline: 0;
    inline-size: 100%;
    box-shadow: var(--shadow-popover);
    border: 1px solid var(--color-border);
    background-color: var(--color-background);
    overflow-y: hidden;
    opacity: var(--localization-popover-opacity);
    translate: 0 var(--localization-popover-y);
    transition-property: display, opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: var(--ease-out-quad);
    transition-behavior: allow-discrete;

    @media (min-width: 768px) {
      width: max-content;
      min-width: var(--localization-popover-min-width);
      block-size: 100%;
      max-block-size: 20lh;
      inset-inline-start: unset;
      inset-block-start: unset;
      inset-inline-end: anchor(end);
      inset-block-start: calc(anchor(bottom) + var(--header-padding, 0.5lh));

      @supports not (position-anchor: --localization-button-trigger) {
        inset-block-start: calc(var(--anchor-top) * 1px + var(--header-padding, 1.5lh));
        inset-inline-end: calc(var(--anchor-right) * 1px);
      }
    }

    &:popover-open {
      --localization-popover-opacity: 1;
      --localization-popover-y: 0px;
    }

    @supports not selector(:popover-open) {
      &.\:popover-open {
        --localization-popover-opacity: 1;
        --localization-popover-y: 0px;
      }
    }
  }

  @starting-style {
    .localization-popover__panel {
      --localization-popover-opacity: 0;
      --localization-popover-y: 20px;
    }
    .localization-popover__panel:popover-open {
      --localization-popover-opacity: 0;
      --localization-popover-y: 20px;
    }
  }

  .localization-popover .localization-form__list {
    max-block-size: 20lh;
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }
.language-localization {
    position: relative;

    & summary {
      cursor: pointer;
    }

    & .language-localization-component {
      position: absolute;
      top: calc(100% + 0.5rem);
      left: 0;
      background-color: var(--color-background);
      border: 1px solid var(--color-border);
      z-index: var(--layer-important);
      box-shadow: var(--shadow-popover);

      & ul {
        display: flex;
        flex-flow: column;
        margin: 0;

        & button {
          padding: var(--size-4xs);
          margin: 0;
          display: block;
          cursor: pointer;
          white-space: nowrap;
        }
      }
    }
  }

  .localization-form-button {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);

    img {
      width: 1lh;
      height: 1lh;
    }
  }
.mailing-popup-dialog {
    padding: 1rem;
    width: min(90vw, 600px);
  }

  .mailing-popup-close {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    padding: 1rem;
  }

  .mailing-popup-heading {
    font-weight: 300;
  }

  .mailing-popup-text {
    text-wrap: pretty;
    font-size: var(--font-size--title, 1.25rem);
    font-weight: 300;
  }

  .mailing-popup-input {
    border: 0 !important;
    border-bottom: 1px solid currentColor !important;
    background-color: rgb(245 245 245) !important;
  }

  .mailing-popup-error {
    color: rgb(239 68 68);
  }

  .mailing-popup-submit {
    font-weight: 300;
  }

  @media (min-width: 1024px) {
    .mailing-popup-dialog {
      padding: 2.5rem;
    }

    .mailing-popup-input {
      max-width: 20rem;
    }
  }
.menu-link-text__image {
    inline-size: auto;
    block-size: 1.25lh;
    display: inline-block;
  }
.anchored-popover:has(.has-unseen) [popovertarget='notifications-popover'] .anchored-popover__icon circle {
    fill: var(--color-red);
  }

  .anchored-popover [popovertarget='notifications-popover'] .anchored-popover__icon {
    /* animation: bell-notification 1s infinite; */
    transform-origin: top center;
  }

  @keyframes bell-notification {
    0% {
      rotate: 0deg;
    }
    10% {
      rotate: 14deg;
    }
    20% {
      rotate: -8deg;
    }
    30% {
      rotate: 14deg;
    }
    40% {
      rotate: -4deg;
    }
    50% {
      rotate: 10deg;
    }
    60% {
      rotate: 0deg;
    }
    100% {
      rotate: 0deg;
    }
  }

  .notifications-list {
    display: flex;
    flex-direction: column;
    max-inline-size: 50ch;
    overflow-y: auto;
    max-block-size: 90vh;
  }

  .notifications-list__item:not(:last-child) {
    border-block-end: 1px solid var(--color-border);
  }

  .notifications-list__link {
    display: grid;
    grid-template-columns: 4lh 1fr;
  }

  @media (min-width: 480px) {
    .notifications-list__link {
      grid-template-columns: 6lh 1fr;
    }
  }

  .notifications-list__image {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .notifications-list__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.5lh;
    gap: 0.25lh;
  }

  .notifications-list__title {
    font-size: 1.15rem;
    margin: 0;
    font-weight: normal;
    display: flex;
    align-items: center;
    gap: 0.5lh;
  }

  .notifications-list__badge {
    display: inline-block;
    width: 1ch;
    height: 1ch;
    background-color: var(--color-red);
    box-shadow: var(--ring);
    border-radius: 50%;
    transition: opacity 0.3s ease;
  }

  .notifications-list__item--seen .notifications-list__badge {
    opacity: 0;
  }

  .notifications-list__text {
    font-size: 0.8rem;
    margin: 0;
  }
.overlay {
    position: absolute;
    inset: 0;
    z-index: var(--overlay-layer);
    pointer-events: none;
    border-radius: var(--overlay-border-radius, 0px);
  }

  .overlay--solid {
    background: var(--overlay-color);
  }

  .overlay--gradient {
    background: linear-gradient(var(--overlay-direction), var(--overlay-color), var(--overlay-color--end));
  }

  :has(> .overlay--hover) .overlay {
    opacity: 0;
    transition: opacity 225ms var(--animation-timing-default);
  }

  :has(> .overlay--hover):hover .overlay,
  :has(> .overlay--hover):focus-within .overlay {
    opacity: 1;
  }
.default-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--mzw-space-2xs);
  }

  .default-pagination :is(a, .current) {
    padding: var(--mzw-space-2xs);
  }

  .default-pagination .current {
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .pagination-container {
    padding-block: 5rem 1rem;
    text-align: center;
    display: flex;
    flex-flow: column;
    gap: var(--mzw-space-s);
    font-family: var(--font-accent--family);

    & .load-more-buttons {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: var(--size-4xs);
    }
  }

  .pagination {
    & ul {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: var(--mzw-space-2xs);
      font-size: var(--size-xl);
      line-height: 1.1;

      & .pagination-item {
        padding: var(--mzw-space-2xs);
        display: flex;
        justify-content: center;
        align-items: center;

        &[aria-current='page'] {
          text-decoration: underline;
          text-underline-offset: 2px;
        }
      }
    }
  }
.picture-tag,
  .picture-tag img {
    object-position: var(--mobile-object-position, 50% 50%);
  }

  @media (min-width: 768px) {
    .picture-tag,
    .picture-tag img {
      object-position: var(--desktop-object-position);
    }
  }
.predictive-search-results__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.2em;
    margin-bottom: var(--size-2xs);
  }

  .predictive-search-results__products {
    padding: var(--padding-md);
    font-size: 0.875rem;
  }

  .predictive-search-results__wrapper-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gap-sm);
  }

  @media screen and (width >= 750px) {
    .predictive-search-results__wrapper-products {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .predictive-search-results__clear {
    font-size: 0.875em;
    font-family: var(--font-accent--family);
  }
.price-input-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 0.5lh;
  }
  /* price-range {
    gap: 1rlh;
    display: grid;
  }

  .price-input-relative {
    position: relative;
  }

  .facet-range-wrapper {
    --range-min: 0%;
    --range-max: 100%;
    --transform-origin-end: right;
    background: linear-gradient(
      to var(--transform-origin-end, right),
      var(--color-border) var(--range-min),
      var(--color-foreground) var(--range-min),
      var(--color-foreground) var(--range-max),
      var(--color-border) var(--range-max)
    );
    border-radius: 0;
    height: 0.4rem;
    display: grid;
    grid-template-areas: 'range';

    [dir='rtl'] & {
      --transform-origin-end: left;
    }
  }

  .facet-range {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    height: 0.4rem;
    vertical-align: top;
    margin: 0;
    grid-area: range;
    inline-size: 100%;
    pointer-events: none;
    padding: 0;
  }

  .facet-inputs-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .facet-input-wrapper {
    display: flex;
    align-items: center;
    flex-grow: 1;
    gap: 0.25rem;
    position: relative;
  }

  .facet-range__input {
    -webkit-appearance: textfield;
    appearance: textfield;
  }
  .facet-range__input::-webkit-inner-spin-button,
  .facet-range__input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  .facet-range::-webkit-slider-thumb {
    -webkit-margin-before: -6px;
    -webkit-appearance: none;
    border: 1px solid var(--color-foreground);
    background-color: var(--color-background);
    border-radius: 100%;
    box-shadow: none;
    cursor: pointer;
    height: 16px;
    margin-block-start: -6px;
    position: relative;
    width: 16px;
    z-index: 1;
  }
  .facet-range::-webkit-slider-runnable-track {
    background-color: #ccc;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%;
  }
  .facet-range::-moz-range-thumb {
    background-color: var(--color-background);
    border: 2px solid var(--color-foreground);
    border-radius: 100%;
    cursor: pointer;
    height: 12px;
    width: 12px;
  }
  .facet-range::-moz-range-progress,
  .facet-range::-moz-range-track {
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%;
  }
  .facet-range::-webkit-slider-runnable-track {
    background: none;
  }
  .facet-range::-moz-range-progress {
    background-color: var(--color-foreground);
  }
  .facet-range::-moz-range-track {
    background-color: var(--color-border);
  }
  .facet-range::-webkit-slider-thumb {
    pointer-events: auto;
  }
  .facet-range::-moz-range-thumb {
    pointer-events: auto;
  }
  .facet-range::-moz-range-progress,
  .facet-range::-moz-range-track {
    background: none;
  }
  @media not screen and (pointer: fine) {
    .facet-range::-webkit-slider-thumb {
      height: 20px;
      margin-block-start: -9px;
      width: 20px;
    }
    .facet-range::-moz-range-thumb {
      height: 16px;
      width: 16px;
    }
  } */
.product-card .product-badges {
    display: none;

    @container product-card (width >= 25ch) {
      display: flex;
    }
  }

  .product-badge[data-label='in-stock'] {
    display: none;
  }

  .product-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.7rem;
    font-family: var(--font-accent--family);
    z-index: var(--layer-flat);

    &:not(:has(.product-badge)),
    &:has([data-label='in-stock']):not(:has(.product-badge:not([data-label='in-stock']))) {
      display: none;
    }
  }

  .product-badge {
    color: var(--color-foreground);
    background: transparent;
    border: 1px solid currentColor;
    border: 1px solid oklch(from currentColor l c h / 0.2);
    text-transform: uppercase;
    border-radius: 0.25em;
    letter-spacing: 0.08em;
    padding-inline: 0.5em;
    padding-block: 0.25em;

    @supports (text-box: trim-both cap alphabetic) {
      padding-block: 0.5em;
      text-box: trim-both cap alphabetic;
    }
  }

  .product-badge:is([data-label*='sale' i]) {
    --badge-color: color(display-p3 1 0 0);
    color: oklch(from var(--badge-color) 25% c h);
    border-color: var(--badge-color);
  }

  .product-badge:is([data-label*='available' i], [data-label*='in-stock' i]) {
    --badge-color: var(--badge-available-color, #0066ff);
    color: oklch(from var(--badge-color) 25% c h);
    border-color: var(--badge-color);
    background: oklch(from var(--badge-color) 90% calc(c / 2) h / 0.5);
  }

  .product-badge:is([data-label*='mzw-exclusive' i], [data-label*='best-seller' i], [data-label*='limited-edition' i]) {
    --badge-color: var(--badge-mzw-exclusive-color, #ff6600);
    color: oklch(from var(--badge-color) 25% c h);
    border-color: var(--badge-color);
    background: oklch(from var(--badge-color) 90% calc(c / 2) h / 0.5);
  }

  .product-badge:is([data-label*='pre-order' i], [data-label*='waitlist' i]) {
    --badge-color: var(--badge-pre-order-color, #49b338);
    color: oklch(from var(--badge-color) 15% c h);
    border-color: var(--badge-color);
    background: oklch(from var(--badge-color) 90% calc(c / 2) h / 0.5);
  }

  .product-badge:is([data-label*='low-stock' i]) {
    --badge-color: var(--badge-low-stock-color, var(--color-warning));
    color: oklch(from var(--badge-color) 15% c h);
    border-color: var(--badge-color);
    background: oklch(from var(--badge-color) 90% calc(c / 2) h / 0.5);
  }

  .product-badge:is([data-label*='out-of-stock' i], [data-label*='available-in-store' i]) {
    --badge-color: var(--badge-out-of-stock-color, var(--color-foreground));
    color: oklch(from var(--badge-color) 25% c h);
    border-color: oklch(from var(--color-foreground) l c h / 0.2);
    background: var(--color-background);
  }
.product-card--simple img {
    display: block;
    width: 100%;
    aspect-ratio: 4/5;
  }

  .product-card--simple .product-title {
    text-transform: uppercase;
    font-weight: 500;
  }

  .product-card--simple .product-card-image-container {
    position: relative;
  }

  .product-card--simple .product-card-add-to-cart-button {
    position: absolute;
    inset-block-end: 0.25rlh;
    inset-inline-end: 0.25rlh;
    z-index: 1;
    inline-size: max-content;
  }
.product-card-swatches {
    display: flex;
    align-items: center;
    gap: var(--size-4xs);
  }

  .product-card-swatches .product-card-swatches__group {
    display: flex;
    gap: var(--size-6xs);
  }
.product-card {
    display: block;
    width: 100%;
    container: product-card / inline-size;
    contain: content;
  }

  .product-card__link {
    position: absolute;
    inset: 0;

    &:focus-visible {
      outline: 2px solid oklch(from currentColor l c h / 75%);
      outline-offset: -2px;
      z-index: 2;
    }
  }

  .product-card-gallery-wrapper {
    display: block;
    position: relative;
  }

  .product-card .product-card-layer {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: var(--product-card-space, 0.5rem);
    pointer-events: none;
    z-index: 1;

    > * {
      grid-column: 1 / span 1;
      grid-row: 1 / span 1;
      pointer-events: auto;
    }
  }

  .product-card .product-badges {
    position: relative;
    place-self: start;
  }

  .product-card .product-compare-checkbox {
    display: none;
    position: absolute;
    inset-block-start: var(--product-card-space, 0.5rem);
    inset-inline-end: var(--product-card-space, 0.5rem);
    z-index: 1;

    :root:has(#compare-bar:popover-open) & {
      display: inline flex;
    }
  }

  .product-card wishlist-button {
    display: none;
    align-items: center;
    justify-content: center;
    place-self: start end;

    @container product-card (width >= 30ch) {
      display: inline flex;
    }
  }

  .product-card .product-card__swatches-and-add-to-cart {
    --display: flex;
    display: var(--display);
    position: absolute;
    inset-inline: 0px;
    top: 0px;
    translate: 0 -100%;
    padding: var(--product-card-space, 0.5rem);
    gap: 0.5rem;
    align-items: center;
    justify-content: space-between;
    min-height: 1.5rem;
    pointer-events: none;

    > * {
      pointer-events: auto;
    }

    @container product-card (width >= 30ch) {
      min-height: 2rem;
    }
  }

  .product-card .quick-add {
    place-self: end end;
  }

  .product-card .product-swatches__group {
    @container product-card (width >= 30ch) {
      display: flex;
    }
  }

  .product-card .product-card-swatches {
    place-self: end start;

    @container product-card (width >= 30ch) {
      --swatch-size: 1.5rem;
    }

    @container product-card (width < 30ch) {
      display: block;

      .product-card-swatches__extra {
        display: none;
      }
    }

    .product-card-swatches__extra {
      font-size: 0.75rem;
    }

    .product-card-swatches__count {
      font-size: 0.75rem;
      display: none;

      @container product-card (width < 30ch) {
        display: block;
      }
    }

    .product-card-swatches__group {
      @container product-card (width < 30ch) {
        display: none;
      }
    }
  }

  :root:not(:has(#compare-bar:popover-open)) .product-card {
    @media (hover) {
      :is(.product-card-layer--hover-show, .product-card-layer--hover-hide, product-card-gallery button) {
        transition-property: display, opacity, filter;
        transition-duration: 0.3s;
        transition-behavior: allow-discrete;
      }

      &:not(:is(:hover, :focus-within, :focus-visible)) {
        :is(.product-card-layer--hover-show, product-card-gallery button) {
          display: none;
          opacity: 0;
          filter: blur(2px);
        }
      }

      &:is(:hover, :focus-within, :focus-visible) {
        .product-card-layer--hover-hide {
          display: none;
          opacity: 0;
          filter: blur(2px);

          @starting-style {
            opacity: 1;
            filter: blur(0);
          }
        }

        :is(.product-card-layer--hover-show, product-card-gallery button) {
          opacity: 1;
          filter: blur(0);

          @starting-style {
            opacity: 0;
            filter: blur(2px);
          }
        }
      }
    }
  }

  :root:has(#compare-bar:popover-open) .product-card {
    :is(.product-card-layer--hover-show, product-card-gallery button) {
      display: none !important;
    }
  }

  .product-card .product-form {
    --product-card-space: 0.25lh;

    @container product-card (width >= 30ch) {
      --product-card-space: 0.5lh;
    }
  }

  .product-card__details {
    display: flex;
    flex-flow: column;
    padding: var(--product-card-space, 2cqi);
    line-height: 1.1rem;
    position: relative;
    width: 100%;
    font-size: 0.75rem;

    @container product-card (width >= 30ch) {
      line-height: 1.25rem;
      font-size: 0.875rem;
    }
  }

  .product-card .product-title-price {
    text-decoration: none;
    display: flex;
    flex-flow: column;
    gap: 0.5em;
    line-height: 1;
    width: 100%;

    @container product-card (width >= 30ch) {
      line-height: 1.25rem;
      gap: calc(var(--product-card-space) / 2) 0.5rem;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas: 'title price';
    }
  }

  .product-card .product-title-price .product-title {
    text-wrap: pretty;
    flex: 1;
    font-weight: 500;
    grid-area: title;
  }

  .product-card .product-title-price .color {
    color: oklch(from var(--color-foreground) l c h / 75%);
  }

  .product-card .product-title-price .component-price {
    opacity: 0.875;
    grid-area: price;
  }

  .card-product-skeleton {
    --skeleton-color: oklch(from currentColor l c h / 20%);
    margin-block-end: 16px;
    animation: var(--animation-blink);
    display: block;
    container-type: inline-size;
  }

  .card-product-skeleton__image {
    aspect-ratio: 4/5;
    background-color: var(--skeleton-color);
  }

  .card-product-skeleton__details {
    display: flex;
    flex-flow: column;
    padding: 0.25rem;

    @container product-card (width >= 30ch) {
      margin: 0.5rem;
    }
  }

  .card-product-skeleton__title-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .card-product-skeleton__title,
  .card-product-skeleton__price {
    min-height: 1lh;
    background-color: var(--skeleton-color);
  }

  .card-product-skeleton__title {
    width: 60%;
  }

  .card-product-skeleton__price {
    width: 5ch;
  }
.product-grid-image-switcher {
    display: flex;
    align-items: center;
  }

  .product-grid-image-switcher > label {
    display: flex;
    gap: var(--gutter-2xs);
    align-items: center;
    padding: 0 1ch;
    text-box: trim-both cap alphabetic;
    border: 1px solid oklch(from currentColor l c h / 10%);
  }

  .product-grid-image-switcher > label:first-child {
    border-start-start-radius: 0.25rem;
    border-end-start-radius: 0.25rem;
  }

  .product-grid-image-switcher > label:last-child {
    margin-inline-start: -1px;
    border-start-end-radius: 0.25rem;
    border-end-end-radius: 0.25rem;
  }

  .product-grid-image-switcher > label:has(input:checked) {
    border-color: oklch(from currentColor l c h / 30%);
  }

  .product-grid-image-switcher > label > * {
    text-box: trim-both cap alphabetic;
  }

  .product-grid-image-switcher > label:focus-within {
    text-decoration: underline;
  }

  :root:has(.product-grid-image-switcher input.product-grid-image-switcher__model-input:checked)
    .product-card:has(.product-card-gallery__body-image) {
    .product-card-gallery__link,
    .product-card-gallery__scroll {
      opacity: 0;
    }

    .product-card-gallery__body-image {
      display: block;
      opacity: 1;

      @starting-style {
        opacity: 0;
      }
    }
  }
.product-grid-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(var(--product-grid-gap, 4) * 1px);
  }

  .product-grid-row > ul {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    gap: calc(var(--product-grid-gap, 4) * 1px);
    margin: 0;
    padding: 0;
  }

  .product-grid-row ul > li {
    list-style-type: none;
  }

  .product-listing__item {
    aspect-ratio: 4 / 5;
    border: 1px solid var(--color-border);
  }

  .product-grid-row:has(.product-listing__item-hero) > ul {
    grid-column: 1 / span 2;
  }

  .product-listing__item-hero {
    grid-column: 3 / span 2;
    grid-row: 1 / span 2;
  }
.product-grid-size-controls__inner {
    display: flex;
    align-items: center;

    & [role='radiogroup'] {
      display: contents;
    }

    & label {
      display: block;
      padding: 0 0.25rem;
      cursor: pointer;
      border: 1px solid transparent;
      border-radius: 0.25rem;

      &:is(:focus-visible, :has(:focus-visible)) {
        outline: 2px solid oklch(from currentColor l c h / 75%);
        outline-offset: 2px;
      }

      &:has(input:checked) {
        border-color: oklch(from currentColor l c h / 30%);
      }
    }
  }
:is(:root:has(facet-remove.active-facet-remove)) .product-grid > *:not(:has(.product-card)) {
    display: none;
  }

  .product-grid-container {
    display: block;
  }

  @media screen and (min-width: 768px) {
    .product-grid-container {
      display: grid;
    }
  }

  .product-grid {
    display: grid;
    grid-template-columns: repeat(var(--product-grid-columns, 2), minmax(0, 1fr));
    gap: calc(var(--product-grid-gap, 4) * 1px);
    grid-auto-flow: row dense;
    container-type: inline-size;
    container-name: product-grid;
    transition: opacity 0.3s var(--ease-out-cubic);

    @media (max-width: 767px) {
      --page-margin: calc(var(--product-grid-gap, 4) * 1px);
    }
  }

  @media (min-width: 768px) {
    .product-grid[product-grid-view='2'] {
      --product-grid-columns: 2;
    }
    .product-grid[product-grid-view='4'] {
      --product-grid-columns: 4;
    }
    .product-grid[product-grid-view='6'] {
      --product-grid-columns: 6;
    }

    .product-grid:not([product-grid-view='4']) > *:not(:has(.product-card)) {
      display: none !important;
    }
  }

  .product-grid.loading {
    opacity: 0.5;
    pointer-events: none;
  }

  .product-grid__item {
    display: flex;
    align-items: stretch;
  }

  .product-grid__item:has(.product-card-media:first-child[loading='lazy']) {
    content-visibility: auto;
    contain-intrinsic-block-size: 38vh;
  }

  .product-grid__item {
    grid-column: span var(--product-col-span, 1);
  }

  .product-grid-no-products {
    width: 100%;
    text-align: center;
    font-size: 1.2rem;
    padding-block: var(--mzw-space-m);
  }
.product-in-store-availability {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1lh;
  }

  .product-in-store-availability__store-header {
    margin-block-end: 0.25lh;
  }

  .product-in-store-availability .product-in-store-availability__store-header :is(h2, strong) {
    display: block;
    margin-block-end: 0;
    font-weight: 500;
  }

  .product-in-store-availability .product-in-store-availability__phone {
    text-decoration: none;
    font-family: var(--font-accent--family);
  }

  .product-in-store-availability .product-badge[data-label='in-stock'] {
    display: unset;
  }

  .product-in-store-availability .product-badges:has([data-label='in-stock']):not(:has(.product-badge:not([data-label='in-stock']))) {
    display: flex;
  }

  .product-in-store-availability .product-badge--tag {
    display: none;
  }
.product-media {
    aspect-ratio: var(--gallery-aspect-ratio, var(--ratio));
    min-height: 0;
    min-width: 0;
  }

  .product-media__image {
    object-position: var(--focal-point, center center);
  }

  .product-media :is(lazy-video, product-model) {
    position: absolute;
    inset: 0;
  }

  ::view-transition-old(active-lightbox-image),
  ::view-transition-new(active-lightbox-image) {
    animation-duration: 0ms;
  }
.product-swatches {
    --swatch-size: 16px;
    --swatch-gap: 5px;
    display: grid;
    inline-size: 100%;
    gap: 0.5rem;
    align-items: center;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      'current all'
      'swatches swatches';

    .product-swatches-current-color {
      grid-area: current;

      .current-title-text {
        font-family: var(--font-accent--family);
      }
    }

    .product-swatches__group {
      grid-area: swatches;
    }

    .product-swatches-view-all-button {
      grid-area: all;
      justify-self: end;
      display: block;
      font-size: 0.75em;
      text-decoration: underline;
      font-family: var(--font-accent--family);
    }

    .other-options-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(15ch, 1fr));
      gap: 0.5rem;
    }

    .product-swatches__group {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: var(--gutter-2xs, 0.5ch);
      container-type: inline-size;
      position: relative;

      .product-swatches__title {
        font-size: 0.75rem;
      }

      .product-swatches__list {
        display: flex;
        flex-wrap: wrap;
        gap: var(--swatch-gap, 0);

        &.product-swatches__list--scroll {
          flex-wrap: nowrap;
          overflow-x: scroll;
          scroll-snap-type: x mandatory;
          scroll-behavior: smooth;
          scrollbar-color: transparent transparent;
          scrollbar-width: none;
          min-inline-size: 100%;
          position: relative;

          @media (prefers-reduced-motion) {
            scroll-behavior: auto;
          }

          @media (max-width: 767px) {
            &:has(.product-swatch:nth-child(6)) {
              position: relative;
              width: 100vw;
              min-width: 100vw;
              left: calc(-50vw + 50%);
              padding-inline: var(--page-margin, 1lh);
              scroll-padding-inline-start: var(--page-margin, 1lh);
            }
          }

          &::-webkit-scrollbar {
            display: none;
          }

          &::-webkit-scrollbar-track {
            background: transparent;
          }

          &::-webkit-scrollbar-thumb {
            background: transparent;
            border: none;
          }

          .product-swatch {
            --item-count: 5;
            scroll-snap-align: start;
            inline-size: calc((100% - (var(--swatch-gap) * (var(--item-count) - 1)) - 1px) / var(--item-count));
            flex: 0 0 auto;
            min-inline-size: 0;

            @media (min-width: 768px) {
              --item-count: 8;
            }
          }
        }
      }

      .product-swatches__controls {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        inline-size: 100%;
        gap: 0.25lh;
      }

      @media (max-width: 767px) {
        @media (hover: none) and (pointer: coarse) {
          .product-swatches__controls {
            display: none;
          }
        }

        &:not(:has(.product-swatch:nth-child(6))) {
          .product-swatches__list--scroll {
            overflow-x: unset;
          }

          .product-swatches__controls {
            display: none;
          }
        }
      }

      @media (min-width: 768px) {
        &:not(:has(.product-swatch:nth-child(9))) {
          .product-swatches__list--scroll {
            overflow-x: unset;
          }

          .product-swatches__controls {
            display: none;
          }
        }
      }
    }
  }

  .product-swatches-dialog {
    .drawer__body {
      padding: 0;
    }

    .other-options-grid {
      display: grid;
      width: 100%;
      grid-template-columns: 1fr 1fr;
      gap: 1px;

      a {
        outline-offset: -3px;
      }

      figure {
        display: grid;
        grid-template-areas: 'figure';
        grid-template-columns: 1fr;
        box-shadow: 0 0 0 1px var(--color-border);

        & > * {
          grid-area: figure;
        }

        &:hover {
          svg {
            translate: 0.5ch 0;
          }
        }

        figcaption {
          --icon-size: 1rem;
          place-self: end center;
          padding: 0.5em 2em;
          text-align: center;
          text-wrap: balance;
          line-height: 1;
          font-size: small;
          display: flex;
          flex-wrap: wrap;
          gap: 0.5ch;
          align-items: center;
          justify-content: center;

          & svg {
            transition: translate 0.4s;
          }
        }
      }
    }
  }
.quantity-input {
    display: grid;
    align-items: stretch;
    grid-template-columns: 1fr 1fr 1fr;
    visibility: visible;
    font-family: var(--font-accent--family);
  }

  .quantity-input input[type='number'] {
    text-align: center;
    padding: 0;
    appearance: textfield;
    border: none;
    grid-column: 1 / span 3;
    width: 100%;
    /* border: 1px solid var(--color-border); */
  }

  .quantity-input input[type='number']::-webkit-inner-spin-button,
  .quantity-input input[type='number']::-webkit-outer-spin-button {
    appearance: none;
  }

  .quantity-input :is(button, a),
  .quantity-input input[type='number'] {
    grid-row: 1;
  }

  .quantity-input :is(button, a) {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25em;
    z-index: 1;
  }

  .quantity-input :is(button, a):first-child {
    grid-column: 1 / span 1;
  }

  .quantity-input :is(button, a):last-child {
    grid-column: 3 / span 1;
  }

  .quantity-input :is(button, a) svg {
    stroke-width: 1;
  }
.quick-add {
    z-index: var(--layer-raised);
  }

  .quick-add__button {
    --icon-size: 1.5rem;
    display: grid;
    color: var(--color-foreground);
    border: 1px solid oklch(from currentColor l c h / 15%);
    border-radius: 100px;
    background-color: oklch(from var(--color-background) l c h / 70%);
    backdrop-filter: blur(5px);
    height: auto;
    width: max-content;
    position: relative;
    overflow: hidden;
    padding: var(--padding-2xs);
    margin-inline-start: auto;
    box-shadow: 0px 3px 5px oklch(from currentColor l c h / 7%);
    transition: scale var(--animation-speed) var(--spring);

    .js-ajax-cart-processing & {
      pointer-events: none;
    }

    &:active {
      scale: 0.97;
      text-decoration: none;
    }

    &:focus {
      text-decoration: none;
    }

    .svg-wrapper {
      svg:first-child {
        translate: 0 -1px;
      }

      svg:last-child {
        display: none;
        animation: kf-spin 0.5s infinite linear;
      }
    }
  }

  @media screen and (min-width: 750px) {
    .quick-add__button {
      padding: var(--padding-xs) var(--padding-sm);
    }
  }

  .quick-add__button .add-to-cart-text {
    gap: 0;
    line-height: 1;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    animation: none;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--spring);
    animation-fill-mode: forwards;
    transition-property: gap, opacity;
    transition-duration: var(--animation-speed);
    transition-timing-function: var(--spring);

    @media screen and (min-width: 750px) {
      /* offset button padding to show a round button in a collapsed state */
      margin-inline: calc(var(--padding-sm) * -1);
      padding-inline: var(--padding-xs);
    }
  }

  .quick-add__button .add-to-cart-text__content {
    width: 0;
    opacity: 0;
    transform: translateX(1em);
    transition-property: width, opacity, transform;
    transition-duration: var(--animation-speed);
    transition-timing-function: var(--spring);
    interpolate-size: allow-keywords;
    will-change: width, opacity, transform;
  }

  @container (min-width: 99px) {
    .js-ajax-cart-processing .quick-add__button:is(:active, :focus) .add-to-cart-text,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text {
      gap: var(--gap-2xs);

      @media screen and (min-width: 750px) {
        /* offset button padding to show a round button in a collapsed state */
        margin-inline: 0;
        padding-inline: 0;
      }
    }

    .js-ajax-cart-processing .quick-add__button:is(:active, :focus) .add-to-cart-text__content,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text__content {
      width: fit-content;
      opacity: 1;
      transform: translateX(0);
    }
  }

  .js-ajax-cart-processing .quick-add__button:is(:active, :focus) .svg-wrapper {
    svg:last-child {
      display: block;
    }

    svg:not(:last-child) {
      display: none;
    }
  }

  .product-form__error-message {
    color: rgb(220 38 38);
  }

  .product-form__error-message:empty {
    display: none;
  }
.product-recommendations-list {
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
  }
.reset-password-form .text-center {
    text-align: start;
  }

  @media (min-width: 1024px) {
    .reset-password-form .text-center {
      text-align: start;
    }
  }
.resource-card {
    display: flex;
    flex-flow: column;
    position: relative;
    gap: var(--size-4xs);
  }

  .resource-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .resource-card__content {
    display: flex;
    flex-flow: column;
    gap: var(--size-6xs);
  }

  .resource-card__image {
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    object-fit: cover;
  }

  .resource-card__media:empty {
    display: none;
  }
.resource-list {
    inline-size: 100%;
  }

  .resource-list--grid .resource-list__inner {
    display: grid;
    grid-template-columns: var(--resource-list-columns-mobile);
    column-gap: var(--resource-list-column-gap, 0px);
    row-gap: var(--resource-list-row-gap, 0px);
    align-items: stretch;
  }

  @media (width >= 750px) {
    .resource-list--grid .resource-list__inner {
      grid-template-columns: var(--resource-list-columns, var(--resource-list-columns-mobile, minmax(0, 1fr)));
    }
  }
#search-bar-dialog {
    background-color: oklch(from var(--color-background) l c h / 95%);
    padding: var(--mzw-space-2xs);
    flex-flow: column;
    position: fixed;
    border: none;
    background-color: transparent;
    filter: blur(4px);
    opacity: 0;
    translate: 0 -20px;
    z-index: var(--layer-overlay);
    inset-block-start: var(--header-height, 0);
    inline-size: min(400px, 100%);
    transition: display 0.3s allow-discrete, opacity 0.3s, translate 0.4s, filter 0.3s;

    @media (width >= 768px) {
      inset-block-start: calc(var(--header-height, 0) + var(--size-4xs));
      max-width: var(--normal-content-width);
      width: var(--modal-width);
    }

    &[open] {
      display: flex;
      filter: blur(0px);
      opacity: 1;
      translate: 0 0;

      @starting-style {
        & {
          filter: blur(4px);
          opacity: 0;
          translate: 0 -20px;
        }
      }
    }
  }

  .search-bar {
    .predictive-search {
      position: relative;
      display: block;

      .search-form {
        position: relative;
        display: flex;
        justify-content: center;
        width: 100%;
        align-items: center;
        gap: var(--size-4xs);

        .submit-button {
          margin: 0px;
          border-style: none;
          background-color: transparent;
          padding: 0px;

          svg {
            --icon-size: 1.5rem;
          }
        }

        .search-close {
          margin: 0px;
          display: flex;
          height: 2.25rem;
          width: 2.25rem;
          align-items: center;
          justify-content: center;
          border-radius: var(--style-border-radius-50);
          background-color: var(--color-background);
          border: 1px solid var(--color-border);
          padding: 0px;
          flex-shrink: 0;

          svg {
            --icon-size: 1.5rem;
            fill: currentColor;
          }
        }

        [data-search-input] {
          background-color: var(--color-background);
          border: 1px solid var(--color-border);
          padding-block: var(--mzw-space-2xs);
          padding-inline: var(--mzw-space-2xs);
          font-size: 1rem;
        }
      }

      #header-group & .predictive-search-results {
        position: fixed;
        height: 100vh;
        left: 0;
        right: 0;
        background-color: var(--color-background);
        border-bottom: none;

        @media (width >= 768px) {
          max-height: calc(100vh - 116px);
        }

        @media (width >= 1024px) {
          max-height: calc(100vh - 120px);
          height: auto;
        }
      }

      .predictive-search-results {
        width: 100%;
        padding-top: 1.5rem;
        margin-top: 0.75rem;
        border-top: 1px solid var(--color-border);
        border-bottom: 1px solid var(--color-border);
        padding-bottom: 1.5rem;
        z-index: 40;

        &:empty {
          display: none;
        }

        @media (width >= 1024px) {
          .predictive-search-collections {
            flex-basis: 150px;

            a {
              display: block;
              padding-block: 0.25rem;
            }
          }

          .predictive-search-results__products {
            flex: 1;
          }
        }

        .predictive-search-contents {
          flex-flow: column;
          display: flex;
          gap: var(--size-4xs);

          @media (width >= 1024px) {
            flex-flow: row;
          }
        }

        .predictive-search-view-all {
          display: flex;
          align-items: center;
          justify-content: flex-end;
        }
      }
    }
  }
.search-dialog {
    /* Approx set the top so when the content is at max height, the modal is centered */
    --modal-width: 66dvw;

    padding: 0;
    border: none;
    box-shadow: var(--shadow-popover);
    max-height: calc(100% - var(--size-5xl));
    max-width: calc(100% - var(--size-5xl));
    border-radius: 0.25rem;
  }

  .search-dialog[open] {
    display: flex;
  }

  .predictive-search__close-modal-button {
    position: absolute;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    inset-inline-end: var(--margin-md);
    top: auto;
  }

  @media screen and (width < 750px) {
    .search-dialog {
      max-width: 100%;
      max-height: 100%;
      height: 100dvh;
      width: 100dvw;
    }

    .predictive-search-form__input-wrapper {
      padding: var(--padding-2xs) var(--padding-sm);
    }
  }

  @media screen and (width >= 750px) {
    .search-dialog {
      max-width: var(--normal-content-width);
      width: var(--modal-width);
      overflow: hidden;
    }
  }

  .predictive-search {
    display: flex;
    width: 100%;
    position: relative;
    align-items: center;
    flex-flow: column;
  }

  .predictive-search-form {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    flex-flow: column;
  }

  .predictive-search-form__input-wrapper {
    background: var(--color-background);
    color: var(--color-foreground);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    inline-size: 100%;
    position: sticky;
    top: 0;
  }

  .predictive-search-form__input-wrapper input {
    padding-block: var(--padding-sm);
    padding-inline: calc(var(--margin-lg) + var(--icon-size-lg) * 1.5);
    border: none;

    &:focus-visible {
      outline: none;
    }
  }

  .predictive-search-form__input-wrapper > .svg-wrapper {
    position: absolute;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    inset-inline-start: var(--margin-md);
    top: auto;
  }

  .predictive-search-form__content {
    display: flex;
    flex-flow: column;
    overflow-y: auto;
  }
.section-media__media {
    width: 100%;
    height: 100%;
  }

  .section-media__media--cover {
    object-fit: cover;
  }

  .section-media__media--contain {
    object-fit: contain;
  }
.signup-newsletter-input-wrapper {
    position: relative;
  }
.size-style {
    width: var(--size-style-width-mobile, var(--size-style-width));
    height: var(--size-style-height-mobile, var(--size-style-height));
  }

  @media (width >= 768px) {
    .size-style {
      width: var(--size-style-width);
      height: var(--size-style-height);
    }
  }
slider-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-sm, 0.875rem);
    color: var(--color-foreground);
  }

  slider-counter output {
    min-inline-size: 3ch;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-family: var(--font-accent--family, monospace);
  }
@property --slider-arrow-position {
    syntax: 'static | over';
    inherits: false;
    initial-value: over;
  }

  :root {
    --peek-next-slide-size: 3rem;

    @media (min-width: 768px) {
      --peek-next-slide-size: 0rem;
    }
  }

  slider-component {
    display: flex;
    flex-flow: column;
    gap: 0.25lh;
    position: relative;
    inline-size: 100%;
    container: slider / inline-size;
  }

  @container slider style(--slider-arrow-position: over) {
    slider-controls {
      position: static;

      &:not(:has(slider-dots)) {
        padding: 0;
      }
    }

    slider-arrows {
      position: absolute;
      inset: 0;
      padding: 0.5lh;
    }

    slider-component:has(.product-card) slider-arrows button {
      translate: 0 -1lh;
    }
  }

  @media (max-width: 767px) {
    slider-component.slider-component--columns {
      --slide-width: calc(
        (100% - (var(--slider-gap) * (var(--slider-columns-mobile) - 1)) - var(--peek-next-slide-size)) /
          var(--slider-columns-mobile)
      );
    }
  }

  @media (min-width: 768px) {
    slider-component.slider-component--columns {
      --slide-width: calc(
        (100% - (var(--slider-gap) * (var(--slider-columns-desktop) - 1)) - var(--peek-next-slide-size)) /
          var(--slider-columns-desktop)
      );
    }
  }

  slider-component[disabled] .slider-component__slides {
    overflow: hidden;
  }

  .slider-component__slides {
    inline-size: 100%;
    position: relative;
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-color: transparent transparent;
    scrollbar-width: none;
    gap: var(--slider-gap, 0);

    @media (prefers-reduced-motion) {
      scroll-behavior: auto;
    }

    &::-webkit-scrollbar {
      width: 0;
    }

    &::-webkit-scrollbar-track {
      background: transparent;
    }

    &::-webkit-scrollbar-thumb {
      background: transparent;
      border: none;
    }
  }

  .slider-component__slides[gutters*='start'] {
    padding-inline-start: var(--gutter-slide-width, 0);
    scroll-padding-inline-start: var(--gutter-slide-width, 0);
  }

  .slider-component__slides[gutters*='end'] {
    padding-inline-end: var(--gutter-slide-width, 0);
  }

  slider-component[actioned] .slider-component__slides > * {
    scroll-snap-align: start;
  }

  @keyframes offscreen-inert {
    entry 0%,
    exit 100% {
      interactivity: inert;
    }
    entry 100%,
    exit 0% {
      interactivity: auto;
    }
  }

  .slider-component__slides > * {
    position: relative;
    inline-size: var(--slide-width, 100%);
    height: auto;
    max-height: 100%;
    flex-shrink: 0;
    view-timeline-axis: inline;
    content-visibility: auto;
    contain-intrinsic-size: auto none;
    animation: offscreen-inert linear both;
    animation-timeline: view(x);

    slider-component[actioned] &,
    &[aria-hidden='false'] {
      content-visibility: visible;
    }

    &:has(+ &[aria-hidden='false']),
    &[aria-hidden='false'] + & {
      content-visibility: auto;
    }

    &:focus-visible,
    &:has(:focus-visible) {
      outline: 2px solid oklch(from currentColor l c h / 75%);
      outline-offset: -2px;
    }
  }

  slider-controls {
    display: flex;
    align-items: center;
    padding-inline: calc(var(--gutter-slide-width, 0) + 0.5lh);
    gap: 0.5lh;

    &:has(slider-dots):not(:has(.slider-arrow)) {
      justify-content: center;
    }

    &:has(.slider-arrow):not(:has(slider-dots)) {
      justify-content: end;
    }

    .custom-section-content & {
      --gutter-slide-width: 0;
    }
  }

  slider-arrows {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    pointer-events: none;
    z-index: var(--layer-raised);
    align-items: center;
    z-index: var(--layer-heightened);
    gap: var(--gap-sm);
  }

  slider-arrows > * {
    pointer-events: auto;
  }

  slider-arrows button {
    padding: 0.25lh;
    z-index: 1;
    background-color: transparent;
    border: none;
    color: var(--color-foreground);
    transition: 225ms var(--animation-timing-default);
    transition-property: opacity;
    cursor: pointer;
    /* border-radius: var(--style-border-radius-50); */
    background-color: oklch(from var(--color-background) l c h / 90%);
    border: 1px solid oklch(from var(--color-foreground) l c h / 40%);

    @starting-style {
      opacity: 0.4;
    }

    &[data-bound] {
      opacity: 0;
    }
  }

  slider-arrows:has(.slider-arrow--next[data-bound]):has(.slider-arrow--previous[data-bound]) {
    visibility: hidden;
  }

  slider-arrows button.slider-arrow--previous {
    margin-inline-end: auto;
  }

  slider-arrows button.slider-arrow--next {
    margin-inline-start: auto;
  }

  slider-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rlh;
    padding-block: 0.5lh;
    place-self: end center;
    position: relative;

    &:not(:has(button[aria-pressed='false'])) {
      display: none;
    }

    &:has(button:nth-child(8)) {
      gap: 0.35rlh;
    }
  }

  @media (min-width: 768px) {
    slider-dots:has(button:nth-child(8)) {
      gap: 0.5rlh;
    }
  }

  slider-dots button {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    border: 1px solid oklch(from var(--color-foreground) l c h / 40%);
    transition: background-color var(--duration-short) var(--ease-out-cubic);

    &[aria-pressed='true'] {
      background-color: var(--color-accent);
      border-color: var(--color-accent);
    }
  }
.social-links {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin: 0;

    @media (width >= 768px) {
      justify-content: flex-start;
    }

    li {
      display: flex;
      align-items: center;
      justify-content: center;

      svg {
        --icon-size: 1.5rem;
        fill: currentColor;
      }
    }
  }
/* .component-sort-by > .svg-wrapper {
    width: auto;
    height: 0.8lh;
  }

  .component-sort-by select {
    padding: 0;
    background: none;
    border-color: transparent;
    field-sizing: content;
    appearance: none;
    font-family: var(--font-accent--family);
  } */

  .sort-by__select::picker(select) {
    transition-property: display, overlay;
    transition-behavior: allow-discrete;
    transition-duration: 0.3s;
  }

  .sort-by__select:open option:not(:checked) {
    color: canvasText;
    transition: color 0.2s ease-out;
  }

  .sort-by__select {
    &,
    &::picker(select) {
      appearance: none;
      appearance: base-select;
    }
  }

  .sort-by__select {
    --fade: 0.5;
    --hover: light-dark(color-mix(in oklch, canvasText, #0000 90%), color-mix(in oklch, canvasText, #0000 85%));
    field-sizing: content;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    position: relative;
    cursor: pointer;
    font-size: 1em;

    &:open button {
      background: var(--hover);
    }

    button {
      width: 100%;
      display: flex;
      align-items: center;
      border: 0;
      transition: background 0.26s ease-out;
      gap: 1cap;
      padding: 0.25lh 0.5lh;
      position: relative;
    }

    &::picker(select) {
      border: 1px solid var(--color-border);
    }

    &::picker-icon {
      display: none;
    }

    option {
      padding: 0.5rem 0.75rem;
    }

    option:checked {
      color: var(--color-accent);
      text-decoration: underline;
    }

    option::checkmark {
      display: none;
    }
  }
.spacing-style {
    --spacing-scale: var(--spacing-scale-sm);

    @media screen and (width >= 768px) {
      --spacing-scale: var(--spacing-scale-md);
    }

    @media screen and (width >= 1024px) {
      --spacing-scale: var(--spacing-scale-default);
    }

    --padding: 0px;
    --padding-block: var(--padding, 0px);
    --padding-block-start: var(--padding-block, 0px);
    --padding-block-end: var(--padding-block, 0px);
    --padding-inline: var(--padding, 0px);
    --padding-inline-start: var(--padding-inline, 0px);
    --padding-inline-end: var(--padding-inline, 0px);
    --margin: 0px;
    --margin-block: var(--margin, 0px);
    --margin-block-start: var(--margin-block, 0px);
    --margin-block-end: var(--margin-block, 0px);
    --margin-inline: var(--margin, 0px);
    --margin-inline-start: var(--margin-inline, 0px);
    --margin-inline-end: var(--margin-inline, 0px);
  }

  .spacing-style,
  .inherit-spacing {
    padding: var(--padding);
    padding-block: var(--padding-block-start) var(--padding-block-end);
    padding-inline: var(--padding-inline-start) var(--padding-inline-end);
    margin: var(--margin);
    margin-block: var(--margin-block-start) var(--margin-block-end);
    margin-inline: var(--margin-inline-start) var(--margin-inline-end);
  }
:root:has(sticky-buy-buttons) .main-footer {
    padding-bottom: 150px;
  }

  sticky-buy-buttons {
    inset: unset;
    inset-inline: 0;
    inset-block-end: 0;
    padding: var(--mzw-space-s);
    background-color: oklch(from var(--color-background) l c h / 95%);
    backdrop-filter: blur(3px);
    box-shadow: 0 -1px 0 var(--color-border);
    translate: 0 100%;
    opacity: 0;
    font-size: 1rem;
    display: grid;
    grid-template-columns: 10ch 1fr;
    grid-template-areas:
      'image title'
      'image price'
      'image button';
    align-items: center;
    gap: 0.5rlh;
    width: 100%;
    height: auto;
    transition-property: translate, opacity, display, overlay;
    transition-behavior: allow-discrete;
    transition-duration: var(--duration-medium);
    transition-timing-function: var(--spring, ease);

    &:popover-open {
      translate: 0 0;
      opacity: 1;

      @starting-style {
        translate: 0 100%;
        opacity: 0;
      }
    }

    @media (width >= 600px) {
      padding: var(--mzw-space-2xs) var(--mzw-space-m);
      grid-template-columns: 10ch 1fr auto;
      grid-template-areas:
        'image title button'
        'image price button';
      gap: 0.25rlh 1rlh;
    }

    .buy-buttons-container {
      grid-column: 1 / -1;
    }

    h2 {
      margin-block: 0;
      font-size: 1.25em;
      font-weight: 500;
      text-wrap: pretty;
      grid-area: title;
      text-box: trim-both cap alphabetic;
    }

    img {
      grid-area: image;
      object-fit: cover;
      object-position: center;
    }

    .component-price {
      font-size: 1em;
      grid-area: price;
      text-box: trim-both cap alphabetic;
    }

    .buy-buttons-container {
      grid-area: button;

      button {
        inline-size: 100%;
      }
    }
  }
.store-hours-nowrap {
    white-space: nowrap;
  }
.product-swatch {
    --swatch-border-color: oklch(from currentColor l c h / 0.3);
    --swatch-border-width: 1px;
    box-shadow: inset 0 0 0 var(--swatch-border-width) var(--swatch-border-color);
    display: block;
    overflow: hidden;
    inline-size: var(--swatch-size, 1.5rem);
    min-inline-size: var(--swatch-size, 1.5rem);
    border-radius: 50%;
    aspect-ratio: 1;

    &:not(:has(img)) {
      background-color: var(--swatch-color, transparent);
    }

    &[data-shape='circle'] {
      --swatch-border-color: oklch(from currentColor l c h / 0.5);
      border-radius: 50%;
      aspect-ratio: 1;
    }

    &[data-shape='square'] {
      border-radius: 0.25rem;
      aspect-ratio: 1;
    }

    &[data-shape='portrait'] {
      border-radius: 0.25rem;
      aspect-ratio: 4 / 5;
    }

    &:is(:hover, :focus-visible) {
      --swatch-border-color: var(--color-foreground);
    }

    &[aria-checked='true'] {
      --swatch-border-color: var(--color-accent);
      --swatch-border-width: 2px;
    }

    &:is(:focus-visible) {
      --swatch-border-width: 3px;
    }

    img {
      border-radius: inherit;
      aspect-ratio: inherit;
      object-fit: cover;
      inline-size: 100%;
      block-size: 100%;
      border: 4px solid transparent;
    }
  }
.layout-tabs__tab-button {
    padding: 0.5lh 0.75lh;
    font-size: 0.875rem;
    width: max-content;
    position: relative;

    &:is(:focus-visible, :focus, :active) {
      text-decoration: none;
      outline-offset: -4px;
    }

    &:is([aria-selected='true']) {
      text-decoration: underline;
      text-underline-offset: 6px;
      text-decoration-thickness: 2px;

      /* &::after {
        content: '';
        display: block;
        height: 2px;
        background-color: currentColor;
        position: absolute;
        z-index: 1;
        inset-block-start: calc(100% - 2px);
        inset-inline: 0;
        view-transition-name: active-tab;
      } */
    }
  }

  .layout-tabs__tab-panel {
    width: 100%;
    gap: 0.5lh;
    padding-inline: 0.5lh;
    padding-block-end: 0.5lh;
    scroll-padding-inline-start: 0.5lh;
    grid-area: content;
  }
tabs-component {
    &:not(:defined) {
      > [role='tabpanel']:not(:first-of-type) {
        display: none;
      }

      & [role='tab']:first-child {
        border-bottom-color: currentColor;
      }
    }

    [role='tablist'] {
      display: flex;
      overflow: auto;
      white-space: nowrap;
      margin-block-end: 0.5lh;
    }
  }
:root {
    --text-align-default: start;
  }

  [style*='--horizontal-alignment: center'] .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] .text-block {
    --text-align-default: end;
  }

  [style*='--horizontal-alignment: flex-start'] > .text-block {
    --text-align-default: start;
  }

  [style*='--horizontal-alignment: center'] > .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] > .text-block {
    --text-align-default: end;
  }

  @media screen and (min-width: 768px) {
    [style*='--horizontal-alignment--desktop: center'] .text-block {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment--desktop: flex-end'] .text-block {
      --text-align-default: end;
    }

    [style*='--horizontal-alignment--desktop: flex-start'] > .text-block {
      --text-align-default: start;
    }

    [style*='--horizontal-alignment--desktop: center'] > .text-block {
      --text-align-default: center;
    }

    [style*='--horizontal-alignment--desktop: flex-end'] > .text-block {
      --text-align-default: end;
    }
  }

  .text-block {
    width: var(--width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  @media screen and (min-width: 768px) {
    .text-block {
      align-items: var(--horizontal-alignment--desktop, var(--horizontal-alignment));
    }
  }

  .text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    text-align: var(--text-align, var(--text-align-default));
    text-wrap: var(--text-wrap);
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width):is(.h1, .h2, .h3, .h4, .h5, .h6) {
    text-wrap: balance;
  }

  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }

  .text-block--trim-whitespace,
  .text-block--trim-whitespace > * {
    text-box: trim-both cap alphabetic;
  }

  .text-block[style*='--_color_'],
  .text-block[style*='--_color_'] > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--_color_, inherit);
  }

  @media screen and (min-width: 768px) {
    .text-block[style*='--_color-desktop_'],
    .text-block[style*='--_color-desktop_'] > :is(h1, h2, h3, h4, h5, h6, p, *) {
      color: var(--_color-desktop_, var(--_color_, inherit));
    }
  }
.variant-picker {
    width: 100%;

    & + .product-swatches {
      display: none;
    }
  }

  .no-js .variant-picker {
    display: none;
  }

  .variant-picker__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    width: 100%;
  }

  .variant-option {
    --options-border-radius: 4px;
    --options-border-width: 1px;
    --variant-option-padding-inline: var(--padding-md);
  }

  .variant-option--swatches {
    --options-border-radius: 50%;

    width: 100%;
  }

  .variant-option--swatches-disabled {
    pointer-events: none;
    cursor: not-allowed;
  }

  .variant-option--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    margin: 0;
    padding: 0;
    border: none;
  }

  .variant-option__swatch-value {
    padding-inline-start: var(--padding-xs);
    color: oklch(from currentColor l c h / 0.7);
  }

  .variant-option__button-label {
    --variant-picker-stroke-color: var(--color-border);

    display: flex;
    flex: 0 0 calc(3ch + 1.3em);
    align-items: center;
    position: relative;
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--options-border-radius);
    border-width: var(--options-border-width);
    overflow: clip;
    justify-content: center;
    min-height: calc(3ch + 1em);
    min-width: fit-content;
    white-space: nowrap;
    background-color: var(--color-background);
    color: var(--color-foreground);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    @media screen and (min-width: 750px) {
      padding: var(--padding-xs) var(--variant-option-padding-inline);
    }
  }

  .variant-option__button-label .swatch {
    inline-size: 28px;
    block-size: 28px;
    border-radius: var(--options-border-radius);
  }

  .variant-option__button-label--has-swatch {
    --focus-outline-radius: 50%;
    padding: 0;
    border: none;
    display: block;
    flex-basis: auto;
    min-height: auto;
  }

  .variant-option__button-label--has-swatch:hover {
    outline: var(--focus-outline-width, 0.09375rem) solid oklch(from currentColor l c h / 0.35);
    outline-offset: var(--focus-outline-offset, 0.2em);
  }

  .variant-option__button-label:has(:checked) {
    color: var(--color-selected-variant-text);
    background-color: var(--color-selected-variant-background);
    border-color: var(--color-selected-variant-border);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) {
    --focus-outline: none;
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) .swatch {
    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset, 0.2em);
  }

  .variant-option__button-label--has-swatch:has(:checked) {
    --focus-outline: var(--focus-outline-width, 0.09375rem) solid currentColor;
    outline: var(--focus-outline);
    outline-offset: var(--focus-outline-offset, 0.2em);
  }

  .variant-option__button-label__text {
    text-align: left;
    text-wrap: auto;
  }

  .variant-option__button-label input,
  .variant-option--images input {
    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  .variant-option__button-label svg {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    pointer-events: none;
    stroke-width: 1px;
    stroke: var(--variant-picker-stroke-color);
  }
.wishlist-button {
    --_icon-size: 2cap;
    display: inline flex;
    align-items: center;
  }

  .wishlist-button button {
    font-size: inherit;
    white-space: nowrap;
    color: var(--color-foreground);
    text-decoration: none;
    position: relative;

    &::after {
      content: '';
      position: absolute;
      inset: -0.5rem;
    }

    &:not(:disabled) {
      cursor: pointer;
    }

    &[aria-pressed='true'] svg {
      fill: rgb(215, 13, 74);
    }

    :is(.svg-wrapper, svg) {
      width: var(--_icon-size);
      height: var(--_icon-size);
    }
  }
local-wishlist-grid:not(:empty) + .wishlist-drawer__empty {
    display: none;
  }

  local-wishlist-grid .product-card-gallery wishlist-button {
    display: block;
  }