/* ***************************************************************************
 * Page Recrutement : bandeau photo, presentation, candidature spontanee
 * (recrutement.php)
 *
 * Fichier separe de main.css, qui est compile depuis des sources SCSS
 * absentes du depot : une recompilation ecraserait ces regles.
 * Charge apres main.css via /css/css_urls.
 * *************************************************************************** */

/* Le bandeau commence sous l'en-tete fixe : la photo passe dessous */
body:not(.home) main.recrutement
	{
	margin-top:0;
	}

main.recrutement > section.rec_bandeau
	{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:clamp(380px,42vw,560px);
	padding:150px 6% 70px;
	overflow:hidden;
	background:#1c1c1c;
	color:#fff;
	text-align:center;
	}

.rec_bandeau img
	{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	-o-object-fit:cover;
	object-fit:cover;
	}

/* Voile : le titre reste lisible sur la photo */
.rec_bandeau::after
	{
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.25) 45%,rgba(0,0,0,.55));
	}

.rec_bandeau_txt
	{
	position:relative;
	z-index:1;
	max-width:860px;
	}

.rec_bandeau h1
	{
	margin:0 0 18px;
	font-size:clamp(3.6rem,5vw,6.4rem);
	font-weight:300;
	letter-spacing:.04em;
	line-height:1.1;
	text-transform:uppercase;
	color:#fff;
	}

.rec_bandeau h1::after
	{
	content:"";
	display:block;
	width:60px;
	height:2px;
	margin:22px auto 0;
	background:#d8252c;
	}

.rec_bandeau p
	{
	margin:0;
	font-size:clamp(1.6rem,1.6vw,2.1rem);
	font-weight:300;
	line-height:1.5;
	text-align:center;
	}

/* Presentation et formulaire */

main.recrutement > section.rec_corps
	{
	display:grid;
	grid-template-columns:minmax(0,5fr) minmax(0,6fr);
	gap:clamp(36px,6vw,110px);
	align-items:start;
	margin:clamp(50px,7vw,110px) auto;
	}

.rec_corps h2
	{
	margin:0 0 26px;
	font-size:clamp(2.6rem,2.4vw,3.4rem);
	font-weight:400;
	line-height:1.2;
	text-align:left;
	}

.rec_intro
	{
	position:sticky;
	top:150px;
	}

.rec_intro p
	{
	margin:0 0 18px;
	font-size:1.6rem;
	line-height:1.75;
	text-align:left;
	color:#333;
	}

.rec_intro ul
	{
	margin:6px 0 24px;
	padding:0;
	}

.rec_intro ul li
	{
	position:relative;
	margin:0 0 10px;
	padding:0 0 0 24px;
	list-style:none;
	font-size:1.6rem;
	line-height:1.5;
	}

.rec_intro ul li::before
	{
	content:"";
	position:absolute;
	left:0;
	top:.7em;
	width:12px;
	height:2px;
	background:#d8252c;
	}

.rec_form
	{
	padding:clamp(24px,3.4vw,52px);
	background:#f6f5f2;
	border-radius:8px;
	}

.rec_form .rec_obligatoire
	{
	margin:-14px 0 10px;
	font-size:1.3rem;
	color:#777;
	text-align:left;
	}

.rec_form .rec_ligne
	{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0 18px;
	}

.rec_form .rowElem
	{
	margin:16px 0;
	}

.rec_form input[type="text"],
.rec_form input[type="tel"],
.rec_form textarea,
.rec_form select
	{
	border:1px solid rgba(0,0,0,.25);
	border-radius:5px;
	background-color:#fff;
	}

.rec_form textarea
	{
	height:150px;
	}

.rec_form textarea:focus
	{
	height:190px;
	}

.rec_form select
	{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	padding-right:40px;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 16px center / 10px 6px;
	color:#000;
	cursor:pointer;
	}

.rec_form select:hover,
.rec_form select:focus
	{
	border-color:#d8252c;
	}

/* CV : zone de depot, le champ fichier transparent la recouvre */

.rec_fichier_label
	{
	margin:0 0 8px;
	font-size:1.4rem;
	font-weight:500;
	text-align:left;
	}

.rec_fichier_cadre
	{
	position:relative;
	}

.rec_fichier_cadre input[type="file"]
	{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:0;
	margin:0;
	border:0;
	opacity:0;
	cursor:pointer;
	z-index:1;
	}

.rec_fichier_zone
	{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	min-height:84px;
	padding:16px 20px;
	border:1px dashed rgba(0,0,0,.4);
	border-radius:6px;
	background:#fff;
	font-size:1.5rem;
	text-align:center;
	transition:border-color .2s,background-color .2s;
	}

.rec_fichier_zone i
	{
	font-size:2.2rem;
	color:#d8252c;
	}

.rec_fichier_nom
	{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	}

.rec_fichier_cadre:hover .rec_fichier_zone,
.rec_fichier_cadre input:focus-visible + .rec_fichier_zone
	{
	border-color:#d8252c;
	background:#fffafa;
	}

.rec_fichier_cadre input:focus-visible + .rec_fichier_zone
	{
	outline:2px solid #000;
	outline-offset:2px;
	}

.rec_choisi .rec_fichier_zone
	{
	border-style:solid;
	border-color:#000;
	}

.rec_choisi .rec_fichier_nom
	{
	font-weight:600;
	}

.rec_erreur .rec_fichier_zone
	{
	border-color:#d8252c;
	border-style:solid;
	}

.rec_fichier_aide
	{
	margin:8px 0 0;
	font-size:1.25rem;
	color:#777;
	text-align:left;
	}

.rec_form fieldset.protect
	{
	margin:22px 0 0;
	padding:0;
	border:0;
	}

.rec_form .checkboxElem label
	{
	align-items:flex-start;
	gap:10px;
	font-size:1.3rem;
	line-height:1.5;
	color:#444;
	text-align:left;
	}

.rec_form .checkboxElem input[type="checkbox"]
	{
	flex:0 0 auto;
	margin-top:2px;
	}

.rec_envoyer
	{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:28px 0 0;
	padding:15px 34px;
	border:0;
	border-radius:50vh;
	background:#000;
	color:#fff;
	font-family:inherit;
	font-size:1.4rem;
	font-weight:500;
	letter-spacing:.1em;
	text-transform:uppercase;
	cursor:pointer;
	transition:background-color .2s;
	}

.rec_envoyer:hover
	{
	background:#d8252c;
	}

.rec_envoyer:focus-visible
	{
	outline:2px solid #000;
	outline-offset:3px;
	}

@media (max-width: 960px)
	{
	main.recrutement > section.rec_corps
		{
		grid-template-columns:1fr;
		}

	.rec_intro
		{
		position:static;
		}

	main.recrutement > section.rec_bandeau
		{
		padding-top:110px;
		}
	}

@media (max-width: 640px)
	{
	.rec_form .rec_ligne
		{
		grid-template-columns:1fr;
		}

	.rec_form .rowElem
		{
		margin:12px 0;
		}

	.rec_envoyer
		{
		width:100%;
		}
	}
