/* Workshop registration page (/register/). Builds on site.css + article.css tokens, type and buttons.
   Form-first: the headline is the ask, the form owns the main column, event details sit in a compact ticket. */
.rg{padding-top:clamp(40px,6vw,96px);padding-bottom:clamp(24px,4vw,48px)}

/* head */
.rg-title{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:112%;
  font-size:min(6.5vw,96px);line-height:.95;letter-spacing:-.035em;white-space:nowrap}
.rg-title em{font-style:normal;color:var(--redline)}
.rg-sub{margin:clamp(18px,2vw,26px) 0 0;max-width:46ch;font-size:clamp(17px,1.4vw,20px);line-height:1.5;color:var(--muted)}
.rg-sub b{font-weight:600;color:var(--ink)}

/* layout */
.rg-grid{max-width:1200px;margin-top:clamp(32px,4vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(20px,2.4vw,32px);align-items:start}

/* form card */
.rg-card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--redline)}
.rg-form{display:flex;flex-direction:column}
.rg-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.rg-row .rg-f:first-child{padding-right:clamp(10px,1.3vw,16px)}
.rg-row .rg-f+.rg-f{padding-left:clamp(10px,1.3vw,16px)}
.rg-f{margin:0;min-width:0;border:0;border-bottom:1px solid var(--line);padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:12px}
.rg-l{padding:0;display:flex;align-items:baseline;gap:6px;font-family:var(--f-display);font-weight:700;font-stretch:104%;font-size:clamp(18px,1.5vw,21px);line-height:1.2;letter-spacing:-.01em}
.rg-l i{font-style:normal;color:var(--redline)}
legend.rg-l{float:left;width:100%;margin-bottom:12px}
legend.rg-l+*{clear:both}
.rg-honey{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

.rg-f input:not([type=checkbox]):not([type=radio]),.rg-f textarea{width:100%;box-sizing:border-box;font:inherit;font-family:var(--f-body);font-size:17px;
  padding:14px 16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:0;transition:border-color .25s,box-shadow .25s}
.rg-f textarea{resize:vertical;min-height:88px;line-height:1.45}
.rg-f input::placeholder,.rg-f textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
.rg-f input:focus,.rg-f textarea:focus{outline:none;border-color:var(--redline);box-shadow:0 0 0 3px color-mix(in srgb,var(--redline) 16%,transparent)}
.rg-f.is-bad input{border-color:var(--redline)}
.rg-err{font-style:normal;font-size:13px;color:var(--redline)}
.rg-err:empty{display:none}

/* chips (real checkboxes / radios, visually styled) */
.rg-chips{display:flex;flex-wrap:wrap;gap:8px}
.rg-chip{position:relative;display:inline-flex;cursor:pointer}
.rg-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rg-chip span{display:flex;white-space:nowrap;box-sizing:border-box;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--line);background:var(--paper);
  font-size:15px;line-height:1.2;transition:background .25s var(--ease),border-color .25s,color .25s;user-select:none}
.rg-chip span::before{content:"";width:8px;height:8px;border:1px solid currentColor;opacity:.45;transition:background .25s,opacity .25s}
.rg-chip input[type=radio]+span::before{border-radius:50%}
.rg-chip:hover span{border-color:var(--ink)}
.rg-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.rg-chip input:checked+span::before{background:var(--redline);border-color:var(--redline);opacity:1}
.rg-chip input:focus-visible+span{outline:2px solid var(--redline);outline-offset:2px}

/* submit */
.rg-submit{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:12px}
.rg-send{width:100%;height:58px;justify-content:center;cursor:pointer;font:inherit;font-size:14px}
.rg-send[disabled]{opacity:.6;cursor:progress}
.rg-fail{margin:0;font-size:14px;color:var(--redline);line-height:1.45}

/* done / closed */
.rg-done{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.rg-cal-l{margin:8px 0 0;font-size:11px;color:var(--muted)}
.rg-cal{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.rg-cal .btn{flex:1 1 220px;justify-content:center}
.rg-tick{display:grid;place-items:center;width:52px;height:52px;background:var(--redline);color:var(--on-red)}
.rg-tick svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2}
.rg-h{margin:0;font-family:var(--f-display);font-weight:800;font-stretch:108%;font-size:clamp(32px,3.6vw,48px);line-height:.95;letter-spacing:-.03em;outline:none}
.rg-lead{margin:0;max-width:44ch;color:var(--muted);line-height:1.5;font-size:17px}

/* ticket */
.rg-ticket{position:sticky;top:24px;background:var(--ink);color:var(--paper)}
.rg-ticket-top{padding:22px 22px 18px;border-bottom:1px dashed color-mix(in srgb,var(--paper) 30%,transparent)}
.rg-date{display:flex;align-items:flex-end;gap:12px}
.rg-date b{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:76px;line-height:.8;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rg-date .mono{color:color-mix(in srgb,var(--paper) 70%,transparent);line-height:1.5;font-size:11px}
.rg-ticket-name{margin:16px 0 0;font-family:var(--f-display);font-weight:700;font-stretch:104%;font-size:20px;line-height:1.15;letter-spacing:-.01em}
.rg-meta{margin:0;padding:6px 22px 22px;display:flex;flex-direction:column}
.rg-meta div{padding:14px 0;display:flex;flex-direction:column;gap:5px;border-bottom:1px solid color-mix(in srgb,var(--paper) 14%,transparent)}
.rg-meta div:last-child{border-bottom:0;padding-bottom:0}
.rg-meta dt{color:color-mix(in srgb,var(--paper) 60%,transparent);font-size:10px}
.rg-meta dd{margin:0;font-size:15px;line-height:1.45}
.rg-meta a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--paper) 40%,transparent)}
.rg-meta a:hover{color:var(--redline)}

.rg-foot{margin-top:clamp(64px,8vw,120px);padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}

@media (max-width:960px){
  .rg-grid{grid-template-columns:minmax(0,1fr)}
  .rg-ticket{position:static}
}
@media (max-width:640px){
  .rg-row{grid-template-columns:minmax(0,1fr)}
  .rg-row .rg-f:first-child{padding-right:16px;border-bottom:0;padding-bottom:4px}
  .rg-row .rg-f+.rg-f{padding-left:16px}
  .rg-f,.rg-submit{padding:20px 16px}
  .rg-chips{gap:6px}
  .rg-chips--stack{flex-direction:column}
  .rg-chips--stack .rg-chip span{width:100%}
  .rg-chip span{padding:0 12px}
  .rg-chip span{font-size:14px;padding:0 10px;min-height:40px;gap:7px}
}
@media (prefers-reduced-motion:reduce){.rg-chip span,.rg-f input,.rg-f textarea{transition:none}}
