/* xl - DESKTOP STYLES */ 
@media (min-width: 1120px) {
  /*================ LISTA CARDS ================*/
  #map-list {
  	overflow-y: scroll;
  	overflow-x: hidden;
  }
  
  /*================ RETIRAR SCROLL ================*/
  #map-list {
    /* --- 1. Motores Chromium (Chrome, Edge, Opera, Brave) e Safari --- */
    &::-webkit-scrollbar {
      display: none;
    }
  
    /* --- 2. Motor Gecko (Firefox) --- */
    scrollbar-width: none;
  
    /* --- 3. Motores Microsoft Antigos (IE 10+ e Edge Legacy) --- */
    -ms-overflow-style: none;
  
    /* --- 4. Garantia de Funcionamento --- */
    overflow-y: auto; /* Permite o scroll vertical */
    overflow-x: hidden; /* Evita scroll horizontal indesejado */
    
    /* Se você quiser garantir que o scroll funcione suavemente no iOS */
    -webkit-overflow-scrolling: touch;
  }
  
  /*================ ATE 1250PX ================*/
  @media (max-width: 1250px) {
  	#map-list .bde-loop {
  		--bde-posts-per-row: 1;
  	}
  	/*================ CARDS ================*/
  	.map-item.active {
  		transform: translateX(16px);
  	}
  	
  	.map-col-1 {
  		width: 376px !important;
  		min-width: 376px !important;
  		margin-right: -16px !important;
  	}
  	.map-col-2 {
  		width: calc(100% - 344px) /*largura da lista + gap de 24px*/ !important;
  		padding-left: 8px !important;
  	}
  	#map-list {
  		padding-right: 12px;
  	}
  	
  }
  
  /*================ MAPA ================*/
  #map {
  	border-radius: var(--border-radious);
  }
  
}

/* lg - TABLET LANDSCAPE STYLES */ 
@media (min-width: 1024px) and (max-width: 1119px) {
  /*================ LISTA CARDS ================*/
  #map-list {
  	overflow-y: scroll;
  	overflow-x: hidden;
  }
  
  /*================ RETIRAR SCROLL ================*/
  #map-list {
    /* --- 1. Motores Chromium (Chrome, Edge, Opera, Brave) e Safari --- */
    &::-webkit-scrollbar {
      display: none;
    }
  
    /* --- 2. Motor Gecko (Firefox) --- */
    scrollbar-width: none;
  
    /* --- 3. Motores Microsoft Antigos (IE 10+ e Edge Legacy) --- */
    -ms-overflow-style: none;
  
    /* --- 4. Garantia de Funcionamento --- */
    overflow-y: auto; /* Permite o scroll vertical */
    overflow-x: hidden; /* Evita scroll horizontal indesejado */
    
    /* Se você quiser garantir que o scroll funcione suavemente no iOS */
    -webkit-overflow-scrolling: touch;
  }
  
  /*================ CARDS ================*/
  .map-item.active {
  	transform: translateX(16px);
  }
  
  /*================ MAPA ================*/
  #map {
  	border-radius: var(--border-radious);
  }
}

/* md - TABLET PORTRAIT STYLES */ 
@media (min-width: 768px) and (max-width: 1023px) {
  /*================ LISTA CARDS ================*/
  #map-list {
  	overflow-y: scroll;
  	overflow-x: hidden;
  }
  /*================ RETIRAR SCROLL ================*/
  #map-list {
    /* --- 1. Motores Chromium (Chrome, Edge, Opera, Brave) e Safari --- */
    &::-webkit-scrollbar {
      display: none;
    }
  
    /* --- 2. Motor Gecko (Firefox) --- */
    scrollbar-width: none;
  
    /* --- 3. Motores Microsoft Antigos (IE 10+ e Edge Legacy) --- */
    -ms-overflow-style: none;
  
    /* --- 4. Garantia de Funcionamento --- */
    overflow-y: auto; /* Permite o scroll vertical */
    overflow-x: hidden; /* Evita scroll horizontal indesejado */
    
    /* Se você quiser garantir que o scroll funcione suavemente no iOS */
    -webkit-overflow-scrolling: touch;
  }
  
  /*================ CARDS ================*/
  .map-item.active {
  	transform: translateX(16px);
  }
  
  /*================ MAPA ================*/
  #map {
  	border-radius: var(--border-radious);
  }
}

/* sm - SMARTPHONE LANDSCAPE STYLES */ 
@media (min-width: 480px) and (max-width: 767px) {
  /*================ LISTA CARDS e retirar scroll ================*/
  #map-list {
    display: flex !important;
    /* Ativa o scroll horizontal */
    overflow-x: auto !important; 
    /* Esconde o vertical para evitar que a lista suba/desça */
    overflow-y: hidden !important; 
    
    /* Suavidade no Mobile */
    -webkit-overflow-scrolling: touch;
  
    /* Esconde barra no Firefox e IE */
    scrollbar-width: none;
    -ms-overflow-style: none;
    
    /* Garante que o container não quebre o layout flex */
    white-space: nowrap;
  }
  
  /* Esconde barra no Chrome, Safari, Edge Moderno */
  #map-list::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  
  /* Ajuste do conteúdo interno */
  #map-list .bde-loop {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Força os cards a ficarem um ao lado do outro */
  }
  
  /* Garante que os cards não esmaguem (opcional, ajuste conforme seu card) */
  #map-list .bde-loop > * {
    flex-shrink: 0;
  }
  
  /*================ MAPA ================*/
  #map {
  	border-radius: 0;
  }
}

/* xs - SMARTPHONE PORTRAIT STYLES */ 
@media (max-width: 479px) {
  /*================ LISTA CARDS (VERSÃO FINAL UNIFICADA) ================*/
  #map-list {
    display: flex !important;
    /* Ativa o scroll horizontal */
    overflow-x: auto !important; 
    /* Esconde o vertical para evitar que a lista suba/desça */
    overflow-y: hidden !important; 
    
    /* Suavidade no Mobile */
    -webkit-overflow-scrolling: touch;
  
    /* Esconde barra no Firefox e IE */
    scrollbar-width: none;
    -ms-overflow-style: none;
    
    /* Garante que o container não quebre o layout flex */
    white-space: nowrap;
  }
  
  /* Esconde barra no Chrome, Safari, Edge Moderno */
  #map-list::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  
  /* Ajuste do conteúdo interno */
  #map-list .bde-loop {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Força os cards a ficarem um ao lado do outro */
  }
  
  /* Garante que os cards não esmaguem (opcional, ajuste conforme seu card) */
  #map-list .bde-loop > * {
    flex-shrink: 0;
  }
  
  /*================ MAPA ================*/
  #map {
  	border-radius: 0;
  }
}

/* RETINA DISPLAY STYLES */ 
/*================ LISTA CARDS ================*/
#map-list .grid-date-loader, #map-list .bde-loop-item {
	display: none;
}


/*================ CARDS ================*/
.map-item {
	cursor: pointer;
}
.map-item {
    transition: border-color 0.2s ease;
}
.map-item:hover {
    border: 1px solid var(--status-hover);
}
.map-item.hidden {
	display: none !important;
}
.map-item.active {
	border: 1px solid var(--status-selected);
}

/*================ MAPA ================*/

/*== Zoom controls ==*/
.leaflet-top {
	top: auto !important;
	bottom: 16px;
}
.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
    border: 1px solid var(--line-default) !important;
	border-radius: var(--border-radious) !important;
}
.leaflet-touch .leaflet-bar a:first-child {
    border-top-left-radius: var(--border-radious) !important;
    border-top-right-radius: var(--border-radious) !important;
}
.leaflet-touch .leaflet-bar a:last-child {
    border-bottom-left-radius: var(--border-radious) !important;
    border-bottom-right-radius: var(--border-radious) !important;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
    font-size: 16px !important;
}
.leaflet-bar a {
    background-color: var(--background-neutral-primary) !important;
    border-bottom: 1px solid var(--line-default) !important;
    width: 32px !important;
    height: 32px !important;
    color: var(--text-primary) !important;
}
.leaflet-bar a:hover {
    color: var(--status-hover) !important;
}

/*== Markers ==*/
.custom-marker {
	margin-left: -22px !important;
	margin-top: -22px !important;
	width: 44px !important;
	height: 44px !important;
}
.marker-icon {
	width: 44px;
	height: 44px;
	padding: 10px;
	border-radius: 100%;
	background-color: var(--background-palette-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s;
	cursor: pointer;
}
.marker-icon svg {
	fill: var(--text-secondary);
}
.marker-icon:hover {
	background-color: var(--status-hover);
}
.marker-icon.active {
	background-color: var(--status-selected);
}

/*== Clusters ==*/
.marker-cluster-small, .marker-cluster-medium {
	background-color: var(--background-palette-tertiary) !important;
}
.marker-cluster-small:hover {
	background-color: var(--status-hover) !important;
}
.marker-cluster-small div, .marker-cluster-medium div {
	background-color: transparent !important;
}
.marker-cluster span {
	color: var(--text-secondary);
	line-height: 100%;
	font-size: 16px;
}
.marker-cluster,
.marker-cluster div {
	height: 56px !important;
	width: 56px !important;
	border-radius: 100% !important;
}
.marker-cluster div {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 !important;
}

/*== Popup ==*/
.leaflet-popup-content p {
	margin: 0 !important;
}
.leaflet-popup {
	margin-bottom: 44px !important;
}
.leaflet-popup-content-wrapper {
	padding: 0 !important;
	border-radius: var(--border-radious) !important;
}
.leaflet-popup-content {
	min-width: 280px;
	margin: 0 !important;
}
.map-popup-arrow {
	color: var(--text-primary) !important;
}
.map-popup-arrow:hover {
	color: var(--status-hover) !important;
	text-decoration: none;
}
.map-popup-arrow svg {
	width: 16px;
}
.map-popup-arrow:hover svg {
	fill: var(--status-hover);
}
.leaflet-popup-close-button {
	display: none;
}


