/* shop-core — formulaire de rétractation.
   Avec retractation.classes (classes du design system du site), le site habille le formulaire : seules les règles
   communes ci-dessous s'appliquent. Sans elles, .shop-retr--neutre donne un style lisible sur fond clair comme sombre
   (couleurs tirées du texte courant, jamais de champ blanc sur un site sombre). */
.shop-retr { max-width: 760px; }
.shop-retr__titre { margin: 0 0 .6em; }
.shop-retr__erreurs { margin: 0 0 1em; padding: .8em 1em; border-left: 4px solid var(--shop-accent, var(--red, #c0392b)); }
.shop-retr__erreurs ul { margin: 0; padding-left: 1.2em; }
.shop-retr table { width: 100%; border-collapse: collapse; margin: 0 0 1.4em; }
.shop-retr table th, .shop-retr table td { padding: .6em .4em; text-align: left; vertical-align: top; }
.shop-retr__modifier { background: none; border: 0; padding: 0; margin-left: 1em; text-decoration: underline; cursor: pointer; color: inherit; font: inherit; opacity: .8; }
.shop-retr-lien { white-space: nowrap; }

/* Style neutre (aucune classe du site fournie) */
.shop-retr--neutre .shop-retr__grille { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1em 1.2em; margin: 1.2em 0; }
.shop-retr--neutre .shop-retr__champ:nth-child(n+3) { grid-column: 1 / -1; }
.shop-retr--neutre .shop-retr__label { display: block; margin: 0 0 .45em; font-size: .78em; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.shop-retr--neutre .shop-retr__input { width: 100%; box-sizing: border-box; padding: .85em 1em; font: inherit; color: inherit;
	background: color-mix(in srgb, currentColor 5%, transparent); border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 0; }
.shop-retr--neutre .shop-retr__input:focus { outline: 2px solid var(--shop-accent, var(--red, currentColor)); outline-offset: 1px; }
.shop-retr--neutre .shop-retr__bouton { padding: 1em 1.8em; border: 0; cursor: pointer; font: inherit; font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; color: #fff; background: var(--shop-accent, var(--red, #c0392b)); }
.shop-retr--neutre .shop-retr__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8em; }
@media (max-width: 600px) {
	.shop-retr--neutre .shop-retr__grille { grid-template-columns: 1fr; }
}
