/* Formulaire d'admission RCL — couleurs du club */
.rcl-adm {
	--rcl-blue: #005091;
	--rcl-light: #eaf1f8;
	--rcl-line: #9db7d3;
	--rcl-gray: #5f6b7a;
	--rcl-error: #b3261e;
	max-width: 760px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
	color: #1d2733;
}
.rcl-adm * { box-sizing: border-box; }
.rcl-adm-title { color: var(--rcl-blue); margin: 0 0 .3em; }
.rcl-adm-intro { margin: 0 0 1.2em; }
.rcl-adm-section {
	display: flex; align-items: center; gap: .6em;
	color: var(--rcl-blue); font-size: 1.15em; margin: 1.8em 0 .8em;
	padding-bottom: .35em; border-bottom: 2px solid var(--rcl-blue);
}
.rcl-adm-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.6em; height: 1.6em; background: var(--rcl-blue); color: #fff;
	font-size: .8em; font-weight: 700; border-radius: 3px;
}
.rcl-adm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.rcl-adm-wide { grid-column: 1 / -1; }
.rcl-adm-field {
	background: var(--rcl-light); border-bottom: 2px solid var(--rcl-line);
	padding: 8px 12px 6px; border-radius: 4px 4px 0 0;
}
.rcl-adm-field:focus-within { border-bottom-color: var(--rcl-blue); }
.rcl-adm-field label {
	display: block; font-size: .72em; font-weight: 700; letter-spacing: .04em;
	text-transform: uppercase; color: var(--rcl-gray); margin-bottom: 2px;
}
.rcl-adm-field label { cursor: pointer; }
/* Même boîte de saisie pour tous les types (text, tel, email, date), quel que soit le thème */
.rcl-adm .rcl-adm-field input,
.rcl-adm .rcl-adm-field input[type="text"],
.rcl-adm .rcl-adm-field input[type="tel"],
.rcl-adm .rcl-adm-field input[type="email"],
.rcl-adm .rcl-adm-field input[type="date"] {
	display: block !important; width: 100% !important; height: auto !important;
	min-height: 2.3em; margin: 2px 0 2px !important; padding: 6px 9px !important;
	background: #fff !important; border: 1px solid #c5d5e6 !important; border-radius: 3px !important;
	box-shadow: none !important; font: inherit !important; color: inherit !important;
	line-height: 1.4 !important; -webkit-appearance: none; appearance: none;
}
.rcl-adm .rcl-adm-field input:focus {
	border-color: var(--rcl-blue) !important; outline: 2px solid rgba(0, 80, 145, .2) !important; outline-offset: 0;
}
.rcl-adm .rcl-adm-field input::placeholder { color: #9aa6b4; }
.rcl-adm-fieldhint { margin: 3px 0 1px; font-size: .8em; color: var(--rcl-gray); font-style: italic; }
.rcl-adm-req { color: var(--rcl-error); margin-left: .2em; }
.rcl-adm-check {
	display: flex; gap: .7em; align-items: flex-start; margin: .55em 0; cursor: pointer;
}
.rcl-adm-check input { margin-top: .3em; width: 1.1em; height: 1.1em; flex: none; accent-color: var(--rcl-blue); }
.rcl-adm-sublink { margin: -.2em 0 .8em 1.8em; font-size: .88em; color: var(--rcl-gray); }
.rcl-adm-subtitle { color: var(--rcl-blue); font-weight: 700; margin: .8em 0 .2em; }
.rcl-adm-comp { padding-left: 1.8em; }
.rcl-adm-comp-fields { margin: .4em 0 .6em; }
.rcl-adm-hint { font-size: .9em; color: var(--rcl-gray); font-style: italic; margin: -.3em 0 .7em; }
.rcl-adm a { color: var(--rcl-blue); word-break: break-word; }
.rcl-adm-privacy { font-size: .88em; color: var(--rcl-gray); margin-top: 1.6em; }
.rcl-adm-legend { font-size: .82em; color: var(--rcl-gray); }
.rcl-adm-submit {
	background: var(--rcl-blue); color: #fff; border: 0; border-radius: 4px;
	padding: .75em 1.6em; font: inherit; font-weight: 700; cursor: pointer;
}
.rcl-adm-submit:hover, .rcl-adm-submit:focus { background: #003d70; }
.rcl-adm-errors {
	border-left: 4px solid var(--rcl-error); background: #fbeceb;
	padding: .8em 1em; margin: 1em 0; color: var(--rcl-error);
}
.rcl-adm-errors ul { margin: .4em 0 0 1.2em; padding: 0; }
.rcl-adm-success {
	border-left: 4px solid var(--rcl-blue); background: var(--rcl-light);
	padding: 1em 1.2em; margin: 1em 0;
}
.rcl-adm-success h3 { color: var(--rcl-blue); margin: 0 0 .3em; }
.rcl-adm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rcl-adm [hidden] { display: none !important; }
@media (max-width: 600px) {
	.rcl-adm-grid { grid-template-columns: 1fr; }
}
