/* Contrôles */
.controls {
	padding: 1em;
	background: #f5f5f5;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	display: flex;
	gap: clamp(15px, 2vw, 30px);
	flex-wrap: wrap;
	align-items: center;
}

.slider-group {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: clamp(280px, 40vw, 380px);
}

.slider-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.slider-header label {
	font-weight: bold;
	font-size: clamp(0.9rem, 1.5vw, 1rem);
}

.slider-value {
	font-weight: bold;
	font-size: clamp(0.85rem, 1.5vw, 1rem);
	padding: 5px 12px;
	background: #fff;
	border: 1px solid #1F6EBB;
	border-radius: 3px;
	color: #1F6EBB;
}

.slider-container {
	position: relative;
	width: calc(100% - 1.5em);
}

input[type="range"] {
	width: 100%;
	height: 6px;
	border-radius: 3px;
	background: #d0d0d0;
	outline: none;
	-webkit-appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1F6EBB;
	cursor: pointer;
	border: 2px solid #fff;
	box-shadow: 0 2px 5px rgba(31, 110, 187, 0.4);
	transition: transform 0.2s;
}

input[type="range"]::-webkit-slider-thumb:hover {
	transform: scale(1.15);
}

input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #1F6EBB;
	cursor: pointer;
	border: 2px solid #fff;
	box-shadow: 0 2px 5px rgba(31, 110, 187, 0.4);
	transition: transform 0.2s;
}

input[type="range"]::-moz-range-thumb:hover {
	transform: scale(1.15);
}

.slider-labels {
	display: flex;
	justify-content: space-between;
	margin-top: 5px;
	font-size: clamp(0.7rem, 1.2vw, 0.85rem);
	font-weight: bold;
}

.stats {
	display: flex;
	gap: clamp(10px, 2vw, 20px);
	margin-left: auto;
	align-items: center;
}

.stat-item {
	background: #fff;
	padding: clamp(10px, 1.5vw, 15px) clamp(15px, 2vw, 25px);
	border: 1px solid #1F6EBB;
	border-radius: 3px;
}

.stat-label {
	font-size: clamp(0.75rem, 1.2vw, 0.9rem);
	margin-bottom: 5px;
	font-weight: normal;
}

.stat-value {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: bold;
	color: #1F6EBB;
	text-align: center;
}

/* Carte */
#map {
	flex: 1;
	width: 100%;
	min-height: 70vh;
}

.custom-marker {
	background: #1F6EBB;
	border: 3px solid #fff;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
	box-shadow: 0 3px 10px rgba(31, 110, 187, 0.4);
	cursor: pointer;
	transition: transform 0.2s;
}

.custom-marker:hover {
	transform: scale(1.1);
}

.borne-popup {
	font-family: Arial, Helvetica, sans-serif;
	min-width: 300px;
}

.borne-popup h3 {
	margin: 0 0 15px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #1F6EBB;
	font-size: 16px;
	font-weight: bold;
}

.borne-popup .info-line {
	margin: 10px 0;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
}

.borne-popup .info-line strong {
	min-width: 90px;
	flex-shrink: 0;
	font-weight: bold;
}

.borne-popup .visitors-section {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #d0d0d0;
}

.borne-popup .visitors-section h4 {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: bold;
}

.borne-popup .visitor-stat {
	display: flex;
	justify-content: space-between;
	padding: 8px 10px;
	margin: 5px 0;
	background: #f5f5f5;
	border-radius: 3px;
}

.borne-popup .visitor-stat.current {
	background: #1F6EBB;
	color: #fff;
	font-weight: bold;
}

.borne-popup .visitor-stat .label {
	font-size: 13px;
}

.borne-popup .visitor-stat .value {
	font-weight: bold;
	font-size: 14px;
}

.borne-popup .visitor-stat.current .value {
	color: #fff;
}

.borne-popup .install-date {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #d0d0d0;
	font-size: 12px;
}
.disclaimer {
	font-size: 150%;
	color: red;
	text-align: center;
	align-content: center;
	flex: 1;
}