.template-product {
  .main-content {
    padding-top: 0;
    padding-bottom: var(--spacing__120px);
  }

  .product__back-link {
    position: absolute;
    top: 0;
    left: var(--spacing__16px);
    z-index: 2;
    margin-top: var(--spacing__16px);

    @media screen and (min-width: 1025px) {
      left: var(--spacing__48px);
      margin-top: var(--spacing__24px);
    }
  }

  .product__media-item {
    @media screen and (min-width: 1025px) {
      width: 50%;
      max-width: 50%;
    }
  }

  .product__text {
    margin-bottom: var(--spacing__16px);
  }

  .product__buy-info {
    display: inline-flex;
    gap: var(--spacing__8px);
    align-items: center;
    margin-top: var(--spacing__4px);
    margin-bottom: 0;

    @media screen and (max-width: 1024px) {
      display: none;
    }

    @media screen and (min-width: 1025px) {
      margin-top: var(--spacing__8px);
    }

    > svg {
      margin: 0;
    }
  }

  .product__price,
  .product__variants,
  .product__size-links,
  .product__size-selector,
  .product__accordion {
    width: 100%;
  }

  .product__accordion p {
    font-size: inherit;
  }

  .product__variants {
    margin-top: var(--spacing__6px);

    @media screen and (min-width: 1025px) {
      margin-top: var(--spacing__16px);
      margin-bottom: var(--spacing__16px);
    }
  }

  .product-group {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .product-group__2 {
    flex-flow: row wrap;
  }

  .product-group__1 {
    padding-top: var(--spacing__8px);
  }

  .product-group__3 {
    @media screen and (max-width: 1024px) {
      margin-bottom: env(safe-area-inset-bottom);
      padding-top: var(--spacing__6px);
    }
  }

  .product-group__1,
  .product-group__3 {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 2;
    order: -1;
    padding-right: var(--spacing__16px);
    padding-left: var(--spacing__16px);
    background-color: var(--color__white);

    @media screen and (min-width: 1025px) {
      position: inherit;
      order: inherit;
      padding-right: 0;
      padding-left: 0;
    }
  }

  .product-group--initial {
    position: inherit;
    padding: 0;

    .product__variants {
      @media screen and (max-width: 1024px) {
        margin-top: var(--spacing__12px);
        margin-bottom: var(--spacing__12px);
      }
    }

    .product__buy-info {
      @media screen and (max-width: 1024px) {
        display: inline-flex;
      }
    }
  }

  .product-info {
    padding: 0;
  }

  .product__media-wrapper {
    overflow: hidden;
  }

  .product__media-list {
    --grid-desktop-horizontal-spacing: 0;
    --grid-desktop-vertical-spacing: 0;

    gap: 0;
    margin: 0;

    .grid__item {
      padding: 0;
    }
  }

  .slider-buttons {
    display: none;
  }

  .product__tax,
  .product-form__input--pill .form__label {
    display: none;
  }

  .product__info-container {
    display: flex;
    flex-flow: row wrap;
  }

  .product__title {
    width: 90%;
    margin: 0 0 var(--spacing__2px);
    text-transform: uppercase;
  }

  .product__description {
    width: 100%;
    margin: 0;

    @media screen and (max-width: 1024px) {
      margin-top: var(--spacing__16px);
    }
  }

  .product .card__wishlist {
    margin-top: calc(var(--spacing__28px) * -1);
    margin-right: calc(var(--spacing__8px) * -1);
    margin-left: auto;
    background: transparent;

    @media screen and (min-width: 1025px) {
      margin-top: calc(var(--spacing__32px) * -1);
    }
  }

  .product__size-link {
    text-transform: none;
    border: var(--border__transparent--thin);
  }

  .product__price {
    @media screen and (min-width: 1025px) {
      margin-top: var(--spacing__4px);
    }
  }

  .product__buy-buttons {
    display: none;
  }

  .product-form__size {
    display: none;
  }

  .product__variant-size,
  .product--no-media .product-form__size {
    display: none;
  }

  .product__variant-options {
    position: absolute;
    bottom: 0;
    display: flex;
    gap: var(--spacing__10px);
  }

  .product-form__swatches .form__label {
    margin-bottom: 0;
    margin-left: auto;
  }

  .product__size-links {
    display: flex;
    justify-content: space-between;
    margin: var(--spacing__24px) 0 var(--spacing__16px);

    @media screen and (min-width: 1025px) {
      margin: var(--spacing__24px) 0 var(--spacing__16px);
    }
  }

  &.template-product--gift-card {
    .product__size-links {
      display: none;
    }

    .product__description {
      margin-bottom: var(--spacing__24px);
    }
  }

  .product-form__input--swatch {
    position: relative;
    width: 100%;
    max-width: none;
  }

  .product__tags {
    display: flex;
    gap: var(--spacing__8px);
    width: 100%;
    margin: var(--spacing__16px) 0 0;

    @media screen and (min-width: 1025px) {
      margin: var(--spacing__16px) 0 var(--spacing__24px);
    }
  }

  .product__tag {
    margin: 0;
    padding: var(--spacing__4px);
    text-transform: uppercase;
    background-color: var(--color__secondary);
  }

  .product__size-selector ~ .product__buy-info {
    @media screen and (min-width: 1025px) {
      margin-top: calc(var(--spacing__16px) * -1);
      margin-bottom: var(--spacing__24px);
    }
  }

  .product__size-selector {
    margin-bottom: var(--spacing__4px);

    @media screen and (min-width: 1025px) {
      margin-bottom: var(--spacing__24px);
    }
  }

  .product__size-selector--no-info {
    margin-bottom: var(--spacing__20px);
  }

  .product__media-icon {
    display: none;
  }

  .product__media-list .product__media-item {
    @media screen and (max-width: 1024px) {
      width: 100vw;
    }
  }

  .gallery-slider__wrapper {
    @media screen and (min-width: 1025px) {
      display: flex;
      flex-wrap: wrap;
    }
  }

  .gallery-slider__slide {
    display: flex;

    @media screen and (min-width: 1025px) {
      width: 50%;
    }
  }

  .slider-scrollbar {
    @media screen and (min-width: 1025px) {
      display: none;
    }
  }
}

.product__info-wrapper {
  padding: var(--spacing__8px) var(--spacing__16px);
  background: var(--color__white);

  @media screen and (min-width: 1025px) {
    margin-top: calc(
      var(--header-padding-top--desktop) + var(--header-padding-bottom--desktop) + var(--logo-height--desktop)
    );
    padding-top: var(--spacing__80px);
    padding-right: var(--spacing__40px);
    padding-left: var(--spacing__40px);
  }
}

.product-detail {
  margin: 0;
  white-space: pre-line;
}

.product-sustainability {
  display: flex;
  flex-direction: column;
  gap: var(--spacing__24px);
  padding-top: var(--spacing__12px);

  .product-sustainability__item {
    display: flex;
    gap: var(--spacing__12px);
    align-items: center;

    @media screen and (min-width: 1025px) {
      gap: var(--spacing__24px);
    }
  }
}

.product-care-list {
  padding-left: var(--spacing__16px);
}
