/*
 * Pages « Avis de passage par texto » (avis.html) et « Confidentialité » (confidentialite.html)
 * Reprend les couleurs du thème : vert #449a13, gris foncé #323232, gris clair #f2f2f2 (comme css/soumission.css).
 * Tout est limité à #avis pour ne rien changer aux autres pages.
 */

#avis [hidden] { display: none !important; }

#avis .av-colonne { max-width: 760px; margin: 0 auto; }

#avis .av-intro { font-size: 16px; line-height: 26px; }
#avis .av-intro strong { color: #323232; }

#avis .av-point {
	margin: 18px 0 0;
	padding: 12px 14px;
	background: #f2f2f2;
	border-left: 4px solid #449a13;
	border-radius: 4px;
	color: #323232;
	font-size: 15px;
	line-height: 1.45;
}

/* ---------- Champs ---------- */
#avis form { margin-top: 28px; }

#avis fieldset { min-width: 0; margin: 0 0 16px; padding: 0; border: 0; }

#avis label { display: block; margin: 0 0 6px; font-weight: 700; color: #323232; }
#avis .required { color: #d93025; }
#avis .av-facultatif { font-size: 14px; font-weight: 400; color: #777; }

#avis .form-control {
	height: 48px;
	padding: 10px 14px;
	font-size: 16px; /* 16 px : évite le zoom automatique sur iPhone */
	background-color: #f2f2f2;
	border: 2px solid transparent;
	border-radius: 5px;
	box-shadow: none;
}

#avis .form-control:focus { background-color: #fff; border-color: #449a13; box-shadow: none; }
#avis .form-control.av-invalide { border-color: #d93025; background-color: #fff; }

#avis .av-champ { margin-bottom: 16px; }
#avis .av-aide { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #666; }
#avis .av-erreur { margin-top: 5px; color: #c0392b; font-size: 14px; line-height: 1.3; }

/* Champ piège anti-robot : hors écran, invisible pour les humains */
#avis .av-piege {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Case de consentement ---------- */
#avis .av-consentement { margin: 22px 0 6px; }
#avis .av-promo { margin-top: 10px; }

#avis .av-case {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px;
	background: #f2f2f2;
	border: 2px solid transparent;
	border-radius: 6px;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.5;
	color: #323232;
	cursor: pointer;
}

#avis .av-case input { flex: none; width: 24px; height: 24px; margin: 2px 0 0; accent-color: #449a13; }
#avis .av-case.av-coche { background: #e8f3df; border-color: #449a13; }
#avis .av-case.av-invalide { border-color: #d93025; background: #fff; }
#avis .av-case input:focus-visible { outline: 3px solid rgba(68, 154, 19, .5); outline-offset: 2px; }

/* ---------- Bouton et messages ---------- */
#avis .av-envoi { margin-top: 22px; }

#avis .av-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	padding: 10px 18px;
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0;
	color: #fff;
	background: #449a13;
	border: 2px solid #449a13;
	border-radius: 4px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .2s, border-color .2s, opacity .2s;
}

#avis .av-btn:hover:not(:disabled) { background: #367a0f; border-color: #367a0f; }
#avis .av-btn:disabled { opacity: .4; cursor: not-allowed; }
#avis .av-btn:focus-visible { outline: 3px solid rgba(68, 154, 19, .5); outline-offset: 2px; }

#avis .av-alerte {
	margin-top: 14px;
	padding: 12px 14px;
	background: #fdecea;
	border-left: 4px solid #d93025;
	border-radius: 4px;
	color: #8a1f11;
	font-size: 15px;
	line-height: 1.4;
}

#avis .av-alerte a { color: inherit; text-decoration: underline; }

#avis .av-confidentialite { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: #666; }

/* ---------- Merci ---------- */
#avis .av-merci {
	margin-top: 28px;
	padding: 20px 18px;
	background: #e8f3df;
	border-left: 4px solid #449a13;
	border-radius: 4px;
	color: #323232;
	font-size: 16px;
	line-height: 1.5;
}

#avis .av-merci:focus { outline: none; }
#avis .av-merci h3 { margin: 0 0 10px; font-size: 22px; color: #323232; }
#avis .av-merci p { margin: 0 0 8px; }
#avis .av-merci p:last-child { margin-bottom: 0; }

/* ---------- Page « Confidentialité » ---------- */
#avis .av-texte h3 { margin: 34px 0 10px; font-size: 22px; line-height: 1.25; color: #323232; }
#avis .av-texte p,
#avis .av-texte li { font-size: 16px; line-height: 1.6; }
#avis .av-texte ul { margin: 0 0 14px; padding-left: 22px; }
#avis .av-texte li { margin-bottom: 6px; }
#avis .av-maj { margin: 0 0 6px; font-size: 14px; color: #777; }

/* ---------- Écrans plus larges ---------- */
@media (min-width: 768px) {
	#avis .av-btn { width: auto; min-width: 360px; }
}

@media (max-width: 400px) {
	#avis .av-btn { font-size: 14px; padding: 8px; }
}
