/**
 * カートフロー（カート画面・チェックアウト等）専用。
 * プログレス表示・フォームエラー・サムネ・支払い選択のハイライト。
 */

.step-section {
  display: block;
}
@keyframes fadeInCart {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.progress-step {
  position: relative;
  flex: 1;
  text-align: center;
}
.progress-step::after {
  content: '';
  position: absolute;
  top: 15px;
  right: -50%;
  width: 100%;
  height: 1px;
  background-color: #e5e5e5;
  z-index: 1;
}
.progress-step:last-child::after {
  display: none;
}
.progress-step.completed::after,
.progress-step.active::after {
  background-color: #7a9082;
}
.step-circle {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #e5e5e5;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 8px;
  transition: background-color 0.3s;
}
.active .step-circle,
.completed .step-circle {
  background-color: #7a9082;
}

.field-error {
  border-color: #c66e54 !important;
  background-color: #fff5f2 !important;
}

.product-thumb {
  mix-blend-mode: multiply;
}

.payment-option.selected {
  border-color: #7a9082;
  background-color: #f8faf9;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
