/* site-map.css - Estilos APENAS para o Mapa do Site e Busca */

/* --- Isolamento: Estes estilos só valem dentro do offcanvas e do modal de busca --- */
.offcanvas-body .site-map,
.search-modal-content {
  font-size: 0.9rem;
}

.offcanvas-body .tree-item,
.search-modal-content .tree-item {
  list-style: none;
  margin-bottom: 0.25rem;
}

.offcanvas-body .tree-folder,
.offcanvas-body .tree-file,
.search-modal-content .tree-folder,
.search-modal-content .tree-file {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.5rem;
  text-decoration: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  background-color: transparent;
}

.offcanvas-body .tree-folder:hover,
.offcanvas-body .tree-file:hover,
.search-modal-content .tree-folder:hover,
.search-modal-content .tree-file:hover {
  background-color: #f0f0f0;
  transform: translateX(2px);
}

.offcanvas-body .tree-file,
.search-modal-content .tree-file {
  color: #555 !important; /* Força a cor e evita herança do footer */
}

/* Níveis com bordas laterais */
.offcanvas-body .level-1,
.search-modal-content .level-1 {
  font-weight: 600;
  border-left: 4px solid #4caf50;
  padding-left: 0.75rem;
}

.offcanvas-body .level-2,
.search-modal-content .level-2 {
  font-weight: 500;
  border-left: 4px solid #1976d2;
  padding-left: 0.75rem;
}

.offcanvas-body .level-3,
.search-modal-content .level-3 {
  border-left: 4px solid #d21919;
  padding-left: 0.75rem;
}

/* Cores dos ícones */
.offcanvas-body .level-1 i { color: #4caf50; }
.offcanvas-body .level-2 i { color: #1976d2; }
.offcanvas-body .level-3 i { color: #d21919; }

.offcanvas-body .toggle-icon,
.search-modal-content .toggle-icon {
  font-size: 0.75rem;
  transition: transform 0.2s;
}

.offcanvas-body .tree-folder[aria-expanded="true"] .toggle-icon,
.search-modal-content .tree-folder[aria-expanded="true"] .toggle-icon {
  transform: rotate(180deg);
}

.offcanvas-body .collapse,
.search-modal-content .collapse {
  transition: height 0.2s ease;
}

/* Botões de controle do mapa */
.offcanvas-body .map-controls {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #dee2e6;
}

.offcanvas-body .map-controls .btn {
  margin-right: 0.5rem;
}

/* --- Garantia de que o footer não seja afetado --- */
footer .btn,
footer .footer-links .btn {
  /* Restaura as cores originais do footer, se necessário */
  color: inherit;
  background-color: initial;
  border-color: initial;
}

/* --- Ajustes para o modal de busca (já que foi incluído) --- */
.search-modal-content .search-result-title {
  color: #1a1a1a;
}

.search-modal-content .search-result-content {
  color: #6c757d;
}
@media (max-width: 576px) {
  /* Esconde o texto, mostra só o ícone */
  .header-top .btn-outline-warning span {
    display: inline;
  }
  
  /* Botão fica redondo/compacto */
  .header-top .btn-outline-warning {
    padding: 6px 8px !important;
    border-radius: 8px !important;
  }
  
  .header-top .btn-outline-warning i {
    margin-right: 0 !important;
    font-size: 14px !important;
  }
}