p {margin-bottom: 8px}
.lead {font-size:125%}

.alert-info {background-color: #edf8fa; border-color: #cce0e6}

.alert-outline-danger {
	color: var(--bs-danger);
	background-color: #fff;
  background-color: rgba(var(--bs-danger-rgb), 0.02);
	border: 1px solid var(--bs-danger);
}


.table-label {font-weight:300; font-size:112%}

@media (max-width: 768px) {.table-label {font-size:100%}}


.text-warning { color: #ec9b00 !important }

.text-capwise {
	color: #0046bf !important
}

.card-header-inputs {background-color: #f1f1f1; font-size:115%}

.card-body-inputs {background-color: #fdfdfd;}

input::placeholder { color: #aaa !important }

.form-spacing { margin-bottom: 13px }

.tooltip-inner{ max-width:400px; padding:10px; text-align: left}	

.mb-4-5 {margin-bottom: 29px}

table th {font-weight: 500}

b { font-weight: 500 }

h3, h4 {line-height: 1.4}

/* gris plus clair pour table-striped */
.table-striped{
	--bs-table-striped-bg: rgba(0, 0, 0, 0.02);
}

.waterfall-simulator-report h2 {
	margin-top: 50px;
	margin-bottom: 20px;				
	font-size:160%;
}			
.waterfall-simulator-report h3 {
	margin-top: 30px;
	margin-bottom: 13px;				
	font-size:130%;
}			
.waterfall-simulator-report h4 {
	margin-top: 20px;
	margin-bottom: 10px;				
	font-size:120%;
}			
.waterfall-simulator-report header {
	font-size:180%; 
	text-align:center;
	font-weight: 300			
}

/* pour que tout le bouton delete soit cliquable, y compris sur l'icône au centre du bouton */
.delete-row i {
  pointer-events: none;
}

/* un peu plus de largeur */
.waterfall-simulator-container {
	font-size:95% ;
	max-width: 1425px ;  
	margin: 0 auto ;
}

/* pour les restitutions clients, encore plus de largeur */
.container-fluid-share{
  font-size:95%;
	padding-left: clamp(1rem, 5vw, 6rem);
	padding-right: clamp(1rem, 5vw, 6rem);
}
.container-fluid-share .table {
  font-size: 100%;
}

/* contexte SaaS (iframe avec barre latérale) : moins de padding, polices légèrement réduites */
.saas-embed {
	font-size: 88%;
	padding-left: clamp(1.25rem, 3vw, 4rem);
	padding-right: clamp(1.25rem, 3vw, 4rem);
}
.saas-embed .table {
	font-size: 100%;
}

/* petite icone qui tourne pour le card nouvelle levée */
.collapse-icon {
    display: inline-block;
    transition: transform 0.3s ease;
  }

/* Si aria-expanded=true => collapse ouvert => on tourne la flèche */
button[aria-expanded="true"] .collapse-icon {
 transform: rotate(180deg);
}

button[aria-expanded="false"] .collapse-icon {
 transform: rotate(0deg);
}


/* figer la premiere col tableau sensi */
.sensi-table th:first-child, .sensi-table td:first-child {
  position:sticky;
  left:0;
}
.sensi-table td, .sensi-table th {
	padding-left: 30px;
	padding-right: 30px;
}

@media (max-width: 991.98px) {
	.sensi-table td, .sensi-table th {
		padding-left: 10px;
		padding-right: 10px;
	}
	.sensi-table th:first-child, .sensi-table td:first-child {
		position: static;
	}
}


/* fade in lorsqu'on ajoute une nouvelle ligne */
tr.fade-in {
  animation: fadeIn 0.6s ease-in;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* loader */
#loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 28vh;
	z-index: 9999;
}
 
  
/* Pour éviter le "saut" visuel du spinner de la page au chargement */
html {overflow-y: scroll;}
 
/* Quand la modal est ouverte, supprimer aussi le scroll sur html */
html.modal-open {
  overflow: hidden !important;
}

/* Et désactiver les compensations de Bootstrap */
body.modal-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}

/* Optionnel : éviter scroll inutile dans la modal elle-même */
.modal.modal-fullscreen {
  overflow: hidden;
}

/* noUiSlider */
.noUi-connect {
    background: #0d6efd;
}
.noUi-handle {    
    border-radius: 20%;
    background: #fff;
    border: 1px solid #0d6efd;
    top: -10px !important; /* Ajuste par rapport à la hauteur de la piste */
    cursor: grab;    
    transition: box-shadow 0.2s, border-color 0.2s;
	 
}
.noUi-tooltip {    
	 color : #0d6efd;
	 font-weight: bold;
    letter-spacing: 0.5px; 
	 border-color: #bbb;
	 padding: 8px;
}
.noUi-target {
	height: 8px;
}


/**** Carousel welcome screen ****/

/* Flèches plus discrètes */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(1) brightness(1.2);  /* moins foncé */
  width: 1.6rem;
  height: 1.6rem;
}

/* Flèches plus éloignées du centre */
.carousel-control-prev {
  left: -4rem;
}

.carousel-control-next {
  right: -4rem;
}

/* Indicateurs (points) */
.carousel-indicators [data-bs-target] {
  background-color: rgba(0, 0, 0, 0.4);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 0 5px;
  border: none;
}

.carousel-indicators .active {
  background-color: rgba(0, 0, 0, 0.85);
}

/* Modal extra large personnalisé */
.modal-xl {
  max-width: 67%;
}
.modal .btn-close {
  z-index: 1056; /* supérieur au z-index du modal backdrop (1050) et du carousel */
}


/* pour faire apparaitre correctement le modal carousel sur mobile */
@media (min-width: 992px) { /* >= lg */
  .custom-xl-desktop {
    max-width: 1140px;
    width: 100%;
  }
}
@media (max-width: 991px) {
  .carousel-control-prev,
  .carousel-control-next {
    display: none;
  }
}
@media (max-width: 991px) {
  .carousel-indicators [data-bs-target] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
  }
}

@media (max-width: 767.98px) {
  .position-card-body {
    padding: 16px !important;
  }
  .ctx-recap-card-body {
    padding: 16px !important;
  }
  .newround-card-body {
    padding: 22px !important;
  }
  .newround-row2 {
    margin-top: 0 !important;
  }
}

/* réduction padding col canvas sur mobile */
@media (max-width: 767.98px) {
  [class*="col-"] canvas { display: block; }
  [class*="col-"]:has(canvas) { padding-left: 0px; padding-right: 4px; }
}

.range-slider-div { margin-left: 16px; margin-right: 16px; }
@media (max-width: 767.98px) {
  .range-slider-div { margin-left: 19px; margin-right: 27px; }
}