/**
 * Le formulaire d'inscription, en pied de page.
 *
 * Pleine largeur, sur une ligne quand la place le permet : prénom, nom, adresse, bouton. Les
 * cases passent en dessous — elles sont cinq, et les mettre sur la même ligne rendrait chaque
 * colonne illisible.
 */

.ante-nl {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.ante-nl-titre {
	margin: 0 0 .2em;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.2;
}

.ante-nl-intro {
	margin: 0 0 1.1em;
	font-size: .95em;
	opacity: .8;
}

/* --- La ligne de saisie --- */

.ante-nl-ligne {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	align-items: flex-end;
	width: 100%;
}

.ante-nl-champ {
	display: flex;
	flex: 1 1 11rem;
	flex-direction: column;
	gap: .28em;
	min-width: 0;   /* sans quoi un champ flexible refuse de rétrécir */
}

.ante-nl-champ--large { flex: 2 1 16rem; }

.ante-nl-label {
	font-size: .74em;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: .75;
}

.ante-nl input[type="text"],
.ante-nl input[type="email"] {
	width: 100%;
	padding: .68em .8em;
	font: inherit;
	font-size: .95em;
	color: inherit;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 0;
}

.ante-nl input[type="text"]:focus,
.ante-nl input[type="email"]:focus {
	background: rgba(255, 255, 255, .14);
	border-color: #CEB499;
	outline: none;
}

/* --- Le bouton, dans le doré du festival --- */

.ante-nl-bouton {
	flex: 0 0 auto;
	padding: .78em 1.9em;
	font: inherit;
	font-size: .78em;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #FCFCFC;
	cursor: pointer;
	background: #CEB499;
	border: 1px solid #CEB499;
	border-radius: 0;
	transition: background-color .3s ease, color .3s ease;
}

.ante-nl-bouton:hover:not(:disabled),
.ante-nl-bouton:focus-visible:not(:disabled) {
	color: #CEB499;
	background: transparent;
}

.ante-nl-bouton:disabled { cursor: default; opacity: .6; }

/* --- Les cases --- */

.ante-nl-listes {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1.4rem;
	align-items: center;
	margin: 1rem 0 0;
	padding: 0;
	border: 0;
}

.ante-nl-listes legend {
	float: left;          /* une légende ne participe pas au flux flexible ; on la sort */
	width: 100%;
	margin-bottom: .5em;
	padding: 0;
}

.ante-nl-case {
	display: inline-flex;
	gap: .45em;
	align-items: center;
	font-size: .92em;
	cursor: pointer;
}

.ante-nl-case input { accent-color: #CEB499; }

/* --- Mentions et réponse --- */

.ante-nl-rgpd {
	margin: .9rem 0 0;
	font-size: .78em;
	line-height: 1.45;
	opacity: .62;
}

.ante-nl-message {
	min-height: 1.3em;
	margin: .6rem 0 0;
	font-size: .9em;
	font-weight: 600;
}

.ante-nl-message--ok     { color: #7FB08C; }
.ante-nl-message--erreur { color: #E08363; }

/* Le pot de miel : hors écran plutôt que `display:none`, que certains robots repèrent. */
.ante-nl-pot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 640px) {
	.ante-nl-ligne { gap: .6rem; }
	.ante-nl-champ,
	.ante-nl-champ--large { flex: 1 1 100%; }
	.ante-nl-bouton { width: 100%; }
}
