body {
    background-color: #FFF;
    font-size: 0.9em;
}

.menu-item a{
    text-decoration: none;
    font-weight: 600;
}

.menu-item a:hover{
    text-decoration: underline;
}

.breadcrumb-chevron {
    --bs-breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236c757d'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    gap: .5rem;
  }

.container {
  --bs-gutter-x: 0;
}
  .breadcrumb-chevron .breadcrumb-item {
    display: flex;
    gap: inherit;
    align-items: center;
    padding-left: 0;
    line-height: 1;
  }
  .breadcrumb-chevron .breadcrumb-item::before {
    gap: inherit;
    float: none;
    width: 1rem;
    height: 1rem;
  }
  
  .breadcrumb-custom .breadcrumb-item {
    position: relative;
    flex-grow: 1;
    padding: .75rem 3rem;
  }
  .breadcrumb-custom .breadcrumb-item::before {
    display: none;
  }
  .breadcrumb-custom .breadcrumb-item::after {
    position: absolute;
    top: 50%;
    right: -25px;
    z-index: 1;
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    content: "";
    background-color: var(--bs-tertiary-bg);
    border-top-right-radius: .5rem;
    box-shadow: 1px -1px var(--bs-border-color);
    transform: scale(.707) rotate(45deg);
  }
  .breadcrumb-custom .breadcrumb-item:first-child {
    padding-left: 1.5rem;
  }
  .breadcrumb-custom .breadcrumb-item:last-child {
    padding-right: 1.5rem;
  }
  .breadcrumb-custom .breadcrumb-item:last-child::after {
    display: none;
  }

  .breadcrumb-item a{
    color: #000000;
    text-decoration: none;
  }

  .breadcrumb-item a:hover{
    color: #4976A3;
  }

  H2.parts-table-title, h2.parts-illustration-title{
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    font-size:1.3em;
    font-weight:800; 
    color: #4976A3;
    padding:8px;
}

h2.parts-illustration-title{
    padding:0;
}

#bom-bloc{
    padding:10px;
    min-height:300px;
    background-color:#FFF;
    border:1px solid #CCC;
    text-align:center;
}

#parts thead tr th{
    background-color: #4976A3;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 0.9em;
    color:#FFF;
    vertical-align: middle;
}

#parts thead tr th.cart-title{
    font-size: 0.6em;
    text-align: center;
}

#parts input{
    height:1.8em;
    width:2.5em;
    text-align:right;
    display: inline-block;
}

#parts a.add-bt{
    display: inline-block;
    text-decoration:none;
    color: #666;
    position: relative;
    top:-2px;
}

#parts a.add-bt:hover{
    color: #4976A3;
}

.addToCart{
    width:55px;
}

#part-illustration{
    min-height:400px;width:55%;float:left;background-color:#FFF;
}

.img-container{
    border : 1px solid #CCC;
    margin-right:10px;
}

model-viewer {
    width: 690px;
    height: 500px;
}

.switch{
    font-size:0.7em;
    font-weight:300; 
    text-decoration:none;
    color:#999999;
}

.switch:hover{
    color: #4976A3;
}

.breadcrumb {
  --bs-breadcrumb-divider: '|';
}

table#parts tr:hover td{
    background-color: #CCC;
}

.selection td{
  background-color: #CCC;
}

select.customSelect{
  padding-right: 2rem;
}

select.customSelect option{
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; /*margin:0 0 0 10px;*/
}


.form-select option {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


select.customSelect Option:first-child{
  font-weight:bold;
  color:#333;
}

select.customSelect Option{
  font-size:0.9em;
  color:#1c5385;
}


select.active{
  border:1px solid #4976A3;
}



.illustration-thumbnail img{
  height:100px;
  padding:10px;
  margin:5px 5px 0 0;
  border:1px solid #CCC;
  opacity: 0.5;
}

.illustration-thumbnail:hover img{
  border:1px solid #4976A3;
  opacity: 1;
}

.illustration-thumbnail img.selected{
    border:1px solid #333;
    opacity: 1;
}

#illustrations-thumbnails{
  margin:10px 0 0 0;
}

.img-container{
  min-height: 300px;
  max-height:600px;
  text-align:center;
  vertical-align: middle;
}

.img-container{
  height:80%;
}

#part-illustration{
  margin-bottom: 10px;
}

.price{
  display: block;
  float:right;
  color: #a70f0f;
  font-size:1.2em;
}

.price span:first-child{
  font-weight:normal;
  font-size: .6em;
  line-height: 1em;
  color:#4976A3;
}

.price span.decimalPart{
  font-weight:normal;
  bottom: -4px;
  left:5px;
  font-size: .5em;
  line-height: .5em;
  vertical-align:super;
  text-decoration:none;
}


.cls-1{
    display:block;
    fill: #4976A3;
    visibility:hidden;
}

.cls-1:hover{
    visibility:visible;
    fill: #4976A3;
}

.placeholder-3d{
    background-color:#EFEFEF;
    color:#4976A3;
    font-weight:bold;
    width:100%;
    height:400px;
    display: flex;
    justify-content: center;
    align-items: center;
}


.hotspot{
   display:block;
   visibility:visible;
   fill: #4976A3;
   opacity: 0;
}

.hotspot:hover{
  fill: #4976A3;
  opacity: 1;
}


.selectedOne{
  opacity: 1;
}


.cls-2 {
    fill: #fff;
    fill-rule: evenodd;
}

.cls-2, .cls-3, .cls-4, .cls-5, .cls-6, .cls-7 {
    stroke-linecap: round;
    stroke-miterlimit: 11.3;
}

.cls-2, .cls-3, .cls-4, .cls-6, .cls-7 {
    stroke: #000;
}

.cls-2, .cls-4 {
    stroke-width: .3px;
}

.cls-3 {
    stroke-dasharray: 25.5 8.5 2.8 8.5;
}

.cls-3, .cls-4, .cls-5, .cls-6, .cls-7 {
    fill: none;
}

.cls-3, .cls-6 {
    stroke-width: .6px;
}

.cls-5 {
    stroke: #fff;
    stroke-width: 1.4px;
}

.cls-7 {
    stroke-width: .7px;
}

.cls-8 {
    font-family: ArialMT, Arial;
    font-size: 10px;
    isolation: isolate;
}


#fileContainer input:hover {
    border: 2px dashed #000;
}

#fileContainer label{
    font-weight: 600;
    color: #4976A3;
    text-align: left;
    display: none;
}

.dropzone-container:hover, .dropzone-container:active, .dropzone-container:focus{
  border : 2px dashed #4976A3;
  background-color:#EFEFEF;
  color:#000;
}

.dropzone-container:hover .dropzone-placeholder, .dropzone-container:active .dropzone-placeholder, .dropzone-container:focus .dropzone-placeholder{
  color:#000;
}

.inactiveModel{
  opacity: 0.5;
}

.model-illustration{
  max-width:100%;
  height:auto;
  max-height:100%;
  padding:15px;
  background-color:#FFF;
  width:150px;
  height:150px;
}


.model-block a{
  
  text-decoration: none;
  color: #4976A3;
  
}


.model-block a:hover .model-illustration-container{
 
  margin:auto;
  padding:auto;
  width:150px;
  height:150px;
  text-align:center;
  margin-bottom:1em;
  border: 1px solid #4976A3;
}

.model-block a .model-illustration-container{
  border: 1px solid #FFF;
  margin:auto;
  padding:auto;
  width:150px;
  height:150px;
  text-align:center;
  margin-bottom:1em;
  text-decoration:none;
}



.model-illustration-title{
  font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif !important; font-weight: 700 !important;
}

.model-block a:hover .model-illustration-title{
  color: #000;
}

.model-title-illustration{
  float:right;
  padding:auto;
  width:100px;
  height:100px;
  text-align:center;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 1em;
  margin : 40px 50px 0 10px;
}


.image-top{
  position:absolute;
  clear:both;
  top:100px;
}

.productFamilies-title{
  margin: 74px 0 0 60px;
  float:left;
  color:#FFF;
}

.card-title{
  font-size:1em;
  font-weight:bold;
  color:#4976A3;
  padding:5px 5px 5px 10px;
  background-color: #ECECEC;
  text-align: left;
}

.model-title, .header-title{
  color:#FFF;
}

.header-title{
 
  float:right;
  margin-top:74px; 
  margin-right:40px; 
}

.model-title{
  float:right;
  margin-top:74px;  
}


.title-container{
  float:right;
  margin-right:45px;
  margin-top:72px;  
  color:#FFF;
  font-size: 2rem;
  /*test*/
}

#search-bar{
  width:100%;
  background-color: #ECECEC;
  padding-top:10px;
  padding-bottom:10px;
}

#products-kits-table td a{
  text-decoration: none;
  color: #4976A3;
  font-size:0.9em; 
}

a.relatedToLink{
  font-size:0.9em; 
}




#products-kits-table td a:hover{
   color: #000;
}

.tableContainer {
  width:100%;
}

.tableContainer tbody{
  width:100%
}

#products-kits-table {
  position: sticky;
  top: 0;
  width: 100%;
  font-size: 1em;
}


select option:disabled {
  color: #999;
  font-weight: italic;
}

select:disabled {
  color: #999;
  font-weight: italic;
} 

.breadcrumb-properties {
  --bs-bg-opacity: 1;
  background-color: #FFF
}

.pf-card {
  border: 1px solid #CCC;
  border-radius: 0.25rem;
  padding: 1rem;
  margin-bottom: 1rem;
  background-color: #FFF;

} 

.cardCustom:hover {
  border-color: #4976A3;
  overflow: hidden;
}

.cardCustom:hover .card-body {
  font-weight:bold;
}

.cardCustom img{
  -webkit-transition: all 0.5s ease; /* Safari and Chrome */
    -moz-transition: all 0.5s ease; /* Firefox */
    -ms-transition: all 0.5s ease; /* IE 9 */
    -o-transition: all 0.5s ease; /* Opera */
    transition: all 0.5s ease;
}

.cardCustom:hover img{
  -moz-transform:scale(1.1); /* Firefox */
  -ms-transform:scale(1.1); /* IE 9 */
  -o-transform:scale(1.1); /* Opera */
   transform:scale(1.1);

}

.table-title{
  background-color: #4976A3;
  color:#FFF;
  font-weight: normal;
  font-size:0.9em;
}

.table-title em{
  color: #4976A3;
  font-weight:bold;
  font-style: normal;
}

.halo-on-load {
  /* Style de base du select */
  padding: 5px;
  position: relative; /* Pour bien positionner l'effet */
  
  /* Animation qui se lance au chargement */
  animation: blinkHalo 1s ease-in-out 1;
}

/* Définition de l'animation */
@keyframes blinkHalo {
  0% {
      box-shadow: 0 0 0 0 rgba(0, 128, 255, 0.7);
  }
  50% {
      box-shadow: 0 0 10px 5px rgba(0, 128, 255, 0.7);
  }
  100% {
      box-shadow: 0 0 0 0 rgba(0, 128, 255, 0);
  }
}

.dropdown-item:hover{
  background-color: #4976A3;
  color:#FFF;
}

#account-card .card-header{
  background-color: #E9E9E9;
  
}




.overlay-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 1); /* Fond blanc opaque */
  color: #4976A3;
  display: none; /* Caché par défaut */
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  z-index: 1000; /* Au-dessus de tout */
  overflow: hidden; /* Corriger la valeur invalide */
}

.disclaim {
  font-size: 1.2rem;
  margin: 10px 0;
}

/* Media query pour petits écrans */
@media (max-width: 768px) { /* Ajusté à 768px pour inclure plus d'appareils */
  .overlay-panel {
      display: flex; /* Affiché sur petits écrans */
  }
}


.cart-line-price em{
  color:#4976A3;
  font-weight:bold;  
}

#top-bar{
  width:100%;
  height:178px;
  background-image: url("../img/fond-provisoire-5dbe41c172b8635973c473f35cd28650.png");
  background-size: cover; /* L'image couvre tout le conteneur, en conservant ses proportions */
  background-position: center; /* Centre l'image dans le conteneur */
  background-repeat: no-repeat; /* Évite que l'image se répète */
  margin-top:20px;
}

:root {
  --bs-primary: #4976A3; /* Remplace par ton code couleur, ex. #ff5733 */
  --bs-primary-rgb: 73, 118, 163; /* Valeurs RGB correspondantes pour les cas où Bootstrap utilise RGB */
}

.btn-primary, .bg-primary{
  background-color: #4976A3;
  border-color: #4976A3;
  color:#FFF;
}

/*
a.btn-primary, a.btn-sm{
  color:#FFF;
}*/

.btn-individual{
  border:none;
  background:none;
} 

.btn-individual:hover{
  background-color: #4976A3;
  color:#FFF;
}

.text-primary {
  color: #4976A3; 
}

#search-bar label{
  color:#999;
  font-size:0.8em;
  text-transform: uppercase;
  margin-bottom: 5px;
  padding-left:4px;
  text-align: left;
  width:100%;

}

#search-bar option:first-child{
  text-align: center;
  background-color:#DFDFDF;
}


#search-bar option.unselect{
  background-color:#4976A3;
  color:#FFF;
  text-align:center;
}


.confetti {
  left: 0;
  pointer-events: none ;
  position: fixed;
  top: 0;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  height: 100%;
  width: 100%;
}


.confetti-item {
  position: absolute;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}


@keyframes confetti-fall {
  0% {
    transform: translateY(-100%)
  }
  95%{
    animation-timing-function: ease-in-out;
    transform: translateY(calc(100vh - 55%))
  }
  100% {
    transform: translateY(calc(150vh - 65%))
  }}


  .form-label{
    font-size: 0.8em;
    color: #4976A3;
    font-weight: 400;
    text-align: left;
    margin-bottom: 5px;
    padding-left:4px;
    text-transform: uppercase;
    width:100%;
  }

  #list-orders tr.cancelled td{
    
      background-image: linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.1) 25%,
        transparent 25%,
        transparent 50%,
        rgba(0, 0, 0, 0.1) 50%,
        rgba(0, 0, 0, 0.1) 75%,
        transparent 75%,
        transparent
      );
      background-size: 20px 20px; /* Taille des hachures */
    
  }

  ::placeholder {
    color: #6c757d; /* Couleur du texte */
    font-style: italic; /* Style de la police */
    opacity: 0.7; /* Opacité */
    font-size:1em;
}

.passwordLost{
  display:block;
  margin:auto;
  text-decoration:none;
  color: #4976A3;
  font-size:0.9em;
  text-align: center;
}
.passwordLost:hover{
  color: #000;
  text-decoration:underline;
}

.has-error .form-control {
  border-color: #dc3545;
}
.has-error .help-block {
  color: #dc3545;
  font-size: 0.875rem;
}


.propertyName{
  font-size: 0.8em;
  color: #4976A3;
  font-weight: 400;
  text-align: left;
  margin-bottom: 5px;
  padding-left:4px;
  text-transform: uppercase;
  width:100%;
}

input[readonly], textarea[readonly] {
  background-color: #e9ecef; /* Couleur de fond grisée */
  opacity: 0.7; /* Légère transparence */
  border: 1px solid #ced4da; /* Bordure Bootstrap */
}

.alert.flash-message {
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1055;
  padding: 1.5rem;
  text-align: center;
  width: 70%; /* Responsive width for smaller screens */
  animation: shadow-pulse 1.5s ease-in-out infinite; /* Apply shadow animation */
}

/* Animation for a subtle omnidirectional shadow effect */
@keyframes shadow-pulse {
  0% {
      box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1); /* Subtle shadow */
  }
  50% {
      box-shadow: 0 0 15px 3px rgba(0, 0, 0, 0.3); /* Stronger and wider shadow */
  }
  100% {
      box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1); /* Back to subtle shadow */
  }
}

.btn-individual{
  border:none;
  background:none;
  border:1px solid transparent;
} 

.btn-individual:hover{
  background-color: #FFF;
  color:#4976A3;
  border:1px solid #4976A3;
}