/* BUSAMA Recruit – club form (black & gold to match busama.com) */
.bzr-form-wrap { --g: #d4af37; --gl: #f3e2a3; --t: #e8e4dc; --s: #b9b3a7; --bg: #0e0e0d; --card: #111110; --rule: rgba(212,175,55,.25);
  max-width: 860px; margin: 0 auto; color: var(--t); font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif; text-align: left; }
.bzr-form-wrap *, .bzr-form-wrap *::before, .bzr-form-wrap *::after { box-sizing: border-box; }
.bzr-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bzr-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.bzr-alert { border: 1px solid var(--g); background: rgba(212,175,55,.08); padding: 14px 18px; margin-bottom: 20px; }

/* AI box */
.bzr-ai { border: 1px solid var(--rule); background: var(--card); padding: 26px; margin-bottom: 28px; }
.bzr-ai-title { margin: 0 0 6px; font-family: 'Playfair Display', Georgia, serif; font-size: 22px; color: var(--g); }
.bzr-ai-help { margin: 0 0 14px; color: var(--s); font-size: 14px; line-height: 1.6; }
.bzr-ai-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 12px; }
.bzr-ai-status { font-size: 13px; color: var(--gl); }

/* Progress */
.bzr-progress { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bzr-progress li { margin: 0; padding: 10px 0 0; border-top: 2px solid rgba(212,175,55,.2); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #8a8478; }
.bzr-progress li span { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 18px; letter-spacing: 0; color: inherit; }
.bzr-progress li.is-current { border-top-color: var(--g); color: var(--g); }
.bzr-progress li.is-done { border-top-color: rgba(212,175,55,.6); color: var(--s); }

/* Fields */
.bzr-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.bzr-field { margin: 0 0 22px; }
.bzr-field > label, .bzr-consent label { display: block; font-weight: 600; font-size: 15px; color: var(--t); margin-bottom: 4px; }
.bzr-field > label small { font-weight: 400; color: #8a8478; }
.bzr-help { margin: 0 0 8px; font-size: 13px; line-height: 1.55; color: var(--s); }
.bzr-form-wrap input[type="text"], .bzr-form-wrap input[type="email"], .bzr-form-wrap input[type="tel"], .bzr-form-wrap input[type="url"], .bzr-form-wrap input[type="number"], .bzr-form-wrap input[type="date"], .bzr-form-wrap select, .bzr-form-wrap textarea {
  width: 100%; background: #0a0a0a !important; color: var(--t) !important; border: 1px solid rgba(212,175,55,.3) !important; border-radius: 0 !important;
  padding: 12px 14px !important; font: inherit; font-size: 15px !important; line-height: 1.5; box-shadow: none !important; }
.bzr-form-wrap textarea { min-height: 110px; resize: vertical; }
.bzr-form-wrap input:focus, .bzr-form-wrap select:focus, .bzr-form-wrap textarea:focus { outline: 2px solid var(--g); outline-offset: 1px; border-color: var(--g) !important; }
.bzr-form-wrap input[type="file"] { color: var(--s); font-size: 14px; }
.bzr-field.has-error input, .bzr-field.has-error select, .bzr-field.has-error textarea { border-color: var(--g) !important; box-shadow: 0 0 0 1px var(--g) !important; }
.bzr-field.has-error > label::after { content: " — please answer"; color: var(--g); font-weight: 400; font-size: 13px; }
.bzr-field.is-filled textarea, .bzr-field.is-filled input { border-color: rgba(212,175,55,.6) !important; }
.bzr-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.bzr-choice { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(212,175,55,.3); padding: 10px 14px; min-height: 44px; cursor: pointer; font-weight: 400; color: var(--t); }
.bzr-choice input { accent-color: var(--g); }
.bzr-consent label { font-weight: 400; font-size: 14px; color: var(--s); display: flex; gap: 10px; align-items: flex-start; }
.bzr-consent input { accent-color: var(--g); margin-top: 3px; }
.bzr-step-error { color: var(--g); font-size: 14px; margin: 12px 0 0; }

/* Buttons */
.bzr-nav { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-top: 10px; }
.bzr-nav .bzr-btn:only-child { margin-left: auto; }
.bzr-btn, .bzr-btn-line { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 30px; border-radius: 0; cursor: pointer;
  font-family: inherit; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
.bzr-btn { background: var(--g); color: #0a0a0a; border: 1px solid var(--g); font-weight: 600; }
.bzr-btn:hover:not([disabled]) { background: var(--gl); border-color: var(--gl); }
.bzr-btn-line { background: transparent; color: var(--t); border: 1px solid rgba(212,175,55,.55); }
.bzr-btn-line:hover:not([disabled]) { border-color: var(--g); color: var(--g); }
.bzr-btn[disabled], .bzr-btn-line[disabled] { opacity: .5; cursor: not-allowed; }

@media (max-width: 600px) {
  .bzr-ai { padding: 20px; }
  .bzr-progress li { font-size: 0; }
  .bzr-progress li span { font-size: 18px; }
  .bzr-nav > * { flex: 1 1 100%; }
}

/* Dancer form extras */
.bzr-form-wrap select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, #d4af37 50%), linear-gradient(135deg, #d4af37 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important; background-size: 6px 6px !important; background-repeat: no-repeat !important; padding-right: 36px !important; }
.bzr-form-wrap input[type="date"] { color-scheme: dark; }
.bzr-applying { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; border: 1px solid var(--rule); border-left: 3px solid var(--g); padding: 14px 18px; margin-bottom: 22px; background: var(--card); }
.bzr-applying span { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--g); }
.bzr-applying strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 18px; color: var(--t); }
.bzr-field.has-error input[type="file"] { outline: 1px solid var(--g); }
