/* Couche CSS « core » (voir Theme::buildCoreHeaders) : gagne sur BootstrapVendor, perd contre tout CSS sans couche (Theme.css, pages Produit). */
@layer core {
/* ================================================================================================
	FORMSTATE (Core) - mécanique et défauts neutres ; Skin.css donne les couleurs du thème.
================================================================================================ */

/* Compteur « ● N modifications non enregistrées » - inséré avant le bouton Annuler */
.bootstrap-formstate-status {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	margin-right: .25rem;
	font-size: var(--bootstrap-fs-xs, .75rem);
	font-weight: 500;
	white-space: nowrap;
	color: var(--bootstrap-warning-text, #8a6d00);
}
.bootstrap-formstate-status[hidden] { display: none; }
.bootstrap-formstate-status::before {
	content: "";
	width: .4375rem;
	height: .4375rem;
	border-radius: 50%;
	background: var(--bootstrap-warning, #e2b203);
}
.bootstrap-formstate-short { display: none; }

/* Écran étroit : « Modifié » seulement */
@media (max-width: 767.98px) {
	.bootstrap-formstate-long { display: none; }
	.bootstrap-formstate-short { display: inline; }
}

/* Point devant le libellé d'une ligne modifiée (.bootstrap-form-row du Skin), sinon
   un liseré sur le champ lui-même */
.bootstrap-form-row.bootstrap-formstate-modified > .bootstrap-form-label::before {
	content: "";
	display: inline-block;
	width: .375rem;
	height: .375rem;
	margin: 0 .375rem .125rem -.75rem;
	border-radius: 50%;
	vertical-align: middle;
	background: var(--bootstrap-warning, #e2b203);
}
:not(.bootstrap-form-row).bootstrap-formstate-modified {
	box-shadow: -3px 0 0 var(--bootstrap-warning, #e2b203);
}
}
