.it-cart {
  padding-top: 20px;
  @media (min-width: 991px) {
    padding-top: 55px;
    background-image: linear-gradient(90deg,#fff 0 60%,#f8f8f8 60% 100%);
  }
  @media (min-width: 1400px) {
    background-image: linear-gradient(90deg,#fff 0 55%,#f8f8f8 55% 100%);
  }
  .it-container {
    display: flex;
    flex-direction: column;
    @media (min-width: 991px) {
      display: grid;
      grid-template-columns: 1fr 40%;
      justify-content: flex-start;
    }
  }
  .it-cart--left {
    order: 1;
    @media (min-width: 991px) {
      grid-column: 1/2;
      padding-right: 55px;
      padding-bottom: 55px;
      order: unset;
    }

    .it-cart--header {
      margin-bottom: 25px;
      @media (min-width: 769px) {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 55px;
      }
      .it-cart--header_mobile_summary {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 18px;
        @media (min-width: 991px) {
          display: none;
        }
        cart-scroll-section {
          background: none;
          padding: 0;
          margin: 0;
          border: none;
          font-size: 15px;
          font-family: var(--body-font);
          font-weight: 600;
          color: var(--link-color);
        }
        p {
          font-size: 24px;
          font-family: var(--body-font);
          margin-left: auto;
          font-weight: 600;
        }
      }
      .it-cart--title {
        font-size: 34px;
        line-height: 1;
        margin: 0;
        font-weight: 600;
        @media (min-width: 769px) {
          font-size: 38px;
        }
        .it-cart--header-quantity {
          font-size: 16px;
          font-weight: 400;
          margin-left: 5px;
        }
      }
      .it-cart--login-link {
        margin-left: auto;
        margin-bottom: 0;
        font-size: 14px;
        font-weight: 600;
        margin-top: 18px;
        @media (min-width: 769px) {
          margin-top: 0;
        }
        a {
          color: var(--link-color);
          &:hover,
          &:focus-visible {
            color: var(--secondary-color);
          }
        }
      }
    }
    .it-cart--item {
      display: flex;
      grid-gap: 20px;
      flex-wrap: wrap;
      padding: 22px 0;
      .it-cart--item-image {
        width: 104px;
        flex-basis: 104px;
        height: 104px;
        img {
          border-radius: 6px;
          object-fit: cover;
        }
      }
      .it-cart--item-info {
        flex-basis: calc(100% - 124px);
        width: calc(100% - 124px);
        @media (min-width: 769px) {
          display: flex;
          grid-gap: 22px;
          justify-content: space-between;
        }
        .it-cart--item-info-left {
          @media (min-width: 769px) {
            flex-basis: calc(100% - 222px);
            width: calc(100% - 222px);
          }
          .it-cart--item-info-title {
            font-size: 20px;
            font-weight: 600;
            margin: 0 0 10px;
            @media (min-width: 769px) {
              margin: 0 0 20px;
            }
            a {
              &:hover,
              &:focus-visible {
                opacity: 0.7;
              }
            }
          }
          .it-cart--item-info-text {
            margin: 0;
          }

          .it-cart--item-info-button {
            display: none;
            @media (min-width: 769px) {
              display: block;
            }
          }
        }
        .it-cart--item-info-right {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          margin-top: 20px;
          @media (min-width: 769px) {
            flex-basis: 200px;
            width: 200px;
            align-items: flex-end;
            margin-top: 0;
          }

          .it-cart--item-price {
            display: none;
            @media (min-width: 769px) {
              display: block;
            }
          }
          .it-cart--item-quantity {
            width: 100px;
            min-width: 100px;
            height: 48px;
            position: relative;
            margin-bottom: 10px;
            order: -1;
            @media (min-width: 769px) {
              margin-top: 20px;
              margin-bottom: 0;
              order: unset;
            }
            label {
              position: absolute;
              top: 4px;
              left: 12px;
              font-size: 10px;
              color: #6e7882;
              margin: 0;
              clip: unset;
              overflow: visible;
            }
            input {
              width: 100px;
              min-width: 100px;
              height: 48px;
              padding-right: 20px;
              padding-top: 20px;
              padding-left: 17px;
              padding-bottom: 10px;
              outline-color: var(--secondary-color);
              text-align: left;
              border: 1px solid #ccc;
              &[disabled] {
                background-color: #f4f4f4;
                border-color: #f4f4f4;
                outline: none;
                cursor: default;
                pointer-events: none;
              }
            }
          }
        }
      }
      .it-cart--item-addons {
        width: 100%;
        margin-top: 50px;
        @media (min-width: 991px) {
          margin-top: 0;
          margin-left: 124px;
        }
        .it-cart--item-addon {
          padding: 20px;
          border-radius: 9px;
          background-color: #cde6d2;
          display: flex;
          justify-content: space-between;
          column-gap: 9px;
          &.dna-insights {
            background-color: #ebf5f0;
          }

          &:not(:last-child) {
            margin-bottom: 24px;
          }
          p {
            margin: 0;
            font-weight: 600;
            custom-modal-button {
              display: block;
              font-size: 14px;
              letter-spacing: 0.03px;
              color: var(--link-color);
              line-height: 20px;
              font-weight: 400;
              cursor: pointer;
              &:hover,
              &:focus-visible {
                color: var(--secondary-color);
              }
            }
          }
          .it-cart--item-addon-button {
            width: 95px;
            height: 48px;
            border-radius: 3px;
            font-weight: 600;
            background-color: var(--secondary-color);
            color: var(--white-color);
            cursor: pointer;
            font-size: 16px;
            display: flex;
            justify-content: center;
            align-items: center;

            &:hover,
            &:focus-visible {
              background-color: var(--button-hover-color);
            }

            svg {
              display: none;
              width: 20px;
              height: 20px;
              fill: var(--white-color);
              animation: spin .5s infinite linear;
              path {
                fill: var(--white-color);
              }
            }

            &.loader {
              pointer-events: none;
              opacity: 0.8;
              font-size: 0;
              svg {
                display: block;
              }
            }
          }
        }
      }
    }
  }
  .it-cart--item-mobile-info {
    display: flex;
    justify-content: space-between;
    width: 100%;
    @media (min-width: 769px) {
      display: none;
    }
  }
  .it-cart--item-price {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.03px;
    line-height: 1;
    margin: 0;
    s {
      color: var(--secondary-color);
      margin-right: 5px;
    }
    em {
      display: block;
      font-size: 14px;
      line-height: 16px;
      letter-spacing: .03px;
      color: var(--secondary-color);
      font-style: italic;
      margin-top: 8px;
      width: 100%;
      text-align: right;
    }
  }
  .it-cart--item-info-button {
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    color: #87919b;
    margin-top: 16px;
    text-decoration: underline;
    display: inline-block;
    text-underline-offset: 3px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    @media (min-width: 991px) {
      margin-bottom: 42px;
    }
  }
  .it-cart--sidebar {
    order: 2;
    @media (min-width: 991px) {
      grid-row: 1/4;
      grid-column: 2/3;
      padding-left: 55px;
      order: unset;
    }
    .it-cart--sidebar-title {
      font-size: 28px;
      text-align: left;
      margin-bottom: 25px;
      font-weight: 600;
      margin-top: 0;
      @media (min-width: 991px) {
        margin-bottom: 55px;
      }
    }

    .it-cart--sidebar-info-text {
      font-size: 14px;
      margin-bottom: 24px;
      margin-top: 0;
    }
    .it-cart--sidebar-info-item {
      margin: 0;
      display: flex;
      justify-content: space-between;
      border-top: 1px solid #c3c8cd;
      padding: 16px 0;
      dt {
        font-size: 14px;
        font-family: var(--heading-font);
      }
      dd {
        font-family: var(--body-font);
        font-size: 15px;
        font-weight: 600;
        text-align: right;
        padding-left: 28px;
        @media (min-width: 750px) {
          padding-left: 55px;
        }
      }
    }
    .it-cart--sidebar-info-text {
      font-size: 14px;
      padding: 10px 0 20px;
      margin-bottom: 25px;
      a {
        color: var(--link-color);
        &:hover,
        &:focus-visible {
          color: var(--secondary-color);
        }
      }
    }
    .it-cart--sidebar-actions {
      display: flex;
      flex-direction: column;
      max-width: 320px;
      margin: 0 auto;

      @media (min-width: 991px) {
        display: block;
        max-width: none;
      }
    }
    .it-cart--sidebar-action-button {
      width: 100%;
      font-size: 16px;
      font-weight: 600;
      padding: 0;
      height: 52px;
      line-height: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 3px;
      color: var(--white-color);
      background-color: var(--secondary-color);
      cursor: pointer;
      &:hover,
      &:focus-visible {
        background-color: var(--button-hover-color);
      }
      &[disabled] {
        opacity: 0.8;
        pointer-events: none;
        cursor: default;
      }
      svg {
        display: none;
        width: 20px;
        height: 20px;
        fill: var(--white-color);
        animation: spin .5s infinite linear;
        path {
          fill: var(--white-color);
        }
      }
      &.loader {
        pointer-events: none;
        opacity: 0.8;
        font-size: 0;
        svg {
          display: block;
        }
      }
    }
    .it-cart--sidebar-action-link {
      color: var(--link-color);
      text-align: center;
      margin: 20px 10px 0;
      display: block;
      &:hover,
      &:focus-visible {
        color: var(--secondary-color);
      }
    }
    .it-cart--sidebar-contact {
      margin-top: 50px;
      text-align: center;
      h3 {
        font-size: 18px;
        font-weight: 600;
        text-transform: uppercase;
        margin-bottom: 10px;
        margin-top: 0;
      }
      p {
        margin: 0;
        a {
          color: var(--link-color);
          &:hover,
          &:focus-visible {
            color: var(--secondary-color);
          }
        }
      }
    }
  }
  .it-cart--mobile-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    button {
      background: none;
      border: none;
      color: var(--link-color);
      font-size: 15px;
      font-weight: 600;
    }
    p {
      margin-left: auto;
      font-size: 24px;
      margin-top: 0;
      margin-bottom: 0;
      font-weight: 600;
    }
    @media (min-width: 991px) {
      display: none;
    }
  }
  .it-cart--discount-info {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    color: var(--secondary-color);
    margin: 0 0 10px;
    font-family: var(--heading-font);
    svg {
      fill: currentColor;
      height: 14px;
      width: 14px;
      margin-right: 5px;
    }
    span {
      text-transform: unset;
      margin-left: auto;
      font-weight: 600;
      font-family: var(--body-font);
    }
  }
  .it-cart--continue-shopping {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px 0;
    a {
      font-size: 14px;
      font-weight: 400;
      letter-spacing: 0.03px;
      line-height: 20px;
      display: inline-block;
      border: none;
      padding: 0;
      color: var(--link-color);

      &:hover,
      &:focus-visible {
        color: var(--secondary-color);
      }
    }
  }
  .it-faq--section,
  .it-contact--section {
    @media (min-width: 991px) {
      grid-column: 1/2;
    }
  }
  .it-faq--section {
    order: 3;
    margin-bottom: 0;
    @media (min-width: 991px) {
      margin-top: 0;
      margin-bottom: 60px;
      padding-right: 55px;
      order: unset;
    }
  }
  .it-contact--section {
    order: 4;
    margin-bottom: 60px;
    @media (min-width: 991px) {
      order: unset;
    }
  }
  .it-cart--empty {
    padding: 125px 25px 0;
    text-align: center;
    @media (min-width: 552px) {
      padding: 125px 55px 0;
    }
    img {
      margin: 0 auto;
    }
    .it-cart--empty-title {
      font-size: 28px;
      margin: 0 0 18px;
    }
    .it-cart--empty-text {
      margin: 0 0 18px;
    }
    .it-cart--empty-button {
      min-width: 60%;
      display: block;
      width: fit-content;
      height: 52px;
      margin: 40px auto 0;
      background-color: var(--secondary-color);
      color: var(--white-color);
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 3px;
      padding: 11px 20px 13px;
      font-weight: 600;
      &:hover,
      &:focus-visible {
        background-color: var(--button-hover-color);
      }
    }
  }
}

body.template-cart.cart-loader {
  position: relative;
  overflow: hidden;
}

body.template-cart.cart-loader::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 100;
}

body.template-cart.cart-loader::after {
  content: "";
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAzOCAzOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgY29sb3I9IiMwMEEwNTAiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIHN0cm9rZS1vcGFjaXR5PSIuNSIgY3g9IjE4IiBjeT0iMTgiIHI9IjE4Ij48L2NpcmNsZT48cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIDE4IDE4IiB0bz0iMzYwIDE4IDE4IiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvcGF0aD48L2c+PC9zdmc+');
  width: 50px;
  height: 50px;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 101;
  background-repeat: no-repeat;
  background-size: cover;
}

.it-cart.loader {
  position: relative;
}

.it-cart.loader::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255, 0.5);
  z-index: 100;
}

.it-cart.loader::after {
  content: "";
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAzOCAzOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgY29sb3I9IiMwMEEwNTAiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIHN0cm9rZS1vcGFjaXR5PSIuNSIgY3g9IjE4IiBjeT0iMTgiIHI9IjE4Ij48L2NpcmNsZT48cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBmcm9tPSIwIDE4IDE4IiB0bz0iMzYwIDE4IDE4IiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSI+PC9hbmltYXRlVHJhbnNmb3JtPjwvcGF0aD48L2c+PC9zdmc+');
  width: 50px;
  height: 50px;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 101;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Bundle Cart CSS */
.product-bundles {
  width: 100%;
  margin-top: 50px;
  @media (min-width: 991px) {
    margin-top: 0;
    margin-left: 124px;
  }
}
.product-bundle {
  display: flex;
  grid-gap: 50px;
  margin-bottom: 20px;
  position: relative;
}

.product-bundle-image {
  position: relative;
  width: 45px;
}

.product-bundle-image span {
  width: 20px;
  height: 20px;
  display: flex;
  position: absolute;
  top: -10px;
  right: -10px;
  border-radius: 20px;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.03px;
  background-color: var(--secondary-color);
  color: #fff;
  justify-content: center;
  align-items: center;
}

.product-bundle-info h4 {
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.03px;
  font-weight: 600;
  margin: 0 0 4px;
}

.product-bundle-info p {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--secondary-color);
}

.product-bundle-info p s {
  color: #5D676F;
  margin-right: 3px;
  font-weight: 400;
}
.product-bundle-remove {
  width: 40px;
  background: none;
  box-shadow: none;
  border: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-bundle-remove[disabled] {
  pointer-events: none;
  background-color: #f5f5f5;
}

.product-bundle-remove svg {
  width: 20px;
  height: 20px;
}

.product-bundle-quantity_box {
  margin-left: auto;
  display: flex;
  border: 1px solid #E1E4E6;
  border-radius: 3px;
}


.product-bundle-quantity_ctrl {
  width: 40px;
  background: none;
  border: none;
  font-size: 20px;
  line-height: 30px;
  color: #00A050;
  padding: 0;
}

.product-bundle-quantity {
  width: 40px;
  border-left: 1px solid #E1E4E6;
  border-right: 1px solid #E1E4E6;
  text-align: center;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 0.03px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.product-bundle-quantity span {
  display: block;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.03px;
}