/* ============================================================
   page-candidature.css — Formulaire « Demander un accès » (candidature partenaire)
   Chargé sur /creer-un-compte. Tokens globaux via header.css (--leaf, --ink, --paper…).
   ============================================================ */

.bb-cand { background: var(--paper); padding: 56px 20px 90px; }
.bb-cand-wrap { max-width: 720px; margin: 0 auto; }

.bb-cand-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: 0 24px 60px -34px rgba(20, 38, 29, .35);
	padding: 40px 38px;
}
.bb-cand-title {
	font-family: 'Fraunces', Georgia, serif; font-weight: 500;
	font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--ink); margin: 0 0 8px;
}
.bb-cand-sub { color: var(--muted); font-size: .98rem; margin: 0 0 26px; line-height: 1.55; }

.bb-section-label {
	font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--leaf); margin: 22px 0 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line);
}
.bb-section-label:first-of-type { margin-top: 0; }

.bb-cand-form .bb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bb-cand-form .bb-field { margin: 0 0 14px; }
.bb-cand-form .bb-field-wide { grid-column: 1 / -1; }
.bb-cand-form label { display: block; font-weight: 600; color: var(--ink); font-size: .9rem; margin-bottom: 6px; }
.bb-cand-form .bb-opt { font-weight: 400; color: var(--muted); }
.bb-cand-form input:not([type="file"]),
.bb-cand-form select,
.bb-cand-form textarea {
	width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 10px;
	background: #fff; color: var(--ink); font: inherit;
}
.bb-cand-form input:focus, .bb-cand-form select:focus {
	outline: none; border-color: var(--leaf); box-shadow: 0 0 0 3px rgba(46, 91, 69, .12);
}
.bb-cand-form input[type="file"] {
	width: 100%; padding: 11px 12px; border: 1.5px dashed var(--line); border-radius: 10px;
	background: var(--paper); color: var(--ink); font: inherit; cursor: pointer;
}
.bb-cand-form input[type="file"]:hover { border-color: var(--leaf); }
.bb-cand-form .bb-hint { display: block; font-size: .82rem; color: var(--muted); margin-top: 5px; }

.bb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-turnstile { margin: 8px 0 4px; }

.bb-cand-submit {
	appearance: none; cursor: pointer; border: none; width: 100%;
	background: var(--leaf); color: var(--paper); border-radius: 999px;
	font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 1rem; padding: 15px 24px;
	margin-top: 12px; transition: background .15s ease, transform .15s ease;
}
.bb-cand-submit:hover { background: var(--ink); transform: translateY(-1px); }

.bb-cand-status { margin: 14px 0 0; font-size: .92rem; text-align: center; min-height: 1.2em; }
.bb-cand-status.is-loading { color: var(--muted); }
.bb-cand-status.is-error { color: #8A3B32; font-weight: 600; }

.bb-cand-thanks { text-align: center; padding: 20px 10px; }
.bb-cand-check {
	width: 60px; height: 60px; margin: 0 auto 18px; border-radius: 50%;
	background: var(--leaf-soft); color: var(--leaf);
	display: grid; place-items: center; font-size: 1.8rem; font-weight: 700;
}
.bb-cand-thanks h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 500; color: var(--ink); font-size: 1.5rem; margin: 0 0 10px; }
.bb-cand-thanks p { color: var(--muted); max-width: 44ch; margin: 0 auto; line-height: 1.55; }

@media (max-width: 560px) {
	.bb-cand { padding: 10px 8px 48px; }         /* peu d'espace en haut, formulaire quasi pleine largeur */
	.bb-cand-card { padding: 22px 16px; border-radius: 12px; }
	.bb-cand-title { font-size: 1.55rem; }
	.bb-cand-sub { font-size: .92rem; margin-bottom: 18px; }
	.bb-section-label { margin: 16px 0 10px; }
	.bb-cand-form .bb-row { grid-template-columns: 1fr; gap: 0; }
	.bb-cand-form .bb-field { margin-bottom: 12px; }
}
