/* Table header styling */
th {
	background-color: grey !important;
	border-color: grey !important;
	color: white !important;
}

/* Pagination layout and appearance */
.pagination {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.pagination li {
	margin: 0 5px;
}

.pagination li a {
	border-radius: 5px;	/* Rounded edges */
	color: #000;		/* Text color */
	padding: 8px 16px;
	font-weight: bold;
	transition: background-color 0.3s ease;
	text-decoration: none;	/* Remove underline */
	border: none;			/* Remove border */
}

.pagination li a:hover {
	background-color: #f1f1f1;  /* Light background on hover */
}

.pagination .active a {
	border: 2px solid;	/* Highlight active page */
}

/* Truncate long text inside a table cell */
.index .long-text {
	max-width: 250px;	 		/* Limit cell width */
	white-space: nowrap; 		/* Prevent line breaks */
	overflow: hidden;			/* Hide overflow text */
	text-overflow: ellipsis;	/* Show "..." for overflow */
	word-break: break-all;		/* Break long words if needed */
	display: table-cell;		/* Align text vertically */
	vertical-align: middle;
}

.show .long-text {
	white-space: pre-wrap;		/* Preserve whitespace and wrap text when needed */
	overflow-wrap: break-word;	/* Break long words to prevent overflow */
	word-break: break-word;		/* Allow breaking within words if necessary */
	max-width: 100%;			/* Ensure the content doesn't exceed container width */
	display: block;				/* Allows proper line breaks and spacing */
	background-color: #f9f9f9;	/* Optional: Light background to visually separate the text */
}

.table15pourcent {
	width:15%;
}

.actionend {
	text-align:end;
}

.noBorder * {
  border: none !important;
}

.btn-purple {
	background-color: #6f42c1; /* violet Bootstrap officiel */
	color: #fff;
	border-color: #6f42c1;
}

.btn-purple:hover {
	background-color: #6f42c1; /* légèrement plus foncé au survol */
	border-color: #6f42c1;
}

.btn-orange {
	background-color: #ff6f00; /* violet Bootstrap officiel */
	color: #fff;
	border-color: #ff6f00;
}

.btn-orange:hover {
	background-color: #ff6f00; /* légèrement plus foncé au survol */
	border-color: #ff6f00;
}

/* Do not display navbar, used for modal pop-up */
#modalContent #navbar.no_navbar,
#modalGenericContent #navbar.no_navbar,
#modalContentEdit #navbar.no_navbar {
	display: none !important;
}

#clef_connexion {
	display : none;
}

/* Responsive table layout: display rows as cards on small screens */
@media only screen and (max-width: 700px) {
	/* Transform all table elements into block layout to stack vertically */
	.table-responsive table,
	.table-responsive thead,
	.table-responsive tbody,
	.table-responsive tr,
	.table-responsive th,
	.table-responsive td {
		display: block;
		width: 100%;
	}

	/* Optional: reduce default spacing to make cards more compact */
	.table-responsive tr {
		padding: 0;                      /* Less padding to keep it compact */
	}

	/* Hide the table header (labels will be shown via ::before) */
	.table-responsive thead {
		display: none;
	}

	/* Style individual table cells for card layout */
	.table-responsive td {
		position: relative;                         /* Needed for positioning ::before */
		padding: 0.75rem 0.75rem 0.25rem 140px;     /* Padding with space on the left for label */
		border: none;
		background: white;
		line-height: 1.2;                           /* Reduce line spacing */
		overflow: hidden;
		white-space: nowrap;                        /* Optional: force text to stay on one line */
	}

	/* Display the data-label as a label on the left side */
	.table-responsive td::before {
		content: attr(data-label);             /* Use the data-label attribute for the label */
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;                         /* Match the height of the cell */
		width: 120px;                         /* Label column width */
		color: rgb(0, 0, 0);
		padding: 0.75rem;
		font-size: 0.9rem;
		font-weight: bold;
		display: flex;
		align-items: center;                  /* Vertically center the text */
		justify-content: flex-start;
		border-top-left-radius: 0.25rem;
		border-bottom-left-radius: 0.25rem;
		line-height: 1.1;
	}

	.table-bordered > :not(caption) > * {
		border-width: 0;
	}

	.td-hidden {
		display: none !important;
		padding: inherit;
	}

	.table15pourcent {
	width:100%;
	}

	.actionend {
	text-align:start;
	}

	.centerTitle {
		text-align: center;
	}

	.labelAlign {
		text-align:start;
		padding:0.75rem !important;
	}

	.index .long-text {
		max-width: unset !important;
		display: flow-root !important;
	}

	.label-permis {
		padding: inherit !important;
	}
}