* {
  margin: 0;
  padding: 0;
}

#root {
  background-color: #F7F7F7;
  font-feature-settings: "pwid" on;
  font-family: Arial, "proxima_nova", "Heiti TC", "Microsoft JhengHei", "Microsoft Yahei", "PMingLiU", sans-serif;
  font-weight: 400;
  justify-items: center;
  height: 100%;
}

#root #loading-page {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  background-color: #FFF;
}

#root #loading-page .store-info-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#root #loading-page .store-info-container .store-square-logo {
  border-radius: 20px;
}

#root #loading-page .text-wrapper {
  color: #575757;
  justify-items: center;
  text-align: center;
}

#root #loading-page .reload-container {
  position: absolute;
  bottom: 38px;
  padding: 16px;
}

#root #loading-page .reload-container .reload-text {
  color: #8B8B8B;
}

#root #loading-page .reload-container .reload-button {
  color: #00A759;
  cursor: pointer;
}

#root .button-container {
  display: flex;
  align-items: center;
  gap: 6px;
}

#root .button-container .button {
  padding: 14px;
  cursor: pointer;
}

#root .button-container #like-button {
  background-repeat: no-repeat no-repeat;
  background-position: center center;
  margin-left: auto;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="18" viewBox="0 0 21 18" fill="none"><path d="M19.16 2C18.1 0.937205 16.6948 0.288538 15.1983 0.171168C13.7019 0.0537975 12.2128 0.475464 11 1.36C9.72766 0.413635 8.14399 -0.0154912 6.56792 0.159035C4.99185 0.333561 3.54044 1.09878 2.50597 2.30058C1.47151 3.50239 0.930823 5.05152 0.992802 6.63601C1.05478 8.2205 1.71482 9.72267 2.84 10.84L9.05 17.06C9.57002 17.5718 10.2704 17.8586 11 17.8586C11.7296 17.8586 12.43 17.5718 12.95 17.06L19.16 10.84C20.3276 9.66526 20.9829 8.07627 20.9829 6.42C20.9829 4.76372 20.3276 3.17473 19.16 2ZM17.75 9.46L11.54 15.67C11.4693 15.7414 11.3852 15.798 11.2925 15.8366C11.1999 15.8753 11.1004 15.8952 11 15.8952C10.8996 15.8952 10.8001 15.8753 10.7075 15.8366C10.6148 15.798 10.5307 15.7414 10.46 15.67L4.25 9.43C3.46576 8.62834 3.02661 7.55146 3.02661 6.43C3.02661 5.30853 3.46576 4.23165 4.25 3.43C5.04916 2.64099 6.12697 2.19857 7.25 2.19857C8.37303 2.19857 9.45085 2.64099 10.25 3.43C10.343 3.52373 10.4536 3.59812 10.5754 3.64889C10.6973 3.69966 10.828 3.7258 10.96 3.7258C11.092 3.7258 11.2227 3.69966 11.3446 3.64889C11.4664 3.59812 11.577 3.52373 11.67 3.43C12.4692 2.64099 13.547 2.19857 14.67 2.19857C15.793 2.19857 16.8708 2.64099 17.67 3.43C18.465 4.22115 18.9186 5.29219 18.9335 6.41368C18.9485 7.53518 18.5236 8.61793 17.75 9.43V9.46Z" fill=" %231C1C25"/></svg>');
}

#root .button-container #like-button.saved {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="21" height="18" viewBox="0 0 21 18" fill="none"><path d="M19.16 2C18.1 0.937205 16.6948 0.288538 15.1983 0.171168C13.7019 0.0537975 12.2128 0.475464 11 1.36C9.72766 0.413635 8.14399 -0.0154912 6.56792 0.159035C4.99185 0.333561 3.54044 1.09878 2.50597 2.30058C1.47151 3.50239 0.930823 5.05152 0.992802 6.63601C1.05478 8.2205 1.71482 9.72267 2.84 10.84L9.05 17.06C9.57002 17.5718 10.2704 17.8586 11 17.8586C11.7296 17.8586 12.43 17.5718 12.95 17.06L19.16 10.84C20.3276 9.66526 20.9829 8.07627 20.9829 6.42C20.9829 4.76372 20.3276 3.17473 19.16 2Z" fill="%23E4483F"/></svg>');
}

#root .button-container #share-button {
  background-repeat: no-repeat no-repeat;
  background-position: center center;
  margin-left: auto;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-image: url('data:image/svg+xml,<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.01332 13.52C7.61333 13.7467 6.18666 14.3867 5.13332 15.32C3.98666 16.32 3.41332 18.16 1.46666 17.48C-0.480009 16.8 -0.0400088 14.6667 0.293325 13.1467C1.19999 8.94671 4.77332 5.54671 9.01332 4.85338C9.05332 4.06671 8.95999 3.22671 9.01332 2.44005C9.13332 0.773379 10.72 -0.213288 12.2533 0.466712C15.28 2.68005 18.2 5.06671 21.1867 7.34671C22.08 8.25338 22.0667 9.74671 21.1333 10.6267L12.6667 17.2134C11.4 18.3334 9.02666 17.2934 9.02666 15.6267V13.4934L9.01332 13.52ZM10.96 11.3734C11.0133 11.44 11.0133 11.5334 11.0133 11.6134C11.12 12.8534 10.9333 14.24 11.0133 15.4934C11.0267 15.6134 11.1867 15.72 11.3067 15.6934L19.84 8.97338C19.84 8.86671 19.7333 8.76005 19.6667 8.69338C19.16 8.20005 18.28 7.61338 17.6933 7.16005C15.7467 5.64005 13.7733 4.04005 11.8 2.57338C11.6133 2.42671 11.2533 2.05338 11.0533 2.33338L10.9733 6.53338C10.8933 6.66671 10.2667 6.64005 10.1067 6.65338C5.81332 7.20005 2.22666 10.4934 2.03999 14.96C2.03999 15.1067 1.98666 15.56 2.15999 15.5867C2.54666 15.2534 2.82666 14.76 3.18666 14.3734C4.90666 12.5334 7.70666 11.4 10.2 11.2934C10.3467 11.2934 10.8667 11.2667 10.96 11.3467V11.3734Z" fill="%231C1C25"/></svg>');
}

#root .button-container .store-logo {
  border-radius: 16px;
}

#root .button-container .tooltip-container {
  position: relative;
  display: inline-block;
}

#root .button-container .tooltip-container .tooltip {
  text-align: center;
  width: max-content;
  top: 2.5rem;
  right: -2rem;
  position: absolute;
  background-color: #FFF;
  padding: 10px 15px;
  border-radius: 4px;
  font-size: 14px;
  max-width: 300px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

#root .button-container .tooltip-container .tooltip.show {
  opacity: 1;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#root .header-wrapper {
  display: flex;
  align-items: center;
  gap: 4px;
  align-self: stretch;
}

#root .header-wrapper .arrow {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="9" viewBox="0 0 14 9" fill="none"><path d="M6.11252 0.887476L0.375024 6.62498C-0.112476 7.11248 -0.112476 7.89998 0.375024 8.38748C0.862524 8.87498 1.65002 8.87498 2.13752 8.38748L7.00002 3.53748L11.85 8.38748C12.3375 8.87498 13.125 8.87498 13.6125 8.38748C14.1 7.89998 14.1 7.11248 13.6125 6.62498L7.87502 0.887476C7.40002 0.399976 6.60002 0.399976 6.11252 0.887476Z" fill="%231C1C25"/></svg>');
  background-repeat: no-repeat no-repeat;
  background-position: center center;
  margin-left: auto;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  cursor: pointer;
  transform: rotate(0deg);
  transition: transform .25s;
}

#root .header-wrapper .arrow.rotated {
  transform: rotate(180deg);
  transition: transform .25s;
}

#root #free-text-container ul {
  padding-left: 2rem;
}

#root .container {
  border-radius: 20px;
  padding: 24px;
  background: var(--Color, #fff);
  margin-bottom: 24px;
}

#root .stores-summary-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: #fff;
}

#root .stores-summary-container .stores-summary-left {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#root .stores-summary-container .stores-summary-left .store-name-container {
  display: flex;
  flex-direction: column;
}

#root .stores-summary-container .stores-summary-left .store-name-container .store-category-wrapper {
  display: ruby-text;
}

#root .stores-summary-container .stores-summary-right {
  display: flex;
  gap: 16px;
}

#root .stores-summary-container .tnc-content-container {
  padding: 0;
}

#root .stores-summary-container .tnc-content-container .header-wrapper {
  margin: 24px 24px 12px 24px;
}

#root .stores-summary-container .tnc-content-container .tnc-content {
  padding: 12px;
}

#root .mallDollar-rebate-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  gap: 12px;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content {
  width: 100%;
  margin-bottom: 12px;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content .mallDollar-rebate-line {
  overflow-wrap: anywhere;
  display: flex;
  margin-bottom: 12px;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content .mallDollar-rebate-line:last-child {
  margin-bottom: 0px;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content .mallDollar-rebate-line .mallDollar-rebate-category {
  align-items: flex-end;
  flex: 1 0 0;
  color: #575757;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content .mallDollar-rebate-line .mallDollar-rebate-rate-wrapper {
  width: 100px;
  text-align: right;
}

#root .mallDollar-rebate-container .mallDollar-rebate-content .mallDollar-rebate-line .mallDollar-rebate-rate-wrapper .mallDollar-rebate-rate-rebateRate {
  font-weight: 600;
}

#root .mallDollar-rebate-container .mallDollar-rebate-showMore {
  cursor: pointer;
  color: #c96c26;
  text-align: center;
}

#root .mallDollar-rebate-flow-image-wrapper {
  text-align: center;
}

#root .mallDollar-rebate-flow-image-wrapper img {
  max-width: 100%;
}

#root .stores-summary.expanded {
  height: 100%;
}

#root .goto-button-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--Color, #fff);
  box-sizing: border-box;
}

#root .goto-button-container .goto-button {
  align-content: center;
  cursor: pointer;
  border-radius: 12px;
  background: #1890FF;
}

#root .goto-button-container .goto-button .button-text {
  color: var(--Color, #fff);
  text-align: center;
}

@media (min-width: 769px) {
  #root #tnc-container {
    overflow: visible;
    display: flex;
    min-width: 944px;
    flex-direction: column;
    padding: 24px;
    width: 80%;
    max-width: 1080px;
  }
  #root #tnc-container::-webkit-scrollbar {
    display: none;
  }
  #root #tnc-container .cashback-logo-container {
    align-self: center;
  }
  #root #tnc-container .cashback-logo-container .cashback-logo {
    width: 244px;
    height: auto;
    padding: 24px;
  }
  #root #tnc-container .stores-summary-container .stores-summary-left {
    gap: 16px;
  }
  #root #tnc-container .stores-summary-container .stores-summary-left .store-logo-container .store-logo {
    width: 172px;
    height: 88px;
  }
  #root #tnc-container .stores-summary-container .stores-summary-left .store-name-container .store-category-wrapper {
    font-size: 16px;
  }
  #root #tnc-container .stores-summary-container .stores-summary-left .store-name-container .store-name-wrapper {
    font-size: 28px;
    font-weight: 600;
  }
  #root #tnc-container .tnc-content-container .header-wrapper {
    cursor: pointer;
  }
  #root #tnc-container .tnc-content-container .tnc-content {
    width: fit-content;
  }
  #root .title {
    font-size: 20px;
    font-weight: 600;
    color: var(--bw-black-222, #333333);
    margin-bottom: 12px;
  }
  #root .button {
    background-color: #F7F7F7;
    border-radius: 40px;
  }
  #root .goto-button-container {
    width: 200px;
    height: 52px;
  }
  #root .goto-button-container .goto-button {
    padding: 14px;
  }
  #root .goto-button-container .goto-button .button-text {
    font-size: 16px;
  }
  #root #loading-page .store-info-container {
    gap: 24px;
  }
  #root #loading-page .store-info-container .store-square-logo img {
    width: 120px;
    height: 120px;
  }
  #root #loading-page .store-info-container .text-wrapper .rebate-rate-text {
    margin-bottom: 8px;
    font-size: 20px;
  }
  #root #loading-page .store-info-container .text-wrapper .goto-text {
    font-size: 16px;
  }
  #root #loading-page .reload-container {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  #root #tnc-container {
    width: 100%;
    padding-bottom: 120px;
  }
  #root .button-container {
    gap: 0;
  }
  #root .title {
    font-size: 16px;
    font-weight: 600;
    color: var(--bw-black-222, #333333);
    margin-bottom: 12px;
  }
  #root .container {
    padding: 16px;
    margin-bottom: 12px;
  }
  #root .button {
    padding: 0;
  }
  #root .stores-summary-container .stores-summary-left {
    gap: 12px;
  }
  #root .stores-summary-container .store-logo-container .store-logo {
    width: 64px;
    height: 64px;
  }
  #root .stores-summary-container .store-name-container .store-name-wrapper {
    font-size: 20px;
    font-weight: 600;
  }
  #root .mallDollar-rebate-container .title {
    font-size: 20px;
  }
  #root .goto-button-container {
    background-color: #F7F7F7;
    width: 100%;
    padding: 12px 16px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    bottom: 0;
    left: 0;
    position: fixed;
    z-index: 1;
  }
  #root .goto-button-container .goto-button {
    width: 100%;
    height: 44px;
    padding: 10px;
  }
  #root .goto-button-container .goto-button .button-text {
    line-height: 24px;
  }
  #root #loading-page .store-info-container {
    gap: 12px;
  }
  #root #loading-page .store-info-container .store-square-logo img {
    width: 80px;
    height: 80px;
  }
  #root #loading-page .store-info-container .text-wrapper .rebate-rate-text {
    margin-bottom: 8px;
    font-size: 16px;
  }
  #root #loading-page .reload-container {
    font-size: 14px;
  }
}
