:root {
  --moe-cart-pink: #ff6ea9;
  --moe-cart-pink-deep: #ef4f91;
  --moe-cart-violet: #7c5cff;
  --moe-cart-cyan: #55d9ff;
  --moe-cart-ink: #312a4a;
  --moe-cart-text: #625a77;
  --moe-cart-muted: #9189a2;
  --moe-cart-line: rgba(114, 88, 174, .14);
  --moe-cart-gradient: linear-gradient(135deg, #ff6ea9 0%, #9b6dff 62%, #55d9ff 125%);
  --moe-cart-soft: linear-gradient(135deg, #fff2f8 0%, #f1edff 58%, #eafaff 100%);
  --moe-cart-shadow: 0 14px 38px rgba(76, 53, 132, .11);
}

.moe-cart-scope {
  position: relative;
  color: var(--moe-cart-text);
}

.moe-cart-scope::before {
  position: absolute;
  z-index: -1;
  top: -80px;
  right: -40px;
  width: 270px;
  height: 270px;
  content: "";
  pointer-events: none;
  opacity: .52;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 110, 169, .17), transparent 68%);
}

.moe-cart-scope .card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .84);
  border-radius: 18px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--moe-cart-shadow);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.moe-cart-scope .card:hover {
  border-color: rgba(124, 92, 255, .22);
  box-shadow: 0 18px 46px rgba(76, 53, 132, .15);
  transform: translateY(-2px);
}

.moe-cart-scope .card-header,
.moe-cart-scope .card-footer {
  border-color: var(--moe-cart-line);
  background: rgba(250, 248, 255, .82);
}

.moe-cart-scope h1,
.moe-cart-scope h2,
.moe-cart-scope h3,
.moe-cart-scope h4,
.moe-cart-scope h5,
.moe-cart-scope h6,
.moe-cart-scope .card-title {
  color: var(--moe-cart-ink);
}

.moe-cart-scope .btn,
.moe-cart-scope .form-control,
.moe-cart-scope .custom-select,
.moe-cart-scope .dropdown-toggle {
  border-radius: 10px;
}

.moe-cart-scope .btn-primary,
.moe-cart-scope a.btn-primary,
.moe-cart-scope .btn-primary[style] {
  color: #fff !important;
  border-color: transparent !important;
  background: var(--moe-cart-gradient) !important;
  box-shadow: 0 7px 18px rgba(124, 92, 255, .23);
}

.moe-cart-scope .btn-primary:hover,
.moe-cart-scope .btn-primary:focus {
  border-color: transparent !important;
  background: linear-gradient(135deg, #ef4f91, #6f4fe3 65%, #38bddb 125%) !important;
  box-shadow: 0 10px 24px rgba(124, 92, 255, .30);
}

.moe-cart-scope .btn-outline-primary {
  color: var(--moe-cart-violet);
  border-color: rgba(124, 92, 255, .45);
}

.moe-cart-scope .btn-outline-primary:hover {
  color: #fff;
  border-color: transparent;
  background: var(--moe-cart-gradient);
}

.moe-cart-scope .form-control,
.moe-cart-scope .custom-select,
.moe-cart-scope .bootstrap-select > .dropdown-toggle {
  color: var(--moe-cart-ink);
  border-color: #e5dff0 !important;
  background-color: #fff;
}

.moe-cart-scope .form-control:focus,
.moe-cart-scope .custom-select:focus {
  border-color: var(--moe-cart-violet) !important;
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .13);
}

.moe-cart-scope .custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--moe-cart-violet);
  background: var(--moe-cart-gradient);
}

.moe-cart-scope .table {
  color: var(--moe-cart-text);
}

.moe-cart-scope .table thead th {
  color: var(--moe-cart-ink);
  border-color: var(--moe-cart-line);
  background: var(--moe-cart-soft);
}

.moe-cart-scope .table td,
.moe-cart-scope .table th {
  border-color: var(--moe-cart-line);
}

.moe-cart-scope .table-hover tbody tr:hover,
.moe-cart-scope .table-responsive tbody tr:hover td {
  background: #fff4fa !important;
}

.moe-cart-scope .page-link {
  margin: 0 2px;
  color: var(--moe-cart-violet);
  border-color: var(--moe-cart-line);
  border-radius: 9px !important;
}

.moe-cart-scope .page-item.active .page-link {
  color: #fff;
  border-color: transparent;
  background: var(--moe-cart-gradient);
}

.moe-cart-scope .alert {
  border: 0;
  border-radius: 13px;
}

.moe-cart-scope .badge-primary,
.moe-cart-scope .bg-primary {
  background: var(--moe-cart-gradient) !important;
}

.moe-cart-product > .row > [class*="col-"] > .card,
.moe-cart-product .cartitem {
  min-height: 100%;
}

.moe-cart-product .card-body {
  position: relative;
}

.moe-cart-product .card-body::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 82px;
  height: 82px;
  content: "";
  pointer-events: none;
  opacity: .22;
  border-radius: 0 0 0 100%;
  background: var(--moe-cart-gradient);
}

.moe-cart-product .card-text {
  color: var(--moe-cart-muted);
  line-height: 1.75;
}

.moe-cart-product .text-right[style] {
  color: var(--moe-cart-pink-deep) !important;
}

.moe-cart-configure .configoption_form {
  padding: 8px 4px;
}

.moe-cart-configure .configureproduct {
  padding: 14px 8px;
  border-bottom: 1px dashed var(--moe-cart-line);
}

.moe-cart-configure .configureproduct:last-of-type {
  border-bottom: 0;
}

.moe-cart-configure .btn-group-toggle .btn {
  margin: 3px 5px 3px 0;
  color: var(--moe-cart-text);
  border: 1px solid #e5dff0 !important;
  background: #fff !important;
  box-shadow: none;
}

.moe-cart-configure .btn-group-toggle .btn.active {
  color: #fff !important;
  border-color: transparent !important;
  background: var(--moe-cart-gradient) !important;
}

.moe-cart-configure input[type="range"] {
  accent-color: var(--moe-cart-violet);
}

.moe-cart-summary .card,
.moe-cart-view .card {
  border-radius: 20px;
}

.moe-cart-summary .text-primary,
.moe-cart-view .text-primary {
  color: var(--moe-cart-violet) !important;
}

.moe-cart-view #submit-form {
  position: relative;
}

.moe-cart-view .input-group-text {
  border-color: #e5dff0;
  background: #f7f4ff;
}

.moe-cart-categories .firstbox,
.moe-cart-categories .secondbox {
  border-color: var(--moe-cart-line) !important;
}

.moe-cart-categories a {
  color: var(--moe-cart-text);
}

.moe-cart-categories a:hover {
  color: var(--moe-cart-pink-deep);
}

.moe-cart-complete {
  max-width: 900px;
  margin: 0 auto;
}

.moe-cart-complete .card {
  text-align: center;
}

@media (max-width: 767.98px) {
  .moe-cart-scope .card {
    border-radius: 14px;
  }

  .moe-cart-configure .configureproduct {
    padding: 12px 0;
  }

  .moe-cart-configure .btn-group,
  .moe-cart-configure .btn-group-toggle {
    display: flex;
    flex-wrap: wrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .moe-cart-scope *,
  .moe-cart-scope *::before,
  .moe-cart-scope *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

