:root {
  --pb-primary-color: #5c6ac4;
  --pb-add-to-cart-color: #e32619;
}
.nf-product-single input,
#pb-artwork-form input,
.nf-product-single select,
#pb-artwork-form select {
  width: 100%;
  padding: 12px 10px;
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #dddddd;
  border-radius: 3px;
  margin-bottom: 5px;
  font-size: 1em;
}
.nf-product-single select,
#pb-artwork-form select {
  background-position: right 5px top 50%;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);
}
@media screen and (max-width: 767px) {
  .nf-product-single input[type=text]:focus,
  #pb-artwork-form input[type=text]:focus,
  .nf-product-single input[type=number]:focus,
  #pb-artwork-form input[type=number]:focus,
  .nf-product-single select:focus,
  #pb-artwork-form select:focus {
    font-size: 16px;
  }
}
.nf-product-single .btn-upload,
#pb-artwork-form .btn-upload {
  width: 100px;
  height: 80px;
  -o-object-fit: contain;
  object-fit: contain;
  cursor: pointer;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #ddd;
  border-radius: 3px;
  background: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIGQ9Ik0zOTguMSAyMzMuMmMwLTEuMi4yLTIuNC4yLTMuNiAwLTY1LTUxLjgtMTE3LjYtMTE1LjctMTE3LjYtNDYuMSAwLTg1LjcgMjcuNC0xMDQuMyA2Ny04LjEtNC4xLTE3LjItNi41LTI2LjgtNi41LTI5LjUgMC01NC4xIDIxLjktNTguOCA1MC41QzU3LjMgMjM1LjIgMzIgMjY5LjEgMzIgMzA5YzAgNTAuMiA0MC4xIDkxIDg5LjUgOTFIMjI0di04MGgtNDguMmw4MC4yLTgzLjcgODAuMiA4My42SDI4OHY4MGgxMTAuM2M0NS4yIDAgODEuNy0zNy41IDgxLjctODMuNCAwLTQ1LjktMzYuNy04My4yLTgxLjktODMuM3oiLz48bWV0YWRhdGE+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxyZGY6RGVzY3JpcHRpb24gYWJvdXQ9Imh0dHBzOi8vaWNvbnNjb3V0LmNvbS9sZWdhbCNsaWNlbnNlcyIgZGM6dGl0bGU9InVwbG9hZCIgZGM6ZGVzY3JpcHRpb249InVwbG9hZCIgZGM6cHVibGlzaGVyPSJJY29uc2NvdXQiIGRjOmRhdGU9IjIwMTctMDktMjQiIGRjOmZvcm1hdD0iaW1hZ2Uvc3ZnK3htbCIgZGM6bGFuZ3VhZ2U9ImVuIj48ZGM6Y3JlYXRvcj48cmRmOkJhZz48cmRmOmxpPkJlbmphbWluIEogU3BlcnJ5PC9yZGY6bGk+PC9yZGY6QmFnPjwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+PC9tZXRhZGF0YT48L3N2Zz4=') no-repeat center 5px;
  background-size: 30px 30px;
  font-size: 12px;
  padding-top: 30px;
}
.nf-product-single .ant-btn,
#pb-artwork-form .ant-btn,
.nf-product-single .btn-custom,
#pb-artwork-form .btn-custom {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 9px 15px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  color: #202223;
  border: 1px solid #babfc3;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  border-radius: 3px;
  font-size: 14px;
}
.nf-product-single .ant-modal-footer .ant-btn,
#pb-artwork-form .ant-modal-footer .ant-btn,
.nf-product-single .ant-modal-footer .btn-custom,
#pb-artwork-form .ant-modal-footer .btn-custom {
  margin-left: 10px;
}
.nf-product-single .ant-modal-footer .ant-btn-primary,
#pb-artwork-form .ant-modal-footer .ant-btn-primary {
  background-color: #008060;
  color: #fff;
  border-width: 0;
  border-color: transparent;
}
.nf-product-single .custom-image,
#pb-artwork-form .custom-image {
  display: block;
  float: left;
  margin-right: 10px;
}
.nf-product-single .custom-image ~ div,
#pb-artwork-form .custom-image ~ div {
  display: inline-block;
}
.nf-product-single button.btn-preview,
#pb-artwork-form button.btn-preview,
.nf-product-single button.btn-add-to-cart,
#pb-artwork-form button.btn-add-to-cart {
  padding: 0.875rem 1.75rem;
  letter-spacing: 0em;
  display: block;
  width: 100%;
  padding-right: 0.3125rem;
  padding-left: 0.3125rem;
  border: 1px solid #dddddd;
  border-radius: 3px;
  cursor: pointer;
}
.nf-product-single button.btn-add-to-cart,
#pb-artwork-form button.btn-add-to-cart {
  color: #ffffff;
  background-color: var(--pb-add-to-cart-color, #e32619);
  border: 1px solid var(--pb-add-to-cart-color, #e32619);
  font-style: normal;
  font-weight: 700;
}
.nf-product-single label,
#pb-artwork-form label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.nf-product-single .price__badges,
#pb-artwork-form .price__badges {
  white-space: nowrap;
  font-size: 1.2rem;
  color: #f70073;
  border-color: #f70073;
  border-style: solid;
  border-width: 2px;
  margin-left: 7px;
  padding: 0 5px;
  border-radius: 4px;
}
.nf-product-single .price-item,
#pb-artwork-form .price-item {
  font-size: 1.6em;
  font-weight: 400;
  line-height: 1.8;
  color: #4d4d4d;
}
.nf-product-single .price-item--sale,
#pb-artwork-form .price-item--sale {
  width: auto;
  font-weight: 600;
  color: #000000;
}
.nf-product-single .price-item--regular,
#pb-artwork-form .price-item--regular {
  text-decoration: line-through;
  margin-left: 7px;
}
.nf-product-single .ant-form-extra,
#pb-artwork-form .ant-form-extra {
  font-style: italic;
}
.nf-product-single .cart-qty select,
#pb-artwork-form .cart-qty select {
  margin-bottom: 0;
}
.nf-product-single .template-select .ant-radio-group,
#pb-artwork-form .template-select .ant-radio-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.nf-product-single .template-select .ant-radio-group .ant-radio-button-wrapper,
#pb-artwork-form .template-select .ant-radio-group .ant-radio-button-wrapper {
  position: relative;
  width: 80px;
  height: 80px;
}
.nf-product-single .template-select .ant-radio-group .ant-radio-button-wrapper .ant-radio-button-input,
#pb-artwork-form .template-select .ant-radio-group .ant-radio-button-wrapper .ant-radio-button-input {
  height: 100%;
  border: 3px solid transparent;
  cursor: pointer;
}
.nf-product-single .template-select .ant-radio-group .ant-radio-button-wrapper span:last-child,
#pb-artwork-form .template-select .ant-radio-group .ant-radio-button-wrapper span:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  font-size: 1.1rem;
}
.nf-product-single .template-select .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked .ant-radio-button-input,
#pb-artwork-form .template-select .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked .ant-radio-button-input {
  border: 3px solid var(--pb-primary-color, #5c6ac4);
}
@media screen and (max-width: 719px) {
  .nf-product-single {
    padding-right: 15px;
    padding-left: 15px;
  }
}
#pb-artwork-form {
  margin-top: 20px;
}
