.btn-primary {
  background-color: #e4333d !important;
  border-color: #e4333d !important;
  color: #fff !important;
}

.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active {
  background-color: #c52727 !important;
  border-color: #c52727 !important;
  color: #fff !important;
}
/* ========== INPUTS, SELECT, TEXTAREA ========== */
input.form-control,
textarea.form-control,
select.form-control {
  color: #495057 !important;
}

input.form-control:focus,
textarea.form-control:focus,
select.form-control:focus {
  border-color: #777777 !important;
  box-shadow: 0 0 6px rgba(119, 119, 119, 0.4) !important;
  outline: none !important;
}

/* ========== MOT DE PASSE REINI ========== */
.bg-madus {
	background-color: #e4333d !important;
}

.madus-reset {
	color: white !important;
}

a.condition {
	color: #666666 !important;
    text-decoration: underline !important;
}

a.condition:hover, 
a.condition:focus {
  color: #333333 !important;
  text-decoration: underline !important;
}

/* ========== NAVBAR ROUGE MADUS (SANS TOUCHER LE FOOTER) ========== */
.navbar-madus {
  background-color: #c52727 !important;
  border-color: #c52727 !important;
}

.navbar-brand {
  color: #fff !important;
}

.navbar-brand:hover {
  color: #fff !important;
}

.legal-footer {
  font-size: 12px;
  color: #999999;
  line-height: 1.2;
}

/* Neutraliser le vert des champs validés */
.form-check-input:valid ~ .form-check-label {
  color: #666666 !important;
}

/* Neutraliser le rouge des labels d'erreur */
.form-check-label {
  color: #666666 !important;
}

/* ==== Images de cartes toujours même taille, sans déformation ==== */
img.card-madus {
  width: 100%;           /* occupe toute la largeur de la card */
  height: 300px;         /* fixe la hauteur (ajuste selon ton besoin) */
  object-fit: cover;     /* croppe et conserve les proportions */
  object-position: center center; /* centre le recadrage */
  display: block;        /* évite les petits espaces blancs sous l’image */
}

img.card-madus-modal {
  width: 100%;           /* occupe toute la largeur de la card */
  height: 100px;         /* fixe la hauteur (ajuste selon ton besoin) */
  object-fit: cover;     /* croppe et conserve les proportions */
  object-position: center center; /* centre le recadrage */
  display: block;        /* évite les petits espaces blancs sous l’image */
}

/* Font pour les prix */
.madus-price {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;                  /* gras pour mettre en valeur */
  font-size: 2em;                  /* ajuste selon ton design */
  font-variant-numeric: tabular-nums;/* chiffres alignés */
color: black;                    /* ta couleur Madus */
}

.madus-price-big {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;                  /* gras pour mettre en valeur */
  font-size: 2.5em;                  /* ajuste selon ton design */
  font-variant-numeric: tabular-nums;/* chiffres alignés */
color: black;                    /* ta couleur Madus */
}

/* Centimes plus petits et légèrement décalés */
.madus-price-cents {
  font-size: 0.6em;         /* ajuster selon goût */
  vertical-align: super;    /* ou baseline-shift si tu veux */
  margin-left: 0.1em;       /* un petit espacement */
  color: inherit;
}

.product-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;     /* nombre de lignes */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.breadcrumb {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden;          /* on masque tout ce qui dépasse */
  width: 100%;               /* s’étend sur toute la largeur parent */
}

a.product-title-breadcrumb {
  flex: 1 1 auto;            /* prend tout l’espace restant */
  white-space: nowrap;       /* interdit les retours à la ligne */
  width: 50ch;                /* laisse la place à ~100 caractères */
  overflow: hidden;          /* masque le surplus de texte */
  text-overflow: ellipsis;   /* ajoute “…” quand c’est trop long */
}

/* Désactive le gras sur le prix barré */
del.old-price {
  font-weight: normal !important;
}

/* Désactive le gras sur le prix barré */
del.old-price-big {
  font-weight: normal !important;
  font-size: 1.7em;
}


.badge-nouveau {
  background-color: #1976D2;
  color: #fff;
}
.badge-promo {
  background-color: #C52727;
  color: #fff;
}
.badge-bestseller {
  background-color: #FFB300;
  color: #000;
}
.badge-prix-baisse {
  background-color: #4CAF50;
  color: #fff;
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25em 0.5em;
  font-size: 0.875em;
  font-weight: 600;
  border-radius: 0.25rem;
}

/* 1. On positionne le parent en relatif */
.card-img-actions {
  position: relative;
}

/* 2. On place chaque badge en haut à gauche */
.card-img-actions .badge {
  position: absolute;
  top: 0.5rem;    /* à ajuster selon l’espacement souhaité */
  left: 0.5rem;
  z-index: 10;    /* pour être au-dessus de l’image */
}

/* 3. Si tu veux plusieurs badges, on décale verticalement chaque ligne */
.card-img-actions .badge + .badge {
  top: 2.5rem;    /* seconde badge à 2.5rem du haut */
}

.card-img-actions .badge + .badge + .badge {
  top: 4.5rem;    /* troisième badge à 4.5rem du haut */
}

/* Style commun */
.stock-status {
  font-size: 0.875em;   /* 14px si base 16px */
  font-weight: 600;
  margin: 0.5rem 0;     /* un petit espace vertical */
}

/* Couleurs spécifiques */
.stock-ok {
  color: #4CAF50;       /* vert franc */
}

.stock-low {
  color: #FF9800;       /* orange soutenu */
}

.stock-out {
  color: #C52727;       /* rouge Madus */
}

.stock-pre {
  color: #1976D2;       /* bleu Madus */
}

select.madus-tri {
  height: 30px;          /* ta hauteur fixe */
  line-height: 30px;     /* même valeur que la hauteur */
  padding-top: 0;        /* on enlève le padding vertical par défaut */
  padding-bottom: 0;
 /* padding horizontal standard Bootstrap */
  padding-right: 2.8rem;
}


/* 3) On s’assure qu’aucun positionnement absolu ou flottant n’interfère */
.madus-tri,
.breadcrumb-item.active {
  position: relative !important;
  float: none !important;
}

/* 1) Empêche le label de se couper */
.breadcrumb-item.active {
  white-space: nowrap !important;
}

/* 2) Assure-toi que le conteneur ne wrap pas non plus */
.breadcrumb {
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
}

/* 3) Permets au select de ne pas forcer le wrapping */
.madus-tri {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* ========== CONFIGURATOR ========== */

.bg-info-madus {
  cursor: help;
}
/* ========== Fancy tree ========== */

.level {
	padding-left:20px;
}
.fancytree-active .fancytree-title a{
   color: #000;font-weight:bold;
}
.fancytree-active .fancytree-title a:hover{
 color: #000;font-weight:bold;
}
.fancytree-title a{
  color: #fff;
}
.fancytree-title a:hover{
  color: #ddd;font-weight:bold;
}
.fancytree-folder.fancytree-has-children.fancytree-ico-cf .fancytree-icon::after {
    content: "\f40c";
}
.fancytree-has-children.fancytree-ico-ef .fancytree-icon::after {
    content: "\f414";
}
.fancytree-folder.fancytree-has-children.fancytree-ico-cf .fancytree-icon.close::after {
    content: "\f40e";
}

.fancytree-has-children.fancytree-ico-ef .fancytree-icon.close::after {
    content: "\f40e";
}
.fancytree-ico-c .fancytree-icon::after, .fancytree-ico-e .fancytree-icon::after {
  content: "\f26d";
}
.fancybox-close::after {
    content: ""!important;
}
 .sidebar-main-resized .fancytree-connectors{
    display: none;
}
.sidebar-main-unfold .fancytree-connectors {
    display: block;
}
/* ========== evite le saut de ligne sur les elements legit ========== */
div.legitRipple-ripple{
	display:none; }