:root {
	--font-ffs: "Montserrat", "Roboto", Arial, Helvetica, sans-serif;

	--bs-table-primary-bg: #283ebf;	   /* fond bleu */
	--bs-table-primary-color: #ffffff; /* texte blanc */

	--bg-dark: #333;
	--bg-light: #f8f9fa;

	--ffs-blue: #283ebf;
	--ffs-blue_light: #2738a1;
	--ffs-blue-dark: #0000FF;
	
	--ffs-red: #ff3e4b;
	--ffs-gray: #343a40;
	--ffs-gray-light: #efefef;
	--ffs-black: #000000;
	--ffs-white: #ffffff;
	
	--ffs-secondary: #343a40;
	--ffs-secondary-dark: #23272b;
	--ffs-secondary-hover: #1d1f23;
}

body {
	font-family: var(--font-ffs);
	margin: 0; 
}

#nav_ffs a.navbar-brand img {
  height: 48px;
  width: auto;
}

/* Bouton plein */
.btn-primary {
	color: #fff;
	background-color: var(--ffs-blue);
	border-color: var(--ffs-blue);
}

.btn-primary:hover, .btn-primary:focus {
	background-color: var(--ffs-red);
	border-color: var(--ffs-red);
}

/* Bouton outline */
.btn-outline-primary {
	color: var(--ffs-blue);
	border-color: var(--ffs-blue);
}

.btn-outline-primary:hover, .btn-outline-primary:focus {
	background-color: var(--ffs-blue);
	border-color: var(--ffs-red);
}

/* Bouton plein - disabled */
.btn-primary:disabled, .btn-primary.disabled {
	background-color: var(--ffs-blue);
	border-color: var(--ffs-blue);
	opacity: 0.65;
}

/* Bouton outline - disabled */
.btn-outline-primary:disabled, .btn-outline-primary.disabled {
	color: var(--ffs-blue);
	border-color: var(--ffs-blue);
	opacity: 0.65;
}


/* Background & texte */
.bg-primary {
	background-color: var(--ffs-blue) !important;
}

.text-primary {
	color: var(--ffs-blue) !important;
}

.border-primary {
	border-color: var(--ffs-blue) !important;
}

/* Alertes */
.alert-primary {
	background-color: var(--ffs-blue);
	border-color: var(--ffs-blue-dark);
	color: #fff;
}
.alert-primary a {
	color: #fff;
}

/* Badges, labels, etc. */
.text-bg-primary {
	background-color: var(--ffs-blue) !important;
	color: #fff !important;
}

.th-primary {
	background-color: var(--ffs-blue) !important;
	color: #fff !important;
}

/* Checkboxes et radios cochés */
.form-check-input:checked {
background-color: var(--ffs-blue);
border-color: var(--ffs-blue);
}

/* Ring de focus */
.form-check-input:focus {
border-color: var(--ffs-blue);
box-shadow: 0 0 0 0.25rem rgba(220, 31, 38, 0.25);
}

/* Switches Bootstrap (form-switch) */
.form-check-input:checked[type="checkbox"] {
background-color: var(--ffs-blue);
border-color: var(--ffs-blue);
}

.form-switch .form-check-input:focus {
border-color: var(--ffs-blue);
box-shadow: 0 0 0 0.25rem rgba(220, 31, 38, 0.25);
}

/* Coche interne en blanc (pour contraste) */
.form-check-input:checked::before {
background-color: white;
}

.link-primary {
	color: var(--ffs-blue) !important;
	text-decoration: underline !important; 
}

.link-primary:hover,
.link-primary:focus {
	color: var(--ffs-red) !important;   
	font-weight:bold;
	text-decoration: underline !important; 
}

/* --- SECONDARY --- */
.btn-secondary {
	color: #fff;
	background-color: var(--ffs-secondary);
	border-color: var(--ffs-secondary);
}

.btn-secondary:hover, .btn-secondary:focus {
	background-color: var(--ffs-secondary-dark);
	border-color: var(--ffs-secondary-hover);
}

.btn-outline-secondary {
	color: var(--ffs-secondary);
	border-color: var(--ffs-secondary);
}

.btn-outline-secondary:hover, .btn-outline-secondary:focus {
	background-color: var(--ffs-secondary);
	color: white;
	border-color: var(--ffs-secondary-hover);
}

.btn-secondary:disabled,
.btn-secondary.disabled,
.btn-outline-secondary:disabled,
.btn-outline-secondary.disabled {
	background-color: var(--ffs-secondary);
	border-color: var(--ffs-secondary);
	color: white;
	opacity: 0.65;
}

.bg-secondary {
	background-color: var(--ffs-secondary) !important;
}

.text-secondary {
	color: var(--ffs-secondary) !important;
}

.border-secondary {
	border-color: var(--ffs-secondary) !important;
}

.alert-secondary {
	background-color: rgba(52, 58, 64, 0.1);
	border-color: var(--ffs-secondary);
	color: var(--ffs-secondary);
}

.text-bg-secondary {
	background-color: var(--ffs-secondary) !important;
	color: #fff !important;
}

.pagination-ffs {
/* couleur de base */
--bs-pagination-color: var(--ffs-blue);          /* texte */
--bs-pagination-border-color: var(--ffs-blue);   /* bordure */

/* survol et focus */
--bs-pagination-hover-color: var(----ffs-white);
--bs-pagination-hover-bg: var(--ffs-blue);
--bs-pagination-hover-border-color: var(--ffs-blue);
--bs-pagination-focus-color: var(----ffs-white);
--bs-pagination-focus-bg: var(--ffs-blue);

/* page active */
--bs-pagination-active-color: var(----ffs-white);
--bs-pagination-active-bg: var(--ffs-blue);
--bs-pagination-active-border-color: var(--ffs-blue);
}

/* choices - elements selectionnés */ 
.choices__list--multiple .choices__item--selectable {
  background-color: var(--ffs-blue) !important; /* rouge */
  color: #fff !important;
  border-radius: 4px;
}

/* supprime le soulignement balise a */
atotototo {
	color:inherit;          /* Hérite de la couleur du texte parent */
	text-decoration: none;  /* Supprime le soulignement */
}

a {
  --bs-link-color: green;
  --bs-link-hover-color: red;
  text-decoration: none;
}

/* Barre + triangle uniquement sur liens ayant un data-target */
@media (min-width: 992px) {
	#nav_ffs .nav-link[data-target] {
		position: relative;
		padding-bottom: .5rem;
		transition: color .2s;
	}
	/* Barre Horizontale si data-target présent (vide ou non) */
	#nav_ffs .nav-link[data-target].active::after,
	#nav_ffs .nav-link[data-target]:hover::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 80%;
		height: 4px;
		background-color: var(--ffs-blue);
	}
	/* Fleche basse que si le data-target n'est pas vide */
	#nav_ffs .nav-link[data-target]:not([data-target=""]).active::before,
	#nav_ffs .nav-link[data-target]:not([data-target=""]):hover::before {
		content: "";
		position: absolute;
		bottom: -11px;
		left: 50%;
		transform: translateX(-50%);
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid var(--ffs-blue);
	}
}

#nav_ffs .nav-item .nav-link {
	color:var(--ffs-blue);
	font-weight: 600; /* gras */
	letter-spacing: -0.06em; /* Rapproche les caractères de 6% de la taille de la police */
	position: relative;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	#nav_ffs .nav-item .nav-link {
		font-size: 0.68rem;
	}
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
	#nav_ffs .nav-item .nav-link {
		font-size: 0.9rem;
	}
}
@media (min-width: 1400px) {
	#nav_ffs .nav-item .nav-link {
		font-size: 1.1rem;
	}
}
		
/* cards_ffs */
#cards_ffs .card {
	border: none;
	box-shadow: 10px 4px 5px var(--ffs-gray);
	margin-top: -1px;
	background-color:var(--ffs-gray-light);
}

.msg-level1 {
	color: var(--ffs-blue) !important;
	font-weight: bold;
}

.msg-level2 {
	color: var(--ffs-black) !important;
	font-weight: bold;
}

.msg-level3 {
	color: var(--ffs-gray) !important;
}

/* conteneur des cartes superposées */
@media (min-width: 992px) {
	#cards_ffs {
		position: absolute;
		top: 170px; /* hauteur de la navbar */
		left: 0;
		right: 0;
		z-index: 1050; /* au-dessus du contenu normal */
	}
}

/* customisation des <a> des cards_ffs */
#cards_ffs a {
	text-decoration: none; /* Pas de soulignement */
	position: relative;
	transition: all 0.3s ease; /* Transition pour toutes les propriétés */
	padding-left: 1rem; /* Espace pour le chevron */
	display: inline-block; /* Évite les sauts de ligne */
}
#cards_ffs a:hover {
	color: var(--ffs-blue) !important;
	font-weight: bold;
	transform: translateX(6px); /* Décale le texte vers la droite */
}
/* Chevron caché par défaut */
#cards_ffs a::before {
	content: '›'; /* Chevron (ou ">" si préféré) */
	position: absolute;
	left: 0; /* Position initiale (à gauche du texte) */
	opacity: 0; /* Invisible par défaut */
	transition: opacity 0.3s ease, left 0.3s ease;
	color: var(--ffs-blue); /* Même couleur que le texte au survol */
}
/* Chevron visible au survol */
#cards_ffs a:hover::before  {
	opacity: 1; /* Rendu visible */
	left: -0.5rem; /* Décalage léger vers la gauche */
}

footer {
	background-color:var(--ffs-blue);
}

#footer_end {
	background-color:var(--ffs-blue_light);
}

footer a {
  display: inline-block;       /* pour que le fond s’applique proprement */
  padding: 6px 12px;           /* optionnel pour donner un peu d’air */
  color: white;              /* bleu Bootstrap par ex. */
  background-color: var(--ffs-blue);      /* fond blanc */
  text-decoration: none;       /* enlève le soulignement */
  border: 0px solid #007bff;   /* garde une bordure pour la cohérence */
  border-radius: 4px;          /* coins arrondis */
  transition: all 0.2s ease;   /* effet fluide */
}

footer a:hover {
  color: var(--ffs-blue);
  background-color: white; 
}

td.etat_paiement0
{
	color:yellow;
	background-color:rgb(192, 0, 0);
}

td.etat_paiement1
{
	color:white;
	background-color:rgb(128, 0, 0);
}

td.etat_paiement8
{
	color:white;
	background-color:green;
}

td.etat_paiement9
{
	color:white;
	background-color:green;
}