/* Rez-Care Référencement : styles du formulaire public. Les couleurs reprennent le teal Rez-Care
   et héritent de la police du thème. Variables modifiables ci-dessous. */
.rc-ref {
	--rc-accent: #0f6e6e;
	--rc-accent-ink: #ffffff;
	--rc-err: #b42318;
	--rc-ok: #146c43;
	--rc-border: #c9d3d3;
	--rc-muted: #5b6767;
	--rc-bg-soft: #f3f8f8;
	max-width: 760px;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.55;
}
.rc-ref *, .rc-ref *::before, .rc-ref *::after { box-sizing: border-box; }
.rc-ref .rc-intro h2 { margin: 0 0 .75em; }
.rc-ref .rc-intro p { margin: 0 0 1em; }
.rc-ref .rc-form { margin-top: 1.5em; }
.rc-ref .rc-field { margin: 0 0 1.6em; }
.rc-ref .rc-field[hidden] { display: none; }
.rc-ref label, .rc-ref legend { display: block; font-weight: 600; margin-bottom: .35em; }
.rc-ref fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.rc-ref .rc-help { color: var(--rc-muted); font-size: .9em; margin: -.1em 0 .5em; }
.rc-ref input[type=text], .rc-ref input[type=email], .rc-ref input[type=url], .rc-ref input[type=tel],
.rc-ref input[type=number], .rc-ref textarea, .rc-ref select {
	width: 100%; max-width: 100%; padding: .6em .7em; border: 1px solid var(--rc-border); border-radius: 6px;
	font: inherit; background: #fff; color: inherit;
}
.rc-ref textarea { resize: vertical; min-height: 8em; }
.rc-ref input:focus, .rc-ref textarea:focus, .rc-ref select:focus, .rc-ref button:focus-visible, .rc-ref a:focus-visible {
	outline: 2px solid var(--rc-accent); outline-offset: 2px;
}
.rc-ref .rc-opt { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .5em; margin: .35em 0; }
.rc-ref .rc-opt input[type=radio], .rc-ref .rc-opt input[type=checkbox] { margin-top: .3em; width: 1.1em; height: 1.1em; flex: 0 0 auto; accent-color: var(--rc-accent); }
.rc-ref .rc-opt label { font-weight: 400; margin: 0; flex: 1 1 0; }
.rc-ref .rc-single label { font-weight: 600; }
.rc-ref .rc-opt .rc-detail { flex: 1 1 100%; margin-left: 1.6em; width: calc(100% - 1.6em); }
.rc-ref .rc-detail[hidden] { display: none; }
.rc-ref .rc-counter { text-align: right; color: var(--rc-muted); font-size: .85em; margin-top: .25em; }
.rc-ref .rc-geo, .rc-ref .rc-money { display: flex; gap: .6em; flex-wrap: wrap; }
.rc-ref .rc-geo > *, .rc-ref .rc-geo-region { flex: 1 1 240px; }
.rc-ref .rc-money input { flex: 1 1 160px; }
.rc-ref .rc-money select { flex: 0 0 110px; }
.rc-ref .rc-langs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6em 1em; }
.rc-ref .rc-lang { font-weight: 400; }
.rc-ref .rc-lang span { display: block; font-size: .9em; margin-bottom: .2em; }
.rc-ref .rc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rc-ref .rc-code { max-width: 10em; font-size: 1.4em; letter-spacing: .3em; text-align: center; }
.rc-ref .rc-btn {
	display: inline-block; background: var(--rc-accent); color: var(--rc-accent-ink); border: 0; border-radius: 6px;
	padding: .75em 1.4em; font: inherit; font-weight: 600; cursor: pointer;
}
.rc-ref .rc-btn:disabled { opacity: .6; cursor: wait; }
.rc-ref .rc-btn.rc-secondary { background: transparent; color: var(--rc-accent); border: 1px solid var(--rc-accent); }
.rc-ref .rc-link { background: none; border: 0; padding: 0; color: var(--rc-accent); text-decoration: underline; cursor: pointer; font: inherit; }
.rc-ref .rc-link:disabled { color: var(--rc-muted); text-decoration: none; cursor: default; }
.rc-ref .rc-actions { margin-top: 1em; font-size: .95em; }
.rc-ref .rc-msg:empty { display: none; }
.rc-ref .rc-msg { padding: .75em 1em; border-radius: 6px; margin: 0 0 1em; }
.rc-ref .rc-msg.rc-err { background: #fdecea; color: var(--rc-err); }
.rc-ref .rc-msg.rc-ok { background: #e8f5ee; color: var(--rc-ok); }
.rc-ref .rc-has-err input, .rc-ref .rc-has-err textarea, .rc-ref .rc-has-err select { border-color: var(--rc-err); }
.rc-ref .rc-field-err { color: var(--rc-err); font-size: .9em; margin-top: .3em; }
.rc-ref .rc-field-err:empty { display: none; }
.rc-ref .rc-progress { height: 6px; background: var(--rc-bg-soft); border-radius: 3px; overflow: hidden; margin: 1em 0; }
.rc-ref .rc-progress span { display: block; height: 100%; background: var(--rc-accent); }
.rc-ref .rc-step-title small { display: block; font-size: .6em; color: var(--rc-muted); font-weight: 400; text-transform: uppercase; letter-spacing: .05em; }
.rc-ref .rc-until { color: var(--rc-muted); font-size: .9em; }
.rc-ref .rc-nav { display: flex; flex-wrap: wrap; gap: .8em; align-items: center; margin-top: 1em; }
.rc-ref .rc-status { color: var(--rc-muted); font-size: .9em; }
.rc-ref .rc-done { background: var(--rc-bg-soft); border-radius: 8px; padding: 1.5em; outline: none; }
.rc-ref .rc-turnstile { margin: 0 0 1em; }
@media (max-width: 480px) {
	.rc-ref .rc-btn { width: 100%; }
	.rc-ref .rc-nav { flex-direction: column-reverse; align-items: stretch; }
}
.rc-ref .rc-step-title:focus, .rc-ref .rc-done:focus { outline: none; }
