/* Formulaire de rétractation — ARC EN SOFT.
   Le bloc prend toute la largeur de son conteneur : c'est le container
   Elementor qui décide de la largeur et du centrage, pas le plugin.
   Une seule couleur d'accentuation, surchargeable :
       .arcret { --arcret-accent: #votre-couleur; } */

.arcret {
	--arcret-accent: #1D4ED8;
	--arcret-accent-dark: #163FA6;
	--arcret-border: rgba(0, 0, 0, .2);
	--arcret-muted: rgba(0, 0, 0, .62);
	width: 100%;
	max-width: 100%;
	font: inherit;
	color: inherit;
}

.arcret p { margin: 0 0 1.2em; }

.arcret-title {
	margin: 0 0 .8em;
	font-size: 1.3em;
	line-height: 1.25;
}

.arcret-intro,
.arcret-declaration,
.arcret-connexion-texte {
	line-height: 1.65;
}

.arcret-savoirplus {
	font-weight: 700;
	text-decoration: underline;
}

/* ---- Champs ---- */

.arcret-field { margin: 0 0 1.5em; }

.arcret-field label {
	display: block;
	margin-bottom: .45em;
	font-weight: 700;
	font-size: 1.02em;
}

.arcret-field input,
.arcret-field select {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: .85em 1em;
	font: inherit;
	font-size: 1em;
	color: inherit;
	background: #fff;
	border: 2px solid var(--arcret-border);
	border-radius: 4px;
}

.arcret-field input:focus,
.arcret-field select:focus {
	outline: none;
	border-color: var(--arcret-accent);
}

.arcret-hint {
	display: block;
	margin-top: .5em;
	font-size: .9em;
	line-height: 1.5;
	color: var(--arcret-muted);
}

.arcret-secours { margin-top: 2em; }

/* ---- Boutons ----
   Couleurs forcées : beaucoup de thèmes appliquent leur propre couleur de
   texte aux boutons et aux liens, ce qui rendait le libellé illisible. */

.arcret .arcret-button,
.arcret a.arcret-button {
	display: inline-block;
	padding: .95em 2.4em;
	font: inherit;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	color: #fff !important;
	background: var(--arcret-accent) !important;
	border: 2px solid var(--arcret-accent) !important;
	border-radius: 4px;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}

.arcret .arcret-button:hover,
.arcret .arcret-button:focus,
.arcret a.arcret-button:hover {
	background: var(--arcret-accent-dark) !important;
	border-color: var(--arcret-accent-dark) !important;
	color: #fff !important;
}

.arcret .arcret-button:focus-visible {
	outline: 3px solid var(--arcret-accent);
	outline-offset: 3px;
}

.arcret-cancel {
	display: inline-block;
	margin-left: 1.5em;
	font-size: .95em;
}

/* Piège à robots : masqué visuellement et pour les lecteurs d'écran. */
.arcret-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---- Messages ---- */

.arcret-error,
.arcret-notice {
	padding: 1em 1.2em;
	border-left: 5px solid currentColor;
	border-radius: 0;
	line-height: 1.55;
	font-weight: 600;
}

.arcret-error { color: #96170E; background: rgba(150, 23, 14, .07); }
.arcret-notice { color: #7A4A00; background: rgba(122, 74, 0, .08); }

/* ---- Récapitulatif ---- */

.arcret-recap {
	margin: 0 0 1.8em;
	padding: 1.4em 1.6em;
	border: 2px solid var(--arcret-border);
	border-radius: 4px;
}

.arcret-recap dl {
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: .55em 1.2em;
	margin: 0 0 1.2em;
}

.arcret-recap dt { font-weight: 700; }
.arcret-recap dd { margin: 0; }

.arcret-items {
	margin: 0;
	padding-left: 1.3em;
	line-height: 1.75;
}

.arcret-qty { color: var(--arcret-muted); }

.arcret-reference { font-size: 1.1em; }

/* ---- Repli saisie manuelle ---- */

.arcret-alt {
	margin-top: 2.2em;
	padding-top: 1.4em;
	border-top: 2px solid var(--arcret-border);
}

.arcret-alt summary {
	cursor: pointer;
	font-weight: 600;
}

.arcret-alt > .arcret-hint { margin: 1em 0 1.4em; }

.arcret-model {
	margin-top: 2.5em;
	font-size: .95em;
}

/* Avertissement de configuration, visible uniquement des administrateurs. */
.arcret-setup-warning {
	display: inline-block;
	padding: .6em .9em;
	font-size: .9em;
	line-height: 1.4;
	color: #7A4A00;
	background: #FFF6E5;
	border: 2px dashed #D9A441;
	border-radius: 4px;
}

@media (max-width: 600px) {
	.arcret-recap dl {
		grid-template-columns: 1fr;
		gap: .15em;
	}
	.arcret-recap dt { margin-top: .7em; }
	.arcret .arcret-button,
	.arcret a.arcret-button { display: block; width: 100%; }
	.arcret-cancel { display: block; margin: 1.2em 0 0; }
}
