/** Shopify CDN: Minification failed

Line 1797:2 Unexpected "}"

**/
/* START_SECTION:announcement (INDEX:2) */
.section--announcement {
    z-index: 5;

    &:has(.announcement--root[data-sticky-enabled='true']) {
      position: sticky;
      top: 0;
    }
  }

  .announcement--root {
    padding-top: var(--spacing--1);
    padding-bottom: var(--spacing--1);
  }

  .announcement--wrapper {
    display: flex;
    align-items: center;

    @media (min-width: 1024px) {
      gap: var(--spacing--block);
    }

    @media (min-width: 768px) and (max-width: 1023px) {
      gap: var(--spacing--item);
    }

    .countdown-timer--root {
      flex-shrink: 0;
    }
  }

  .announcement--left,
  .announcement--right {
    flex: 2 0 0;

    > * {
      height: fit-content;
    }
  }

  .announcement--left {
    display: flex;

    .social-media--root {
      @media (min-width: 768px) {
        min-width: 100px;
      }
    }
  }

  .announcement--right {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing--block);

    > form {
      display: flex;
      justify-content: flex-end;
      gap: var(--spacing--item);
      flex-wrap: nowrap;
    }
  }

  .announcement--center {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing--item);
    z-index: 1;
    --image--radius: 0;

    @media (max-width: 767px) {
      max-width: 100%;
    }
  }

  .announcement--previous,
  .announcement--next {
    padding: var(--spacing--1);
    margin: var(--spacing--neg-1);
    transition: opacity 1s var(--transition--ease-out);

    &:hover {
      cursor: pointer;
    }

    &[aria-hidden='false'] {
      opacity: 1;
    }

    &[aria-hidden='true'] {
      opacity: 0;
      visibility: hidden;
    }

    > .icon--root {
      margin: 0;
      height: 12px;
    }
  }

  .announcement--blocks {
    text-align: center;
    display: grid;
    overflow: hidden;

    @media (max-width: 767px) {
      .announcement--root[data-scroll-text='true'] & {
        mask-image: linear-gradient(to left, #000 95%, transparent);
      }
    }

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

  .announcement--block {
    display: flex;
    align-items: center;
    justify-content: center;

    @media (min-width: 1024px) {
      max-width: 800px;
    }

    @media (min-width: 768px) and (max-width: 1023px) {
      max-width: 500px;
    }

    @media (max-width: 767px) {
      gap: var(--spacing--block);
      max-width: 100%;

      .announcement--root[data-scroll-text='true'] & {
        overflow: hidden;
        mask-image: linear-gradient(to right, #000 95%, transparent);
      }
    }
  }

  .announcement--block-wrapper {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    column-gap: var(--spacing--block);
    row-gap: var(--spacing--0);
    justify-content: center;
    flex-wrap: wrap;
    max-width: 100%;

    @media (min-width: 768px) {
      &:not(:first-child) {
        display: none;
      }
    }

    @media (max-width: 767px) {
      .announcement--root[data-scroll-text='true'] & {
        max-width: unset;
        transform: translateZ(0);
        backface-visibility: hidden;
      }

      .announcement--root[data-scroll-text='true'] .announcement--block[aria-hidden='false'] & {
        /* maps 1-10 value in settings to 40-3s for animation speed */
        --animation-speed: calc(
          ((10 - var(--announcement--animation-speed)) * (20 - 5) / (10 - 1) + 5) * 1s
        );

        animation-play-state: running;
        animation: scrolling-content var(--animation-speed) linear infinite;
      }
    }
  }

  .announcement--icon {
    flex-shrink: 0;
    line-height: 1;

    :is(img, svg) {
      height: 25px;
      width: auto;
    }

    @media (max-width: 767px) {
      display: none;
    }
  }
/* END_SECTION:announcement */
/* START_SECTION:footer (INDEX:30) */
.footer--root {
    .placeholder-noblocks {
      width: 100%;
      padding: var(--spacing--item);

      @media (max-width: 767px) {
        text-align: center;
      }
    }
  }

  .footer--wrapper {
    display: flex;
    gap: var(--spacing--block);

    @media (max-width: 767px) {
      flex-direction: column;
    }

    @media (min-width: 768px) {
      justify-content: space-between;
    }
  }

  .footer--container {
    display: flex;
    flex-direction: column;
    gap: var(--spacing--block);

    @media (min-width: 768px) {
      flex-basis: 100%;

      .footer--wrapper:has(.footer--block[data-block-type='subscribe']) & {
        flex-basis: calc((var(--block-count) - 1) / var(--block-count) * 100%);
      }
    }
  }

  .footer--logo {
    --image--radius: 0;
    width: var(--logo-width);

    @media (max-width: 767px) {
      align-self: var(--x-alignment);
    }
  }

  .footer--blocks {
    display: flex;
    gap: var(--spacing--block);
    justify-content: space-between;

    @media (max-width: 767px) {
      flex-wrap: wrap;
    }
  }

  .footer--block {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;

    @media (max-width: 767px) {
      flex-basis: 100%;
      text-align: var(--text-alignment);
      align-items: var(--x-alignment);

      &[data-block-type='menu']:has(.collapsible-row--root)
        + &[data-block-type='menu']:has(.collapsible-row--root) {
        margin-top: var(--spacing--neg-block);
      }
    }

    @media (min-width: 768px) {
      flex-basis: calc(100% / var(--block-count));

      .footer--container:not(:has(+ &[data-block-type='subscribe'])) &:last-child:not(:first-child) {
        align-items: flex-end;
      }
    }

    &[data-block-type='subscribe'] {
      gap: var(--spacing--block);

      @media (min-width: 768px) {
        align-items: flex-end;
        max-width: 360px;

        &[data-background-color] {
          margin: calc(var(--section--padding-top) * -1) var(--spacing--neg-6)
            calc(var(--section--padding-bottom) * -1) 0;
          padding: var(--section--padding-top) var(--spacing--6) var(--section--padding-bottom);

          .footer--subscribe-image {
            width: calc(100% + 2 * var(--spacing--6));
          }
        }

        .footer--root:has(.footer--logo)
          &:not(:has(.footer--subscribe-image))[data-background-color] {
          padding-top: calc(var(--logo-height) + var(--section--padding-top) + var(--spacing--block));
        }

        .footer--root:has(.footer--logo)
          &:not(:has(.footer--subscribe-image)):not([data-background-color]) {
          margin-top: calc(var(--logo-height) + var(--spacing--block));
        }

        .subscribe-form--input {
          --font--size: var(--font--nav--size);
        }

        .footer--subscribe-image {
          --image--radius: 0;
          margin-top: calc(var(--section--padding-top) * -1);
          margin-right: var(--spacing--neg-6);
          width: calc(100% + var(--spacing--6));
        }
      }

      @media (max-width: 767px) {
        &[data-background-color] {
          margin: 0 var(--spacing--neg-item) calc(var(--section--padding-bottom) * -1);
          padding: var(--section--padding-top) var(--spacing--item) var(--section--padding-bottom);

          .footer--subscribe-image {
            margin: var(--spacing--neg-block) var(--spacing--neg-item) 0;
          }
        }
      }

      .footer--subscribe-image {
        & > * {
          max-height: var(--footer--image-height);
        }

        .placeholder--container {
          @media (min-width: 768px) {
            padding-top: min(var(--footer--image-height), calc(100% / var(--aspect-ratio)));
          }

          @media (max-width: 767px) {
            padding-top: min(var(--footer--image-height), calc(100% / var(--mobile-aspect-ratio)));
          }
        }

        @media (max-width: 767px) {
          --image--radius: 0;
          width: calc(100% + 2 * var(--spacing--item));
          margin: 0 var(--spacing--neg-item);
        }
      }
    }
  }

  .footer--block--container {
    .social-media--root {
      padding-top: var(--spacing--1);
    }

    @media (min-width: 768px) {
      .footer--block:not(:first-child):not(:last-child) &,
      .footer--wrapper:has(.footer--block[data-block-type='subscribe'])
        .footer--block:not(:first-child):last-child
        & {
        margin: 0 auto;
      }
    }

    @media (max-width: 767px) {
      .footer--block[data-block-type='menu'] & {
        width: 100%;
      }
    }
  }

  .footer--menu {
    display: flex;
    flex-direction: column;
    gap: var(--spacing--1);
  }

  .footer--about-text {
    max-width: 400px;
  }

  .footer--block--heading[data-item='nav-text'] {
    --font--size: var(--font--button--size);
  }

  .footer--block--heading,
  .footer--subscribe-heading,
  .footer--subscribe-info {
    width: 100%;
  }

  [data-item='sub-nav-text'],
  [data-item='rte-content'] {
    --font--size: var(--font--nav--size);
  }
/* END_SECTION:footer */
/* START_SECTION:icons-row (INDEX:34) */
.icons-row--root {
    & :is(.card-carousel--container, .featured-grid--body) {
      --grid-column-gap: var(--spacing--block);
    }
  }
/* END_SECTION:icons-row */
/* START_SECTION:image-with-text (INDEX:38) */
.image-with-text--root {
    .section-blocks--root {
      z-index: 1;
    }

    @media (min-width: 768px) {
      &[data-overlap='true']
        .image-with-text--wrapper[data-reverse-layout='true']
        .section-blocks--wrapper {
        margin-right: var(--overlap-margin);
      }

      &[data-overlap='true']
        .image-with-text--wrapper[data-reverse-layout='false']
        .section-blocks--wrapper {
        margin-left: var(--overlap-margin);
      }

      &[data-container-width='6']
        .image-with-text--wrapper[data-reverse-layout='true']
        .section-blocks--wrapper {
        margin-left: var(--spacing--section--x);
      }

      &[data-container-width='6']
        .image-with-text--wrapper[data-reverse-layout='false']
        .section-blocks--wrapper {
        margin-right: var(--spacing--section--x);
      }
    }

    @media (max-width: 767px) {
      &[data-overlap='true'] .section-blocks--wrapper {
        margin-top: var(--overlap-margin);
      }
    }
  }

  .image-with-text--wrapper[data-container='split'] {
    --column-width: var(--text-column-width);
    --overlap-margin: calc(-3 * var(--spacing--block));

    align-items: center;

    @media (min-width: 768px) {
      --grid-columns: minmax(0, 1fr) minmax(0, var(--column-width));

      &[data-reverse-layout='true'] {
        --grid-columns: minmax(0, var(--column-width)) minmax(0, 1fr);
      }

      .image-with-text--root[data-overlap='true'] & {
        --column-width: calc(var(--text-column-width) + var(--overlap-margin));
      }

      .image-with-text--root[data-container-width='6'] & {
        --column-width: calc(var(--text-column-width) + var(--spacing--section--x));
      }

      .image-with-text--root[data-container-width='6'][data-overlap='true'] & {
        --column-width: calc(
          var(--text-column-width) + var(--overlap-margin) + var(--spacing--section--x)
        );
      }
    }
  }
/* END_SECTION:image-with-text */
/* START_SECTION:newsletter (INDEX:49) */
.newsletter--wrapper {
    @media (min-width: 768px) {
      align-items: center;
    }
  }
/* END_SECTION:newsletter */
/* START_SNIPPET:account (INDEX:72) */
.account--root {
    display: inline-flex;
    padding: 0;
  }

  shopify-account.account--content {
    /* Layout */
    --shopify-account-avatar-size: auto;
    --shopify-account-dialog-position-top: var(--sticky-offset, 0px);

    /* Radius */
    --shopify-account-radius-base: var(--button--radius, 0px);
    --shopify-account-radius-dialog: var(--button--radius, 0px);
    --shopify-account-radius-input: var(--input--radius, 0px);
    --shopify-account-radius-button: var(--button--radius, 0px);

    /* Sheet */
    --shopify-account-color-text: var(--color--body);
    --shopify-account-color-text-subdued: var(--color--body--light);
    --shopify-account-color-background: var(--bg-color--body);
    --shopify-account-color-background-subdued: var(--bg-color--body);
    --shopify-account-color-border: var(--border--color-dark);

    /* Form controls */
    --shopify-account-color-control-background: var(--input--bg-color);
    --shopify-account-color-control-text: var(--input--color);
    --shopify-account-color-card-background: var(--bg-color--body);
    --shopify-account-color-card-text: var(--color--body);

    /* Typography */
    --shopify-account-font-heading: var(--font--heading--family);
    --shopify-account-font-heading-weight: var(--font--heading--weight);
    --shopify-account-font-heading-transform: var(--font--heading--uppercase);
    --shopify-account-font-body: var(--font--paragraph--family);
    --shopify-account-font-body-weight: var(--font--paragraph--weight);
    --shopify-account-font-body-transform: var(--font--paragraph--uppercase);

    &::part(dialog) {
      inset-inline-end: var(--spacing--block);
    }

    &:has(svg) {
      display: flex;
      align-items: center;
      justify-content: center;
    }
  }
/* END_SNIPPET:account */
/* START_SNIPPET:collapsible-row (INDEX:78) */
/* makes adjacent row blocks fit together */
  [class*='block'][data-fit-together='true'] + [class*='block'][data-fit-together='true'] {
    margin-top: 0;
  }

  .collapsible-row--root {
    --padding-horizontal: var(--spacing--item);
    --padding-vertical: var(--spacing--item);
    background-color: var(--bg-color);

    &:after {
      z-index: 0; /* override border framework */
    }

    &[data-text-color='white'] {
      &:before,
      &:after {
        background-color: var(--border--color-light);
      }
    }

    @media (min-width: 768px) {
      &[data-view='large'] {
        --padding-vertical: var(--spacing--block);
      }
    }

    @media (max-width: 767px) {
      --text-alignment: left;
      --x-alignment: flex-start;
      text-align: left;
    }

    .layout--expand {
      --cross-size: calc(var(--font--nav--size) * var(--cross-scale, 1));
      --cross-color: var(--color);
    }

    &[data-view='small'] .layout--expand {
      --cross-scale: 1;
    }

    &[data-view='large'] .layout--expand {
      --cross-scale: 2;
    }
  }

  .collapsible-row--toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing--item);
    user-select: none;
    padding: 0;
    color: var(--color);
    width: 100%;
    height: fit-content;
    background-color: transparent;
    text-align: left; /* required when text is two rows */
    padding: var(--padding-vertical) var(--padding-horizontal);
  }

  .collapsible-row--heading {
    padding: 0;
    line-height: var(--spacing--4);
    pointer-events: none;
  }

  .collapsible-row--inner {
    padding: 0 var(--padding-horizontal) var(--padding-vertical);

    @media (max-width: 767px) {
      text-align: left;

      :is(p, span, ul, ol, li, div, h1, h2, h3, h4, h5, h6) {
        text-align: left;
      }
    }
  }
/* END_SNIPPET:collapsible-row */
/* START_SNIPPET:disclosure (INDEX:86) */
.disclosure--root {
    --form-transform: translate3d(0, 8px, 0);
    position: relative;
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    text-align: left;
    user-select: none;
  }

  .disclosure--label {
    width: 100%;
    display: flex;
    gap: var(--spacing--1);

    &:not(:has(> *:only-child)) {
      justify-content: space-between;
    }
  }

  .disclosure--main {
    width: 100%;
    height: 100%;
    flex: 1 0 50%;
    position: relative;
    outline: none;
  }

  .disclosure--toggle {
    display: flex;
    gap: var(--spacing--1);
    align-items: center;
    justify-content: space-between;
    line-height: unset;
    cursor: pointer;
    width: 100%;
    height: 100%;
    position: relative;

    .disclosure--root:is([data-type='option-picker'], [data-type='url-redirect']) button& {
      background-color: var(--input--bg-color);
      color: var(--input--color);
      border: 1px solid var(--border--color-dark);
      padding: var(--spacing--1) 24px var(--spacing--1) var(--spacing--item);
      border-radius: var(--input--radius);
    }

    .icon--root {
      pointer-events: none;
      width: var(--font--size);
      height: var(--font--size);
      transform: scaleY(1);
      transition: transform 0.2s var(--transition--standard);
    }

    &[aria-expanded='true'] > .icon--root {
      transform: scaleY(-1);
    }
  }

  .disclosure--current-option {
    width: fit-content;
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: var(--spacing--1);

    &[data-unavailable='true'] {
      color: var(--color--body--light);
      text-decoration: line-through;
    }
  }

  .disclosure-option--wrapper {
    z-index: 1;

    & + p {
      z-index: 1;
    }
  }

  .disclosure--form {
    border: 1px solid var(--border--color-dark);
    border-radius: var(--input--radius);
    min-width: 100%;
    position: absolute;
    overflow-y: auto;
    z-index: 5;
    max-height: 280px;
    max-width: 300px;
    top: 100%;
    left: 0;
    transform: var(--form-transform);

    @media (max-width: 767px) {
      max-width: 225px;
    }

    .layout--viewport[data-drop-shadows='true'] & {
      box-shadow: var(--box-shadow--center);
    }

    &[aria-hidden='true'] {
      display: none;
    }
  }

  .disclosure--option {
    color: var(--color--body);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing--1);
    padding: 9px 15px; /* to match select box styles */
    white-space: nowrap;
    width: 100%;
    position: relative;
    cursor: pointer;

    &[data-unavailable='true'] {
      color: var(--color--body--light);
      text-decoration: line-through;
    }

    &:is(:focus-visible, :hover):after {
      content: '';
      position: absolute;
      inset: 0;
      background-color: var(--color--gray);
      opacity: 0.3;
    }
  }
/* END_SNIPPET:disclosure */
/* START_SNIPPET:feedback-bar (INDEX:88) */
.feedback-bar--root {
    z-index: 100;
    position: fixed;
    left: 0;
    bottom: var(--spacing--item);
    text-align: center;
    width: 100%;
    pointer-events: none;

    @media (max-width: 767px) {
      padding: var(--spacing--3);
    }

    &[aria-hidden='true'] {
      display: none;
    }

    &[aria-hidden='false'] {
      display: block;
    }
  }

  .feedback-bar--message {
    padding: var(--spacing--2);
    border: var(--border--dark);
    border-radius: 4px;
    display: inline-block;
  }
/* END_SNIPPET:feedback-bar */
/* START_SNIPPET:localization (INDEX:95) */
.localization--form {
    display: inline-flex;
    row-gap: var(--spacing--item);
    column-gap: var(--spacing--block);
    flex-wrap: wrap;

    &[data-direction='vertical'] {
      flex-direction: column;
    }

    &[data-direction='horizontal'] {
      flex-direction: row;
    }

    .disclosure--toggle {
      padding: 0;
      color: var(--color);
    }

    .disclosure--current-option p {
      display: none;
    }

    .disclosure--form {
      width: max-content;

      .disclosure-option--wrapper {
        display: inline-flex;
        align-items: center;
        gap: var(--spacing--1);
        white-space: break-spaces;
        pointer-events: none;

        &:after {
          content: attr(data-country);
          display: inline-block;
        }
      }
    }
  }
/* END_SNIPPET:localization */
/* START_SNIPPET:main-search (INDEX:96) */
.search--root {
    display: block;

    .icon--x-mark {
      color: var(--input--color);
    }
  }

  .search--bar-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing--item);
  }

  .search--bar {
    display: flex;
    align-items: center;
    gap: var(--spacing--1);
    background-color: var(--input--bg-color);
    border-radius: var(--input--radius);
    padding: 6px;
    width: calc(20% + var(--spacing--block));
    border: 1px solid var(--border--color-dark);

    @media (max-width: 767px) {
      width: 100%;
    }

    [data-text-color='white'] & {
      border: 1px solid var(--border--color-light);
    }

    [data-text-color='white'] [data-text-color='body'] & {
      border: 1px solid var(--border--color-dark);
    }
  }

  .search--clear {
    cursor: pointer;
    display: flex;

    &:hover {
      opacity: 0.8;
    }

    &[aria-hidden='true'] {
      display: none;
    }
  }

  .search--cancel {
    display: flex;
  }

  /* Needs input[type="search"] to override existing styles */
  input[type='search'].search--textbox {
    --input--bg-color: transparent;
    --input--height: var(--spacing--4);

    padding: 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    margin: 0;

    &::-webkit-search-decoration,
    &::-webkit-search-cancel-button {
      display: none;
    }
  }

  input[type='text']::-ms-clear {
    display: none;
  }

  .search--icon {
    width: var(--spacing--4);
    height: var(--spacing--4);
    display: flex;
    align-items: center;
    flex-shrink: 0;

    .icon--search {
      color: var(--input--color);
    }

    .icon--spinner {
      scale: calc(7 / 5);
      color: var(--input--color);
      height: inherit;
    }

    .search--root[aria-busy='true'] & .icon--search,
    .search--root[aria-busy='false'] & .icon--spinner {
      display: none;
    }
  }

  .search--results {
    display: flex;

    @media (min-width: 768px) {
      gap: var(--spacing--block);
    }

    @media (max-width: 767px) {
      flex-direction: column;
    }

    > * {
      padding-top: var(--spacing--block);
      width: 100%;
    }
  }
/* END_SNIPPET:main-search */
/* START_SNIPPET:menu-blocks (INDEX:97) */
.menu-block--featured {
    display: grid;
    position: relative;

    .stacked-text--root {
      position: absolute;
    }
  }
/* END_SNIPPET:menu-blocks */
/* START_SNIPPET:mobile-nav (INDEX:99) */
.mobile-nav {
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    @media (max-width: 767px) {
      min-height: 100dvh;
    }
  }

  .mobile-nav--utilities {
    display: flex;
    padding: var(--spacing--block) var(--spacing--item);
    justify-content: space-between;

    &:has(> :first-child:empty):has(> :last-child:empty) {
      display: none;
    }

    > *:empty {
      display: none;
    }
  }

  .mobile-nav--social-icons {
    display: contents;

    &:has(.social-media--root:empty),
    &:empty {
      display: none;
    }
  }

  .mobile-nav--footer {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing--block);
    padding: var(--spacing--block) var(--spacing--item);
    margin-top: auto;

    &:has(.disclosure--root[data-id='mobile-nav--locale']) {
      flex-direction: column;
    }
  }

  .mobile-nav--localization {
    display: inline-flex;

    &:empty {
      display: none;
    }
  }
/* END_SNIPPET:mobile-nav */
/* START_SNIPPET:nav-arrow (INDEX:100) */
.nav-arrow {
    background: var(--bg-color--body);
    border-radius: 50%;
    border: var(--border--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    width: 32px;
    padding: var(--spacing--1);
    transition: transform 0.4s var(--transition--ease-out);
    position: relative;
    overflow: hidden;
    z-index: 0;

    @media (hover: hover) {
      :is(button, a) &:after {
        content: '';
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        backface-visibility: hidden;
        will-change: transform;
        transform: rotate3d(0, 0, 1, 10deg) translate3d(-1.2em, 110%, 0);
        transform-origin: 0% 100%;
        transition: transform 0.3s ease;
        background-color: var(--color--body);
      }

      path {
        transition: fill 0.3s ease;
      }

      :is(button, a) &:hover {
        cursor: pointer;

        &:after {
          transform: rotate3d(0, 0, 1, 0) translateZ(0);
        }

        path {
          fill: var(--bg-color--body);
        }

        .layout--viewport[data-drop-shadows='true'] & {
          box-shadow: var(--box-shadow--center);
        }
      }
    }

    :is(button, a):has(> &) {
      border-radius: 50%;
      padding: 0;
      transition: transform 0.4s var(--transition--ease-out);
      will-change: transform;

      &:active {
        transform: scale(0.92);
      }

      @media (hover: hover) {
        &:hover {
          transform: scale(1.06);
        }

        &:active {
          transform: scale(1);
        }
      }
    }

    svg.icon--root[class*='icon--arrow'] {
      color: var(--color--body);
    }
  }
/* END_SNIPPET:nav-arrow */
/* START_SNIPPET:predictive-search (INDEX:106) */
.predictive-search--products:empty {
    display: none;
  }

  .predictive-search--product-grid[data-container='panel'] {
    @media (min-width: 768px) and (max-width: 1023px) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .predictive-search--heading {
    display: flex;
    padding-bottom: var(--spacing--item);
  }

  .predictive-search--resources {
    display: flex;
    flex-direction: column;
    gap: var(--spacing--block);

    @media (max-width: 767px) {
      width: 100%;
    }

    @media (min-width: 768px) {
      flex: 1 0 20%;
    }
  }

  .predictive-search--item {
    a span {
      font-weight: 700;
    }
  }

  .predictive-search--container {
    display: grid;
    grid-gap: var(--spacing--1);
  }

  .predictive-search--view-all {
    margin-top: var(--spacing--block);
    text-align: right;
  }
/* END_SNIPPET:predictive-search */
/* START_SNIPPET:product-card (INDEX:111) */
.product-card--root {
    display: flex; /* don't make this a container block, it will break the layout */
    flex-direction: column;
    gap: var(--spacing--item);
    flex: 0 1 auto;
    width: 100%;
    text-align: var(--text-align, center);

    &[data-full-width='true'] {
      --image--radius: 0;
    }

    &[data-text-layout='left'] {
      --text-align: left;
    }

    &[data-text-layout='right'] {
      --text-align: right;

      @media (min-width: 1024px) {
        --text-align: left;
      }
    }

    @media (max-width: 767px) {
      [data-mobile-full-width='true'] & :is(img, .placeholder--root) {
        --image--radius: 0;
      }
    }
  }

  /* Labels */

  .product--labels {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    top: var(--spacing--2);
    left: var(--spacing--2);
    z-index: 1;

    @media (max-width: 767px) {
      font-size: 11px;
    }
  }

  .product--label {
    display: block;
    width: max-content;
    line-height: 1;

    &[data-label-shape='round'] {
      padding: var(--spacing--1) var(--spacing--2);
      border-radius: 20px;
    }

    &[data-label-shape='square'] {
      padding: var(--spacing--1) 10px;
    }

    &:is([data-background-color='none'], [data-background-color='light']) {
      border: var(--border--dark);
    }

    &:empty,
    &:has(span:empty) {
      display: none;
    }

    &:last-child {
      height: fit-content;
    }

    &:not(:last-child) {
      margin: 0 var(--spacing--1) var(--spacing--1) 0;
    }
  }

  /* Image */

  .product-card--image-wrapper {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    position: relative;
  }

  .product-card--image {
    opacity: 1;
    transition: opacity 0.5s;

    &[aria-hidden='true'] {
      opacity: 0;
    }

    @media (hover: hover) {
      .layout--viewport[data-can-hover='true'] .product-card--root:has(.product-card--hover-image) .product-card--image-wrapper:hover & {
        opacity: 0;
      }
    }
  }

  .product-card--hover-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    height: 100%;
    width: 100%;
    transition: opacity 0.5s;
    overflow: hidden;

    @media (hover: hover) {
      .layout--viewport[data-can-hover='true'] .product-card--root:has(.product-card--hover-image) .product-card--image-wrapper:hover & {
        opacity: 1;
      }
    }
  }

  /* Detail */

  .product-card--details-wrapper {
    display: flex;
    gap: var(--spacing--1);
    flex-direction: column;
  }

  .product-card--details {
    --font--line-height: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing--1);
    width: 100%;

    @media (min-width: 1024px) {
      .product-card--root:not([data-text-layout='center']) & {
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
      }
    }

    @media (min-width: 768px) {
      [data-columns='2'] .product-card--root:not([data-text-layout='center']) & {
        align-items: baseline;
        flex-direction: row;
        justify-content: space-between;
      }
    }

    [data-container-width='6'] & {
      padding: 0 var(--spacing--item);
    }

    @media (max-width: 767px) {
      max-width: var(--max-width--x-small);
      margin: 0 auto;

      [data-mobile-full-width='true'] & {
        padding-right: var(--spacing--item);
        padding-left: var(--spacing--item);
      }
    }
  }

  /* Price */

  .product--price-container {
    display: flex;
    flex-direction: column;
  }

  .product--price-wrapper {
    display: flex;
    gap: var(--spacing--0);

    .product-card--root[data-text-layout='center'] & {
      justify-content: center;
    }

    .product-card--root[data-text-layout='right'] & {
      text-align: right;
      justify-content: flex-end;
      flex-wrap: wrap;
    }

    .product-card--root[data-text-layout='left'] & {
      flex-wrap: wrap;

      @media (min-width: 1024px) {
        text-align: right;
        justify-content: flex-end;
      }
    }

    [data-columns='2'] .product-card--root[data-text-layout='left'] & {
      @media (min-width: 768px) {
        text-align: right;
        justify-content: end;
      }
    }
  }

  .product--compare-price {
    text-decoration: line-through;
  }

  .product--unit-price-container {
    padding: 0;

    .product-card--root:not([data-text-layout='center']) & {
      @media (min-width: 1024px) {
        align-self: flex-end;
      }
    }

    [data-columns='2'] .product-card--root:not([data-text-layout='center']) & {
      @media (min-width: 768px) {
        align-self: flex-end;
      }
    }
  }

  .product--from[data-item] {
    text-transform: capitalize;
    padding: 0;
    flex-basis: initial;
  }

  /* Info */

  .product-card--vendor {
    word-break: break-word;

    [data-text-color='white'] & {
      color: white;
    }

    & a {
      color: var(--color--body--light);

      @media (max-width: 767px) {
        padding: var(--spacing--item) calc(var(--spacing--item) / 2) calc(var(--spacing--item) / 2);
      }
    }
  }

  .product-card--title {
    .product-card--root & {
      word-break: break-word;
    }

    & a {
      @media (max-width: 767px) {
        padding: calc(var(--spacing--item) / 2) calc(var(--spacing--item) / 2) var(--spacing--item);
      }
    }
  }

  .product-card--details-wrapper .product-rating--root {
    &:empty {
      display: none;
    }

    .product-card--root[data-text-layout='center'] & {
      justify-content: center;
    }

    .product-card--root[data-text-layout='left'] & {
      justify-content: flex-start;
    }

    [data-columns='2'] .product-card--root[data-text-layout='right'] & {
      @media (min-width: 768px) {
        justify-content: flex-start;
      }
    }

    .product-card--root[data-text-layout='right'] & {
      justify-content: flex-end;

      @media (min-width: 1024px) {
        justify-content: flex-start;
      }
    }
  }

  /* Swatches */

  .product-card--swatches--column-view {
    .product-card--root[data-text-layout='center'] & {
      width: fit-content;
      margin: 0 auto;
    }

    .product-card--root:not([data-text-layout='center']) & {
      @media (min-width: 1024px) {
        display: none;
      }
    }

    .product-card--root[data-text-layout='right'] & .swatches--container {
      justify-content: flex-end;
    }
  }

  .product-card--swatches--horizontal-view {
    .product-card--root[data-text-layout='center'] & {
      display: none;
    }

    .product-card--root:not([data-text-layout='center']) & {
      display: none;

      @media (min-width: 1024px) {
        display: block;
      }
    }
  }

  /* disables AR when products viewed from quick-add drawer */
  .drawer--side[data-side='right'] .product-model--button[data-item] {
    display: none;
  }
/* END_SNIPPET:product-card */
/* START_SNIPPET:product-quick-add (INDEX:121) */
.product-quick-add {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: var(--spacing--0);
    margin: var(--spacing--1);
    display: block;
    transition: all 0.4s var(--transition--ease-out);
    transform-origin: bottom right;

    @media (min-width: 768px) {
      &[data-hover='true'] {
        opacity: 0;
        transform: scale(0);

        *:has(> & .product-quick-add--button:focus-visible:not([disabled])) &,
        *:has(> &):hover > & {
          opacity: 1;
          transform: scale(1);
        }
      }
    }
  }

  .product-quick-add--media {
    .carousel-nav-arrow {
      align-self: center;
    }
  }

  .product-quick-add--button {
    display: inline-flex;
    gap: 0;
    align-items: center;
    overflow: hidden;
    height: var(--spacing--block);
    width: auto;
    min-width: var(--spacing--block);
    padding: 0 10px;
    border: var(--border--dark);
    background-color: var(--bg-color--body);
    transition: transform 0.2s var(--transition--ease-out);
    transform: scale(1);
    border-radius: var(--spacing--item);

    &:active {
      transform: scale(0.96);
    }
  }

  .product-quick-add--icon {
    display: grid;
    align-items: center;
    flex-shrink: 0;

    > * {
      color: var(--color--body);
      grid-area: 1 / -1;
    }
  }

  .product-quick-add--text {
    display: grid;
    grid-template-columns: 0fr;
    margin-inline-start: 0;
    white-space: nowrap;
    transition:
      grid-template-columns 0.3s var(--transition--standard),
      margin-inline-start 0.3s var(--transition--standard);

    > * {
      position: relative;
      overflow: hidden;
      min-width: 0;

      /* Dissolve leading edge into the button background as the grid expands */
      &::after {
        content: '';
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        width: 14px;
        pointer-events: none;
        background: linear-gradient(to right, transparent, var(--bg-color--body));
        opacity: 1;
        transition: opacity 0.1s var(--transition--standard);
      }
    }

    @media (min-width: 768px) {
      .product-quick-add--button:focus-visible:not([disabled]) &,
      .product-quick-add:hover .product-quick-add--button:not([disabled]) & {
        grid-template-columns: 1fr;
        margin-inline-start: var(--spacing--1);

        > *::after {
          opacity: 0;
          transition-delay: 0.25s;
        }
      }
    }
  }

  .icon--plus {
    .product-quick-add[aria-busy='true'] & {
      opacity: 0;
    }
  }

  .icon--spinner {
    .product-quick-add & {
      margin: 0 -10px;
      max-width: 30px;
      max-height: 30px;
    }

    .product-quick-add[aria-busy='false'] & {
      opacity: 0;
    }
  }

  .product-quick-add--form {
    --buy-buttons--height: calc(45px + 2 * var(--spacing--item));
    position: relative;
    overflow: auto;
    height: 100vh;
    height: 100dvh;
    padding: 0;
    scrollbar-width: none; /* Firefox */

    &::-webkit-scrollbar {
      display: none;
    }

    .product-buy-buttons--root {
      width: 100%;
      position: fixed;
      bottom: 0;
      z-index: 5;
      background-color: var(--bg-color--body-translucent);
      backdrop-filter: blur(3px);
      padding: var(--spacing--item);

      .layout--viewport[data-drop-shadows='true'] & {
        box-shadow: var(--box-shadow--top);
      }

      .layout--viewport[data-drop-shadows='false'] & {
        border-top: var(--border--dark);
      }
    }

    &[aria-hidden='true'] {
      display: none;
    }
  }

  .product-quick-add--form--wrapper {
    position: absolute;
    top: 0;
    padding: var(--spacing--item) var(--spacing--item)
      calc(var(--spacing--block) + var(--buy-buttons--height)); /* buttons height when buy now shown */
  }
/* END_SNIPPET:product-quick-add */
/* START_SNIPPET:section-blocks (INDEX:129) */
.section-blocks--root {
    justify-self: var(--x-alignment);
    opacity: 1;
    transition: opacity 0.1s var(--transition--standard);

    &[aria-hidden='true'] {
      opacity: 0;
    }

    @media (min-width: 768px) {
      /* if there is y-alignment then we are usually in an overlaid section */
      &[data-y-alignment] {
        z-index: 1;
        grid-area: 1 / -1;
        align-self: var(--y-alignment);
      }
    }

    @media (max-width: 767px) {
      &[data-mobile-y-alignment] {
        z-index: 1;
        grid-area: 1 / -1;
        align-self: var(--y-alignment);
      }
    }
  }

  .section-blocks--wrapper {
    --text-padding-x: 0px;
    --text-padding-y: 0px;
    padding: var(--text-padding, var(--text-padding-top, var(--text-padding-y, 0px))
        var(--text-padding-right, var(--text-padding-x, 0px)) var(--text-padding-bottom, var(--text-padding-y, 0px))
        var(--text-padding-left, var(--text-padding-x, 0px)));
    border-radius: var(--image--radius);

    @media (min-width: 768px) {
      .section-blocks--root[data-y-alignment] & {
        --text-padding-x: var(--spacing--section--x);
        --text-padding-y: var(--spacing--section--x);

        &:not([data-background-color='transparent']) {
          margin: var(--spacing--block) var(--spacing--section--x);
        }
      }

      .section-blocks--root &:not([data-background-color='transparent']) {
        --text-padding-x: var(--spacing--block);
        --text-padding-y: var(--spacing--block);
      }
    }

    @media (max-width: 767px) {
      .section-blocks--root[data-mobile-y-alignment] & {
        --text-padding-x: var(--spacing--item);
        --text-padding-y: var(--spacing--item);
      }

      &:not([data-background-color='transparent']) {
        margin: var(--spacing--item);
      }

      .section-blocks--root &:not([data-background-color='transparent']) {
        --text-padding-x: var(--spacing--item);
        --text-padding-y: var(--spacing--item);
      }
    }
  }

  .section-blocks--button-group,
  .section-blocks--icon-group {
    display: flex;
    gap: var(--spacing--item);
    flex-wrap: wrap;
    align-items: center;
    justify-content: var(--x-alignment, flex-start);

    &:has(> :only-child > :only-child[aria-hidden='true']) {
      /* countdown */
      display: none;
    }
  }

  .section-blocks--hours-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing--0);

    @media (min-width: 768px) {
      max-width: 20em;
      width: 100%;

      .section-blocks--root[data-x-alignment='center'] & {
        margin: 0 auto;
      }

      .section-blocks--root[data-x-alignment='right'] & {
        margin-left: auto;
      }

      .section-blocks--root[data-x-alignment='left'] & {
        margin-right: auto;
      }
    }
  }

  .section-blocks--block {
    align-self: var(--x-alignment);

    &:is([data-block-type='description'], [data-block-type='overline']) {
      max-width: 600px;
    }

    &[data-block-type='newsletter'] {
      width: 100%;
    }

    &[data-block-type='image'] {
      max-width: 100%;

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

      @media (max-width: 767px) {
        width: var(--mobile-width);
      }
    }

    &[data-block-type='countdown'] {
      display: flex;
      justify-content: var(--x-alignment, flex-start);
    }

    &[data-block-type='hours'] {
      display: flex;
      justify-content: space-between;
      gap: var(--spacing--item);
      width: 100%;
    }

    &[data-block-type='empty-space'] {
      @media (min-width: 768px) {
        min-height: var(--desktop-height);
        margin-top: var(--spacing--neg-item);
      }

      @media (max-width: 767px) {
        min-height: var(--mobile-height);
        margin-top: var(--spacing--neg-item);
      }
    }

    &[data-block-type='button'] {
      align-self: center;
    }
  }
/* END_SNIPPET:section-blocks */
/* START_SNIPPET:slideshow-blocks (INDEX:132) */
.slideshow-block--root {
    position: relative;
    width: 100%;
    display: grid;

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

    @media (max-width: 767px) {
      padding: 0;
    }

    @media (min-width: 768px) {
      height: 100%;
    }

    .stacked-text--root {
      position: absolute;
    }
  }
  }
}

/* HELLCAT - CLICKABLE SLIDESHOW IMAGES */

.slideshow-block--media .hellcat-slide-link {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}


/* Keep overlaid text from blocking image clicks */
.slideshow-block--root .stacked-text--root {
  pointer-events: none;
}

.slideshow-block--root .stacked-text--root a,
.slideshow-block--root .stacked-text--root button {
  pointer-events: auto;
}
/* END_SNIPPET:slideshow-blocks */
/* START_SNIPPET:slideshow-carousel (INDEX:133) */
.slideshow-carousel--root {
    --dot-pos: 0px; /* for slideshow-pagination.liquid */
    --slide-pos: 0px;
    --animation-play-state: running;

    user-select: none;
    container-type: inline-size;
    display: block;
    overflow: hidden;

    &:has(.slideshow-pagination) {
      :is(.video--header, .stacked-text--wrapper, .section-blocks--wrapper) {
        margin-bottom: var(--spacing--block);

        &:not([data-background-color='transparent']) {
          margin-bottom: calc(var(--spacing--item) + var(--spacing--block));
        }
      }
    }
  }

  .slideshow-carousel--wrapper {
    overflow: hidden;
    position: relative;
    transition: opacity 0.4s cubic-bezier(0.45, 0.05, 0.55, 0.95);
    display: flex;
    flex-direction: column;
  }

  .slideshow-carousel--container {
    &[data-transition-state='forwards'] {
      transition: transform 1s var(--transition--ease-out), height 0.4s var(--transition--ease-out);
    }

    &[data-transition-state='backwards'] {
      transition: transform 0.4s var(--transition--snap-back), height 0.4s var(--transition--ease-out);
    }

    * {
      -webkit-user-drag: none;
    }

    .slideshow-carousel--root[data-transition-type='slide'] & {
      will-change: transform;
      width: calc(100% * var(--total-slides));

      > * {
        width: calc(100% / var(--total-slides));
      }
    }

    .slideshow-carousel--root[data-transition-type='fade'] & {
      width: 100%;
      display: grid;
      grid-auto-rows: 1fr;
      grid-template-columns: repeat(1, 1fr);
    }

    @media (min-width: 768px) {
      .slideshow-carousel--root[data-transition-type='slide'] & {
        display: flex;
        align-items: flex-start;
        overflow: hidden;
        position: relative;
        transform: translateX(var(--slide-pos));
      }

      .slideshow-carousel--root &:hover {
        cursor: grab;
      }

      .slideshow-carousel--root[data-dragging='true'] &:hover {
        cursor: grabbing;
      }
    }

    @media (max-width: 767px) {
      height: var(--slide-height);

      .slideshow-carousel--root[data-transition-type='slide'] & {
        display: flex;
        align-items: flex-start;
        overflow: hidden;
        position: relative;
        transform: translateX(var(--slide-pos));
      }
    }

    > * {
      height: fit-content;

      .slideshow-carousel--root[data-transition-type='fade'] & {
        transition: opacity 4s var(--transition--ease-out);
        opacity: 0;
        z-index: 0;
        grid-row: 1 / -1;
        grid-column: 1;
      }

      &[data-background-color] {
        height: 100%;
      }


      &[data-active='true'] {
        .slideshow-carousel--root[data-transition-type='fade'] & {
          z-index: 1;
          opacity: 1;
        }
      }
    }
  }


  .slideshow-carousel--prev {
    top: calc((var(--left-image-height, 100%) / 2) - var(--spacing--item));
    left: var(--spacing--1);
  }

  .slideshow-carousel--next {
    top: calc((var(--right-image-height, 100%) / 2) - var(--spacing--item));
    right: var(--spacing--1);
  }

  .slideshow-carousel--prev,
  .slideshow-carousel--next {
    position: absolute;
    display: flex;
    align-items: center;
    z-index: 2;
    opacity: 1;

    &[aria-disabled='true'] {
      opacity: 0;
      cursor: default;
    }
  }
/* END_SNIPPET:slideshow-carousel */
/* START_SNIPPET:slideshow-pagination (INDEX:134) */
.slideshow-pagination {
    --dot-width: 20px;
    --dot-height: var(--dot-width);
    --dot-gap: var(--spacing--2);
    --bottom-offset: calc((var(--spacing--6) - var(--dot-height)) / 2);

    @media (max-width: 767px) {
      --dot-gap: var(--spacing--1);
      overflow: hidden;
      width: fit-content;
      z-index: 1;
      position: absolute;
      bottom: var(--bottom-offset);
      align-self: center;
      max-width: calc(var(--dot-width) * 5 + var(--dot-gap) * 4);
    }
  }

  .slideshow-pagination--wrapper {
    display: flex;
    align-items: center;
    gap: var(--dot-gap);

    @media (min-width: 768px) {
      --right-offset: var(--spacing--section--x);
      z-index: 1;
      position: absolute;
      bottom: var(--bottom-offset);
      right: var(--right-offset);
    }

    @media (max-width: 767px) {
      transition: transform 0.4s var(--transition--ease-out);
      transform: translateX(var(--dot-pos));
    }
  }
/* END_SNIPPET:slideshow-pagination */
/* START_SNIPPET:small-logo (INDEX:135) */
.small-logo--root img {
    --image--radius: 0;
    height: auto;
    width: var(--width);

    @media (max-width: 767px) {
      width: var(--mobile-width);
    }
  }
/* END_SNIPPET:small-logo */
/* START_SNIPPET:stacked-text (INDEX:137) */
.stacked-text--root {
    display: flex;
    pointer-events: none; /* image hover effect */
    /* for justify-self/align-self the parent needs to be a grid */
    align-self: var(--y-alignment);
    justify-self: var(--x-alignment);
    justify-content: var(--x-alignment);

    @media (min-width: 768px) {
      align-items: var(--y-alignment);
      width: fit-content;
      z-index: 1;
    }

    @media (max-width: 767px) {
      z-index: 2;
      width: 100%;
    }
  }

  /* padding + [data-text-width]: per-side vars, then --text-padding-y / --text-padding-x, then optional --text-padding shorthand. */
  .stacked-text--wrapper {
    pointer-events: none; /* image hover effect */
    padding: var(--text-padding, var(--text-padding-top, var(--text-padding-y, 0px))
        var(--text-padding-right, var(--text-padding-x, 0px)) var(--text-padding-bottom, var(--text-padding-y, 0px))
        var(--text-padding-left, var(--text-padding-x, 0px)));
    align-items: var(--x-alignment);
    text-align: var(--text-alignment);
    border-radius: var(--image--radius);

    @media (min-width: 768px) {
      .stacked-text--root:not([data-y-alignment='none']) & {
        --text-padding-x: var(--spacing--section--x);
        --text-padding-y: var(--spacing--section--x);
      }

      &[data-background-color]:not([data-background-color='transparent']) {
        --text-padding-x: var(--spacing--block);
        --text-padding-y: var(--spacing--block);
        margin: var(--spacing--block) var(--spacing--section--x);
      }
    }

    @media (max-width: 767px) {
      .stacked-text--root:not([data-y-alignment='none']) & {
        --text-padding-x: var(--spacing--item);
        --text-padding-y: var(--spacing--item);
      }

      &:not([data-background-color='transparent']) {
        margin: var(--spacing--item);
      }
    }
  }

  .stacked-text--overline {
    max-width: 600px;
  }

  .stacked-text--description {
    max-width: 600px;

    a {
      pointer-events: all;
    }
  }

  .stacked-text--button-container {
    display: flex;
    gap: var(--spacing--item);
    flex-wrap: wrap;
    align-items: var(--x-alignment);
    justify-content: var(--x-alignment);
  }
/* END_SNIPPET:stacked-text */
/* START_SNIPPET:subscribe-form (INDEX:139) */
.subscribe-form--root {
    width: 100%;
    min-width: 200px;
    max-width: var(--subscribe-form--max-width, 400px);
    display: block;
    margin: 0 auto;

    @media (min-width: 768px) {
      min-width: 200px;

      &[data-x-alignment='left'] {
        margin: 0 auto 0 0;
      }

      &[data-x-alignment='right'] {
        margin: 0 0 0 auto;
      }
    }

    @media (min-width: 768px) {
      min-width: 150px;
    }

    @media (max-width: 767px) {
      &[data-mobile-x-alignment='left'] {
        margin: 0 auto 0 0;
      }

      &[data-mobile-x-alignment='right'] {
        margin: 0 0 0 auto;
      }
    }
  }

  .subscribe-form {
    --border: 1px solid var(--color--body);

    width: 100%;
    display: flex;
    gap: var(--spacing--1);
    align-items: center;
    border-bottom: var(--border);
    background-color: transparent;

    &[aria-busy='true'] .nav-arrow,
    &[aria-busy='false'] .icon--spinner {
      display: none;
    }

    .icon--spinner {
      width: 35px;
    }

    [data-text-color='white'] & {
      --border: 1px solid white;
    }

    [data-text-color='white'] [data-text-color='body'] & {
      --border: 1px solid var(--color--body);
    }
  }

  .subscribe-form--input {
    --color: var(--color--body);

    margin: 0;
    border: 0;
    padding: 0;
    background-color: transparent;
    color: var(--color);

    &:-webkit-autofill {
      -webkit-background-clip: text;
      -webkit-text-fill-color: var(--color);
    }

    &:focus-visible {
      background-color: transparent;
      outline: 0;
      border: 0;
    }

    &::placeholder {
      color: var(--color);
    }

    [data-text-color='white'] & {
      --color: white;
      border: 0;
    }

    [data-text-color='white'] [data-text-color='body'] & {
      --color: var(--color--body);
    }
  }

  /* need selector weight here */
  button.subscribe-form--submit {
    margin-right: var(--spacing--0);

    [data-text-color='white'] & .icon--spinner {
      fill: white;
    }
  }
/* END_SNIPPET:subscribe-form */
/* START_SNIPPET:x-menu (INDEX:144) */
.x-menu {
    --natural-height: auto;

    display: flex;
    align-items: center;
    height: 100%;
    min-height: 100%;
  }

  .x-menu--level-1--container {
    display: flex;
    align-items: center;
    gap: var(--spacing--block);
    height: 100%;
    min-height: 100%;
  }

  .x-menu--level-1--link {
    display: inline-flex;
    align-items: center;
    height: 100%;
    min-height: 100%;

    &[data-megamenu='false'] {
      position: relative;
    }

    &[data-megamenu='true'] {
      .menu-block--image-wrapper {
        max-width: 320px;
        flex-basis: 185px;
        flex-grow: 1;
        width: 100%;
        padding: var(--spacing--block) var(--spacing--item);
      }

      .menu-block--image {
        border-radius: var(--image--radius);
      }

      .menu-block--description {
        padding-top: var(--spacing--1);
        text-align: center;
      }

      .menu-block--products {
        order: 1;
        padding: var(--spacing--block) var(--spacing--item);
        white-space: initial;
        width: 100%;
        max-width: calc(var(--columns) * 320px);
      }

      .menu-block--blog {
        width: 100%;
        max-width: var(--max-width--medium);
        padding: var(--spacing--block) var(--spacing--item);
        white-space: initial;
        order: 1;

        &:only-child {
          margin: 0 auto;
        }
      }

      .menu-block--featured {
        width: 100%;
        order: 1;
        padding: var(--spacing--block) var(--spacing--item);
        white-space: initial;

        &:only-child {
          margin: 0 auto;
        }
      }
    }

    & > :is(a, modal-trigger) {
      display: inline-flex;
      box-sizing: content-box;
      height: 100%;
      min-height: 100%;
      white-space: nowrap;

      .icon--chevron-down {
        transform: scaleY(1);
        transition: transform 0.2s var(--transition--standard);
      }

      &[aria-expanded='true'] {
        .icon--chevron-down {
          transform: scaleY(-1);
        }
      }

      &:has(+ .x-menu--level-2--container):is([aria-expanded='true']:not(:focus), :hover) {
        /* this creates a safe zone for cursor to hover over */
        &:before {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          background-color: transparent;
        }

        .header--root[data-reduce-height='true'] & {
          padding: var(--spacing--item) var(--spacing--block);
          margin: var(--spacing--neg-item) var(--spacing--neg-block);

          &:before {
            height: var(--spacing--item);
          }
        }

        .header--root[data-reduce-height='false'] & {
          padding: var(--spacing--block);
          margin: var(--spacing--neg-block);

          &:before {
            height: var(--spacing--block);
          }
        }
      }
    }

    &[data-highlight='true'] > :is(a, modal-trigger)[data-item] {
      --color: var(--highlight-color);

      .x-menu--level-1--text:after,
      .x-menu--level-1--text:before {
        --header--color: var(--highlight-color);
      }
    }
  }

  .x-menu--level-1--text {
    gap: var(--spacing--1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    pointer-events: none;
  }

  .x-menu--level-2--container {
    --height: auto;

    position: absolute;
    white-space: nowrap;
    min-width: 150px;
    left: 0;
    height: var(--height);
    justify-content: center;
    overflow: hidden;
    transition: height 0.3s var(--transition--ease-out);

    .x-menu--level-1--link[data-megamenu='false'] & {
      left: var(--spacing--neg-3);

      .layout--viewport[data-drop-shadows='true'] & {
        box-shadow: var(--box-shadow--bottom);
      }

      .layout--viewport[data-drop-shadows='false'] & {
        border: var(--border--dark);
        border-top: none;
      }
    }

    .x-menu--level-1--link[data-megamenu='true'] & {
      max-width: 100%;
      width: 100%;
      padding-left: calc(var(--spacing--section--x) - var(--spacing--item));
      padding-right: calc(var(--spacing--section--x) - var(--spacing--item));
      inset-block-start: 100%;

      .layout--viewport[data-drop-shadows='true'] & {
        box-shadow: var(--box-shadow--bottom);
      }

      .layout--viewport[data-drop-shadows='false'] & {
        border-bottom: var(--border--dark);
      }
    }

    .header--root[data-reduce-height='true'] .x-menu--level-1--link[data-megamenu='false'] & {
      inset-block-start: calc(100% + var(--spacing--item));
    }

    .header--root[data-reduce-height='false'] .x-menu--level-1--link[data-megamenu='false'] & {
      inset-block-start: calc(100% + var(--spacing--block));
    }

    &[aria-hidden='true'] {
      display: none;
    }

    &[aria-hidden='false'] {
      display: flex;
    }
  }

  .x-menu--level-2--wrapper {
    display: flex;
  }

  .x-menu--level-2--list {
    padding: calc(var(--spacing--item) + var(--spacing--1)) 0;

    .x-menu--level-1--link[data-megamenu='true'] & {
      display: flex;

      &[data-single-parents='true'] {
        flex-direction: column;
      }

      &:first-child {
        margin-left: var(
          --spacing--neg-item
        ); /* this offsets link padding to align with section spacing */
      }
    }
  }

  .x-menu--level-2--link a {
    display: inline-flex;
    padding: var(--spacing--1) var(--spacing--5);

    > * {
      pointer-events: none;
    }
  }

  ul.x-menu--level-3--container {
    padding: 0 0 20px;
  }

  .x-menu--level-3--link a {
    padding: var(--spacing--1) var(--spacing--5);
    line-height: 1;
  }

  .header--root[data-hover-disabled='false'] {
    :is([aria-expanded='true'], :hover, :focus-visible) > .x-menu--level-1--text:before {
      right: 0;
    }

    .x-menu--level-1--text:before {
      pointer-events: none;
      content: '';
      display: block;
      position: absolute;
      height: 2px;
      background-color: var(--header--color);
      z-index: 17;
      bottom: var(--spacing--neg-item);
      left: 0;
      right: 100%;
      transition: right 0.5s;
    }

    .x-menu--level-1--link[data-highlight='true'] .x-menu--level-1--text {
      --header--color: var(--highlight-color);
    }
  }
/* END_SNIPPET:x-menu */
/* START_SNIPPET:y-menu (INDEX:145) */
.y-menu {
    --transition--menu-duration: 0.4s; /* in seconds */
    --current-level: 0;
    --height: auto;

    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    height: var(--height);
    transition: height var(--transition--menu-duration) var(--transition--ease-out);
    will-change: height;

    .menu-block--description {
      padding-top: var(--spacing--1);
      text-align: center;
    }

    :is(.menu-block--image-wrapper, .blog-grid--root, .menu-block--products > *) {
      padding: var(--spacing--item);
    }

    .menu-block--products {
      @media (min-width: 768px) {
        grid-template-columns: 1fr;
      }
    }

    .menu-block--featured {
      --image--radius: 0;
      container-type: inline-size; /* create container query for image-block */
    }

    & button[data-item='nav-text'] {
      position: relative;
      display: flex;
      gap: var(--spacing--item);
      align-items: center;
      justify-content: space-between;
      line-height: 1.3;
      padding: 24px var(--spacing--item);
      color: var(--color--body); /* iOS */
      width: 100%;
    }
  }

  .y-menu--level-1--container {
    transform: translateX(calc(var(--current-level) * -100%));
    transition: transform var(--transition--menu-duration) var(--transition--ease-out);
    will-change: transform;
  }

  .y-menu--parent-link,
  .y-menu--level-1--link,
  .y-menu--level-2--link,
  .y-menu--level-3--link {
    > :is(a, button, modal-trigger) {
      border-bottom: var(--border--dark);
    }

    &:first-child > :is(a, button, modal-trigger) {
      border-top: var(--border--dark);
    }

    & svg {
      pointer-events: none;
    }

    > :is(a, modal-trigger) {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--spacing--item);
      line-height: 1.3;
      padding: 24px var(--spacing--item);
    }
  }

  .y-menu--back-link {
    border-top: var(--border--dark);
    border-bottom: var(--border--dark);

    > button[data-item='nav-text'] {
      justify-content: start;
    }
  }

  .y-menu--level-1--link[data-highlight='true'] {
    > :is(button, a, modal-trigger) {
      color: var(--highlight-color);
    }
  }

  .y-menu--level-2--container {
    position: absolute;
    background: var(--bg-color--body);
    left: 100%;
    width: 100%;
    top: 0;
    bottom: 0; /* for full height */
    height: fit-content;

    &[aria-current='false']:not(:has(.y-menu--level-3--container[aria-current='true'])) {
      display: none;
    }
  }

  .y-menu--level-2--link {
    [data-depth='2'] & > a {
      padding-left: var(--spacing--block);
    }
  }

  .y-menu--level-3--container {
    position: absolute;
    left: 100%;
    width: 100%;
    top: 0;
    bottom: 0; /* for full height */
    background: var(--bg-color--body);
    height: fit-content;

    &[aria-current='false'] {
      display: none;
    }
  }

  .y-menu--level-3--link {
    [data-depth='3'] & > a {
      padding-left: var(--spacing--block);
    }
  }

  .y-menu--blocks {
    display: block;
    border-bottom: var(--border--dark);
  }
/* END_SNIPPET:y-menu */
