/* ================================================================
   Rétractation Vente — front.css
   Style : Ferme de Chautignat (saint-nectaire-fermier.fr)

   Vert prairie   #2F6B3C   accents, bouton, liens
   Vert profond   #1C3D24   titres, texte fort
   Or / paille    #C9A227   filet décoratif, survol du bouton
   Crème          #F7F2E7   fonds doux
   Bordure        #DCD3C1

   Les couleurs et la typographie sont pilotées depuis l'admin :
   ce fichier ne pose que les valeurs de repli et la mise en page.
   ================================================================ */

/* ── Conteneur ───────────────────────────────────────────────── */
.rv-form-wrapper {
	max-width: 700px;
	margin: 0 auto;
	font-family: inherit;
	box-sizing: border-box;
}

.rv-form-wrapper *,
.rv-form-wrapper *::before,
.rv-form-wrapper *::after {
	box-sizing: border-box;
}

/* ── Encart d'information ────────────────────────────────────── */
.rv-notice {
	background: #F7F2E7;
	border-left: 4px solid #2F6B3C;
	border-radius: 0 4px 4px 0;
	padding: 20px 24px;
	margin-bottom: 24px;
	font-size: 14px;
	line-height: 1.7;
	color: #4A4640;
}

.rv-notice p {
	margin: 0 0 12px;
}

.rv-notice p:last-child {
	margin-bottom: 0;
}

/* ── Formulaire ──────────────────────────────────────────────── */
.rv-form {
	background: #ffffff;
	padding: 40px;
	border-radius: 4px;
	border: 1px solid #E3DCCC;
	border-top: 4px solid #2F6B3C;
}

@media (max-width: 600px) {
	.rv-form {
		padding: 25px 20px;
	}
}

/* ── Lignes & grille ─────────────────────────────────────────── */
.rv-form-row {
	margin-bottom: 20px;
}

.rv-form-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

@media (max-width: 600px) {
	.rv-form-row-2 {
		grid-template-columns: 1fr;
	}
}

/* ── Champ ───────────────────────────────────────────────────── */
.rv-field {
	display: flex;
	flex-direction: column;
}

.rv-field label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #1C3D24;
	line-height: 1.4;
}

.rv-field label svg {
	color: #2F6B3C;
	flex-shrink: 0;
}

.rv-required {
	color: #2F6B3C;
}

/* ── Champs de saisie ────────────────────────────────────────── */
.rv-form input[type="text"],
.rv-form input[type="email"],
.rv-form input[type="date"],
.rv-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #DCD3C1;
	border-radius: 4px;
	font-size: 16px;
	font-family: inherit;
	color: #1C3D24;
	background: #fff;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
}

.rv-form input[type="date"] {
	min-height: 51px;
}

.rv-form input::placeholder,
.rv-form textarea::placeholder {
	color: #A9A296;
	opacity: 1;
}

.rv-form textarea {
	resize: vertical;
	min-height: 130px;
}

/* ── Case RGPD ───────────────────────────────────────────────── */
.rv-field-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 13px;
	color: #5C574F;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.6;
}

.rv-field-checkbox input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: #2F6B3C;
	cursor: pointer;
	flex-shrink: 0;
}

/* ── Bouton d'envoi ──────────────────────────────────────────── */
.rv-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px 32px;
	background: #2F6B3C;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.rv-submit-btn:active {
	transform: translateY(1px);
}

.rv-submit-btn svg {
	transition: transform 0.2s ease;
	flex-shrink: 0;
}

.rv-submit-btn:hover svg {
	transform: translateX(3px) translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
	.rv-submit-btn,
	.rv-submit-btn svg {
		transition: none;
	}

	.rv-submit-btn:hover svg {
		transform: none;
	}
}

/* ── Alertes ─────────────────────────────────────────────────── */
.rv-alert {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	border-radius: 4px;
	margin-bottom: 24px;
	font-size: 15px;
	line-height: 1.6;
}

.rv-alert svg {
	flex-shrink: 0;
	margin-top: 3px;
}

.rv-alert-success {
	background: #F7F2E7;
	border: 1px solid #C9A227;
	border-left: 4px solid #2F6B3C;
	color: #1C3D24;
}

.rv-alert-error {
	background: #FDF1F1;
	border: 1px solid #E9B8B8;
	border-left: 4px solid #B0332B;
	color: #8E241E;
}

.rv-alert ul {
	margin: 0;
	padding-left: 18px;
}

.rv-alert li {
	margin: 0 0 4px;
}

/* ── Piège à robots ──────────────────────────────────────────── */
.rv-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
