.pfpa-configurator{
  width:100%;
  max-width:560px;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  padding:22px;
  margin:22px 0;
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.04);
  clear:both;
}
.pfpa-configurator h3{
  margin:0 0 18px;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
  color:#111;
}
.pfpa-field{margin:0 0 16px;display:block}
.pfpa-field label{display:block;font-weight:700;margin:0 0 7px;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-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;padding:18px;border-radius:14px;margin:18px 0}
  .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;}
