/**
 * Native registration / request forms (inc/registration-forms.php).
 * RP-branded, token-driven. Loaded only on pages using [rp_registration].
 */
.rp-regform {
  --rp-navy: var(--wp--preset--color--deep-blue, #1C3664);
  --rp-tangelo: var(--wp--preset--color--tangelo, #F94D00);
  --rp-line: var(--wp--preset--color--border, #E5DFD4);
  --rp-ink: var(--wp--preset--color--foreground, #010203);
  --rp-muted: var(--wp--preset--color--muted-foreground, #5B5E60);
  --rp-paper: var(--wp--preset--color--paper, #FAF6F0);
  --rp-sans: var(--wp--preset--font-family--inter, "Messina Sans", system-ui, sans-serif);
  --rp-serif: var(--wp--preset--font-family--mencken, "Messina Serif", Georgia, serif);
  max-width: 760px;
  margin: 0 auto;
  font-family: var(--rp-sans);
  color: var(--rp-ink);
}
.rp-regform__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rp-regform__intro { font-size: 1.05rem; color: var(--rp-muted); margin: 0 0 1.75rem; max-width: 60ch; }

.rp-regform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.rp-regform__field { display: flex; flex-direction: column; grid-column: 1 / -1; }
.rp-regform__field--half { grid-column: span 1; }
@media (max-width: 620px) { .rp-regform__field--half { grid-column: 1 / -1; } }

.rp-regform__heading {
  grid-column: 1 / -1;
  font-family: var(--rp-serif); font-weight: 400; font-size: 1.5rem;
  letter-spacing: -0.01em; color: var(--rp-ink);
  margin: 1.5rem 0 0.25rem; padding-top: 1.25rem;
  border-top: 1px solid var(--rp-line);
}
.rp-regform__grid > .rp-regform__heading:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

.rp-regform label,
.rp-regform__label {
  font-size: 0.85rem; font-weight: 600; color: var(--rp-ink);
  margin-bottom: 6px; display: block;
}
.rp-regform__req { color: var(--rp-tangelo); }
.rp-regform__note { display: block; font-weight: 400; font-size: 0.8rem; color: var(--rp-muted); margin: -2px 0 8px; }

.rp-regform input[type="text"],
.rp-regform input[type="email"],
.rp-regform input[type="tel"],
.rp-regform select,
.rp-regform textarea {
  width: 100%; box-sizing: border-box;
  background: #fff; border: 1px solid var(--rp-line); border-radius: 9px;
  color: var(--rp-ink); font-family: var(--rp-sans); font-size: 1rem;
  padding: 11px 13px; transition: border-color .15s ease, box-shadow .15s ease;
}
.rp-regform input:focus, .rp-regform textarea:focus {
  border-color: var(--rp-tangelo); box-shadow: 0 0 0 3px rgba(249,77,0,.14); outline: none;
}
.rp-regform__mb { margin-bottom: 10px; }
.rp-regform__mb2 { margin-top: 8px; }
.rp-regform input[type="file"] {
  width: 100%; box-sizing: border-box; font-family: var(--rp-sans); font-size: 0.95rem;
  padding: 10px 13px; border: 1px dashed var(--rp-line); border-radius: 9px; background: #fff;
}
.rp-regform input[type="url"] {
  width: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--rp-line);
  border-radius: 9px; color: var(--rp-ink); font-family: var(--rp-sans); font-size: 1rem; padding: 11px 13px;
}
.rp-regform input[type="url"]:focus { border-color: var(--rp-tangelo); box-shadow: 0 0 0 3px rgba(249,77,0,.14); outline: none; }
.rp-regform__row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px; }

/* choice groups (checkbox / radio) as tappable cards */
.rp-regform__choices { display: flex; flex-direction: column; gap: 8px; }
.rp-regform__choice {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 11px 13px; border: 1px solid var(--rp-line); border-radius: 9px;
  background: #fff; cursor: pointer; font-weight: 400; margin: 0;
  transition: border-color .12s ease, background .12s ease;
}
.rp-regform__choice:hover { border-color: var(--rp-navy); }
.rp-regform__choice input { margin-top: 3px; accent-color: var(--rp-navy); }
.rp-regform__choice span { font-size: 0.95rem; color: var(--rp-ink); }
.rp-regform__choice:has(input:checked) { border-color: var(--rp-navy); background: color-mix(in srgb, var(--rp-navy) 5%, #fff); }

.rp-regform__submit {
  margin-top: 1.75rem;
  background: var(--rp-navy); color: #fff; border: 0; border-radius: 10px;
  font-family: var(--rp-sans); font-weight: 600; font-size: 1rem;
  padding: 13px 28px; cursor: pointer;
  transition: filter .15s ease, transform .1s ease;
}
.rp-regform__submit:hover { filter: brightness(1.14); transform: translateY(-1px); }
.rp-regform__fine { margin-top: 12px; font-size: 0.8rem; color: var(--rp-muted); }

.rp-regform--done { text-align: left; padding: 1.5rem 0; }
.rp-regform--done a { color: var(--rp-tangelo); }
