/* customization (over bootstrap / theme) */
body {
    font-size: 0.9rem;
}
.btn {
    border-radius:  20px;
    font-size: 12px;
}
.btn[class*="btn-outline-"]:not(:hover) {
	background-color: white;
}
.form-group {
    margin: 10px 0;
}
.form-label {
    font-size: 14px !important;
}
.label-required::after {
	content: ' *';
}
.form-control,
.form-select,
.form-check-label,
.custom-control-label,
.select2-container .select2-selection,
.select2-container .select2-dropdown .select2-search .select2-search__field,
.select2-container .select2-dropdown .select2-results__options .select2-results__option {
    font-size: 0.9rem;
}
.select2-container .select2-selection,
.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container .select2-dropdown .select2-search .select2-search__field,
.select2-container .select2-dropdown .select2-results__options .select2-results__option {
    font-weight: 400;
}
.select2-results__option--disabled {
    display: none; /* cache les options disabled pour plugin select2 (voir js) */
}
.form-control:disabled,
.form-select:disabled {
    cursor: not-allowed;    
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    top: -1px;
}
.offcanvas {
	--bs-offcanvas-width: 600px;
}

ul#checklist li .restore {
	display: none;
	top: 0;
	right: 0;
	color: #777;
	position: absolute;
	padding: 12px 16px 12px 16px;
	border-left: 1px dashed #e5e7eb;
}
ul#checklist li .restore:hover {
  background-color: rgba(0,0,0,.075);
  transition: all .3s ease;
}
ul#checklist li .close,
ul#checklist li .restore {
	padding-top: 15px;
	padding-bottom: 10px;
}
ul#checklist li.deleted {
	background-color: rgba(234,77,77,.075);
}
ul#checklist li.deleted .close {
	display: none;
}
ul#checklist li.deleted .restore {
	display: block;
}

.circle-progress {
	width: 50px;
	height: 50px;
}
.circle-progress-text {
	font-size: 24px;
}
.circle-wrapper .circle-progress-value {
	stroke-width: 6px;
  	stroke-linecap: round;
}
.circle-wrapper.circle-success .circle-progress-circle {
	stroke: #caf9df;
}
.circle-wrapper.circle-success .circle-progress-value {
	stroke: #17c666;
}
.circle-wrapper.circle-warning .circle-progress-circle {
	stroke: #ffebd0;
}
.circle-wrapper.circle-warning .circle-progress-value {
	stroke: #ffa21d;
}
.circle-wrapper.circle-danger .circle-progress-circle {
	stroke: #fdeded;
}
.circle-wrapper.circle-danger .circle-progress-value {
	stroke: #ea4d4d;
}
.circle-wrapper.circle-primary .circle-progress-circle {
	stroke: #e3e7f9;
}
.circle-wrapper.circle-primary .circle-progress-value {
	stroke: #3454d1;
}
.circle-wrapper.circle-dark .circle-progress-circle {
	stroke: #e9eff4;
}
.circle-wrapper.circle-dark .circle-progress-value {
	stroke: #64748b;
}
/* customization */


/* si pas d'icone pour l'item de menu, mise en forme de la premiere lettre */
.nxl-navigation .navbar-content .nxl-micon {
    font-size: 20px;
    margin-top: -4px;
    display: inline-block;
    width: 20px;
    text-align: center;
    margin-right: 10px;
}

/* dropdown : bug depassement des items */
.dropdown .dropdown-menu {
	padding: 15px 10px;
}
.dropdown .dropdown-menu .dropdown-item {
	margin: 3px 0;
}
/* dropdown : bug arrondis */
.dropdown-menu[data-popper-placement="bottom-end"], .dropdown-menu[data-popper-placement="bottom-start"] {
	border-radius: 10px;
}

/* floating label placeholder : bug oubli dans le theme */
.form-floating > .form-control-plaintext::placeholder, 
.form-floating > .form-control::placeholder {
	color: transparent !important;
}

/* select2 : bug positionnement dans modal */
.modal > .select2-container {
    position: fixed !important;
}

/* datatable : bug border tfoot */
.table-responsive .table tfoot th {
    border-top: 1px solid #e5e7eb;
    border-bottom: 0;
}
/* datatable : bug border-bottom qui s'appliquait sur tous les elements à l'intérieur de la derniere ligne, au lieu de la cellule */
.table-responsive .table tbody tr:last-child > * {
    border-bottom: transparent;
    /* 
    correction faite dans le fichier _table.scss, ligne 40 et dans css/theme.min.css(.map)
    erreur originelle (> manquant) : .table-responsive .table tbody tr:last-child *
    */
}
/* datatable : correction espacement vertical des grandes parties */
div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child {
    margin-bottom: 0;
}
/* dataTable */
.table-responsive .table tr td,
.table-responsive .table tr td.datatable-info,
.table-responsive .table tr td.datatable-buttons {
	padding: 0.5rem;
	vertical-align: middle;
}
table.dataTable tbody td[class*="datatable-column-"] {
	cursor: pointer;
}
#datatable_wrapper {
	margin-bottom: 8rem;
}
.dt-container .dtsp-panesContainer_wrapper {
	display: none;
}
.dt-container .dtsp-panesContainer_wrapper.active {
	display: block;
}
.dt-container .dtsp-panesContainer_wrapper .dtsp-panesContainer {
	background-color: #f0f2f8;
	padding: 10px;
	border-radius: 5px;
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	z-index: 9999;
}
.dt-container .dtsp-panesContainer_wrapper .dtsp-panesContainer_background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
}
.dtsp-searchPanes .dtsp-searchIcon {
	border-radius: 0;
}
#datatable_wrapper .row:first-child, #datatable_wrapper .row:last-child {
	/*padding: 15px;*/
}
div.dt-button-background {
	background: radial-gradient(ellipse farthest-corner at center, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
}

/* modal & toast icons */
.event-type {
	display: inline-flex;
	width: 80px;
	height: 80px;
	transition: all ease .2s;
	transition-delay: .3s;
	border: 3px solid #e0e6ed;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
    position: relative;
}
.event-type .event-init {
    position: absolute;
    inset: -4px;  /* raccourci pour top, right, bottom, left : recouvre la bordure du parent */
    background-color: #fff;
    border: 3px solid #e0e6ed;
    border-radius: 50%;
    transition: all ease .2s;
	transition-delay: .3s;
    opacity: 1;
}
.show .event-type .event-init {
	opacity: 0;
}
.event-type .event-indicator {
	transition: all cubic-bezier(0, .89, .44, 1) .2s;
	transition-delay: .5s;
	transform: scale(0);
	opacity: 0;
}
.show .event-type .event-indicator {
	transform: scale(1);
	opacity: 1;
}

/* fileupload */
.fileupload-file {
   position: relative;
   background: linear-gradient(to right, #198754 50%, transparent 50%); /* color-bs-success */
   background-size: 200% 100%;
   background-position: right bottom;
   transition:all 1s ease;
}
.fileupload-file.fileupload-file-progress {
   color: #fff;
}
.fileupload-file.fileupload-file-done {
   background-image: none;
}
.fileupload-button {
	position: relative;
	overflow: hidden;
	padding: 0.5rem 2rem;
	border-radius: 5px;	
}
.fileupload-button .fileupload-action {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	height: 100%;
	opacity: 0;
	filter: alpha(opacity=0);
	font-size: 200px !important;
	cursor: pointer;
}
.fileupload-overview {
	display: flex;
	flex-wrap: wrap;
}
.fileupload-overview div {
	position: relative;
	width: 15%;
	max-width: 150px;
	max-height: 150px;
	text-align: center;
	margin-right: 1%;
	overflow: hidden;
	line-height: 10px;
}
.fileupload-overview img {
	max-width: 100%;
	max-height: 100%;
}
.fileupload-overview a.fileupload-delfile {
	position: absolute;
	top: 0;
	right: 0;
}

/* modal info */
.admin_item_info .form-group {
	margin-bottom: 0;
}
.admin_item_info .form-group:has(.group-fields-content) {
	margin: 0;
}
.admin_item_info .group-fields-content .form-group {
	display: inline-flex; /* force label + span à rester côte à côte */
  	/*white-space: nowrap;*/ /* interdit le retour à la ligne à l'intérieur */
	min-width: 50%;
	flex-wrap: wrap;
}
.admin_item_info .form-label {
	margin: 0;
	line-height: 1.6rem;
}
.admin_item_info .form-label::after {
	content : ' :';
}
.admin_item_info .form-control::placeholder {
	opacity: 0;
}
.admin_item_info input,
.admin_item_info textarea,
.admin_item_info select {
	border: none;
	display: inline-block;
	line-height: 1.5rem;
	width: auto;
	height: auto;
	background: none !important;
	padding-top: 0; 
	padding-bottom: 0;
}
.admin_item_info textarea {
	resize: none;
	overflow: hidden;
	display: block;
	width: 100%;
}
.admin_item_info .custom-control {
	padding: 0;
}
.admin_item_info .custom-control-label::before,
.admin_item_info .custom-control-label::after {
	display: none;
}
.admin_item_info .custom-control-input:disabled ~ .custom-control-label {
	color: inherit;
}

/* divers */
.help-text {
	font-style: italic;
}
.readonly-select { 
    /*
    pour simuler un disabled sur un select et pouvoir agir dessus avec du js (ce qui n'est pas possible avec disabled)
    */
	pointer-events: none; /* Désactive les interactions utilisateur */
	background-color: #e9ecef; /* Apparence de champ désactivé */
    cursor: not-allowed;
}
.button-details-btn.active,
.trad-btn.active {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.trad-btn-content {
	border-color: #0a58ca !important;
	border-top-left-radius: 0 !important;
}
