/* Registration, confirmation and waiver pages. Loads after tickets.css and
   uses only the site's existing tokens (--ink, --cream, --coal, --ember, --rule, fonts). */

.rg-page main{max-width:960px;margin-inline:auto;}
.rg-page .tk-hero{margin-inline:calc(-1 * clamp(16px,3vw,48px));}
.rg-hero .tk-title{font-size:clamp(56px,9vw,112px);}
.rg-stage{
  display:inline-block;margin:6px 0 0;padding:6px 12px;border:2px solid var(--gold);
  font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
}
.rg-loading{font-family:var(--body);font-size:17px;}

.rg-banner{margin:0 0 24px;padding:12px 16px;border-left:6px solid var(--ember);background:var(--cream);font-family:var(--body);font-size:16px;line-height:1.45;}
.rg-banner--test{border-color:#2b6cb0;background:#eef4fb;}

.rg-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.rg-field{margin:0 0 14px;min-width:0;}
.rg-field label{
  display:block;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 6px;
}
.rg-opt{font-weight:400;text-transform:none;letter-spacing:0;}
.rg-field input,.rg-field select{
  width:100%;min-height:48px;font-family:var(--body);font-size:17px;padding:10px 12px;
  border:2px solid var(--ink);border-radius:3px;background:var(--cream);color:var(--ink);box-sizing:border-box;
}
.rg-field input:focus-visible,.rg-field select:focus-visible,.rg-check input:focus-visible,.rg-pass input:focus-visible{outline:3px solid var(--ember);outline-offset:2px;}
.rg-field input[aria-invalid="true"]{border-color:var(--ember);}

.rg-att{border:2px solid var(--ink);border-radius:3px;background:var(--cream);padding:6px 20px 14px;margin:0 0 18px;min-width:0;}
.rg-att-head{display:flex;align-items:center;gap:14px;padding:0 6px;font-family:var(--display);font-size:24px;text-transform:uppercase;}
.rg-remove{
  font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  background:none;border:0;color:var(--ink);text-decoration:underline;cursor:pointer;padding:6px;
}
.rg-check{display:flex;align-items:flex-start;gap:10px;margin:2px 0 14px;font-family:var(--body);font-size:17px;line-height:1.4;cursor:pointer;}
.rg-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ember);flex:none;}
.rg-check--strong{font-weight:700;}
.rg-hint{font-family:var(--body);font-size:15px;line-height:1.45;margin:0 0 12px;}

.rg-passes{display:grid;gap:8px;margin:0 0 14px;}
.rg-pass{
  display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"box name price" "box days price";
  gap:0 12px;align-items:center;padding:10px 14px;border:1px solid var(--rule);border-radius:3px;cursor:pointer;background:#fff;
}
.rg-pass:has(input:checked){border:2px solid var(--ember);padding:9px 13px;}
.rg-pass input{grid-area:box;width:22px;height:22px;accent-color:var(--ember);}
.rg-pass-name{grid-area:name;font-family:var(--display-heavy);text-transform:uppercase;font-size:16px;}
.rg-pass-days{grid-area:days;font-family:var(--mono);font-size:13px;}
.rg-pass-price{grid-area:price;font-family:var(--display);font-size:28px;}

.tk-btn--outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.tk-btn--outline:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.rg-withheld{margin-top:16px;}

.rg-terms li{font-size:16px;}
.rg-table{width:100%;border-collapse:collapse;font-family:var(--body);font-size:17px;margin:0 0 16px;}
.rg-table th{text-align:left;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding:8px 6px;}
.rg-table td{border-bottom:1px solid var(--rule);padding:10px 6px;vertical-align:top;}
.rg-table tfoot td{font-family:var(--display-heavy);text-transform:uppercase;border-top:2px solid var(--ink);border-bottom:0;}
.rg-num{text-align:right;white-space:nowrap;}
.rg-pay{width:100%;font-size:18px;min-height:58px;}
.rg-pay:disabled{opacity:.6;cursor:progress;}
.rg-fine{font-family:var(--body);font-size:14px;line-height:1.45;margin:10px 0 0;}

/* Confirmation + waiver */
.rg-ref{font-family:var(--mono);font-weight:700;font-size:clamp(20px,3vw,28px);letter-spacing:.06em;}
.rg-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;list-style:none;padding:0;margin:0 0 24px;}
.rg-facts li{border-top:1px solid var(--rule);padding:10px 0;font-family:var(--body);font-size:17px;}
.rg-facts strong{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ember-ink,#C0331A);}
.rg-person{border:2px solid var(--ink);border-radius:3px;background:var(--cream);padding:16px 20px;margin:0 0 14px;}
.rg-person h3{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:26px;margin:0 0 6px;}
.rg-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:2px solid currentColor;}
.rg-pill--todo{color:#9a3412;}
.rg-pill--ok{color:#166534;}
.rg-doc{border:1px solid var(--rule);background:#fff;padding:16px;max-height:340px;overflow:auto;font-family:var(--body-serif);font-size:17px;line-height:1.5;margin:0 0 18px;white-space:pre-wrap;}

@media (max-width:700px){
  .rg-grid2,.rg-facts{grid-template-columns:1fr;}
  .rg-att{padding:4px 14px 12px;}
  .rg-pass-price{font-size:24px;}
}

/* G006: arrival details, emergency contact, accessibility, marketing choice */
.rg-arrival{font-family:var(--body-serif, Georgia, serif);font-size:18px;line-height:1.55;border-left:4px solid var(--rule, #030303);padding:8px 14px;margin:8px 0 0;}
.rg-ice{margin:12px 0 0;border-top:1px solid var(--rule, #d8d2c2);padding-top:10px;}
.rg-ice summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;}
.rg-ice-form .tk-btn{margin-top:6px;}
.rg-marketing{margin-top:14px;font-weight:400;}
#cf-access textarea, .rg-field textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;border:2px solid var(--ink, #030303);background:#fff;}
[aria-invalid="true"]{outline:3px solid #b42318;outline-offset:2px;}
.rg-choice{display:block;margin:6px 0;}

/* G007: wide tables never widen the page on phones (Ambassador reward levels). */
.rg-table-scroll{max-width:100%;overflow-x:auto;}
.rg-table-scroll .rg-table th,.rg-table-scroll .rg-table td{white-space:normal;}

