#mapContainer{
	height: 500px;
	width: 100%;
	position: relative;
}
	
#map {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media (max-width: 768px) {
  #mapContainer {
    height: 400px;
  }
}

#pdf-list {
  margin:0;
  padding: 0;
}

.fullscreen-icon {
  background-size: 26px 52px;
}

.leaflet-touch .fullscreen-icon.leaflet-fullscreen-on {
  background-position: 2px -24px;
}

.map-address-text {
  line-height: 1.2;
}

.map-address-container {
  display: flex;
  align-items: flex-start;
}


.map-curta-descricao {
  max-height: 150px;
  overflow-y: auto;
  /* padding-right: 4px; espaço para a scroll bar */
}

/* customizar scrollbars em navegadores WebKit (Chrome, Edge, Safari) */
@media (hover: hover) and (pointer: fine) {
  .map-curta-descricao::-webkit-scrollbar {
    width: 6px; /* mais fino */
  }

  .map-curta-descricao::-webkit-scrollbar-track {
    background: transparent; /* sem trilho visível */
  }

  .map-curta-descricao::-webkit-scrollbar-thumb {
    background-color: rgba(0,0,0,0.3); 
    border-radius: 3px;
  }

  .map-curta-descricao::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0,0,0,0.5);
  }
}

/* Firefox */
@media (hover: hover) and (pointer: fine) {
  .map-curta-descricao {
    scrollbar-width: thin;         /* mais fino */
    scrollbar-color: rgba(0,0,0,0.3) transparent;
  }
}



.select-reset-wrapper {
  display: flex;
  align-items: center;
  gap: 8px; /* espaço entre select e botão */
}

.select-reset-wrapper select {
  flex: 1; /* ocupa toda a largura disponível */
}

.select-reset-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 8px;
  margin-bottom: 8px; /* separação do checkbox */
}

.select-reset-wrapper select {
  flex: 1;
}

.resetButton {
  display: none;  /*  inline-flex */
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 1px solid #AFBACA;
  background: white;
  cursor: pointer;
  transition: background 0.2s;
}

.resetButton:hover {
  background: #f2f2f2;
}

.resetButton svg {
  display: block;
}

.sidebar-tab {
  position: relative;
}

.filter-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 8px;
  height: 8px;
  background-color: #3C87C8;
  border-radius: 50%;
  display: none;
  z-index: 10;
}

.sidebar-info-camadas {
    display: flex;
    gap: 6px;
}

.svg-sidebar-info-camadas {
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.txt-sidebar-info {
    flex: 1;
    min-width: 0;
    font-size: 1.1rem;
    font-weight: 300;
    color: #606060;
}

#opcoes ul {
  margin-left: 0;
}

#elevation-chart-container .btn-close {
  margin-top: 5px;
  margin-right: 5px;
}

#elevation-chart-container .toast-header {
  border-bottom: 0;
}

#elevation-chart-container.toast {
  width: 450px !important;

  border-left: 3px solid #3C87C8 !important; z-index: 5000; position:absolute; right: 10px; bottom: 20px;
}

@media (max-width: 460px) {
  #elevation-chart-container.toast {
    width: 350px !important;
  }
}

#elevation-chart-container .toast-body {
  padding: 0;     /* já tens, mas reforço */
}

/* spinner ou overlay para quando estamos a carregar os percursos para o mapa */
#map-loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);  /* semi-transparente */    /* rgba(0, 0, 0, 0.5); overlay escuro  */
    display: none; /* começa escondido */
    align-items: center;
    justify-content: center;
    z-index: 5000;
    pointer-events: all; /* bloqueia cliques no mapa */
}
  
#map-loading-overlay .spinner {
    width: 40px;
    height: 40px;
    border: 5px solid #ccc;
    border-top: 5px solid #1C222B;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}


.input-color5 {
    position: relative;
}

.color-box5 {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 4px;
    margin-left: 3px;
    text-align: center;
    color: #FFF;
    font-size: 1.0rem !important;
    font-weight: 300;
    position: relative;
    display: inline-block;
}

/* garantir que modal fica acima do sidebar */
.modal-backdrop {
  z-index: 5000 !important;
}

.modal {
  z-index: 5100 !important;
}
