.form-control-hidden {
	display: none;
}

.mb-4 {
	font-size: 1rem !important;
}

.top-10 {
	top: 10% !important;
}
.top-20 {
	top: 20% !important;
}
.top-30 {
	top: 30% !important;
}
.top-40 {
	top: 40% !important;
}
.top-60 {
	top: 60% !important;
}
.top-70 {
	top: 70% !important;
}
.top-80 {
	top: 80% !important;
}

.form-select-fixed {
	padding: 1rem 0.75rem !important;
}

.form-floating input[type="date"] {
	padding: 1rem 0.75rem 1rem 8rem !important;
}

/* Seect 2 stili custom per renderli uguali a quelli dei form-control del nostro bootstrap */
.select2-selection--multiple {
	padding: 1.5rem 0.75rem !important;
	max-height: 57px;
	overflow: scroll;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
	font-size: 0.8rem !important;
	padding: 0.15em !important;
	margin-left: 0.15rem !important;
	margin-bottom: 0.15rem !important;
}

.select2-container--bootstrap-5
	.select2-selection--multiple
	.select2-selection__rendered
	.select2-selection__choice
	.select2-selection__choice__remove {
	width: 0.45rem !important;
	height: 0.45rem !important;
}

.select2-selection__choice {
	background-color: #fff !important;
	border-radius: 0.25rem !important;
}

.multi-select2-container label {
	opacity: 0.65 !important;
	transform: scale(0.85) translateY(-1rem) translateX(0.5rem) !important;
	z-index: 999 !important;
}

/** Regole per i campi required */
input[required],
select[required] {
	border: 1px solid rgba(146, 26, 26, 0.2);
	background-color: #fffafa;
}

input[required]:focus,
select[required]:focus {
	/* border-color: rgba(53, 0, 0, 0.2); */
	outline: none;
	/* box-shadow: 0 0 5px rgba(255, 0, 0, 0.5); */
}

/* Rendi le etichette inline */
.select2-selection__rendered {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.25rem;
	align-items: center;
	padding: 0.25rem;
}

/* Etichette singole (tag) */
.select2-selection__choice {
	display: inline-flex;
	align-items: center;
	background-color: #fff;
	border-radius: 0.25rem !important;
	font-size: 0.8rem;
	padding: 0.15em 0.25em !important;
	margin: 0 !important;
	white-space: nowrap;
}

/* Margine destro per separarle */
.select2-selection__choice + .select2-selection__choice {
	margin-left: 0.25rem !important;
}

/* Bottone rimozione (X) */
.select2-selection__choice__remove {
	margin-right: 0.25rem;
	font-size: 0.75rem;
	cursor: pointer;
}

/** Regole per lo spinner di caricamento */
.loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5); /* Sfondo semi-trasparente */
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1050; /* Sopra tutto */
}

.custom-alert {
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 1051; /* Ensure it stays above other content */
	min-width: 250px; /* Optional: Set a minimum width */
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Optional: Adds a shadow for better visibility */
}

/** contenitore pop up modale */
.modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	max-width: 800px !important;
	color: var(--bs-modal-color);
	pointer-events: auto;
	background-color: var(--bs-modal-bg);
	background-clip: padding-box;
	border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
	border-radius: var(--bs-modal-border-radius);
	outline: 0;
}

/* Flap per cartelle CARD */
.card.assistito::after {
	content: "";
	position: absolute;
	top: -1rem;
	left: 1rem;
	width: 60px;
	height: 20px;
	background-color: inherit;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
}

.card.assistito {
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
}

.card.assistito:hover {
	cursor: pointer;
	transform: scale(1.02);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 8px 16px rgba(0, 0, 0, 0.1);
}

/* Stile per il pulsante cestino */
.card.assistito .btn {
	position: absolute;
	bottom: 10px;
	right: 10px;
	opacity: 0;
	transition: all 0.3s ease;
	z-index: 10;
	width: 1.75em;
	height: 1.75em;
	padding: 0.35rem;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	filter: drop-shadow(0 0 0px rgba(0, 0, 0, 0.7));
}

.card.assistito .btn.btn-close {
	background: transparent
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23444433' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z'/%3E%3Cpath d='M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1ZM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z'/%3E%3C/svg%3E")
		center/1.25em auto no-repeat;
}

.card.assistito .btn.btn-enable {
	background: transparent
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM504 312l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/%3E%3C/svg%3E")
		center/1.5em auto no-repeat;
}

.card.assistito .btn.btn-close:hover,
.card.assistito .btn.btn-enable:hover {
	opacity: 1 !important;
	background-color: rgba(0, 0, 0, 0.1);
}

.card.assistito:hover .btn.btn-close,
.card.assistito:hover .btn.btn-enable {
	opacity: 0.8;
}

/* Stile per card disattivate */
.assistito_disabled {
	opacity: 0.7;
	background-color: #f8f9fa;
}

/* Mappa */
#map {
	width: 100% !important; /* Larghezza al 100% */
	height: 85vh !important; /* Altezza uguale all'altezza della finestra */
}

/* Assicurati che gli altri contenitori abbiano un'altezza definita */
html,
body {
	height: 100%;
	margin: 0;
}

#layoutError_content a {
	color: var(--bs-link-hover-color);
	text-decoration: none;
}

.supporti_container {
	display: inline-flex;
	gap: 4px;
	overflow: hidden;
	width: 100px;
	transition: width 0.3s ease-in-out;
	white-space: nowrap;
}

.supporti_container:hover {
	width: max-content;
}

.accordion-item::first-of-type {
	border-top: 1;
}

.accordion-body .ticket_note {
	background-color: var(--bs-accordion-active-bg);
	box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
	border-radius: 0.3rem;
}
