.sidebar {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: white;
	width: 30%;
	min-width: 320px;
	height: 100vh;
	position: relative;
	box-shadow: 2px 0 15px rgba(0, 0, 0, 0.1);
	z-index: 1000;
}

.sidebar.collapsed {
	width: 0;
	min-width: 0;
	overflow: hidden;
}

.sidebar-content {
	padding: 0.8rem;
	height: 100%;
	overflow-y: auto;
}

.sidebar h2 {
	margin-bottom: 0.5rem;
	font-size: 1.8rem;
	border-bottom: 2px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 0.5rem;
}

.sidebar-section {
	margin-bottom: 2rem;
}

.sidebar-section h3 {
	margin-bottom: 1rem;
	font-size: 1.2rem;
	color: rgba(255, 255, 255, 0.9);
}

.sidebar-section p {
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 1rem;
}
.autocomplete-container {
    position: relative;
    display: inline-block;
}

#autocomplete-list {
    position: absolute;
    top: 100%;
	margin-top: 5px;
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    padding: 0;
    z-index: 1000;
    border-radius: 14px;
	width:100%;
}

#autocomplete-list li {
    padding: 0;
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* Alternance des couleurs - version plus marquée */
#autocomplete-list li:nth-child(even) {
    background: #2d3748; /* Légèrement plus clair */
}

#autocomplete-list li:nth-child(odd) {
    background: #4a5568; /* Couleur de base */
}

#autocomplete-list li:last-child {
    border-bottom: none;
}

#autocomplete-list li:hover,
#autocomplete-list li.selected {
    background: #ee6c4d;
}

.suggestion-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    color: white;
}

.stop-name {
    font-weight: 500;
    flex-grow: 1;
}

.country-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.country {
    font-size: 0.9em;
    color: white;
    font-style: italic;
    white-space: nowrap;
}

/* Drapeaux avec flag-icons CSS */
.flag {
    width: 20px;
    height: 15px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 2px;
    flex-shrink: 0;
    display: inline-block;
}

/* Drapeaux individuels - utilisation des emojis comme fallback */
.flag-FR { background-image: url('https://flagcdn.com/w20/fr.png'); }
.flag-GB { background-image: url('https://flagcdn.com/w20/gb.png'); }
.flag-BE { background-image: url('https://flagcdn.com/w20/be.png'); }
.flag-NL { background-image: url('https://flagcdn.com/w20/nl.png'); }
.flag-DE { background-image: url('https://flagcdn.com/w20/de.png'); }
.flag-I { background-image: url('https://flagcdn.com/w20/it.png'); }
.flag-IT { background-image: url('https://flagcdn.com/w20/it.png'); }
.flag-ES { background-image: url('https://flagcdn.com/w20/es.png'); }
.flag-CH { background-image: url('https://flagcdn.com/w20/ch.png'); }
.flag-AT { background-image: url('https://flagcdn.com/w20/at.png'); }
.flag-CZ { background-image: url('https://flagcdn.com/w20/cz.png'); }
.flag-PL { background-image: url('https://flagcdn.com/w20/pl.png'); }
.flag-SE { background-image: url('https://flagcdn.com/w20/se.png'); }
.flag-DK { background-image: url('https://flagcdn.com/w20/dk.png'); }
.flag-NO { background-image: url('https://flagcdn.com/w20/no.png'); }
.flag-FI { background-image: url('https://flagcdn.com/w20/fi.png'); }
.flag-PT { background-image: url('https://flagcdn.com/w20/pt.png'); }
.flag-LU { background-image: url('https://flagcdn.com/w20/lu.png'); }
.flag-MC { background-image: url('https://flagcdn.com/w20/mc.png'); }
.flag-SI { background-image: url('https://flagcdn.com/w20/si.png'); }
.flag-SK { background-image: url('https://flagcdn.com/w20/sk.png'); }


/* Style pour les écrans plus petits */
@media (max-width: 768px) {
    .suggestion-item {
        align-items: flex-start;
        padding: 8px 12px;
    }
    
    .country-info {
        margin-top: 4px;
        gap: 6px;
    }
    
    .country {
        font-size: 0.8em;
    }
    
    .flag {
        width: 16px;
        height: 12px;
    }
}

.form-group {
	margin-bottom: 0.8rem;
}

.form-group label {
	display: block;
	margin-bottom: 0.5rem;
	color: rgba(255, 255, 255, 0.9);
	font-weight: 500;
}

.form-input {
	width: 100%;
	padding: 0.75rem;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	color: white;
	font-size: 1rem;
	transition: all 0.3s ease;
}

.form-input:focus {
	outline: none;
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.15);
}

.form-input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

/* Styles des options */

.option-group {
	margin-bottom: 0.6rem;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	overflow: hidden;
}

.option-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem;
	background: rgba(255, 255, 255, 0.1);
}

.option-label {
	color: rgba(255, 255, 255, 0.9);
	font-weight: 500;
}

.expand-btn {
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.7);
	cursor: pointer;
	padding: 0.25rem;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.expand-btn:hover {
	background: rgba(255, 255, 255, 0.1);
	color: white;
}

.expand-btn.expanded span {
	transform: rotate(180deg);
	display: inline-block;
	transition: transform 0.3s ease;
}
		
		
.sub-options {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: rgba(0, 0, 0, 0.1);
}

.sub-options.expanded {
	max-height: none;
}

.sub-option {
	padding: 0.75rem 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.sub-option .toggle-slider {
	width: 32px;
	height: 16px;
}

.sub-option .toggle-slider:before {
	width: 12px;
	height: 12px;
}

.sub-option input[type="checkbox"]:checked + .toggle-slider:before {
	transform: translateX(16px);
}

/* Style for the toggle*/
.toggle-container {
	display: flex;
	align-items: center;
	cursor: pointer;
	flex: 1;
}

.toggle-container input[type="checkbox"] {
	display: none;
}

.toggle-slider {
	position: relative;
	width: 40px;
	height: 20px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 20px;
	margin-right: 0.75rem;
	transition: all 0.3s ease;
}

.toggle-slider:before {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: white;
	top: 2px;
	left: 2px;
	transition: all 0.3s ease;
}

.toggle-container input[type="checkbox"]:checked + .toggle-slider {
	background: #4ade80;
}

.toggle-container input[type="checkbox"]:checked + .toggle-slider:before {
	transform: translateX(20px);
}
.toggle-btn {
	position: fixed;
	top: 50%;
	left: max(30%, 320px);
	background: #6d5bb8;
	color: white;
	border: none;
	width: 20px;
	height: 60px;
	border-radius: 0 6px 6px 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	box-shadow: 2px 0 15px rgba(0, 0, 0, 0.2);
	z-index: 1001;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.toggle-btn:hover {
	box-shadow: 4px 0 20px rgba(0, 0, 0, 0.3);
}


/* Style for the durationRange slider */
.durationRange{
	color:#3793ff;}


#durationRange {
	appearance: none;
	width: 100%;
	height: 8px;
	background: #d1d5db; /* Green gradient */
	border-radius: 4px;
	outline: none;
	transition: background 0.3s ease;
}

#durationRange::-webkit-slider-thumb {
	appearance: none;
	width: 16px;
	height: 16px;
	background: #6d5bb8; /* Purple color for the thumb */
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

#durationRange::-moz-range-thumb {
	width: 16px;
	height: 16px;
	background: #6d5bb8; /* Purple color for the thumb */
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/*Recher button*/
.submit-btn {
	width: 100%;
	padding: 0.875rem;
	background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
	color: white;
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: 1rem;
}

.submit-btn:hover {
	box-shadow: 0 4px 15px rgba(34, 197, 94, 0.3);
}

/* Responsive */
@media (max-width: 768px) {

	
	.sidebar.collapsed {
		width: 0;
		min-width: 0;
	}
	
	.toggle-btn {
		left:90%;
	}
}