:root {
  --pb-primary-color: #FC4545;
  --pb-primary-bg-color: #FCF5EE;
  --pb-add-to-cart-color: #FC4545;
  --pb-price-sale-color: #FC4545;
}
.nf-product-single input,
.nf-product-single select {
  width: 100%;
  padding: 12px 10px;
  background-color: #ffffff;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid #D1D1D6;
  border-radius: 6px;
  margin-bottom: 5px;
  outline: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}
.nf-product-single input:focus,
.nf-product-single select:focus{
  border-color: var(--pb-primary-color, #FC4545);
}
.nf-product-single select {
  background-position: right 5px top 50%;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L12 13.5858L17.2929 8.29289C17.6834 7.90237 18.3166 7.90237 18.7071 8.29289C19.0976 8.68342 19.0976 9.31658 18.7071 9.70711L12.7071 15.7071C12.3166 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z" fill="%23222222"/></svg>');
}
@media screen and (max-width: 767px) {
  .nf-product-single input[type=text]:focus,
  .nf-product-single input[type=number]:focus,
  .nf-product-single select:focus {
    font-size: 16px;
  }
}
.nf-product-single .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,
.nf-product-single .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,
.nf-product-single .ant-modal-footer .btn-custom {
  margin-left: 10px;
}
.nf-product-single .ant-modal-footer .ant-btn-primary {
  background-color: #008060;
  color: #fff;
  border-width: 0;
  border-color: transparent;
}
.nf-product-single .custom-image {
  display: block;
  float: left;
  margin-right: 10px;
}
.nf-product-single .custom-image ~ div {
  display: inline-block;
}
.nf-product-single .ant-btn {
  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-primary {
  background-color: #008060;
  color: #fff;
  border-width: 0;
  border-color: transparent;
}
.nf-product-single button.btn-preview,
.nf-product-single button.btn-add-to-cart {
  letter-spacing: 0em;
  display: block;
  width: 100%;
  background-color: #fff;
  border: 1px solid #222;
  border-radius: 6px;
  cursor: pointer;
  min-height: 44px;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  line-height: 24px;
  padding: 11px;
}
.nf-product-single button.btn-add-to-cart,
.nf-product-single .cropper-modal-wrapper .cropper-modal-footer .ant-btn.ant-btn-primary {
  color: #ffffff;
  background-color: var(--pb-add-to-cart-color, #4bb232);
  border: 1px solid var(--pb-add-to-cart-color, #4bb232);
  font-style: normal;
  font-weight: 700;
}
.nf-product-single label {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 5px;
}
.nf-product-single .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 {
  font-size: 1.6em;
  font-weight: 400;
  line-height: 1.8;
  color: #4d4d4d;
}
.nf-product-single .price-item--sale {
  width: auto;
  font-weight: 600;
  color: #000000;
}
.nf-product-single .price-item--regular {
  text-decoration: line-through;
  margin-left: 7px;
}
.nf-product-single .ant-form-extra {
  font-style: italic;
}
.nf-product-single .cart-qty select {
  margin-bottom: 0;
  padding-top: 19px !important;
  padding-bottom: 10px !important;
}
.nf-product-single .cart-qty label {
  font-weight: 400;
}
.nf-product-single .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 {
  position: relative;
  width: 80px;
  height: 80px;
}
.nf-product-single .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 {
  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 {
  border: 3px solid var(--pb-primary-color, #FC4545);
}
@media screen and (max-width: 719px) {
  .nf-product-single {
    padding-right: 15px;
    padding-left: 15px;
  }
}

.ctm-customize-product {
  color: #222;
}
.ctm-customize-product .personalized-form {
  border-radius: 6px;
  border: 1px solid #E5E5EA;
  background: #F7F7F7;
  padding: 16px;
  margin-bottom: 16px;
}
.ctm-customize-product::before {
  content: 'Personalized Options';
  display: block;
  margin: 6px auto;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
}
.personalized-form .ant-form-item {
  margin-bottom: 10px !important;
}
.personalized-form .ant-form-item label {
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}
.personalized-form .customall-grid {
  display: flex !important;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 8px 10px !important;
  margin-bottom: 15px;
}
.personalized-form .customall-grid>div {
  margin-bottom: 0 !important;
  border-radius: 6px;
  height: 64px;
  width: 64px;
  border: 1px solid #E5E5EA;
  padding: 3px;
  background: #fff;
}
.personalized-form .customall-grid > div.active {
  border: 2px solid var(--pb-primary-color, #FC4545);
  padding: 2px;
}
.personalized-form .customall-grid > div.active::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 31 31' fill='none'%3E%3Cpath d='M31 1.35505e-06L-1.35505e-06 31L25 31C28.3137 31 31 28.3137 31 25L31 1.35505e-06Z' fill='var(--pb-primary-color, %23FC4545)'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M24.4318 19.2677C24.7888 18.9108 25.3675 18.9108 25.7244 19.2677C26.0814 19.6247 26.0814 20.2034 25.7244 20.5603L20.5525 25.7323C20.1955 26.0892 19.6168 26.0892 19.2599 25.7323C19.2491 25.7216 19.2388 25.7107 19.2287 25.6996L16.2677 22.7386C15.9108 22.3816 15.9108 21.8029 16.2677 21.446C16.6247 21.089 17.2034 21.089 17.5603 21.446L19.907 23.7926L24.4318 19.2677Z' fill='white'/%3E%3C/svg%3E");
  display: block;
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 24px;
  height: 24px;
}
.personalized-form .image-item {
  display: block;
  background-color: #fff;
  width: 100% !important;
  height: 100% !important;
  box-shadow: none !important;
  padding: 0px !important;
  border: none !important;
}
.personalized-form img.image-item {
  background-color: #fff !important;
}
.personalized-form .image-item.active {
  border: none !important;
}
.nf-product-single .buttons-group {
  gap: 8px !important;
}
.nf-product-single .buttons-group button {
  border-radius: 6px !important;
  background: #fff;
  padding: 11px 12px;
  height: 44px;
  min-width: 50px;
  border: 1px solid #E5E5EA;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
}
.nf-product-single .buttons-group button.active {
  border: 1px solid var(--pb-primary-color, #FC4545) !important;
  background-color: var(--pb-primary-color, #FC4545) !important;
}
.nf-product-single .pb-color-swatchs div.item {
  width: 40px !important;
  height: 40px !important;
  border: 2px solid #fff;
  box-shadow: 0px 0px 0px 2px #F2F2F7;
}
.nf-product-single .pb-color-swatchs div.item.active {
  box-shadow: 0px 0px 0px 2px var(--pb-primary-color, #FC4545);
  border: 2px solid #fff !important;
}
.nf-product-single .personalized-form .ant-form-item .ant-form-item-children .input-count {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  top: 12px;
  right: 12px;
  color: #d1d1d6;
  transform: unset;
}
.nf-product-single .personalized-form .ant-form-item .ant-form-extra {
  color: #8E8E93;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}
.ctm-image-cropper-wrapper p {
  margin-top: 0;
}
.customall-wrapper {
  .price__pricing-group {
    align-items: baseline;
    gap: 8px;
    margin: 8px 0;
    .price__sale {
      font-size: 20px;
      font-weight: 700;
      color: var(--pb-price-sale-color, #FC4545);
    }
    .price__regular {
      color: #565959;
      font-size: 16px;
      font-weight: 400;
    }
  }
}
.calendar-field .calendar-input-wrapper input.form-control:focus {
  border-color: var(--pb-primary-color, #FC4545) !important;
  outline: none !important;
}
.customall-wrapper .sp-search-wrapper .search-input-wrapper input {
  border-right: 1px solid #D1D1D6;
  border-color: #D1D1D6;
  border-radius: 6px;
}
.customall-wrapper .sp-search-wrapper .search-input-wrapper input:focus,
.customall-wrapper .puzzle-dropdown-select .ant-select-selection:focus {
  border-color: var(--pb-primary-color, #FC4545);
}
.puzzle-dropdown-select .ant-select-selection:active, .puzzle-dropdown-select .ant-select-selection:focus, .puzzle-dropdown-select.ant-select-focused .ant-select-selection {
  border-color: var(--pb-primary-color, #FC4545) !important;
}
.customall-wrapper .customall-product-media .embla__slide--thumb {
  border: 2px solid #e5e5ea;
  border-radius: 6px;
}
.customall-wrapper .customall-product-media .embla__slide--thumb.is-selected {
  border: 2px solid var(--pb-primary-color, #FC4545);
}
.customall-wrapper .customall-product-media .embla__slide__inner--thumb {
  height: 80px;
  width: 80px;
}
.form-image-dropdown.ant-select-dropdown .ant-select-dropdown-content .ant-select-dropdown-menu-item.ant-select-dropdown-menu-item-selected {
  background-color: var(--pb-primary-color, #FC4545) !important;
}
.form-image-dropdown.ant-select-dropdown .ant-select-dropdown-content .ant-select-dropdown-menu-item.ant-select-dropdown-menu-item-selected:hover {
  background-color: var(--pb-primary-color, #FC4545) !important;
}
.ctm-skeleton-box {
  display: inline-block;
  height: 1em;
  position: relative;
  overflow: hidden;
  background-color: #DDDBDD;
  border-radius: 6px;
}
.ctm-skeleton-box::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
  animation: shimmer 3s infinite;
  content: '';
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}