/* ================== Custom Store Map - Plugin Styles ======================= */

/* ---- Map Container ---- */
#map_container_v2 #custom-store-map {
	z-index: 9 !important;
	width: 60vw !important;
}

/* ---- Popup ---- */
#map_container_v2 .leaflet-popup-content-wrapper {
	border-radius: 0 !important;
	padding-right: 3em !important;
}

#map_container_v2 .leaflet-popup-content {
	line-height: 0.2em !important;
}

#map_container_v2 .leaflet-popup-content-wrapper * {
	font-family: 'IvyStyleSans' !important;
}

#map_container_v2 .leaflet-popup-content h3 {
	text-transform: uppercase !important;
	font-weight: 700 !important;
	font-size: 1.5em !important;
}

#map_container_v2 .leaflet-popup-content a {
	font-weight: 700 !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_city {
	text-transform: uppercase !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_address {
	display: flex !important;
	flex-direction: column !important;
	padding: 1em 0 !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_address span {
	line-height: normal!important;
}


#map_container_v2 .leaflet-popup-content .map_popup_store_website {
	font-weight: 700 !important;
	margin-top: 2.5em !important;
	min-width: max-content !important;
	color: #1d1d1f !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_website:hover {
	color: #8b9c90 !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_mail {
	min-width: max-content !important;
	text-decoration: underline!important;
	color: #1d1d1f !important;
}

#map_container_v2 .leaflet-popup-content .map_popup_store_mail:hover {
	color: #8b9c90 !important;
}

/* ---- External Link Icons ---- */
#map_container_v2 .external_link_icon::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background-image: url('../assets/icons/fleche.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 8px;
}

#map_container_v2 .external_link_icon_white::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	background-image: url('../assets/icons/fleche.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 8px;
	filter: brightness(0) saturate(100%) invert(86%) sepia(0%) saturate(2042%) hue-rotate(347deg) brightness(106%) contrast(90%);
}

/* ---- Geolocation Button ---- */
#map_container_v2 #geo-btn {
	width: 100px;
	height: 53px;
	border: none;
	cursor: pointer;
	background: url('../assets/icons/geolocalisation.svg') no-repeat center / 23px auto;
	border-radius: 10px;
	background-color: #fff !important;
}

#map_container_v2 #geo-btn:hover {
	background-color: #8b9c90 !important;
	background: url('../assets/icons/geolocalisation_white.svg') no-repeat center / 40px auto;
}

/* ---- Search Panel ---- */
#map_container_v2 #search-panel {
	width: 100% !important;
	display: flex !important;
	flex-direction: column!important;
	align-items: center!important;
}

#map_container_v2 #search-panel .search-row {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: 100% !important;
	align-items: center !important;
}

#map_container_v2 #search-panel .search-input {
	background: url('../assets/icons/search.svg') no-repeat 95% 50% / 23px auto;
	border: 1px solid #666 !important;
	border-radius: 10px !important;
	color: #fff !important;
	font-family: 'IvyStyleSans' !important;
	font-size: 18px !important;
	line-height: 18px;
	font-weight: 100 !important;
	margin-right: 0.8em !important;
	padding: 0.9rem 0.7rem !important;
}

#map_container_v2 #search-panel .search-input::placeholder {
	font-style: italic !important;
	color: #dedede !important;
}

#map_container_v2 #search-panel .search-input::-ms-input-placeholder {
	font-style: italic !important;
	color: #dedede !important;
}

#map_container_v2 #search-panel .search-input:-ms-input-placeholder {
	font-style: italic !important;
}

#map_container_v2 #search-panel .search-input::-webkit-input-placeholder {
	color: #dedede !important;
}

#map_container_v2 #search-panel #store-search {
	margin-top: 0rem !important;
}

#map_container_v2 #search-panel .search-choice-span {
	color: #fff !important;
	font-size: 26px !important;
	font-weight: 100 !important;
}

/* ---- Search Fields ---- */
#map_container_v2 .search-field {
	margin-bottom: 0.4rem !important;
	margin-top: 0.4rem !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 40%!important;
}

#map_container_v2 .search-field > div{
	display: flex;
    align-items: center;
}

#map_container_v2 .search-field #location-search{
	width: 100%!important;
}

#map_container_v2 .search-field label {
	font-size: 26px !important;
	margin-bottom: 21px !important;
	color: #fff !important;
}

/* ---- Category Filter ---- */
#map_container_v2 #category-filter {
	margin-top: 156px !important;
}

#map_container_v2 #category-filter .filter-options {
	flex-direction: row !important;
	min-width: 100% !important;
	align-items: center !important;
	gap: 8%;
}

#map_container_v2 #category-filter .filter-options label {
	font-weight: 100 !important;
	text-align: center !important;
	align-items: end !important;
}

#map_container_v2 #category-filter .filter-options label:has(input[type="checkbox"]:checked) {
	font-weight: 700 !important;
}

#map_container_v2 #category-filter .filter-options label.checked {
	font-weight: 700 !important;
}

/* ---- Leaflet Controls ---- */
#map_container_v2 .leaflet-control-attribution {
	position: absolute !important;
}

#map_container_v2 .leaflet-top {
	position: absolute !important;
	right: 1.5em !important;
	left: unset !important;
	bottom: 2em !important;
	top: unset !important;
}

#map_container_v2 .leaflet-control-zoom {
	display: flex !important;
	flex-direction: row-reverse !important;
}

#map_container_v2 .leaflet-control-zoom a {
	border-radius: 0 !important;
}

#map_container_v2 .leaflet-control-zoom a:hover {
	background: #8b9c90 !important;
	color: #fff !important;
}

#map_container_v2 .leaflet-control-zoom-out {
	margin-right: 0.25em !important;
}

/* ---- Search Results ---- */
#map_container_v2 #store-results {
	color: #dedede !important;
	width: 35% !important;
	max-height: 600px !important;
	overflow-y: scroll !important;
	padding-right: 2%;
}

#map_container_v2 #store-results::-webkit-scrollbar {
	width: 14px;
}

#map_container_v2 #store-results::-webkit-scrollbar-track {
	background-color: transparent !important;
	border: 1px solid transparent !important;
}

#map_container_v2 #store-results::-webkit-scrollbar-thumb {
	border-radius: 8px;
	border: 3px solid transparent;
	background-clip: content-box;
	background-color: #fe6f61 !important;
}

#map_container_v2 #store-results h3 {
	color: #dedede !important;
	padding: 1em 0 !important;
}

#map_container_v2 #store-results ul {
	margin: 0 !important;
}

#map_container_v2 #store-results li {
	list-style: none !important;
	line-height: 2em !important;
	font-size: 0.9em !important;
	padding: 1em 0em !important;
	border-bottom: 1px solid #dedede !important;
	font-weight: 100;
}

#map_container_v2 #store-results li strong {
	list-style: none !important;
	font-size: 1.1em !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

#map_container_v2 .map_results_store_website {
	color: #dedede !important;
	font-weight: 700 !important;
}

#map_container_v2 .map_results_store_website:hover {
	color: #8b9c90 !important;
}

#map_container_v2 .map_list_store_website {
	color: #fff !important;
	font-weight: 700 !important;
}

#map_container_v2 .map_list_store_website:hover {
	color: #8b9c90 !important;
}

#map_container_v2 .map_list_store_mail {
	color: #fff !important;
	text-decoration: underline;
}

#map_container_v2 .map_list_store_mail:hover {
	color: #8b9c90 !important;
}

#map_container_v2 .title_home p {
	margin-bottom: 0 !important;
}

/* ---- Map V2 Layout ---- */
#map_main_container_v2 {
	padding: 0 !important;
	display: flex !important;
	flex-wrap: unset !important;
	align-items: flex-end !important;
	min-height: 50vh !important;
}

#map_main_container_v2 .e-con-inner {
	min-width: 90vw !important;
}

#map_main_container_v2 #search-and-filter {
	display: flex !important;
	flex-direction: column !important;
	margin-bottom: 2rem !important;
}

#map_main_container_v2 #map_container_filter_and_shortcode {
	display: flex !important;
}

#map_main_container_v2 #category-filter {
	width: 100% !important;
	max-width: 100% !important;
}

#map_main_container_v2 #category-filter .filter-options {
	display: flex !important;
}

#map_main_container_v2 #category-filter .filter-options input {
	display: none !important;
}

#map_main_container_v2 #category-filter .filter-options label {
	font-size: 1.2rem !important;
	padding: 12px 0 !important;
	color: #fff !important;
	cursor: pointer !important;
	max-width: 15vw !important;
	display: inline-flex !important;
}

/* ---- Filter Pictos (by category order) ---- */

/* Picto Revendeur (Distributeur non stockiste) */
#map_main_container_v2 #category-filter .filter-options label[data-category-code="DISTRI_NOT_STOCK"]::after {
	content: '';
	display: flex !important;
	float: inline-end !important;
	width: 2rem;
	height: 2rem;
	background-image: url('../assets/picto_map_revendeur.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 0.5rem;
	align-self: center;
	z-index: 9 !important;
}

/* Picto Grossiste (Distributeur stockiste) */
#map_main_container_v2 #category-filter .filter-options label[data-category-code="DISTRI_STOCK"]::after {
	content: '';
	display: flex !important;
	float: inline-end !important;
	width: 2rem;
	height: 2rem;
	background-image: url('../assets/picto_map_grossiste.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 0.5rem;
	align-self: center;
}

/* Picto Poseur (Revendeur poseur) */
#map_main_container_v2 #category-filter .filter-options label[data-category-code="REVENDEUR_POSEUR"]::after {
	content: '';
	display: flex !important;
	float: inline-end !important;
	width: 2rem;
	height: 2rem;
	background-image: url('../assets/picto_map_poseur.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 0.5rem;
	align-self: center;
}

/* Picto Entité Grad */
#map_main_container_v2 #category-filter .filter-options label[data-category-code="ENTITE_GRAD"]::after {
	content: '';
	display: flex !important;
	float: inline-end !important;
	width: 2rem;
	height: 2rem;
	background-image: url('../assets/picto_entite_grad.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 0.5rem;
	align-self: center;
}

/* ---- HQ Popup (Usine Grad) ---- */
#map_container_v2 .hq-popup .leaflet-popup-content {
	margin: 0 0 1rem 0 !important;
}

#map_container_v2 .hq-popup .leaflet-popup-content > div {
	padding-bottom: 0.7rem !important;
}

#map_container_v2 .hq-popup .leaflet-popup-content-wrapper {
	padding: 0 !important;
}

#map_container_v2 .hq-popup .leaflet-popup-tip-container {
	display: none !important;
}

#map_container_v2 .hq-popup p {
	line-height: 1.5rem !important;
	padding: 0 10px !important;
}

#map_container_v2 .hq-popup h3 {
	padding: 0 10px !important;
	margin-bottom: -5px !important;
}

/*Bouton recherche - map*/
#map_container_v2 .search-btn-map{
    border: none;
    cursor: pointer;
	/*
    background: url('../assets/icons/search.svg') no-repeat 50% 50% / 18px auto !important;
	*/
    border-radius: 10px;
    background-color: #333D3C!important;
	margin-top: 54px!important;
	font-size: 18px;
	font-weight: 400;
	padding: 18px 6%!important;
}

#map_container_v2 .search-btn-map:hover{
    background-color: #8b9c90!important;
}

/*RESPONSIVE*/
@media screen and (max-width: 43rem){
	/*CARTE*/
	/*Filtre & catégories*/
	#map_container_v2 .search-btn-map{
        display: inline-block;
		width: 100%!important;
		margin-top: 33px!important;
    }
	
	#map_container_v2 .search-btn-map:hover{
        background-color: #000 !important;
    }
	
	#map_container_v2 #search-and-filter{
		flex-direction: column!important;
		align-items: center!important;
	}
	
	#map_container_v2 #search-panel{
		max-width: 100vw!important;
		margin-bottom: 2rem !important;
		flex-direction: column!important;
	}
	
	#map_container_v2 #search-panel .search-input{
		min-width: 80vw;
		background: url('../assets/icons/search.svg') no-repeat 95% 50% / 15px auto!important;
		margin-right: 0!important;
		height: 52px!important;
		font-size: 18px!important;
	}
	
	#map_container_v2 #search-panel .search-row{
		margin-right: 0rem!important;
		display: flex!important;
		flex-direction: column!important;
		align-items: center!important;
	}
	
	#map_main_container_v2{
		padding: 0 22px!important;
	}
	
	#map_main_container_v2 #category-filter .filter-options{
		display: grid!important;
		grid-template-columns: auto auto auto!important;
		column-gap: 2rem!important;
		justify-items: center!important;
	}
	
	#map_main_container_v2 #category-filter .filter-options label{
		max-width: 100%!important;
		flex-direction: column-reverse!important;
		align-self: start;
	}
	
	#map_main_container_v2 #category-filter .filter-options label::after{
		margin-bottom: 5px!important;
	}
	
	#map_main_container_v2 #category-filter .filter-options label:first-child{
		align-self: center!important;
		margin-top: 10px!important;
	}
	
	#map_container_v2 #geo-btn{
		height: 52px!important;
		width: 100%!important;
	}

	#map_container_v2 #custom-store-map{
		height: 45vh!important;
		min-width:100vw!important;
	}
	
	#map_container_v2 #store-results{
	    height: 45vh;
		min-width:100vw!important;
		padding: 0 1.5rem!important;
		margin: 2rem 0!important;
	}
	
	#map_container_v2 .search-row{
		gap: 3rem;
	}
	
	#map_container_v2 .search-field{
		min-width: 100%!important;
	}
	
	#map_container_v2 .search-field label {
		font-size: 20px !important;
		margin-bottom: 13px !important;
	}
	
	#map_container_v2 .search-field > div{
		gap: 3%;	
	}
	
	#map_container_v2 .search-field > div input{
		min-width: 80%!important;	
	}
	
	#map_container_v2 #category-filter {
		margin-top: 0px !important;
	}
	
}