/**
 * RP enquiry forms ([rp_form ...]). Native to the gym pages: white fields on the
 * page background, navy labels and text, a single brand-red submit button.
 * Red is reserved for the button only (red text on ivory misses AA), so required
 * markers, errors and links are navy. Montserrat, membership-page spacing.
 */
.rp-form{
	--navy:#002c41;--red:#e4022e;--ivory:#F6F5EE;--ink:#0a2233;--muted:#4a5157;--line:#cdd6db;
	max-width:560px;margin:0 auto;font-family:'Montserrat',Arial,sans-serif;color:var(--ink);text-align:left;
}
.rp-form *{box-sizing:border-box}

.rp-field{margin:0 0 20px}
.rp-field label{display:block;font-size:14px;font-weight:700;color:var(--navy);margin:0 0 7px;letter-spacing:.01em}
.rp-field .rp-req{color:var(--navy)}
.rp-field .rp-opt{font-weight:500;color:var(--muted)}

.rp-form input[type=text],
.rp-form input[type=email],
.rp-form input[type=tel],
.rp-form textarea{
	width:100%;font-family:inherit;font-size:16px;line-height:1.5;color:var(--ink);
	background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px 15px;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.rp-form textarea{resize:vertical;min-height:130px}
.rp-form input::placeholder,.rp-form textarea::placeholder{color:#8a939a}
.rp-form input:focus,.rp-form textarea:focus{
	outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(0,44,65,.14);
}

/* Error state: navy, clear, no red (red is the button only) */
.rp-field--err input,.rp-field--err textarea{border-color:var(--navy);border-width:2px}
.rp-field-err{display:block;margin:7px 0 0;font-size:13.5px;font-weight:700;color:var(--navy)}
.rp-form-errsum{
	background:#eef2f4;border-left:4px solid var(--navy);border-radius:6px;
	padding:14px 16px;margin:0 0 22px;color:var(--navy);font-weight:600;font-size:15px;
}
.rp-form-errsum p{margin:0}

/* Submit button: the one red element */
.rp-form-btn{
	display:inline-block;background:var(--red);color:#fff;border:0;cursor:pointer;
	font-family:inherit;font-size:16px;font-weight:800;letter-spacing:.01em;
	padding:14px 30px;border-radius:8px;box-shadow:0 10px 22px rgba(228,2,46,.28);
	transition:box-shadow .15s ease;
}
.rp-form-btn:hover,.rp-form-btn:focus{background:var(--red);color:#fff;box-shadow:0 14px 28px rgba(228,2,46,.34)}
.rp-form-btn:focus-visible{outline:3px solid rgba(0,44,65,.5);outline-offset:2px}

/* Privacy line */
.rp-form-privacy{margin:16px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}
.rp-form-privacy a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.rp-form-privacy a:hover{color:var(--red)}

/* Success confirmation (replaces the form) */
.rp-form-confirm{background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:10px;padding:26px 28px}
.rp-form-confirm-h{margin:0 0 8px;font-size:20px;font-weight:800;color:var(--navy)}
.rp-form-confirm p{margin:0 0 8px;font-size:16px;line-height:1.6;color:var(--muted)}
.rp-form-confirm p:last-child{margin-bottom:0}

/* Honeypot: off screen, never shown to people, no display:none so bots still see it */
.rp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
