.st0:hover {
	transition-duration: 0.3s;
	cursor: pointer;
	fill: #EA641D;
}
.st0{
	z-index: 99999;
	width: 100%;
}
#map-container {
	width: 40%;
	height: auto;
}
.title-path {
	font-size: 3rem;
}

.container-index-schools{
	width: 90vw;
	position: relative; /* Position relative pour un contrôle plus facile */
	left: 50%; /* Permet le centrage */
	transform: translateX(-50%); /* Correction du débordement */
	margin-bottom: 50px;
}
.tooltip {
	position: absolute;
	background: #333;
	color: #fff;
	padding: 5px;
	border-radius: 4px;
	font-size: 14px;
	display: none;
	pointer-events: none;
}
/* Base styling for the ordered list */
.custom-list {
	list-style: none; /* Removes default numbering */
	counter-reset: custom-counter; /* Initialize custom counter */
	padding: 0;
	margin: 0;
	margin-top: 55px;
}

/* Styling each list item */
.custom-list li {
	counter-increment: custom-counter; /* Increment custom counter for each <li> */
	position: relative;
	padding-left: 2.5rem; /* Space for the number circle */
	margin-bottom: 1rem; /* Space between list items */
	font-size: 1.7rem;
	line-height: 1.5;
	color: #333;
}

/* Creating the custom number with a background */
.custom-list li::before {
	content: counter(custom-counter); /* Displays the custom counter number */
	position: absolute;
	left: 0; /* Align number to the left */
	top: 50%;
	transform: translateY(-50%);
	background-color: #6AC4CC; /* Background color */
	color: white; /* Number text color */
	font-weight: bold;
	font-size: 1.2rem;
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	text-align: center;
	border-radius: 50%; /* Makes the number circular */
}

#button-container {
	display: none;
	text-align: center;
	margin-top: 20px;
	box-sizing: border-box;
}
.find-school {
	display: flex;
	justify-content: space-around;
	align-items: center;
	background-color: #f5f5f5;
}
.find-school-left {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 40vw;
	overflow: hidden;
}
.school-title {
	margin-bottom: 55px;
	position: relative;
	font-size: 1.5rem;
	text-align: center;
	margin-top: 55px;
	text-transform: uppercase;
	margin-bottom: 1rem;
	padding-bottom: 10px;
	color: #696565;
}
.school-title::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	min-width: 80%; /* Au lieu de 550px fixe */
	max-width: 550px;
	height: 4px;
	background:#6AC4CC;
	border-radius: 2px;
}
/* SVG Map */
.text-intro {
	width: 60%;
	color: #696565;
	font-size: 1.2rem;
	font-weight: 800;
}
#dropdown-container {
	margin-top: 20px;
	display: block;
	padding: 15px;
	border: 2px solid #cbc9c9;
	background-color: #efefef;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
	width: 60%;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	margin-bottom: 50px;
	z-index: 100; /* S'assurer que le dropdown est au-dessus des autres éléments */
}
/* Search input */
#school-search {
	overflow: hidden;
	width: 100%;
	padding: 10px;
	border: 2px solid #ffffff;
	font-size: 16px;
	color: #333;
	margin-bottom: 10px;
	transition: border-color 0.3s ease;
}
#school-search:focus {
	outline: none;
	border-color: #6AC4CC;
}
/* Dropdown list */
#school-list {
	width: 100%;
	max-width: 100%;
	min-height: 25vh;
	padding: 10px;
	border: 2px solid #ffffff;
	background-color: white;
	font-size: 16px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	overflow-y: auto;
	overflow-x: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch; /* Pour un défilement fluide sur iOS */
}
#school-list option {
	padding: 8px;
	color: #333;
	cursor: pointer;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	transition: background-color 0.2s ease;
}
#school-list option:hover {
	background-color: #EA641D;
	color: white;
}
#school-list::-webkit-scrollbar {
	width: 15px;
}
#school-list::-webkit-scrollbar-thumb {
	background: #EA641D;
	border-radius: 5px;
}
#school-list::-webkit-scrollbar-thumb:hover {
	background: #EA641D;
}
#school-list::-webkit-scrollbar-track {
	background: #f1f1f1;
}
#school-list {
	scrollbar-width: auto;
	scrollbar-color: #EA641D #f1f1f1;
}

/* Boutons de recherche et confirmation */
.school-search-button,
.school-confirm-button {
	display: block;
	width: 100%;
	padding: 10px;
	margin-top: 10px;
	background-color: #EA641D;
	color: white;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
	text-align: center;
	transition: background-color 0.3s ease;
	-webkit-appearance: none; /* Pour Safari */
	appearance: none;
}

.school-search-button:hover,
.school-confirm-button:hover {
	background-color: #d55c1b;
}

/* Bouton de recherche - visible uniquement sur mobile */
.school-search-button {
	margin-bottom: 15px;
	display: none; /* Par défaut, masqué sur desktop */
}

/* Correctifs spécifiques pour Safari */
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance:none) {
		#school-list {
			-webkit-appearance: menulist-button;
			appearance: menulist-button;
			min-height: 25vh;
			overflow-y: auto !important;
			transform: translateZ(0); /* Force hardware acceleration */
			transition: height 0.3s, opacity 0.3s;
		}

		/* Améliorations pour les boutons sur Safari */
		.school-search-button,
		.school-confirm-button {
			-webkit-appearance: none;
			appearance: none;
			border-radius: 4px !important;
			backface-visibility: hidden; /* Aide avec certains bugs d'affichage */
		}

		/* Améliorer l'interaction tactile dans Safari */
		#school-list option {
			min-height: 44px;
		}

		/* Correction pour la transition en Safari */
		#dropdown-container {
			transform: translateZ(0);
			-webkit-transform: translateZ(0);
		}
	}
}

@media (max-width:1555px) {
	#dropdown-container {
		width: 90%;
	}
	.text-intro {
		width: 90%;
	}
	#map-container {
		width: 45vw;
	}
}
@media(max-width:1024px) {
	.find-school {
		flex-direction: column;
	}
	.find-school-left {
		width: 90%; /* Augmenter pour utiliser plus d'espace disponible */
		margin-left: auto;
		margin-right: auto;
	}
	#map-container {
		width: 90vw; /* Utiliser plus d'espace horizontal */
		max-width: 500px; /* Limiter la taille maximale */
		margin-left: auto;
		margin-right: auto;
	}
	.container {
		width: 90%;
	}

	/* Afficher le bouton de recherche sur tablette également */
	.school-search-button {
		display: block;
	}

	/* PATCH RESPONSIVE ANDROID CHROME - Forcer l'affichage de la liste des écoles */
	#school-list {
		display: block !important;
		opacity: 1 !important;
		min-height: 150px !important;
		max-height: 250px !important;
		background: #fff !important;
		color: #000 !important;
		z-index: 9999 !important;
		visibility: visible !important;
	}

	/* Forcer l'affichage des options dans la liste déroulante sur Android Chrome */
	#school-list option {
		display: block !important;
		visibility: visible !important;
		background-color: white !important;
		color: #333 !important;
		opacity: 1 !important;
	}

	/* Correction spécifique pour Android Chrome */
	html.chrome-mobile #school-list,
	body.chrome-mobile #school-list {
		-webkit-appearance: menulist !important;
		appearance: menulist !important;
	}
}
@media(max-width:550px) {
	.container {
		width: 95%;
	}
	#map-container {
		width: 95vw;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	#dropdown-container {
		width: 95%; /* Utiliser presque toute la largeur disponible */
		margin-left: auto;
		margin-right: auto;
	}
	.text-intro {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}
	.school-title {
		width: 85%;
		margin-left: auto;
		margin-right: auto;
	}

	/* Afficher le bouton de recherche sur mobile */
	.school-search-button {
		display: block;
	}

	/* Styles spécifiques pour Safari mobile et tablette */
	@media not all and (min-resolution:.001dpcm) {
		@supports (-webkit-appearance:none) {
			#school-list {
				-webkit-overflow-scrolling: touch; /* Défilement fluide sur iOS */
			}

			/* Augmenter la taille des zones cliquables */
			.school-search-button,
			.school-confirm-button {
				padding: 12px 10px !important;
				margin: 8px 0 !important;
			}
		}
	}
}



.chrome-mobile #school-search-button,
.chrome-mobile #school-confirm-button {
    padding: 14px 10px !important;
    margin: 10px 0 !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
}

.chrome-mobile #dropdown-container {
    z-index: 9999;
    position: relative;
    width: 95% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Réduire les animations sur mobile pour améliorer les performances */
@media (max-width: 768px) {
    .st0:hover {
        transition-duration: 0.2s;
    }

    #school-list option {
        transition: none;
    }

    .chrome-mobile .st0 {
        will-change: fill;
    }

    .chrome-mobile #map-container {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .chrome-mobile #map-container svg {
        max-height: 350px;
    }
}

/* Styles pour le dropdown personnalisé sur Chrome Android */
.custom-dropdown-btn {
    width: 100%;
    padding: 12px;
    background: white;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    text-align: left;
    cursor: pointer;
    position: relative;
    margin-bottom: 10px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
}

.custom-dropdown-btn:hover {
    border-color: #6AC4CC;
}

.custom-dropdown-btn .arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #666;
}

.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 2px solid #ccc;
    border-radius: 4px;
    max-height: 250px;
    overflow-y: auto;
    z-index: 10000;
    display: none;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    -webkit-overflow-scrolling: touch;
}

.custom-option {
    padding: 12px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.4;
    background: white;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
    transition: background-color 0.2s ease;
}

.custom-option:hover {
    background-color: #f5f5f5;
}

.custom-option:active {
    background-color: #e0e0e0;
}
/* Styles spécifiques pour Chrome mobile */
.chrome-mobile .custom-dropdown-btn {
    padding: 14px 12px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    background-color: white !important;
    border: 2px solid #ccc !important;
    border-radius: 4px !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    touch-action: manipulation !important;
}

.chrome-mobile .custom-options {
    max-height: 250px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background-color: white !important;
    border: 2px solid #ccc !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

.chrome-mobile .custom-option {
    padding: 14px 12px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    background-color: white !important;
    color: #333 !important;
    border-bottom: 1px solid #eee !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    touch-action: manipulation !important;
    min-height: 44px !important;
}

/* --- Styles pour le dropdown personnalisé --- */
.custom-dropdown {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}
.custom-dropdown-btn {
    width: 100%;
    padding: 14px 12px;
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    text-align: left;
    cursor: pointer;
    position: relative;
    margin-bottom: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.custom-dropdown-btn .arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #666;
}
.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 0 0 4px 4px;
    max-height: 220px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    margin-top: -2px;
}
.custom-option {
    padding: 14px 12px;
    cursor: pointer;
    font-size: 16px;
    border-bottom: 1px solid #eee;
    background: #fff;
    color: #333;
    transition: background 0.2s;
}
.custom-option:last-child {
    border-bottom: none;
}
.custom-option:hover, .custom-option:active {
    background: #e6f7fa;
    color: #1a7e8c;
}

#dropdown-container .custom-dropdown-btn {
    background: #fff !important;
    border: 2px solid #ccc !important;
    color: #333 !important;
    width: 100% !important;
    padding: 14px 12px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
    text-align: left !important;
    cursor: pointer !important;
    position: relative !important;
    margin-bottom: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    touch-action: manipulation !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
}
#dropdown-container .custom-dropdown-btn .arrow {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 14px !important;
    color: #666 !important;
}
#dropdown-container .custom-options {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    background: #fff !important;
    border: 2px solid #ccc !important;
    border-radius: 0 0 4px 4px !important;
    max-height: 220px !important;
    overflow-y: auto !important;
    z-index: 1000 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    margin-top: -2px !important;
}
#dropdown-container .custom-option {
    padding: 14px 12px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    border-bottom: 1px solid #eee !important;
    background: #fff !important;
    color: #333 !important;
    transition: background 0.2s !important;
}
#dropdown-container .custom-option:last-child {
    border-bottom: none !important;
}
#dropdown-container .custom-option:hover, #dropdown-container .custom-option:active {
    background: #e6f7fa !important;
    color: #1a7e8c !important;
}
