/* Intense Boxing – /join/ sign-up & waiver + admin (The Hive v2). Page-only styles. */
[hidden]{display:none!important}
.jn-hero{padding-bottom:clamp(24px,3vw,40px)}
.jn-hero h1{font-size:clamp(2.75rem,1.6rem + 4.6vw,5.5rem)}
.jn-draft{margin:var(--s5) 0 0;padding:14px 16px;border:2px dashed var(--bee);border-radius:var(--r-sm);background:rgba(255,194,26,.08);color:var(--fg);font-weight:600}
.jn-draft b{color:var(--bee)}
.jn-sec{padding-top:clamp(24px,4vw,56px)}
.jn-grid{display:grid;gap:var(--s6);align-items:start}
.jn-main{min-width:0;max-width:46rem}
.jn-step{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:clamp(18px,2.4vw,28px);margin:0 0 var(--s4);min-width:0;box-shadow:var(--shadow)}
.jn-step:focus-within{border-color:rgba(255,194,26,.45)}
.jn-step legend{float:left;width:100%;display:flex;align-items:center;gap:12px;font:800 clamp(1.6rem,1.2rem + 1.4vw,2.3rem)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 var(--s4);padding:0}
.jn-step legend+*{clear:both}
#jn-form{counter-reset:st}
.jn-step:not([hidden]){counter-increment:st}
.jn-n:before{content:counter(st)}
.jn-n{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--bee);color:var(--bee-ink);font:800 1.2rem/1 var(--font-display)}
.jn-hint{color:var(--fg-2);margin:0 0 var(--s4);clear:both}
.jn-small{font-size:.92rem;color:var(--mut);margin:var(--s3) 0 0}
.jn-small a{font-weight:600}
.jn-fields{display:grid;gap:14px;clear:both}
.jn-field label,.jn-q{display:block;font-weight:650;margin-bottom:6px}
.jn-field label small,.jn-q small{color:var(--mut);font-weight:500}
.jn-field input,.jn-field textarea,.jn-field select{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--r-sm);border:2px solid var(--line-2);background:var(--ink);color:var(--fg);font:500 1.0625rem/1.3 var(--font-body)}
.jn-field textarea{min-height:104px;resize:vertical}
.jn-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC21A' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.jn-field input:focus,.jn-field textarea:focus,.jn-field select:focus{outline:none;border-color:var(--bee)}
.jn-field input:focus-visible,.jn-field textarea:focus-visible,.jn-field select:focus-visible{outline:3px solid var(--bee);outline-offset:2px}
.jn-field input[type=date]{color-scheme:dark}
.jn-field .jn-help{display:block;color:var(--mut);font-size:.88rem;margin-top:6px}
/* radio / checkbox cards */
.jn-opts{display:grid;gap:10px;clear:both}
.jn-opt{position:relative;display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px;border:2px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel-2);transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.jn-opt:hover{border-color:rgba(255,194,26,.55)}
.jn-opt input{flex:none;width:24px;height:24px;margin:1px 0 0;accent-color:var(--bee);cursor:pointer}
.jn-opt span{min-width:0}
.jn-opt b{display:block;font-weight:700}
.jn-opt small{display:block;color:var(--mut);font-size:.88rem;margin-top:2px}
.jn-opt:has(input:checked){border-color:var(--bee);background:rgba(255,194,26,.08)}
.jn-opt:has(input:focus-visible){outline:3px solid var(--bee);outline-offset:3px}
.jn-yn{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--s4)}
.jn-yn .jn-opt{align-items:center}
.jn-consent{font-weight:500;color:var(--fg)}
.jn-consent b{display:inline;font-weight:700}
.jn-who{font:800 1.3rem/1.1 var(--font-display);text-transform:uppercase}
/* agreement text */
.jn-doc{clear:both;padding:16px 18px;border-left:3px solid var(--bee);background:rgba(255,255,255,.03);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:0 0 var(--s4);color:var(--fg-2)}
.jn-doc h3{font-size:1.5rem;margin:0 0 .5em;color:var(--fg)}
.jn-doc h4{font:700 .8rem/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--bee);margin:1em 0 .3em}
.jn-doc ol{padding-left:1.25em;margin:.6em 0}
.jn-doc li{margin-bottom:.5em}
.jn-doc li::marker{color:var(--bee);font-weight:700}
.jn-doc li b{color:var(--fg)}
.jn-doc p:last-child{margin-bottom:0}
.jn-err{border:2px solid var(--red-hi);background:rgba(216,30,40,.1);border-radius:var(--r-sm);padding:14px 16px;margin:0 0 var(--s4);outline:none}
.jn-err h3{font-size:1.4rem;margin:0 0 .4em}
.jn-err ul,.jn-errlist{margin:0;padding-left:1.2em}
.jn-submit{width:100%;min-height:60px;font-size:1.1rem}
.jn-submit[disabled]{opacity:.6;cursor:progress}
.jn-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* aside */
.jn-aside{display:grid;gap:var(--s4)}
.jn-aside h3{font-size:1.7rem}
.jn-steps{margin:0;padding-left:1.2em;color:var(--fg-2)}
.jn-steps li{margin-bottom:.55em}
.jn-steps li::marker{color:var(--bee);font-weight:700}
.jn-aside .btn{width:100%;margin-top:var(--s3)}
/* thanks */
.jn-ref{display:inline-block;font:800 1.5rem/1 var(--font-display);letter-spacing:.06em;color:var(--bee);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:10px 14px;margin:var(--s3) 0 0}
.jn-next{counter-reset:n;list-style:none;padding:0;margin:var(--s5) 0 0;display:grid;gap:var(--s4)}
.jn-next li{counter-increment:n;position:relative;padding:18px 18px 18px 70px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.jn-next li:before{content:counter(n);position:absolute;left:18px;top:18px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--bee);color:var(--bee-ink);font:800 1.2rem/1 var(--font-display)}
.jn-next h3{font-size:1.45rem;margin:0 0 .3em}
.jn-next p{margin:0;color:var(--fg-2)}
.jn-next .ctas{margin:var(--s3) 0 0}
/* admin */
.jn-plain .phero{padding-top:clamp(28px,5vw,56px)}
.jn-tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);margin:var(--s4) 0}
.jn-tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.jn-tbl th,.jn-tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.jn-tbl thead th{font:700 .72rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);background:var(--panel)}
.jn-tbl td a{color:var(--bee)}
.jn-kv th{width:32%;color:var(--mut);font-weight:600}
.jn-flag{color:var(--bee)}
.jn-pre{white-space:pre-wrap;word-break:break-word;font-size:.8rem;background:var(--panel);padding:12px;border-radius:var(--r-sm);color:var(--fg-2)}
.jn-details summary{cursor:pointer;font-weight:700;padding:10px 0}
.jn-search{display:flex;gap:10px;flex-wrap:wrap;margin:var(--s4) 0}
.jn-search input,.jn-del input{flex:1 1 240px;min-height:48px;padding:10px 14px;border-radius:var(--r-sm);border:2px solid var(--line-2);background:var(--ink);color:var(--fg);font:inherit}
.jn-del{margin-top:var(--s6);padding:16px;border:1px solid rgba(255,59,69,.4);border-radius:var(--r-sm);display:grid;gap:10px}
.jn-del label{display:grid;gap:8px;font-weight:600}
@media (min-width:600px){
  .jn-fields.two{grid-template-columns:1fr 1fr}
  .jn-fields .wide{grid-column:1/-1}
  .jn-opts.two{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  .jn-grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s7)}
  .jn-aside{position:sticky;top:calc(var(--navh) + 24px)}
}

.jn-risks{margin:.4em 0 .8em;padding-left:1.25em}.jn-risks li{margin-bottom:.3em}.jn-risks li::marker{color:var(--bee)}
#risks .jn-opts{margin-top:.6em}
.jn-risk-banner{margin:.2em 0 .7em;padding:10px 14px;border:2px solid var(--bee);border-radius:var(--r-sm);background:rgba(255,194,26,.1);color:var(--fg);font-size:1.15rem;line-height:1.35}
.jn-medical{margin:0 0 var(--s3)}
.jn-med{padding:12px 0;border-top:1px solid var(--line-2)}
.jn-med-q{margin:0 0 8px;font-weight:700;color:var(--fg)}
.jn-med .jn-yn{margin:0}
.jn-med-d{margin-top:10px}
.jn-med-d textarea{width:100%}
.jn-gp{margin-top:var(--s3)}
.jn-med-d textarea{min-height:72px}
