.pfpa-configurator{
  width:100%;
  max-width:560px;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  padding:0;
  margin:18px 0 22px;
  background:transparent;
  box-shadow:none;
  clear:both;
}
.pfpa-configurator h3{
  margin:0 0 16px;
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:#111;
}
.pfpa-field{margin:0 0 18px;display:block}
.pfpa-field label{display:block;font-weight:800;margin:0 0 12px;color:#111;font-size:14px;line-height:1.3}
.pfpa-field small{display:block;margin-top:7px;color:#6b7280;font-size:12px;line-height:1.4}
.pfpa-field select,
.pfpa-field input[type="text"],
.pfpa-field input[type="url"],
.pfpa-field textarea{
  width:100%;
  max-width:none;
  min-height:46px;
  box-sizing:border-box;
  border:1px solid #111;
  border-radius:0;
  background:#fff;
  color:#111;
  padding:11px 13px;
  font-size:14px;
  line-height:1.35;
  box-shadow:none;
}
.pfpa-display-swatch .pfpa-native-select,
.pfpa-display-pill .pfpa-native-select{
  position:absolute;
  width:1px;
  height:1px;
  opacity:.001;
  pointer-events:none;
}
.pfpa-choice-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.pfpa-choice{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  border:1px solid #b8bdc3;
  background:#fff;
  color:#111;
  cursor:pointer;
  box-shadow:none;
  font:inherit;
  line-height:1;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.pfpa-choice:focus-visible{
  outline:2px solid #111;
  outline-offset:3px;
}
.pfpa-choice.is-selected{
  border-color:#111;
  box-shadow:0 0 0 2px #111;
}
.pfpa-swatch{
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--pfpa-swatch);
  box-shadow:inset 0 0 0 3px #fff;
}
.pfpa-swatch.is-selected{
  box-shadow:inset 0 0 0 3px #fff, 0 0 0 2px #111;
}
.pfpa-swatch span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.pfpa-pill{
  min-width:38px;
  height:38px;
  border-radius:999px;
  padding:0 12px;
  font-size:12px;
  font-weight:500;
}
.pfpa-pill:hover,
.pfpa-swatch:hover{
  border-color:#111;
}
.pfpa-pill.is-selected{
  background:#111;
  color:#fff;
}
.pfpa-field textarea{min-height:92px;resize:vertical}
.pfpa-field select:focus,
.pfpa-field input:focus,
.pfpa-field textarea:focus{outline:2px solid rgba(0,0,0,.18);outline-offset:2px}
.pfpa-upload-field input[type="file"]{position:absolute;left:-9999px}
.pfpa-upload-field label[for="pfpa_file"]:after{
  content:'Bestand kiezen';
  display:block;
  margin-top:8px;
  border:1px solid #111;
  padding:13px 14px;
  font-weight:700;
  text-align:center;
  cursor:pointer;
  background:#fff;
  color:#111;
}
.pfpa-upload-field label[for="pfpa_file"]:hover:after{background:#111;color:#fff}
.pfpa-file-name{display:block;margin-top:8px;font-size:13px;color:#111;word-break:break-word}
.pfpa-price-box{
  margin-top:18px;
  padding:15px 16px;
  background:#f5f5f5;
  border-radius:12px;
  font-size:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.pfpa-price-box strong{font-size:20px;font-weight:800;color:#111;white-space:nowrap}
.pfpa-configurator.pfpa-loading .pfpa-price{opacity:.55}
.pfpa-from-price{font-weight:800;color:#111}
.single-product form.cart .pfpa-configurator + .quantity{margin-top:0}
.single-product form.cart .single_add_to_cart_button{width:100%;min-height:48px;border-radius:0;font-weight:800;text-transform:uppercase}
@media (max-width:768px){
  .pfpa-configurator{max-width:none;margin:18px 0}
  .pfpa-choice-list{gap:9px}
  .pfpa-price-box{align-items:flex-start;flex-direction:column;gap:4px}
}

.pfpa-delivery-box{
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:12px;
  background:#fafafa;
  font-size:14px;
  line-height:1.45;
}
.pfpa-delivery-box strong{font-weight:800;color:#111;margin-right:6px}
.pfpa-rush-field{
  padding:14px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:12px;
  background:#fff;
}
.pfpa-checkbox-label{
  display:flex!important;
  align-items:center;
  gap:10px;
  cursor:pointer;
}
.pfpa-checkbox-label input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
}

.pfpa-delivery-text{display:block}
.pfpa-delivery-text strong{display:inline;font-weight:800;color:#111}
.pfpa-delivery-text small{display:block;margin-top:5px;color:#6b7280;font-size:12px;line-height:1.45}

.pfpa-delivery-date{color:#eb344f;font-weight:700;}
