* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}

body {
	font-family:Arial, sans-serif;
	background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	background-size:cover;
	height:100vh;
	overflow:hidden;
}

.desktop {
	position:relative;
	width:98vw; height:98vh; margin:1%;
}

.edit-mode .desktop {
	width:89%; height:92%;
	background-image:
		linear-gradient(rgba(255,255,255,0.3) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.3) 1px, transparent 1px);
	box-shadow :0 0 2px 2px #FFF;
	background-size:5% 5%;
	background-position:0vw 0vh;
	padding:0vw 0vh;
}

.toolbar {
	position:fixed;
	top:1%; right:-20%;
	width:8%;
	z-index:1500;
	flex-wrap:wrap;
	transition:right .4s;
}

.edit-mode .toolbar {
	right:1% !important;
}

.icon-controls {
	position:absolute;
	top:-9px; margin:auto; /*right:0px;*/
	display:none;
}

.edit-mode .icon:hover .icon-controls {
	display:flex;
}

.icon {
	position:absolute;
	width:4.5vw; max-width:5vw; height:8vh; max-height:8vh;
	display:flex; flex-direction:column;
	align-items:center; text-align:center;
	user-select:none;
	padding:.25vw .25vh;
	border-radius:9px;
	transition:background-color 0.2s;
}

.icon.rech {
	align-items:baseline;
	width:30vw; max-width:30vw;
}

.icon.background {
	width:9vw;	max-width:9vw;
	display:none;
}

.icon.dragging {
	opacity:0.8;
	z-index:1000;
}

.icon.normal-mode {
	cursor:pointer;
}

.icon img {
	width:85%; max-width:7vh; max-height:7vh;
	object-fit:cover;
	border-radius:9px;
	box-shadow:0 2px 5px rgba(0,0,0,0.2);
}

.icon .label {
	color:white;
	font-size:7pt;
	margin-top:2px;
	text-shadow:1px 1px 2px rgba(0,0,0,0.7);
	word-wrap:break-word;
	width:100%;
	/*overflow:hidden;*/
	text-overflow:ellipsis;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
}

.btn {
	padding:8px 16px;
	border:none;
	border-radius:4px;
	cursor:pointer;
	font-size:14px;
}

.btn-rech {
	background:#4F1AE8;
	color:white;
}

.modal {
	display:none;
	position:fixed;
	z-index:2000;
	left:0; top:0;
	width:100%; height:100%;
	background-color:rgba(0,0,0,0.5);
}

.search-group {
	display:flex;
	border:1px solid #ccc;
	border-radius:4px;
	overflow:hidden;
	margin-bottom:5px;
	background:#FFF;
	width:26vw;
}

.search-input {
	flex:1;
	border:none;
	padding:8px 12px;
	outline:none;
}

.search-btn {
	border:none;
	border-left:1px solid #ccc;
	margin:0;
	border-radius:0;
}

.rech input {
	width:100%;
}

#activEdit {
	position:fixed;
	bottom:10px; right:10px;
	width:20px;
}

#modalTitle {
	margin-bottom:20px;
}

#malert {
	position:fixed;
	left:10%; bottom:5px;
	width:80%; text-align:center;
	z-index:2000;
	color:#FFF; font-size:9pt;
}
.edit-mode #malert {
	display:none;
}

@media (max-width:1000px) {
	.search-group {
		width:100%;
	}
	.icon.Recherche {
		width:100% !important; max-width:100%  !important;
		padding:5px 10%;
	}
	.icon.background {
		display:none;
	}
	.icon {
		position:static;
		display:inline-block; /* Au lieu de flex */
    width:9.8vw !important; max-width:9.8vw !important;
	}
}

@media (max-width:700px) {
	.icon .label { display:none; }
}

@media (max-width:500px) {
	.icon {
		width:60px !important; max-width:60px !important;
	}
}