.wb-form{max-width:530px;margin:1.5rem 0;font-family:inherit}
.wb-form .wb-row{margin-bottom:1rem}
.wb-form label{display:block;font-weight:600;margin-bottom:.35rem;color:#fff}
.wb-form input,.wb-form select{width:100%;padding:.65rem .75rem;border:1px solid #cfd4d9;border-radius:8px;font-size:1rem;background:#fff;color:#1a1a1a;box-sizing:border-box}
.wb-form input:focus,.wb-form select:focus{outline:none;border-color:#4a7c59;box-shadow:0 0 0 3px rgba(74,124,89,.15)}
.wb-form .wb-hint{font-size:.85rem;color:#6b7280;margin-top:.3rem}
.wb-form .wb-availability{font-size:.9rem;font-weight:600;margin-top:.4rem;min-height:1.2em}
.wb-form .wb-availability.is-open{color:#2f7d3a}
.wb-form .wb-availability.is-full{color:#c0392b}
.wb-form button.wb-submit{background:#4a7c59;color:#fff;border:0;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}
.wb-form button.wb-submit:hover:not(:disabled){background:#3c6749}
.wb-form button.wb-submit:disabled{opacity:.5;cursor:not-allowed}
.wb-message{margin-top:1rem;padding:.85rem 1rem;border-radius:8px;font-size:.95rem;display:none}
.wb-message.is-success{display:block;background:#e6f4ea;color:#1e6b2c;border:1px solid #b7e0c2}
.wb-message.is-error{display:block;background:#fdecea;color:#a5271b;border:1px solid #f5c6c0}
.wb-form.is-busy{opacity:.7;pointer-events:none}
.wb-notice{padding:1rem;border:1px dashed #cfd4d9;border-radius:8px;color:#6b7280}
.wb-policy{max-width:520px;margin:.75rem 0 0;font-size:.85rem;color:#fff;opacity:.85}