.pbrf-box { margin: 18px 0; }
.pbrf-title { font-size: 1.05em; margin: 0 0 12px; }
.pbrf-field { margin-bottom: 14px; }
.pbrf-field input[type="text"],
.pbrf-field input[type="tel"],
.pbrf-field select { width: 100%; box-sizing: border-box; }
.pbrf-req { color: #d32f2f; }
.pbrf-help { display: block; margin-top: 4px; opacity: .7; font-size: .85em; }
.pbrf-wa { display: flex; align-items: stretch; }
.pbrf-prefix { display: flex; align-items: center; padding: 0 10px; border: 1px solid rgba(0,0,0,.15); border-right: 0; border-radius: 4px 0 0 4px; background: rgba(0,0,0,.04); white-space: nowrap; }
.pbrf-wa input { border-radius: 0 4px 4px 0 !important; flex: 1; min-width: 0; }
.pbrf-location { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 640px) { .pbrf-location { grid-template-columns: 1fr; } }
.pbrf-field textarea { width: 100%; box-sizing: border-box; resize: vertical; }
.pbrf-checks { border: 0; padding: 0; margin: 0 0 14px; }
.pbrf-checks legend { padding: 0; margin-bottom: 6px; }
.pbrf-checks .controls { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.pbrf-checks label, .pbrf-check label { display: inline-flex; align-items: center; gap: 6px; font-weight: normal; }
