.rpb-wnbi { margin: 0 0 1.2em; }
.rpb-wnbi-row { display: flex; flex-wrap: wrap; gap: 12px; }
.rpb-wnbi-row label { flex: 1 1 180px; display: flex; flex-direction: column; font-weight: 600; gap: 4px; }
.rpb-wnbi input[type=number], .rpb-wnbi input[type=date], .rpb-wnbi input[type=text], .rpb-wnbi input[type=email], .rpb-wnbi input[type=tel], .rpb-wnbi textarea { width: 100%; box-sizing: border-box; }
.rpb-wnbi-slots { margin: 12px 0; }
.rpb-wnbi-service-group h4 { margin: 8px 0 6px; }
.rpb-wnbi-times { display: flex; flex-wrap: wrap; gap: 8px; }
.rpb-wnbi-time-btn { padding: 8px 12px; border: 1px solid currentColor; background: transparent; cursor: pointer; border-radius: 4px; min-width: 76px; }
.rpb-wnbi-time-btn.is-selected { background: #222; color: #fff; border-color: #222; }
.rpb-wnbi-details { border: 0; padding: 0; margin: 12px 0; }
.rpb-wnbi-details legend { font-weight: 700; margin-bottom: 6px; }
.rpb-wnbi-notes { display: flex; flex-direction: column; margin-top: 10px; font-weight: 600; }
.rpb-wnbi-agree { display: block; margin-top: 10px; }
.rpb-wnbi-policy { font-size: .9em; opacity: .85; margin-top: 8px; }
.rpb-wnbi-error { color: #b32d2e; }
.rpb-wnbi-hint, .rpb-wnbi-holdnote, .rpb-wnbi-serves { font-size: .92em; opacity: .85; }
.rpb-wnbi-timer.is-urgent { border-color: #b32d2e; }
.rpb-wnbi-timer.is-urgent .rpb-wnbi-countdown { color: #b32d2e; }
