/**
 * Brighton Jitsu Club → theme bridge (v1.5.31)
 * Remap legacy tokens to brighton-jitsu fight-poster tokens; kill inspiro-era
 * rounded light surfaces; keep members/shortcodes readable on dark chrome.
 */
.bj-members,
.bjclm-member,
.bjclm-licence,
.bj-standing-order,
.bjc-events,
.signup-block {
  /* Prefer theme --bx-* when present; fall back to legacy :root */
  --ink: var(--bx-bone, #f2eee6);
  --muted: var(--bx-mute, #b9b4ab);
  --line: var(--bx-line, #2a2a2a);
  --accent: var(--bx-red, #c8102e);
  --accent-ink: #fff;
  --card: var(--bx-ink, #141414);
  --bg: var(--bx-black, #0b0b0b);
  --sans: var(--bx-body, Inter, system-ui, sans-serif);
  --serif: var(--bx-display, "Bebas Neue", Impact, sans-serif);
  --gold: #ffd36a;
  color: var(--ink);
  font-family: var(--sans);
  max-width: 100%;
  overflow-x: hidden;
}

/* Headings: display font for H1/H2 in members */
.bj-members > h1,
.bj-members .bj-syllabus-grade,
.bj-members .bj-video-card__title,
.bj-members .bj-trainer-cue,
.bj-members .bj-trainer-answer {
  font-family: var(--bx-display, var(--serif));
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--bx-bone, var(--ink));
}

/* Cards / notices — square, dark */
.bj-members .card,
.bjclm-member .card,
.signup-block .card,
.bj-standing-order,
.bjclm-licence {
  background: var(--bx-ink, #141414) !important;
  border: 1px solid var(--bx-line, #2a2a2a) !important;
  border-radius: 0 !important;
  color: var(--bx-bone, #f2eee6);
  box-shadow: none !important;
}
.bj-standing-order,
.bjclm-licence {
  border-top: 4px solid var(--bx-red, #c8102e) !important;
  padding: 1.1rem 1.25rem !important;
  margin: 1.5rem 0 !important;
  max-width: 36rem;
}
.bj-standing-order h3,
.bjclm-licence h3 {
  margin-top: 0;
  font-family: var(--bx-display, Impact, sans-serif);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bx-bone, #f2eee6);
}

/* Forms inside members / licence signup */
.bj-members .bj-input,
.bj-members input[type="text"],
.bj-members input[type="email"],
.bj-members input[type="tel"],
.bj-members input[type="password"],
.bj-members input[type="number"],
.bj-members input[type="date"],
.bj-members select,
.bj-members textarea,
.bjclm-member input[type="text"],
.bjclm-member input[type="email"],
.bjclm-member input[type="tel"],
.bjclm-member select,
.bjclm-member textarea,
.signup-block input[type="text"],
.signup-block input[type="email"],
.signup-block input[type="tel"],
.signup-block textarea,
.signup-block select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--bx-field-line, #6b6b6b) !important;
  border-radius: 0 !important;
  background: var(--bx-field, #121212) !important;
  color: var(--bx-bone, #f2eee6) !important;
  font: 400 16px/1.4 var(--bx-body, Inter, system-ui, sans-serif) !important;
  box-shadow: none !important;
}
.bj-members textarea,
.signup-block textarea { min-height: 120px; }
.bj-members label,
.bjclm-member label,
.signup-block label {
  color: var(--bx-bone, #f2eee6);
  font: 600 14px/1.4 var(--bx-body, Inter, system-ui, sans-serif);
}

/* Buttons — match .bx-btn / theme */
.bj-members :is(.btn, button.btn, button[type="submit"], .button),
.bjclm-member :is(.btn, button[type="submit"]),
.signup-block :is(.btn, button[type="submit"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 24px;
  border: 2px solid var(--bx-red, #c8102e) !important;
  border-radius: 0 !important;
  background: var(--bx-red, #c8102e) !important;
  color: #fff !important;
  font: 700 14px/1 var(--bx-body, Inter, system-ui, sans-serif) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none !important;
  cursor: pointer;
}
.bj-members :is(.btn, button[type="submit"]):hover,
.bjclm-member button[type="submit"]:hover,
.signup-block button[type="submit"]:hover {
  background: #8f0b21 !important;
  border-color: #8f0b21 !important;
  color: #fff !important;
}

/* Nav underline uses club red */
.bj-members-nav {
  border-bottom-color: var(--bx-line, #2a2a2a);
  font-family: var(--bx-body, Inter, system-ui, sans-serif);
}
.bj-members-nav a[aria-current="page"] {
  box-shadow: inset 0 -2px 0 var(--bx-red, #c8102e);
  color: var(--bx-red-hi, #ff5468);
}

/* Soften pill chrome → square where it's chrome UI (keep belt chips round) */
.bj-members .bj-trainer-seg,
.bj-members .bj-video-tag,
.bj-members .bj-trainer-chip {
  border-radius: 0;
}
.bj-members .bj-input,
.bj-members .bj-trainer-option {
  border-radius: 0 !important;
  background: var(--bx-field, #121212) !important;
}

/* Tables */
.bj-members table,
.bjc-events table {
  width: 100%;
  border-collapse: collapse;
  background: var(--bx-ink, #141414);
  color: var(--bx-bone, #f2eee6);
}
.bj-members th,
.bj-members td,
.bjc-events th,
.bjc-events td {
  border-bottom: 1px solid var(--bx-line, #2a2a2a);
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
}

/* Notices */
.bj-members .notice,
.signup-block .notice,
.bjclm-member .notice {
  background: var(--bx-ink, #141414) !important;
  border: 1px solid var(--bx-line, #2a2a2a) !important;
  border-left: 4px solid var(--bx-red, #c8102e) !important;
  border-radius: 0 !important;
  color: var(--bx-bone, #f2eee6) !important;
  padding: 14px 18px;
}

/* Mobile 360–430: full width, no overflow */
@media (max-width: 430px) {
  .bj-members {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
  }
  .bj-members .card,
  .bjclm-member .card,
  .signup-block .card {
    padding: 16px 14px;
  }
  .bj-members .bj-input,
  .bj-members input,
  .bj-members select,
  .bj-members textarea,
  .bjclm-member input,
  .signup-block input {
    max-width: 100% !important;
  }
  .bj-belt-rail,
  .bj-trainer-segments,
  .bj-trainer-know {
    max-width: 100%;
  }
  .bj-tech-nav__prev,
  .bj-tech-nav__next {
    max-width: 100%;
  }
}

/* Events shortcode */
.bjc-events,
.bjc-events .card {
  background: var(--bx-ink, #141414);
  border-color: var(--bx-line, #2a2a2a);
  color: var(--bx-bone, #f2eee6);
}

/* Contact FAB from club widget — match theme red, square */
.bjc-launch,
.bjc-send {
  background: var(--bx-red, #c8102e) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: var(--bx-body, Inter, system-ui, sans-serif) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.bjc-panel {
  background: var(--bx-ink, #141414) !important;
  border: 1px solid var(--bx-line, #2a2a2a) !important;
  border-radius: 0 !important;
  color: var(--bx-bone, #f2eee6) !important;
  font-family: var(--bx-body, Inter, system-ui, sans-serif) !important;
}
.bjc-item,
.bjc-form input,
.bjc-form textarea {
  background: var(--bx-field, #121212) !important;
  border-color: var(--bx-field-line, #6b6b6b) !important;
  border-radius: 0 !important;
  color: var(--bx-bone, #f2eee6) !important;
}
