/* BrisbaneUpdates forms: accessible, theme-neutral, inherits Foxiz typography and colours. Dark mode via [data-theme="dark"]. */
.bu-form-wrap { margin: 2rem 0; max-width: 46rem; }
.bu-form { display: grid; gap: 1.1rem; padding: 1.5rem; border: 1px solid rgba(0, 0, 0, .12); border-radius: 10px; background: rgba(0, 0, 0, .02); }
[data-theme="dark"] .bu-form { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .04); }
.bu-form-title { margin: 0; font-size: 1.35rem; }
.bu-form-hint, .bu-help, .bu-form-note { margin: .25rem 0 0; font-size: .9rem; opacity: .85; }
.bu-req { color: #b3261e; font-weight: 700; }
.bu-field { display: grid; gap: .35rem; }
.bu-field label { font-weight: 600; }
.bu-field input[type="text"], .bu-field input[type="email"], .bu-field input[type="url"], .bu-field input[type="tel"],
.bu-field input[type="date"], .bu-field input[type="time"], .bu-field select, .bu-field textarea {
  width: 100%; box-sizing: border-box; font: inherit; color: inherit; background: #fff;
  border: 1px solid rgba(0, 0, 0, .35); border-radius: 6px; padding: .6rem .7rem; min-height: 2.75rem;
}
[data-theme="dark"] .bu-field input, [data-theme="dark"] .bu-field select, [data-theme="dark"] .bu-field textarea { background: rgba(0, 0, 0, .35); border-color: rgba(255, 255, 255, .35); }
.bu-field textarea { min-height: 8rem; resize: vertical; }
.bu-field input:focus-visible, .bu-field select:focus-visible, .bu-field textarea:focus-visible, .bu-button:focus-visible, .bu-notice a:focus-visible {
  outline: 3px solid #1a73e8; outline-offset: 2px;
}
.bu-field-checkbox { grid-template-columns: 1.5rem 1fr; align-items: start; gap: .6rem; }
.bu-field-checkbox input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; }
.bu-field-checkbox label { font-weight: 400; }
.bu-field-error input, .bu-field-error select, .bu-field-error textarea { border-color: #b3261e; border-width: 2px; }
.bu-error { margin: 0; color: #b3261e; font-size: .9rem; font-weight: 600; }
[data-theme="dark"] .bu-error, [data-theme="dark"] .bu-req { color: #ff8a80; }
.bu-notice { padding: 1rem 1.1rem; border-radius: 8px; margin: 0 0 1rem; border: 1px solid; }
.bu-notice-success { background: #e6f4ea; border-color: #1e8e3e; color: #0d652d; }
.bu-notice-error { background: #fce8e6; border-color: #b3261e; color: #8c1d18; }
[data-theme="dark"] .bu-notice-success { background: rgba(30, 142, 62, .2); color: #a8dab5; }
[data-theme="dark"] .bu-notice-error { background: rgba(179, 38, 30, .2); color: #f6aea9; }
.bu-notice ul { margin: .5rem 0 0 1.2rem; }
.bu-notice a { color: inherit; text-decoration: underline; }
.bu-submit { margin: 0; }
.bu-button { font: inherit; font-weight: 700; padding: .8rem 1.6rem; border-radius: 999px; border: 0; cursor: pointer; background: #111; color: #fff; min-height: 2.75rem; }
[data-theme="dark"] .bu-button { background: #fff; color: #111; }
.bu-button:hover { opacity: .9; }
.bu-form-disabled { padding: 1rem 1.1rem; border: 1px dashed rgba(0, 0, 0, .3); border-radius: 8px; }
/* honeypot: off-screen, not display:none, so simple bots still fill it */
.bu-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (prefers-reduced-motion: no-preference) { .bu-button { transition: opacity .15s ease; } }
