:root {
  --nja-red: #8B0000;
  --nja-red-dark: #5f0000;
  --nja-gold: #C79B3B;
  --nja-cream: #FFF8EF;
  --nja-text: #15110f;
  --nja-muted: #6b625f;
  --nja-line: rgba(139,0,0,.15);
}

.oroko-nja-wrap,
.oroko-nja-wrap * {
  box-sizing: border-box;
}

.oroko-nja-wrap {
  width: min(1120px, calc(100% - 28px));
  margin: 0 auto;
  color: var(--nja-text);
  font-family: inherit;
}

.oroko-nja-head {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(260px,.65fr);
  gap: 22px;
  align-items: stretch;
  background: linear-gradient(135deg, var(--nja-red-dark), var(--nja-red));
  color: #fff;
  border-radius: 28px;
  padding: clamp(24px, 4vw, 42px);
  margin-bottom: 22px;
  overflow: hidden;
}

.oroko-nja-kicker {
  color: #ffe5a9;
  margin: 0 0 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
}

.oroko-nja-head h1 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(34px, 5vw, 60px);
  line-height: .98;
  letter-spacing: -.04em;
  font-weight: 950;
}

.oroko-nja-head p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: clamp(15px, 1.4vw, 19px);
}

.oroko-nja-head aside {
  display: grid;
  gap: 9px;
  align-content: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  padding: 20px;
}

.oroko-nja-head aside span,
.oroko-nja-head aside strong {
  display: block;
  color: #fff;
}

.oroko-nja-rules-strip,
.oroko-nja-summary-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin: 18px 0 22px;
}

.oroko-nja-rules-strip > div,
.oroko-nja-summary-grid > div,
.oroko-nja-form,
.oroko-nja-lit,
.oroko-nja-bylaws-summary {
  background: #fff;
  border: 1px solid var(--nja-line);
  border-radius: 22px;
  box-shadow: 0 16px 44px rgba(71,39,15,.08);
}

.oroko-nja-rules-strip > div {
  padding: 18px;
}

.oroko-nja-rules-strip strong,
.oroko-nja-summary-grid strong {
  display: block;
  color: var(--nja-red);
  font-size: clamp(20px, 2.5vw, 30px);
  line-height: 1;
  margin-bottom: 7px;
}

.oroko-nja-rules-strip span,
.oroko-nja-summary-grid span {
  color: var(--nja-muted);
  font-weight: 800;
  font-size: 13px;
}

.oroko-nja-form {
  padding: clamp(20px, 3vw, 34px);
}

.oroko-nja-form h2,
.oroko-nja-lit h2,
.oroko-nja-bylaws-summary h2 {
  color: var(--nja-red);
  font-size: clamp(22px, 2.5vw, 34px);
  margin: 26px 0 12px;
  line-height: 1.1;
}

.oroko-nja-field-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 12px;
}

.oroko-nja-field-grid.one { grid-template-columns: 1fr; }
.oroko-nja-field-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.oroko-nja-field-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }

.oroko-nja-form label {
  display: grid;
  gap: 7px;
  font-weight: 900;
}

.oroko-nja-form label span {
  color: var(--nja-red);
}

.oroko-nja-form input,
.oroko-nja-form select,
.oroko-nja-form textarea {
  width: 100%;
  border: 1px solid rgba(139,0,0,.18);
  border-radius: 14px;
  padding: 12px 13px;
  font: inherit;
  background: #fffdf9;
}

.oroko-nja-help {
  color: var(--nja-muted);
  margin: -2px 0 12px;
}

.oroko-nja-agreement {
  margin: 22px 0;
  padding: 16px;
  border-radius: 18px;
  background: #fff8ea;
  border: 1px solid rgba(199,155,59,.30);
}

.oroko-nja-agreement label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  line-height: 1.5;
}

.oroko-nja-agreement input {
  width: auto;
  margin-top: 5px;
}

.oroko-nja-official-box {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 18px 0;
  padding: 14px;
  border: 1px dashed rgba(139,0,0,.28);
  border-radius: 16px;
  background: #fffafa;
}

.oroko-nja-official-box strong {
  width: 100%;
  color: var(--nja-red);
}

.oroko-nja-official-box span {
  padding: 7px 11px;
  border: 1px solid rgba(139,0,0,.16);
  border-radius: 999px;
  color: var(--nja-muted);
  font-weight: 800;
}

.oroko-nja-submit,
.oroko-nja-link-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  border-radius: 999px;
  padding: 14px 22px;
  background: linear-gradient(135deg, var(--nja-red), var(--nja-red-dark));
  color: #fff !important;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(139,0,0,.24);
}

.oroko-nja-alert {
  padding: 14px 16px;
  border-radius: 16px;
  margin-bottom: 18px;
  font-weight: 800;
}

.oroko-nja-alert ul {
  margin: 8px 0 0 18px;
}

.oroko-nja-alert.is-success {
  background: #f1fff6;
  color: #0f6b35;
  border: 1px solid rgba(15,107,53,.22);
}

.oroko-nja-alert.is-error {
  background: #fff2f2;
  color: #9b1c1c;
  border: 1px solid rgba(155,28,28,.22);
}

.oroko-nja-alert.is-warning {
  background: #fff8ea;
  color: #7a540e;
  border: 1px solid rgba(199,155,59,.30);
}

.oroko-nja-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
}

.oroko-nja-bylaws-summary {
  padding: clamp(20px, 3vw, 30px);
  margin-top: 24px;
}

.oroko-nja-summary-grid > div {
  padding: 18px;
  box-shadow: none;
}

.oroko-nja-lit {
  padding: clamp(22px, 4vw, 44px);
  line-height: 1.72;
}

.oroko-nja-lit p,
.oroko-nja-lit li {
  color: var(--nja-text);
  font-size: clamp(15px, 1.15vw, 17px);
}

.oroko-nja-lit ul {
  padding-left: 22px;
}

@media (max-width: 920px) {
  .oroko-nja-head,
  .oroko-nja-field-grid.two,
  .oroko-nja-field-grid.three {
    grid-template-columns: 1fr;
  }

  .oroko-nja-rules-strip,
  .oroko-nja-summary-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 560px) {
  .oroko-nja-wrap {
    width: min(100% - 18px, 1120px);
  }

  .oroko-nja-rules-strip,
  .oroko-nja-summary-grid {
    grid-template-columns: 1fr;
  }

  .oroko-nja-head,
  .oroko-nja-form,
  .oroko-nja-lit,
  .oroko-nja-bylaws-summary {
    border-radius: 18px;
  }
}


/* V1.1: Admin-controlled clamp() typography */
.oroko-nja-head h1 {
  font-size: var(--nja-header-title-size, clamp(30px, 4.2vw, 56px)) !important;
}

.oroko-nja-head p,
.oroko-nja-head aside span,
.oroko-nja-head aside strong {
  font-size: var(--nja-header-body-size, clamp(14px, 1.2vw, 18px)) !important;
}

.oroko-nja-form h2,
.oroko-nja-lit h2,
.oroko-nja-bylaws-summary h2 {
  font-size: var(--nja-section-title-size, clamp(21px, 2.2vw, 32px)) !important;
}

.oroko-nja-lit p,
.oroko-nja-lit li,
.oroko-nja-help,
.oroko-nja-agreement label,
.oroko-nja-summary-grid span,
.oroko-nja-rules-strip span {
  font-size: var(--nja-body-text-size, clamp(14px, 1vw, 16px)) !important;
}

.oroko-nja-rules-strip strong,
.oroko-nja-summary-grid strong {
  font-size: var(--nja-rule-number-size, clamp(19px, 2.1vw, 28px)) !important;
}

.oroko-nja-form label {
  font-size: var(--nja-label-text-size, clamp(13px, .95vw, 15px)) !important;
}

.oroko-nja-form input,
.oroko-nja-form select,
.oroko-nja-form textarea {
  font-size: var(--nja-input-text-size, clamp(14px, 1vw, 16px)) !important;
}

@media (max-width: 560px) {
  .oroko-nja-head h1 {
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }

  .oroko-nja-head {
    padding: 22px 18px !important;
  }
}


/* V1.2: Member At Large conditional fields */
.oroko-nja-member-at-large-fields {
  display: none;
  margin: 8px 0 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(199,155,59,.32);
  background: #fff8ea;
}

.oroko-nja-member-at-large-fields.is-visible {
  display: block;
}

.oroko-nja-form select {
  appearance: auto;
}
